Notes Guru

Prepared by: Dipali Mhetre, Aparna Patil, Jia Bin Huang

Brooklyn College

12th May 2010

Software Requirements Specification for Notes Guru

Page 1

Table of Contents
Table of Contents.................................................................................................1 1. Introduction......................................................................................................3 1.1 Purpose ............................................................................................................................3 1.2 Document Conventions [1]................................................................................................3 1.3 Project Scope [1]...............................................................................................................4 2. Overall Description............................................................................................5 2.1 Product Perspective...........................................................................................................5 2.2 Product Features...............................................................................................................5 2.3 User Classes and Characteristics [1].................................................................................5 2.4 Operating Environment.....................................................................................................6 2.5 Design and Implementation Constraints...........................................................................6 2.6 User Documentation..........................................................................................................6 2.7 Assumptions and Dependencies [1]..................................................................................6 2.7.1 Login requirements.....................................................................................................6 3. Use Cases..........................................................................................................7 3.1 Use cases by Module........................................................................................................7 3.2 Use Cases by user..........................................................................................................14 3.2.1 Use Cases associated with Student/Professor...........................................................14 3.2.2 Use Case associated with Professor.........................................................................18 3.2.3 Use Case associated with Moderator........................................................................18 4. Functional Requirements Specification [1].......................................................20 4.1 Register...........................................................................................................................20 4.2 Login................................................................................................................................20 4.3 Edit Profile.......................................................................................................................21 4.4 Search Notes...................................................................................................................22 4.5 Share Notes.....................................................................................................................23 4.6 Comment on/Rate Notes.................................................................................................23 4.7 View Contact Information................................................................................................24 4.8 Publish Notes...................................................................................................................25 5. Sequence, Class and CRC Diagrams..................................................................25 5.1 Sequence diagram for Searching Notes –........................................................................25

Software Requirements Specification for Notes Guru

Page 2

5.1.1 Failed Case:..............................................................................................................25 5.1.1 Successful Case:.......................................................................................................26 5.2 Sequence diagram for Sharing Notes –...........................................................................27 5.3 Class diagram –...............................................................................................................29 5.4 CRC diagram –.................................................................................................................30 6. User Interfaces................................................................................................31 6.1 Login / Sign up Sample Interface.....................................................................................31 ..........................................................................................................................31 6.2 Home Page Sample Interface..........................................................................................32 6.3 User Profile Sample Interface..........................................................................................33 .............................................................................................................................................33 6.4 Search Notes Sample Interface.......................................................................................34 .............................................................................................................................................34 6.5 Share Notes Sample Interface.........................................................................................35 .............................................................................................................................................35 6.6 Comment/Rate Sample Interface....................................................................................36 .............................................................................................................................................36 6.7 View contact Sample Interface........................................................................................37 .............................................................................................................................................37 6.8 Screen Flow.....................................................................................................................38 6.9 Hardware Interfaces........................................................................................................38 6.10 Software Interfaces.......................................................................................................39 6.11 Communications Interfaces...........................................................................................39 7. Other Nonfunctional Requirements...................................................................39 7.1 Performance Requirements.............................................................................................39 7.2 Safety Requirements.......................................................................................................39 7.3 Security Requirements....................................................................................................40 8. Other Requirements.........................................................................................40 Appendix A: Glossary..........................................................................................40 References...........................................................................................................................40

Software Requirements Specification for Notes Guru

Page 3

1. Introduction

1.1 Purpose
The purpose of this document is to present a detailed description of the Knowledge Sharing System. It will explain the purpose and features of the system, the interfaces of the system, what the system will do, the constraints under which it must operate and how the system will react to external stimuli. It will also explain the working of the system through diagrams and use cases. This document is intended for both the stakeholders and the developers of the system and will be proposed to the Brooklyn College Computer Science Department for its approval.

1.2 Document Conventions

[1]

The next chapter, the Overall Description section, of this document gives an overview of the functionality of the product. It describes the use classes and is used to establish a context for the use cases in the next chapter.

which can then be converted to badges and can mean additional career opportunities. . which will then be reviewed by moderators and then published to the website.Software Requirements Specification for Notes Guru Page 4 The fourth chapter. The more notes a student uploads the more points they earn. Both sections of the document describe the same software product in its entirety. More specifically this system will allow students to submit notes to the website.3 Project Scope [1] This Knowledge Sharing system will provide a social learning environment to students where they can share their study materials. Requirements Specification section. engage in collaborative learning and get peer-feedback while building their online academic profiles for internships and career opportunities. but are intended for different audiences and thus use different language. of this document is written primarily for the developers and describes in technical terms the details of the functionality of the product. The professors are a different set of users who can view various notes and comment on them and can contact the students for various research opportunities. Notes Guru’s university and class specific communities will provide a relevant and intuitive social learning environment for thousands of students form universities across the globe. 1.

