Course Information


Course Information
Course Title Code Semester L+U Hour Credits ECTS
SOFTWARE DESIGN AND ARCHITECTURE YMH359 5. Semester 2 + 1 3.0 3.0

Prerequisites None

Language of Instruction Turkish
Course Level Bachelor's Degree
Course Type Compulsory
Mode of delivery
Course Coordinator
Instructors Damla TOPALLI
Assistants
Goals The aim of this course is to teach the basic principles of software design and architecture and to introduce different software architecture models and applications.
Course Content Introduction to software design and architecture. Planning, Analysis and Design Processes within the framework of Software Development Life Cycle. Modeling with UML diagrams in design processes. Software architecture design, evaluation and documentation. Quality attributes. Different types of architecture: domain-specific software architecture, model-driven architecture, microservices and service-oriented architecture, cloud and distributed architecture.
Learning Outcomes 1) Define software development life cycle phases and process models.
2) Understand the basic concepts used in Software Architecture design.
3) Understand, compare and analyze common software architectures.
4) Apply different software architecture alternatives within the scope of a software project, analyzing their success and pitfalls.

Weekly Topics (Content)
Week Topics Teaching and Learning Methods and Techniques Study Materials
1. Week Introduction to Software Design and Architecture Lecture
Brainstorming
Problem Based Learning
Presentation (Including Preparation Time)
2. Week Software Development Life Cycle and Process Models. Unified Modeling Language (UML) Diagrams Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
3. Week Agile Software Development Process Models Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
4. Week Software Development Life Cycle: Planning, Analyzing and Design Processes Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
5. Week Architectural Design Process: Basic Concepts Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
6. Week Designing the Software Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
7. Week Evaluating and Documenting the Software Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
8. Week Understanding Quality Attributes Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
9. Week Quality Attributes-Part I: Availability, Security, Performance Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
10. Week Quality Attributes-Part II: Modifiability, Deployability, Integrability Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
11. Week Architecture Models-Domain-Specific Software Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
12. Week Model-Driven Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
13. Week Microservices, Service Oriented Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)
14. Week Cloud and Distributed Architecture Lecture
Brainstorming
Project Based Learning
Presentation (Including Preparation Time)

Sources Used in This Course
Recommended Sources
1. Bass, Clements, and Kazman. “Software Architecture in Practice”, 4th edition, Addison-Wesley, 2021.
2. Taylor, Medvidovic, and Dashofy. “Software Architecture: Foundations, Theory, and Practice”. John Wiley & Sons, Inc. 2010.
3. Cervantes & Kazman. “Designing Software Architectures: A Practical Approach”, 2nd edition. Addison-Wesley, 2024.
4. Ian Sommerville, “Software Engineering”, 9th Edition, Pearson Education Inc., 2011

Relations with Education Attainment Program Course Competencies
Program RequirementsContribution LevelDK1DK2DK3DK4
PY150000
PY250000
PY350000

*DK = Course's Contrubution.
0 1 2 3 4 5
Level of contribution None Very Low Low Fair High Very High
.

ECTS credits and course workload
Event Quantity Duration (Hour) Total Workload (Hour)
Course Duration (Total weeks*Hours per week) 14 3
Work Hour outside Classroom (Preparation, strengthening) 14 2
Midterm Exam 1 2
Time to prepare for Midterm Exam 1 15
Final Exam 1 2
Time to prepare for Final Exam 1 15
Total Workload
Total Workload / 30 (s)
ECTS Credit of the Course
Quick Access Hızlı Erişim Genişlet
Course Information