Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

1

Ex.No 1 PROBLEM STATEMENT


Date:

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

Name Date Reason For Changes Version


1. Introduction
1.1 Purpose

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 .

1.2 Document Conventions


In general, this document follows IEEE formatting requirements. This document contains Times template
font size 14 for Sub headings, Size 18 for Headings and Arial template font size 11 for Descriptions
throughout the document. Heading are followed by subheadings which is followed by paragraphs.

Content Font Face Font Size Font Style


Heading Times New Roman 18 Bold
Sub Heading Times New Roman 14 Bold
Paragraph Times New Roman 12 Normal

1.3 Intended Audience and Reading Suggestions


This document can be used by,

 Developers
 Testers
 Users

1.4 Product Scope


 The objective of the Software is to provide an easy way for students to reserve a course through
online.
 The main goal of this system is the time efficiency.

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.

2.2 Product Functions


 The System secures the information about the student’s reservation
 The Students will receive SMS and Mail updates
 The Registrar will get the report about the registration made by each students

2.3 User Classes and Characteristics


Students - They are the person who desires to obtain the course and submit the information tothe database.

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.

2.4 Operating Environment


This System Support following Operating Systems

 Windows10
 Windows 8
 Windows 7
 Windows XP.

2.5 Design and Implementation Constraints


 The information of all users must be stored in a database that is accessible by the administrators.
 My SQL Server will be used to maintain a database.
 Users may access from any computer that has internet browsing capabilities.
 The system will work 24*7

2.6 User Documentation


The System provides User manual that defines the functions and option available in the system. The User
manual will be available in a document format.

2.7 Assumptions and Dependencies


 The student may be required to upload the certificates.
 The student and admin should have a internet connection to avoid disruption.
3. External Interface Requirements
3.1 User Interfaces
 The interface should be user friendly for the user. It can be implemented by using java script.

 The user interface is easy to implement.

3.2 Hardware Interfaces


The System requires the Intel processor and minimum of 2 GB RAM for the client. And also have
the dedicated links between theserver andclients.

3.3 Software Interfaces


The client machines require Microsoft Windows XP or better. The server requires Oracle Database
to hold all information,both the client and server computer must have internet browser to work
online.

3.4 Communications Interfaces


The System will perform the following functions:

• Sophisticated and -friendly interface for allsystem.

• Individual account or profile for all related to thesystem.

• Sophisticated interfaces for all people who related to thesystem.

• Implement student, course and instructor databasesystems.

• Implement Account System for managinginvoices.

• Keepsecretforallofstudentprofiles.Eachdivisioncanseeonlynecessarydataof
each student foranalyzing.

• Internet connection to work on with thesystem.


4. System Feature

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

Information:Course ID, Course Name.


• The System will generate reports on seats availability about thefollowing information: Course ID,
Seat Number,Reserved or Unreserved.

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

The course registration system has the following requirements:

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.

REQ-2:VIEW COURSE DETAILS

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.

REQ-3:RESERVE FOR COURSE

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

The system displays the status information to the student


9

5.Other Nonfunctional Requirements

5.1 Performance Requirement

• Capacity: The System must support 1000 people at a time.

• Interface: The interface screen shall respond within 5seconds.

• Conformity: The systems must confirm to the Microsoft Accessibilityguidelines.

• Network Connection:It should be connected to internet 24 X 7. And the


Server must be onall time.

5.2 Safety and Security Requirements

• Identification: The system requires to identify himself or herself usingE-mail.

• 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.

• Administrator’s Rights:Administrator shall be able to view and modify all information


inSystem.

• Back Up: The system shall provide the capability to back-up theData

• Errors:The system shall keep a log of all theerrors.

• Reliability: The system keeps the data securely students who enrolled the courses.
10

• Availability:The system shall be available all thetime

• 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:

Registrar is an official recorder or keeper of records such as a officer of an educational


institution responsible for registering students, keeping academic records, and corresponding
with applicants and evaluating their credentials.

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:

server is a computer, a device or a program that is dedicated to managing network


resources. Servers are often referred to as dedicated because they carry out hardly any other
tasks apart from their server tasks
11

