for essays guru
You are to write a documentation for an app that monitors your sleeping patterns.
You document should include the following:
i) Preface: This should define the expected readership of the document and describe its version history, including a rationale for the creation of a new version and a summary of the changes made in each version. (this should be the first version of the app)
iii) User requirements Specification: Here, you describe the services provided for the user. The non-functional system requirements should also be described in this section. This description may use natural language, diagrams, or other notations that are understandable to customers. Product and process standards that must be followed should be specified.
iv) System architecture: This chapter should present a high-level overview of the anticipated system architecture, showing the distribution of functions across system modules. Architectural components that are reused should be highlighted.
Note: the user requirements Specification section is very important, please look up the definition of it carefully and look up examples for it.
Below is the project plan for the application please use as a guide
Project Plan
For
3.1 Organizational Boundaries and Interfaces 4
3.2.2 Project-internal Functions 5
6. Communication and Reporting 7
7.1 Deliverables and Receivers 8
9. Configuration and Change Management 8
11. Abbreviations and Definitions 8
There are numerous health issues that have been linked to sleep quality and quantity. For instance, poor and prolonged sleeping behaviors have adverse impacts on human health, such as hypertension, increased level of depression, anxieties, diabetes and depression. The quality of sleep can be assessed especially through physiological scaling such as body movements while sleeping. In light of the above concerns, humans need to understand their sleep patterns in order to avoid sleep-related health problems. One of the ways of understanding personal sleep patterns is to use monitoring and tracking devices (Mohr, 2015). This calls for the need to develop an app that will perform the task of tracking personal sleep patterns through motion detection.
The primary goal of this project is to design an app that helps users to identify their possible sleep problems by monitoring their sleeping patterns. This system will work through tracking of sleeping patterns through motion detection. The goal is to implement it as an application for smartphones that are supportive of Android. Another goal is to investigate the degree to which sleep actigraphy using smartphone accelerometers is possible and come up with algorithms for extracting important information regarding the sleeping quality from the gathered information. The app can also be used easily by third party applications by detecting sleep-related activities such as body movements.
The scope of the project will be confined to sleep monitoring and tracking functions. This will require the development of an app that will have various features. First, the app will work on smartphones that support Android operating systems. The scope of the project will be to determine the extent to which sleep actigraphy using smartphone accelerometers is possible. Furthermore, a set of algorithms will be designed to gather important data regarding the sleep quality of an individual. The app will solely run in smartphone devices. Moreover, the scope of the tracking functions will be limited to body movements. Body motion may take the form of eye opening and movements, and the general movements of each body part.
While the app will work by monitoring sleep patterns, there are various areas that will not be included in the project. First, the application will only work for users who have smartphones. This means that other devices such as personal computers (desktops, laptops and palmtops) will not be compatible with the above application. In addition, the proposed application will only work using the Android operating system. Therefore, other operating systems such as Windows, Linux and Macintosh are completely excluded from this project. Furthermore, the application that is to be developed will solely work by tracking sleep patterns through motion detection. Thus, other mechanisms of detecting sleep patterns will not be included in the scope. In particular, mechanisms that will not be utilized include snoring and breathing movements that are generated while sleeping.
Organizational Boundaries and Interfaces
The user interface of the application will be designed with the use of Android. In as much as it would be possible to begin the process of recording body movements in the main application, there is a more effective way which ensures that the detection goes uninterrupted. The Android Service Class is exactly designed for this purpose. A Service is a software component that can undertake long running activities in the background and does not offer a user interface. The Service is started and regulated by an activity and may offer a notification to users with respect to the present state of the service.
The owners of the resources will be determined by the project’s resource plan. In this respect, all the key stakeholders involved in the development of the project by way of funding or showing interests are the potential resource owners. For example, there are healthcare institutions that could require the development of this app for monitoring patients’ sleeping patterns and making recommendations on the right steps to be taken to improve a patient’s sleeping patterns. These groups would be directly involved in the funding of the project development operations. In addition, representatives of key smartphone manufacturing companies are also going to be the owners, especially if they are involved in the direct funding of the system’s development.
The receivers for the project will be determined by the delivery plan. For example, the receivers for delivery of team process and document template will include the project manager, supporters, as well as project recorders. In addition, the receivers for the master plan documents an SRS documents will include the technical lead, the project manager, as well as the recorder. The software development plans and coding systems will be received by the developer and technical lead. Furthermore, the receiver of all the information that concerns payment and budgeting of the entire project will be received by the project manager.
The suppliers of the project will include individuals who are involved in the supply of the necessary resources for the development of the sleep-tracking and monitoring software. For instance, they will include suppliers of software and hardware infrastructures. Other suppliers will be in form of pen and paper resources and services.
The project will be organized in teams that are headed by the project manager. The process will start by identifying needs from users and documenting them. Thereafter, the actual process of software development will resume. Finally, the system will be implemented and undergo maintenance on a regular basis.
2.
3.
3.1
3.2
3.2.1 Project Team
|
Function |
Contact |
Comment/ Responsibility |
|
Project Manager/Team Member |
|
Oversee overall project progress; Produce software code |
|
Team Member |
|
Produce software code |
|
Team Member |
|
Produce software code |
3.2.2 Project-internal Functions
|
Function |
Name |
Comment |
|
Quality Assurance |
|
Ensures stability and reliability of each function. |
|
System Test Lead |
|
Develops test cases and assigns them to the corresponding team member/s. |
|
Validation/Verification Lead |
|
Checks with both specification and clients to ensure the project requirements are met. |
|
Configuration Manager |
|
In charge adopting and negotiating any modifications to the project specification. |
|
Change Manager |
|
In charge of keeping track of proposed and implemented changes to the project process. |
The project is being developed independently of any outside financial backers at the time of the finalization of this document. Should the project receive further funding from any outside source, contract negotiations will be held with the parties providing funds.
The following workflow chart shows the process that development team will adopt:
The process shown above will be utilized for every major function of the application. It borrows heavily from the Waterfall software model. Given that the project is being developed outside the influence of any specific client, this model allows us to set requirements and keep them fairly static throughout the development process. A large portion of changes to the specification and/or the process are expected to come internally, therefore a highly incremental process like Agile is not necessary to keep up with any changes.
|
Item |
Applied for |
Availability by |
|
Methods |
|
|
|
Use Case |
Requirements capturing |
Start of Project |
|
Waterfall Model |
Software development methodology |
Before Project Starts |
|
Tools |
|
|
|
2-Plan |
Planning |
Before Project Starts |
|
Android Studio 2.0 |
Development Platform |
Start of project |
|
Dia |
UML Design |
Start of Project |
|
Languages |
|
|
|
UML |
Design |
Start of Project |
|
Java |
Application Logic |
Start of Project |
|
SQL |
Database Storage |
Start of Project |
|
Type of data |
Purpose |
Responsible |
|
Changes in project specification/process |
Modify project specification and process |
Project/C&C Manager |
|
Amount of errors per 100 lines of code |
Gauge team member productivity |
Project Manager |
|
Test Cases |
To determine project functions are working as intended |
Test lead |
|
QA Reports |
Assess reliability of project functions |
QA Lead |
Given the relatively small scale of the project, the team will implement a simplified version of a risk management model used for Agile software development, as proposed by Ville Ylimannela from the Tampere University of Technology (see references section for document link). The process will use minimal documentation that will be modified as risks are identified and analyzed. It is the Project Manager's duty to oversee the implementation of the risk management system described in the table below:
|
Activities |
Suggestion |
Done During |
|
Plan |
Establish security needs, hold training sessions for team members, and create security cases to be analyzed. A check-list to identify high-risk features will also be created. |
One time before commencing the project |
|
Identify |
Determine which features are high-risk, and which ones are not. |
Before feature is implemented |
|
Assess |
Attempt to assess the risk potential and probability of identified risks. |
After identification of risk |
|
Respond |
Create responses for each feature and their risks, making sure that the responses are appropriate and proportional to the importance of the feature. Estimate time necessary to mitigate risk factors in the features, and choose the best responses. |
During implementation of features |
|
Accept |
Check with risk owner, product owner/client to make sure that all risks are acceptable to all parties. |
Initial feature review |
|
Monitor |
Monitor status of features and analyze the implementation of risk responses for each feature. Re-evaluate larger risks if the responses are not adequate. |
Periodically between initial feature review and final feature review
|
6.1 Deliverables and Receivers
|
ID |
Deliverable |
Planned Date |
Receiver |
|
D1 |
Simple and Intuitive User Interface |
5/6/2016 |
User |
|
D2 |
Smart Alarm |
5/13/2016 |
User |
|
D3 |
Sleep Timer |
5/27/2016 |
User |
|
D4 |
Accurate Chartable Data |
6/10/2016 |
User |
|
D5 |
Tutorials |
6/14/2016 |
User |
|
D6 |
Efficient Power Usage |
6/14/2016 |
User |
Quality assurance will be spearheaded by the QA Lead: The QA lead will provide test cases for each function and delegate them to the corresponding team member/s that worked on that function. It is the responsibility of the team members to report to the QA lead with any inconsistent or unexpected behavior of a function, whereupon the QA lead will try to recreate the behavior and plan for any steps necessary to remedy them.
8. Configuration and Change Management
Configuration and change management will be handled by the C&C Manager: As development on the project advances, unforeseen circumstances may arise. It is the responsibility of the C&C Manager to have a plan in place to anticipate and accommodate any changes to the project specification and project process. The weekly meetings, as well as any client meetings, will serve as a platform for the C&C Manager to identify any potential changes to either the specifications or the process.
For the commercial version of the application, client data will be accessed and stored using the Google Play Services authorization features. A user will not need to create an account, as they will use their pre-existing credentials from their Google accounts. The data will be stored on the device as it is being analyzed by the system. The data will also sent back to Google servers which will allow for data backups and prevent data loss should a user damage their phone, uninstall the application or any other case where data could be corrupted. The data will only be accessible to the user and the project team (for testing and analytical purposes only). In any case where user data has been breached, the development team will take the necessary steps as dictated by Google’s guidelines for utilization of their services.