Software Requirements Specification: Prepared by
Software Requirements Specification: Prepared by
Specification
for
Prepared by
Group Number : IV
Date: 26/01/2021
Modifications specific to NITC are made and
will be used for academic purpose only.
1
1 Introduction 4
1.1 Document Purpose 4
1.2 Product Scope 4
1.3 Intended Audience and Document Overview 4
1.4 Definitions, Acronyms and Abbreviations 4
1.5 Document Conventions 5
1.6 References and Acknowledgments 5
2 Overall Description 5
2.1 Product Overview 5
2.2 Product Functionality 8
2.3 Design and Implementation Constraints 8
2.4 Assumptions and Dependencies 8
3 Specific Requirements 8
3.1 External Interface Requirements 8
3.1.1 User Interfaces 8
3.1.2 Hardware Interfaces 12
3.1.3 Software Interfaces 12
3.2 Functional Requirements 12
3.3 Use Case Model 13
3.3.1 Use Case #1 (Register) 14
3.3.2 Use Case #2 (Login) 15
3.3.3 Use Case #3 (Choose Elective) 16
3.3.4 Use Case #4 (Show Elective ) 17
3.3.5 Use Case #5 (Selected Subject) 18
3.3.6 Use Case #6 (Add Remove Elective ) 19
3.3.7 Use Case #7 Elective Details.) 20
3.3.8 Use Case #8 (Approve Reject ) 21
3.3.9 Use Case #9 (Update Password) 22
3.3.10 Use Case #10 (Number of Student) 23
2
4 Other Non-functional Requirements 24
1. Performance Requirements 24
2. Safety and Security Requirements 24
3. Software Quality Attributes 25
5 Other Requirements 25
Appendix A - Activity Log 25
Revisions
Version Primary Author(s) Description of Version Date Completed
1.0 Ankit Kumar jha Initial Version 31/01/2021
Rajeev Ranjan Prajapati
Ankur Kumar
Shravan Kumar
3
1 Introduction
The aim of this project is to develop a web based application for Elective
course registration among NITC community. The user of this Application
can access the course registration page by logging in using NITC
registration Number and password. The student can enrol elective courses
of current semester during the period of course registration. FA’s can
approve the course registration of students, remove the course of a
student and also can assign the faculty for a particular course.
1. Document Purpose
Main purpose of this specification is to help people who will work on this
system to maintain the objectives and get started working in this project. The
document contains the detailed description of the both functional and non-
functional requirements proposed by for the system. This specification
will direct people who will work in this project step by step through the
process until they finish it successfully.
2. Product Scope
The scope of this project is to provide an easy and online platform for NITC
students and faculty in elective course management. The product will be
useful as the students have to register elective courses in every semester,
faculty have to approve or remove elective courses of students. The
limitation of the product is that it is only for NITC community and it is
necessary to provide NITC mail ID, registration number at the time of
registration.
4
5.Document Conventions
2 Overall Description
1. Product Overview
Choosing elective subject are the necessary part of student in every semester,
Approving and removing elective subject for faculty. Here in NITC, we are a
large community of people related to educational field. This product is going to
provide us an easy an online platform to choose the elective subjects. In this
Application user needs to login to his/her account before choosing elective
subject. If they are not registered then they need to register first. There are two
login modes available 1). Student mode 2). FA mode . After login the page
displays the number of elective slots available for the student and the list of
courses which are applicable for the student. Students can choose the courses
from the list and submit for course instructor’s approval. Application goes to
the course instructor’s approval and he/she can
either accept or reject the application. Students can see the accept/reject
status under his/her applied elective courses section.
Here is the flow diagram representing the flow of data in the system.
5
For Student
6
For FA’s
7
2. Product Functionality
• User Registration: New user need to register with his/her NITC mail ID.
• Student Login: Existing student must login to the system using his/her
Registration number and password before performing any action.
• Faculty Login : Existing faculty must login to the system using his/her NITC mail
ID and password before performing any action
• Forgot password: user will be given option to change their password if forgotten
• Add elective subject: student can select elective subject.
• Add or Remove Subject: FA will be given option to add or remove subject for any
student.
• Search subject: Student can search required subject by its name, or subject code.
• View summary: Student can view his/her summarized information about each particular
electives.
• Update Info: User can update his/her password.
3 Specific Requirements
1. External Interface Requirements
1. User Interfaces
• Login Display
o All user will come to this page to login for the first time. If the user already login
then it will be redirect to “Choose Elective” Screen.
8
Ø FA will have to enter NITC mail ID and Password. If credentials is right
then he will be redirected to “Approve Electives” Screen. And if
credential found wrong the error message will be displayed.
• Register Display
o All Student have to register themselves to use the website. In this display
student will enter NITC mail id, name, Registration No, contact no, Branch,
Course, Semester, password and confirm password. And can register
themselves by pressing register button after filling all details.
10
• Choose Elective
student can select electives. After selection user will have to click on SUBMIT button.
• Get alert
If student selects two or more subjects of same slot then they will get alert by the
system.
• View my subjects.
All the electives selected by student will show here.
• Update info
User can update his/her password
11
2. Hardware Interfaces
3. Software Interfaces.
F1: The system shall allow new users to register to the Application using their NITC mail
ID.
F2: The system shall allow existing user to login using valid credentials.
F7: The system shall allow user to view their summary which will include the details
about elective subjects.
12
3.3 Use Case Model
13
3.3.1 Use Case #1 (Register)
Requirements Traceability – F1
Precondition – None.
Extends – None.
Flow of Events
1. Basic Flow – A new student must have to enter his/her NITC mail ID, name,
registration number, contact number, course, branch, gender, and password. After
clicking on register button, if the data provided by him is correct, a new account
is created.
2. Alternative Flow – If the data provided is invalid or redundant then he will get an
error message.
Includes – None.
14
3.3.2. Use Case #2 (Login)
Requirements Traceability – F2
Precondition – Student must have to be registered to the system with his/her NITC
mail ID.
Extends – None.
Flow of Events
1. Basic Flow – A user have to enter his/her registered NITC mail ID and password
to get access to the system. After submitting the correct credentials, he/she will
be logged in to the system.
2. Alternative Flow – If the mail ID or password are incorrect or mismatched he/she
will get an error message.
Includes – None.
15
3.3.3. Use Case #3 (Choose elective)
Requirements Traceability – F3
Priority – High. electives must be added to the system before get submitted.
Extends – None.
Flow of Events
16
3.3.4. Use Case #4 (Show verification)
Requirements Traceability – F4
Flow of Events
Includes – U4
17
3.3.5. Use Case #5 (Selected Subjects)
Extends – None.
Flow of Events-
Includes – None
18
3.3.6 Use Case #6 (Add/Remove Elective)
Requirements Traceability – F6
Priority – High.
Extends – None.
Flow of Events-
Includes – None
19
3.3.7. Use Case #7 (elective details)
Requirements Traceability – F7
Priority – medium. User should be able to see the details about a particular elective.
Extends – None.
Flow of Events-
1.Basic Flow –It will show the details about the elective.
2. Alternative Flow – none
Includes – None
20
3.3.8 Use Case # 8(Approve/Reject students’ application)
Requirements Traceability – F8
Priority – High.
Post condition – Student will get verification about their selected elective.
Extends – None.
Flow of Events -
1. Basic Flow – FA will tap on Approve button to give approval. Student will get
verification.
2. Alternative Flow – None
Includes – none.
21
3.3.9 Use Case #9 (Update password)
Requirements Traceability – F9
Priority – High.
Actors – User.
Extends – None.
Flow of Events -
1.Basic Flow – User open the App and login. Click on update password and
update their password.
2. Alternative Flow – None.
Includes – None
22
3.3.10 Use Case #10 (Number of students)
Purpose – FA can see the total number of students in a particular elective and should be able to
restrict the total number of students in a particular elective.
Priority – High.
Actors – FA.
Extends – None.
Flow of Events -
23
4 Other Non-functional Requirements
1. Performance Requirements
2. Correctness
Information should be entered in data base correctly and should not be misplaced.
System should not allow a user to remove his/her elective subject from the system.
3. Testability
System should allow the testing by creating new dummy accounts for users, and should
not affect the actual working of the system.
4. Maintainability
System shall not be behaves abnormally when adding any new feature or on applying
change in any existing one. This could be achieved by writing code in a proper way, here we are
going to use Object Oriented Programming paradigm. Proper use of Classes and Objects,
and maintaining low coupling ensures better level of modularity.
5. Response Time
System shall be capable to perform the search subject operation within 3 seconds.
24
6. Recoverability
System should be recoverable, i.e. the data can be recovered after failure without a loss
of more than 5% of data. To ensure recoverability system should have to make automatic backups
periodically that is once in registration time period.
7. Reliability
System should be reliable because the failure can cause loss of information about
students selected electives. It should be ensured that system must not get failed more than 1 time
during the Institute registration period.
8. Reusability
40% of the code must be designed generically so that it can be reused for upcoming
versions. Also, the system is going to design using html, CSS, java, JavaScript, MySQL.
9. Platform
System should be capable of smooth execution on any platform.
5 Other Requirements
There are no other requirement needed for the product.
O Ankit Kumar Jha had to work on Use case diagram and User Interface.
o Ankur Kumar had to work on Introduction section and Assumptions
and dependencies.
o Rajeev Ranjan Prajapati had to work on non-functional requirements and
document conventions.
o Shravan Kumar had to work on Product overview and Functional requirements.
• 29 Jan 2021, 01:30 PM (Duration: 30 minutes) – Every one submitted their tasks
and decided who will author which use case.
25