Created
May 28, 2014 21:32
-
-
Save autonome/c38bef8673b4329b19d7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Firefox OS News Reader | |
Software Requirements Document | |
(Draft 1, May 2014) | |
Christopher Behrens, Randal Holmes, Nhan Huynh, | |
Michael Kuvelas, Mike Messuri-Zhang, Jeremy Sample, Josh Willhite | |
1. Introduction | |
1.1 Purpose | |
This document details the functionality required for the Firefox OS News Reader application our team is developing for our Software Engineering Capstone project at Portland State University for the Spring and Summer of 2014. | |
1.2 Document Conventions | |
Although this document is intended as a set of requirements, not a design, some technical information has been included with the requirements description. | |
1.3 Intended Audience and Reading Suggestions | |
The primary audience for this document is Capstone Team D, our project sponsor Dietrich Ayala of Mozilla, Professor Warren Harrison, Jack Weast, and anyone else who will be extending and/or contributing to this project in the future. | |
1.4 Product Scope | |
Our product is intended to function as a stand alone application for Firefox OS mobile devices. While the short term goal is to create an experimental application for Mozilla, the long term goal is to have the product function as a batch news retrieval system on Firefox OS mobile devices around the world. | |
Certain components of the system have Priority 1 status. These components are absolutely essential to the success of the initial release of the product. Other components, those with Priority 2 status, will hopefully be included in the initial release, but are not essential for immediate success in the short-term. | |
1.5 Reference | |
http://web.mit.edu/ssit/cis/CISRequirements.html (Provided the template for this document) | |
To be completed… | |
2.Overall Description | |
2.1 Product Perspective | |
The Firefox OS News Reader provides: | |
* Network condition awareness (Priority 1) | |
* Offline access to news based on a user’s browsing history or location information (Priority 2) | |
2.2 Product Functions | |
1. Collect data about various wireless and mobile network connectivity properties including, but not necessarily limited to, the following: | |
a. Type of connection (wifi, 2G, 3G, etc.) | |
b. Signal strength | |
c. Connection throughput and latency | |
d. Duration of connection (or Estimated duration) | |
e. Time of day for the above | |
f. Day of week for the above | |
g. To be completed… | |
2. Store the data collected in (1), averaging current data with previous data. | |
3. Analyze the data stored above to select the best time to schedule a batch request [method of analysis to be determined]. | |
4. Use the information obtained from (3) to batch fetch an appropriate number of news stories. | |
5. Determine appropriate news stories to fetch in one of the following ways: | |
a. List of predetermined sources. This should be fine for a minimum requirement for this section, but ideally we remove this placeholder and implement the following sections. | |
b. Use geolocation service to determine appropriate news sources in the region, and | |
just fetch top stories from these sources. | |
c. Use geolocation service to determine user location and then submit query via search engine to locate the most popular news stories in the user’s region. | |
d. Analyze browsing history [methods to be determined, may not be possible as of now]. | |
6. Store the stories fetched in (5), deleting oldest stories when some maximum number is reached. | |
7. Display all currently saved stories, newest first. | |
8. To be completed… | |
In the short-term, items 1-3 above have Priority 1 status. The remaining items have Priority 2 status. The long-term goal is to create a network-condition aware, zero configuration, batch-fetch news reader with a beautiful and intuitive user experience while at the same time minimizing network traffic and power usage. | |
The above functions are carried out using a combination of HTML, CSS, and Javascript, running as a single application on Firefox OS mobile devices. | |
2.3 User Classes and Characteristics | |
This application is designed to be used by non-technical (possibly first time computer) users in multiple (possibly developing) countries around the globe. Many of these users may have intermittent and/or poor network connectivity at present. Some of these users may also have intermittent and/or poor access to electrical power. News stories are likely to be read when the user has no internet connectivity, such as on long train rides to and from work. | |
2.4 Operating Environment | |
The Firefox OS News Reader is developed for use on the Firefox OS system. | |
2.5 Design and Implementation Constraints | |
Given the target user regions and the strong possibility for relatively poor network connectivity, the application must be able to perform its functions quickly when an active and strong internet connection is either expected or detected. Additionally, because the application is running on mobile devices and because many users may have poor access to electrical power the application must minimize power usage so as to prolong battery life as much as possible. The final application should take into account metered network access. | |
2.6 Assumptions and Dependencies | |
To be completed… | |
3. External Interface Requirements | |
3.1 User Interfaces | |
The user should be able to easily and intuitively access the news stories retrieved by the application. Zero configuration should be required. | |
3.2 Hardware Interfaces | |
A Firefox OS device is required. Minimum device hardware requirements to be determined. | |
3.3 Software Interfaces | |
The Firefox OS News Reader is an all in one program, no other software is required past a stock Firefox OS device. | |
3.4 Communications Interface | |
Access, at least intermittently, to any kind of network (Wifi, 2G, 3G..) is required to fetch news stories. | |
4. Other NonData | |
4.1 Licensing | |
Mozilla Public License (MPL) | |
4.2 Performance Requirements | |
Not applicable (yet) | |
4.3 Security Requirements | |
Not applicable | |
4.4 Software Quality Attributes | |
Since this product is mostly intended to be a research project quality attributes aren’t a primary concern. | |
4.5 Business Rules | |
Not applicable | |
5.6 User Documentation | |
Application Developer - (figure out what the standard is) Javadoc? | |
News Reader End User - No Documentation | |
6. Other Requirements | |
To be completed… |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment