Software Requirements Specification
Software Requirements Specification
Specification
UPSC upsc.gov.in
1. Introduction ......................................................................................................... 1
1.1. Project Overview .................................................................................... 1
1.2. Purpose................................................................................................... 1
1.3. Scope ...................................................................................................... 2
1.4. Definitions, Acronyms ............................................................................ 2
1.2. Purpose
Responses by the candidates will be checked
automatically and result will be generated before the
deadline.
Online examination will reduce the hectic job of
assessing the answers given by the candidates.
Being an integrated Online Examination System it
will reduce paper work.
Can generate various reports almost instantly when
and where required.
Page 1 of 35
1.3. Scope
This project would be very useful for educational institutes
where regular evaluation (yearly or half-yearly) of students
is required. Further it can also be useful for anyone who
requires feedback based on objective type responses.
Sr.
Terms/Acronyms Description
No.
1. User mostly a student who will appear for the
Student
examination
Another user mostly faculty member, lecturer or
2.
Faculty examiner who posts set of questions, the available
options and correct answers.
3.
Administrator Super user, adds faculty and manages system.
Page 2 of 35
2. Functional or Specific Requirements
Required software is for conducting on-line `objective type
examination and providing results before the mentioned
deadline. The system should satisfy the following
requirements:
Administrator Aspect
Faculty Aspect
Page 3 of 35
13. Whether to randomize the options displayed
14. To allow the test to be taken in practice mode
where the correct answer is shown immediately
after the candidate selects an option.
15. Set negative marks for wrong responses
Student Aspect:
1. Requesting registration
2. Edit user information.
3. Selecting the test.
4. Selecting whether the test to be taken in practice
mode where the correct answer is shown
immediately after the candidate selects an option.
5. Appearing for the examination.
6. Printing the result at the end of the examination.
7. Reviewing the given responses.
8. Changing password.
9. Resetting of forgotten password
10. Logging into the system.
Analysis
Page 4 of 35
3. Recording candidates responses to every
question
4. Checking whether the given response is correct or
not
5. Keeping history of test reports of all users
Mailing
Page 5 of 35
External Interface Requirements
Page 6 of 35
2.1.4. Communication Protocol
Following protocols are required to be permitted on the server
side
HTTP incoming request
HTTPS incoming request if secure gateway is
implemented
Following protocols are required to be permitted on the client side
HTTP outgoing request
HTTPS outgoing request if secure gateway is
implemented
Page 7 of 35
2.2.1. Security
Administrator has the highest authority to edit/delete/create
database
2.2.2. Reliability
Data validation and verification needs to be done at every
stage of activity.
Validating user input
Use of locking mechanism while updating
database like transaction processing
Recovering the transaction using rollback.
2.2.3. Availability
The examination system being an online system should be
available anytime.
Constraints:
Page 8 of 35
Quiz creator may allow the specific test to be available
only at certain time like scheduled examination.
The test may be time limited so the candidates
appearing will have limited time to answer the test.
2.2.4. Portability
The web application will be built using PHP which has
support to run on any platform provided the required
compilers are available.
For database either XML or MySQL would be used,
that too has extensive support over many popular
architectures and operating systems.
Constraints:
2.2.5. Performance
The system would be used by multiple users at a time and may
grow as time passes; the system would need to implement
multithreading to achieve acceptable performance. Further a
database connection pool may also be required for assigning
faster database connection.
2.3. Technologies
This section lists all the technologies for the web based system.
Page 9 of 35
PHP scripting for server side scripting as it has a very
strong support for XML and MySQL.
XML as database format: The database performance
requirements are not very high and the ability to have
custom fields in case the quiz creator needs to add
more than expected answer options. This is limited in
any other database management system where we
have to first specify the maximum number of fields.
Apache as web server has a tight integration with PHP
and is also available for various popular platforms.
2.4. Software
Netbeans or Eclipse for PHP and XML coding.
Apache Tomcat as Web server
2.5. Hardware
The recommended hardware specified by the respective software
would suffice the needs. The memory and processing power
needed would increase as the number of users increase. The
estimated hardware requirements are as specified.
2.5.1. Server
The minimum hardware as recommended by all of the software
required on server side say web server, operating system and
development software
Processing speed of 1.6 GHz
1 GB of RAM
Network interface
Page 10 of 35
2.5.2. Client
The minimum hardware as recommended by all of the software
required on client side say web browser, operating system
Minimum hardware depending on the operating
system used
True color visual display unit
User peripherals for better interaction
Page 11 of 35
3. Analysis and Design
3.1. Use Case Diagram
3.1.1. Use case Overview
Page 12 of 35
3.1.2. Add Faculty Use Case
Page 13 of 35
3.1.4. Manage Student Groups Use Case
Page 14 of 35
3.1.6. User Profile Edit Use Case
Page 15 of 35
3.1.7. Manage Test Use Case
Page 16 of 35
3.1.8. Appear for Test Use Case
Page 17 of 35
3.1.9. Generate Result Use Case
Page 18 of 35
3.2. Sequence Diagrams
3.2.1. Sequence Diagram Overview
Page 19 of 35
3.2.2. Login Sequence Diagram
Page 20 of 35
3.2.3. Manage Student Groups Sequence Diagram
Page 21 of 35
3.2.4. Student Registration Sequence Diagram
Page 22 of 35
3.2.5. Manage Test Sequence Diagram
Page 23 of 35
3.2.6. Appear for Test Sequence Diagram
Page 24 of 35
3.3. Class Diagram
Page 25 of 35
3.4. Database Design
Page 26 of 35
3.4.1. Table: Student
Page 27 of 35
answer Unsigned Integer
allowCustomA Boolean
nswer
userAnswer Varchar2
Page 28 of 35
Field Name Data Type Description
ID Unsigned Integer Primary Key, AutoIncrement
facultyName Varchar2
loginID Varchar2
pass Varchar2
Page 29 of 35
please fill all the
fields
3 Enter password and Should Display Pass
press submit button message box
please fill all the
fields
4 Enter blank user Should display a Pass
name and blank message box
password and press please fill all the
submit button. fields
5 Enter wrong user Should display a Pass
and password. message box
Invalid ID or
Password
Page 30 of 35
2] Test case For Navigation:
Page 31 of 35
Page 32 of 35