College of Business and Economics
ADDIS ABABA UNIVERSITY SCHOOL OF COMMERCE
Business Administration and information System
Hospital Appointment Management System for Zewditu Memorial Hospital
Software design specification
Group 7
Prepared by:
[Link] Yaekob
[Link] Habtay
[Link] Mekonen
[Link] Tadesse
5. Trsit Akalu
[Link] Terefe
Advisor: Aderaw Semma
Date: December 18, 2025
Table of content
List of tables................................................................................................................................
List of figures.................................................................................................................................
Acronym ..........................................................................................................................................
[Link] ............................................................................................................................
Purpose .............................................................................................................................................
Overview..................................................................................................................................
Developmen methodst and contingencies......................................................................................
[Link] Architecture .........................................................................................................................
2.1 subsystem decomposition ............................................................................................................
2.2 Hardware and Software mapping.....................................................................................................
[Link] model..................................................................................................................................
3.1 Class diagram ..................................................................................................................................
3.2 Sequence diagram ...........................................................................................................................
3.3 Detailed design..................................................................................................................................
References ..................................................................................................................................
List of tables
Table 1 Patient class
Table 2 Attribute description for Patient class
Table 3 Operation description for Patient class
Table 4 Doctor class
Table 5 Attribute description for Doctor class
Table 6 Operation description for Doctor class
Table 7 Appointment class
Table 8 Attribute description for Appointment class
Table 9 Operation description for Appointment class
Table 10 Admin class
Table 11 Attribute description for Admin class
Table 12 Operation description for Admin class
List of figures
Class diagram
Sequence diagram
Acronym
HAS – Hospital Appointment System
SRS – Software Requirements Specification
SDS – Software Design Specification
1. INTRODUCTION
Purpose
This Software Design Specification (SDS) describes how the Hospital Appointment
Management System (HAS) will be designed and implemented based on the approved Software
Requirements Specification (SRS). It provides technical and architectural guidance for
developers and maintainers.
General overview
The Hospital Appointment Management System is a web-based application that allows patients
to book appointments online, doctors to manage availability, and administrators to control
schedules and users. The system replaces the existing manual appointment process.
Development methods and contingencies
Development methods
The method we used to design the HAS is UML.
contingencies
Contingencies are backup plans and safeguards to ensure continuous operation during failures.
1. Technical Contingencies
a) System Downtime
Manual appointment registers
Offline appointment forms
Automatic system recovery
b) Data Loss
Daily automated backups
Cloud-based backup storage
Disaster recovery plan
c) Power Failure
Uninterruptible Power Supply (UPS)
Backup generators
Automatic data saving
2. Security Contingencies
User authentication (role-based access)
Encrypted patient data
Regular security updates
Audit logs for system access
3. Operational Contingencies
Staff training on manual procedures
Clear emergency procedures
System usage guidelines
Help desk support
4. Network Contingencies
Multiple internet service providers
Offline booking mode
SMS-based appointment confirmation
[Link] ARCHITECTURE
2.1 Subsystem decomposition
2.2 HW/SW mapping
[Link] MODEL
Person
+name:string
3.1 Class diagram
+address:string
+phoneNumber:int
+setname()
+setaddress()
+setphoneNumber()
+getname()
+getaddress()
+getphoneNumber()
Doctor
+doctorId:int
Patient
+doctorPw:string
+patientId: int
+setDoctorId()
+patientPw:string
+setdoctorPw()
+setPatientId()
+getdoctorId()
+setPw()
+getdoctorPw()
+getpatientId()
+getPw() Admin
+name:string
+Id:int
Appointment
+login()
+appointmentNo:int
+managepatient()
+appointmentDate:date
+manageappointment()
+searchAppointment()
+viewdoctor()
+AddAppointment()
+viewappointment()
+ChangeAppointment()
+sendReminderToPatient()
+CancelAppointment()
+sendReminderToDoctor()
3.2 Sequence diagram
Patient Admin Doctor
Request login
Option
Request Appointment Appointment Schedule
Opt Option Appointment test Appointment list
Select Appointment date
Selected Date
Accepted
Logout
Deployment Diagram
Person's web browser web browser Doctor
Web server
Portal server
Database
3.3 Detailed design
Table 1 Patient class
Patient
+patientId: int
+patientPw:string
+setPatientId()
+setPw()
+getpatientId()
+getPw()
Table 2 Attribute description for Patient class
Attribute Type Visibility Invariant
Name String Public NOT NULL and must contain first name, middle
name and last name and shoudn't contain special
character and integer
Address String Public NOT NULL and must be between 10 to 20 character
PhoneNumber Int Public NOT NULL and must be 9 digit and must start with 9
PatientId Int Public NOT NULL and shoudn't contain special character
and must be 4 digit
PatientPw String Public NOT NULL and must contain special character
Table 3 Operation description for Patient class
Operation Visibility Return type
setPatientId Public Void
setPw Public String
getpatientId Public String
getPw Public String
Table 4 Doctor class
Doctor
+doctorId:int
+doctorPw:string
+setdoctorId()
+setdoctorPw()
+getdoctorId()
+getdoctorPw()
Table 5 Attribute description for Doctor class
Attribute Type Visibility Invariant
doctorId Int Public NOT NULL and shoudn't contain special character
and must be 4 digit
doctorPw String Public NOT NULL and must contain special character
Table 6 Operation description for Doctor class
Operation Visibility Return type
setdoctorId Public Void
setdoctorPw Public String
getdoctorId Public String
getdoctorPw Public String
Table 7 Appointment class
Appointment
+appointmentNo:int
+appointmentDate:date
+searchAppointment()
+AddAppointment()
+ChangeAppointment()
+CancelAppointment()
Table 8 Attribute description for Appointment class
Attribute Type Visibility Invariant
AppointmentNo Int Public NOT NULL and shoudn't contain special character
and must be 4 digit
AppointmentDate Date Public NOT NULL
Table 9 Operation description for Appointment class
Operation Visibility Return type
SearchApoointment Public Void
AddAppointment Public Void
ChangeAppointment Public Void
CancelAppointment Public Void
Table 10 Admin class
Admin
+name:string
+Id:int
+login()
+managepatient()
+manageappointment()
+viewdoctor()
+viewappointment()
+sendReminderToPatient()
+sendReminderToDoctor()
Table 11 Attribute description for Admin class
Attribute Type Visibility Invariant
Name String Public NOT NULL
Id Int Public NOT NULL
Table 12 Operation description for Admin class
Operation Visibility Return type
Login Public Void
ManagePatient Public Void
ManageAppointment Public Void
Viewdoctor Public Void
Viewappointment Public Void
sendReminderToPatient Public Void
sendReminderToDoctor Public Void