Ex.No:3 Identify Use Cases and develop use case model

Date:

USE CASE DIAGRAM:


A use case diagram at its simplest is a representation of a user's interaction with the system that
shows the relationship between the user and the different usecases in which the user is involved.
A use case diagram can identify the different types of users of a system and the different use
cases and will often be accompanied by other types of diagrams as well. The use cases are
represented by either circles or ellipses.
12

Purpose of Use Case Diagrams:

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.

Basic Use Case Diagram Symbols and Notations:

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.

USE CASE DIAGRAM:


14

Use case Modeling:


15

Usecase name: Login


Brief:
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 or if
the password is wrong then it shows a message.

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.

Precondition The system login should be working.


Main success scenario Enter to the system software.
Look at the control panel.
Enter the login ID and password

Exception Incorrect password.


Forget password.
Extension Proper maintenance of the system is needed.
Unauthorised person cannot login to the
system.
16

Special requirements Security is important.


Provide more authentication.

Usecase name: Check Status


Brief:
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 else the
student will select the other available course.

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:

Use casename Check Status


Goal To select the course from the list of course.

Level To check the status of the course.


Primary actor Student.
Secondary / Suporting actor Admin , Registrar.
Stake holders Student plays the important role in the
system.

Precondition The Student should eligible for that course


17

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

Ex.No:4 Identify Conceptual classes and develop the


domain model and also derive a class diagram
Date: from that

Domain model:
Steps to create a domain model:
1. Find conceptual classes.

2. Draw them as classes in a UML class diagram.

3. Add Associations and attributes.

Finding Conceptual classes:


1. Reuse or modify existing conceptual models

2. Use category list.

3. Identify noun phrases.

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.

Identify the noun phrase:


Main success scenario:
19

 First, the respected student can view the course details.


 If the student wants to enrolled the course then the student should login with their
 username and password.
 Next for the selected course the student should reserve .
 For the reservation process we should give the appropriate details of the students.
 Then the system validate the user details.
 After the validation step, the student should pay the fees for the reserved course.
 After the end of payment the acknowledgement sent via the email of the student and so
only the student can easily check their details.

NOUNS:
• Course

• Student

• Registrar

• Detail

• Username

• Password

• Acknowledgement

• Email

• 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.

 Classifier members are commonly recognized as “static” in many programming languages.


The scope is the class itself.
o Attribute values are equal for all instances
o Method invocation does not affect the classifer’s state
 Instance members are scoped to a specific instance.
o Attribute values may vary between instances
o Method invocation may affect the instance’s state (i.e. change instance’s attributes)
To indicate a classifier scope for a member, its name must be underlined. Otherwise, instance
scope is assumed by default.
Relationships:

Class Notation:

UML class is represented by the following figure. The diagram is divided into four parts.

 The top section is used to name the class.


 The second one is used to show the attributes of the class.
 The third section is used to describe the operations performed by the class.
23

 The fourth section is optional to show any additional components

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

Ex.No:5 Using the identified scenarios find the interaction


between objects and represent them using UML
Date: sequence diagram

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.

Sequence Diagram Notations:

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

Figure: an actor interacting with a seat reservation system


3. Lifelines: A lifeline is a named element which depicts an individual participant in a
sequence diagram. So basically each instance in a sequence diagram is represented by a
lifeline. Lifeline elements are located at the top in a sequence diagram. The standard in in
UML for naming a lifeline follows the following format – Instance Name : Class Name
28

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:

4. Messages: Communication between objects is depicted using messages. The messages


appear in a sequential order on the lifeline. We represent messages using arrows.
Lifelines and messages form the core of a sequence diagram.
29

Messages can be broadly classified into the following categories :

1. Synchronous messages: A synchronous message waits for a reply before the


interaction can move forward. The sender waits until the receiver has completed
the processing of the message. The caller continues only when it knows that the
receiver has processed the previous message i.e. it receives a reply message. A
large number of calls in object oriented programming are synchronous. We use a
solid arrow head to represent a synchronous message.

2. Asynchronous Messages: An asynchronous message does not wait for a reply


from the receiver. The interaction moves forward irrespective of the receiver
processing the previous message or not. We use a lined arrow head to represent an
asynchronous message.
30

