Course syllabus for Advanced software architecture

The course syllabus contains changes
See changes

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

0109 Examination 5 c
Grading: TH
5 c
  • 18 Mar 2021 am L
  • 09 Jun 2021 am L
  • 23 Aug 2021 pm L
0209 Project 2.5 c
Grading: UG
2.5 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

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]