Umas SRS
Umas SRS
Umas SRS
Simant Purohit
Akshay Thirkateh
Prasad Nair
TABLE OF CONTENTS
1. Introduction
1.1 Purpose of the system
1.2 Scope of the system
1.3 Objectives and success criteria of the project
1.4 Definitions, acronyms, and abbreviations
2. Current system
3. Proposed system
3.1 Overview
3.2 Functional requirements
3.3 Nonfunctional requirements
3.3.1 Usability
3.3.2 Reliability
3.3.3 Performance
3.3.4 Supportability
3.3.5 Fault Tolerance
3.3.6 Interface
3.3.7 Packaging
3.3.8 Legal
3.4 System models
3.4.1 Use case model
3.4.2 User interface (screen mock-ups)
1 Introduction
Our motive is to develop ‘University Management and Scheduling’ application that mainly focuses on
developing an application which would be used not only by the students but the professors as well. This
application covers the areas of course scheduling, on-campus position selection processing and tools used
by the professors. The aim is to develop a better system that is promising, reliable and maintainable.
Appropriate procedures will be taken keeping in mind the properties required to develop good software
and to safeguard the data and its integrity. Its purpose is broadly classified into three diverse
implementable areas which would be individually developed as independent modules and then
collaborated together as a complete application. An overview of each of the modules is given as follows.
Course scheduling is one of the main prominent features for any university. The idea is to develop a
system that lists all the available courses offered in each semester. It would allow the department to add
or remove an offered course from the list and allows students to register for them. If the course has
reached its limit, then automatically it would add the interested students into a waiting list and
automatically sends a mail when there is a vacancy. A system to put/ remove holds on the courses that are
open to some/ all students.
Another Category would be on-campus position selection processing. A clear procedure that would select
the students based on their skillset for any job opening. Any student that is eligible to apply for a position
is made to fill in an application form. A professor/ department posts a job opening. In accordance to the
requirements for the position, a list of suitable candidates is generated automatically and then a mail is
sent to them for further procedures. This system is mainly intended to be used only for GA, TA, RA
positions but can be extended to any related full time/ part-time jobs.
A set of tools for the professor to make their teaching and related duties easier and better is also a very
important aspect that is incorporated here. We plan to devise a tool that calculates the grade based on the
cut off criteria given by the professor. A system that compares students’ marks and gives a corresponding
grade for each exam. This tool also holds the capability that if the professor needs to send course
documents and other pertaining information to his class he can do so with this.
1.2 Scope:
The scope of the project is to deliver a high end application which would pragmatically serve many major
tasks in a university such as course scheduling, selection of applicants for part time or full time jobs and a
number of tools which can be used by the departments or professors. This system would act as a better
bridging tool between students, professors and the department also.
The objective of the system is to build a system that successfully implements all the aimed functionalities.
The system thus built should be easy to maintain and should be flexible enough to add/remove more
functionalities as and when required. The aimed system being a application for managing a university
should maintain high levels of integrity of data.
1.4 Definitions, acronyms, and abbreviations
University admin: This is a term used to refer to the admin who manages all the different departments in
the university and schedules all the courses in the departments among others.
Department admin: Department admin refers to the admin who manages one single department in the
university, managing activities like adding courses, assigning professors to courses etc.
Department: A university consists of various departments. But here we use the generalized meaning for
the word as every department functionally is the same and also it’s duties and responsibilities too.
GA: This is a term used in reference to Graduate Assistant who assists the department in various technical
tasks.
TA: This is a term used in reference to Teaching Assistant who acts as an assist to the professor for a
particular course.
RA: This is a term used in reference to Research Assistant who works along with the professor on a
research project.
2. Current system
The current system which we have come across as of now does not provide exceptional features and clear
understanding for the various assistantship selection procedures. What we feel missing is a transparent
process which filters the applicants based on the self-entered information.
When a student tries to register for a course and it is filled up to capacity there is nothing he can do about
it in this current scenario rather than just waiting for anyone to drop it and it is opened for grabs by
anyone without any preference to the student who just missed it.
The current system can extensively be improved with tools for the professors/ department which would be
more efficient in terms of curve calculation, grade calculation and cutoff decision making. This is needed
so as to have a clearer understanding about any calculations needed.
3. Proposed system
3.1 Overview
The system proposed aims at implementing features to help professors, student, and the university in itself
to ease their workload in terms of managing various aspects of the university. The system aims at
providing tools to professors that will streamline the calculation of grades and grading curve keeping in
mind the preferences of the professor on how to grade. This system aims to develop grading algorithm to
ensure fair grading. Tools for professor will also provide the functionality to communicate with students
for announcements, sharing coursework materials etc.
The system will include tools for students to help them in registration for courses they wish to take. The
student will be able to sign up on wait list if the class capacity is currently full. The wait list will act as a
queue for students wishing to attend the course. The students will be notified by email as and when the
seat is up for grabs.
Apart from tools for professors and students, the system will incorporate functionalities for departments
in the university offering different courses to add, remove, modify course information. Course
information will include parameters such as teaching professor, credits, duration etc.
The system will also include a top-level admin functionality which will be able to manage all the
departments, professors and students.
The list of functionalities in not exhaustive and some functionalities might be removed or added
depending upon the feasibility and necessity.
3.2.1.1: Login
Use case name: Login
Flow of events:
1. The user starts the application.
2. The system presents the login window to the user.
3. The user enters its username and password details in the provided fields.
4. The system tries to authenticate the user.
5. If the user is authenticated, an appropriate interface is shown to the user.
Exit condition: The user has been successfully logged in or has been notified of the reason for the
unsuccessful attempt.
3.1.2.2: Recover password
Use case name: Recover password.
Participating actors: System user.
Flow of events:
1. The user does not remember the password to its account.
2. The user can click on the ‘forgot my password’ button to recover password.
3. The user is asked for email id associated with the account so that the recovery code can be sent
to the user.
4. The user is presented with a screen asking to enter the recovery code that was sent. The code
has a timed validity and the screen will return to login screen after a specified time
5. The user copies the recovery code from the email and pastes the code inside the recovery code
box.
6. If the code is correct and not timed out, the system asks the user to enter new password.
7. The password is successfully changed after the user presses the accept button.
8. The system notifies the user of a successful password change and returns the user back to login
screen.
Entry condition: The user has forgotten account password and wishes the recover the password.
Exit condition: The user successfully recovers account password or is notified of the reason for an
unsuccessful attempt.
Entry condition: The user is logged in and wants to change the account password.
Exit condition: The user successfully changes account password or is notified of the reason for an
unsuccessful attempt.
1. Grade It
Entry condition: The professor is logged in to the system and is associated with the course.
Exit condition: The professor successfully adds the new grading criteria to the user or is given a
appropriate notification about what went wrong with the process.
Entry condition: The professor/TA is logged in the system and is associated with the course.
Exit condition: The professor/TA successfully adds/edits the marks associated with grading criteria.
2. Curve It
Entry condition: The professor must be logged into the system and there must be at least one grading
criteria defined.
Exit condition: The professor successfully calculates the grading criteria and saves it to the system or is
given an appropriate message about what went wrong.
3. Share It
3.2.1.7: Share course documents
Flow of events:
1. The user logs in the system and enters the ‘share it’ tab.
2. The system presents an interface to the user with the facility to attach files and add notes.
3. The user adds appropriate documents and presses send button.
4. The system automatically adds all the students associated with the course to the mailing list
and send an email to each student.
5. The system provides a confirmation to the user.
6. The system returns back to the user’s home screen.
Entry condition: The user is logged in and is associated with at least one of the courses.
Exit condition: The user can successfully share files with students or is given a appropriate notification
about where the process faltered.
3.2.1.8: Search for courses
Use case name: Search for courses.
Flow of events:
1. The student first enters the course search tab.
2. The student is given option to search for courses by department or by name.
3. The student presses the search by department button.
4. The student is presented with the list of departments which offer courses.
5. After selecting the department, the student is presented the list of courses offered by the
department.
6. The student can go back and forth and select different departments for its search.
Entry Condition:
Student must be logged in to the system.
Exit Condition:
The student is able to see the list of courses searched for.
Flow of events:
1. The student searches for courses either by department or by name and has a list of courses
displayed.
2. The student selects a course from the list.
3. The system displays the course details to the student. The details of the course also includes the
current capacity and the filled capacity of the class.
4. If the class has remaining capacity and the student is eligible to register, the register for class
button will be enabled and student can press the button to register.
5. The request for the registration is processed and the student is registered for the course.
Alternate flow of events 1:
1. From step 4 of the main flow of events, if the class capacity is full, the register button will be
disabled and the ‘add to wait list button’ will be enabled.
2. The student can add self to the wait list for the current course if the eligibility criteria is met by
the student.
3. After pressing add to wait list button, the student is added to the wait list for the course.
Entry Condition:
Student must be logged in to the system.
Exit Condition:
The student has either being able to register for the course or the waiting list or is shown proper
message regarding the eligibility criteria.
Flow of events:
1. The student enters the ‘My courses tab’.
2. The current courses on the registration and the waiting list of student is displayed to the student
3. The student can select the drop course checkbox for the courses which are supposed to be
removed either from main registration or the waiting list the student is subscribed to.
4. The student now presses the save changes button to confirm dropping of courses.
5. The system presents a summary of changes to be made and asks the student to confirm the
changes.
6. The student can press the confirm changes button and the changes will be applied to its profile.
7. The ‘My courses tab’ is displayed again to the student.
Entry Condition:
Student must be logged in to the system and inside the my courses tab
Exit Condition:
The changes requested by the student have been applied.
Flow of events:
1. The student enters the ‘my grades’ tab.
2. The student is shown the list of courses the student is currently registered for or was previously
registered. The system also displays the current cumulative GPA for the student excluding the
current courses taken.
3. The student clicks on the course for which grade is to be viewed.
4. The system displays all the grades for the particular course including any exam or homework
grade. The grade display depends upon what grades have been posted by the associated professor.
Entry condition:
The student is logged in and is or was registered for at least one course
Exit condition:
The student is able to view the cumulative and course wise grades.
Flow of events:
1. The student enters the ‘my courses’ tab.
2. The student is shown the list of courses the student is registered for.
3. The student clicks on the course for which details are to be viewed.
4. The system displays all the course details to the student including professor details, TA details,
syllabus, recommended books, etc.
5. The student can also download attachments from the course page that may have been made
available by the professor teaching the course.
Entry condition:
The student is logged in and is registered for at least one course.
Exit condition:
The student is able to view the course details and view/download all the available course material.
Flow of events:
1. The student enters the ‘my details’ tab.
2. The system shows the student the details about the student in terms of registration, course
summary, grade summary etc. (Summary)
Entry condition:
The student is logged in.
Exit condition:
The student is able to view the details about self or an appropriate message indicating the error is
shown.
Flow of events:
1. The student enters the page containing the position description.
2. The student then has to check if he is eligible to apply for the position.
3. ‘Apply’ button then checks if the logged student has the required GPA to apply for a position.
4. If criteria matches then the Application form is displayed.
Entry Condition:
Student must have required GPA.
Exit Condition:
The student is able to view the application form if the eligibility criteria is satisfied else the pop
up message box should be shown.
Flow of events:
1. The student enters the page containing application form.
2. The student answers the various required details.
3. Then to save the data “confirm” button is pressed.
4. The confirmation overview page is then opened which shows all the data entered for
verification.
5. If there is a need to change any entry ‘Edit’ can then be pressed to go back to the previous
page.
6. If the student finds all entries to be correct he can then press “Submit”.
Entry Condition:
Student must be logged in and must be eligible to apply.
Exit Condition:
The student is able to complete the application for open positions.
Flow of events:
1. Prior to the student entering the details in the application form and the data is saved in the
database.
2. Then the system automatically computes the skillset into points/ flags and generates a score.
3. This set of flags and the score is saved into another database table.
4. When the match students is initiated this data is used for matching the requirements.
5. The appropriate matching list is then returned to the user.
Entry Condition:
The student should have filled the application form.
Exit Condition:
The flags and the score is saved in another database table.
3.2.1.17: Match Requirements
Flow of events:
Entry Condition:
Professor/ department must be logged in to add an open position.
Exit Condition:
The Professor/ department is able to see the list of matching students.
Flow of events:
1. The professor/ department logs into the system.
2. Then the professor/ department performs the ‘match requirements’ as explained in the
previous use case.
3. The professor/ department can select the number of people he wishes to call for an
interview.
4. Accordingly a mail is sent to them with further details.
5. A summary report email is then sent to the professor too.
Entry Condition:
Professor/ department must be logged in to add an open position.
Exit Condition:
The students and the professor/ department are able to receive a mail.
Flow of events:
1. The department admin enters the manage courses tab.
2. The system displays the current courses that are under the department.
3. The department admin presses the ‘add a new course’ button.
4. The system produces a form asking for details about the course.
5. The department admin can now add all the details and press the apply button
6. The system now asks for confirmation from the user to add the course.
7. The department admin now can press the confirmation button to add this new course to the
course list.
8. The system adds the new course and presents the courses page to the department admin.
Entry condition:
The user is logged in as a department admin.
Exit condition:
The department admin is able to add new course or is given an appropriate notification about
where the process faltered.
Flow of events:
1. The department admin enters the manage courses tab.
2. The system displays the current courses that are under the department.
3. The department admin can now select a course from the list that is to be deleted.
4. The system now displays all the information related to the course clicked.
5. The department admin now presses the remove course button.
6. The system asks for confirmation from the user to delete the course.
8. The system removes the course and presents the courses page to the department admin.
Entry condition:
The user is logged in as a department admin.
Exit condition:
The department admin is able to remove course or is given an appropriate notification about
where the process faltered.
Flow of events:
1. The department admin enters the ‘manage teaching faculty’ tab.
2. The system displays the current professors that are under the department.
3. The department admin presses the ‘add a new professor’ button.
4. The system produces a form asking for details about the professor.
5. The department admin can now add all the details and press the apply button.
6. The system now asks for confirmation from the user to add the new professor.
7. The department admin now can press the confirmation button to add this new professor to the
professors list.
8. The system adds the new professor and presents the current professors page to the department
admin.
Entry condition:
The user is logged in as a department admin.
Exit condition:
The department admin is able to add new professor or is given an appropriate notification about
where the process faltered.
Flow of events:
1. The department admin enters the ‘manage students’ tab.
2. The system displays the current students that are under the department.
3. The department admin presses the ‘add a new student’ button.
4. The system produces a form asking for details about the student.
5. The department admin can now add all the details and press the apply button.
6. The system now asks for confirmation from the user to add the new student.
7. The department admin now can press the confirmation button to add this new student to the
students list.
8. The system adds the new student and presents the current students page to the department
admin.
Entry condition:
The user is logged in as a department admin.
Exit condition:
The department admin is able to add new student or is given an appropriate notification about
where the process faltered.
Flow of events:
1. The department admin enters the ‘manage professors/students tab’.
2. The system displays the current professors/students that are under the department.
3. The department admin can now select a professor/student from the list that is to be deleted.
4. The system now displays all the information related to the professor/student clicked.
5. The department admin now presses the remove professor/student button.
6. The system asks for confirmation from the user to delete the professor/student.
8. The system removes the professor/student and presents the current professors/students page to
the department admin.
Entry condition:
The user is logged in as a department admin.
Exit condition:
The department admin is able to remove professor/student or is given an appropriate notification
about where the process faltered.
3.3.1 Usability
i. The system must be easy to use by all such that they do not need to read an extensive amount of
manuals.
ii. The system must be quickly accessible by the users.
iii. The system must be intuitive and simple in the way it displays all relevant data and
relationships.
iv. The menus of the system must be easily navigable by the users with buttons that are easy to
understand.
3.3.2 Reliability
i. The System must provide with accurate numbers to the user continuously. Any irregularities will be
taken care by the administrator or by the program itself.
ii. The System should successfully add courses, students, professors and also the departments along with
their access levels. It should also be able to perform the intended functionalities without any data loss.
iii. The system must provide a password enabled login to the user to avoid any unauthorized user
changing the data in the system.
iv. The system should provide the user updates on completion of requested processes and if the requested
processes fail, it should provide the user the reason for the failure.
v. The system should not update the data in any database for any failed processes.
3.3.3 Performance
i. The system must not lag, because the users don’t have down-time to wait for it to complete an action.
ii. The system must complete updating the databases after each functionality is implemented.
iii. According to their respective access levels, the functions of the system must be available to the user
every time the system is in use.
iv. The calculations performed by the system must comply according to the norms set by the user and
should not vary unless explicitly changed by the user.
3.3.4 Supportability
i. The application is designed such that it works even on systems having the minimum configuration.
ii. The system is adaptable even if additional plugins or modules are added at a later point.
iii. The data on the server can be connected from multiple users, so as to make the system more portable.
iv. The application is designed to support different operating systems.
i. To handle the errors which may occur during the inputting, the system must be able to intimate the user
with either a pop up message box or the related error message. We need to make sure that incorrect data
should not be saved into the database.
ii. Under Extreme conditions, the system needs to make sure that there is no integrity loss and there is no
data loss also. The data will need to be continuously be updating on the server. Under suspicious
circumstances the system should authenticate the user before giving them access.
3.3.6 Interface
i. There should be checks done on the kind of format the inputs are accepted by the application. There
should be a data type check before any insertion into the database.
ii. The data would be stored centrally into a database server. Upon firing of queries the intended outputs
should be obtained.
iii. The input to the application would either the user inputted data or the data that is stored in the SQL
servers.
3.3.7 Packaging
i. The system must be able to run on the Windows operating systems beginning with
Windows 7, and must be able to run on future releases.
ii. The software must incorporate a license key authentication process.
iii. The packaging must come with a manual that details the use of the system, and also the instructions on
how to use the program. This manual may be included either in a booklet that comes with the software, or
on the disc that the software itself is on.
3.3.8 Legal
Every software that is developed should be kept in mind that all its functionalities should be legal and not
be counterfeiting any other software. There should also be proper documentation and registration of the
product so that it can safely be legal always.
3.4 System models
The following is the list of assumptions being made in the following project:
All the students already have their own email Id’s setup.
We assume that the finances for the university is already taken care of.
Tools Used:
MySQL
References:
Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)
Note:
The above given information is not exhaustive. The requirements may change over a period of time. If
there are any changes being made it will be reflected in the further iterations of this document.