Software architectures

Software architectures

1.

Subject title

Software architectures

Софтверски архитектури

2.

Code

m23_s_026

3.

Study program

Bioinformatics, Еducation with ICT, Eco-informatics, Inteligent Systems, Internet Technologies and cyber security, Computer Science, Statistics and Data Analytics, Software for embedded systems, Cloud Computing, Bioinformatics, Security, Cryptography and Coding, Cloud Computing, Data science in computer science and engineering, Security, Cryptography and Coding, Statistics and Data Analytics, IT management, IT management, Software Engineering, Software Engineering,

4.

Organizer of the study program (unit, institute, department, division)

Faculty of Information Sciences and Computer Engineering

5.

Study cycle (first, second, third)

Втор циклус

6.

Academic year / semester

5 / Летен

7. Number of ECTS credits

6.0

8.

Instructor

проф. д-р Дејан Ѓорѓевиќ

9.

Prerequisites for enrollment

10.

Subject goals and competencies:


The purpose of the course is to produce software architects with solid knowledge and competence in building robust, scalable, and trusted software-intensive systems in an effective way. Candidates are expected to have a clear idea of ??the role of abstraction, modeling, architecture and design templates in software product development; to choose optimal architecture, apply the most relevant methods and technologies for the performance of the software solution regardless of its complexity and size; to have understandings of the concepts and principles of software architectures as well as to accurately describe them; to recognize the main architectural styles in existing software systems; to build software architecture and global design starting from the requirements set or through reversal engineering; to generate a reasonable number of alternative architectures for a given problem and to choose between them; to evaluate commercial software tools and software components in terms of architecture; to use object-oriented models and tools to effectively perform their activities; to apply templates, styles and frames when creating software architecture; be able to systematically evaluate a given software architecture; clearly understand the link between software architecture and other software engineering disciplines.

11.

Subject content:


Software architectures - definition and review. Software quality and software architectures. Designing software architectures. Creating and analyzing architectures. Different views of software architecture. Language for a description of Software architectures. Documenting software architectures. Audit of software architectures. Architectural styles. Software architecture templates. Architectural frameworks. Reuse of software architectures.

12.

Learning methods:


Предавања поддржани со презентации преку слајдови, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача и семинарска работа, учење во електронско опкружување (форуми, консултации).

13.

Total available time fund

6.0 ECTS x 30 hours = 180 hours

14.

Time distribution

60 + 0 + 45 + 45 + 30 = 180 hours

15.

Forms of teaching activities

15.1.

Lectures - theoretical teaching

60 hours

15.2.

Exercises (laboratory, classroom), seminars, team work

0 hours

16.

Other forms of activities

16.1.

Project tasks

45 hours

16.2.

Independent tasks

45 hours

16.3.

Homework

30 hours

17.

Grading method

17.1.

Tests

35 points

17.2.

Seminar work / project (presentation: written and oral)

45 points

17.3.

Activities and learning

10 points

17.4.

Final exam

0 points

18.

Grading criteria (points / grade)

up to 50 points

5 (five) (F)

from 51 to 60 points

6 (six) (E)

from 61 to 70 points

7 (seven) (D)

from 71 to 80 points

8 (eight) (C)

from 81 to 90 points

9 (nine) (B)

from 91 to 100 points

10 (ten) (A)

19.

Condition for signature and taking final exam

реализирани активности

20.

Language of instruction

македонски и англиски

21.

Quality assurance method

механизам на интерна евалуација и анкети

22.

Literature

22.1.

Mandatory literature

No.

Author

Title

Publisher

Year

6727

Len Bass, Paul Clements, Rick Kazman

Software Architecture in Practice, Third Edition

Addison Wesley

2012

6728

Humberto Cervantes,‎ Rick Kazman

Designing Software Architectures: A Practical Approach

Addison-Wesley Professional

2016

6729

Paul Clements,‎ Felix Bachmann,‎ Len Bass,‎ David Garlan,‎ James Ivers,‎ Reed Little,‎ Paulo Merson,‎ Robert Nord,‎ Judith Stafford

Documenting Software Architectures: Views and Beyond

Addison-Wesley Professional

2010

22.2.

Additional literature

No.

Author

Title

Publisher

Year