|
YZM3017 | Software Design and Architecture | 3+1+0 | ECTS:5 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Compulsory | Department | DEPARTMENT of SOFTWARE ENGINEERING | Prerequisites and co-requisites | | Mode of Delivery | Face to face, Group study | Contact Hours | 14 weeks - 3 hours of lectures and 1 hour of practicals per week | Lecturer | Prof. Dr. Hamdi Tolga KAHRAMAN | Co-Lecturer | | Language of instruction | Turkish | Professional practise ( internship ) | None | | The aim of the course: | The objective of this course is to provide an overview of software design architecture, application, languages for software and critical systems. |
Learning Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | Explain basics of architecture, application, and languages for software and critical systems | 4,5,10 | 1,4 | LO - 2 : | Apply different software techniques and documentation | 1,4,9,12 | 1,3 | LO - 3 : | Analyze various real life software architecture construction, success and pitfalls | 2,3,4,5 | 1,4 | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome | |
Introduction to software architecture. Architecture business cycle. Creating an architecture. Introducing a case study. Understanding and achieving quality. Design, document and reconstruct software architecture. Methods for architecture evaluation. Quantitative approach to architecture design decision making. Software product lines. Different kinds of architecture: middleware, model-driven, service-oriented, semantic web, aspect-oriented. Various case studies will be discussed to understand all above concepts in real life contexts |
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Understanding Software Architecture | | Week 2 | Introducing Case Study | | Week 3 | Software Quality Attributes | | Week 4 | Middleware Architectures and Technology | | Week 5 | Software Architecture Process | | Week 6 | Documenting a Software Architecture | | Week 7 | Case Study Design | | Week 8 | Software Product Lines | | Week 9 | Mid-term exam | | Week 10 | Aspect Oriented Architectures | | Week 11 | Model-Driven Architecture | | Week 12 | Service Oriented Architecture & Technologies | | Week 13 | Semantics Web | | Week 14 | Software Agents | | Week 15 | Resitation | | Week 16 | End-of-term exam | | |
1 | Essential Software Architecture by Ian Gorton, Springer, 2006 | | |
1 | Software Architecture in Practice, Second Edition, by Bass, Clements and Kazman, Addison-Wesley Publishers, ISBN: 0-321-15495-9, 2007 | | 2 | Quality Software Project Management by Robert T. Futrell, Donald F. Shafer, and Linda I. Shafer, Prentice Hall, 2002 | | 3 | Evaluating Software Architecture- Methods and Case Studies, by Paul Clements, Rick Kazman, Mark Klein, ISBN: 020170482X, Addison Wesley, 2007 | | 4 | Software System Architecture by Nick Rozanski and Eoin Woods, ISBN 0-321-11229-6, Addison Wesley, 2007 | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | | 2 | 30 | Practice | 14 | | 2 | 20 | End-of-term exam | 16 | | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 2 | 14 | 28 | Arasınav için hazırlık | 1 | 8 | 8 | Arasınav | 2 | 1 | 2 | Uygulama | 2 | 14 | 28 | Dönem sonu sınavı için hazırlık | 1 | 4 | 4 | Dönem sonu sınavı | 2 | 1 | 2 | Total work load | | | 72 |
|