Topic outline

  • How to design a software architecture that meets the needs of its stakeholders? How to bridge the gap between needs and implementation? How to create a sustainable and sound solution? How to mitigate the risks in your software project? These are the essential questions in this course.

    The course focuses on these tasks:

    1. Analyze the architecturally significant requirements and scenarios based on the stakeholder concerns for an open-ended, complex problem
    2. Design a high-level software architecture that tries to address the architecturally significant requirements and scenarios; the design is created iteratively and as teamwork.
    3. Model and document the design and design decisions using multiple views and viewpoints in a consistent fashion
    4. Evaluate whether the proposed high-level architecture design addresses the architecturally significant requirements and scenarios
    5. Link theoretical concepts from the course lectures and additional materials with the case provided in the project exercise
    6. Reflect on the challenges and difficulties during the project, the decisions are taken to solve them and any potential trade-offs of such decisions
    7. Analyze, relate and present orally all aforementioned points

    The course revolves around an iterative group exercise. During this project, you will apply all steps listed above: You analyze, design, model, document and evaluate. Hence, you will learn by doing, and the course content has been designed to help you in this task. At the same time, you are able to learn the generic concepts and principles behind this task.

    Practical matters

    The registration for this course happens in two phases:

    1. Course registration (individual) via WebOodi. Deadline: January 17th, 23:59.
    2. Group registration via email to the course staff. Deadline: January 26th, 14:00.

    The course has no final written exam. Instead, the individual weekly learning tasks and the group project are evaluated. The latter comprises partial deliverables, a mid-term presentation and an oral exam that includes a discussion about the final report.

    The course is given completely online. See Communication for details (only registered students).

    Teacher, general questions about lecture contents or course practicalities: Senior Lecturer Fabian Fagerholm (fabian.fagerholm@aalto.fi)

    Questions related to the project case: José Camposano (jose.camposanomorla@aalto.fi)

    Questions related to the supervision of learning diaries: Ashok Dhungana (ashok.dhungana@aalto.fi), Ava Heinonen (ava.heinonen@aalto.fi), Boshu Zhang (boshu.zhang@aalto.fi), Buket Karakas (buket.karakas@aalto.fi), Carmen-Gabriela Popa (carmen.popa@aalto.fi), Tuomas Salminen (tuomas.t.salminen@aalto.fi)

    Schedule, material tasks, etc.

    The following contents can be accessed through the left-side navigation menu:

    • Schedule and tasks : Summary of the course timeline, with links to the respective learning diaries for each lecture session
    • Communication : Summary of the tools and channels used for the online implementation of this course
    • Course project : Description and submission box for each activity of the project
    • Individual learning tasks : Links to the submission boxes for the individual assignments
    • Materials : Lecture slides and additional reading materials
    • Frequently Asked Questions (FAQs) : About the course practicalities or group project

    Lecture slides, videos and other materials will be added gradually as the course progresses.