Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306) GENEL DERS BİLGİSİ Öğretim Üyesi : Prof. Dr. Fuat İNCE Araştırma Görevlisi. Selim BAYRAKLI Ofis : 311 Ofis Saatleri : Pazartesileri 15:00 16:00 Telefon : 0216 626 10 50 / PBX: 1408 E-mail : fince@eng.marmara.edu.tr selim.bayrakli@maltepe.edu.tr Derslik : 309 ve 312 Ders Saatleri : Pazartesileri 14:00 14:50, Perşembeleri 10:10 11:00 Lab, Çarşambaları 14:00 15:50 Ders Kitabı : Object-Oriented and Classical Software Engineering (7 th Ed., McGraw Hill), Stephen R. Schach Referans Kitabı : Software Engineering 8 (8 th Ed., Addison Wesley), Ian Sommerville Önkoşul : BIL 305 Software Engineering I Dersin Amacı Bu ders Yazılım Mühendisliği I dersinin devamıdır. Yazılım Mühendisliğinin temel konuları olan, gereksinim, analiz, tasarım, gerçekleştirme ve bakım başlıkları nesneye yönelik yaklaşım ağırlığı ile anlatılmaktadır. Bununla birlikte gereksinim ve analiz için klasik yaklaşım da ele alınmaktadır. Aynı zamanda ilk dönemde başlatılmış olan projeye bu dönemde de devam edilmektedir. 1
DERS ÖZETİ Bölüm Konu 1 Gereksinim Müşterinin ihtiyacı olan (istediği değil) yazılım nedir? Gereksinim İş akışı Uygulama alanını anlama İşletme Modeli Bilgi almak için görüşmeler Bilgi almak için diğer teknikler İşletme modellerinde senaryolar İlk aşamada gereksinimler MSG Vakfı örnek çalışması Uygulama alanını ilk anlama İlk işletme modeli İlk gereksinimler Gereksini iş akışına devam İş akışını sınaması Klasik gereksinim aşaması Çabuk prototipleme 2 Klasik Analiz Belirtim Belgesi (Raporu) Formal olmayan belirtimler Yarı formal belirtim teknikleri Yapısal sistem analizi Varlık-ilişki modeli Sonlu durum makinaları Formal belirtimler Z dili 3 Nesneye Yönelik Analiz Nesneye yönelik analizde iş akışı Varlık, sınır ve kontrol sınıflarını çıkarma 2
İşlevsel modelleme Sınıf modellemesi Dinamik modelleme Senaryo gerçekleştirme 4 Tasarım Tasarım iş akışı Nesneye yönelik (OO) Tasarım Sınıf diyagramını tamamlama Ayrıntılı Tasarım Örnek Çalışmalar:: Asansör problemi, MSG Vakfı Veri akışı analizi İşlem (Transaction) analizi Gerçek zaman analiz teknikleri Tasarım işakışında sorunlar 5 Gerçekleştirme Programlama dili seçimi Dördüncü kuşak diller Programlamada iyi uygulamalar Kodlama standartları Kodun yeniden kullanılması Tümleştirme (Integration= Üstten aşağı Alttan yukarı Araya alma (Sandwich) Nesneye yönelik ürünlerin tümleştirilmesi Tümleştirme yönetimi Gerçekleştirme iş akışı Sınama (Test) iş akışı Sınama durum seçimi Gereksinime göre sınama, koda göre sınama Belirtimlere göre olurluk sınaması Koda göre olurluk sınaması 3
Kara-kutu birim sınama teknikleri Cam-kutu birim sınama teknikleri Kod gezinti ve incelemeleri Temizoda (cleanromm) metodu Nesne sınamada potansiyel sorunlar Birim sınamaların yönetimi Bir kod kalıntısını yeniden yazmak mı, düzeltmek mi? Tümleştirme, ürün ve kabul sınamaları Gerçekleştirme için CASE araçları Gerçekleştirme için ölçütler 6 Teslimat Sonrası Bakım Neden teslimat sonrası bakım gereklidir? Teslimat sonrası bakım için ne gereklidir? Teslimat sonrası bakımın yönetimi Nesneye yönelik yazılımın bakımı Teslimat sonrası bakım becerisi, yazılım geliştiirme becerisi Tersine mühendislik Teslimat sonrası bakım sırasında sınama 7 UML Üzerine Ek Bilgi Ek yorum ve bilgiler PROJE: Proje için kodlama ve sınama Yazılım Mühendisliği 1 sırasında başlamıştı. Proje hakkında notlar: Teslim edilecek ödev Word veya benzeri bir yazılım kullanılarak yazılmalıdır. EL YAZISI ÖDEVLER KABUL EDİLMEYECEKTİR. 4
10. aşamada, ürüne Gane&Sarsen metodunun dokuz adımını uygulayacaksınız. Ancak, Veri akış diyagramının (DFD) yalnız bir versiyonunu vermek yeterlidir. Verilecek DFD, ürün hakkında yeterince ayrıntıda bilgiyi göstermelidir. 10, 11, 12 ve 13. aşamalar power-point kullanarak, dönemin son haftasında sınıfta, bilgisayarda sunulacaktır. Sunumlar 30 dakikada tamamlanacaktır. DERSE DEVAM Derse devam zorunludur. Zamanında sınfta bulunmalısınız. Sınfta soru ve yorumlarınızla tartışmaya katılmanız beklenir. Ders ve laboratuarların en az %70 ine katılmanız gerekmektedir. Yoksa sınıfta kalırsınız. Sınava gelmediğiniz takdirde telafi sınavı verilmeyecektir. Buna laboratuarlar da dâhildir. SINAVLAR İki vize sınavı bir de final sınavı olacaktır. NOTLAMA Son not şu ağırlıklara göre belirlenecektir. İki vize sınavı: %15 x 2 = %30 [Tarihleri 15 Nisan ve 27 Mayıs 2009] Ödevler %5, Kısa Sınavlar %5 Final Sınavı : %35 [kapsamlı yazılı sınav] + Lab, Proje : %25 Önemli Not : Dersten geçer not almak için lab/proje notunuzun da en az 50 olması gerekir. 5