Project_def and SRS - MaximilianoSanLa/ProjectP1 GitHub Wiki

1.Introduction

1.1 Purpose

We thought of developing this software because pets are generally not well tracked in their medical treatments. We then thought of making medical records of the pets to try to improve their lifestyle and thus improve their treatments and lifestyle.

1.2 Scope

The idea is to make a service on a website that offers the opportunity to administrate and visualize the medical record of your mascot. The product name would be PetPal and it’s a software designed for the administration of information. Benefits we found are the system digitalizes the information of pet(s), since information is digitized then clients won't have any problems with the medical attention for their pet(s) from different clients, if clients have an issue choosing a veterinarian to treat their pet then the system provides highly scored veterinarians as recommendations to clients, the system allows veterinarians to manage an organized schedule in order to address clients. Our objectives in this software product are to reduce the amount of time needed for information management and be more accurate with treatments that pets receive. Our goal is getting veterinaries to use our software throughout the city.

1.3 Product Overview

1.3.1 Product Perspective

User interfaces:

The user interface is intended to be as user friendly as possible. Fonts and buttons that are used will be fast and easy to load on the web page. Hardware interfaces: HD: 20 GB Proccessor: Pentium I or above Network internet connection: For all parties Ram:200MB Software interfaces: Operating System’s: Windows, Linux Development tool: Python Application Framework: Django
Database: SQLight Communications interface: Users will be able to communicate with the website through an HTTPS connection.

1.3.2 Product Functions

On the website if you are a veterinarian, you can: Modify the medical records of pets, schedule appointments for your clients in a calendar, generate and modify reports of a pet, upload files such as photos, medical formulas, x-rays, among other things.

If you are a user, you can: View your pet's medical history, view the calendar to know when you have an appointment, view your pet's reports, view and download files uploaded by the veterinarian, create a profile for a new pet.

1.3.3 User Characteristics

To use our site, you don't need to have any experience or any kind of education. It will be quite intuitive in case you are a user since they will use it mostly to visualize things. In case you are a veterinarian you should know how to write and upload files. You must have a device with internet access to use the application. It should be clarified that the page will be made only for people with pets, if you do not have a pet, it will not have any use.

1.3.4 Limitations

We are going to have data protection and privacy laws to ensure the security of user data from unauthorized access or misuse. We will also have terms of service and end-user license agreements to make sure that our clients are ok with us, using their data.

The only hardware limitations we will have are the use of a device and internet access.

Customers will need to register and log in to ensure adequate coverage and the confidentiality, integrity and availability of the application and its associated data.

Some quality requirements will be reliability, security, availability, scalability, maintainability and performance.

1.4 Definitions

Appointment: An arrangement to meet someone at a particular time and place.

Clinical record: Is a longitudinal record of what has happened to the patient since birth. It contains chronicle diseases, major and minor illnesses, as well as growth landmarks. It gives the clinician a feel for what has happened before to the patient. As a result, it may often give clues to current disease state.

Credentials: The verification of identity or tools for authentication.

Management console: A terminal or workstation used to monitor and control a network either locally or remotely.

Report: A document that is attached to a clinical record in order to keep track of changes through out the healthcare of a pet.

Résumé: A brief account of a person's education, qualifications, and previous occupations, typically sent with a job application

Veterinarian: A person qualified to treat diseased or injured animals.

2.References

In comparison to our idea there is an application only focused on the veterinarians side and not the costumers. You can find more about it here https://www.vetport.com/ .

3.Specific requirements

3.1 External Interfaces

  1. AWS Cloud service Interfaces: VPC: AWS offers a virtualized space that offers the same degree of freedom as an on-premises data center. EC2: Compute resources offered by AWS.
    EBS: Elastic block storage, storage offered by AWS that can store any type of data like database entries or files.
    CloudFront: This will be used to distribute traffic to clients and users, this provides benefits such faster downloads and access speed.

3.2 Functions

FR01: If the user or customer is not signed up, then the system shall show the user or client the credentials page.

