NATIONAL UNIVERSITY OF MODERN LANGUAGES
DEPARTMENT OF SOFTWARE ENGINEERING
Course Title: Software Design & Architecture
Semester: Bsse-3
Instructor: Ms. Laraib Zarnab
Submission Deadline: 16th May 2025
SOFTWARE DESIGN & ARCHITECTURE DOCUMENT
Healthcare Appointment
Booking System
SUBMITTED BY:
RCF-30146 ZARA NAEEM
RCF-30149 SAMAN SHARIF
RCF-30168 SOBIA QUDOOS
Introduction
Purpose of the Document:
The purpose of this Software Design Description (SDD) is to provide a detailed and
comprehensive design blueprint for the Healthcare Appointment Booking System. This
document defines the system’s architectural structure, software components, interfaces, data
models, and interaction flows necessary to guide the development process. It ensures that all
stakeholders including developers, testers, project managers, and healthcare administrators have
a unified understanding of how the system will be built to meet the specified requirements.
This SDD serves as a critical link between the Software Requirements Specification (SRS) and
the actual implementation of the system. It translates functional and non-functional requirements
into a structured technical design, enabling developers to implement features in a consistent,
scalable, and maintainable way. By clearly documenting the design decisions and architectural
solutions, the SDD supports effective communication among team members and reduces
ambiguity, thereby facilitating a smoother transition from planning to coding and deployment
phases.
Scope of the System:
The Healthcare Appointment Booking System is designed to streamline the process of
scheduling, managing, and tracking medical appointments between patients and healthcare
providers. The system will serve as a centralized, web-based platform that enables patients to
view available time slots, book or cancel appointments, receive automated notifications, and
manage their booking history. Healthcare providers will be able to manage their availability,
view upcoming appointments, and access patient information relevant to scheduled visits.
1. System Will Include:
Patient registration and authentication
Viewing and selecting available appointment slots
Booking, rescheduling, and canceling appointments
Email/SMS notifications and reminders
Admin portal for managing users, schedules, and system settings
2. System Will Not Include:
Direct diagnosis, treatment, or clinical decision support
Full Electronic Health Record (EHR) functionality
Payment processing or billing features
Real-time video consultation or telehealth integration (unless specified in future versions)
Intended Audience:
This Software Design Document (SDD) is intended for a range of stakeholders involved in the
development, implementation, and oversight of the Healthcare Appointment Booking System.
Each audience group will utilize the document for different purposes throughout the software
development lifecycle:
Developers:
Developers will use this document as a blueprint for writing and structuring code. It
provides detailed architectural and component-level design, interface specifications, and
data flow descriptions that guide implementation in alignment with requirements.
Testers:
Tester teams will refer to the SDD to understand system behavior, component
interactions, and data processing logic. This enables the creation of accurate test cases,
identification of edge cases, and validation of system functionality against design
specifications.
Project Managers:
Project managers will use the SDD to assess the feasibility, complexity, and scope of the
system. It helps in resource planning, task allocation, scheduling, and risk management
throughout the development cycle.
System Architects:
Architects and leads will benefit from the high-level system structure, integration points,
and rationale behind design decisions. This helps ensure technical consistency and
scalability of the system.
Stakeholders (e.g., Healthcare Providers, Administrators):
Non-technical stakeholders can review the SDD to understand the system’s capabilities,
limitations, and how it meets business and operational needs. It supports informed
decision-making and feedback on the system's alignment with organizational goals.
Overall Architecture:
The Healthcare Appointment Booking System uses a layered architecture combined with the
Model-View-Controller (MVC) pattern to ensure separation of concerns and maintainability.
Presentation Layer (View): Handles user interfaces for patients, providers, and admins.
Controller Layer: Manages request routing and user interactions.
Business Logic Layer (Model/Service): Processes appointment scheduling, validation,
and notifications.
Data Access Layer: Interacts with the database to manage user and appointment data.
Main Modules & Interactions:
User Management: Registration, login, and role-based access.
Appointment Scheduling: Book, reschedule, and cancel appointments.
Notifications: Sends email/SMS confirmations and reminders.
Admin Dashboard: Controls users, schedules, and reports.
Database Module: Stores users, appointments, and logs.
Use Case Diagrams
A use case is a description of how a user interacts with a system to achieve a specific goal. It
outlines the steps the user takes and the system's responses to those actions. Use cases help
define system requirements and guide the design and testing process.
User Classes and Characteristics:
Patients: Individuals booking appointments; varied technical expertise.
Healthcare Providers: Doctors, nurses, and staff managing appointments; moderate
technical expertise.
Administrators: Staff responsible for system configuration and user management;
high technical expertise.
Support Staff: Help desk personnel assisting users; moderate technical expertise.
Class Diagrams
The class diagram for the Healthcare Appointment Booking System includes the following
key classes:
Patient: Books, reschedules, or cancels appointments and views appointment history.
Doctor: Sets availability, views appointments, and manages patient appointments.
Manager: Oversees appointment schedules, resolves conflicts, and ensures smooth
operations.
Admin: Manages user accounts, configures system settings, and generates reports.
Bill: Handles billing, payment processing, and financial reports for appointments.
Relationships:
Patient - Doctor: A Patient books appointments with a Doctor, and a Doctor manages
multiple Patients.
Patient - Bill: A Patient is linked to a Bill for each appointment.
Doctor - Bill: A Doctor's services are associated with a Bill for payment.
Manager - Patient/Doctor: A Manager oversees Patient and Doctor schedules.
Admin - All Roles: The Admin manages all users (Patient, Doctor, Manager) and system
settings.
Bill - Admin: The Admin oversees the processing and reports of Bills.
State Diagram
The state diagram for the Healthcare Appointment Booking System shows how the system
responds to key user actions like logging in, booking, rescheduling, and canceling
appointments. It starts from the Logged Out state, moves to Logged In after successful
authentication, and then allows the user to view slots, book appointments (Appointment
Booked), reschedule (Appointment Updated), or cancel (Cancelled). Each state represents
a step in the user's journey, with transitions triggered by actions like login, book, reschedule,
or cancel.
Deployment Diagram
The Deployment Diagram for the Healthcare Appointment Booking System shows how the
software components are physically deployed across hardware nodes, using a client-server
model with cloud or on-premise infrastructure. It helps visualize where each part of the system
runs and how they communicate.
Component Diagram
The Component Diagram of the Healthcare Appointment Booking System shows
how the system is divided into logical parts. The User Interface connects users to the system
and interacts with Appointment Management, User Management, and Billing components.
These components access the Database to store and retrieve data.
Sequence Diagram
A sequence diagram in the Healthcare Appointment Booking System visually represents the
step-by-step interaction between a patient, user interface, backend services, database, and
notification system. It shows how a patient requests and books an appointment, how the system
retrieves availability from the database, confirms the booking, and sends a notification. The
diagram follows the order of operations from top to bottom, making the flow easy to understand.
3. Doctor-Patient Examination:
4. Doctor visit and check patient: