This repository contains the final project for SWENG 837: Software Systems Design, a graduate-level course emphasizing object-oriented analysis, design, and architectural modeling. The project presents a modular healthcare system designed to address real-world needs in appointment scheduling, prescription management, and insurance verification, with clear domain modeling, UML artifacts, and design pattern applications.
To design a scalable, maintainable software solution using best practices in:
- OOAD (Object-Oriented Analysis & Design)
- Domain Modeling & UML
- Design Patterns (GRASP, SOLID, GoF, Microservices)
- Cloud-ready Architecture and Component Decomposition
The system targets major healthcare workflow inefficiencies:
- Provide secure, scalable access for patients, healthcare providers, and pharmacists
- Support appointment scheduling, prescription fulfillment, and insurance verification
- Meet key non-functional goals such as performance, security, fault tolerance, and maintainability
The project includes detailed design artifacts developed through iterative modeling:
- Use Case Diagrams — Capture user interactions with core system functionality
- Domain Models — Define entities like Patient, Appointment, Prescription, Medication, Provider
- Class Diagrams — Translate domain concepts into maintainable object-oriented structure
- Sequence Diagrams — Show object interaction flows for major user scenarios
- State Diagrams — Model lifecycle transitions for key entities (e.g., prescriptions)
- Component Diagrams — Illustrate high-level architectural dependencies
- Cloud Deployment Diagrams — Map components to AWS services for scalability and fault tolerance
- Design Pattern Usage — Apply GRASP, SOLID, Factory, Strategy, Observer, and other patterns
- GRASP: Controller, Information Expert, Low Coupling
- SOLID: SRP in
PrescriptionController, DIP via interfaces - GoF: Factory (
PrescriptionFactory), Observer (MedicationLog), Strategy (InsuranceValidator) - Microservices: API Gateway, Event-Driven, Service Discovery
- Platform: AWS
- Services: EC2, RDS (MySQL), S3, Lambda, IAM
- IaC: Terraform scripts for provisioning
- Security: OAuth2, TLS, IAM roles, audit logging
├── 📁 images/ # UML diagrams and architecture visuals
├── 📁 scripts/ # Dockerfile, Terraform, SQL schema
├── 📁 powerpoint/ # Presentation slides
├── 📁 word/ # Written report and rationale
├── 📄 README.md # Project summary and design explanation
- Systematic approach to software design and modeling
- Clear separation of concerns in large system architecture
- Knowledge of design patterns and OOAD principles
- Modeling scalability and security in distributed/cloud environments
- Collaborative design and documentation in team setting
- Review UML diagrams in the
images/directory - Open the written design rationale in
word/ - Inspect deployment scripts in
scripts/ - View the presentation slides in
powerpoint/
Created by Chastidy Joanem GitHub: @chazdj