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
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 10 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
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
22.1. Required literature
1. Brett D. McLaughlin, Gary Pollice и Dave West | Head First Објектно ориентирана анализа и дизајн | Просветно дело | 2009
2. Eric Freeman, Elisabeth Robson, Bert Bates and Kathy Sierra | Head First Design Patterns | O`Reilly Media | 2004
22.2. Additional literature
No. Author Title Publisher Year