Professional Documents
Culture Documents
Brooklyn College
Table of Contents
Table of Contents.................................................................................................1
1. Introduction......................................................................................................3
2. Overall Description............................................................................................5
3. Use Cases..........................................................................................................7
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
6. User Interfaces................................................................................................31
..........................................................................................................................31
8. Other Requirements.........................................................................................40
Appendix A: Glossary..........................................................................................40
References...........................................................................................................................40
Software Requirements Specification for Notes Guru Page 3
1. Introduction
1.1 Purpose
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
[1]
1.2 Document Conventions
The next chapter, the Overall Description section, of this document gives
and is used to establish a context for the use cases in the next chapter.
Software Requirements Specification for Notes Guru Page 4
is written primarily for the developers and describes in technical terms the
Both sections of the document describe the same software product in its
entirety, but are intended for different audiences and thus use different
language.
[1]
1.3 Project Scope
students where they can share their study materials, engage in collaborative
learning and get peer-feedback while building their online academic profiles
for internships and career opportunities. Notes Guru’s university and class
More specifically this system will allow students to submit notes to the
website, which will then be reviewed by moderators and then published to the
website. 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. The more notes a student uploads the more points they earn,
which can then be converted to badges and can mean additional career
opportunities.
Software Requirements Specification for Notes Guru Page 5
2. Overall Description
This is a new and independent system. It may however be linked with other
[1]
2.3 User Classes and Characteristics
Professors: Professors will have the same rights as students; they may use the
Projects/Programs.
The system is web-based and will be hosted by a web server. It can be viewed
by any web browser, and has been tested for compliance with Mozilla, Internet
User documentation will be available in the form of online help, which will be a
[1]
2.7 Assumptions and Dependencies
To make a valid registration a user must have a legitimate university e-mail id.
This is true for both the Student and Professors, the moderator on the other
3. Use Cases
effective way to explain the work flow through the system; it essentially
requires decomposition of the system. One of the best ways to decompose the
specific; it might contain one or more programs to accomplish the task. [3]
• Access Notes
• Share Notes
• Peer Evaluation
With the help of this module a user (registered or unregistered) can Read
Notes, Rate Notes and Search for notes. The Use case diagram also shows a
generalization between the ‘Search Notes’ Use cases because notes can be
the search notes use cases. The ‘Delete Notes’ use- case shows an “extends”
relationship with the ‘Validate User’ use case, since only a valid user can
delete notes. Clearly, a user can delete only his notes and not anyone else’s.
Software Requirements Specification for Notes Guru Page 9
the system. ‘User’ is an active actor who initiates various actions whereas,
doesn’t actively initiate any action. This module enables the user to
submit/post notes onto the system. The notes are thoroughly moderated
When a user submits notes they are temporarily stored into a buffer.
them. The ‘Publish Notes’ Use case is extended by ‘Upload/Change Data’ Use
case, which makes appropriate changes into the ‘Data Repository’. If the notes
Software Requirements Specification for Notes Guru Page 10
are declined ‘Clear Buffer’ will simply clear the notes from the temporary
buffer.
User can read comments and post comments using this module. The
comments and ratings are immediately posted once the user confirms them.
The ‘Upload/Change Data’ is an extended use case which makes the changes
in the ‘Notes Repository’. A user can delete only his/her notes. Thus, the
view contact details of all the registered members, send emails to other
members and search for other professors. A registered student can only view
profiles of the members and can search for member students. The
generalization on ‘Search Student’ Use case suggests that the system give the
An unregistered user can register into the system using this module. Once a
user completes the registration requirements additions are made into the
Using this module a registered user can login to the system and change
There are lots of processes that work at the back-end of the system, not
Potential Students’ use case. Emails about career opportunities are sent to
‘Upload/Change Data’ Use case to make the appropriate changes into the
This section outlines the use cases for each of the active users
separately. The Moderator has only one use case apiece while the Student is
main actor in this system. The Use cases for the Professor are the same as for
the Student, except for View contact information for another user.
Diagram:
Software Requirements Specification for Notes Guru Page 15
Brief Description
The Student accesses the system, searches for notes and downloads it to their
machine.
Before this use case can be initiated, the Student has already logged in to the
system.
Brief Description
The Student accesses the system, to share their notes and uploads it to the
system.
Before this use case can be initiated, the Student has already logged in to the
system.
The System then goes on to the Review process for the Notes carried on by
the team of Moderators, before the Notes are published on to the system.
Rewrit Review
e
Active
Note
Submit Publish
Moderator reviews the Note for plagiarism and other potential copyright
asked to make some changes based on the reviews. Not shown in the above is
Brief Description
The user accesses the system, to comment and rate the notes.
Software Requirements Specification for Notes Guru Page 17
Before this use case can be initiated, the user has already logged in to the
system.
1. The user reads the notes and decides to write comments on the notes
2. The system displays screen where the user can write comments and rate
the notes.
3. Once the user finishes writing comments and/or rating the notes he
confirms it.
4. The comments and ratings are immediately posted on the website specific
to the notes.
Brief Description
The Student accesses the system, to edit their Personal details on the system.
Before this use case can be initiated, the Student has already logged in to the
Diagram:
View
Contact
Info
Professo
r
Brief Description
Before this use case can be initiated, the Professor has already logged in to
the system.
2. The Professor clicks on the Students name and views their contact
information.
Diagram:
Publish
Notes
Moderat
or
Brief Description
Before this use case can be initiated, the Moderator has already logged in to
the system.
[1]
4.1 Register
Name
XRef Section 3.1.2, Register
Trigger The User hears about NotesGuru, and decides to
join
Precondition A User is a current Student/Professor at a
University
Basic Path 1. The User goes to the Login page and clicks on
Register
2. The system asks for various details of the user
3. The user clicks on Register
4. The system validates the users email to be of
a university
5. The system saves the users information into
the database
Alternative None.
Paths
Postconditio The user receives a notification that he is now a
n member of NotesGuru.
Exception The user may abandon the operation at any time.
Paths
Other None
4.2 Login
Name
Software Requirements Specification for Notes Guru Page 21
student.
Precondition A Student has a profile on NotesGuru
Basic Path 1. The System checks the validity of the users
log in id and password.
2. The system throws up home page of the user.
Alternative None.
Paths
Postconditio The user is able to use all the subsequent page of
Paths
Other None
Name
XRef Section 3.1.1, Edit Profile
Trigger The user assesses their profile on the NotesGuru
Website.
Precondition The Web is displayed with personal details.
Basic Path 1. The system displays personal details with
option to change.
2. The user makes desired change.
3. The user clicks on the save button
4. The system updates the database for the
changes made to the user’s profile.
Alternative None.
Paths
Postconditio The selected changes are displayed to the Users
n personal profile.
Exception The User may abandon the change operation
Other None
Name
XRef Section 3.1.1, Search Notes
Trigger The user assesses the NotesGuru Website.
Precondition The Web is displayed with grids for searching.
Basic Path 1. The user chooses how to search the Web site.
The choices are by School, by Course, and by
Topic.
2. If the search is by School, the system creates
and presents an alphabetical list of all Schools
in the database.
3. The user selects a School.
4. The system creates and presents a list of all
notes by that School in the database.
5. The User selects a note.
6. The system displays the Note.
7. The User selects to download the note or to
return to the note list or to the previous list.
Alternative In step 2, if the User selects to search by Course,
the system creates and presents a list of all
Paths Courses in the database.
3. The User selects a Course.
4. The system creates and presents a list of
all notes in that Course in the database. Return
to step 5.
In step 2, if the User selects to search by topic, the
system presents a dialog box to enter the topic.
The User enters a topic.
4. The system searches all notes with that
topic and creates and presents a list of all such
notes in the database. Return to step 5.
Postconditio The selected note is downloaded to the client
n machine.
Exception The User may abandon the search at any time.
Paths
Other The categories list is generated from the
Software Requirements Specification for Notes Guru Page 23
Name
XRef Section 3.1.1, Share Notes
Trigger The user decides to upload a Note to the
NotesGuru Website.
Precondition The user has accessed the Share Notes screen.
Basic Path 1. The user chooses how to upload Notes to the
Web site. The choices are Digital and Scanned.
2. In either of the choice the system lets the user
choose a file from their system.
3. The user uploads the file to the website.
Alternative None
Paths
Postconditio The selected note is uploaded from the client
n machine.
Exception The User may abandon the upload at any time.
Paths
Other This use case is followed by some work at the back
end –
1. The Moderator reviews the Note.
2. Moderator Declines/ Publishes Note.
Name
XRef Section 3.1.1, Comment on/Rate Notes
Trigger The user decides to comment on a Note on the
NotesGuru Website.
Precondition The user has accessed the Notes that have already
Software Requirements Specification for Notes Guru Page 24
Paths
Postconditio The comment/rating is saved to the system.
n
Exception The User may abandon the operation at any time.
Paths
Other None
Name
XRef Section 3.1.2, View Contact
Trigger The Professor likes Notes/Profile of a particular
student.
Precondition A Student has a profile on NotesGuru
Basic Path 1. The system checks for the rights of the user to
be that of the Professor.
2. The user clicks on the Students Name.
3. The system throws up contact information of
the Student.
Alternative None.
Paths
Postconditio None.
n
Exception The Professor may abandon the operation at any
Software Requirements Specification for Notes Guru Page 25
Paths time
Other None
Name
XRef Section 3.1.3, Publish Notes
Trigger The Moderator receives a Note in his queue for
review.
Precondition A user uploads notes
Basic Path 1. The system checks for the rights of the user to
be that of the moderator.
2. The user reviews the Note.
3. The user clicks on the Publish button
4. The system publishes the Note to the Authors
Profile.
Alternative None.
Paths
Postconditio The author receives an update informing him of
6. User Interfaces
6.1 Login / Sign up Sample Interface
This is the very first page that the users will see, where a first time user signs
This interface is the home page for that particular user, which lists all the
notes uploaded by the student until then and their respective ratings. It also
This interface will be used by the users to view their profile. It contains all the
This interface will be used by the students to search based on three different
This interface will be used by the students to upload notes, either in digital or
scanned format. If the notes are in digital format, they will be saved as a
.txt, .doc files etc. or if they are in scanned format they will be saved as .jpg,
This interface will be used by the students to comment on/rate notes uploaded
by other students.
Software Requirements Specification for Notes Guru Page 37
This interface is same as View profile interface, the only difference is that a
professor will see the students’ email id, in order for them to be able to
Along with the internet connection, the system makes indirect use of an
internet browser. Outside of the HTML code and PHP, the code doesn’t tell any
The system uses an internet connection to connect to the database. The code
itself though, does not specifically direct the network controllers to do any
work.
adequate response times. Students who are a huge part of the client base,
generally tend to have a fast pace and small attention span, hence a slow
Access to the database should be restricted to people that are required to view
8. Other Requirements
The system may be linked to other social networking websites like Facebook
Appendix A: Glossary
References
this website
[4] Booch, Rumbaug and Jacobson - Book ‘Unified modeling language guide’