Requirement Specification

advertisement
Requirements Specification
For
1nano Online
Preliminary Version
Revision 0.1
Authors: Tao Edward Chu, Theo Chu, Hou Man Joeng, Guang Li, Q. Ricky Sun,
Un Suthee, David Tong
Date: 2/10/2006
PROJECT ABSTRACT
Internet has become more and more popular in recent years, and hundreds of millions people
around the world spend plenty of their time online browsing websites, exchanging information,
chatting, etc. As the Internet being a major media for communication, this project aims to create
a user-friendly environment and convenient gateway for Internet users to meet new people, chat
with friends, and enjoy the experience of making a beautiful person space through easy-to-use
user panels.
DISTRIBUTION NOTES:
Review Deadline Date:
Review Meeting Date:
_________________________________
_________________________________
Comment(s):
_______________________________________________________
_______________________________________________________
_______________________________________________________
_______________________________________________________
Reviewer List:
Distribution List:
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Document Revision History
Revision Date
0.1
0.2
0.3
1.0
2006-02-10
yyyy-mm-dd
yyyy-mm-dd
yyyy-mm-dd
Author(s)
Q. Ricky Sun
Comments
Initial draft
Added … (Change 1)
Added … (Change 2)
Final Version
Page 2 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Product Overview
Purpose
This document describes the 1Nano Online Community in terms of functional requirements,
performance requirements, customer requirements, market analysis, and context. The
information is provided mostly by Marketing and Development. Its key use is by
Development as an aid in the design process. Quality Assurance also uses the document to
make sure customer demands are met. Also, Strategy and Marketing may refer back to the
document as a reference, and Customers may examine and/or provide input to the document.
Short Description
The 1nano Online Community aims to help people enhance their social life through the
environment of Internet and provide more opportunity to extend their social background
globally. It will allow users to create a person space using their web browser and make it a
showcase for everyone else that use the system. The interface of the space will be graphical
so that user could receive more customization options for it, as well as it being easier for
those not computer-savvy Internet surfers. Other functions of the virtual world include
forums, chatrooms, mini-games, and shopping malls.
Authors
Marketing is the main author of this document. Many other groups provided significant
research support and input on business and performance requirements. Contributors to this
document are listed as follows:
Name
Hou Man Joeng
Suthee Un Chaidaroon
Q. Ricky Sun
David Tong
Tao Edward Chu
Guang Li
Theophilus Chu
Team Role
Market Development
Market Coordination
Project Leader
Architectural Design
Architectural Engineer
Visionary
System Development
Target Audience
Target customers for our product are people that spend a considerable amount of their time
on the Internet, mainly students from junior high schools, high schools, and colleges. The
group of age 13-30 is expected to be majority users of our product, but people of all ages will
find themselves fit as long as they enjoy online socializing. This audience group should
Page 3 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
consider the sections: Introduction, Limitations, Functional Requirements, Market Analysis,
Licensing, Opportunity and Driving Forces, and Customer Profiles.
For the Development team, the Requirements section is the most relevant. In addition,
Marketing and Support may use this document as a reference.
Specification Flow
The Requirements Specification is the first document written after the project or feature is
approved for development. It depends mainly on Customers, Marketing, and Development
input before its conception.
Dependencies
Give customer input into the requirement specification. See Customer Profiles section for
more details.
Review Considerations
There are two distinct review processes for this document, which practically guarantees that
there will be at least two passes of this document. Customers need to review the document
for completeness and to ensure the customer needs are documented correctly; the
development team reviews the document to ensure there is enough information to write a
Functional Specification. Before this document is finished, development and the core team
need to feel comfortable that it is possible to execute the baseline deliverables.
Page 4 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Requirements Overview
Introduction to requirements
The idea of our project is based on the big and increasing Internet population nowadays.
1nano Online© is a web-based online community that users can virtually "live" on. User will
register for his/her own account as a personal ID for the community. With this account, user
will get access to all the components of the virtual world, such as their own virtual home,
forums, chatrooms, mini-games, and virtual stores.
The goal is to make users:
- easily construct a personal space (graphical) to show themselves to others
- more attached to their friends by communicating online
- have a new and convenient way to meet new friends
- spend their free time online joyfully
1nano Online© attempts to bring closer the gap between a text-only socializing site (such as
facebook and friendster) and a personal space provider site (such as xanga and MSN spaces).
The virtual home feature will be an integrated environment with a variety of personal space
options, while the other add-ons provide users a numbers of other ways to communicate, in
addition to visiting their virtual homes. Some sites require users to have basic HTML
knowledge to create beautiful personal spaces – 1nano Online will make the process easier by
employing a user panel for easy customization of the space.
The main interface of the virtual home is a flash-animated (or static) picture. User should be
able to perform a number of operations by clicking on the objects in the room. For example,
click on a diary on the desk to write an entry of personal journal. The components of a virtual
home are listed below*:
- A name tag on the door to show owner's profile
- A mailbox to hold messages from others
- A diary for personal journal (similar to a weblog)
- A contact book (friends list) [or a phone]
- A board on the wall for owner/visitors to leave words
- A photo album/gallery with pictures
- A calendar customized by user to show important events (e.g. a friend’s birthday)
- A shelf to hold gifts received from friends
- A box that contains virtual items (e.g. chocolate)
- Other furnitures/decorations
*Note: any feature listed could be optional depends on the time constraint of the course
Page 5 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Other than the virtual home, user will have the option to communicate through posting
threads on forums, talk in chatrooms, playing on-site mini-games, and shopping for virtual
items. More information on the specific components is provided in functional specification
section.
References / Contacts / Terminology
References:
Counselor:
Kurt Keutzer
Professor
UC Berkeley Computer Science Department
566 Cory Hall
(510) 642-9267
keutzer@eecs.berkeley.edu
Relevant Websites:
MSN spaces
Xanga Weblog Community
The Facebook
Friendster
http://spaces.msn.com/
http://www.xanga.com/
http://www.facebook.com/
http://www.friendster.com/
Contacts:
The following people should be contacted regarding this document, in the priority of
listed order.
Hou Man Joeng [Project Marketeer]
thinbear@berkeley.edu
Q. Ricky Sun [Project Leader]
rickysun@berkeley.edu
David Tong [Project Architectural Design] davidtong@berkeley.edu
Terminology:
N/A, this product does not involve technical terms
Limitations
This document is a work in progress. As we continue to receive further user input, as well as
more closely investigate the practicality and feasibility of feature implementation, this
document (and the final product) will evolve to reflect necessary and desirable changes. At
this point, any feature in the virtual room or other add-ons may be added or removed
according to further market responses.
Page 6 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
While 1nano Online provides user the most flexibility as possible to customize their personal
space, because it is a web-based application, the functions are limited by the technology of
latest web-browsers.
Page 7 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Requirements
This section is to fully describe the requirements as they are known and understood by marketing.
Include rationale, trade-offs, assumptions, and priorities (as understood by marketing) as
appropriate.
Functional Requirements
Include subsections for each major subsystem that you will have. Order these subsections in
decreasing order of priority i.e. most important to least important.
For each subsystem, describe:
 The baseline deliverables, i.e. what is absolutely essential to making this product /
