Component and Connecters View - SENG-350-2024-fall/Team-11 GitHub Wiki

Component and Connector (C&C) View Documentation

Graphical Representation

This diagram represents the system architecture, focusing on components and their interactions through connectors. It provides an overview of data flow and relationships within the system.


Key Components and Connectors

  1. Components:

    • Symptom Evaluation System:
      • Handles evaluation of patient symptoms and recommendations.
      • Interfaces with the User Role System for interaction.
    • Prescription Command System:
      • Processes prescription submissions via commands.
      • Sends data to the Database Adapter System.
    • Notification System:
      • Manages NewPatient registration and observer notifications using the Observer pattern.
      • Connects with the Database Adapter System to store patient data.
    • Database Adapter System:
      • Securely interacts with the AWS database using an Adapter pattern.
      • Provides a standardized interface for other systems.
    • User Role System:
      • Manages user roles (Patient, ED, Clinic, Nurse, Chemist, Admin).
      • Facilitates interaction with the Symptom Evaluation System.
  2. Connectors:

    • Data flow between systems, e.g., prescription data is sent from the Prescription Command System to the Database Adapter System.
    • Notification data flows from the Notification System to the Database Adapter System.
    • Symptom evaluation results are shared with the User Role System.

Element Catalog

Element Name Description
SymptomEval Symptom evaluation component, assessing symptoms and providing recommendations.
PrescriptionCmd Handles prescription submissions with Command and Invoker roles.
Notification Manages patient notifications using the Observer pattern.
DatabaseAdapterSys Provides secure and standardized database access using an Adapter pattern.
RoleSystem Manages all user roles and their interactions with the system.
AWSDB External AWS database for storing system data.

Variability Guide

  • Modular Components: Each system is independent, making it easier to extend or replace components.
  • Database Variability: The adapter allows integration with different databases (e.g., PostgreSQL, MySQL).
  • Role Customization: The User Role System supports adding new roles or modifying existing ones.

Other Information

  1. Design Decisions:
    • Observer Pattern: Decouples notification handling from the core system.
    • Adapter Pattern: Ensures flexible and secure database access.
    • Modular Components: Improves maintainability and scalability.
  2. Rejected Alternatives:
    • Direct integration of components was rejected due to increased coupling.
    • Using a shared database directly was avoided for security and performance reasons.
  3. Analysis Results:
    • The architecture is modular and supports scaling.
    • Secure database interaction is ensured with minimal performance overhead.