Topic outline

  • How to design a software architecture that meets the needs of its stakeholders? How to bridge the gap between the 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 a team work.
    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 about the challenges and difficulties during the project, the decisions 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 analyzedesignmodeldocument 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 14th, 23:59. 
    2. Group registration via email to course staff. Deadline: January 30th, 23:59.

    The course has no final 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 discussion about the final report.

    Teacher: Prof. Marjo Kauppinen (marjo.kauppinen@aalto.fi) and Prof. Tomi Männistö (tomi.mannisto@helsinki.fi)

    Course project supervision: José Camposano (jose.camposanomorla@aalto.fi) and Filippo Vimini (filippo.vimini@aalto.fi)

    Supervision of weekly learning diaries: Anar Bazarhanova (anar.bazarhanova@aalto.fi)


    Deadlines

    30.1. Group registration

    13.2. Architectural analysis

    6.3. Functional design, mid-term presentation slides

    20.3. Full design

    27.3. Peer reviewSelf review

    3.4. Architecture evaluation

    24.4. Final report

    8.5. - 13.5. Project review sessions (group discussions)


    Schedule, material tasks, etc.

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

    Materials will be added gradually as the course progresses.