A2: Decomposition Practice #
Deadline: (updated) Feb 13, 11:59pm Eastern Time
Requirements #
Select one of the following software systems (hypothetical or your project), and write a short report on how you would decompose the system.
Your report should be a PDF document. Formatting requirements: 1–2 pages (including the figures, but excluding acknowledgements and references); letter size; main text font size should be at least 11pt.
The report should include the following parts:
- Draw a component diagram, illustrating the subsystems, components, and their topology in your designed decomposition.
- Elaborate on your design decisions: What principles have you followed? What are some trade-offs you have considered?
- Draw a sequence diagram for one of the non-trivial dynamic behaviors in the system.
Option 1: CloudDocs #
CloudDocs is a collaborative document editing system. The system should allow multiple users to view and edit the same document simultaneously, while maintaining a consistent state of documents across all clients. The system should track editing history and resolve conflicts when users edit the same section. Additionally, when the user’s internet connection is lost, it should allow offline editing with synchronization upon reconnection.
Option 2: WatBooking #
You are developing a room booking system for the University of Waterloo. The system shall allow UWaterloo students, faculty, and staff to create and manage bookings for rooms around the campus using a website. The system shall provide a means for building administrators to set which rooms are available at what time ranges. Booking large rooms (e.g., classrooms that can hold more than 20 people) will require approval from the administrators, but booking small rooms does not.
Option 3: Your project #
You can also complete this assignment based on the mobile app in the team project. If you choose this option:
- This is still an individual assignment, so even if multiple teammates choose this option, each person should submit a separate report.
- You may collaborate on this assignment with your teammates, and:
- multiple teammates may use the same component diagram;
- each teammate should write the elaboration part separately, using their own words;
- each teammate should select a different behavior for the sequence diagram.
Submission #
Submit the PDF on Learn > Submit > Dropbox > A2: Decomposition Practice.