Bilgisayar Mühendisliği Lisans Programı

Yazılım Mühendisliği ve Nesneye Yönelik Tasarım(INF481)

Ders Kodu Dersin Adı Yarıyıl Teori Uygulama Lab Kredisi AKTS
INF481 Yazılım Mühendisliği ve Nesneye Yönelik Tasarım 8 4 0 0 4 5
Ön Koşul
Derse Kabul Koşulları
Dersin Dili Fransızca
Türü Zorunlu
Dersin Düzeyi Lisans
Dersi Veren(ler) Gülfem ALPTEKİN gulfem@gmail.com (e-mail)
Dersin Yardımcıları
Dersin Amacı Dersin ilk amacı, nesneye yönelik tasarım sürecinde faydalanılabilecek tüm araçlar hakkında bilgi edinmek ve bunları uygulayabilme alışkanlığı kazanmaktır. Bu araçlar hem görsel, hem de metinsel olarak tasarıma yardımcı olurlar.
Bununla beraber, bir yazılım projesinin hayat döngüsü içinde karşılaşılabilecek her türlü süreçte verimliliği arttırabilecek yöntemleri ve araçları tanıma da dersin diğer bir amacını oluşturmaktadır.

Dersin içeriği aşağıdaki şekilde özetlenebilir:
- Öğrencilere yazılım mühendisliğinin, bilgisayar mühendisliği içindeki yerinin anlatılması.
- Öğrencilere yazılım tasarımının ve ardından nesneye yönelik tasarımın gerekliliğinin anlatılması.
- Dünyaca standart olarak kabul edilmiş görsel bir tasarım dili olan UML'in öğretilmesi.
- Farklı yazılım problemlerinin tasarımının UML dili kullanılarak yapılması.
- Öğrencilere yazılım geliştirme süreci ve yaşam döngüsünden ayrıntılarıyla bahsedilmesi.
- Piyasada kullanılan yazılım geliştirme süreçlerinin birbirlerinden farklarının anlatılması.
- Yazılım geliştirme dünyasının hangi yöne doğru gittiğinden bahsedilmesi ve pazarın getirdiği ihtiyaçların anlatılması.
- Yazılım test sürecinin anlatılması.
- Yazılım maliyeti hesaplama yöntemlerinin anlatılması.
İçerik 1. Hafta Yazılım mühendisliğine giriş, yazılım mühendisliğinin bilgisayar mühendisliği içindeki yeri.
2. Hafta Modelleme ve tasarım kavramı. Yazılım tasarımı ve nesneye yönelik modelleme kavramı.
3. Hafta UML modelleme - Aktivite, sınıf ve nesne diyagramları.
4. Hafta Aktivite, sınıf ve nesne diyagramlarının yazılım problemleri üzerinde uygulanması.
5. Hafta UML modelleme - Kullanıcı senaryosu, durum ve dizge diyagramları.
6. Hafta Kullanıcı senaryosu, durum ve dizge diyagramlarının yazılım problemleri üzerinde uygulanması.
7. Hafta Kapsamlı yazılımları altı çeşit UML diyagramı kullanarak tasarlayabilme.
8. Hafta Ara Sınav
9. Hafta Yazılım geliştirme süreci modelleri - Şelale modeli, evrimsel yazılım geliştirme (çevik yöntemler), tekrar kullanabilirlik ve kitle-kaynaklı (yarışma esaslı) yazılım geliştirme.
10. Hafta Çevik yazılım geliştirme yöntemleri.
11. Hafta Yazılım test süreci ve teknikleri.
12. Hafta Yazılım kalitesi ve yazılım kalitesi yönetimi.
13. Hafta Yazılım maliyet analizi.
14. Hafta Dönem projesi sunumları.
Dersin Öğrenme Çıktıları Bu dersi başarıyla tamamlayan öğrenci aşağıdaki konularda yeterliliğe sahip olacaktır:

