Software Requirements Specification for Mobile Client Query Application (MCQA) Version 1.3 Prepared by Dru Luce-Edwards and Jeremy Smith UVA-Wise Capstone September 30 , 2010 Software Requirements Specification for MCQA Page ii Table of Contents Table of Contents .......................................................................................................................... ii Revision History ............................................................................................................................ ii 1. Introduction ..............................................................................................................................1 1.1 1.2 1.3 Purpose ........................................................................................................................................ 1 Product Scope .............................................................................................................................. 1 References ................................................................................................................................... 1 2. Overall Description ..................................................................................................................1 2.1 2.2 2.3 2.4 Product Functions ........................................................................................................................ 1 User Classes and Characteristics ................................................................................................. 1 Operating Environment ............................................................................................................... 1 User Documentation .................................................................................................................... 2 3. Functional Requirements ........................................................................................................2 3.1 3.2 3.3 Mobile Client Requirements (MCR) ........................................................................................... 2 Web Client Requirements (WCR) ............................................................................................... 2 Server Database Requirements (SDR)......................................................................................... 2 4. Nonfunctional Requirements ..................................................................................................3 4.1 4.2 4.3 4.4 4.5 Performance Requirements.......................................................................................................... 3 Safety Requirements .................................................................................................................... 3 Security Requirements................................................................................................................. 3 Software Quality Attributes ......................................................................................................... 3 Business Rules ............................................................................................................................. 3 Appendix A: Glossary....................................................................................................................3 Appendix B: Indexed Requirements ............................................................................................4 Appendix C: To Be Determined List ............................................................................................6 Revision History Name Date Reason For Changes Version Wise, UVA 09/17/2010 Initial draft to customer 1.0 Client 09/27/2010 Changes/Comments 1.1 Wise, UVA 09/30/2010 Updates/Revisions 1.2 Wise, UVA 6/26/2011 Updates/Revisions 1.3 Software Requirements Specification for MCQA Page 1 1. Introduction 1.1 Purpose The purpose of this document is to enumerate and describe requirements specific to the Mobile Client Query Application. This Software Requirements Specification (SRS) defines the requirements for the entire first build of the system. 1.2 Product Scope The Mobile Client Query Application is a mobile application that our client will use in order to search and establish locations and ambiguity of storage clients. Mobile Client Query Application will have a centralized data storage of all client information to speed up the process of cargo inspection to make shipping more efficient. 1.3 References This document references the following documents: http://developers.sun.com/sunstudio/products/archive/whitepapers/java-style.pdf All mobile client, web client, and server use cases MCQA.mdl (Rational Rose use case diagram) 2. Overall Description 2.1 Product Functions The product shall support: Sending and receiving information about items to a central source A weighting system for item ambiguity Geo-visuals for item locations 2.2 User Classes and Characteristics We anticipate trained cargo inspectors will use the software on a daily basis to assist them with locating items and updating the item information. Management will use the software to locate the item and review information about cargo information. Technical support personnel will use the web client to fix data errors. 2.3 Operating Environment The software shall run on any system that the Android mobile platform operates on. The software shall be tested on the Motorola Droid X. The software shall utilize Google Maps capabilities through the built in API. Software Requirements Specification for MCQA Page 2 2.4 User Documentation The final deliverable shall include the software document folder(SDF) which contains tutorials on Git, Rational Rose, DroidDraw, and user manuals for both the mobile client and web client. The deliverable shall be sent to the customer in the form of a zip folder upon completion of the project. 3. Functional Requirements This sections details the main features of the system by listing the actions to be taken and defining the requirements for those features. 3.1 Mobile Client Requirements (MCR) MCR-01: The software shall provide capability for searching items using item number. MCR-02: The software shall receive item reports only upon requests. MCR-03: The software shall display item information including manifest information, previous locations, and analytic scores. MCR-04: The software shall be capable of updating item reports using the current location. MCR-05: The software shall provide capability of updating item reports by attaching a picture of the item. MCR-06: The software shall be capable of updating item reports to classify them as normal or high priority. MCR-07: The software shall provide capability for geo-visualization of item location and past locations. 3.2 Web Client Requirements (WCR) WCR-01: The application shall allow the user to query item data from the server database based on the item number. WCR-02: The application shall have a user log-in feature to authenticate the user. WCR-03: The application shall be capable of allowing the user to upload alerts to the server that will be sent to all mobile clients. WCR-04: The application shall be capable of presenting the server log file of all changes made. 3.3 Server Database Requirements (SDR) SDR-01: The software shall contain a design capable of storing all necessary information regarding items. SDR-02: The software shall only send data reports upon request from a client system. SDR-03: The software shall be capable of updating the stored item reports with the current location sent from the client system. SDR-04 : The software shall be capable of updating the stored item reports with photographs sent from the client system. Software Requirements Specification for MCQA Page 3 SDR-05: The software shall be capable of updating the stored item reports classifying them as normal or high priority. SDR-06: The software shall log all data requests. SDR-07: The server shall be capable of sending out unsolicited alerts to the client systems. 4. Nonfunctional Requirements 4.1 Performance Requirements SQE-1 : The software shall use a rewritable data storage to handle reloads after crashes and will be limited to 20 megabytes in order to reduce space used. SQRE-1 : The software shall have a crash recovery system so that no unsent data will be lost. SQM-1 : The software modules shall be limited to 30 statements SQF-1 : The software shall implement Live Software Updates. SQU-2 : The software shall resend data every TBD seconds, if no response from server, for a maximum of TBD times. SQE-3 : The software shall operate for a minimum of 4 hour on a standard factory configured mobile platform. 4.2 Safety Requirements SQU-1 : The software shall include an operations manual. 4.3 Security Requirements SQI-2 : The web item shall have user logins to validate permission levels. SQIP-2 : The software shall use XML for item to server communications to validate. 4.4 Software Quality Attributes SQP-1 : The software data shall be accessible on any platform that supports JAVA virtual machines 6.0 or Google Android OS versions 2.2. SQP-2 : The project shall include a web client. SQC-2 : The Software Shall follow the Java Coding Style Guide as based on the http://developers.sun.com/sunstudio/products/archive/whitepapers/java-style.pdf site. 4.5 Business Rules SQIP-1 : The software shall use SQLite. SQRE-2 : The project shall be written in Java. Appendix A: Glossary Acronym SRS GUI API MCQA MCR WCR SDR Definition Software Requirements Specification Graphic User Interface Application Programming Interface Mobile Client Query Application Mobile Client Requirement Web Client Requirement Server/Database Requirement Software Requirements Specification for MCQA SDF SQE SQC SQRE SQI SQU SQM SQF SQT SQP SQIP OCR GPS DBMS Page 4 Software Document Folder Software Quality Efficiency Software Quality Correctness Software Quality Reliability Software Quality Reliability Software Quality Usability Software Quality Maintainability Software Quality Flexibility Software Quality Testability Software Quality Portability Software Quality Interoperability Optical Character Recognition Global Positioning System Database Management System Appendix B: Indexed Requirements Mobile Client Requirements MCR-01: The software shall provide capability for searching items using item number. MCR-02: The software shall receive item reports only upon requests. MCR-03: The software shall display item information including manifest information, previous locations, and analytic scores. MCR-04: The software shall be capable of updating item reports using the current location. MCR-05: The software shall provide capability of updating item reports by attaching a picture of the item. MCR-06: The software shall be capable of updating item reports to classify them as normal or high priority. MCR-07: The software shall provide capability for geo-visualization of item location and past locations. Web Client Requirements WCR-01: The application shall allow the user to query item data from the server database based on the item number. WCR-02: The application shall have a user log-in feature to authenticate the user. WCR-03: The application shall be capable of allowing the user to upload alerts to the server that will be sent to all mobile clients. WCR-04: The application shall be capable of presenting the server log file of all changes made. Server Database Requirements SDR-01: The software shall contain a design capable of storing all necessary information regarding items. SDR-02: The software shall only send data reports upon request from a client system. Software Requirements Specification for MCQA Page 5 SDR-03: The software shall be capable of updating the stored item reports with the current location sent from the client system. SDR-04 : The software shall be capable of updating the stored item reports with photographs sent from the client system. SDR-05: The software shall be capable of updating the stored item reports classifying them as normal or high priority. SDR-06: The software shall log all data requests. SDR-07: The server shall be capable of sending out unsolicited alerts to the client systems. Product Operation Requirements Correctness SQC-1 : The project shall include unit tests and system tests. Reliability SQRE-1 : The software shall have a crash recovery system so that no unsent data will be lost. SQRE-2 : The project shall be written in Java. Efficiency SQE-1 : The software shall use a rewritable data storage to handle reloads after crashes and will be limited to 20 megabytes in order to reduce space used. SQE-2 : The software shall operate for a minimum of 4 hour on a standard factory configured mobile platform. Integrity SQI-1 : The web client shall have user logins to validate permission levels. Usability SQU-1 : The software shall include an operations manual. SQU-2 : The software shall resend data every TBD seconds, if no response from server, for a maximum of TBD times. Product Revision Requirements Maintainability SQM-1 : The software modules shall be limited to 30 statements SQM-2 : The software and all supporting documents shall be contained in the Software Document Folder. SQM-3 : The software shall implement standardized error messaging, GUI layouts, and hardware interfacing based on a TBD format. Flexibility SQF-1 : The software shall implement Live Software Updates. Testability SQT-1 : The software shall implement diagnostic logging on the server and client applications. Product Transition Requirements Software Requirements Specification for MCQA Page 6 Portability SQP-1 : The software data shall be accessible on any platform that supports JAVA virtual machines 6.0 or Google Android OS versions 2.2. SQP-2 : The project shall include a web client. Interoperability SQIP-1 : The software shall use SQLite. SQIP-2 : The software shall use XML for client to server communications to validate. SQIP-3 : Software shall connect to a central database through a TBD connection protocol. Appendix C: To Be Determined List Quick References to TBD Items SQM-3 : The software shall implement standardized error messaging, GUI layouts, and hardware interfacing based on a TBD format. SQIP-3 : Software shall connect to a central database through a TBD connection protocol. SQU-2 : The software shall resend data every TBD seconds, if no response from server, for a maximum of TBD times. SQE-2 : Pictures shall be resized if picture resolution is high then the recommended maximum send amount, which is TBD.