Dersin Amacı: |
Öğrencilere proje başlatma, planlama, yürütme, kontrol ve kapatmayı kapsayan proje yönetimi yaşam döngüsünün her aşamasında yer alan araçları, teknikleri ve bilgi birikimini tanıtır. Öğrenciler, proje yönetiminin çeşitli organizasyon türlerinde nasıl uygulandığına ve kurumsal stratejinin ayrılmaz bir parçası olduğuna dair fikir edineceklerdir. Kurs, yazılım proje yönetimini gözden geçirir ve yazılım geliştirmedeki en son yaklaşımları, metodolojileri ve standartları araştırır. Öğrenciler, ilk geliştirme maliyetlerini ve programlarını değerlendirmeyi, test ve prototip faaliyetlerini tanımlamayı, risk yönetimi yaklaşımlarını belirlemeyi ve teklif aşamasından emeklilik aşamasına kadar tüm yazılım yaşam döngüsünü denetlemeyi öğreneceklerdir. |
Dersin İçeriği: |
Yazılım ve Yazılım Mühendisliği, Yazılım Süreci, Çevik yöntemler, Analiz ve tasarım modelleri, Yazılım Mühendisliği Uygulamaları, Web Mühendisliği, Bileşen tabanlı ve hizmet odaklı yazılım geliştirmeyi öğretmektedir. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Giriş (Yazılım mühendisliği disiplinleri, yazılım ürünleri, yazılım süreci, yazılım mühendisliği yöntemleri) |
|
2) |
Sistem Geliştirme Yaşam Döngüsü ve Yazılım Süreci (Analiz, Tasarım, Geliştirme. Uygulama ve Bakım) ve Sistem Dokümantasyonu |
|
3) |
Yazılım süreç modelleri (klasik modeller, yinelemeli modeller, prototipleme modelleri, Spiral modeller, Agile modeller, scrum ve XP). |
|
4) |
Prototipleme ve Çevik süreç modelleri |
|
5) |
Nesne Yönelimli Geliştirmeye Giriş
Nesne Yönelimli Sistemlerin Temel Özellikleri; Nesne Yönelimli Sistem Analizi ve Tasarımı (OOSAD); Birleşik Modelleme Dili UML'ye Giriş, Yapısal ve Davranışsal Diyagramlar |
|
6) |
Gereksinim analizi ve modelleme: Sistem gereksinimleri belirtimi ve analizi (İş Süreçlerini Tanımlayın, Yazılım gereksinimleri toplama, yazılım gereksinimleri belirtimi, İşlevsel ve işlevsel olmayan gereksinimler), Gereksinim modelleri ve analizi |
|
7) |
TASARIM KONSEPTLERİ ve Tasarım Modelleri |
|
8) |
Ara sınav |
|
9) |
Bileşen tabanlı Tasarım ve geliştirme |
|
10) |
Mimari Tasarım, Veritabanı ve kullanıcı arayüzü tasarımı |
|
11) |
Gerçekleştirme ve Bakım Modelleri (Tanıtım, Sistem Gerçekleştirme, Yazılım Testleri, Devreye Almalar, Sistemin Belgelenmesi, Bilgi Sistemlerinin Eğitimi ve Bakımı) |
|
12) |
Web Uygulamaları İçin Analiz Modellemesi ve
Web Uygulamaları için Tasarım Modellemesi |
|
13) |
Servis Odaklı Yazılım Mühendisliği |
|
14) |
Yazılım Kalitesi Kavramları |
|
Ders Notları / Kitaplar: |
Eric J. Braude and Michael E. Bernstein, Software Engineering: Modern Approaches 2ed, John Wiley & Sons, 2011.
Lonnie D. Bentley and Jeffrey L. Whitten, Systems Analysis & Design for the Global Enterprise 7ed, McGraw Hill, 2007.
Prepared slides |
Diğer Kaynaklar: |
Eric J. Braude and Michael E. Bernstein, Software Engineering: Modern Approaches 2ed, John Wiley & Sons, 2011.
Lonnie D. Bentley and Jeffrey L. Whitten, Systems Analysis & Design for the Global Enterprise 7ed, McGraw Hill, 2007.
Prepared slides |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. |
|
2) |
Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma |
|
3) |
Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. |
|
4) |
Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. |
|
5) |
Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. |
|
6) |
Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. |
|
7) |
Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. |
|
8) |
Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. |
|
9) |
Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. |
|
10) |
Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. |
|
11) |
Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. |
|