CS 5744 - Project 1 - Pet Adoption and Medical Record System

CS 5744 - Project 1 - Pet Adoption and Medical Record System

    ›Design Rationale

    Introduction

    • Introduction

    Requirements Summary

    • Use Cases
    • Stakeholder Analysis
    • Requirements

    High-Level Design

    • System Architecture
    • File Storage Design
    • Database Design
    • REST API Design
    • Web Application Design
    • Requirement Traceability Matrix

    Design Rationale

    • System Architecture Rationale
    • Data Tier Rationale
    • REST API Design Rationale
    • Web Application Design Rationale
    • Final Thoughts

    Data Tier Rationale

    File Storage Design Rationale

    Using S3 as our file storage gives us everything we desire with minimal investment. There is no need to develop a custom component for secure file storage and retrieval. S3 provides all the necessary tools to properly configure the file storage. Additionally, separate S3 buckets can be used to store redundant backup copies of files and databases.

    • Benefits of S3:
    • Easy to use file storage
    • Necessary security controls
    • Easy backups
    • Low-cost
    • Scalable

    Database Design Rationale

    For the storage of the system’s structured data we chose the relational database model. The largest contributor to this decision was the maturity of relational databases along with their ACID (Atomicity, Consistency, Isolation, Durability) properties. What this boils down to is ensuring the integrity of the data contained in the system.

    To satisfy the requirement to run in the cloud and to standardize on a single platform we chose Amazon Aurora as our database platform. It’s very likely the database can be developed without locking into a specific database system, by using SQL standards. Some of the benefits of Amazon Aurora:

    • Cloud platform
    • Low-cost
    • Scalable
    • Multiple providers (postgres or mysql compatible)
    ← System Architecture RationaleREST API Design Rationale →
    • File Storage Design Rationale
    • Database Design Rationale
    Built with Docusaurus
    Copyright © 2019