2. upload notes.1 Product Perspective This is a new and independent system. [1] 2.Software Requirements Specification for Notes Guru Page 5 2. comment on notes . Overall Description 2.3 User Classes and Characteristics There will be 3 kinds of users for this system – Students: Students may search notes.2 Product Features The system will have the following features: • • • • • • • User register to system User login to system User searches for Notes [2] User shares Notes. uploads them to the system User edits their Profile User posts comment/rates particular Notes [2] [2] Professor views contact information of student for Research opportunity. It may however be linked with other social networking sites in the future.

and Opera. i. Netscape Navigator.Software Requirements Specification for Notes Guru Page 6 Professors: Professors will have the same rights as students.e.4 Operating Environment The system is web-based and will be hosted by a web server. This is true for both the Student and Professors. 2. for plagiarism. 2. It can be viewed by any web browser. .7 Assumptions and Dependencies 2.6 User Documentation User documentation will be available in the form of online help.5 Design and Implementation Constraints There are no constraints as of now. Moderators: Moderators have special rights to publish/delete Notes. etc. they may use the system to view contact information for student for their Research Projects/Programs.1 Login requirements [1] To make a valid registration a user must have a legitimate university e-mail id. which will be a part of the system itself. Checking notes of students is their main job. 2.7. the moderator on the other hand can be given special registration incentives. Internet Explorer. and has been tested for compliance with Mozilla. 2.

1 Use cases by Module According to David Lorge Parnas. it essentially requires decomposition of the system. we have divided our system in 6 basic modules – • • • • • • Access Notes Share Notes Peer Evaluation Access Member Information Access Personal Information Backend Information Management Use case Associated with Modules [4] – . [3] Keeping that in mind.Software Requirements Specification for Notes Guru Page 7 3. it might contain one or more programs to accomplish the task. Module of a system is task specific. structural description of a system is an effective way to explain the work flow through the system. One of the best ways to decompose the system is to divide it into different ‘modules’. Use Cases 3.

search by University or search by course. .case shows an “extends” relationship with the ‘Validate User’ use case. Clearly. a user can delete only his notes and not anyone else’s. Rate Notes and Search for notes. There are commonalities in their behavior. purpose and structure in the search notes use cases.Software Requirements Specification for Notes Guru Page 8 With the help of this module a user (registered or unregistered) can Read Notes. since only a valid user can delete notes. The ‘Delete Notes’ use. The Use case diagram also shows a generalization between the ‘Search Notes’ Use cases because notes can be searched in various ways like search by topic.

Moderators evaluate the notes and make a decision either Publishing/Declining them. When a user submits notes they are temporarily stored into a buffer. The notes are thoroughly moderated before approval to avoid plagiarism and publishing of anything inappropriate. ‘Notes Repository’ is a passive actor who participates in various tasks but doesn’t actively initiate any action. the ‘User’ is essentially a registered member of the system. If the notes .Software Requirements Specification for Notes Guru Page 9 In the ‘Share Notes’ module. ‘User’ is an active actor who initiates various actions whereas. This module enables the user to submit/post notes onto the system. which makes appropriate changes into the ‘Data Repository’. The ‘Publish Notes’ Use case is extended by ‘Upload/Change Data’ Use case.

The ‘Upload/Change Data’ is an extended use case which makes the changes in the ‘Notes Repository’. User can read comments and post comments using this module. the ‘Validate User’ Use case checks the authenticity of user. . Thus. The comments and ratings are immediately posted once the user confirms them. A user can delete only his/her notes.Software Requirements Specification for Notes Guru Page 10 are declined ‘Clear Buffer’ will simply clear the notes from the temporary buffer.

Only privileged users (Registered Professors) have the right to view contact details of all the registered members.Software Requirements Specification for Notes Guru Page 11 The system has imposed some restrictions over accessing member information. A registered student can only view profiles of the members and can search for member students. send emails to other members and search for other professors. The generalization on ‘Search Student’ Use case suggests that the system give the user options to search by University or search by course. .

