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 18th, 23:59.
    2. Group registration via email to the course staff. Deadline: January 27th, 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: Bettina Schillinger (bettina.schillinger@aalto.fi), Mala Devi Selvarathinam (mala.selvarathinam@aalto.fi), Abdullah Gunay (abdullah.gunay@aalto.fi), Ruiyang Ding (ruiyang.ding@aalto.fi), Pekka Toiminen (pekka.toiminen@aalto.fi)

    Schedule, material tasks, etc.

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

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