SEC 308
YAZILIM MÜHENDİSLİĞİ
Duyurular:
· Arasınav Tarihi belli oldu.
· Yazılım Mühendisliği,
Tarih: 04 Nisan 2012 Çarşamba, Saat: 13:00, Yer: D1 (1. Öğretim) – D2 (2.
Öğretim)
· Ders için listelenen kaynak kitaplara
ait web sayfası adresleri eklenmiştir.
· Yarı Yıl Sınav sonuçları eklenmiştir:
· I. Öğretim
· II. Öğretim
· 20 Nisan 2012 tarihi itibarı ile proje için ekiplerinin isimlerini
bildiren öğrenciler ve proje konuları ile, halen bir ekip kurmamış veya bir
ekibe dahil olmamış öğrencilerin isimlerini aşağıdaki linkten ulaşabilirsiniz. Proje konusu seçmeyenler için
seçebilecekleri projeler eklenmiştir.
· Ekip-Proje Listesi
· Proje Tanıtım Belgesi 27 Nisan 2012 Cuma gününe kadar teslim
edebilirsiniz. Proje tanıtım belgesi 1-2 sayfalık ve içeriği şunlar
olabilir: Projenizin adı, Ekibinizin üyeleri (varsa vazifeleri), Projenizin
amacı, Genel proje tanımı, Kabaca gereksinimler, Karşılaşılabilecek riskler,
Projenizin ER (Entity-Relationship) çizeneği
· Projenizin
gereksinimlerini, kullanım durumları ve analiz modellerini toplamanız ve
sunmanızı sağlayacak olan Yazılım Gereksinimleri Belirtimi şablonunu
kullanabilirsiniz. Ayrıca, IEEE Recommended Practice for Software Requirements
Specifications kılavuzundan belirtim hakkında daha detaylı bilgileri
ulaşabilirsiniz.
· Gereksinim
Analiz ve Tasarım Modellemelerinin daha iyi anlaşılması için şu verilen
sistemlere ait detaylar incelenebilir: Bankamatik
ve Adres
Defteri
· Projenizin
tasarımına ve mimarisine ait detayları toplamanız ve sunmanızı sağlayacak olan Yazılım
Tasarım Belirtimi şablonunu kullanabilirsiniz. Ayrıca, IEEE Recommended
Practice for Software Design Specifications kılavuzundan belirtim hakkında daha
detaylı bilgileri ulaşabilirsiniz.
· Final Sınavı Tarihi belli oldu.
· Yazılım Mühendisliği, Tarih: 28 Mayıs 2012, Pazartesi,
Saat: 13:00, Yer: D2
· Proje değerlendirme sonuçları eklenmiştir:
· I. Öğretim
· II. Öğretim
Dönem:
Bahar 2011 - 2012
Ders Saatleri: I. Öğretim
– Pazartesi, 09:00 – 12:00
II. Öğretim – Çarşamba,
17:00 – 20:00
Ders Yeri:
D8
Dersi Veren: Dr.
Hasan Kitapçi
Ofis:
Bilgisayar Mühendisliği Bölümü, Yazılım Anabilim Dalı Kürsüsü
Telefon:
(462) 377-4384
E-posta:
hkitapci@ktu.edu.tr
Ofis Saatleri: I.Öğretim
– Pazartesi, 13:00 – 14:00
II. Öğretim – Çarşamba,
16:00 – 17:00
Diğer zamanlarda görüşmek
istiyorsanız önceden e-posta ile randevu alınız.
Dersin Amacı:
Çeşitli geliştirme faaliyetleri ve
metodolojileri, yazılım süreç modelleri, analiz konuları (kullanıcı ve sistem gereksinimleri),
tasarım konuları (mimarisel, arayüz ve bileşen düzeyli tasarım), test konuları
(doğrulama ve sağlama), tahmin konuları (maliyet ve kaynak gereksinimleri) ve
proje metrikleri başta olmak üzere yazılım planlama, yapılandırma, gerçekleme
ve yönetimine ait temel kavramları ve prensipleri tanıtmaktır.
Dersin İçeriği:
Yazılım Mühendisliği sadece bir
programlama faaliyeti değildir. 1960 yılların sonunda Bauer “Yazılım
Mühendisliğini şu şekilde tanımlamıştır: “Güvenilir ve gerçek makinelerde
verimli çalışan yazılım elde etmek için doğruluğu ispat edilen mühendislik
ilkelerinin oluşturulması ve kullanımı.” Çok eski olmasına rağmen, bu tanım
disiplinin arkasındaki özü ifade etmektedir.
Yazılım Mühendisliği dersi aşağıdaki konulara yüzeysel olarak değinmektedir:
§ Yazılım süreci: Süreç modelleri, lineer
dizisel model, prototipleme modeli, RAD modeli, evrimsel yazılım süreç
modelleri, bileşen tabanlı gelişim, biçimsel metotlar modeli.
· Sistem mühendisliği: Bilgisayar tabanlı sistemler, sistem
modelleme, ürün mühendisliği.
§ Gereksinimler mühendisliği:
Gereksinimler analizi, gereksinimlerin çıkartımı, analiz prensipleri, yazılım
prototipleme, belirtim.
· Analiz modelleme: Analiz modelleme elemanları, veri
modelleme, fonksiyonel modelleme, davranışsal modelleme, yapısal analizin
mekaniği.
§ Tasarım mühendisliği: Tasarım süreci,
tasarım prensipleri, tasarım kavramları, etkileyici modüler tasarım.
· Mimarisel tasarım: Yazılım mimarisi, veri tasarımı,
mimarisel stiller.
· Bileşen seviyeli tasarım: Arayüz tasarım modelleri, görev
analizi ve modelleme, tasarım aktiviteleri.
§ Yazılım test teknikleri: Test esasları,
beyaz kutu testi, temel yol testi, kontrol yapısı testi, siyah kutu testi.
· Yazılım test stratejileri: Doğrulama ve sağlama, birim
testi, tümleme testi, sağlama testi, sistem testi, hata ayıklama.
§ Proje yönetim kavramları: Yönetim
yelpazesi, yazılım takımı, yazılım kapsamı, problem ayrıştırma, süreç
ayrıştırma.
· Yazılım metrikleri: Proje etki alanı, proje metrikleri,
yazılım ölçümü, yazılım kalitesi için metrikler.
· Yazılım proje tahmini: Yazılım kapsamı, insani ve
çevresel kaynaklar, ayrıştırma teknikleri, deneysel tahmin modelleri.
· Proje planlama ve izleme:
Temel prensipler, yazılım mühendisliği görevlerinin seçimi, zaman çizeneği,
plan izleme, hata izleme.
Kaynak Ders Kitapları:
Öğrencinin dersi daha iyi
anlaması ve konular hakkında daha detaylı bilgilere ulaşabilmesi için aşağıdaki
kitapların herhangi birinden yararlanabilirler:
1. Kitap 1 -
Software Engineering: A Practitioner’s Approach, Roger S. Pressman. (Web
Sayfası)
2. Kitap 2 - Software Engineering,
Ian Sommerville. (Web Sayfası)
3. Kitap 3 -
Software Engineering: Theory and Practice, Shari L. Pfleeger ve Joanne Atlee. (Web
Sayfası)
4. Kitap 4 - Yazılım Mühendisliği,
M. Erhan Sarıdoğan. (Web Sayfası)
5. SWEBOK, Guide to the
Software Engineering Body of Knowledge: 2004, IEEE. (Web
Sayfası)
Dersin Programı:
Hafta – Tarih
|
Konular
|
Sunumlar
|
Tavsiye Edilen Okumalar ve
Yararlı Web Sayfaları
|
1. 13 – 17 Şubat
|
Derse Giriş
|
-
|
-
|
2. 20 – 24 Şubat
|
Yazılım ve Yazılım Mühendisliği
– Kavramlar, Yazılım Krizi
|
Sunum
|
Kitap 1, 2, 3 – Bölüm 1
Kitap 4 – Bölüm 4
Software
Engineering on Wikipedia
Software
Engineering Resources
Why Software Fails
The
Risk Digest – Software error
Yazılım Sektörünün Geleceği
ve Ülkemizin Konumu
|
3. 27 Şubat – 2 Mart
|
Yazılım Süreç Modelleri –
Geleneksel Yazılım Geliştirme Yaklaşımları
|
Sunum
|
Kitap 1, 2 – Bölüm 2, 3
Kitap 3 – Bölüm 2
|
4. 5 – 9 Mart
|
Yazılım Süreç Modelleri – Çevik
Yazılım Geliştirme Yaklaşımları
|
Kitap 4 – Bölüm 4
AgileTurkey
|
5. 12 – 16 Mart
|
Yazılım Proje Yönetimi – Proje
Planlama, Proje Zamanlama, Risk Yönetimi
|
Sunum
|
Kitap 1 – Bölüm 24, 26, 27, 28
|
6. 19 – 23 Mart
|
7. 26 – 30 Mart
|
Gereksinim Mühendisliği –
Kavramlar, Süreçler
|
Sunum
|
Kitap 1 – Bölüm 5
|
8. 2 – 6 Nisan
|
ARA SINAVI
|
|
|
9. 9 – 13 Nisan
|
Gereksinim Modelleme
|
Sunum
UML
|
Kitap 1 – Bölüm 6, Bölüm
7
Unified Modeling
Language
Birleşik Modelleme Dili
|
10.
16 – 20 Nisan
|
11. 23 – 27 Nisan
|
Yazılım Tasarımı – Kavramlar
|
Sunum
UML
|
Kitap 1 – Bölüm 8, Bölüm
9
|
12. 30 Nisan – 4 Mayıs
|
Yazılım Mimarisi Tasarımı
|
13. 7 – 11 Mayıs
|
Bileşen Seviyeli Tasarım
Yazılım Arayüz Tasarımı
|
Sunum
UML
|
Kitap 1 – Bölüm 10, Bölüm
11
|
14. 14 – 18 Mayıs
|
15. 21 – 25 Mayıs
|
Yazılım Test Stratejileri
Yazılım Test Teknikleri
|
|
|
16. 28 Mayıs – 1 Hazıran
|
YARIYIL SONU SINAVI
|
|
|