Spring 2025_CS603_2
Spring 2025_CS603_2
02 Total Marks: 20
Semester: Spring 2025
Software Architecture and Design - (CS603) Due Date: 30/06/2025
Instructions:
The purpose of this assignment is to give your hands-on practice. It is expected that students will solve the assignment
themselves. The following rules will apply during the evaluation of the assignment.
Assignment should be a word file (.doc or .docx) any other file type is not allowed.
You should submit your assignment before or on the due date through VULMS.
Your assignment should be your own work in your own words.
Cheating from any source like Internet, handouts, ChatGPT or books will result in zero marks in the assignment.
Assignments sent via email will not be replied to and accepted.
If the submitted assignment does not open or the file is corrupt, it will not be marked and hence awarded zero marks.
Question No 1: Marks: 20
You are tasked with designing a web application for a healthcare appointment system using the MVC (Model-
View-Controller) architectural pattern. The system provides a platform for patients and healthcare administrators
to perform their respective tasks. Patients can securely log in using their credentials to view available doctors,
book appointments, check appointment history, and cancel bookings. When booking an appointment, a patient
must select a doctor, choose a date and time, and optionally add symptoms or concerns in a note. The system
validates the input (e.g., slot availability, patient eligibility), books the appointment through a secure backend
service, and then displays a success or error message accordingly. Healthcare administrators use the platform to
monitor bookings, update doctor schedules, and manage patient records. To ensure scalability and
maintainability, the application is designed to strictly follow the MVC architectural pattern.
Based on the above scenario you have to answer the following questions.
a) Draw a sequence diagram to depict the flow of interactions when a patient books an appointment with a
doctor.
b) In the given context, which SOLID design principle helps avoid forcing components like patient
interfaces or controllers to implement or depend on methods meant exclusively for administrators, by
promoting the use of role-specific, minimal interfaces thereby reducing unnecessary dependencies?
c) In the context of the MVC-based healthcare appointment system, which component is primarily
responsible for coordinating user actions, such as handling appointment booking requests, validating
input before passing it to the business layer, and directing the flow between the user interface and
backend services?
d) In this scenario, if the Controller component tries to directly update the View after processing the
appointment booking, is it acceptable? Justify your response in one line.
e) If the system design ensures that each component focuses on a well-defined, specific set of related
responsibilities to improve clarity, maintainability, and internal consistency, what design quality is being
prioritized? Justify in one line.