Dersin Adı Dersin Seviyesi Dersin Kodu Dersin Tipi Dersin Dönemi Yerel Kredi AKTS Kredisi Ders Bilgileri
SOFTWARE DESIGN AND ARCHITECTURE İkinci Düzey YZ 206 4 5.00 5.00 Yazdır
   
Dersin Tanımı
Ön Koşul Dersleri -
Eğitimin Dili English
Koordinatör DR. ÖĞR. ÜYESİ BİLGE KAĞAN DEDETÜRK
Dersi Veren Öğretim Eleman(lar)ı DR. ÖĞR. ÜYESİ BİLGE KAĞAN DEDETÜRK
Yardımcı Öğretim Eleman(lar)ı -
Dersin Veriliş Şekli Formal education
Dersin Amacı The purpose of this course is to equip students with the conceptual foundations, technical skills, and engineering judgment required to design and architect software systems that are robust, maintainable, and adaptable to evolving requirements. The course aims to develop students'' ability to think systematically about design decisions, to reason about trade-offs between competing quality attributes, and to communicate designs effectively using standard UML notations. By progressing from object-oriented design principles and design patterns to architectural styles and service-oriented architectures, the course prepares students to bridge the gap between writing functional code and engineering complete software systems. Ultimately, the course seeks to cultivate professionals who can recognize recurring design problems, apply proven solutions, evaluate architectural alternatives against real-world constraints, and contribute meaningfully to the design of modern distributed and enterprise-scale software in their future academic and industrial careers.
Dersin Tanımı This course provides a comprehensive introduction to the principles and practices of designing and architecting software systems, bridging the gap between programming and large-scale software engineering. Students learn to translate requirements into well-structured designs through object-oriented analysis and modeling, the systematic application of design principles, and the disciplined use of established design patterns from the Gang of Four catalogue. The scope then expands from class-level design to system-level architecture, covering UML-based architectural views, classical architectural styles, the evaluation of architectures against quality attributes such as performance, modifiability, and availability, and modern service-oriented approaches including SOAP-based web services, RESTful services, and microservices. Through integrating theoretical foundations with hands-on UML modeling and case studies, students develop the engineering judgment required to design software that is not only functionally correct but also maintainable, evolvable, and aligned with contemporary industry standards.

Dersin İçeriği
1 Introduction to Object-Oriented Analysis and Design
2 Design for Quality and Conceptual Design Tools
3 Object-Oriented Modelling and the Four Design Principles
4 Design Structure in Java and UML Class Diagrams
5 Evaluating Design Complexity and Core Design Principles
6 Introduction to Design Patterns: Creational Patterns
7 Structural Design Patterns
8 Midterm Examination
9 Behavioural Design Patterns
10 Architectural Patterns and Anti-Patterns
11 UML Architecture Diagrams and the 4+1 View Model
12 Architectural Styles
13 Architecture in Practice and Web Technologies
14 Web Services, REST, and Microservices
15 Final Examination
16
17
18
19
20

Dersin Öğrenme Çıktıları
1 Apply the four fundamental object-oriented design principles to translate software requirements into well-structured software designs.
2 Construct and interpret UML diagrams to model the structure and behaviour of software systems.
3 Evaluate design quality using criteria such as coupling, cohesion, and information hiding.
4 Select and apply appropriate design patterns to solve recurring design problems.
5 Compare architectural styles and select suitable ones based on system requirements.
6 Evaluate software architectures with respect to key quality attributes.
7 Design web-based and service-oriented systems using REST and microservices principles.
8
9
10

*Dersin Program Yeterliliklerine Katkı Seviyesi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Yıldızların sayısı 1’den (en az) 5’e (en fazla) kadar katkı seviyesini ifade eder

Planlanan Öğretim Faaliyetleri, Öğretme Metodları ve AKTS İş Yükü
  Sayısı Süresi (saat) Sayı*Süre (saat)
Yüz yüze eğitim 14 3 42
Sınıf dışı ders çalışma süresi (ön çalışma, pekiştirme) 14 1 14
Ödevler 0 0 0
Sunum / Seminer hazırlama 0 0 0
Kısa sınavlar 2 1 2
Ara sınavlara hazırlık 1 20 20
Ara sınavlar 1 2 2
Proje (Yarıyıl ödevi) 0 0 0
Laboratuvar 0 0 0
Arazi çalışması 0 0 0
Yarıyıl sonu sınavına hazırlık 1 24 24
Yarıyıl sonu sınavı 1 2 2
Araştırma 3 5 15
Toplam iş yükü     121
AKTS     5.00

Değerlendirme yöntemleri ve kriterler
Yarıyıl içi değerlendirme Sayısı Katkı Yüzdesi
Ara sınav 0 0
Kısa sınav 0 0
Ödev 0 0
Yarıyıl içi toplam   0
Yarıyıl içi değerlendirmelerin başarıya katkı oranı   0
Yarıyıl sonu sınavının başarıya katkı oranı   0
Genel toplam   0

Önerilen Veya Zorunlu Okuma Materyalleri
Ders kitabı
Yardımcı Kaynaklar

Ders İle İlgili Dosyalar