1. Bir yazılım mühendisinin ne gibi sorumluluklarını olduğunu bilecektir.
2. Karşılaştığı bir yazılım problemini, isterlerini ve gerçekleştirdiği yazılımsal ve donanımsal tasarımı metinsel ve görsel olarak raporlayabilecektir.
3. Bir yazılıma ait fonksiyonel analiz dokümanı, ister dokümanı ve tasarım dokümanı oluşturabilir.
4. Bir yazılımın hangi farklı yöntemlerle gerçeklenebileceğini bilir ve kendisine en uygununu seçebilir.
5. Yazılım sektöründeki gelişmelerden nasıl ve ne kaynaklardan haberi olacağını öğrenir.
6. Bir yazılıma ait maliyet tahmini yapabilir.
7. Bir yazılımı hangi farklı yöntemlerle test edebileceğini bilir ve kendisine en uygun test yöntemini seçebilir.
Öğretim Yöntemleri Anlatım, Tartışma, Gösterip Yaptırma, Problem Çözme, İşbirlikli Öğrenme, Proje, Görüşme, Beyin Fırtınası
Kaynaklar 1. Software Engineering, Ian Sommerville, Addison-Wesley, 8th veya 9th Edition, 2010.
2. Introduction to Software Engineering Design, Processes, Principles, and Patterns with UML2, Christophe Fox, Addison-Wesley, 2006.
Ders İçeriğini Yazdır
Teori Konu Başlıkları
Hafta Konu Başlıkları
1 Yazılım mühendisliğine giriş, yazılım mühendisliğinin bilgisayar mühendisliği içindeki yeri.
2 Modelleme ve tasarım kavramı. Yazılım tasarımı ve nesneye yönelik modelleme kavramı.
3 UML modelleme - Aktivite, sınıf ve nesne diyagramları.
4 Aktivite, sınıf ve nesne diyagramlarının yazılım problemleri üzerinde uygulanması.
5 UML modelleme - Kullanıcı senaryosu, durum ve dizge diyagramları.
6 Kullanıcı senaryosu, durum ve dizge diyagramlarının yazılım problemleri üzerinde uygulanması.
7 Kapsamlı yazılımları altı çeşit UML diyagramı kullanarak tasarlayabilme.
8 Ara Sınav
9 Yazılım geliştirme süreci modelleri - Şelale modeli, evrimsel yazılım geliştirme (çevik yöntemler), tekrar kullanabilirlik ve kitle-kaynaklı (yarışma esaslı) yazılım geliştirme.
10 Çevik yazılım geliştirme yöntemleri.
11 Yazılım test süreci ve teknikleri.
12 Yazılım kalitesi ve yazılım kalitesi yönetimi.
13 Yazılım maliyet analizi.
14 Dönem projesi sunumları
Uygulama Konu Başlıkları
Hafta Konu Başlıkları
Başarı Notuna Etki Oranları
  Sayı Katkı Payı
Yarıyıl içi çalışmaların başarı notuna katkısı 3 60
Yarıyıl sonu çalışmaların başarı notuna katkısı 1 40
Toplam 4 100
Yarıyıl İçi Çalışmaları
  Sayı Katkı Payı
Ödevler 1 10
Sunum 0 0
Arasınavlar (Hazırlık Süresi Dahil) 1 25
Proje 1 25
Laboratuar 0 0
Diğer Uygulamalar 0 0
Kısa Sınavlar 0 0
Dönem Ödevi / Projesi 0 0
Portfolyo Çalışmaları 0 0
Raporlar 0 0
Öğrenme Günlükleri 0 0
Bitirme Tezi/Projesi 0 0
Seminer 0 0
Diğer 0 0
Toplam 3 60
Numara Program Yeterlilikleri Puan
1 2 3 4 5
1 Matematik, fizik ve mühendislik bilimleri konularında yeterli bilgi birikimi, X
2 Temel bilimleri Bilgisayar Mühendisliği alanında kullanabilme becerisi, X
3 Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi, X
4 Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri, X
5 Bilişim teknolojilerini etkin bir şekilde seçme, kullanma, yeni gelişen teknolojilere adaptasyon becerisi, X
6 Disiplinlerarası takımlar içinde çalışma becerisi, X
7 Fransızca ve İngilizce olmak üzere en az iki yabancı dil bilgisi, X
8 Girişimcilik ve yenilikçilik hakkında farkındalık, X
9 Yetki alabilme ve gereğini yerine getirebilme, X
10 İş hukuku ve etik konularında bilgi, X
11 Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. X
Etkinlikler Sayı Süre Toplam İş Yükü
Ders Süresi 14 4 56
Sınıf Dışı Çalışma Süresi 0 0 0
Ödevler 1 20 20
Sunum 1 4 4
Arasınavlar (Hazırlık Süresi Dahil) 1 15 15
Proje 1 15 15
Laboratuar 0 0 0
Diğer Uygulamalar 0 0 0
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) 1 15 15
Kısa Sınavlar 0 0 0
Dönem Ödevi / Projesi 0 0 0
Portfolyo Çalışmaları 0 0 0
Raporlar 0 0 0
Öğrenme Günlükleri 0 0 0
Bitirme Tezi/Projesi 0 0 0
Seminer 0 0 0
Diğer 0 0 0
Toplam İş Yükü 125
Toplam İş Yükü / 25 5,00
Dersin AKTS Kredisi 5
Scroll to Top