CS-E4950 - Software Architectures D, 13.01.2021-30.04.2021
This course space end date is set to 30.04.2021 Search Courses: CS-E4950
Topic outline
-
Goal of the project
The general purpose of the group work is to support learning by doing since you will analyze, design, model, document, evaluate and present. You should use the exercise as a means to discuss the theoretical concepts explained during the lectures and apply them in the context of a real company case.
Project topic
All groups are assigned the same case study for the exercise. Since the case describes a broad open-ended challenge, there is not a single best solution but rather many different approaches you can follow. The problem description document will be published at the beginning of the course and explained in the 2nd lecture.
Project activities
The group exercise is iterative and incremental. Each activity adds new sections to the same project document and therefore, the final report will be the cumulative result of your architecture analysis, design and evaluation. You are free (and encouraged) to modify your report throughout the course. The project work will be assessed as follows:
- A mid-term presentation (includes architectural analysis and design up to the functional view)
- Peer feedback given to other group's partial submissions
- Peer feedback given to other group's completed project
- The final project report
- A brief discussion (oral exam) about the final project report, graded individually
The resulting report should integrate both the individual work and group work into a seamless final deliverable, which communicates the overall team results in a consistent and concise way. Therefore, splitting the work between team members and then simply copy-pasting the parts without reviewing them together will produce poor results. Make sure everybody in your group shares the same understanding of your architecture and that the report reflects this common understanding. Any team member should be equally capable of explaining it to an audience of "project stakeholders".
The project work should be primarily done in group meetings. These sessions serve to discuss the concepts and principles from the lectures or the additional materials and apply them in the case exercise. It is highly advised that you agree on a weekly online meeting with an approx. duration of 2-3 hours.
Deliverables
As the main written deliverable, you will build one integrated software architecture document that describes the iterative and cumulative results of architectural analysis, design and evaluation. Therefore, you should always include all previously returned documentation on each phase. You are free to make updates and improvements to the previous parts of the documentation. Please include at the end of the document a change log section, where you specify if (and how) the content of previous deliverables was modified.
For all deliverables, you can assume that the audience has the background of a typical computer science student. The deliverables and presentations must be done in English.
The formatting of the written deliverables is up to you. However, please make sure to include always the following information in the documents:
- Group name clearly visible
- Table of contents
- Cumulative estimation of the hours spent per each deliverable and group member. In particular, specify how many hours were spent for group meetings and how many hours were spent for individual work. These estimates help the course staff assess the course workload and are not used in the grading (unless there are very significant differences in the number of work hours between the team members)
- Change log indicating any updates of previous deliverables. You can optionally highlight the most significant changes throughout your document
The length of the final version of the document should not exceed 40 pages max., including all figures, table of contents, and change log.
Mid-term presentation
There is a presentation halfway through the project, which gives you the opportunity to give and receive feedback from other students. The slides must be uploaded to MyCourses by the same presentation date. At least one person per team must present the project work, but is it strongly recommended that the whole team is available to support during the Q&A. The whole group gets the same grade, based on the contents and quality of the presentation.
Oral exam
In the discussion session (oral exam), we will ask questions about the theoretical concepts in the course and about your project. Each group must reserve ONE timeslot for all teammates using the scheduler tool that will be enabled later on MyCourses. A forum announcement will be posted when timeslots can be booked. During the oral exam, the questions will be directed to individual students and the grade is individual. However, teammates can support if needed. Please make sure that you have a quiet environment and that your sound and video settings are working.Group registration FAQs
Q: How to register your group?
A: The exercise will be done in groups of 4-5 students. You must use the group selection tool below (available from week 1-3) to register your team. After registering your group in MyCourses, please choose a suitable team name and send José Carlos (jose.camposanomorla@aalto.fi) a confirmation email, to make sure everyone has agreed on the team composition:--
To: jose.camposanomorla@aalto.fi
cc: <all your team mates>
Subject: CS-E4950 - Group confirmation
Content:
<group name>
<list of group members>
--
Q: Can I have a group with less than 4 (or more than 5) team members? What should I do if I cannot find other teammates?
A: Groups must have either 4 or 5 people, without exceptions. It is responsibility of each student to find a team. If you need to recruit more team members, you can use the Zulip chat or the course forums to introduce yourself and explain your teammate requirements. The course staff can also decide to assign students to teams who have not been able to get at least 4 members by the registration deadline.
-
0 - Project case description File PDF
-
1 - Understanding the context File PDF
Due on 10.02.2021
-
2 - Architectural analysis File PDF
Due on 10.02.2021
-
2.1 - Guide: How to do architectural analysis? File PDF
-
2 - Architectural analysis - Peer review Assignment
Grades for the peer review feedback submitted via Peergrade. No need to upload files here.
-
3 - Functional design File PDF
Due on 03.03.2021
-
3 - Functional design (Upload your mid-term presentation slides here) Assignment
Due on 03.03.2021
-
3 - Functional design - Peer review Assignment
Grades for the peer review feedback submitted via Google Form. No need to upload files here.
-
4 - Full design File PDF
Due on 17.03.2021
-
4 - Full design (Upload your document and models here) Assignment
Due on 17.03.2021
-
4 - Full design - Peer review Assignment
Grades for the peer review feedback submitted via Google Form. No need to upload files here.
-
5 - Architecture evaluation File PDF
Due on 31.03.2021
-
5 - Architecture evaluation (Upload your document and models here) Assignment
Due on 31.03.2021 14:00 EEST
-
6 - Peer review File PDF
Due on Thursday 08.04.2021 14:00 EEST (original deadline extended 1 day due to Easter break).
-
6 - Peer review (Upload your review summary here) Assignment
Due on Thursday 08.04.2021 14:00 EEST (original deadline extended 1 day due to Easter break).
-
7 - Final report (Checklist) File PDF
Grading criteria for the final written report
-
7 - Final report (Upload your document and models here) Assignment
Due on 14.04.2021 14:00 EEST
-
8 - Oral exam (Scheduler)
-
8 - Oral exam (Instructions) File PDF
Technical setup instructions and grading criteria for the oral exams