The authentication of the user is checked before making any changes. Once a user completes the registration requirements additions are made into the ‘Member Information Database’ using the ‘Upload/Change Data’ Use case. Using this module a registered user can login to the system and change his/her personal information. .Software Requirements Specification for Notes Guru Page 12 An unregistered user can register into the system using this module.

not directly visible to the user. Any change detected is extended by the .Software Requirements Specification for Notes Guru Page 13 There are lots of processes that work at the back-end of the system. ‘Calculate Points’ is an automated function which is performed on the ‘Member Information Database’. Emails about career opportunities are sent to these students by the system. Every registered member is allotted points depending upon the ratings on his uploads. Registered students having a gold batch are shortlisted by the ‘Shortlist Potential Students’ use case.

1 Use Cases associated with Student/Professor Diagram: .2 Use Cases by user This section outlines the use cases for each of the active users separately.Software Requirements Specification for Notes Guru Page 14 ‘Upload/Change Data’ Use case to make the appropriate changes into the database or in the repository.2. 3. 3. The Moderator has only one use case apiece while the Student is main actor in this system. except for View contact information for another user. The Use cases for the Professor are the same as for the Student.

Topic or Course.4. The system displays the choices to the Student. The Student chooses to download the Notes. the Student has already logged in to the system. 3. XRef: Section 4. 4. 2. The Student selects the Notes desired. Initial Step-By-Step Description Before this use case can be initiated. Initial Step-By-Step Description Before this use case can be initiated. 5. Search Notes Use case: Share Notes Brief Description The Student accesses the system. the Student has already logged in to the system. 1. to share their notes and uploads it to the system.Software Requirements Specification for Notes Guru Page 15 Use case: Search Notes Brief Description The Student accesses the system. The Student chooses to search by University. . searches for notes and downloads it to their machine. The system provides the requested Notes. The system displays the choices to the Student. 1.

The Moderator reviews the Note for plagiarism and other potential copyright violations. 3. 4.Notes Submission Process The Notes Submission Process state-transition diagram summarizes the process listed above. 5. Use case: Comment/Rate Notes Brief Description The user accesses the system. Share Notes The System then goes on to the Review process for the Notes carried on by the team of Moderators. The system uploads the requested Notes. XRef: Section 4. or the Student is asked to make some changes based on the reviews. A Student submits a Note for consideration.Software Requirements Specification for Notes Guru Page 16 2. The Student browses the Notes file on his machine. Either the Note is accepted as written. Rewrit e Active Note Submit Review Publish Figure 1 . The Student chooses to share by Scanned or Digital Format. declined.5. to comment and rate the notes. Not shown in the above is the removal of declined Notes from the system. The Student chooses to upload the Notes. before the Notes are published on to the system. .

The system saves the changes to the Students Profile. 8. 7. 2. to edit their Personal details on the system. 6. Comment/Rate Notes Use case: Edit Profile Brief Description The Student accesses the system. The user reads the notes and decides to write comments on the notes and/or rate the notes. . The Student chooses save the change. the Student has already logged in to the system and are accessing their profile page.Software Requirements Specification for Notes Guru Page 17 Initial Step-By-Step Description Before this use case can be initiated. The Student chooses the detail to be edited. 3. XRef: Section 4. The comments and ratings are immediately posted on the website specific to the notes. Initial Step-By-Step Description Before this use case can be initiated. 9. 4. The system displays screen where the user can write comments and rate the notes. The system displays the details to the Student. 1. Once the user finishes writing comments and/or rating the notes he confirms it. the user has already logged in to the system.6.

XRef: Section 4. The Professor clicks on the Students name and views their contact information. the Professor has already logged in to the system. 2.2 Use Case associated with Professor This is in addition to the use cases similar to the Student.3.Software Requirements Specification for Notes Guru Page 18 XRef: Section 4. The Professor views Notes by a particular Student. Edit Profile 3. Initial Step-By-Step Description Before this use case can be initiated. View Contact Information 3.2.3 Use Case associated with Moderator . Use case: View Contact Information Diagram: View Contact Info Professo r Brief Description The Professor likes Notes published by a student and has a Research opportunity for that student.7.2. 1.

Software Requirements Specification for Notes Guru Page 19 Use case: Publish Notes Diagram: Publish Notes Moderat or Brief Description The Moderator reviews Notes and publishes them Initial Step-By-Step Description Before this use case can be initiated. the Moderator has already logged in to the system. The Moderator reviews the Note. 4.8. 3. The Decline of the Notes is not explained here. XRef: Section 4. The system assigns the Moderator a Note that has to be reviewed. 5. Publish Notes . The Moderator chooses to either Decline or Publish the Note.

