BBS652 - SOFTWARE ARCHITECTURES
Course Name | Code | Semester | Theory (hours/week) |
Application (hours/week) |
Credit | ECTS |
---|---|---|---|---|---|---|
SOFTWARE ARCHITECTURES | BBS652 | Any Semester/Year | 3 | 0 | 3 | 6 |
Prequisites | None | |||||
Course language | Turkish | |||||
Course type | Elective | |||||
Mode of Delivery | Face-to-Face | |||||
Learning and teaching strategies | Lecture Discussion Preparing and/or Presenting Reports | |||||
Instructor (s) | Ayça Tarhan | |||||
Course objective | To introduce the basic concepts of software architecture and its development and documentation methods. | |||||
Learning outcomes |
| |||||
Course Content | Basic concepts on software architectures. Software architecture concepts and stakeholders, software architecture development process, architectural requirements analysis, modeling of software architectural design. Architectural viewpoints and perspectives. Functional, information, development, concurrency, deployment, and operation viewpoints. Evolution, security, performance and scalability, and availability and resilience perspectives. Architectural styles/patterns. Comparison and evaluation of architectural design methods. Software product-line architectures, domain modeling and domain engineering. | |||||
References | ? Rozanski N. & Woods E., Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives, Addison-Wesley Professional, 2005. ? Bass L., Clements P. & Kazman R., Software Architecture in Practice (2nd ed.), Addison-Wesley, 2003. |
Course outline weekly
Weeks | Topics |
---|---|
Week 1 | Introduction to Software Architectures |
Week 2 | Architectural Concepts and Stakeholders |
Week 3 | Software Architecture Development Process |
Week 4 | Architectural Requirements Analysis |
Week 5 | Architectural Modeling |
Week 6 | Midterm |
Week 7 | Architectural Views |
Week 8 | Architectural Views |
Week 9 | Architectural Perspectives |
Week 10 | Architectural Perspectives |
Week 11 | Midterm |
Week 12 | Architectural Styles and Patterns |
Week 13 | Software Product Line Architectures |
Week 14 | Domain Engineering |
Week 15 | Preparation to Final Exam |
Week 16 | Final Exam |
Assesment methods
Course activities | Number | Percentage |
---|---|---|
Attendance | 0 | 0 |
Laboratory | 0 | 0 |
Application | 0 | 0 |
Field activities | 0 | 0 |
Specific practical training | 0 | 0 |
Assignments | 5 | 10 |
Presentation | 0 | 0 |
Project | 0 | 0 |
Seminar | 0 | 0 |
Midterms | 2 | 10 |
Final exam | 1 | 50 |
Total | 70 | |
Percentage of semester activities contributing grade succes | 0 | 50 |
Percentage of final exam contributing grade succes | 0 | 50 |
Total | 100 |
WORKLOAD AND ECTS CALCULATION
Activities | Number | Duration (hour) | Total Work Load |
---|---|---|---|
Course Duration (x14) | 14 | 3 | 42 |
Laboratory | 0 | 0 | 0 |
Application | 0 | 0 | 0 |
Specific practical training | 0 | 0 | 0 |
Field activities | 0 | 0 | 0 |
Study Hours Out of Class (Preliminary work, reinforcement, ect) | 14 | 3 | 42 |
Presentation / Seminar Preparation | 0 | 0 | 0 |
Project | 0 | 0 | 0 |
Homework assignment | 5 | 8 | 40 |
Midterms (Study duration) | 2 | 16 | 32 |
Final Exam (Study duration) | 1 | 16 | 16 |
Total Workload | 36 | 46 | 172 |
Matrix Of The Course Learning Outcomes Versus Program Outcomes
D.9. Key Learning Outcomes | Contrubition level* | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
1. Has comprehensive knowledge in fundamental areas of software engineering. | X | ||||
2. Has knowledge in the area of software requirements understanding process planning, output specification, resource planning, risk management and quality planning. | X | ||||
3. Understands the interplay between theory and practice and the essential links between them. | X | ||||
4. Defines real life problems by identifying functional and non-functional requirements a software has to satisfy. | X | ||||
5. Overcomes technical or scientific software engineering problems on their own and is in a position to propose the most suitable solution; has good communication skills to explain the completeness of their solution and clearly state the assumptions that were made. | X | ||||
6. Completes a project on a larger scale than an ordinary course project in order to acquire the skills necessary to work efficiently in a team. | X | ||||
7. Identifies, evaluates, measures and manages changes in software development by applying software engineering processes. | X | ||||
8. Understands the social, legal, ethical and cultural issues involved in the deployment and use of software engineering and conducts all occupational pursuits in an ethical and responsible manner. | X | ||||
9. Has good command of technical terms in both Turkish and English, where they have the ability to make succinct presentations (including face-to-face, written or electronic) to a range of audiences about technical/scientific problems and their solutions. | X | ||||
10. Identifies and conducts research by applying scientific methods in order to solve scientific problems. | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest