Information Package

Program of Computer Engineering (English 30%)

BİL459

SOFTWARE ARCHITECTURES

Course Code
BİL459
Semester
-
Theory+Practice
3 + 0
ECTS
5
Course TypeElective Course
Course LevelBachelor's Degree
Year of Study-
Semester-
ECTS5
Name of Lecturer(s)
Learning Outcomes

At the end of this course, the students;

  1. Describe general concepts and approaches of software architectures.
  2. Analyze and design software architectures.
  3. Know and apply architectural design patterns and frameworks.
  4. Know and apply service-oriented architecture model.
  5. Know and apply service-, model-, and aspect-oriented development approaches.
Mode of DeliveryFace to face
PrerequisitesNo
Recommended Optional Programme ComponentsNone
Course DescriptionIntroduction to software architecture. Architectural modeling. Architectural styles. Architecture description languages. Analyzing and reviewing software architectures. Architectural patterns and frameworks. Component-oriented development. Architecture-based development. Service-oriented architectures. Model-driven development. Aspect-oriented development.
Course Contents
WEEK TOPICS
1st Week Types of Design Patterns, (Creational) Singleton Design Pattern
2nd Week MVC, MVP, MVVM Architectures, Microservice and Monolith Architectures
3rd Week (Creational) Abstract Factory and Factory Design Patterns, Sample Questions
4th Week (Creational) Builder and Prototype Design Patterns, Sample Questions
5th Week (Structural) Adapter and Composite Design Patterns, Sample Questions
6th Week (Structural) Facade and Bridge Design Patterns, Sample Questions
7th Week (Structural) Flyweight and Proxy Design Patterns, Sample Questions
8th Week MIDTERM
9th Week (Structural) Decorator Design Pattern and Sample Questions
10th Week (Behavioural) Observer Design Pattern and Sample Questions
11th Week (Behavioural) Strategy and State Design Patterns, Sample Questions
12th Week (Behavioural) Mediator, Interpreter and Visitor Design Patterns, Sample Questions
13th Week (Behavioural) Command, Memento and Iterator Design Patterns, Sample Questions
14th Week (Behavioural) Template Method, Chain of Responsibility and
15th Week (Architectural) Saga Design Pattern Design Patterns, Saga Design Pattern Design Pattern and Sample Questions
Recommended or Required Reading1. Bass, L., Clements, P. and Kazman, R., "Software Architecture in Practice", ISBN: 321154959, Addison-Wesley, (2003).
2. Larman, C., "Applying UML and Patterns", ISBN: 0131489062, Prentice-Hall, (2004).
Planned Learning Activities and Teaching Methods
  • Questions/Answers
  • Lecture
  • Project
  • Report Preparation
  • Presentation
  • Practice
  • Experiment
  • Problem Solving
Assessment Methods and Criteria
Quantity Percentage (%)
Mid-term 1 30
Assignment 3 10
Quiz 4 10
Project 1 10
Total(%) 60
Contribution of In-term Studies to Overall Grade(%) 60
Contribution of Final Examination to Overall Grade(%) 40
Total(%) 100
ECTS Allocated Based on Student Workload
Activities Quantity Duration (Hour) Total Workload (Hour)
Midterm exam 1 1.5 1.5
Preparation for Quiz
Individual or group work
Preparation for Final exam 1 20 20
Course hours 14 3 42
Preparation for Midterm exam 1 15 15
Laboratory (including preparation)
Final exam 1 1.5 1.5
Homework
Project 1 70 70
Quiz 4 0.5 2
Total Work Load152
Total Work Load / 30 (h)5.06
ECTS Credit of the Course5
Language of Instruction-
Work Placement(s)No
LO1 LO2 LO3 LO4 LO5
K1 X X X X
K2 X X X X
K3 X
K4
K5
K6
K7
K8
K9
K10
K11