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