Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
YAZILIM LAB-I BLM315 5 0 3 5,0
Önkoşul(lar)-var ise
Dersin Dili
Dersin Türü Lisans
Dersin sorumlusu(ları) Prof.Dr. NEVCİHAN DURU
Dersin Amacı Yüksek düzeyde kaliteli ve ekonomik bir yazılım geliştirme süreçleri ve yöntemleririnin öğretilmesi
Dersin Verilme Şekli Örgün
Sıra No Dersin Öğrenme Çıktıları Öğretim Yöntemleri Değerlendirme Yöntemleri Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5)
1 Students learn classical and contemporary software development processes, including their comparative advantages, disadvantages, and applicable situations.
1 Öğrenciler klasik ve güncel yazılım geliştirme süreçlerini, her birinin karşılaştırmalı avantajları, dezavantajları ve uygulanabilecekleri durumları içerecek şekilde öğrenirler. Laboratuar Laboratuar 1
2 Öğrenciler yazılım geliştirme projeleri ile ilgili riskleri öğrenerek risk yönetimi yapabilme yeteneği kazanır. Laboratuar Laboratuar 1, 13
2 Students gain the ability to perform risk management by learning about the risks associated with software development projects.
3 Students acquire the necessary knowledge to serve as a member or manager of a software development team.
3 Öğrenciler bir yazılım geliştirme ekibinin üyesi veya yöneticisi olarak görev yapabilmelerini sağlayacak ön bilgiyi kazanır. Laboratuar Laboratuar 1, 2, 3, 4, 5, 6, 8, 13
4 Öğrenciler bir yazılım geliştirme projesinin tüm aşamalarında görev alabilme yeteneği kazanır. Laboratuar Laboratuar 1, 2, 3, 4, 5, 6, 8, 10, 13
4 Students develop the ability to participate in all stages of a software development project.
5 Students acquire the ability to document the technical aspects of a software development project.
5 Öğrenciler bir yazılım geliştirme projesinin teknik belgelendirmesini yapabilme yeteneği kazanır. Laboratuar Laboratuar 1, 2, 3, 4, 5, 6, 8, 10, 13
6
6
7
7
8
8
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Geleneksel Yazılım Geliştirme Süreç Modelleri; Çevik Yazılım Geliştirme Süreç Modelleri; Gereksinim Mühendisliği; Kullanım Senaryoları; UML Use-Case ve Etkinlik Şemaları; Yazılım Mimarisi; Yazılım Test Teknikleri; Yazılım Kalite Yönetimi; Yazılım Bakımı, Yazılımın Yeniden Kullanımı; Yazılım Konfigürasyon Yönetimi; Yazılım Proje Yönetimi; Yazılım Ölçümü; Yazılım Proje Maliyet Tahmin Yöntemleri; Yazılım Risk Yönetimi; Yazılım Süreci İyileştirme ve Yeterlilik Modelleri (CMMI)
Kaynaklar
1. Pressman, R. (2014). Software Engineering (8. ed.). Mc Graw Hill. 2. Sommerville, I. (2015). Software Engineering (10. ed.). Pearson. 3. Larman, C. (2002). Applying UML and Patterns (2. ed.). Prentice Hall. 4. Kalıpsız, O. (1993). Yazılım Mühendisliği. İstanbul Üniversitesi Yayını.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta Yazılım Mühendisliğine Giriş, Yazılım Geliştirme Süreç Modelleri (Geleneksel ve Çevik Süreçler)
1 . Hafta Introduction to Software Engineering, Software Development Process Models (Traditional and Agile Processes)
2 . Hafta Software Requirements Engineering. Use Cases. UML Use-Case Diagrams
2 . Hafta Yazılım Gereksinim Mühendisliği. Kullanım Senaryoları. UML Use-Case Şemaları
3 . Hafta Yazılım Mimarilerine Giriş
3 . Hafta Introduction to Software Architectures
4 . Hafta Object-Oriented Analysis and Design. UML Activity Diagrams
4 . Hafta Nesneye Yönelik Analiz ve Tasarım. UML Etkinlik Şemaları
5 . Hafta UML Modelleme ve Yazılım Geliştirme Araçları
5 . Hafta UML Modeling and Software Development Tools
6 . Hafta Laboratory Work: Analysis-Oriented UML Modeling Tools
6 . Hafta Laboratuar Çalışması: Analiz odaklı UML Modelleme Araçları
7 . Hafta Yazılım Test Teknikleri
7 . Hafta Software Testing Techniques
8 . Hafta Midterm
8 . Hafta Ara Sınav 1
9 . Hafta Yazılım Bakımı - Yeniden Kullanımı ve Konfigürasyon Yönetimi
9 . Hafta Software Maintenance - Reuse and Configuration Management
10 . Hafta Software Maintenance, Configuration Management, Software Process Improvement, Capability Model (CMM)
10 . Hafta Yazılım Bakımı, Konfigürasyon Yönetimi, Yazılım Süreci İyileştirme, Yeterlilik Modeli (CMM)
11 . Hafta Laboratuar Çalışması: Tasarım odaklı UML Modelleme Araçları
11 . Hafta Laboratory Work: Design-Oriented UML Modeling Tools
12 . Hafta Software Project Management (Software Measurement and Software Project Cost Estimation Methods, Agile Project Management)
12 . Hafta Yazılım Proje Yönetimi (Yazılım Ölçümü ve Yazılım Proje Maliyet Tahmin Yöntemleri, Çevik Proje Yönetimi)
13 . Hafta Dönem Projesi Sunumları
13 . Hafta Semester Project Presentations
14 . Hafta Semester Project Presentations
14 . Hafta Dönem Projesi Sunumları
15 . Hafta Dönem Projesi Sunumları
15 . Hafta Semester Project Presentations
16 . Hafta Yarıyıl sonu sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Ara Sınav 0 0
Final Sınavı 0 0
0 0
0 0
4 60
1 40
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Toplam 100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı 1 0
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 1 0
Toplam 100
AKTS (Öğrenci İş Yükü) Tablosu
Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders süresi (sınav haftası dahil: 16xders saati) 0 0 0
Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, pekiştirme) 0 0 0
Ara Sınav 0 0 0
Dönem Sonu Sınavı 0 0 0
0 0 0
0 0 0
4 6 24
1 2 2
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
14 3 42
0 0 0
7 2 14
14 2 28
0 0 0
Toplam İş Yükü 110
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 A computer engineer possesses fundamental applied and conceptual knowledge in the field of computer engineering. X
2 They utilize mathematics, natural sciences, and theoretical and applied knowledge in computer engineering to solve engineering problems. X
3 They identify current engineering problems in various application domains and provide feasible recommendations for their solution using computer systems. X
4 They perform analyses of software or hardware-based systems, components, and processes required for problem-solving and create optimal designs that meet specified requirements and constraints. X
5 They select and implement modern methods and tools necessary for engineering applications. X
6 Problemlerin çözümü için gerekli olan veriyi toplar ve işler, deneyler tasarlar, deneyleri gerçekleştirir ve sonuçlarını yorumlar. X
7 Mühendislik projelerinin yönetim süreçlerini bilir, proje için en uygun yönetim araçlarını ve proje yaşam döngüsünü seçer ve uygular. X
8 They code, test, operate, and maintain computer-based systems. X
9 They work effectively in interdisciplinary research and software development teams, both within and outside their own field. X
10 They keep up with current developments in computer engineering and related areas with a consciousness of the necessity of continuous professional development. X
11 They utilize Turkish and English fluently and effectively for tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 They are aware of the legal consequences of information technology applications and the individual, corporate, social, and universal impacts. X
13 Geliştirdiği yazılım ve sistemlerde mesleki ve etik sorumluk bilinciyle hareket eder. X
14 They design and develop computer systems that will facilitate human life or increase comfort with analytical thinking skills. X
15 They possess awareness as an individual who is informed about current and historical events and can interpret them rationally and draw conclusions. X