Dersin Amacı: |
Yazılım projesi yönetimi, yazılım ürününün geliştirilmesinde önemli etkisi olan bir değerlendirmedir. Yazılım projesinde rol alacak öğrencilerin proje yönetimindeki teknik yaklaşımları anlamaları sağlanır ve yazılım projesinin başarısındaki önemli faktörlerden biri olan insanın değerlendirmeleri ile ilgili bilgiler aktarılır. Bu bağlamda öğrenciler yazılım geliştirme standartları, yazılım geliştirme süreçleri ve yöntemleri hakkında bilgi sahibi olurlar; ayrıca bu süreç ve yöntemler hakkında iş hayatında karşılaşılabilecek durumlara göre seçim yapabilme düzeyine ulaşmalarının sağlanması hedeflenir. |
Dersin İçeriği: |
IEEE ve ISO/IEC Yazılım Mühendisliği standartları, . Yazılım Projesi Yönetimi Bilgi Tabanı, Yazılım Geliştirme Süreçleri, Yazılım Proje Planlaması, Yazılım Projesi Yönetimi, Six Sigma ve Lean Six Sigma, Yetenek Olgunluk Modeli Entegrasyonu, Kanban ve Çevik Yazılım, Yazılım Kalitesi ve Konfigürasyonu Yönetimi |
Hafta |
Konu |
Ön Hazırlık |
1) |
1.IEEE Yazılım & Sistem Mühendisliği Standartları ve ISO/IEC Yazılım Mühendisliği Standartları
1.1 Standartlar niçin önemlidir? Yararları nelerdir?
1.2 Yazılım/sistem mühendisliği standartlarına genel bakış
1.3 İnsana yönelik ya da bilgiye yönelik yazılım projelerinin karakteristikleri
1.4 Yazılım projesi yönetiminde bilgi alanları |
---- |
2) |
2. Yazılım Projesi Yönetimi Bilgi Tabanının (SPMBOK) incelenmesi
2.1 PMBOK kılavuzunun amacı
2.1.1 Proje yönetimi içerisindeki ilişkiler
2.2 Proje yaşam döngüsü ve organizasyonu
2.3 PMBOK içerisindeki bilgi alanları |
---- |
3) |
3 Yazılım Geliştirme Metodolojileri I
3.1 Başarısız yazılım projeleri ve başarısızlık nedenleri
3.2 Nesneye yönelik analiz ile yazılım geliştirme
3.3 Yapısal analiz ile yazılım geliştirme |
---- |
4) |
4 Yazılım Geliştirme Metodolojileri II
4.1 Çevik yazılım geliştirme
4.2 Alana yönelik yazılım geliştirme |
---- |
5) |
5. Yazılım Projesinin Planlaması Temelleri ve Teknikleri
5.1 Gannt tablosu ile yazılım projesinin planlanması
5.2 Pert Şeması ile yazılım projesinin planlanması |
---- |
6) |
6. Yazılım Projesinin Maliyetinin Belirlenmesi
6.1 Yazılımın fiyatının belirlenmesi kriterleri
6.2 Yazılım maliyetini tahmin yöntemleri |
---- |
7) |
7. Proje Yönetiminde Nitelik ve Ölçümler
7.1 Yazılımın niteliği
7.2 Yazılım ölçümü ve metrikleri |
---- |
8) |
Ara Sınav |
---- |
9) |
9. Yazılım Projesinin Yönetimi
9.1 Risk yönetimi
9.2 İnsanların Yönetimi
9.3. Takım çalışması |
---- |
10) |
10. Yazılım Konfigürasyonunun Yönetimi
10.1 Değişim (change) yönetimi
10.2 Sürüm (version) yönetimi
10.3 Yayım (release) yönetimi |
---- |
11) |
Yetenek Olgunluk Modeli Entegrasyonu (Software Capability Maturity Model Integration -CMMI) |
---- |
12) |
Six Sigma ve Lean Six Sigma |
---- |
13) |
Kanban ve Çevik Yazılım Geliştirme |
---- |
14) |
Yazılım Projesi Planlanması ve Yönetimi ile ilgili Vaka Çalışmasının İncelenmesi |
---- |
Ders Notları / Kitaplar: |
[1]Pressman R.S., Software Engineering A Practitioners Approach MacGrawHill.
[2] Ian Sommerville, Software Engineering, Pearson, 2011
[3] Braude E.J., Bernstein M.E. , Software Engineering Modern Approaches, 2011, Wiley. |
Diğer Kaynaklar: |
[1]Pressman R.S., Software Engineering A Practitioners Approach MacGrawHill.
[2] Ian Sommerville, Software Engineering, Pearson, 2011
[3] Braude E.J., Bernstein M.E. , Software Engineering Modern Approaches, 2011, Wiley. |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Matematik, hesaplama ve bilgisayar bilimleri konularında temel kuramsal ve uygulamalı bilgilere sahiptir. |
|
2) |
Tanımlanan bilişim ve/veya bilgisayar bilimleri problemlerini ve modellerini kurgular ve temel çözüm önerilerini uygular. |
|
3) |
Algoritmik düşünme ve planlama yaklaşımını uygulamalarında kullanır. |
|
4) |
Belirtimleri (spesifikasyon) tanımlanmış yazılım bileşenlerini geliştirir. |
|
5) |
Sözlü ve yazılı iletişim kurar; en az bir yabancı dili en az Avrupa Dil Portföyü A2 Genel Düzeyinde kullanır, bilişim ve bilgisayar bilimleri alanındaki bilgileri izler ve meslektaşları ile iletişim kurar. |
|
6) |
Yaşam boyu öğrenmenin gerekliliği bilinci ile bilgi ve iletişim teknolojilerindeki güncel gelişmeleri izler. |
|
7) |
Mesleki ve etik sorumluluk bilinci taşır, bilişim uygulamalarında meslek etiğinin gözetilmesi konusunda farkındalığa sahiptir. |
|
8) |
Bireysel olarak veya takımlarda etkin çalışır. |
|