Software Engineering (English) | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | SWE311 | ||||||||
Course Name: | Software Architecture | ||||||||
Course Semester: | Fall | ||||||||
Course Credits: |
|
||||||||
Language of instruction: | EN | ||||||||
Course Requisites: |
1302382@ASU - Requirements Engineering | SWE210 - Software Requirements and Analysis 1302382@ASU - Requirements Engineering | SWE210 - Software Requirements and Analysis |
||||||||
Does the Course Require Work Experience?: | No | ||||||||
Type of course: | Compulsory | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Prof. Dr. BEKİR TEVFİK AKGÜN | ||||||||
Course Lecturer(s): |
Öğr.Gör. KÜBRA CENGİZ Assoc. Prof. SHADI HILLES |
||||||||
Course Assistants: |
Course Objectives: | This course introduces basic concepts and principles about software design and software architecture. It starts with discussion on design issues, followed by coverage on design patterns. It then gives an overview of architectural structures and styles. Practical approaches and methods for creating and analyzing software architecture are presented. Students will also gain experiences with examples in design pattern application and case studies in software architecture. |
Course Content: | Students will learn middleware architecture design principles. Students will understand requirements traceability and how to insure the system meets cross-cutting end-to-end software architectural properties. Using concepts from architecture description languages, they will learn to deconstruct existing systems and then extend them with new capabilities. They will be able to identify and compose design patterns. The class project will involve mixing architectural styles including distributed computing, service-oriented architectures, database-centric architectures, web architectures, email and AI architectures. |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Intro to software design | None |
1) | ||
2) | Design principles I | None |
3) | Design principles II | None |
4) | Design patterns | None |
5) | Creational design patterns | None |
6) | Structural design patterns | None |
7) | Behavioral design patterns | None |
8) | Midterm | None |
9) | ABC,Architectural structures and views | None |
10) | Quality attributes | None |
11) | Architectural style | None |
12) | Design architecture | None |
13) | Document architecture | None |
14) | Project presentation and demonstration | None |
15) | Final Exam | None |
Course Notes / Textbooks: | Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice, 2nd ed, Addison-Wesley, 2003. Eric Braude, Software Design: From Programming to Architecture, Wiley, 2004. |
References: | None |
Learning Outcomes | 1 |
3 |
4 |
2 |
5 |
|||||
---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||
1) Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | ||||||||||
2) Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | ||||||||||
3) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | ||||||||||
4) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | ||||||||||
5) Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | ||||||||||
6) Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | ||||||||||
7) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | ||||||||||
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | ||||||||||
9) Professional and ethical responsibility. | ||||||||||
10) Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | ||||||||||
11) The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | Information on project management and practices in business life such as risk management and change management; awareness about entrepreneurship, innovation and sustainable development. | |
2) | Sufficient knowledge in mathematics, science and engineering related to their branches; the ability to apply theoretical and practical knowledge in these areas to model and solve engineering problems. | 1 |
3) | The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modeling methods for this purpose. | 4 |
4) | The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. (Realistic constraints and conditions include such issues as economy, environmental issues, sustainability, manufacturability, ethics, health, safety, social and political issues, according to the nature of design.) | 2 |
5) | Ability to develop, select and use modern techniques and tools necessary for engineering applications; ability to use information technologies effectively. | |
6) | Ability to design experiments, conduct experiments, collect data, analyze and interpret results for examination of engineering problems. | 5 |
7) | Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge. | |
8) | Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |
9) | Professional and ethical responsibility. | |
10) | Information on the effects of engineering applications on health, environment and safety in the universal and social dimensions and the problems of the times; awareness of the legal consequences of engineering solutions. | 3 |
11) | The ability to work effectively in disciplinary and multidisciplinary teams; individual work skill. |
Expression | |
Lesson | |
Reading | |
Project preparation |
Written Exam (Open-ended questions, multiple choice, true-false, matching, fill in the blanks, sequencing) | |
Individual Project |
Semester Requirements | Number of Activities | Level of Contribution |
Project | 1 | % 20 |
Midterms | 1 | % 30 |
Final | 1 | % 50 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 50 | |
PERCENTAGE OF FINAL WORK | % 50 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 3 | 42 |
Presentations / Seminar | 1 | 35 | 35 |
Midterms | 1 | 40 | 40 |
Final | 1 | 50 | 50 |
Total Workload | 167 |