project worthwhile.
 The nominal deliverable, i.e. what is the expected result of the project/product.
 The perfect solution, i.e. everything the customers want.
Sometimes a picture is worth a thousand words. Use the 'Picture' option under the "Insert"
menu to draw a picture or include a previously drawn picture.
System Requirements
Include:
 What operating systems should be supported.
 Performance/ speed requirements.
 Memory requirements
 Performance / speed requirements.
 Data capacity requirements (e.g. design size / file size requirements).
 Include other software requirements, internet connectivity etc. if required.
User Interface Requirements
This section describes any customer user interface requirements including graphical user
interface requirements as well as data exchange format requirements. As in the functional
requirements stage, include baseline deliverables as well as the ideal solution.
This is also a good place where a picture might help.
Other Interface Requirements
In this section, describe the internal and external interface requirements. Examples of
interfaces are:

Compatibility with other tools
Page 8 of 13
Requirements Specification
Version 0.1

Team 1Nano
CS 169
File format requirements
Security Requirements
In this section, if your application deals with private data, indicate the security features to be
built into the application.
Internationalization Requirements
In this section, discuss any features that will have to be implemented if your application is to
be used internationally.
Page 9 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Market Overview
Market Analysis -- General Market Overview
In this section, the overall market opportunities for your product should be discussed.
Overall market review
Revenue potential
Market timing considerations
Specify any requirements on for delivery to consumers including delivery of beta
software, if applicable.
Summary of Opportunities and Driving Forces
Summarize the reasons this product / project is worthwhile and explain the priorities which
were assigned to the requirements. Examples of driving forces or opportunities are
competitive reasons, customer satisfaction, and new market penetration.
Market Analysis -- Competitive Landscape
Give the details of the summary from the previous section. Include details on:
Competitors’ positions
Include details on the competitors that you will face in your product
Competitive differentiators and barriers
This includes how you differentiate yourself from your competitors
Benchmarks
This section should detail the types of testing that your product needs to undergo. Try to
include different types of tests for different important aspects of your program
(functionality testing is essential, and others can include security, response time, storage
requirements etc.)
Metrics
This section should include the metrics that you will provide in a survey of beta testers
on the basis of which you can make changes in your requirements. These can include:
usability of GUI, satisfaction/usability of existing features, whether they would be
willing to buy the product and so on.
Page 10 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Support
This section includes any special training that will be required by customers, any help
features that need to be provided in the application, online support and so on.
Licensing
This section outlines your licensing policy.
Customer Profiles -- General Profile
Describe a general profile of customers who are expected to use this product. Include
information about their work environment and work flow (e.g. what 3rd party tools they
interface with). Include a rough picture of the sophistication level of customers.
Customer Profiles – Example Profiles
Put the information about the customers who gave input and / or provided feedback on this
document here. Include all information about the customer including contact names,
professions, date of interview, a description of their work environment and work flow (e.g.
what 3rd party tools they interface with), and the feedback that was given. If the customer
has a preferred solution, that information should also go here as well as any considerations
that are specific to the customer and must be taken into account when a solution is decided
upon.
Affect on Methodology
Describe any major changes to the methodology which might be caused by this product. Be
sure to include a description of any changes caused by Semiconductor Vendor issues. A
methodology specification will be written after this requirements specification has been
completed. This section is not meant to duplicate the methodology specification but there
needs to be an awareness of major methodology issues up front
Dependencies / Assumptions
In this section, list any assumptions or dependencies on other products. Also state any
assumptions you make regarding the inputs to your system.
Issues
Open
Resolved
Page 11 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Checklist
The following checklist is provided to help the reviewers (and author) prepare for the review
by providing a set of questions for the reviewer to answer about the specification document.
If the answer to any question is "no", that item should be identified as an issue at the review.
The checklist is only a guideline; it should not be solely relied upon for a complete review.
Reviewers may want to add their own questions to the checklist.
Y
___
___
___
___
___
___
N
___
___
___
___
___
___
CONTENT
Do the requirements state the customers needs?
Do the requirements avoid specifiying a solution?
Do the requirements avoid specifying a design?
Are you satisfied with all parts of the document?
Do you believe all parts are possible to implement?
Is each part of the document in agreement with all other parts?
COMPLETENESS
___
___
___
___
___
___
___
___
___
___
___
___
___
___
If the requirements properly prioritized?
If there are requirements imposed by third party products, are those requirements listed?
Are all of the necessary interfaces specified, including input and output?
Are all performance requirements (e.g. speed, memory, capacity) specified?
Where information isn't available before review, are the areas of incompleteness specified?
Are all sections from the document template included? If not, is there reason for the changes?
Are you willing to accept the specification with the items in the open issues section unresolved?
CLARITY
___
___
___
___
___
___
___
___
Are all requirements reasonable?
Is the level of detail of each requirement appropriate?
Are the requirements written in a language appropriate to the audience?
Are all items clear and not ambiguous? (Minor document readability issues should be handled offline, not in the review, e.g. spelling, grammar, and organization).
Page 12 of 13
Requirements Specification
Version 0.1
Team 1Nano
CS 169
Appendix: Methodologies Employed to Create the Requirements Specification
Describe all techniques used to gather requirements. Give as much primary (original) data as
possible: scans of rough sketches shown to customers, jpgs of pictures drawn on whiteboards,
notes of interviews etc.
Be sure to give the original description of use cases as gathered from customer interviews.
Techniques employed to gather requirements may include:
 Interviewing
 Structured versus unstructured interviews
 Questionnaires
 Forms analysis
 Video cameras/focus groups
 Scenarios
 Story boards
 Trees
 Rapid prototyping
Page 13 of 13
Download