1 Register Use Case Name XRef Trigger Precondition Basic Path Register Section 3. [1] Functional Requirements Specification 4.2. The system validates the users email to be of a university 5. and decides to join A User is a current Student/Professor at a University 1.2 Login Use Case Name Login . The user may abandon the operation at any time. The user clicks on Register 4. The User goes to the Login page and clicks on Register 2. The system saves the users information into the database None. Register The User hears about NotesGuru.1. The user receives a notification that he is now a member of NotesGuru. None Alternative Paths Postconditio n Exception Paths Other 4.Software Requirements Specification for Notes Guru Page 20 4. The system asks for various details of the user 3.

Login The Professor likes Notes/Profile of a particular student.1. The user is able to use all the subsequent page of the system in as long as the session lasts. The user clicks on the save button 4. The selected changes are displayed to the Users personal profile. The user may abandon the operation at any time None 4. Alternative Paths Postconditio n Exception Paths . The user makes desired change. 3. The system throws up home page of the user.2. 2. The system updates the database for the changes made to the user’s profile.1.3 Edit Profile Use Case Name XRef Trigger Precondition Basic Path Edit Profile Section 3. 2. The User may abandon the change operation before they hit the save button. None.1. A Student has a profile on NotesGuru 1. None.Software Requirements Specification for Notes Guru Page 21 XRef Trigger Precondition Basic Path Alternative Paths Postconditio n Exception Paths Other Section 3. The system displays personal details with option to change. The Web is displayed with personal details. The System checks the validity of the users log in id and password. 1. Edit Profile The user assesses their profile on the NotesGuru Website.

The user selects a School. 3. 4. In step 2. The system searches all notes with that topic and creates and presents a list of all such notes in the database. The user chooses how to search the Web site. the system creates and presents a list of all Courses in the database. The choices are by School. The User may abandon the search at any time. if the User selects to search by topic. 1. The system creates and presents a list of all notes in that Course in the database. 3. The system displays the Note. The User selects to download the note or to return to the note list or to the previous list. 4. Search Notes The user assesses the NotesGuru Website. 5.Software Requirements Specification for Notes Guru Page 22 Other None 4. The User enters a topic. if the User selects to search by Course. The User selects a Course. If the search is by School. the system creates and presents an alphabetical list of all Schools in the database. the system presents a dialog box to enter the topic.1.4 Search Notes Use Case Name XRef Trigger Precondition Basic Path Search Notes Section 3. The categories list is generated from the Alternative Paths Postconditio n Exception Paths Other . and by Topic. Return to step 5. In step 2. 2. by Course. The system creates and presents a list of all notes by that School in the database. Return to step 5. 4. The User selects a note. The selected note is downloaded to the client machine.1. 6. The Web is displayed with grids for searching. 7.

6 Comment on/Rate Notes Use Case Name XRef Trigger Precondition Comment on/Rate Notes Section 3. Share Notes The user decides to upload a Note to the NotesGuru Website. The user chooses how to upload Notes to the Web site. The choices are Digital and Scanned. The user has accessed the Share Notes screen.Software Requirements Specification for Notes Guru Page 23 information provided when note are published and not predefined in the NotesGuru database.1. This use case is followed by some work at the back end – 1. 1. 2. The user has accessed the Notes that have already . The user uploads the file to the website. Alternative Paths Postconditio n Exception Paths Other 4.5 Share Notes Use Case Name XRef Trigger Precondition Basic Path Share Notes Section 3. None The selected note is uploaded from the client machine. 3.1. The User may abandon the upload at any time. The Moderator reviews the Note. In either of the choice the system lets the user choose a file from their system. Moderator Declines/ Publishes Note. Comment on/Rate Notes The user decides to comment on a Note on the NotesGuru Website. 4.1.1. 2.

The user rates Notes by clicking on the relevant star and/or types their comments in the Comment Text Area 4. None. The system checks for the rights of the user to be that of the Professor. The User may abandon the operation at any time. None The comment/rating is saved to the system. 2. 2. The system throws up contact information of the Student.1. The user goes to the Comment on/Rate Note Screen. None 4.2. 3. None. 3.Software Requirements Specification for Notes Guru Page 24 Basic Path Alternative Paths Postconditio n Exception Paths Other been uploaded by another user. The user hits save. A Student has a profile on NotesGuru 1. 1. View Contact The Professor likes Notes/Profile of a particular student. The Professor may abandon the operation at any Alternative Paths Postconditio n Exception .7 View Contact Information Use Case Name XRef Trigger Precondition Basic Path View Contact Section 3. The user clicks on the Students Name. The user reads a particular Note and decides to comment on/ Rate it.

