0% found this document useful (0 votes)
37 views26 pages

Software Requirements Specification: Prepared by

This document provides a software requirements specification for an elective management system for the National Institute of Technology, Calicut. The system allows students to choose elective courses, faculty to approve or remove student electives, and users to register and login. Key requirements include supporting student elective selection and approval, user registration and authentication, password recovery, and viewing course information. The system is intended to provide an online platform for elective management among the NITC community.

Uploaded by

Saif Ali Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views26 pages

Software Requirements Specification: Prepared by

This document provides a software requirements specification for an elective management system for the National Institute of Technology, Calicut. The system allows students to choose elective courses, faculty to approve or remove student electives, and users to register and login. Key requirements include supporting student elective selection and approval, user registration and authentication, password recovery, and viewing course information. The system is intended to provide an online platform for elective management among the NITC community.

Uploaded by

Saif Ali Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Software Requirements

Specification

for

IV. Elective Management System for


NITC
Version 1.0

Prepared by
Group Number : IV

Ankit Jha M190381CA


Ankur Kumar M190367CA
Rajeev Ranjan M190386CA
Shravan Kumar M190373CA

Project Owner: Xavier

Course: CS4096D Software Engineering Laboratory

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.

3. Intended Audience and Document Overview

This specification Documentation is intended to Designers,


Developers, Project Managers, Testers and Users directly or indirectly
working on or using this system.

4. Definitions, Acronyms and Abbreviations


DB: Database
IEEE: Institute of Electrical and Electronics Engineers
NITC: National Institute of Technology, Calicut

4
5.Document Conventions

This Documentation follows the IEEE formatting requirements. Use Arial


font size 11, or 12 throughout the Documentation for text. Documentation
headings uses Times New Roman font of size 14. Use italics for comments.
Documentation text should be single spaced and maintain the 1” margins
found in this template.

6. References and Acknowledgments


• https://www.perforce.com/blog/alm/how-write-software-requirements-specification-srs-document
• https://www.geeksforgeeks.org/how-to-write-a-good-srs-for-your-project/
• https://app.diagrams.net/#G1tjmt8Sz4lqdeqZVCCBFRKIqv40G9SC-w

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. Design and Implementation Constraints


This product is an web based application, so we are using html, CSS, JavaScript, java etc. here . For
the data management we are using MySQL DB. Software Development Life Cycle will be followed.

As per requirement the above constraints may be changed.

4. Assumptions and Dependencies


• Internet Connection Required
• The Application is available 24x7
• Effectiveness will be dependent on number of users.

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.

Ø In this page student will have to enter credential i.e. Registration


Number and password. If credentials is right then he will be redirected
to “Choose Electives” Screen. And if credential found wrong the error
message will be displayed.

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.

• Approve or Disapprove Elective


FA can approve electives chosen by students.

• Add or remove Elective


FA will have option to add or remove electives for any students.

• Get alert
If student selects two or more subjects of same slot then they will get alert by the
system.

• View Application status


In this screen user can see their application status i.e., approved or not.

• View my subjects.
All the electives selected by student will show here.

• Update info
User can update his/her password

11
2. Hardware Interfaces

No additional hardware interface is needed.

3. Software Interfaces.

As it is a standalone website, no additional software interface is needed.

3.2 Functional Requirements

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.

F3: The system shall have an Choose Electives page.

F4: The system shall give option to show verification status.

F5: The system shall give option to show selected subjects.

F6: The system shall allow FA to add/remove elective.

F7: The system shall allow user to view their summary which will include the details
about elective subjects.

F8: The system shall allow FA to approve/reject students application for


electives.

F9: The system shall allow user to update his/her password.


F10: The system shall allow FA to see the total number of students in a particular
subject.

12
3.3 Use Case Model

Use Case Diagram (Created using draw.io)

13
3.3.1 Use Case #1 (Register)

Author – Ankit Kumar Jha

Purpose – To allow new student to register to the system.

Requirements Traceability – F1

Priority – High. Student must have to register first.

Precondition – None.

Post condition – A new student added to the system.

