Subject
Software Design and Architecture
| 1. | Course Title |
Software Design and Architecture Software design and architecture |
||||||||||||
| 2. | Code | F23L3W009 | ||||||||||||
| 3. | Study Programme | Software Engineering and Information Systems, Software Engineering and Information Systems | ||||||||||||
| 4. | Organizer of the study programme (unit, institute, department or division) | Faculty of Computer Science and Engineering | ||||||||||||
| 5. | Degree level (first, second, third cycle) | First Cycle | ||||||||||||
| 6. | Academic year / semester | 5 / Winter | ||||||||||||
| 7. | Number of ECTS credits | 6 | ||||||||||||
| 8. | Teacher | Дејан Ѓорѓевиќ, Ѓорѓи Маџаров, Љупчо Антовски, Петре Ламески | ||||||||||||
| 9. | Prerequisites for enrolling in the course | Object-oriented analysis and design or Object-oriented programming | ||||||||||||
| 10. | Objectives of the course programme (competences) | The goal of the course is for students to learn the main concepts of object-oriented analysis and design. To become familiar with refactoring techniques, design patterns, and various software architectures. Upon completion of the course, candidates will be able to identify limitations and assess the qualities of software systems. For a given software specification, they will be able to assess its completeness and consistency, as well as designing a software architecture in accordance with the given requirements. |
||||||||||||
| 11. | Course content | (1) Design concepts, definition of design, basic problems in design (for example, persistent data, warehouse management, and exceptions) (1) Design context within multiple software development life cycles, design principles (information hiding, cohesion, and coupling) (1) Interactions between design and requirements, design for quality attributes (for example, reliability, usability, sustainability, performance, testing, safety, and fault tolerance) (1) Design compromises, design strategies, functional design, object-oriented design (1) Data-driven design, aspect-oriented design, architectural design (3) Architectural styles, templates, and frameworks (1) Architectural exchanges between different attributes (1) Hardware and system engineering issues in software architecture, requirements for traceability in architecture (1) Service-Oriented and Cloud Architectures (1) Architectures for network, mobile, and embedded systems (1) The relationship between product architecture, organizational structure, and the market |
||||||||||||
| 12. | Learning methods | lectures, classroom exercises, laboratory exercises, project assignments, homework | ||||||||||||
| 13. | Total available time | 6 ECTS x 30 hours = 180 hours | ||||||||||||
| 14. | Distribution of available time | 30 + 45 + 15 + 15 + 75 = 180 hours | ||||||||||||
| 15. | Forms of teaching activities |
|
||||||||||||
| 16. | Other forms of activities |
|
||||||||||||
| 17. | Assessment method |
|
||||||||||||
| 18. | Grading criteria (points / grade) |
|
||||||||||||
| 19. | Requirement for obtaining a signature and taking the final exam | Activities carried out | ||||||||||||
| 20. | Language of instruction | Macedonian and English | ||||||||||||
| 21. | Method for monitoring the quality of teaching | internal evaluation and surveys | ||||||||||||
| 22. | Literature |
|