1 Sequence diagram for Searching Notes – 5.3.1. Publish Notes The Moderator receives a Note in his queue for review. The user reviews the Note. The Moderator may abandon the operation before they hit the publish button. The author receives an update informing him of the publishing of the Note. The user clicks on the Publish button 4. None Alternative Paths Postconditio n Exception Paths Other 5. 2. Sequence.Software Requirements Specification for Notes Guru Page 25 Paths Other time None 4. The system checks for the rights of the user to be that of the moderator. The system publishes the Note to the Authors Profile.1. 3.1 Failed Case: . Class and CRC Diagrams 5. None. A user uploads notes 1.8 Publish Notes Use Case Name XRef Trigger Precondition Basic Path Publish Notes Section 3.

1.1 Successful Case: .Software Requirements Specification for Notes Guru Page 26 5.

Software Requirements Specification for Notes Guru Page 27 5.2 Sequence diagram for Sharing Notes – .

Software Requirements Specification for Notes Guru Page 28 .

3 Class diagram – .Software Requirements Specification for Notes Guru Page 29 5.

4 CRC diagram – .Software Requirements Specification for Notes Guru Page 30 5.

1 Login / Sign up Sample Interface This is the very first page that the users will see. where a first time user signs up or an existing user logs in to the system. .Software Requirements Specification for Notes Guru Page 31 6. User Interfaces 6.

It also displays the Reward points accumulated by the user until then. . which lists all the notes uploaded by the student until then and their respective ratings.2 Home Page Sample Interface This interface is the home page for that particular user.Software Requirements Specification for Notes Guru Page 32 6.

3 User Profile Sample Interface This interface will be used by the users to view their profile. .Software Requirements Specification for Notes Guru Page 33 6. It contains all the personal details of that particular user.

Software Requirements Specification for Notes Guru Page 34 6. . i. University. Course and Topic.e.4 Search Notes Sample Interface This interface will be used by the students to search based on three different criteria.

. they will be saved as a . or if they are in scanned format they will be saved as . If the notes are in digital format.Software Requirements Specification for Notes Guru Page 35 6. .doc files etc.gif files etc.5 Share Notes Sample Interface This interface will be used by the students to upload notes. .txt. either in digital or scanned format.jpg.

6 Comment/Rate Sample Interface This interface will be used by the students to comment on/rate notes uploaded by other students. .Software Requirements Specification for Notes Guru Page 36 6.

in order for them to be able to contact for internship/research opportunities.7 View contact Sample Interface This interface is same as View profile interface. . the only difference is that a professor will see the students’ email id.Software Requirements Specification for Notes Guru Page 37 6.

.9 Hardware Interfaces There are no specific hardware interfaces for this system.8 Screen Flow 6.Software Requirements Specification for Notes Guru Page 38 6.

The code itself though. Other Nonfunctional Requirements 7.11 Communications Interfaces The system uses an internet connection to connect to the database. Students who are a huge part of the client base.2 Safety Requirements There are no specific safety requirements for this system. hence a slow server would not suffice. Outside of the HTML code and PHP. . 6. what to do. generally tend to have a fast pace and small attention span. including the browser.1 Performance Requirements The NotesGuru system should be hosted on a server that can provide adequate response times.Software Requirements Specification for Notes Guru Page 39 6. 7. 7. does not specifically direct the network controllers to do any work. the system makes indirect use of an internet browser.10 Software Interfaces Along with the internet connection. the code doesn’t tell any software.

gradeguru. Passwords and ID’s should be regulated to be at least a certain length and must contain non-alphanumeric characters in both the password and ID.com .Paper on ‘Software Engineering Principles’ .Software Requirements Specification for Notes Guru Page 40 7.com – Some features of the system got inspiration from this website [3] David Parnas . Other Requirements The system may be linked to other social networking websites like Facebook and twitter in the future. Appendix A: Glossary Author: Student or User who is the author of the Notes.processimpact. References [1] www. 8.SRS outline template [2] www.3 Security Requirements Access to the database should be restricted to people that are required to view information about Students and Notes.

Book ‘Unified modeling language guide’ . Rumbaug and Jacobson .Software Requirements Specification for Notes Guru Page 41 [4] Booch.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer: Get 4 months of Scribd and The New York Times for just $1.87 per week!

Master Your Semester with a Special Offer from Scribd & The New York Times