Course syllabus adopted 2019-02-20 by Head of Programme (or corresponding).
Overview
- Swedish nameAdvanced software architecture
- CodeDAT220
- Credits7.5 Credits
- OwnerMPSOF
- Education cycleSecond-cycle
- Main field of studyComputer Science and Engineering, Software Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language English
- Application code 24112
- Maximum participants50
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0109 Examination 5 c Grading: TH | 5 c |
| |||||
0209 Project 2.5 c Grading: UG | 2.5 c |
In programmes
- MPIDE - INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
- MPSOF - SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory elective)
Examiner
- Eric Knauss
- Head of Division, Interaction Design and Software Engineering, Computer Science and Engineering
Eligibility
General entry requirements for Master's level (second cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
English 6 (or by other approved means with the equivalent proficiency level)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
To be eligible for this course the student should 1) have a bachelor degree in Software Engineering, Computer Science or equivalent, including a successfully completed course in programming (e.g. DAT042, DAT050, DAT055, DAT170, TDA545, TDA550 or equivalent), and 2) a successfully completed course in practical software development or software engineering project (e.g. DAT256 Software Engineering Project).Aim
Proper software- and system architecture is instrumental for ensuring that software-reliant systems achieve their business and mission goals, and satisfy required quality attributes such as performance, security, safety. To this end, sound architecture principles and methods support developing, analyzing, and evolving systems. For a certain class of systems, e.g., safety-critical systems, it is of outmost importance that the quality attribute requirements are satisfied, to eliminate the risk for severe, or even catastrophic, consequences. Architectural modeling, verification, validation, and evaluation have shown to be effective means to significantly increase the overall quality of the system. The purpose of this course is to learn principles and methods that aid the designer/developer/architect to gain increased confidence in the architectural design, including quantitative modeling and qualitative architecture evaluation methods. The course will also address the specific challenges related to scale, dynamics, and heterogeneity as found in system of systems, and ultra-large scale systems.Learning outcomes (after completion of the course the student should be able to)
- Understand the role and applicability of methods for evaluating architectures
- Describe inter-dependencies among quality-attributes and understand how they affect architecting
- Develop an ability to assess an architecture quantitatively and qualitatively
- Develop architectural models using ADLs, and understand the intentionality of models throughout the system life-cycle
- Conduct incremental and multi-fidelity architecture-centric verification and validation
- Understand the characteristics and challenges of architecting system-of-systems and ultra-large-scale systems
- Distinguish between software architecture, system architecture, and run-time architectures.
Content
- Quality attributes in the context of architecting
- Qualitative and quantitative assessment of architectures
- Architectural modeling through Architecture Description Languages (a.k.a. ADLs) such as AADL and OMG MARTE
- System modeling and the role of SysML and its relation to software architecting
- Architecting for evolution and variability
- Partitioned and layered architectures
- System-of-Systems and Ultra-Large Scale Systems
- Case study on virtual integration from the avionics domain
Organisation
Lectures, seminars and projects. Each student shall write an essay, give a seminar, and participate in other seminars.
Literature
See separate literature list.
Examination including compulsory elements
A written exam at the end of course. The projects must also be approved. A written essay must be approved and presented at a seminar. Attention to other students¿ presentation.
The course syllabus contains changes
- Changes to course rounds:
- 2020-10-07: Examinator Examinator changed from Riccardo Scandariato (ricsca) to Eric Knauss (knauss) by Viceprefekt
[Course round 1]
- 2020-10-07: Examinator Examinator changed from Riccardo Scandariato (ricsca) to Eric Knauss (knauss) by Viceprefekt