Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
High Level DesignVersion 2.4
Hardware and Database Team
Nicolas Altamirano
Justin Frye
Nolan Perugini
Matt Sauchelli
Lucas Strickland
Tyler Whittaker
CSC 354
Dr. Tan
High Level Design December 06, 2018
TABLE OF CONTENTS
TABLE OF CONTENTS…………………………………………………………………………………………………………………..i
REVISION HISTORY……………………………………………………………………………………………………………………..ii
1.0 INTRODUCTION……………………………………………………………………………………………………………………1
1.1 Purpose of Document………………………………………………………………………………………………………1
1.2 What are System Sequence Diagrams?…………………………………………………………………………….1
1.3 Acronyms & Extrapolations………………………………………………………………………………………………1
2.0 SYSTEM ARCHITECTURE DESIGN…………………………………………………………………………………………..3
3.0 UML2 NOTATION…………………………………………………………………………………………………………………5
4.0 SYSTEM SEQUENCE DIAGRAMS……………………………………………………………………………………………7
4.1 Hardware Communication with Sensors…………………………………………………………………………..7
4.2 Database Queries…………………………………………………………………………………………………………….8
4.3 Generating Reports………………………………………………………………………………………………………….9
4.4 Notifications for CNA……………………………………………………………………………………………………..10
4.5 Notifications for Family/Patient……………………………………………………………………………………..11
2
High Level Design December 06, 2018
REVISION HISTORY
Table 1.0 provides the revision history to the High-Level Design document. As changes are made, the table will reflect the version, date, description, and editor(s).
Version Date Description Editor1.0 11/13/18 Added to Sections:
4.1 Sensor Communication to Database: Designing SSD4.2 Database Queries: Designed SSD4.3 Generating Reports: Designed SSD4.4 Notifications for CNA: Designed SSD4.5 Notifications for Family/Patient: Designed SSD
Justin Frye
Added to Sections:4.1 Sensor Communication to Database: Designing SSD4.2 Database Queries: Designed SSD4.3 Generating Reports: Designed SSD4.4 Notifications for CNA: Designed SSD4.5 Notifications for Family/Patient: Designed SSD
Matt Sauchelli
Added to Sections:4.1 Sensor Communication to Database: Designing SSD4.2 Database Queries: Designed SSD4.3 Generating Reports: Designed SSD4.4 Notifications for CNA: Designed SSD4.5 Notifications for Family/Patient: Designed SSD
Nicolas Altamirano
1.1 11/14/18 Added Section:2.0 SYSTEM ARCHITECTURE DESIGN4.4 Notifications for CNA
Tyler Whittaker
Added to Section:4.2 Database Queries
Lucas Strickland
1.2 11/15/18 Added to Sections:1.0 INTRODUCTION1.1 Purpose of Document1.2 What are System Sequence Diagrams?1.3 Acronyms & Extrapolations
Nolan Perugini
3
High Level Design December 06, 2018
Version Date Description EditorAdded to Sections:4.2 Database Queries: Created SSD4.1 Hardware Communication with Sensors: Created SSD4.3 Generating Reports: Created SSD
Lucas Strickland
Added to Sections:1.0 INTRODUCTION1.1 Purpose of Document1.2 What are System Sequence Diagrams?2.0 SYSTEM ARCHITECTURE DESIGN3.0 UML2 NOTATION4.0 SYSTEM SEQUENCE DIAGRAMS4.3 Generating Reports: Description4.4 Notifications for CNA: Description4.5 Notifications for Family/Patient: Description
Justin Frye
Added to Sections: 2.0 SYSTEM ARCHITECTURE DESIGN3.0 UML2 NOTATION
Matt Sauchelli
2.0 11/29/18 Added to Sections:4.1 Sensor Communication to Database: Re-designed SSD4.2 Database Queries: Redesigned SSD4.3 Generating Reports: Redesigned SSD4.4 Notifications for CNA: Redesigned SSD4.5 Notifications for Family/Patient: Redesigned SSD
Justin Frye
Added to Sections:4.1 Sensor Communication to Database: Re-designed SSD4.2 Database Queries: Redesigned SSD4.3 Generating Reports: Redesigned SSD4.4 Notifications for CNA: Redesigned SSD4.5 Notifications for Family/Patient: Redesigned SSD
Nicolas Altamirano
4
High Level Design December 06, 2018
Version Date Description Editor2.1 11/30/18 Edited Sections:
4.0 SYSTEM SEQUENCE DIAGRAMS: Description4.1 Hardware Communication with Sensors: Description, Created SSD4.2 Database Queries: Recreated SSD, Description4.3 Generating Reports: Description 4.4 Notifications for CNA: Description4.5 Notifications for Family/Patient: Recreated SSD, Description
Lucas Strickland
2.2 12/1/18 Edited Sections:4.4 Notifications for CNA: Recreated SSD
Tyler Whittaker
Edited Sections:1.2 What are System Sequence Diagrams?1.3 Acronyms & Extrapolations4.3 Generating Reports: Recreated SSD4.5 Notifications for Family/Patient: Recreated SSD
Nolan Perugini
2.3 12/5/18 Edited Sections:2.0 SYSTEM ARCHITECTURE DESIGN
Tyler Whittaker
2.4 12/6/18 Edited Sections:1.0 INTRODUCTION3.0 UML2 NOTATION4.0 SYSTEM SEQUENCE DIAGRAMS4.1 Hardware Communication with Sensors: Redesigned SSD4.2 Database Queries: Description4.5 Notifications for Family/Patient: Description
Justin Frye
Edited Sections:4.1 Hardware Communication with Sensors: Recreated SSD
Lucas Strickland
Edited Sections: 3.0 UML2 Notation2.0 SYSTEM ARCHITECTURE DESIGN
Matt Sauchelli
Table 1: Revision History
5
High Level Design December 06, 2018
1.0 INTRODUCTION
1.1 Purpose of DocumentThe purpose of this document is to provide an architectural overview of the Long-Term Care Task Management System. This document will provide information on the structure of the system. Database design and interactions are visualized through system sequence diagrams. System sequence diagrams provide a high-level overview of the sensors and database interaction. Notifications and reports are documented through system sequence diagrams.
1.2 What are System Sequence Diagrams?System sequence diagrams visualize interactions between external entities and internal systems. The diagrams are meant to show the flow of information. External entities trigger responses from inside the system through use cases. System sequence diagrams illustrate how use cases are carried out by the system.
1.3 Explanatory Material: Acronyms & ReferencesListed below in table 2.0 are all of the acronyms used in the High-Level Design document. All acronyms and extrapolations may be used interchangeably throughout the document.
Acronym Definition
App Application
CNA Certified Nursing Assistant - The CNA is tasked primarily with patient care. CNAs will perform tasks throughout the day that are listed in the LTC-TMS. Tasks are displayed to the CNA through notifications in the tablet version of the LTC-TMS.
CNO Chief Nursing Officer - The CNO generates reports, assigns tasks and delegates duties to CNAs. The CNO primarily functions as an administrator.
DB Database
HIPPA Health Insurance Portability and Accountability Act
HLD High-Level Design
6
High Level Design December 06, 2018
Acronym Definition
HW Hardware
IT Information Technology
KU Kutztown University of Pennsylvania
LTC-TMS Long-Term Care Task Management System
PDF Portable Document Format
UML Unified Modeling Language
Table 2.0: Acronyms & Extrapolations
7
High Level Design December 06, 2018
2.0 SYSTEM ARCHITECTURE DESIGNLTC-TMS will be using a Raspberry Pi, two micro:bits, and an air quality sensor, heart rate sensor, speaker, and temperature and humidity sensor. The patient is to wear a micro:bit, groove shield, battery, speaker, and a heart rate sensor. The raspberry pi is connected to the humidity sensor, and air quality sensor and is plugged into an electrical outlet. The Raspberry Pi is going to be stationary in the patient's room. LTC-TMS will be using firebase which will provide a cloud messaging server and a NoSQL database for LTC-TMS. A tablet, mobile device, and desktop computer will be used by the end user to access the LTC-TMS.
The browser version is used by the director and the CNO, which will be used on desktop computers. The app version for mobile devices will be used by the CNA and family members. The app version for the tablet will be used by the CNA.
The Raspberry Pi and the first micro:bit will act as a receiver of the patients’ data, which will be sent to the database via Wi-Fi. The Raspberry Pi will also have two sensors connected, which will measure the temperature, humidity, and air quality. The temperature, humidity, and air quality sensors are wired directly to the Raspberry Pi, which will send the data to the database via Wi-Fi. The second micro:bit, groove shield, heart rate sensor, speaker, and battery will be worn by the patient and will send the data via radio frequency to the first micro:bit. The micro:bit worn by the patient will also send the number of steps the patient has made and their current position.
The first micro:bit will send the collected data from the heart rate sensor to the database over Wi-Fi. Once the data has been transferred to the database the end users will be able to view the data in their portfolio. The diagram below (Figure 1) shows the layout of the LTC-TMS system.
8
High Level Design December 06, 2018
9
Figure 1: System Architecture Diagram for LTC-TMS
High Level Design December 06, 2018
3.0 UML2 NOTATIONTable 3.0 below is designed to be used as a guide to understand the UML2 notation being used in the System Sequence Diagrams throughout this document. The table details include symbols and their corresponding description, which describes the purpose of each symbol.
Symbol Description
Actor
This symbol is designed to represent an actor. In the LTC-TMS project and this document, an actor could be the Director, CNO, CNA, family, patient, a sensor, the database, or the LTC-TMS system itself.
This figure will represent the LTC-TMS system as a whole, or an individual component such as the database, sensor, Raspberry Pi, or the micro:bit. The actor, represented by the stick figure above, will be interacting with the system.
This symbol represents the object lifeline. It extends from the bottom of both the actor and the system symbols. It is used to show the order of messages (requests and responses) chronologically.
The symbol on the left denotes a request being sent to the system from the actor. The symbol is a solid black line directed towards the system. The message may pass a parameter as input, depending on the type of message being sent.
10
:system
High Level Design December 06, 2018
Symbol Description
The symbol on the left denotes a message being sent from the system to the actor in the form of a response message/action. The symbol is a dotted black line directed towards the actor and represents a response from the system to the actor.
The symbol on the left is the standard notation for looping part of the SSD. The required text “loop until... “ is used at the top left of the box to indicate the duration the loop is to iterate for.
Table 3: UML2 Notations for SSD
11
High Level Design December 06, 2018
4.0 SYSTEM SEQUENCE DIAGRAMSSystem Sequence Diagrams provide a high-level understanding of an interaction between an actor and system or subsystem. The following subsections will provide a high-level understanding of how different entities in the LTC-TMS project interacts with the system. The entity may represent a person (i.e. CNA, CNO, Director, Family, or Patient) or piece of hardware (i.e. sensor). The system may represent the entire LTC-TMS system itself or the database.
4.1 Hardware Communication with Sensors
The System Sequence Diagram displayed in figure 2 depicts how a sensor will communicate with the database. The sensor will send both heart rate and step count to the database. The database will never send information back to the sensor.
12
Figure 2: Sensor Sending Data to Database Scenario
High Level Design December 06, 2018
4.2 Database Queries
The System Sequence Diagram displayed in figure 3 shows how a technologist (most likely an IT worker or DB admin), will run a query through the database to receive a desired piece/set of data. The technologist will first create a reference query to the parent key so that the system knows what general location the needed data is in. The technologist then creates an ordering and query function to specify what exact data they are looking for. They will then submit the functions to Firebase via a script to get the results. Firebase will read the script and return the specified data. Firebase will then display the data so that it’s viewable to the technologist.
Figure 3: Database Query Scenario
13
High Level Design December 06, 2018
4.3 Generating Reports
The System Sequence Diagram displayed in figure 4 shows how an actor (Director, CNO) will request reports from the database in PDF format. The actor should also be able to email the report from the same page to another actor, as well as download the report to secondary storage.
14
Figure 4: Generating Reports Scenario
Figure 5: Scenario for CNA Notifications
High Level Design December 06, 2018
4.4 Notifications for CNA
Figure 5 represents the communication between the CNA and LTC-TMS in terms of notifications via the mobile app on a tablet. The CNA should be able to receive notification alerts, view notifications, and be brought to the page related to a given notification by selecting one that is listed in their notifications drop-down. The CNA should receive notifications regarding tasks that are to be completed (i.e. record vitals, room temperature, etc.)
15
High Level Design December 06, 2018
4.5 Notifications for Family/Patient
Figure 6 represents the communication between the Family/Patient and the LTC-TMS system, specifically with notifications via the mobile app when reports are available. The Family/Patient should be able to receive notification alerts and download
16
Figure 6: Scenario for Family/Patient Notifications