3. Create message: We use a Create message to instantiate a new object in the


sequence diagram. There are situations when a particular message call requires
the creation of an object. It is represented with a dotted arrow and create word
labeled on it to specify that it is the create Message symbol.
For example – The creation of a new order on a e-commerce website would
require a new object of Order class to be created.

 Delete Message: We use a Delete Message to delete an object. When an object is


deallocated memory or is destroyed within the system we use the Delete Message symbol.
It destroys the occurrence of the object in the system.It is represented by an arrow
terminating x. For example – In the scenario below when the order is received by the user,
31

the object of order class can be destroyed.

 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

 Found Message: A Found message is used to represent a scenario where an unknown


source sends the message. It is represented using an arrow directed towards a lifeline from
an end point. For example: Consider the scenario of a hardware failure.
34

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.

Uses of sequence diagrams:

 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

Ex.No:6 Using the identified scenarios, find the interaction


between objects and represent them using UML
Date: collaboration diagram

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.

Notations of a collaboration diagram:

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

Ex.No:7 Draw relevant state chart diagram and activity


diagram
Date:

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:

This Activity diagram consists of three swimlanes namely student,reservation


system,admin,accountant.The initial process is course selection by the student.Theparallel
behaviours such as branch used for selection of the course and login. The reservation then next
processed by the filling the application by entering the details and get validate by the
system.Then payment is done by the help of accountant.Then the acknowledgement send to the
student for the resevation of a course.
42

STATE CHART DIAGRAM:


A state machine Diagram (or start diagram, also called state chart of state transition diagram) is
a behaviour which specifies the sequence of states an entity (or object) visits during its lifetime
in response to events, together with its responses to those events.

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:

 States (simple states or composite states)


 State transitions connecting the states

Initial and Final States:


 The initial state of a state machine diagram, known as an initial pseudo-state, is
indicated with a solid circle. A transition from this state will show the first real state
 The final state of a state machine diagram is shown as concentric circles. An open loop
state machine represents an object that may terminate before the system terminates,
while a closed loop state machine diagram does not have a final state; if it is the case,
then the object lives until the entire system terminates.
43

STATE CHART DIAGRAM:


44

Ex.No:8 Implement system as per detailed design

Date:

Class name: User.java


public class User {

public String Username;

public String Password;

public CourseDetails enters;

public Reservation fill;

public void login() {

Class name: Status.java


public class Status {

public String Name;

public String CourseName;

public Integer Paidamount;


45

public void sendack() {

Class name: CourseDetails.java


public class CourseDetails {

public String coursename;

public String Coursetype;

public Integer Courseduration;

public void viewCourse() {

Class name: Reservation.java


import java.util.Vector;

public class Reservation {

public String Name;


46

public Integer Age;

public String DOB;

public Integer Marks;

public String ParentDetails;

public String Coursename;

public Vector generates;

public void fillApplication() {

public void validate() {

Class name: Payment.java


import java.util.Vector;

public class Payment {

public Integer Amount;


47

public String ModeofPayment;

public Vector generates;

public void payMethod() {

Class name: NetBanking.java


public class NetBanking extends Payment {

public String Userid;

public String Password;

public void pay() {

Class name: CardPayment.java


public class CardPayment extends Payment {

public Long Cardnumber;


48

public Integer CVVnumber;

public String Expirydate;

public void pay() {

}
49

Ex.No:9 Test the software system for all the scenarios


identified as per the use case diagram
Date:

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.

The protocols supported by JMeter are:

 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

Class name: User.java


package ocrs;

public class User {

public String Username="hhh";

public String Password="abc";

public void login(String usernm,String pass) {

if((Username==usernm)&&(pass==Password))

System.out.println("Login successful"); }

JMETER CODING :

import ocrs.User;

User u=new User();

u.login(“hhh”,” abc”);
51

Success:

Failure:
52

Exp.No:10 Improve reusability and maintainability by


applying appropriate design pattern
Date:

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.

Figure: Design Pattern - Abstract Factory


53

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.

Figure: Abstract Factory Design Pattern for User Login

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

You might also like