Course syllabus
Course-PM
DAT360 / DIT344 Software Architecture lp1 HT19 (7.5 hp)
Course is offered by the department of Computer Science and Engineering
Contact details
- examiner & lecturer:
Prof. Dr. Michel R.V. Chaudron, chaudron@chalmers.se
Office: Jupiter Building on Lindholmen Campus, 4th floor, room 472 - Teaching Assistants:
- Majed Dalain gusdalaima@student.gu.se
- Terese Besker <besker@chalmers.se>
Course purpose
The main purpose of this course is to teach the basic knowledge from the area of software architecture: students should be familiar with the main concepts/definitions and have basic skills in designing and analysing software architectures.
Schedule
Assignments
-
Case 1: Ride and Go (=Assignment 1) & Case 1: Tasks (= Assignment 2)
Feedback on Assignment 1 (part 1 and 2) - Assignment 3: Case Description and Tasks
Course literature
The main reference for this course is this book:
-
[BCK3-2012]:
Software Architecture in Practice (3rd Edition) (SEI Series in Software Engineering)by Len Bass, Paul Clements, Rick Kazman
Publisher: Addison-Wesley, 2012
Website for the book: https://sites.google.com/site/softwarearchitectureinpractice/
Further reading
- Here is an example of an industrial software architecture document: HP_architecture_template_v13_withexamples.pdf
Other texts will be supplied during the course.
Here is another nice book. I esp. recommend Chapter 10 which illustrates some deployment tactics:
Course design
For the main concepts/definitions: these are discuss and explained during the lectures and read in the corresponding chapters of the BCK-book.
Students are recommended to read the chapter of the topic of upcoming lecture before the actual lecture.
Lectures:
The lectures will consist of the following series of lectures:
-
- L1: Introduction and Organization
- L2: Architecting Process and Architecture Views
- L3: Requirements and Quality Attributes
- L4: Functional Decomposition and Architectural Styles (1)
- L5: Architectural Styles (2) Blackboard
- L6: Architectural Styles - part 3 PubSub and Layering - 2019.pptx
- L7: guest lecture (e.g. Social and Cognitive aspects of Architecting) by Rodi Jolak
- L8: Technical Debt
- L9: Design Principles
- Supervision: Deployment Diagrams
- L10: Architecture Evaluation
- L11: Tactics, Reverse Engineering & Software Visualisation
- L12: Industrial guest lecture by Volvo Trucks.
The schedule of the lectures follows the slots in TimeEdit. In case of (unforeseen) unavailability of the lecturer, the lectures will be shifted.
Exercises:
Several exercises will be handed out throughout the course. These exercises will typically have a deadline of 10-14 days. If you fail an exercise, students will get feedback and another time-period for improving the assignment.
Slides of the lectures will be posted on Canvas.
Students are expected to bring their laptop to the practical sessions. They should install some UML-modelling tool (e.g. Visual Paradigm) or use on online UML modelling tool.
Changes made since the last occasion
Updates on slides and new assignments.
Learning objectives and syllabus
Learning objectives:
Knowledge and understanding
- describe the role of an architect in a software development project, and what may be expected from such a person
- explain common quality requirements, such as performance, security, and modifiability
- describe different architectural styles and how they relate to specific quality properties of the architecture
Competence and skills
- document architectures using established methods
- solicit requirements from stakeholders and describe these as quality requirements
- express quality requirements using quality scenarios
- create an architectural design of a system based on a case description in natural language
Judgement and approach
- reason about how different architectural styles, tactics or design alternatives meet the quality goals of a system
Link to the syllabus Chalmers.
Link to the syllabus GU.
Examination form
The examination of the course consists of:
- a written hall-exam: this exam will test both theory, understanding and design skills
Here is an example of an old exam. New exams may differ. - a collection of assignments: these focus on analysis and design. These assignments can be done in small groups.
During the practical sessions that are scheduled throughout the course, students can work scheduled workspace for course in the Patricia building (Lindholmen campus). During these sessions, TA's will be present to answer questions and coach the students.
Moreover, TA's can often be reached via digital communications (e-mail, Slack, ...) for answering simple questions.
Include:
- assignments are compulsory and contribute to the final grade
- both written exam and assignments must have a pass grade in order to pass the entire course.
- aids permitted during examinations: dictionary.
What happens at missed deadlines: TA's and lecturers should be notified upfront in case student miss a deadline.
Course summary:
Date | Details | Due |
---|---|---|