Official course description:

Full info last published 15/11-23
Course info
Language:
English
ECTS points:
7.5
Course code:
KSSOARC2KU
Participants max:
50
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Computer Science
Staff
Course manager
Associate Professor
Teacher
Part-time Lecturer
Course semester
Semester
Forår 2024
Start
29 January 2024
End
23 August 2024
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract
The design, development, and implementation of a software system requires the evaluation of several, often conflicting, aspects of the system and mastery of multiple tools and techniques. The aim of this course is to provide you with knowledge on how to design the architecture of  software systems in a structured and systematic way that addresses the required functionality and supports the necessary system qualities. This requires a technical toolbox with concepts, methods, and principles to support the software design, implementation, and evaluation as much as a wider understanding of the context and domain of the system. Beyond the design of software architecture you will also learn about the tools and approaches that are used in recovering the architecture of a system by the analysis of its source code and version control information.
Description

The design, development, and implementation of software system requires the evaluation of several, often conflicting, aspects of the system and mastery of multiple tools and techniques.

Successful students will acquire knowledge on how to design software systems from scratch in a structured and systematic way that addresses the required functionality and supports the necessary system qualities. Furthermore, they will be able to disseminate the architectural design as much as evaluate existing designs.

The students will also learn techniques and practices used for analyzing source code and related artifacts in order to recover the architecture of existing systems. In particular they will learn about data mining the meta-data present in version control repositories and programatically analyzing the source code of software systems.

Formal prerequisites
The student should have attended and passed an introductory course in software development.
Intended learning outcomes

After the course, the student should be able to:

  • Drive a software design process in a systematic and structured manner.
  • Represent functionality and system qualities in an implementation by identifying how to make important decisions.
  • Conduct architectural prototyping experiments.
  • Recognize and apply architectural patterns and tactics.
  • Evaluate an architectural design.
  • Extract the architectural design of an existing system.
  • Analyze and adapt the software design approach to support iterative and agile development
  • Evaluate the appropriateness of a given architecture recovery techinque for a given scenario
Learning activities

Lectures, individual assignments and group-based project work.

Mandatory activities
In order for a course participant to be approved to participate in the final exam, he/she is required to have:
  •  Held at least one presentation of their work.  A part of the deliverables (group and individual) have to be presented in the classroom either as group or as individual presentations.
  •  Have provided constructive feedback in the work of another group in the form of report review. Each of the course participants will have to review the report of another group and provide constructive feedback. Please note that the review of a report is only used as feedback offered from student to student and by no means affects the official assessment of the report or the participant´s grade. The same applies to the presentation.
In case of re-exam, if not completed already, the course participants will have to complete a review and a presentation of their work. The presentation will be held before the re-examination.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course literature is published in the course page in LearnIT.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 15%
  • Lectures: 13%
  • Exercises: 13%
  • Assignments: 35%
  • Project work, supervision included: 12%
  • Exam with preparation: 12%
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.
Exam submission description:
The student must:
- Submit the project report (as a group) The project report is the architectural description of the designed system. It serves as a documentation of the architectural design work and follows the methods applied in the course. The architectural description is submitted as a group and also contain sections of individual work (explicitly stated) where e.g. one member of the group has conducted an architectural reconstruction analysis. These sections are the individual assignment explained bellow.
- Submit at least one optional assignment (individual) The optional assignments are individual and submitted as part of the project report (group report) in a separate section/chapter where stated clearly the name of the student and subject of the assignment. Further information will be given during the course.

The oral exam is 30 minutes. The exam includes (a) a joint presentation of the deliverable as a group (10 minutes) and (b) an individual oral examination of each student based on the course curriculum (20 minutes incl. voting). The student assessment is based on the oral examination ((a) and (b) above) and takes weight on the deliverable (project report & individual assignment).
Group submission:
Group and individual
  • Group size: 2-5 students.
Exam duration per student for the oral exam:
30 minutes
Group exam form:
Mixed exam 2 : Joint student presentation followed by an individual dialogue. The group makes their presentations together and afterwards the students participate in the dialogue individually while the rest of the group is outside the room.


reexam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D22: Submission with following oral exam supplemented by the submission.
Exam duration per student for the oral exam:
30 minutes

Time and date
Ordinary Exam - submission Fri, 31 May 2024, 08:00 - 14:00
Ordinary Exam Mon, 24 June 2024, 09:00 - 21:00
Ordinary Exam Tue, 25 June 2024, 09:00 - 21:00
Ordinary Exam Wed, 26 June 2024, 09:00 - 21:00
Ordinary Exam Thu, 27 June 2024, 09:00 - 21:00
Reexam - submission Wed, 24 July 2024, 08:00 - 14:00
Reexam Thu, 22 Aug 2024, 09:00 - 17:00