Actor – student (Human)

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)

Author – Ankit Kumar Jha

Purpose – To allow existing user to be logged in to the system using proper


authentication credentials.

Requirements Traceability – F2

Priority – High. Existing user must have to log in first.

Precondition – Student must have to be registered to the system with his/her NITC
mail ID.

Post condition – User will be logged in to the system.

Actor – User (Human)

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)

Author – Ankit Kumar Jha

Purpose – To choose electives.

Requirements Traceability – F3

Priority – High. electives must be added to the system before get submitted.

Precondition – User must have to be logged in to the system.

Post condition – A request will be submitted for verification.

Actor – student (Human)

Extends – None.

Flow of Events

1. Basic Flow – student clicks on check box to add elective subject.


Includes – None.

16
3.3.4. Use Case #4 (Show verification)

Author – Ankur Kumar

Purpose-To show Verification status.

Requirements Traceability – F4

Priority – High. Student must see verification status.

Actors – Student (Human).

Flow of Events

1. Basic Flow – Student have to click on view and the.


2. Alternative Flow –None.

Includes – U4

17
3.3.5. Use Case #5 (Selected Subjects)

Author – Ankur Kumar

Purpose –To show the selected elective subjects.


Requirements Traceability – F5

Priority – High. Students must be able to see their selected electives.

Preconditions – User must have to be logged in to the system.

Post conditions – None

Actors – student (Human).

Extends – None.

Flow of Events-

1. Basic Flow – none.

2. Alternative Flow – None.

Includes – None

18
3.3.6 Use Case #6 (Add/Remove Elective)

Author – Rajeev Ranjan Prajapati

Purpose – To allow FA, to add or remove elective subjects for students.

Requirements Traceability – F6

Priority – High.

Preconditions – FA must have to be logged in to the system.

Post conditions – none

Actors –FA (Human).

Extends – None.

Flow of Events-

1. Basic Flow –None

2. Alternative Flow – None.

Includes – None

19
3.3.7. Use Case #7 (elective details)

Author – Rajeev Ranjan Prajapati

Purpose – To show all the details about a particular elective.

Requirements Traceability – F7

Priority – medium. User should be able to see the details about a particular elective.

Preconditions – User must have to be logged in to the system.

Post conditions –None

Extends – None.

Actors – Student (Human).

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)

Author – Shravan Kumar

Purpose – To Approve/Reject students’ application.

Requirements Traceability – F8

Priority – High.

Precondition – FA must logged in to the system.

Post condition – Student will get verification about their selected elective.

Actor – FA (as Borrower)

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)

Author – Shravan Kumar

Purpose – User can update their password.

Requirements Traceability – F9

Priority – High.

Preconditions – User must have to be login for update password.

Post conditions –password will updated.

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)

Author – Shravan Kumar

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.

Requirements Traceability – F10

Priority – High.

Preconditions – FA must be logged in.

Post conditions –none.

Actors – FA.

Extends – None.

Flow of Events -

1.Basic Flow – none.


2. Alternative Flow – None.
Includes - None

23
4 Other Non-functional Requirements

1. Performance Requirements

• The System must be able to run concurrently on multiple users.


• Queries on the DB shall be performed faster.
• UI should be lightweight and does not take too much time while lending, searching
and submitting request.
• The system must be capable to store large amount of data including user’s details and
Core with elective subject.
• The system should give alerts timely.

2. Safety and Security Requirements


• Every user must have to Login with NITC register number with password.
• User must have to provide his/her NITC mail ID.
• FA should have allowed to accept or reject a request for elective enrolment.
• User should allowed to change his/her password.
• Current Application status should be show.
• Password should be stored in DB in encrypted form.

3. Software Quality Attributes


1. Availability
The system shall be available to all the users 24X7.

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.

Appendix A - Activity Log


• 26 Jan 2021, 04:00 PM (Duration: 15 minutes) – Discussed about the project
structure and asked everyone to read previously submitted SRS for the same topic.
• 27 Jan 2021, 11:30 AM (Duration: 30 minutes) – Decided who will work on which part.

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

You might also like