Professional Documents
Culture Documents
Online Course Reservation System
Online Course Reservation System
AIM:
To develop the problem statement for Online Course Reservation System.
PROBLEM STATEMENT:
Online Course Reservation System is meant for students who wish to apply for the course
through online in a college. At first the system will list the available courses in the college. Then
the student will check the available seats for the particular course in the college. If the interested
course is available then the student will login and directed to fill the application. The system will
check for the eligibility and if the student is eligible then they will directed for payment to
reserve the course. If the course is reserved, then an acknowledgement will be send to the student
and also to the registrar of the college.
2
Software Requirements
Specification
For
ONLINE COURSE
RESERVATION
Version 1.0 approved
Prepared by
M. Hariharan
A. HakkimSait
S. Harihara Bakiswaran
PSNA CET
21 .07.2019
Table of Contents
Table of Contents ...........................................................................................................................3
Revision History .............................................................................................................................3
1. Introduction ..............................................................................................................................4
1.1 Purpose............................................................................................................................................. 4
1.2 Document Conventions .................................................................................................................... 4
1.3 Intended Audience and Reading Suggestions .................................................................................. 4
1.4 Product Scope .................................................................................................................................. 4
1.5 References ........................................................................................................................................ 4
2. Overall Description ..................................................................................................................4
2.1 Product Perspective.......................................................................................................................... 4
2.2 Product Functions ............................................................................................................................ 5
2.3 User Classes and Characteristics ..................................................................................................... 5
2.4 Operating Environment .................................................................................................................... 5
2.5 Design and Implementation Constraints .......................................................................................... 5
2.6 User Documentation ........................................................................................................................ 5
2.7 Assumptions and Dependencies ...................................................................................................... 5
3. External Interface Requirements ...........................................................................................6
3.1 User Interfaces ................................................................................................................................. 6
3.2 Hardware Interfaces ......................................................................................................................... 6
3.3 Software Interfaces .......................................................................................................................... 6
3.4 Communications Interfaces ............................................................................................................. 6
4. System Features .......................................................................................................................7
4.1 System Feature 1 .............................................................................................................................. 7
4.2 System Feature2 ............................................................................................................................... 8
5. Other Nonfunctional Requirements .......................................................................................9
5.1 Performance Requirements .............................................................................................................. 9
5.2 Safety and security Requirements ................................................................................................... 9
Revision History
This SRS is developed for the entire system .Course Reservation by means of Direct communication would
consume time and takes more man power.In order to resolve this one, an Automated Online Course
Reservation System provides a smart way to reserve the course through online which helps the Student to
apply in a efficient and convenient way .
Developers
Testers
Users
1.5 References
IEEE Software Requirement Specification Template
https://krazytech.com/projects/sample-software-requirements-specificationsrs
2. Overall Description
2.1 Product Perspective
The Online Course Reservation System will be useful for students so that they can reserve their interested course in a
college .This Online Course reservation system is a interface between ‘Students’ and the ‘College’. This system is
developed to save energy and time of the student.
In the System, Students must register to reserve their interested course in a college. Then Students must enter the
details in the application form and the system checks for the eligibility of student. If the student is eligible he/she will
be allowed to pay for the course through E-Pay after payment both the student and registrar will be notified.
Administrator – He has privilege to allocate the seats for the course and check the eligibility of the student.
He can approve or reject student’s application.
Windows10
Windows 8
Windows 7
Windows XP.
• Keepsecretforallofstudentprofiles.Eachdivisioncanseeonlynecessarydataof
each student foranalyzing.
4.1System Feature1
Description andPriority
ReserveSeat:
• Sign In: The first needs to sign in to the system with the name andpassword he/she have
provided with. The system needs to check for validation of that name and password and
then only allow he/she to access thesystem.
• Check Availability: They must be allowed to see all available options for courses.And see
if the seat is available ornot.
• Reserve Position: Then if the position is available then it must be booked by the only and
should not be granted to any other again till it getsfree.
MaintainHistory:
• Thewatchhistoryforthecourseregisteredbythe user mustbemaintainedregularlywhen he/she
signs out from the account.
ReportGeneration:
• Course Information: The System shall generate reports on course about thefollowing
Database:
• Mandatory Information: First Name, Last Name, Phone Number, ID, Address, Postal Code, City,
Country, name and Password.
• Course Type: Technical or Non-Technical, Instructor, InstructorDetails.
• Update Information: The registrar will allow Administrator to update anyof the information.
• Course Related Information: CourseID, No. of Seats.
8
4.2 FunctionalRequirements
1. Login
2. View coursedetails
3. Reserve forcourse
4. Payfee
5. CheckStatus
ACTORSINVOLVED:
1. Student
2. Registrar
REQ-1: LOGIN
The User enters the name and password and chooses whether the user is Student or
Registrar.If entered details are valid, the user’s account becomes available. If it is
invalid, anappropriate message is displayed to the user.
In this use case, a student can search all the courses available to him and choose the
best course he wants. The student can view the course duration, faculty and
department ofthe courses he maychoose.
When a student has successfully chosen a course, he can register to that course. Upon
registration, the student’s details are stored in the database.
REQ-4:PAY FEE
After registration to any course, the student may see the details of his current course. He
may wish to know details about fees and other information.
REQ-5:CHECK STATUS
• Login ID:Any who uses the system shall have a Login ID andPassword.
• Modification:Anymodification(Insert,Delete,Update) for
theDatabaseshallbesynchronizedand done only by the administrator.
• Back Up: The system shall provide the capability to back-up theData
• Reliability: The system keeps the data securely students who enrolled the courses.
10
• Appendix A: Glossary
• OCRS:
• It stands for Online course resrervation system.
• AUNTHETICATION:
• The process of identifying an individual, usually based on a username and password. In
security systems, authentication
• E-Pay:
e-pay is an eWallet that shoppers can use to pay utility bills or transfer money online.
Shoppers register their debit or credit card when signing up for an ePay account.
Shoppers can then make payment either directly from their eWallet, or from the credit
or debit card linked to their account.
REGISTRAR:
DATABASE:
database is an electronic system that allows data to be easily accessed, manipulated and
updated. In other words, a database is used by an organization as a method of storing,
managing and retrieving information.
Server:
Date:
The purpose of use case diagram is to capture the dynamic aspect of a system. However, this
definition is too generic to describe the purpose, as other four diagrams (activity, sequence,
collaboration, and Statechart) also have the same purpose.
System:
Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the
system's boundaries.
Usecase:
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.
Actors:
Actors are the users of a system. When one system is the actor of another system, label the actor
system with the actor stereotype.
13
Relationships:
Illustrate relationships between an actor and a use case with a simple line. For relationships
among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates
that one use case is needed by another in order to perform a task. An "extends" relationship
indicates alternative options under a certain use case.
Casual:
Success scenario:
The Student enters into the system’s software and looks into the control panel, then he enters the
login ID and password. . If the password is valid then the system will display the next step.
Alternate scenario:
If the password entered by the Student is invalid, the system cannot be opened and can’t
perform any actions. So he must reenter the valid password. The system allows to enter the
valid password upto three attempts.
Fully Dressed:
Use case name Login
Goal To login successfully into the system.
Level Enter the login ID and password.
Primary actor Student.
Secondary / Suporting actor Admin
Stake holders Student plays the important role in the
system. He login to the system and and then
fill the application.
Casual:
Success scenario:
The student can enter the system and select the course to check the status of seat availability
for the course. If the seat is available for that course then the student will select the course.
Alternate scenario:
But at some situations, if the seat is not available then the student will select the other
available course.
Fully Dressed:
Main success scenario The student can enter the system and select the
course to check the status of seat availability for
the course. If the seat is available for that course
then the student will select the course.
Exception Any other intervention of hazardous virus
occurred, the whole system may be
collapsed.
Extension Proper maintenance of the system during the
regular interval time.
Special requirements Security Maintainence.
18
Domain model:
Steps to create a domain model:
1. Find conceptual classes.
Category list:
1.Business transaction: Reservation.
2.Transaction item: Reservation line items.
3.Product or service Course.
Related to transaction:
4. Where the transaction recorded: Database
5. Role of people or organization related to Student, registrar, College
transaction:
6.Place of transaction: Browsing center, College
7.Noteworthy events: Reserve course, fee pay.
8.Physics objects: System(pc or laptop).
9.Description of things: Course description.
NOUNS:
• Course
• Student
• Registrar
• Detail
• Username
• Password
• Acknowledgement
• Fees
• System
• Payment
• Details
20
Domain Model:
21
CLASS DIAGRAM:
Class diagram is a static diagram. It represents the static view of an application. Class diagram
is not only used for visualizing, describing, and documenting different aspects of a system but
also for constructing executable code of the software application.
Class diagram describes the attributes and operations of a class and also the constraints imposed
on the system. The class diagrams are widely used in the modeling of objectoriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
Class diagram shows a collection of classes, interfaces, associations, collaborations, and
constraints. It is also known as a structural diagram.
Purpose of Class Diagrams:
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base for component and deployment diagrams.
Forward and reverse engineering.
Members:
UML provides mechanisms to represent class members, such as attributes and methods, and
additional information about them.
Visibility:
To specify the visibility of a class member (i.e. any attribute or method), these notations must be
placed before the member's name.
+ Public
- Private
# Protected
~ Package
Derived property:
Is a property which value (or values) is produced or computed from other information, for
example, by using value of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
22
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
Class Notation:
UML class is represented by the following figure. The diagram is divided into four parts.
Classes are used to represent objects. Objects can be anything having properties and
responsibility.
Object Notation:
It is represented in the same way as the class. The only difference is the name which is
underlined as shown in the following figure.
Classes:
1. User
Username: String
Password: String
24
2. CourseDetails
Coursename: String
Coursetype: String
Duration: Integer
3. Reservation
Name: String
Age: Integer
DOB: String
Marks:Integer
Parentdetail:String
4. Payment
Amount: Integer
ModeofPayment: String
5. NetBanking
userid: String
password: String
6. CardPayment
Cardnumber: Long
ExpiryDate: String
CVVnumber: Integer
7. Status
Name: String
Coursename: String
Paidamount: Integer
25
CLASS DIAGRAM:
26
SEQUENCE DIAGRAM:
A sequence diagram simply depicts interaction between objects in a sequential order i.e. the
order in which these interactions take place. We can also use the terms event diagrams or event
scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order the
objects in a system function. These diagrams are widely used by businessmen and software
developers to document and understand requirements for new and existing systems.
1. Actors: An actor in a UML diagram represents a type of role where it interacts with the
system and its objects. It is important to note here that an actor is always outside the scope
of the system we aim to model using the UML diagram.
2. We use actors to depict various roles including human users and other external subjects.
We represent an actor in a UML diagram using a stick person notation. We can have
multiple actors in a sequence diagram. For example: Here the user in seat reservation
system is shown as an actor where it exists outside the system and is not a part of the
system.
27
We display a lifeline in a rectangle called head with its name and type. The head is located
on top of a vertical dashed line (referred to as the stem) as shown above. If we want to
model an unnamed instance, we follow the same pattern except now the portion of
lifeline’s name is left blank.
Difference between a lifeline and an actor: A lifeline always portrays an object internal
to the system whereas actors are used to depict objects external to the system. The
following is an example of a sequence diagram:
Self Message: Certain scenarios might arise where the object needs to send a message to
itself. Such messages are called Self Messages and are represented with a U shaped arrow.
32
For example – Consider a scenario where the device wants to access its webcam. Such a
scenario is represented using a self message.
Reply Message: Reply messages are used to show the message being sent from the
receiver to the sender. We represent a return/reply message using an open arrowhead with a
dotted line. The interaction moves forward only when a reply message is sent by the
receiver.
For example – Consider the scenario where the device requests a photo from the user. Here
the message which shows the photo being sent is a reply message.
33
It can be due to multiple reasons and we are not certain as to what caused the hardware
failure.
Lost Message: A Lost message is used to represent a scenario where the recipient is not
known to the system. It is represented using an arrow directed towards an end point from a
lifeline. For example: Consider a scenario where a warning is generated.
The warning might be generated for the user or other software/object that the lifeline is
interacting with. Since the destination is not known before hand, we use the Lost Message
symbol.
Guards: To model conditions we use guards in UML. They are used when we need to restrict
the flow of messages on the pretext of a condition being met. Guards play an important role in
letting software developers know the constraints attached to a system or a particular process.
35
For example: In order to be able to withdraw cash, having a balance greater than zero is a
condition that must be met as shown below.
Used to model and visualize the logic behind a sophisticated function, operation or
procedure.
They are also used to show details of UML use case diagrams.
Used to understand the detailed functionality of current or future systems.
Visualize how messages and tasks move between objects or components in a system.
36
SEQUENCE DIAGRAM:
37
Flow of messages:
The student login to the system by entering a valid ID and password.
Then student select a course from the list of available courses.
Next student has to enter the details of them such as name,dob,age marks.
After entering the details the system validate the datails.
Once the validation complete the student done the payment.
After completing the payment the acknowledgement send to the student via email.
Then the student check their status of the course using the status option.
38
COLLABORATION DIAGRAM:
A collaboration diagram, also known as a communication diagram, is an illustration of the
relationships and interactions among software objects in the Unified Modeling Language (UML).
These diagrams can be used to portray the dynamic behavior of a particular use cases and define
the role of each object.
Collaboration diagrams are created by first identifying the structural elements required to carry
out the functionality of an interaction. A model is then built using the relationships between
those elements. Several vendors offer software for creating and editing collaboration diagrams.
A collaboration diagram resembles a flowchart that portrays the roles, functionality and
behaviours of individual objects as well as the overall operation of the system in real time. The
four major components of a collaboration diagram are:
1. Objects- Objects are shown as rectangles with naming labels inside. The naming label
follows the convention of object name: class name. If an object has a property or state that
specifically influences the collaboration, this should also be noted.
2. Actors- Actors are instances that invoke the interaction in the diagram. Each actor has a
name and a role, with one actor initiating the entire use case.
3. Links- Links connect objects with actors and are depicted using a solid line between two
elements. Each link is an instance where messages can be sent.
39
4. Messages- Messages between objects are shown as a labeled arrow placed near a link. These
messages are communications between objects that convey information about the activity
and can include the sequence number.
The most important objects are placed in the centre of the diagram, with all other participating
objects branching off. After all objects are placed, links and messages should be added in
between.
COLLABORATION DIAGRAM:
40
ACTIVITY DIAGRAM:
Activity diagram describe activities which involve concurrency and synchronization, which are a
variation of state diagrams that focuses on the flow of actions and events. They can be used for:
To model a human task (a business process, for instance).
To describe a system function that is represented by a use case.
41
ACTIVITY DIAGRAM:
Key concepts:
State
A state is a condition during the life of an object during which it satisfies some condition,
performs some activity, or waits for some external event.
A state machine diagram is a graph consisting of:
Date:
}
49
JMeter:
JMeter can be used to simulate a heavy load on a server, group of servers, network or object to
test its strength or to analyze overall response time under different load types. JMeter simulates a
group of users sending requests to a target server, and returns statistics that show the
performance and functionality of the target server via tables, graph, etc.
Apache JMeter is open source software, a 100% pure Java desktop application, designed to load
test functional behavior and measure performance of web sites. It was originally designed for
load testing web applications but has since expanded to other test functions.
Web - HTTP, HTTPS sites web1.0, web 2.0 (ajax, flex and flex-ws-amf).
Web services – SOAP / XML-RPC.
Database services via JDBC drivers.
Directory – LDAP.
Messaging oriented services via JMS.
Service – POP3, IMAP, SMTP.
FTP services.
JMeter Features:
Being an open source software, it is freely available.
It has simple and intuitive GUI.
JMeter can conduct load and performance test for many different server types.
It has platform independent tool.
JMeter stores its test plans in XML format.
It is highly extensible.
To sum up, JMeter allows you to swarm a web application without thousand virtual users and
measure its performance at the same time.
50
if((Username==usernm)&&(pass==Password))
System.out.println("Login successful"); }
JMETER CODING :
import ocrs.User;
u.login(“hhh”,” abc”);
51
Success:
Failure:
52
For illustration purpose abstract factory pattern is used to describe the proposed method. Abstract
factory pattern known as a creational pattern, provides a method to encapsulate a group of
individual factories that have a familiar theme without specifying their concrete classes. In usual
case, the client software create a concrete implementation of the abstract factory then using
generic interface of the factory to create the concrete objects which is part of the theme. The
client doesn’t know which concrete objects gets from all of these internal factories, since it uses
only the generic interfaces of their products. Abstract products describe interface for every
different products of a single product family. Concrete products implement the abstract product
interface which is returned by creational methods of concrete factories. Abstract factory defines
the interface for creating products which is common to all concrete factories. Concrete factories
implement creational methods of the abstract factory and each concrete factory should
correspond to a specific products variant as shown in Figure.
Purpose of abstract factory design pattern is to provide an interface for creating families of
related objects without specifying concrete classes. The following Figure shows the example of
abstract factory design pattern for user login where two concrete factory and concrete product
used for execution.
Using proposed method design pattern asses where requirement is well documented and fixed
which is used as input. As step 1 firstly identify the design problem using alternative design
solutions from literature and experience, and solve using abstract factory design pattern. In step 2
maintainability, reusability, understandability, flexibility, composability, completeness, stability,
simplicity, and expandability are selected as design objective. Using step 3 appropriate solution
is selected as step 4 (tool) and step 5 (mathematical formation). In step 4 maintainability,
reusability, understandability, and flexibility are calculated using percerons design pattern
advisor tool. In step 5 completeness, stability, simplicity, and expandability are measured using
mathematical formation. In step 6, combine step 4 and 5 output to get required quality product.
Assessment of these nine quality attributes are discussed as:
Maintainability: Use of a design pattern essentially complicates design to usually add abstract
classes and additional associations to employ a design pattern. The key advantage of using
design pattern is that the resulting software should be easier to adapt, to modify fewer classes, to
add functionality to software. So, maintenance Client AbstractFactory +doAction1:void
+doAction2:void AbstractProduct +doAction:void AbstractFactory concreteProduct1
concreteProduct2 concreteFactory1 concreteProduct1: Admin concreteProduct2: User
concreteProduct1 +doAction:void concreteFactory2 concreteProduct1: Admin concreteProduct2:
User concreteProduct2 +doAction:void 95 programmers should have to use less effort to adapt
these changes. Every introduced pattern caused an improvement in different quality attributes.
54
Reusability: Design patterns are reusable micro architectures that add to overall software
architecture. Design patterns detain static and dynamic structure and collaborations of
components in successful solutions to problems that occur when developing software like
business data processing, databases, graphical user interfaces, telecommunications, and
distributed communication software. Patterns 96 help development of reusable components and
frameworks by using structure and collaboration of participants in software architecture at a level
higher than source code and object oriented design models that focus on individual objects and
classes. Thus, patterns facilitate reuse of software architecture, even when additional forms of
reuse are infeasible. An empirical investigation on reusability of design patterns and software
packages, attempts to empirically investigate reusability of design patterns, classes, and software
packages to identify the most beneficial starting points for white box reuse, which is pretty
popular among OSS.
55
Conclusion:
The Online course Reservation system can help to save the time of the students.
The system is designed to reduce the time , also improve the efficiency of maintaining the
course. It provides flexible and powerful reports regarding the course available in the list.it
provides the status to get the details of their enrolled course. It also helps to overcome some
problems faced by the students in real timecourse reservation .
56