FR02: After the profile of a pet is created the system shall create a clinical record for the pet.

FR03: While a pet is in the middle of an appointment the system shall provide the user the ability to create a report for that pet.

FR04: If the pet has been registered, then the system shall provide the user and customer with the ability to visualize a clinical record for the pet.

FR05: If a created report belongs to the user, then the system shall provide the user the ability to modify that report.

FR06: While the user is creating a report the system shall provide the user the ability to upload files to a report.

FR07: If the user or customer is not signed in, then the system shall show the user or client the credentials page.

FR08: The system shall provide the user with the ability to visualize appointments.

FR09: The system shall provide a graphic report on the amount of registered pets by race.

FR10: The system shall provide the user and customer with the ability to create a new appointment with a veterinarian if and only if that time is not selected.

FR11: The system should provide visualization on the management console with report creation, appointments view, report viewing, and patients overview to the user.

FR12: The system should provide a score system of the vet for the clients.

FR13: If the client had an appointment with the user, then the system should provide the client with the ability to make a review on that appointment.

FR14: The system should provide the client visualization on a management console with report views, appointment view, programming appointments, and the clinical history of pets they own.

FR15: The system could provide the users with the ability to generate a résumé about the service(s) they offer.

FR16: The system could provide the user with the ability to show their specialty in their profile.

FR17: The system could create a predictive model on the number of clients every day in a month for the user.

FR18: The system could provide a health care level for your pet.

FR19: The system could notify the client about certain medications the pet needs.

FR20: If the user enters incorrect credentials during sign in, then the system could display an authentication error message.

3.3 Usability requirements

UR01: The ability of different systems, devices or software applications to communicate, exchange data and work together effectively.

UR02: The app's user interface should maintain consistency across different screens and modules, ensuring that similar actions and functions are represented consistently throughout the application.

UR03: The app should be responsive and performant, with fast loading times and smooth transitions between screens.

UR04: Navigation elements such as menus, buttons, and links should be prominently displayed and labeled in a way that is easily understandable to users.

UR05: The application will reduce the amount of complexity in terms of buttons and elements to not overwhelm the users.

3.4 Performance Requirements

SPR01: The system should be able to increase and decrease the number of resources in use, to serve an unlimited number of users.

SPR02: The number of available resources must be high enough to meet the system’s scalability demand.

SPR03: The system does not allow a veterinarian to attend to more than one client at a time and a client can't be attended by more than one veterinarian at a time.

SPR04: The system has a response time of 5 seconds for the user after a request, in case of DDOS attacks or bandwidth gets flooded the system will stop receiving communication requests without affecting users already using the system until bandwidth gets regulated.

SPR05: A veterinarian can allocate an unlimited number of files to each report as needed and each file can only have a maximum size of 30 MB.

3.5 Logical Database Requirements

DBR01: To protect user information, a veterinarian is not capable of accessing any pet medical records until they have the agreement of the client, after the client stops using their services they will not have access to any future information concerning that pet.

DBR02: Data inside the database that concerns any information will be saved inside the database until the termination of the account by the user's part and even then, persist until 1 year later.

DBR03: Data that has not been accessed for 1 year will have a low read and write latency wait times so that veterinarians can review documents without extensive wait times.

DBR04: To avoid sensitive information leaks and such the database will apply best practices to defend against such attacks.

DBR05: The database will try to avoid any loss of highly important information by minimizing RPO by creating replicas throughout multiple availability zones. In case of any unforeseen disasters.

3.6 Design Constraints

Time constraints: The project has a deadline, which can affect the design process and the level of what can be accomplished.

Budget constraints: Financial constraints may restrict the resources available for the project such as labor and equipment.

Self-imposed constraints: Constraints that our team voluntarily imposed on itself during the creative process, such as using a specific framework, database, etc.

User interface (UI) constraints: We must design an intuitive and user-friendly software interface considering aspects such as navigation, layout and interaction patterns.

Legal Restrictions: We must ensure that the software complies with the requirements of intellectual property laws, patents, copyrights and other legal considerations.