1. Introduction 4
1.1 Purpose 4
1.2 Scope 4
1.4 Definitions and Glossary 4
1.5 References 4
2. Positioning 5
2.1 Business Opportunity 5
2.2 Problem Statement 5
2.3 Product Position Statement 6
3. Stakeholder and User Descriptions 7
3.1 Market Demographics 7
3.2 Stakeholder Summary 7
3.3 User Summary 8
3.4 User Environment 9
3.5 Stakeholder Profiles 9
3.5.1 RE Engineer 9
3.5.2 UI/UX Engineer 10
3.5.3 Software Architect 10
3.5.4 Software Developer 11
3.5.5 Project Manager 12
3.6 User Profiles 13
3.6.1 User 13
3.7 Key Stakeholder or User Needs 13
3.8 Alternatives and Competition 14
4. Product Overview 15
4.1 Product Perspective Overview 15
4.2 Summary of Capabilities 17
4.3 Assumptions and Dependencies 20
4.4 Cost and Pricing 20
4.5 Licensing and Installation 20
5. Product Features 21
5.1 Creating an Object 21
5.2 Accessing an Object 22
5.3 Updating an Object 23
5.4 Deleting an Object 24
5.5 Viewing Recently Accessed Objects 25
5.6 Viewing Emergency Objects 26
5.7 Searching for Objects 27
6.0 Sequence Diagrams 28
6.1 Application Initialization 28
6.2 Create or Edit Object 29
6.3 Deleting an Object 30
6.4 View Emergency Objects 31
6.5 View Recently Accessed Objects 32
6.6 Searching for an Object 33
7. Constraints 34
Name
|
Description
|
Responsibilities
|
Requirements Engineer
|
Gathers information to correctly describe and implement the requirements given from the customer
|
Must communicate with the Project Manager and software development team to correctly translate what the customer needs to requirements that both parties can understand and implement
|
User Interface Engineer
|
Creates the interface that the user will directly use to accomplish the tasks of the application
|
Create a user-friendly interface that is easy to use and navigate, while also providing all of the functionality specified in the requirements
|
Software Architect
|
Creates and understands the infrastructure of the application and communicates with all stakeholder to ensure all requirements are met
|
Create and understand a high level architecture of the application so that both the technical software development team can understand as well as the customer can understand the architecture. Must also understand technical details to know the system as a whole.
|
Software Developer
|
Develops the code implementation for the interface used in the application
|
Communicates and coordinates with the project manager and other software developers to ensure that tasks are being met on time and making sure the work stays relevant to the goals of the application
|
Project Manager
|
Manages everyone involved with the development process
|
Ensures that the development team is on time with the completion of tasks and makes sure that all testing is completed correctly and thoroughly.
|
Description
|
This individual is in charge of overseeing the entire project and the stakeholders involved, both user and non-user.
|
Type
|
This individual shall have complete understanding of the project, including the scope, deliverables, requirements, etc.
|
Responsibilities
|
The Project Manager is responsible for keeping the PTR (Project Total Recall) team on task. From scheduling team meetings to internal deadlines, the Project Manager makes sure every team member is doing their duty to complete the application on time.
|
Success Criteria
|
Success is defined by when the PTR team completes the project. Success means the application is completed on or ahead of schedule.
|
Involvement
|
The Project Manager will be involved with all aspects of the project lifecycle, from requirements gathering to implementation to delivery of the product.
|
Deliverables
|
Requirements Document, Architecture, Final Prototype
|
Need
|
Priority
|
Concerns
|
Current Solution
|
Proposed Solutions
|
Reliability
|
High
|
Application needs to be able to store a plethora of different types of objects without the possibility of losing data
|
None
|
Implement data storage to securely store data via Memory Card
|
Usability
|
High
|
Application needs to be intuitive and simple for any type of user
|
None
|
Create user-friendly menus, with detailed descriptions and easy-to-use buttons and spinners, etc.
|
Customizable
|
Moderate to High
|
Give customizability for users to store, edit, and delete objects
|
None
|
Give users a wide range of options to customize their objects they save that will help them remember the objects easily.
|
Responsive
|
Moderate
|
In emergency situations, the user needs to be able to make contact with medical personnel immediately
|
None
|
Implement the buttons so medical personnel can be contacted ASAP through minimal steps (1-3 taps).
|
The application layer encompasses the vast majority of the system and communicates with several external services through APIs. The application layer interfaces with the Android system’s camera and gallery services in order to load images and icons into the system. Most importantly, the application layer interacts with the external DBMS through the DBMS interface to persist all objects if the user elects to save them.
The database will be stored on the Android device. This ensures that users will not need a consistent 4G or WiFi connection in order to use the application.