10.07.2015 Views

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

Akademik Bilişim '10 10 - 12 Şubat 2010 Muğla

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Beykent Üniversitesi Yazılım Mühendisliği Lisans ProgramıZeynep Altannımlar. Örneğin; ürün ile süreç, fonksiyonelile fonksiyonel olmayan temel kavramlardırve birbirlerine zıt terimlerdir. Bu alt-alan ayrıcaölçümlenebilen gereksinmelerin öneminibetimler; sistemlerle yazılım gereksinmeleriarasındaki farkı ayrıştırır. İkinci bilgi alt-alanıgereksinmeler sürecidir. Gereksinmeler mühendisliğinindiğer mühendislik süreçlerinenasıl uyum sağladığı ve bu alanın diğer beşalt-alana nasıl yönlendirildiği gösterilir. Süreçmodelleri, süreç aktörleri, süreç destek ve yönetimi,süreç niteliği betimlenir. Üçüncü altalangereksinmelerin teminidir. Burada yazılımgereksinmelerinin nereden kaynaklandığı veyazılım mühendisinin bu gereksinmeleri nasıltoplayacağı belirlenir. Dördüncü alt-alan gereksinmeleranalizidir. Gereksinmeler arasındakiçatışmalar bulunur ve çözümlenir, yazılımınsınırları ve yazılımın çevresi ile nasıl etkileşeceğibelirlenir. Sistem gereksinmeleri yazılımgereksinmeleri şeklinde ayrıntılı olarak hazırlisansprogramlarının akreditasyon ölçütleriçalışmaları 1999 yılında tamamlanmış ve 2003yılında dünya üniversitelerinden ilk bölümlerakredite olmaya başlamıştır.Beykent Üniversitesi Mühendislik-MimarlıkFakültesi Yazılım Mühendisliği Bölümü 2008-2009 akademik yılında eğitim-öğretime başlamıştır.Beykent Üniversitesi’nin Yazılım Mühendisliğiprogramı, SWEBOK 2004 [2] kılavuzundanyararlanılarak düzenlenmiştir.1.1 Yazılım Mühendisliği, BilgisayarBilimleri ve Bilgisayar Mühendisliği İlişkisiTeknolojinin gelişmesi ile birlikte bilgisayaryazılımlarının cep telefonlarından büyük askerisistemlere kadar yaşamımızda hemen heryerde bulunması, endüstriyel yazılım ürünlerineolan gereksinimi arttırmıştır. İmalat, bankacılık,seyahat, iletişim, savunma, tıp, araştırma,kamu, eğitim, eğlence, hukuk gibi birbirileriile hiç ilişkisi olmayan pek çok sektörün gereksinmelerinikarşılamak için, yazılım alanındauzmanlaşmak zorunluluğu ortaya çıkmıştır.Bilgisayar mühendisliği programlarında yazılımmühendisliği dersinin bir ya da iki yarıyılokutulması nedeni ile uzmanlaşmanın sağlanmasızorlaşacaktır.Bilgisayar bilimleri bilgisayar yazılım ve donanımınıntasarımı, işlenmesi ve bilgisayar teknolojisinindiğer disiplinlerle etkileşimi şeklindetanımlanabilir. Burada teorik çalışmalar, uygulamalarve mühendislik tasarımı tek bir disiplindetoplanmıştır. Bilgisayar bilimleri hesaplamaözelliklerini incelerken, yazılım mühendisliğipratik olarak amaca ulaşmak için gerekli hesaplamalarıtasarlar. Kısaca yazılım mühendisliği,müşterinin isterleri doğrultusunda analiz ve tasarımyapabilen, bunları geliştirebilen ve eldeettiği ürünü müşteriye teslim edebilir hale getirenyeni bir mühendis tipini yetiştirmeyi hedefler.Bilgisayar mühendisliği ise, elektronikmühendisliği ile bilgisayar bilimlerinin birleşimidir.Eğitim programı yoğun olarak elektronikmühendisliği, yazılım tasarımı, yazılımtasarımınentegrasyonu üzerine odaklanır.4622. Yazılım MühendisliğiEğitim Programlarının Hazırlanması“Software Engineering Body of Knowledge-SWEBOK” kılavuzunun amacı, yazılım mühendisliğidisiplini sınırlarının ortak bir uzlaşmaile onaylanarak nitelik kazandırılmasıve bu disiplini destekleyen bilgi alanlarına(knowledge areas-KA) konu düzeyinde erişiminsağlanmasıdır. Bilgi alanlarının sınırlarıbelirlenirken yazılım mühendisliği ile ortakalanı olan diğer disiplinlerin açıklaştırılmasıda önemlidir. Eğitim programları hazırlanırkenbilgi alanı tanımlamalarında Tablo 1 ‘de verilmişolan yedi farklı çalışma alanı, yazılım mühendisliğiile doğrudan ilişkilendirilebilecekdisiplinler olarak belirtilmiştir.SWEBOK girişimi aşağıdaki beş temel hedefigerçekleştirmeyi amaçlar [3]:• Yazılım mühendisliğinin dünya ölçeğindeen iyi şekilde yaygınlaşması,• Yazılım mühendisliğinin sınırlarının belirlenmesi;bilgisayar bilimleri, proje yönetimi,bilgisayar mühendisliği ve matematikgibi disiplinlerin yanında yerininaçıklaştırılması,• Yazılım mühendisliği disiplininin içeriklerinintanımlanması,• SWEBOK ‘e konu düzeyinde erişiminsağlanması,• Öğretim programının geliştirilmesi, sertifikasyonve lisans alma işlemleri için biresasın oluşturulması1 Bilişsel Bilimler ve İnsan Faktörleri2 Bilgisayar Mühendisliği3 Bilgisayar Bilimleri4 Yönetim ve Yönetim Bilimleri5 Matematik6 Proje Yönetimi7 Sistem MühendisliğiTablo 1: Yazılım Mühendisliği ile İlişkili Disiplinler41 farklı ülkeden 500 katılımcının katkısı ile yukarıdakiamaçları gerçekleştirmek üzere organizeedilen yazılım mühendisliği bilgi alanları,Tablo 2 ‘de on farklı grupta sınıflandırılmıştır.Yazılım mühendisliği lisans programlarınınhazırlanmasına yardımcı olan ve SWEBOK kılavuzundada yer alan, uygun bilgi alanlarınınbelirlendiği ve betimlendiği “SEEK EducationKnowledge” çalışması temelde Bloom [4] taksonomisinegöre hazırlanmıştır.1 Yazılım Gereksinmeleri2 Yazılım Tasarımı3 Yazılımın Oluşturulması4 Yazılım Testi5 Yazılım Bakımı6 Yazılım Yapılanış Yönetimi7 Yazılım Mühendisliği Yönetimi8 Yazılım Mühendisliği Süreci9 Yazılım Müh. Araçları ve Yöntemleri<strong>10</strong> Yazılımın NiteliğiTablo 2: SWEBOK Bilgi Alanları (KA)SEEK sınıflandırması bilgi alanı, birimler vekonular olmak üzere üç farklı düzeyde gerçekleştirilir.Belirli alt disiplinleri betimleyenbilgi alanı, yazılım mühendisliğinin tanımlandığı,sınıflandırıldığı ve organize edildiği yapısalelemanların yüksek düzeyli kodlamasıdır.CMP Computing Essentials, FND Mathematical&Engineering Fundamentals, PRF ProfessionalPractice, MAA Software Modelling&Analysis, DES Software Design… gibi. Herbilgi alanı, tematik parçaların tanımlandığı birimlerolarak adlandırılan küçük alanlara bölünür.CMP.cf Computer Science Foundation,CMP.ct Construction Technologies, FND.mfMathematical Foundations, FND.ef EngineeringFoundations for Software, PRF.psyGroup Dynamics…gibi. Her birim daha sonraen düşük düzeyi veren konulara bölünür. CMP.cf.1 Programming Fundametals, CMP.cf.2 Algorithms,DataStructures/ Representation andComplexity, CMP.ct.1 API Design and use,CMP.ct.16 Test-first programming…. gibi.<strong>Akademik</strong> Bilişim’<strong>10</strong> - XII. <strong>Akademik</strong> Bilişim Konferansı Bildirileri<strong>10</strong> - <strong>12</strong> Şubat 20<strong>10</strong> Muğla Üniversitesi463SEEK, yazılım mühendisinin bilmesi gerekenhemen hemen her şeyi içermesine rağmen,bunlar öğretim programında simgelenmez; yazılımmühendisliği öğretim programını oluşturaneğitime ilişkin birimlerin tasarımı, gerçekleştirimive uygulanmasında esas olarak alınır.SEEK, bilgi alanlarının ve birimlerin, eğitimbirimlerine ve aktivitelerine nasıl uyarlanacağıile de ilgilenmez. Örneğin, SEEK bilgi alanlarını1.CMP, 2.FND, 3.PRF… şeklinde sıralamaz;konuların ve birimlerin programlardakieğitim birimleri ile nasıl ilişkilendirileceğiyleilgili değildir; ayrıca herhangi bir yazılım geliştirmemetodunu da desteklemez.Bölüm 2.1 -2.<strong>10</strong> ‘da SWEBOK içinde tanımlanmışolan her bir bilgi alanı ayrıntılı olarakaçıklanmaktadır.2.1 Yazılım Gereksinmeleri Bilgi AlanıGereksinim herhangi bir gerçek dünya probleminiçözmek için sergilenmesi gerekli olanözelliktir. Yazılım gereksinmeleri bilgi alanıyedi farklı alt-alanda incelenir. İlk alt-alanyazılım gereksinmelerinin temelleridir. Yazılımgereksinmelerini ve temel özelliklerini ta-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!