Lesson plan /

Lesson Information

Course Credit
Course ECTS Credit
Teaching Language of Instruction İngilizce
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience?
Course Coordinator Assoc. Prof. (Ph.D.) ILHAM HUSEYINOV
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course The main purpose of this course is to teach the basic knowledge from the area of software architecture: students should be familiar with the main concepts/definitions and have basic skills in designing and analysing software architectures.
Course Content definition of arcitecture; history of architecture, architecture design levels, importance of architectural design, relationship of architecture with qaulity attributes, categories aof arcitectural design, data flow category: batch sequential and pipe and filter; call and return category: main-subroutine, layered styles; independent components: communicating and event systems; virtual machines: interpreters, rule-based systems; data-centered systems: hypertext, blackbox and database systems

Weekly Course Subjects

1Intruduction
2Architectural design levels, importance and position of architecture
34+1 view of architectural design
4Data flow systems: batch processing, pipe and filter styles
5Call and return category: main-sabroutine
6Call and return category: object oriented approach
7Call and return category: Layered architecture
8Midterm
9Independent components: communicating process
10Independent components: communicating process
11Independent components: event systems
12Virtual machines: Interpreters, rule based systems
13Data centered systems: blackboards, hypertext systems
14Practical exercize with Visual paradigm to create 4+1 views

Resources

1-Len Bass, Paul Clements, & Rick Kazman. Software Architecture in Practice (Thrid Edition). Addison-Wesley, 2013.
2. Software Architecture Patterns by Mark Richards, 2015