Course syllabus
Questions During Written Exam:
Please find in this file the exam for 19 March 2020 Adv Software Architecture.
If you have questions, you can write them in this Google-document:
https://docs.google.com/document/d/1SNUEZNiAUh9wKvOvCSafQLD6Ejo8cW3-rxyuSYEXU9E/edit?usp=sharing
Please find here a 'guide' to the solutions to the exam questions.
The guide is not complete in the sense that it cannot anticipate all of the answers and how to grade these.
This guide does show the key elements/direction of the solution.
NB. for the design question I have taken diagrams from different solutions. They are _a_ right answer to the question, but are together not consistent across answers (which they should be when you hand in your answer sheet).
As it currently looks, the re-exam will also be a remote/do from home exam.
Course-PM
DAT220 / DIT544 Advanced software architecture lp3 VT20 (7.5 hp)
Course is offered by the department of Computer Science and Engineering
Contact details
- examiner: Prof. Dr. M.R.V. Chaudron (chaudron@chalmers.se)
- lecturer: Prof. Dr. M.R.V. Chaudron (chaudron@chalmers.se) + guest lecturers
- teaching assistants: Mazen: mazenm@chalmers.se & Peter ('Hazem') Samoaa: samoaa@chalmers.se
Course purpose
The course will
1) explain basic concepts and definitions from the area of software architecture
2) explain advanced methods and techniques for design and analysis of complex software systems
Schedule
TimeEdit
Any updates to the schedule will be announced in class at the start of each lecture.
Course Representatives
MPSOF ayko@student.chalmers.se Konstantin Ay
MPSOF selam.welu@mu.edu.et Selam Gebrekrstos
MPSOF sarosh.nasir@gmail.com Sarosh Jah Nasir
MPSOF saimeghanauppalapati1997@gmail.com Sai Meghana Uppalapati
MPBDP vikm@student.chalmers.se Martin Vik
Lecture Slides
- 2: Definitions Importance and Views
-4: Functional Decomposition and Architectural Styles (Clnt-Srvr)
For this lecture, you can prepare by watching this video
-6: Domain Analysis and Architectural Styles (part 2: pipe and filter and publish-subscribe)
-7a: Architectural Styles - part 3: Blackboard
-7b: Architecture Performance Analysis
Reading Material
- 8 Reliability, Availability, SMART, Tactics
Here is the paper about reliability block diagrams
- 9 Security Concept and Tactics
- Guest Lecture Anders Alminger (Volvo Cars)
- 10 Security and Architecture Evaluation
Reading: Chapter 21 from BCK and this nice paper about industrial experiences
- 11 Reverse Architecting, Visualisation and Architecture <-> Implementation Correspondence
Reading: Chapter 20 from BCK
Assignments
- Assignment 1 part 1: tasks for design
- Assignment 1 part 2: tasks for implementation
- Peer review of Assignment 1 (individual) (due 11 Feb 20:00)
-
Assignment 2 text (due 2nd of March 2020, 20:00)
Instructions for Assignment 2.
Course literature
- Main textbook is:
- Software Architecture in Practice, 3rd Edition, Bass, P. Clements, R. Kazman, SEI Series in Software Engineering, Addison-Wesley, 2012
- Abd-Allah, A., 1997. Extending reliability block diagrams to software architectures. System, 97(80), p.93.
- Spitznagel, Bridget, and David Garlan. "Architecture-based performance analysis." Proceedings of the 1998 Conference on Software Engineering and Knowledge Engineering. 1998.
- Role Steretypes in Software Design Characterizing Classes by Rebecca Wirfs-Brock
Background reading:
Course design
The main source of knowledge transfer for this course are the lectures and assignments.
The lectures will discuss topics from the book - but generally, extend beyond the contents of the book.
There will be two types assignments (explained below).
- lectures: take place mostly twice a week - see schedule. Lecture slides will be uploaded on Canvas after the lecture.
-
assignments/exercises: there will be 2 types of assignments: one type for getting practical experience with implementing architectural styles and the other type is for practising architectural design. For the latter, we will work with 'cases'. Students will be asked to review and provide feedback on the assignments of assignments by their peer students.
Assignments will be uploaded on Canvas. -
laboratory/supervision: on the sessions that are scheduled on Wednesdays, TA's will be around to answer questions and guide the students on their assignments. This is also where students will get feedback on both types of assignments.
Missing a deadline: means a 'fail' for the assignment.
Changes made since the last occasion
- introduce advanced topics (differentiating MSc from BSc) in separate lectures.
- introduce new assignments: case-studies for design and implementation-project.
Learning objectives and syllabus
Learning objectives:
- Understand the role and applicability of methods for designing and 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 UML, 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.
Link to the syllabus at Chalmers Study plan
Link to the syllabus at GU https://kursplaner.gu.se/pdf/kurs/en/dit544
Examination form
Description of the examination:
- Components of the examination:
- written hall exam: this tests i) your understanding of basic concepts and definitions,
ii) the student's ability to apply architectural reasoning and architecture design to (simplified) case studies.
- Design Assignments: assess skills in designing and modeling of architecures
- Implementation Assignment: assess skills for translating (high level/architectural) concepts to implementation level (source code) concepts - in both directions. - It is compulsory to hand in all assignments. All assignments must be a pass.
If an assignment is not passed, then the student will get one grace period of a week to update his assignment and hand this revision in. There will be no option for a second revision as part of this course.
- aids permitted during examinations: dictionary and ruler. Please write exam with a pen (not a pencil). Pencils are allowed for drawing diagrams during the exam.
Course summary:
Date | Details | Due |
---|---|---|