Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
YAZILIM LABORATUVARI-I YZM315 5 0 3 5,0
Önkoşul(lar)-var ise
Dersin Dili
Dersin Türü Lisans
Dersin sorumlusu(ları)
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 scenarios.
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. Anlatım Sınav 1, 7, 8
2 Öğrenciler yazılım geliştirme projeleri ile ilgili riskleri öğrenerek risk yönetimi yapabilme yeteneği kazanır. Anlatım Sınav 1, 3, 4
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 work 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. Problem Çözme Sınav 7, 8, 9
4 Öğrenciler bir yazılım geliştirme projesinin tüm aşamalarında görev alabilme yeteneği kazanır. Anlatım, Problem Çözme Performans Ödevi 1, 3, 4, 9
4 Students develop the ability to participate in all stages of a software development project.
5 Students gain the ability to document technical specifications for a software development project.
5 Öğrenciler bir yazılım geliştirme projesinin teknik belgelendirmesini yapabilme yeteneği kazanır. Anlatım, Örnek Olay Performans Ödevi 1, 4, 8, 14
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, 8th ed. Mc Graw Hill. 2. Sommerville, I. (2015). Software Engineering, 10th ed. Pearson. 3. Larman, C. (2002). Applying UML and Patterns, 2nd ed. Prentice Hall. 4. Kalıpsız, O. (1993). Yazılım Mühendisliği. İ.Ü. 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-focused 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 Exam
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-focused UML Modeling Tools
12 . Hafta Software Project Management (Software Measurement and Software Project Cost Estimation, 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 Final Project Presentations
14 . Hafta Final Project Presentations
14 . Hafta Dönem Projesi Sunumları
15 . Hafta Dönem Projesi Sunumları
15 . Hafta Final Project Presentations
16 . Hafta Yarıyıl sonu sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Sınav 1 40
Performans Ödevi 0 0
Yarıyı içi çalışmalar 0 0
Dönem sonu sınavı 0 0
0 0
0 0
0 0
1 60
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ı 3 40
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 3 0
Sınıf Dışı Ders Calışma Süresi (Ön çalışma, pekiştirme) 0 2 0
Ara Sınav 0 10 0
Dönem sonu sınavı 1 2 2
0 0 0
0 0 0
0 0 0
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
0 0 0
7 3 21
7 3 21
14 2 28
14 3 42
Toplam İş Yükü 116
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
15 As an aware individual of current and historical events, critically interprets events and makes rational deductions. X
1 Possesses a fundamental understanding of applied and conceptual knowledge in the field of software engineering. X
2 Utilizes the theoretical and applied knowledge from mathematics, natural sciences, and software engineering in solving engineering problems. X
3 Identifies current engineering problems in various application domains and provides feasible recommendations for solving these problems using software systems. X
4 Performs analyses of software-based systems, components, and processes required for problem-solving, and creates the best designs that can meet the identified requirements and constraints. X
5 Selects and applies modern methods and tools necessary for engineering applications. X
6 Collects and processes the necessary data for problem-solving, designs experiments, conducts experiments, and interprets the results. X
7 Is familiar with the management processes of engineering projects, selects and applies the most suitable project management tools and project life cycle for the project. X
8 Codes, tests, operates, and maintains computer-based systems. X
9 Actively collaborates within disciplinary or interdisciplinary research and software development teams, either individually or as part of a team. X
10 Keeps track of current developments in software engineering and other relevant fields, with a conscious awareness of the necessity for continuous professional development. X
11 Proficiently and effectively utilizes both Turkish and English languages for the purpose of tracking scientific and technical resources, presenting projects, and writing academic publications. X
12 Is aware of the legal consequences of information technology applications and the individual, corporate, societal, and global impacts in both ethical and universal dimensions. X
13 Acts with professional and ethical responsibility in the development of software and systems. X
14 Designs and develops software systems using analytical thinking skills, aiming to facilitate human life or enhance comfort. X