SDA Project
SDA Project
Rawalpindi
CCP
Submitted by:
Itrat Fatima…..(RCF-30156)
Aiman Ishtiaq…..(RCF-30185)
Muhammad Usman…..(RCF-30147)
This Software Design Description (SDD) provides a comprehensive overview of the design
architecture for the Online Healthcare Management System. The document is intended to
guide the development team in translating the Software Requirements Specification (SRS)
into a structured and organized implementation.
Present a clear and complete design blueprint for all major components of the system.
Ensure that every module aligns with the system’s functional and non-functional
requirements.
Serve as a communication bridge between stakeholders, developers, testers, and
project managers.
Establish a standard reference for maintaining consistency throughout the
development process.
Minimize ambiguity during implementation by defining data flows, interactions,
interfaces, and dependencies.
This SDD ensures that all technical stakeholders have a common understanding of the
system’s internal workings, thereby enabling a smooth transition from planning to execution.
2. Scope of the System:
Core Functionalities:
Out-of-Scope:
This scope defines the operational boundaries of the system and ensures that the project stays
focused and manageable in its initial release.
3. Intended Audience:
This document is intended for all technical and managerial personnel involved in the design,
development, deployment, and evaluation of the Online Healthcare Management System.
Having a detailed SDD helps each of these groups collaborate effectively and deliver a
product that meets expectations.
4. Overall Architecture:
The Online Healthcare Management System will be developed using the Model-View-
Controller (MVC) architectural pattern. This pattern ensures clear separation of concerns,
allowing independent development, testing, and scaling of different components.
Model:
Manages the data, logic, and rules of the application. Includes database schemas,
patient records, doctor profiles, and billing data.
View:
Represents the user interface (UI) that displays data to users and captures their inputs.
Developed using responsive front-end technologies like HTML5, CSS3, JavaScript
(React.js/Bootstrap).
Controller:
Handles user input, communicates with models, and updates the view. Responsible
for processing business logic and request routing.
2. Patient Module
3. Doctor Module
5. EMR Module
7. Admin Module
The sequence diagram for the Online Healthcare Management System illustrates the process
of booking an appointment by a patient. First, the patient logs into the system, which sends
the credentials to the authentication controller for verification against the database. Upon
successful login, the patient searches for available doctors based on criteria like specialization
or date, and the system retrieves matching results from the database through the doctor
service. Once a doctor and time slot are selected, the system sends the booking request to the
appointment controller, which forwards it to the appointment service for validation. The
appointment service checks slot availability in the database, saves the appointment if
available, and optionally triggers a notification service to send a confirmation message.
Finally, the confirmation is sent back through the controller to the system, and the
appointment is added to the doctor's schedule, which the doctor can later view through their
own dashboard.
1. Patient registration:
2. Appointment booking:
The Deployment Diagram for the Online Healthcare Management System illustrates the
physical distribution of hardware nodes and software components required for secure,
scalable, and efficient system operation. The client-side includes patient devices
(laptops/smartphones), doctor devices (laptops/tablets), and admin desktops, all running the
frontend web or mobile application. These clients communicate with a cloud-based web
server, which connects to an application server hosting backend services like user
management, appointment scheduling, medical records, and billing. An authentication server
(such as AWS Cognito or Firebase Auth) handles secure login and role-based access. The
database server stores all critical data, including user profiles, appointments, and health
records, using a relational database system. The architecture also integrates with external
APIs for services like lab systems or payment gateways. To ensure reliability and
performance, the deployment supports HTTPS communication, OAuth2 authentication,
encrypted data storage, load balancing, and auto-scaling across cloud platforms like AWS,
GCP, or Azure, with optional hybrid or on-premise configurations for regulatory compliance.
The Class Diagram for the Online Healthcare Management System models the structure and
relationships between the key entities involved in the system. At the core is the User class,
which includes attributes like userId, name, email, and phone, along with a method LogIn().
Inheritance is used where Patient, Doctor, and Admin classes extend from the User class,
adding their specific properties and behaviors. The Patient class includes a medicalHistory
attribute and methods such as BookAppointment() and CancelAppointment(). The Doctor
class contains specialization, a list of availableSlots, and a method to viewAppointments().
The Admin class manages system operations through methods like manageUsers(),
manageDoctors(), and generateReports(). The Appointment class holds details like
appointmentId, date, status, and links to the Patient, Doctor, and a TimeSlot, showing
associations. The TimeSlot class defines startTime, endTime, and a method isBooked() to
check availability. Lastly, the Report class is used to store appointment-related information,
with attributes such as reportId, generatedDate, and content. The diagram effectively
represents object-oriented relationships, such as inheritance and associations, supporting
system scalability, modularity, and ease of maintenance.
Conclusion:
The UML diagrams provide a clear and structured overview of the Online Healthcare
Management System. The Use Case Diagram outlines user interactions, while the Class
Diagram defines system entities and their relationships. The State Diagram shows dynamic
changes during processes like registration and booking, and the Sequence Diagram
illustrates the flow of interactions between users and the system. The Component Diagram
breaks the system into manageable modules, and the Deployment Diagram presents the
physical setup and cloud infrastructure. Together, these diagrams form a solid foundation for
designing, developing, and deploying a reliable healthcare management solution.
____________________________