Deliverables I
COP 4331 Section 1 • Fall 2010
| Version | Date | Who | Comment |
| v1.0 | 09/13/10 | Andrew Harmic | PMP Initial Template Modifications |
| v1.1 | 09/15/10 | Tyler Zaino | ConOps Baseline |
| v1.2 | 09/16/10 | Jason Heintz | SRS Initial Update |
| v1.3 | 09/19/10 | Aaron Birencwaig | SRS Update |
| v1.4 | 09/20/10 | Stephen Rodriguez | Initial Test Plan Created |
| v1.5 | 09/21/10 | Andrew Harmic | PMP Complete |
| v1.6 | 09/21/10 | Jason Heintz | SRS Integration of All Parts |
| v2.0 | 09/22/10 | Karl Banks | Deliverables I Completed |
Contents of this Document
1 Concept of Operations1.1 The Current System
1.2 The Proposed System
1.2.1 Needs
1.2.2 Users and Modes of Operation
1.2.3 Operational Scenarios
1.2.4 Operational Features
1.2.5 Expected Impacts
1.2.6 Analysis
2 Project Management Plan
2.1 Project Overview
2.2 Reference Documents
2.3 Applicable Standards
2.4 Project Team Organization
2.5 Deliverables
2.6 Software Life Cycle Process
2.7 Tools and Computing Environment
2.8 Configuration Management
2.9 Quality Assurance
2.10 Risk Management
2.11 Table of Work Packages, Time Estimates, and Assignments
2.12 PERT Chart
2.13 Technical Progress Metrics
2.14 Plan for Tracking, Control, and Reporting of Progress
3 Software Requirements Specification
3.1 Introduction
3.1.1 Software to Be Produced
3.1.2 Reference Documents
3.1.3 Applicable Standards
3.1.4 Definition, Acronyms, and Abbreviations
3.2 Product Overview
3.2.1 Assumptions
3.2.2 Stakeholders
3.2.3 Event Table
3.2.4 Use Case Diagram
3.2.5 Use Case Descriptions
3.3 Specific Requirements
3.3.1 Functional Requirements
3.3.2 Interface Requirements
3.3.3 Physical and Environment Requirements
3.3.4 Users and Human Factors Requirements
3.3.5 Documentation Requirements
3.3.6 Data Requirements
3.3.7 Resource Requirements
3.3.8 Security Requirements
3.3.9 Quality Assurance Requirements
3.4 Supporting Material
4 Test Plan
4.1 Introduction
4.1.1 Overall Objective for Software Test Activity
4.1.2 Reference Documents
4.2 Description of Test Environment
4.3 Overall Stopping Criteria
4.4 Description of Individual Test Cases
1 CONCEPT OF OPERATIONS
1.1 The Current System
Currently there are a countless number of news websites accessible through a mobile web browsers and mobile applications. Each system has their own unique way of administering the news to their readers' phones. Some news outlets have a mobile version of their website that all phones with internet can access via their web browser. Others have created news applications for specific mobile phone operating systems, mainly Android and iOS. These applications typically list the current news stories, and when selected, the application routes the phone to the article on the news website.1.2 The Proposed System
1.2.1 Needs
The proposed system is a mobile news application that is created from an existing news website. This will allow users with mobile devices running an Android operating system to access the current news stories via this application. The application features must include:• Must start up to an image depicting a current top news story.
• Five sections of stories, US, World, Entertainment, and Sports.
• Display five items per news section with the option to see more news stories.
1.2.2 Users and Modes of Operation
The users of the mobile phone application will be virtually anyone that is running a cell phone with an android operating system. Only a normal operational mode will be needed. The lack of a maintenance mode is due to the fact that all changes to the system will occur during system updates.1.2.3 Operational Scenarios
A typical operational scenario is a user trying to access the top headlines of the day in sports. The user will simply load the application, click the sports tab, and the top headlines will appear.Another typical operation scenario would be if a user is looking for a news story about an event that occurred in the US on the previous day. The user would load the application and navigate to the US subsection. Once there, the user will click the "Read More" button. The list of headlines will grow, and now the user will be able to scroll through and find the headline they were in search of.
An atypical situation would be when there are too many users trying to access the mobile website at once. This can either be intentional or non-intentional. When this occurs the users will generally experience a slow response time from the application. In the worst case scenario users will experience a denial of service where they will be temporarily unable to access the news stories via the application.
1.2.4 Operational Features
Must Have• Consistent access to current news stories – To ensure the application has the most up-to-date news stories.
• News Subsections
• News Archives
Would Like to Have
• Users able to make comments on stories
• Photo gallery
1.2.5 Expected Impacts
This news application will also give the media a new channel in which people will be able to collect their news. It will provide a quicker alternative to trying to load the regular website on a mobile phones built-in browser.The application will allow news to be delivered at a much more reliable and quicker rate. It will also impact both the people the people that follow the news closely, and the others that follow it casually. To the casual user, its quick and simple way to read the headlines on the go. For those who follow the news consistently, this application will provide them with up to the minute developments of everything that is happening in the media.
1.2.6 Analysis
Expected Improvements• Availability to access the news stories conveniently from a mobile phone.
• An easy to utilize user interface
Disadvantages
• No Apple iOS support
Limitations
• Time constraints
Risks
• None
Alternatives and Tradeoffs
• None
2 PROJECT MANAGEMENT PLAN
2.1 Project Overview
In recent years, smart phones have gained popularity. It is predicted that in the next few years most of the users will access the internet on their mobile devices.We will create an Android application for the popular news website CNN.com.
It will provide "almost" the same amount of information as its non-mobile counterpart.
2.2 Reference Documents
• Concept of Operations2.3 Applicable Standards
• Coding Standard• We will follow the Java coding standard: Code Conventions for the Java Programming Language
• Document Standard
• All deliverables will follow the templates found on the following webpage: http://www.eecs.ucf.edu/courses/eel5881/ProjectTemplates.html
• Artifact Size Metric Standard
• We will not follow any set standard at this time.
2.4 Project Team Organization
The project team consists of Karl Banks, Aaron Birencwaig, Andrew Harmic, Jason Heintz, Stephen Rodriguez, and Tyler Zaino. No single group member will take on the role of project manager. Instead, we will collectively share the responsibility. We have elected to delegate the work for each artifact as a team. Each artifact will have one or two managers. Here is the current artifact management list:• Concept of Operations
• Tyler Zaino
• Project Management Plan
• Andrew Harmic
• Test Plan
• Stephen Rodriguez
• Software Requirements Specification
• Aaron Birencwaig
• Jason Heintz
Karl Banks is responsible for the group website and the compilation of all deliverables into a single PDF file. Currently, communication will consist of informal meetings after class where we can quickly discuss key project details. Email will serve as the primary form of communication.
2.5 Deliverables
| Artifact | Due Dates |
| Meeting Minutes | N/A |
| Individual Logs | Weekly via email or in class meetings |
| Group Project Management Reports | Biweekly if necessary |
| Concept of Operations | 09/23/10 |
| Project Plan | 09/23/10 |
| Software Requirements Specification | 09/23/10 |
| High-Level Design | 10/26/10 |
| Detailed Design | 10/26/10 |
| Test Plan | 09/23/10 |
| User's Manual | 11/30/10 |
| Final Test Results | 11/30/10 |
| Source, Executable, Build Instructions | 11/30/10 |
| Project Legacy | 11/30/10 |
2.6 Software Life Cycle Process
We will use the waterfall model with prototyping. We have decided on this model because we are not experienced developing Android applications. Prototyping will be useful for verification and validation during the test phase.
2.7 Tools and Computing Environment
• Windows OS• Java Programming Language
• Eclipse Classic 3.5.1 or higher
• JDK 6
• Android SDK
• Android 2.2 Platform
• Android Development Tools (ADT) Plugin for Eclipse
2.8 Configuration Management
We will use Subversion to handle version and change control. Karl will be responsible for managing the version control software and repository. Every team member should make an effort to learn Subversion and the general procedures for working with a version control system. If we have difficulty using Subversion, we will resort to email to ensure that every team member has the most recent version of the project.2.9 Quality Assurance
Each team member is responsible for testing their own code. Modules and any necessary code will be tested by the team before being added to the main project. Any prototype built during development will not serve as the final product. If possible, the team will meet with the client and update the project's progress. A possible demonstration of a functional prototype will make sure that we as a team are meeting the client's specifications. Also, it will allow the client to give feedback and specify any functionality that should be added or removed.2.10 Risk Management
We do not see any apparent risk(s) that will prevent project completion at this time. Any risk identified during development will be updated ASAP.2.11 Table of Work Packages, Time Estimates, and Assignments
| Work Package | Time Estimate (weeks) | Assignment |
| Initial Documentation | 4 | Team |
| High-level Design | 2 | Team |
| Detailed Design | 2 | Team |
| Prototyping Phase | 12 | Team |
| Coding Phase | 3 | Team |
| Testing Phase | 1 | Team |
| Final Documentation | 4 | Team |
2.12 PERT Chart
2.13 Technical Progress Metrics
• Requirements Phase• Number of requirements
• Number of requirement changes
• Number of TBDs
• Analysis and Design Phase
• Number of UML diagrams
• Number of revisions completed
• Detailed Design and Coding Phase
• Number of classes
• Number of methods
• Test Phase
• Number of test cases
• Number of passing/failing requirements
2.14 Plan for Tracking, Control, and Reporting of Progress
Team members should share the following information weekly via email or in class meetings: individual time and activity log, individual status information, individual issues and problems, and individual defect log.Each week, the team will: read and analyze the logs; examine the technical content of the work done to date; examine the technical progress metrics; consider the QA results; reassess the potential project risks, if any; and take corrective action if necessary.
If project management becomes a problem, the team will issue a Project Management Report on the schedule as indicated in the deliverables section above. At a minimum, the Project Management Report will be generated every two weeks and will include the following information: 1 sentence description of overall status, 1 or 2 sentence of any planned changes to the project plan, graph of planned vs. actual time, graph of planned vs. actual for each technical progress metric, updated PERT chart.
3 SOFTWARE REQUIREMENTS SPECIFICATION
3.1 Introduction
3.1.1 Software to be Produced
Everyday people depend on their smart phones for a variety of things from social networking to maintaining their finances, so it is only natural to provide them with a way to stay up to date with the current news and information. We will be producing an Android operating system based mobile application that will replicate a real world news website. This mobile application will contain the same type and amount of information as a regular news website, but it will provide the information to the user on their smart phone. The product will be an all inclusive application that can be loaded onto any smart phone running an Android operating system.3.1.2 Reference Documents
• Concept of Operations• Project Management Plan
3.1.3 Applicable Standards
None3.1.4 Definition, Acronyms, and Abbreviations
None3.2 Product Overview
3.2.1 Assumptions
We will assume that all users who chose to install the News Phone application will be using either an Android phone emulator or an android phone running software versions of 2.0, 2.1, or 2.2. We will also assume that there is more than one megabyte of free space available on either the hard disk of the computer and/or the android phone of the user. Since our program is relatively simple. We assume that any processor above a Pentium IV or any android phone running the versions of software listed above can be fully capable of running our News Phone application nearly flawlessly.3.2.2 Stakeholders
For the News Phone application there will be a couple of different stakeholders. The first group of stakeholders is the developers. The six of us developing this software will have the most interest in the software because it is our class project. The next stakeholder will be our client. Our client for this project is our teaching assistant, Himanshu Pagey. He is the next person most interested in the project because he is representing a customer who we are creating the software for. Our final stakeholder is our Professor, Dr. Damla Turgut, she is the ultimate person we are creating this software for.3.2.3 Event Table
| Event Name | External Stimuli | External Responses | Internal data and state |
| Opening News Phone | Clicking on the Phone application | A single image depicting a single important headline news item, with a drop down menu. Below this should be 5 sections US, World, Money, Entertainment and Sports. | Data and picture will be gathered from the news website. It will be in the beginning News App state. |
| Opening drop down bar | Clicking on the drop down bar | The drop down bar will provide the user with the options to read about US, World, Money, Entertainment and Sports | This provides the user the option to transfer between states, if the user decides to read more about a certain topic. |
| Opening US news | Clicking the US news Option | The response would be the display of 5 items of US news and then the option to show more. | This would be in the US news state; the data would come from the news website. The option to show more would simply provide more articles from the same section of news. |
| Opening World News | Clicking the World news Option | The response would be the display of 5 items of World news and then the option to show more. | This would be in the world news state; the data would come from the news website. The option to show more would simply provide more articles from the same section of news. |
| Opening Money | Clicking the Money news Option | The response would be the display of 5 items of Money news and then the option to show more. | This would be in the Money news state; the data would come from the news website. The option to show more would simply provide more articles from the same section of news. |
| Opening Entertainment News | Clicking the Entertainment news Option | The response would be the display of 5 items of Entertainment news and then the option to show more. | This would be in the Entertainment news state; the data would come from the news website. The option to show more would simply provide more articles from the same section of news. |
| Opening Sport News | Clicking the Entertainment Sport Option | The response would be the display of 5 items of Sport news and then the option to show more. | This would be in the Sport news state; the data would come from the news website. The option to show more would simply provide more articles from the same section of news. |
| Exit state | This is by clicking the button to leave the phone app program | The response would be exiting the News Phone Application | This is the exit state; this will simply allow the user to leave the phone News application program. The next time the phone application is opened, it will begin in the Open News Phone State. |
3.2.4 Use Case Diagram
3.2.5 Use Case Descriptions
The use case diagram for the News Phone Application is very simple and straight forward. Many users will be able to use the application. Then the application will interface with the five different sections of news being provided. The single application will get many news articles for each topic. Each news topic when called upon will get its news sources directly from an internet news website. This action of getting the news articles from the website will be of the type include, because it will be automatically done when the News Phone Application goes to get information for each news section.3.3 Specific Requirements
| No: 001 |
| Statement: The News Phone Application shall display content on the following five areas: US, World, Money, Entertainment, and Sports |
| Source: Client |
| Dependency: None |
| Conflicts: None |
| Supporting Materials: Use Case Diagram |
| Evaluation Method: The user will be able to view news content on the five different areas. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 002 |
| Statement: The News Phone Application shall depict a single important headline news item at its home screen. |
| Source: Client |
| Dependency: None |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: When the user first opens the News Phone Application, on the home screen there will be a picture corresponding to a recent important news article. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 003 |
| Statement: The News Phone Application shall have a drop down available that lists all news sections covered. |
| Source: Client |
| Dependency: Requirement 001 |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: Inside the News Phone Application the user will be available to select a drop down lists that contains links to all the news sections covered by the application. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 004 |
| Statement: The News Phone Application shall display, at the minimum, five news items per news section covered. |
| Source: Client |
| Dependency: Requirement 001 |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: Inside the News Phone Application the user will be available to view at least five news articles for every news section. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 005 |
| Statement: The News Phone Application shall give the user the ability to show more news articles for each news section covered. |
| Source: Client |
| Dependency: Requirement 004 |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: Inside the News Phone Application the user will be able to choose if they wish to see more than five news articles per section covered. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 006 |
| Statement: The News Phone Application shall display an error message whenever the application fails to connect to the internet. |
| Source: Developers |
| Dependency: None |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: If the host phone running the application loses its internet connection, the application will display an error message stating the problem. |
| Revision History: Created, 09/21/10, Jason Heintz |
| No: 007 |
| Statement: The News Phone Application shall display content for every link within five seconds upon execution of that link. |
| Source: Client |
| Dependency: None |
| Conflicts: None |
| Supporting Materials: |
| Evaluation Method: When any link inside the News Phone Application is selected, the corresponding content shall display in no more than five seconds. |
| Revision History: Created, 09/21/10, Jason Heintz |
3.3.1 Functional Requirements
We will strive to make the Phone application software perform flawlessly. We will do this by only using stable news sources as sources for our news articles that we will acquire. If there are any errors in the input or a problem exporting the output, we would like our app to output an error message instead of freezing, the same also in the case that the phone has no reception or service. The application will not input needless articles that are irrelevant to what we would like to provide for the users reading; this means that our input to output ratio will not be dramatically different.3.3.2 Interface Requirements
The News Phone application will be ran on an Android Operating System based phone, and will have to interact with that software. The application will also interface with the internet in order to obtain up-to-date news information. For our inputs to the software we will pull news information from one or several different news websites, to make up the following news sections: US, World, Money, Entertainment, and Sports. Then we will output all of the information to our smart phone application. Data will be of three different types, it will either be: a picture, text, or a hyperlink. Wherever applicable a picture will be displayed with a news article that is in plain text. Then when possible a hyperlink will be provided to allow the user to gain further information on the topic. All news information will be updated every 5 minutes at the most.3.3.3 Physical and Environment Requirements
The News Phone application must run on either: Android phone emulator software or any Android phone running the following versions: 2.0, 2.1, or 2.2. The application should not be run on anything other than what is stated above, if run on anything other than listed above, it is not possible to predict the outcome. The location of the equipment that is to be used is either a computer or a cell phone. So if the user wants to make sure that the application is working, it is best to keep the computer free of viruses or anything that would inhibit the application from working properly. In order to keep the phone operating properly, it needs to not be damaged in such a way that the software could not run.3.3.4 Users and Human Factors Requirements
The News Phone application will support any type of user. A user will only need to have the general knowledge of the workings of their smart phone in order to use the application. For this application, there will be no necessary training nor documentation because the application will only be providing pictures and texts with links. At this point, no potential misuse to the system can be seen because it will only contain text and links.3.3.5 Documentation Requirements
The News Phone application will be extremely simple to use. The users of this software will only have to posses' nominal technological skills in order to use it properly. This is not an application that requires any extensive knowledge in any applications nor will it only be usable by skilled users. This program will not require a read me file because it is very simple to use. If a readme file is requested one will be made at that time.3.3.6 Data Requirements
The News Phone application will crawl one or several news websites and retain information regarding top news stories. It will then post all obtained information in a smart phone application format. All information will be updated every five minutes at the most. The application will store up to 10 news articles for each section, and any corresponding pictures for each article.3.3.7 Resource Requirements
The News Phone application is not extremely difficult to make, but it will need intermediated level programming skills with above beginner level skills in object oriented programming. The application will be programmed on machines that are running the windows operating system, using the java compiler, Eclipse. The actual software programming will either be conducted at UCF and/or the dwellings of the team members that are associated with this project. The time frame of this programs completion date is within the next three months and the funding for the product is solely from the students who are involved in developing it.3.3.8 Security Requirements
Because all information displayed by the News Phone application will be obtained from the internet via free websites the posted information will not have to be controlled. Due to this there will be no need for controlled access to the application. Also, since all information will be current news all information will be the same for every user and no data will need to be stored on a per user basis. The News Phone application will run completely isolated from all other applications and will only interface with the Android operating system to access the internet to get current news information. Because all information is current and up-to-date news articles there will be no need to store backups of any information that the application displays. Therefore since no information is pertinent and is required to be backed up there is no need for recovery of any information. If there is any damage to the smart phone or the operating system itself, the News Phone application can be downloaded once the damage is fixed. All damage to the smart phone or operating system cannot be controlled or prevented by the software and has no direct correlation.3.3.9 Quality Assurance Requirements
The News Phone Application will be accessible when there is a non-interrupted connection to the news source in which it is accessing; this means that if the source goes down, then the application cannot function. There is no need for advanced security as their will be no passwords or personal information that is transferred via this application. The maintenance for this device should take no more than thirty minutes for new versions to be installed. The portability is phenomenal as the application can travel where the phone travels providing that the phone its internet service. We can demonstrate the quality by doing tests to make sure that all links work properly and that it works at different times and during repeated tests. If there is to be a fault, such as the source as to where we are getting our news is temporarily not working, our application is to post an error. This should fix itself as soon as the news source fixes its error. The application will be available for news viewing twenty four hours a day, seven days a week; the response time should take no more than five seconds for every link accessed.3.4 Supporting Material
Client Requests:• A single image depicting a single important headline news item.
• Above this a drop down that lists all sections of a news website
• 5 sections US, World, Money, Entertainment and Sports on the front page.
• Display 5 items per section and then display show more.
4 TEST PLAN
4.1 Introduction
4.1.1 Overall Objective for Software Test Activity
• The objective for the Software Test Activity is to ensure that the mobile application meets all of the standards of the client, as well as ensuring the software runs without any errors.• The software test effort should be able to catch any bugs in the application. By catching the errors in the test effort, it will ensure that application of the highest quality will be delivered to the client.
4.1.2 Reference Documents
• Concept of Operations• Project Management Plan
• Software Requirements Specification
4.2 Description of Test Environment
The hardware that will be used to test the mobile application will be a mobile phone running at least the Android 1.6 operating system. Also, when developing the software, an Android simulator will be used. The testers will include both the developers of the software and users who have never used the application before. The application will be tested on multiple phones running different versions of the Android operating system.4.3 Overall Stopping Criteria
Testing will continue until a fatal error has been reached. All of the errors prior to the fatal one will be recorded. The list of errors will then be replicated and corrected, including the fatal error. Once no errors are found during a test run, the software will be thoroughly tested by each team member to provide a sufficient amount of test cases for the error-free software. A product that is considered "good enough to deliver" is a product in which there are no known errors in the cosmetics and the software.4.4 Description of Individual Test Cases
| Test Objective | Test Description | Test Conditions | Expected Results |
| The ability to connect to the website. | The user will run the application. | The phone will be rebooted, and the application will be run. | The application will boot up completely in a sufficient amount of time. |
| The ability to switch between sections of the news. | The user will start from the front page of the application and select each of the 5 news sections. | The application will be started, and the test will begin at the home page. After each section is loaded, a different one is picked until all sections have been visited. | The application will be able to load each section successfully regardless of the active section. |
| The ability to select sections from the drop down list. | The user will start from the front page and select each of the sections from the drop down list. | The application will be started, and the test will begin at the home page. After each section is loaded, a different one is picked until all sections have been visited. | The application will be able to load each section successfully from the drop down list. |
| The ability to have a "show more" button. | The user will be shown a 5 articles per section. If the user wants to read the rest of the stories, he/she will be able to select a "show more" button and the full story will be shown. | The user will load the application and select the "show more" button to see past articles. | When the user selects the "show more" button, a longer list of articles show. |
