ReadySetGit/SRS.md
William Sandner 24b358f205 GFM changes
2018-08-14 20:24:23 +02:00

7.5 KiB

<html> <head> </head> Overview Project Plan Workflows Current <!-- Markdown content here --> <h1 id="user-content-software-requirements-specification" dir="auto">Software Requirements Specification</h1> <hr> <h5 id="user-content-project" dir="auto">Project:</h5> <p dir="auto">::PROJECTNAME</p> <h5 id="user-content-internal-release-number" dir="auto">Internal Release Number:</h5> <p dir="auto">::X.Y.Z</p> <h5 id="user-content-attached-worksheets" dir="auto">Attached worksheets:</h5> <ul dir="auto"> <li>SRS &gt; <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Use-Case-Suite">Use case suite</a></li> <li>SRS &gt; <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Feature-Set">Feature set</a></li> </ul> <h5 id="user-content-related-documents" dir="auto">Related Documents:</h5> <ul dir="auto"> <li><a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Proposal">Project proposal</a> &gt; <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/User-Needs">User needs</a></li> <li>::LINKS TO RELEVANT STANDARDS</li> <li>::LINKS TO OTHER DOCUMENTS</li> <li><a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Glossary">Glossary</a></li> </ul> <hr> <p dir="auto"><strong>Process impact:</strong> The SRS precisely defines the software product that will be built. Decisions made in writing the SRS are based on information in the <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/proposal">project proposal</a> and <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/User-Needs">user needs</a> documents. The SRS sets requirements that must be satisfied by the <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/design">system design</a>. The SRS is verified and validated by activities outlined in the <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/qa-plan.html">QA plan</a>.</p> <h3 id="user-content-introduction" dir="auto">Introduction</h3> <p dir="auto"><em>TODO: Provide a brief overview of this release of the product. You can copy text from the project proposal, paste it here, and shorten it.</em></p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">For more information, see the project <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Proposal">proposal</a>.</p> <h3 id="user-content-use-cases" dir="auto">Use Cases</h3> <p dir="auto">::ONE PARAGRAPH OVERVIEW</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>Actors are described in the <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/User-Needs">user needs</a> document.</li> <li>The <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Use-Case-Suite">use case suite</a> lists all use cases in an organized way.</li> </ul> <h3 id="user-content-functional-requirements" dir="auto">Functional Requirements</h3> <p dir="auto">::ONE PARAGRAPH OVERVIEW</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>The <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Feature-Set">feature set</a> lists all features in an organized way.</li> </ul> <h3 id="user-content-non-functional-requirements" dir="auto">Non-Functional Requirements</h3> <p dir="auto"><em>TODO: Describe the non-functional requirements for this release. Some examples are provided below.</em></p> <h4 id="user-content-what-are-the-usability-requirements" dir="auto">What are the usability requirements?</h4> <p dir="auto">::Our main criteria for making the system usable is the difficulty of performing each high-frequency use case. Difficulty depends on the number of steps, the knowledge that the user must have at each step, the decisions that the user must make at each step, and the mechanics of each step (e.g., typing a book title exactly is hard, clicking on a title in a list is easy).</p> <p dir="auto">::The user interface should be as familiar as possible to users who have used other web applications and Windows desktop applications. E.g., we will follow the UI guidelines for naming menus, buttons, and dialog boxes whenever possible.</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::Government customers will demand <a href="<a href="http://www.section508.gov/" class="link">http://www.section508.gov/</a>">section508 compliance</a></li> <li>::Support learnability with principles of <a href="<a href="http://www.foruse.com/articles/instructive.htm" class="link">http://www.foruse.com/articles/instructive.htm</a>">Instructive Interaction</a></li> <li>::The customer wants extensive on-line help, but is not demanding a printed manual.</li> </ul> <h4 id="user-content-what-are-the-reliability-and-up-time-requirements" dir="auto">What are the reliability and up-time requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-safety-requirements" dir="auto">What are the safety requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-security-requirements" dir="auto">What are the security requirements?</h4> <p dir="auto">::Access will be controlled with usernames and passwords.</p> <p dir="auto">::Only administrator users will have access to administrative functions, average users will not.</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::Passwords must be 4-14 characters long</li> <li>::We will not use encrypted communications (SSL) for this website</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-performance-and-scalability-requirements-requirements" dir="auto">What are the performance and scalability requirements requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-maintainability-and-upgradability-requirements" dir="auto">What are the maintainability and upgradability requirements?</h4> <p dir="auto">::Maintainability is our ability to make changes to the product over time. We need strong maintainability in order to retain our early customers. We will address this by anticipating several types of change, and by carefully documenting our design and implementation.</p> <p dir="auto">::Upgradability is our ability to cost-effectively deploy new versions of the product to customers with minimal downtime or disruption. A key feature supporting this goal is automatic download of patches and upgrade of the end-user's machine. Also, we shall use data file formats that include enough meta-data to allow us to reliably transform existing customer data during an upgrade.</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-supportability-and-operability-requirements" dir="auto">What are the supportability and operability requirements?</h4> <p dir="auto">::Supportability is our ability to provide cost effective technical support. Our goal is to limit our support costs to only 5% of annual licensing fees. The product's automatic upgrade feature will help us easily deploy defect fixes to end-users. The user guide and product website will include a troubleshooting guide and checklist of information to have at hand before contacting technical support.</p> <p dir="auto">::Operability is our ability to host and operate the software as an ASP (Application Service Provider). The product features should help us achieve our goal of 99.9% uptime (at most 43 minutes downtime each month). Key features supporting that are the ability to do hot data backups, and application monitoring.</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-business-life-cycle-requirements" dir="auto">What are the business life-cycle requirements?</h4> <p dir="auto">::The business life-cycle of a product includes everything that happens to that product over a period of several years, from initial purchase decision, through important but infrequent use cases, until product retirement. Key life-cycle requirements are listed below.</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::Customers must be able to manage the number of licenses that they have and make informed decisions to purchase more licenses when needed</li> <li>::The product shall support daily operations and our year-end audit</li> <li>::The customer data shall be stored in a format that is still accessible even after the application has been retired</li> </ul> <h3 id="user-content-environmental-requirements" dir="auto">Environmental Requirements</h3> <p dir="auto"><em>TODO: Describe the environmental requirements for this release. Environmental requirements describe the larger system of hardware, software, and data that this product must work within. Some examples are provided below.</em></p> <h4 id="user-content-what-are-the-system-hardware-requirements" dir="auto">What are the system hardware requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-system-software-requirements" dir="auto">What are the system software requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::DETAIL</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-application-program-interfaces-apisglossary-standard-termsapi_application_programming_interface-must-be-provided" dir="auto">What application program interfaces (<a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/Glossary-Standard-Terms#api_application_programming_interface">APIs</a>) must be provided?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::We must implement this <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/LINK-TO-STANDARD">standard API</a>.</li> <li>::DETAIL</li> <li>::DETAIL</li> </ul> <h4 id="user-content-what-are-the-data-import-and-export-requirements" dir="auto">What are the data import and export requirements?</h4> <p dir="auto">::PARAGRAPH</p> <p dir="auto">::PARAGRAPH</p> <p dir="auto">Details:</p> <ul dir="auto"> <li>::The system will store all data in a standard SQL database, where it can be accessed by other programs.</li> <li>::The system will store all data in an XML file, using a <a href="/Suborbital-Systems/ReadySetGit/src/commit/24b358f205606dd7bf7922e3cbf0b88a4314dde1/LINK-TO-STANDARD">standard DTD</a>.</li> <li>::The system will read and write valid .XYZ files used by OTHER APPLICATION</li> <li>::DETAIL</li> </ul> <!-- End Markdown content -->
</html>