Ooad Record Full
Ooad Record Full
Ooad Record Full
AUTOMATION
SYSTEM
Ex.no:1
PROBLEM STATEMENT
Date:
AIM
To develop the problem statement for the passport automation system.
PROBLEM STATEMENT
Passport Automation System is used to Apply renew, update the passport online.This Software is
developed to reduce the Manual work as well as the time. The first and foremost step is that the
Applicants will fill their personal details and submit the required documents. Then the personal
details and documents validated with the Database. Then the Verification is done by a Police
officer.
Then the System provides the List of Available data. The Current status of your Application is
updated after every process which can be seen in online interface. After adding your data in the
database, the Passport will be dispatched. The Existing Users can also renew for the Passport.
Table of Contents
Table of Contents ......................................................................................................................... iii
Revision History ........................................................................................................................... iii
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......................................................................................................................................... 5
2. Overall Description ..................................................................................................................5
2.1 Product Perspective .......................................................................................................................... 5
2.2 Product Functions ............................................................................................................................. 5
2.3 User Classes and Characteristics ...................................................................................................... 5
2.4 Operating Environment .................................................................................................................... 5
2.5 Design and Implementation Constraints ........................................................................................... 6
2.6 User Documentation ......................................................................................................................... 6
2.7 Assumptions and Dependencies ....................................................................................................... 6
3.External Interface Requirements ..............................................................................................6
3.1 User Interfaces .................................................................................................................................. 6
3.2 Hardware Interfaces.......................................................................................................................... 6
3.3 Software Interfaces ........................................................................................................................... 6
3.4 Communications Interfaces .............................................................................................................. 7
4. System Features .......................................................................................................................7
4.1 Registration ....................................................................................................................................... 7
4.2 Verification ....................................................................................................................................... 9
5. Other Nonfunctional Requirements .......................................................................................9
5.1 Performance Requirements............................................................................................................... 9
5.2 Safety Requirements ......................................................................................................................... 9
5.3 Security Requirements...................................................................................................................... 9
5.4 Software Quality Attributes ............................................................................................................ 10
5.5 Business Rules ................................................................................................................................ 10
Appendix A: Glossary..................................................................................................................10
Revision History
Name Date Reason For Changes Version
1. Introduction
Passport Automation System is an interface between the Applicant and the Authority responsible for
the Issue of Passport. It aims at improving the efficiency in the Issue of Passport and reduces the
complexities involved in it to the maximum possible extent.
1.1 Purpose
If the entire process of Issue of Passport is done in a manual manner then it would takes several
months for the passport to reach the applicant. Considering the fact that the number of applicants for
passport is increasing every year, an Automated System becomes essential to meet the demand. So
this system uses several programming and database techniques to elucidate the work involved in this
process. As this is a matter of National Security, the system has been carefully verified and validated
in order to satisfy it.
2. Overall Description
2.1 Product Perspective
The PAS acts as an interface between the Applicant and the Administrator. This system tries to make
the interface as simple as possible and at the same time not risking the security of data stored in. This
minimizes the time duration in which the user receives the passport.
➢ Administrator - He has the certain privileges to add the passport status and to approve the
issue of passport. He may contain a group of persons under him to verify
the documents and give suggestion whether or not to approve the dispatch of passport.
➢ Police - He is the person who upon receiving intimation from the PAS, perform a personal
verification of the applicant and see if he has any criminal case against him before or at
present. He has been vetoed with the power to decline an application by suggesting it to the
Administrator if he finds any discrepancy with the applicant. He communicates via this PAS
➢ The user interface for the software shall be compatible to any browser such as Internet
Explorer, Mozilla or Netscape Navigator by which user can access to the system.
➢ The user interface shall be implemented using any tool or software package like Java Applet,
MS Front Page, EJBetc.
Since the application must run over the internet, all the hardware shall require to connect internet
will be hardware interface for the system. As for e.g. Modem, WAN – LAN, Ethernet Cross-
Cable.
➢ Needed: Computers
➢ Hard Disk: 100-150 GB
➢ RAM: 512-1 GB required
➢ Internet Connection required.
➢ Cables, wires, Network adapters are required
3.3 Software Interfaces
➢ FRONT END CLIENT - The applicant and Administrator online interface is built using JSP and
HTML. The ADMINISTRATOR's local interface is built using Java.
➢ WEB SERVER – Apache Tomcat application server (Oracle Corporation).
➢ BACK END – Oracle 11g database
4. System Features
Secure Registration of information by the Applicants. Message box for Passport Application
Status display by the Administrator. Administrator can generate reports from the information
and is the only authorized personnel to add the eligible application information to the database
4.1 Registration
Author –TEAM01
Purpose – To Obtain a Passport ID
Flow of Events
➢ Basic Flow –New page with all the information regarding the user and account is shown by
the system.
➢ Exceptions – Error message regarding the issues and user is asked to provide valid log in
information
Purpose - To register a new user, user should be able to register himself with the application
Priority – FIFO(First-In-First-Out)
Actors – User
Flow of Event
➢ The system asks for the personal Document details of the user.
➢ User enters the personal details including chosen credentials, i.e. Name, Age ,Phone Number
,Address, And Other documents and submit the registration form.
➢ System differentiates between different users, and accordingly saves them in the system
database and registration is successful.
4.2 Verification
4.2.1 Description and Priority:
➢ The verification is done by the regional administrator after the
information provided by theuser.It has the highest priority in the system.
Appendix A: Glossary
ADMINISTRATOR: Refers to the super user who is maintaining the Applicant details.
HTML: Mark-up Language used for creating web pages.
J2EE: Java 2 Enterprise Edition is a programming platform java platform for developing and running
distributed java applications.
HTTP: Hyper Text Transfer Protocol.
SQL: Structured Query Language.
SRS: Software Requirements Specification.
GUI: Graphical User Interface.
EX.NO: 3 IDENTIFY USE CASES AND DEVELOP USE CASE MODEL
DATE:
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.
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.
Figure 1.1
USE CASE MODELLING
LOGIN
BRIEF FORMAT:-
An Applicant/user , enters the username and password to enter into the webpage .After the
Authentication by the Admin (verification officer).the Next window of PAS webpage will be opened
.Further Process can be take place.
CASUAL FORMAT :-
SUCCESS SCENARIO
Login is the main use case in the PAS System. Its primary actors are Applicant /user (Existing
User).Applicant /user (Existing user),Enters the usernames and password to Enter into the Webpage.
After the Authentication by the Verification Officer, the Next windows of PAS webpage will be take
place.
Here ,there are some negative scenario such as some network issues and Invalid username and
password are not allowed.
ALTERNATE SCENARIO
If the password entered by the Applicant is invalid, the system cannot be opened and can’t perform
any actions. So he must re-enter the valid password. The system allows to enter the valid password
upto three attempts.
REGISTRATION
BRIEF FORMAT
The System asks for the personal documents details of the user. User enters the personal Details
including chosen credentials , i.e. Name, Age ,Phone Number ,Address and Other Documents and
Submit the Registration form .System Differentials between Different Users and Accordingly Saves
them in the System Database and Registration is Successful.
CASUAL FORMAT
SUCCESS SCENARIO
Registration is used to attach the Files (or) Documents of the Applicant to the System for the Passport
Generation .Basic Actors are Applicant and System . The registration may be Classified into two
types. One is Passport Registration And Another is Passport Renewal.
In the Passport Registration , The System asks for the Personal Document Details of the Users .
Applicant enters the Personal Details of the User. Chosen Credentials i.e. Name ,Age, Phone Number,
Address and other Documents and Submit the Registration Form
CLASSDIAGRAM:
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 modelling of object oriented 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:
Derived property is a property which value (or values) is produced or computed from other
information, for example, by using values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
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 classifier’s state
• Instance members are scoped to a specific instance.
• Attribute values may vary between instances
• 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
UML class is represented by the following figure. The diagram is divided into four parts.
DOMAIN MODEL:
Figure 1.2
As the object is an actual implementation of a class, which is known as the instance of a class. Hence,
it has the same usage as the class.
CLASS DIAGRAM:
The class diagram consists of Nine classes namely, Applicant, Passport, Passport office, Payment,
Passport Verification officer, Police, Passport Description ,Net-banking, Credit card. The associations
between the classes are as follows:
➢ One Applicant Applies for One Passport.
➢ One Applicant makes Many Payment.
➢ ManyPassport Verification Officer Works for One Passport Office.
➢ One Passport Described by One Passport Description.
➢ One Police Verifies One Passport.
➢ One Passport Verification Officer Approach One Police.
➢ One Passport Enquired by One Passport Verification Officer
EX.NO:5 USING IDENTIFIED SCENARIOS FIND INTERACTION
DATE:
BETWEEN OBJECTS AND REPRESENT THEM USING UML
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.
1. 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.
Figure 1.3– an actor interacting with a seat reservation system
2.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 UML for naming a lifeline
follows the following format – Instance Name : Class Name
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:
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.
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.
Figure 1.8
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 labelled 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.
It can be due to multiple reasons and we are not certain as to what caused the hardware failure.
Figure 1.18
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.
Figure 1.19
The Applicant/ User logins to the system by entering a valid ID and password. Then If he is new
user ,he register for new Passport and Existing user just can alter the details of their data. Once
The Registration is over ,then Payment should be done through Online either by Net-banking a
or Credit/ Debit card. After that We should for Acknowledgement from the Passport Officer. After
all the Verification Process the Police officer will makes an Enquire regrading Passport. Finally After
all the Process , Passport will be Dispatched and Receive within 30 days.
EX.NO:6 USING THE IDENTIFIED SCENARIOS,FIND THE INTERACTION
BETWEEN OBJECTS AND REPRESENT THEM USING UML
COLLABORATION DIAGRAM
DATE:
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 case 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.
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.
• In operation specifications, to describe the logic of an operation.
Figure 1.21
This Activity diagram consists of three swim-lanes namely, Applicant, Passport authority, Police. The
initial process is the Login done by the User. Then Apply the Given Details. Passport authority makes
an Appointment and Verifies the Filled Details and Documents. The Parallel behavior such as fork
and join operations are used for Enquiry and Reject the User application
.After completing all the enquiry ,if Positive Result, the Police officer will send an Report to the
Passport Authority and he Dispatch the Passport . if Negative Result , then Return/ Reject the
application. The final process is the Log out done by the Applicant/User.
STATE CHART DIAGRAM:
A state machine Diagram (or start diagram, also called state chart of state transition diagram) is a
behavior 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
Example:
public Vector 1;
/**
*
* @element-type Applicant
*/
public Vector enquires;
}
EX.NO: 9 Test the software system for all the scenarios identified as per the
usecase diagram.
DATE:
public Vector 1;
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.
Figure 1.26: 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 composability,
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:voidAbstractFactory 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.
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.
CONCLUSION:
The Passport Automation System(PAS) can help to easy Register of Passport and Altering
any changes if you have in your Existing Passport also. The system is designed to reduce the human
labor and efficient. It provides flexible and powerful reports regarding the status of Passport and Many
facility. It also helps to overcome some Manual problems like Time delay.
BOOK BANK
SYSTEM
1
Aim:
To develop the problem statement for Book Bank system.
PROBLEM STATEMENT:
Book bank software system deals between the member and book seller. It aims improving
efficiency in the issue of books, magazines and reduces the complexities involved in the maximum
possible extent. Considering the facts the number of book bank is increasing every year, an
automated system becomes essential to meet the demand.
3
Table of Contents
Table of Contents
ii Revision History 3
1. Introduction 4
1.1 Purpose
1.2 Document Conventions
1.3 Intended Audience and Reading Suggestions
1.4 Product Scope
1.5 References
2. Overall Description 6
2.1 Product Perspective
2.2 Product Functions
2.3 User Classes and Characteristics
2.4 Operating Environment
2.5 Design and Implementation Constraints
2.6 User Documentation
2.7 Assumptions and Dependencies
3. External Interface Requirements 7
3.1 User Interfaces
3.2 Hardware Interfaces
3.3 Software Interfaces
3.4 Communications Interfaces
4. System Features 7
4.1 System Feature 1
4.2 System Feature 2 (and so on)
5. Other Nonfunctional Requirements 8
5.1 Performance Requirements
5.2 Safety Requirements
5.3 Security Requirements
5.4 Software Quality Attributes
5.5 Business Rules
6. Other Requirements 9
Appendix A: Glossary 9
Appendix B: Analysis Models 9
Appendix C: To Be Determined List 9
Revision History
Name Reason For Changes Date Version
4
1.Introduction
Book bank software system deals between the member and book seller. It aims at improving the
efficiency in the issue of books, magazines and reduces the complexities involved in it to the
maximum possible extent.
1.1 Purpose
The purpose of this document is to present a detailed description of Book Bank System.
Considering the fact that the number of members for book bank is increasing every year, an
automated system becomes essential to meet the demand .So has been carefully verified and
validated in order to satisfy it. It uses as database techniques to clear or explain the entire process.
1.5 References
The reference of the SRS is,
2. Overall Description
2.1 Product Perspective
The Book bank is a self contained one for enabling a book bank organization to be connected with
its member through this system, the member can check for availability of books, makes request,
etc. This minimize the time duration in which the customer receivers the books or magazines.
4. System Features
4.1 System Description and Priority
Allows a member, who becomes a member to login using unique id issued at the time of registering
as a member and after logging in , the member can browse through available books and make
request accordingly. The books will be issued provided there is no due, regarding returning of
previous books.
Whenever the member wishes to get books , checks for the availability by logging in. when the
request is made, the director of the book bank decides on granting the request of books after
checking the member details for due in returning previous books.
4.3 Functional Requirements
A functional requirement defines a function of a software system on its component. A function is
described as a set of inout ,the behavior and output.
• Register: The register module contains the application form or registration from which
contains following details. Name, Address, Contact number, E-mail id, Password, etc.
● Login: The login module contains the form which contain membership name and member
password, It includes username and password
● Search Book: The search book module contain list of books, from this list we search for
the book which we need. This also contains another field called as categories where can
select the category of the book .
● Display Book: Display the details about the students particulars, the payments, the books,
rental and schedule times for books etc.
● Maintain Book Details: The administrator maintains the details of books. ● Logout: To
sign off from the webpage or your account log off
● Reliability: Specify the factors required to establish the required reliability of the software
system at time of delivery.
● Availability: The system should have an availability of 99.9%
● Portability: The system should be extremely via the usb drive. The system shall be easy
to migrate or backed up via another use drive.
● Maintainability: The system shall utilize interchangeable plugins. The system shall be
easily updateable for fixes and patches.
6. Other requirements
Appendix A:Glossary
● HTML
Hypertext Markup Language is the standard markup language for documents designed to
be displayed in a web Browser. It can be assisted by technologies such as cascading style sheets
and scripting languages such as JavaScript.
● GUI
The Graphical User Interface is a form of user interface that allows users to interact with
electronic device through graphical
9
Actor:
An actor is something with behavior, such as a person (identified by role), computer system, or
organization; for example, a cashier.
Scenario:
A scenario is a specific sequence of actions and interactions between actors and the system; it is
also called a use case instance. It is one particular story of using a system, or one path through
the use case; for example, the scenario of successfully purchasing items with cash, or the scenario
of failing to purchase items because of a credit payment denial.
Usecase:
A use case is a collection of related success and failure scenarios that describe an actor using a
system to support a goal.
For example, here is a casual format use case with alternate scenarios
10
Association An association is
Relationship the communication
path between an
actor and the use case that it
participates in.
It is shown as a solid line
11
Usecase diagram:
USE CASE NAME1:
Brief:
BOOK MAINTANENCE
Figure 1.1
Book maintenance deals between member and system operator. System operator maintains the
books in racks according to the rack no. System operator updates the returned books from the
member. He/She maintains the books according to date, author name and year.
Casual:
SUCCESS SCENARIO
13
To maintain the books in racks . Update the new collection of books and to refill the books. System
operator maintains the books in response to the author name, year, type of books.
ALTERNATE SCENARIO
Expected books are not available .Failed to update the new collection of books. Failed to refill the
returned books.
Fully dressed:
Usecase name Book maintanence
Scope Maintaining the books, magazines
and journals.
Level Maintanence of books and update the new
collection.
Primary actor System operator, Member.
Stake holders Member, Student, Faculty.
Precondition Book bank on working.
Main Success Scenario To maintain the books in racks.
Update the new collection of books.
Refill the return books.
Extension Proper maintanence is needed.
Exception/Failure Expected books not available.
Failed to update the new collection of books.
Failed to refill the returned books.
Special requirements Provide more authentication
Secondary/Supporting actor Student, Faculty
Here the system operator issues the books based on the request made by the member. Member
request for a particular book. System operator issue the books, journals and magazines based on
their request.
CASUAL FORMAT:
14
SUCCESS SCENARIO
Member made a request to a particular book. System operator whether the requested books are
available or not. If available the system operator issues the books, journals and magazines.
ALTERNATE SCENARIO
Requested books are not available. Journals and magazines are not in up to date.Member requested
author books are not present.
CASUAL FORMAT:
SUCCESS SCENARIO
Member profile can be used to maintain their details. If any books needed they may get any
notification about the books.
15
ALTERNATE SCENARIO
If the member does not provide with a membership card he/she may need to create a new profile.
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
object oriented 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.
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 values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
17
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. • The fourth
section is optional to show any additional components.
Elements
• Attributes
• Operations & Methods
• Relationship between classes
18
Domain Model:
19
Figure 1.2
CLASS DIAGRAM:
Figure 1.3
The class diagram consists of five classes namely book, system operator, member record, bill and
transaction.
• system operator may view the books in the system
• one or many members may create a profile
• member can make a payment to bill
• one or many member may request the books
• bill class generate the transactions
20
SequenceDiagram:
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.
2. Object:
• Objects are instances of classes. Object is represented as a rectangle which contains the name
of the object underlined. • Because the system is instantiated, it is shown as an object.
:Object1
Lifeline: The LifeLine identifies the existence of the object over time. The notation for a Lifeline is a vertical
dotted line extending from an object.
21
messageName(argument)
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.
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.
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 labelled 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.
22
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 with a x. For example: In the scenario
below when the order is received by the user, the objectof 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.
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. Figure: reply message 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.
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.
Lost Message:
23
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.
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.
Figure 1.4
Sequence diagram:
24
Figure 1.5
The member login to the system which is seen by system operator. System operator request a
member card. Member provides the card. System operator checks the availability of the member
card and confirms the member card. Member search for books .It checks the availability. If the
book is available provide the book otherwise insufficient of books. If available member borrows
the books from the system operator. System operator stores the record in the server. System
operator notify the update. Member returns the books to the systemoperator. Member makes the
payment and server update the record.
25
Communication 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 case 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.
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.
Object
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.
3. 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 center of the diagram, with all other participating
objects branching off. After all objects are placed, links and messages should be added in between.
26
Communication diagram:
Figure 1.6
27
Date:
Activity diagram:
An activity diagram visually presents a series of actions or flow of control in a system similar to a
flowchart or a data flow diagram. Activity diagrams are often used in business process modeling.
They can also describe the steps in a use case diagram. Activities modeled can be sequential and
concurrent. In both cases an activity diagram will have a beginning (an initial state) and an end (a
final state).
Action Flow
Action flows, also called edges and paths, illustrate the transitions from one action state to another.
They are usually drawn with an arrowed line.
Object Flow
Object flow refers to the creation and modification of objects by activities. An object flow arrow
from an action to an object means that the action creates or influences the object. An object flow
arrow from an object to an action indicates that the action state uses the object.
28
Guards
In UML, guards are a statement written next to a decision diamond that must be true before moving
next to the next activity. These are not essential, but are useful when a specific answer, such as
"Yes, three labels are printed," is needed before moving forward.
Synchronization
A fork node is used to split a single incoming flow into multiple concurrent flows. It is represented
as a straight, slightly thicker line in an activity diagram.
A join node joins multiple concurrent flows back into a single outgoing flow.
A fork and join mode used together are often referred to as synchronization.
29
Time Event
This refers to an event that stops the flow for a time; an hourglass depicts it.
Merge Event
A merge event brings together multiple flows that are not concurrent.
Interrupting Edge
An event, such as a cancellation, that interrupts the flow denoted with a lightning bolt.
Swimlanes
Swimlanes group related activities into one column.
Activity diagram:
31
Figure 1.7
The activity diagram consist of three swim lanes namely member, system operator and server.
Member login in the system and request card. If the login is valid then search the books otherwise
32
create the mem card .If the searched book is available then issue the books otherwise request the
particular book. Return the books from member by notification. Final process is the payment and
the server receive the payment and update the record.
State diagram:
A state diagram is used to represent the condition of the system or part of the system at finite
instances of time. It’s a behavioral diagram and it represents the behavior using finite state
transitions. State diagrams are also referred to as State machines and State-chart Diagrams. These
terms are often used interchangeably. So simply, a state diagram is used to model the dynamic
behavior of a class in response to time and changing external stimuli. We can say that each and
every class has a state but we don’t model every class using State diagrams. We prefer to model
the states with three or more states.
Transition State – We use a rounded rectangle to represent a state. A state represents the
conditions or circumstances of an object of a class at an instant of time.
State notation
Fork – We use a rounded solid rectangular bar to represent a Fork notation with incomig arrow
from the parent state and outgoing arrows towards the newly created states. We use the fork
notation to represent a state splitting into two or more concurrent states.
33
Self transition – We use a solid arrow pointing back to the state itself to represent a self transition.
There might be scenarios when the state of the object does not change upon the occurrence of an
event. We use self transitions to represent such cases.
State Diagram:
Figure 1.8
35
Ex.no:8
Implement system as per detailed design
Date:
CLASS NAME:BILL
import java.util.Vector;
void billcreate() {
void displaybook() {
CLASS NAME:FACULTY
CLASS NAME:JOURNALS
CLASS NAME:MAGAZINE
date;
CLASS NAME:MEMBERRECORD
import java.util.Vector;
public class memberrecord {
retrievenum() {
CLASS NAME:STUDENT
Integer price;
import java.util.Vector;
createtrans() {
}
40
Ex.no:9
Test the software system for all the scenarios identified as per the usecase
diagram.
Date:
}
41
42
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.
of abstract factory design pattern for user login where two concrete factory and concrete product
used for execution.
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:voidabstractfactory concreteproduct1 concreteproduct2
concretefactory1 concreteproduct1: Admin concreteproduct2: User concreteproduct1
+doaction:voidconcretefactory2 concreteproduct1: Admin concreteproduct2: User
44
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.
Conclusion:
The book bank system provide books to the privileged people. It makes easier in search of books.
Book bank system is user friendly. Database updates the details at any time. The database notify the
member about the available of books,return date and also maintain the records. A member can reserve the
book or magazine at any time. This system is highly secured.
ONLINE EXAM
REGISTRATION
SYSTEM
Ex. No 1 PROBLEM STATEMENT
Date:
AIM:
To develop the problem statement for Online Exam Registration.
PROBLEM STATEMENT:
To develop an Online Exam Registration Software. An Online Exam Registration Software is
meant for those who want to register to competitive exams via Internet. The list of examination will be
displayed. The candidate has to choose the exam, the application form will be displayed. The candidate
has to fill their details and submit. The submitted details will be verified by the information Versifier. If
the candidates are eligible the it proceeds to the payment section. Once the payment is done, the
acknowledgment will be sent to their corresponding mail Id.
Table of Contents
Table of Contents ......................................................................................................................... iii
Revision History ........................................................................................................................... iii
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 ....................................................................................................... 3
3. External Interface Requirements ...........................................................................................5
3.1 User Interfaces .................................................................................................................................. 5
3.2 Hardware Interfaces.......................................................................................................................... 6
3.3 Software Interfaces ........................................................................................................................... 6
3.4 Communications Interfaces .............................................................................................................. 6
4. System Features .......................................................................................................................3
4.1 System Feature 1 .............................................................................................................................. 6
5. Other Nonfunctional Requirements .......................................................................................7
5.1 Performance Requirements............................................................................................................... 7
5.2 Safety Requirements ......................................................................................................................... 4
5.3 Security Requirements...................................................................................................................... 4
5.4 Software Quality Attributes .............................................................................................................. 7
5.5 Business Rules .................................................................................................................................. 7
6. Other Requirements ................................................................................................................5
Appendix A: Glossary....................................................................................................................5
Appendix B: Analysis Models .......................................................................................................5
Appendix C: To Be Determined List ............................................................................................6
Revision History
Name Date Reason For Changes Version
1. Introduction
1.1 Purpose
The Online Exam Registration Software is meant for those who want to register for all competitive
examinations via online. This SRS is used to document all the needed details of the complete system.
1.5 References
The document is referred from the template given by IEEE - “srs_template_ieee“.
2. Overall Description
2.1 Product Perspective
The Online Exam Registration Software is a system developed to simplify the registration for
competitive exams. The system will be properly stared if the system is connected to a proper network
connection. Then in the interface the list of competitive exam will be displayed. For each competitive
exam the respective application form will be displayed. The eligibility for the exam will be verified in
the application filled and then it proceeds to the payment section. The confirmation of the registration
will be sent to the respective mail Id of the candidate.
4
2.2 Product Functions
The System consists of functions to list the competitive exams, a function to get the valid details, a
function to verify the given details are eligible for the exam or not.
• Exam controller - He has the certain privileges to add the registration status and to approve
the issue of hall ticket. He may contain a group of persons under him to verify the documents
and give suggestion whether or not to approve the dispatch of hall ticket.
5
3.2 Hardware Interfaces
The Server machine should be connected to high speed internet connectivity. The system should
consist of database.
The client machine should be consisting of a free memory of 100mb approximately. And the system
should connect to an internet connection. As the software is web based application, the system should
be installed with a browser.
4. System Features
The online Exam Registration software is a software to make the registration for a competitive exams
easier. The system where the software is going to run must consist of proper internet connection and a
web browser.
REQ-1: Authentication
REQ-2: Registration
REQ-3: Verification...
6
5. Other Nonfunctional Requirements
5.1 Performance Requirements
The software needs a minimum network speed of 50k/s or more for its better performance. The
system where the software is going to run must contain a browser.
7
Ex.No:3 Identify Use Cases and develop use case model
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 State chart) 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.
Use case:
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.
8
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.
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.
9
USE CASE DIAGRAM:
10
USE CASE MODELING
SIGN UP
BRIEF:
The candidates Sign up to the system, for next level usage. The Candidates should give a
valid email ID and should give a valid and satisfying password with the proper condition that a
password should have. Then an acknowledgment will be sent for successful creation of the account to
the respected mail-Id given.
CASUAL:
Success Scenario:
The candidates Sign up to the system, for next level usage. The Candidates should give a valid
email Id and should give a valid and satisfying password with the proper condition that a password
should have. Then an acknowledgment will be sent for successful creation of the account to the
respected mail-Id given.
Alternate Scenario:
The candidates Sign up to the system, for next level usage. The Candidates should give a
valid email Id and should give a valid and satisfying password with the proper condition that a
password should have. If the given mail Id is not valid or the password entered doesn’t satisfies the
necessary condition a pop will be seen with an error message.
FULLY DRESSED:
Scope To create a user account that allows them to interact with the
system
LOGIN
11
BRIEF:
The Candidates enters the valid email Id and the password for that account. Then on clicking
the login button the authentication will be done. The candidate will be allowed to next level process if
the authentication is valid. If the authentication is not valid then a pop will be shown with a warning.
CASUAL:
Successful Scenario:
The Candidates enters the valid email Id and the password for that account. Then on clicking
the login button the authentication will be done. The candidate will be allowed to next level process if
the authentication is valid.
Alternate Scenario:
The Candidates enters the valid email Id and the password for that account. Then on clicking
the login button the authentication will be done. If the authentication is not valid the candidate will not
be allowed to the next steps. A pop up will be shown with a warning message.
FULLY DRESSED:
12
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.
Category list:
1.Business transaction: Payment
13
Identify the noun phrase:
Main success scenario:
• The username and password are stored to the Admin Manifest.
• Candidate login to the system. Authentication will be done by the Administrator.
• Chooses the exam from the given list of examination.
• The Candidate fills the application form given by the exam controller.
• The detailed filled in the application form is validated.
• Then moves to the payment section.
• The candidate pays the amount for that examination.
• Acknowledgment will be sent to their respective email or phone.
Nouns:
• Candidate.
• Examination.
• Application Form.
• Exam Controller.
• Payment.
• Administrator.
• Admin Manifest.
14
Domain Model:
15
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:
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
16
• 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.
17
• 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.
18
CLASS DIAGRAM:
19
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.
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.
20
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
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
21
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:
22
Messages can be broadly classified into the following categories :
23
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.
24
user, 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.
25
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.
26
• 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.
27
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.
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.
28
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.
29
SEQUENCE DIAGRAM:
The candidate login to the system by entering the valid email id and password. Authentication will be
done by the Admin. The candidate requests for the list of examinations and the Exam Controller will
give the list of exams available. After choosing an exam from the list the Application form will be given
by the Exam Controller to the candidate. The Application form will be filled by the candidate and it
will be submitted to the Exam Controller. The Exam controller will analyse the application form with
the help of Information Versifier. If the details filled in the Application Form is valid for the
examination chosen by the candidate, then the candidate will be proceeded to the payment section. The
candidate chooses the type of payment and the Bank will validate the account and authenticates the
payment. Finally, an acknowledgment will give to the candidate after then payment executed
successfully.
30
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.
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.
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.
31
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:
32
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.
33
ACTIVITY DIAGRAM:
34
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:
35
STATE DIAGRAM:
36
Ex.No:8 Implement system as per detailed design
Date:
import java.util.Vector;
import java.util.Vector;
37
}
import java.util.Vector;
38
}
import java.util.Vector;
39
Class Name : Examination
40
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.
• 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.
41
Class name: User.java
package onlineExam;
return “success”;
JMETER CODING :
import onlineExam.Candidate;
42
SUCCESS:
43
FAILURE:
44
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.
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.
45
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
parecons design pattern advisor tool. In step 5 composability, 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 Abstract Factory +doAction1: void +doAction2: void Abstract Product +do Action: void
Abstract Factory concreteProduct1 concreteProduct2 concreteFactory1 concreteProduct1: Admin
concreteProduct2: User concreteProduct1 +do Action: void concreteFactory2 concreteProduct1: Admin
concreteProduct2: User concreteProduct2 +do Action: void 95 programmers should have to use less effort to
adapt these changes. Every introduced pattern caused an improvement in different quality attributes.
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
46
CONCLUSION:
The Online Exam Registration system is developed with all the implementation techniques.
And the system is implemented using java program. The methods of the classes are defined and the
objectives of the software are full filled. Then the system is tested for proper execution and then the
testing is done to avoid the bugs in the software. The reusability of the software is checked and
maintenance techniques are applied to avoid future bugs over the software.
47
STOCK
MAINTENANCE
SYSTEM
1
Ex.no:1 PROBLEM STATEMENT
Date:
AIM
To develop the problem statement for stock maintenance system.
PROBLEM STATEMENT
Stock Maintenance System is meant for maintaining the stocks by the Inventory manager.
To manage the entire stock management process of a company. It ensures portability and
compatibility. Here the role manager’s role is to control the login of the software with the valid
user name and password, also checks the stock purchase order, and to remove the expires stocks,
then he prepares the daily report and monthly report consists of information about the stocks and
estimation.
3
Table of Contents
Table of Contents...........................................................................................................................3
Revision History.............................................................................................................................4
1. Introduction..............................................................................................................................5
1.1 Purpose..............................................................................................................................................5
1.2 Document Conventions.....................................................................................................................5
1.3 Intended Audience and Reading Suggestions...................................................................................5
1.4 Product Scope................................................................................................................................... 5
1.5 References.........................................................................................................................................5
2. Overall Description..................................................................................................................6
2.1 Product Perspective...........................................................................................................................6
2.2 Product Functions............................................................................................................................. 6
2.3 User Classes and Characteristics.......................................................................................................6
2.4 Operating Environment.....................................................................................................................6
2.5 Design and Implementation Constraints...........................................................................................7
2.6 User Documentation......................................................................................................................... 7
2.7 Assumptions and Dependencies........................................................................................................7
4. System Features....................................................................................................................... 9
4.1 Description and priority....................................................................................................................9
6. Other Requirements..............................................................................................................
13
Appendix A: Glossary..................................................................................................................13
Revision History
Name Date Reason For Changes Version
8
1. Introduction
Stock Maintenance System is an interface between the Consumer and the Inventory
Manager who is responsible for maintaining the stocks. This system mainly aims at the
portability and compatibility of the stocks.
1.1Purpose
The Software Requirement Specification document contains the entire software
requirements for Stock Maintenance System and provides the full details about the stocks. The
complete process of Stock maintenance is done in a manual manner till ancient era. Considering
the fact that the number of customers for purchase is increasing every year, a maintenance
system is essential to meet the demand for efficient usage. So this system uses recent trends
with programming and database techniques to improve the work involved. This process
elucidate the efficient maintenance of stocks.
The format used in this SRS are specified as the font style used in this complete
document is Times New Roman, The font size of content is 12. The title’s font size is 14.
1.5 Reference
The References of this SRS are
2. Overall Description
2.1Product Perspective
The proposed stock maintenance system is an advanced software system that reduces
the manual power for the efficient management of stocks. This System will provide available
stock products for consumer needs . This system also provides consumer feedback service
which can be updated in the system by the inventory manager.
• Provides friendly relationship between the shop owner and the consumer.
• Facilitates both the direct consumption and online purchasing.
• Inventory Manager:
Manages the entire stock management process of the company such as updation,
verification, maintenance of database.
• Administrator :
The work of administrator is to ensure dealership with various dealers and
elucidate entrepreneurship.
• Naive Users:
Customers who require product to consume for
various types of consumption(daily, monthly, yearly).
➢ RAM 1GB
➢ Web Browser Google Chrome or or Mozilla
Internet
Explorer
Firefox
Software Stock master 1.0,
➢ Required MYSQL Oracle 9i
2.4 Design and Implementation Constraints
This application takes care of all supply orders reducing cost for warehousing,
transportation while improving customer service. It significantly improves inventory turns,
optimizes flow of goods. It also improves cash flow, visibility and decision making. It provides
efficient execution of tasks using this fast and reliable computerized method. This project was
constrained by the following factors:
▪ Time Constraints: The time given seemed to be short for the collection of
required information for better work to be done for the updation of stocks.
▪ Unavailability of Material: During this project, it was noticed that the required
materials needed for the project are not documented. Those that were
documented lacked storage facilities where they can be reached.
The User Interfaces for the software shall be compatible to any browser such as Internet
Explorer, Mozilla or Netscape Navigator by which user can access to the system.
The User Interfaces shall be implemented using any tool or software package like Java
Applet, MS Front Page, EJB etc.
The User Interface should be very attractive featuring importance of our system. The
introductory screen consists of a Welcome note and product advertisement. The next screen is
the user login screen.
The next interface displays the product details under different categories and the
subsequent screens contain the details of each and every product and finally provided with
provision for getting card number for settling the cash by the customers. The final screen
displays salutations to the customer by displaying Thank You. At the same time the stock details
are updated.
▪ Needed: Computers
• FRONT-END DESIGN:
o visual studio 12.0
• BACK-END DATABASE:
o Microsoft SQL server
12
Destination of output:
The input given by the user is updated into the database where the account details
corresponding to the user are stored. With the help of the database the account details of the
customer can be administered and monthly statements can be generated.
Accuracy:
The Stock Maintenance system that is developed is more accurate and is efficient.
The details are maintained accurately and updated properly.
Information flows:
The data given by the user flows over stage by stage and reaches the database finally
for making insertion or updating for storing the details.
The local system must be connected to the server via Internet Connection. Email and
file transfer services are provided. E-Shopping is the key concept. Communication is key to
creating the perfect inventory management system. As soon as a shipment arrives, raw materials
should be counted. Then, quantity information about those raw materials should be entered into
the computer.
4. System Features
4.1 Description and Priority
The stock maintenance system maintains the items name ,rate ,quantity , sales rate and
other sales details .This project is of high priority. Because it is very difficult to maintain the
details of all the item present .In the store .It is also difficult to maintain the details over a long
period of item.
Analysis:
The stock manager analyses the stocks .He identifies the old stocks and the expired
goods and also the list of the items needed.
Login:
Login is achieved by the stock manager. The login is used for security of the
management. It can be logged with the user name and the password.
14
Analysis of goods:
Analyse the requirements whether it provides proper operations/output and performs
the task. The System holds all the details of the all the employees who are working in the
organization.
Update:
It is performed by the stock manager in the database. Whenever an outward entry is
entered then accordingly the stock number will be automatically updated.
data from it. So, the system furnishes all the required information at the request of the user to
view the details.
Adaptability:
The software designed must be suitable for managing any kind of products. It should be
well received both in a provision store and in a medical dispensary.
Availability:
The system must be available at an affordable rate. Also must be provided with proper
license only for a period of days.
Correctness:
The system must be accurate and less error prone. During design phase itself, the system
must ensure that each and every module is accurate.
Flexibility:
The system must be flexible in the sense that it must able to handle different types of
users and different types of administrators. Also it should run in different environments.
Maintainability:
The system should have the capability of self-maintenance. For a good performance,
everything must be optimized time to time. This feature tests the maintenance and ability to
maintain the system by administrator.
Portability:
16
The system developed as a whole should be of very small size. So that it is easily portable
with the help of hand-held device.
Reliability:
The system should be reliable. That it should be consistent and should provide good
results over a period of time.
Reusability:
The system should have the provision of using it more number of times. If any problem
occurs to the whole system, it must be reinstalled and again it should be installed and put to
use.
Robustness:
The system should be incorruptible. It should be able to produce results for important
details though some of the features have failed.
6. Other Requirements
Foreign exchanges and foreign credit cards are accepted through special and card
readers. The system requires collaboration with any banks for financial handlings.
Depending upon the type of user the access rights are decided .If the user is an
administrator he can be able to update ,delete data .All the other user except manager only have
the right to retrieve information about the database. There may be different categories of item
available according to the category of item. The relevant data should be displayed .The category
and data related to the category should be coded in a particular format.
Appendix A: Glossary
Inventory Manager
An Inventory manager is the person who is here considered to be the person in charge.
He undertakes responsibility of maintaining, operating the store and keeps information of each
and every specifics. He is also responsible for taking decisions regarding issuing orders to
vendors , add new vendors and etc.
Order
17
Order is a generalized function used for replenishment of sold out items .The order
usually consists of an order form which is supplied by the manager to the vendors.
Consumer
The necessary items are provided by the consumer on a regular basis. The manager is
responsible for checking the current level of inventory with the threshold levels and if any
particular ingredient is found to be in the danger zone then an order is processed by the manager
to the consumer.
Update Database
Updating the resource gives a crystal clear idea to the manager regarding the usage of the
stocks from the quantity sold in a particular time period. This leads to the checking the
threshold.
18
DATE:
USE CASE
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.
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
19
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.
USECASE DIAGRAM:
BRIEF FORMAT
20
The Inventory manager 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 Stock
maintenance system is opened and the Inventory manager can view or update or remove the
details of the products, purchase, sales etc.
CASUAL FORMAT
SUCCESS SCENARIO
The Inventory manager 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 Stock
maintenance system is opened and the inventory manager can view or update or remove the
details of the products, purchase, sales etc.
ALTERNATE SCENARIO
If the password entered by the Inventory manager 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 FORMAT
Use case name Login
MAINTENANCE
BRIEF FORMAT
The Inventory manager can maintain the stocks by acquiring details about number of
products, where the products were pursued, due dates of the products and updation of the
products.
CASUAL FORMAT
SUCCESS SCENARIO
The Inventory manager can maintain the details of the stocks by acquiring details about
the number of products, server details, pursuing due dates such as manufacturing dates and the
expiry dates for proper maintenance of the system.
ALTERNATE SCENARIO
But at some situations, the stocks are mischecked, number of products could be lower
than the minimal number of products. Due dates are not properly checked before selling.
FULLY DRESSED FORMAT
Use case name Maintenance
BRIEF FORMAT
The Inventory manager maintains the old stocks and new stocks details to ordering to
pursue stocks.
CASUAL FORMAT
SUCCESS SCENARIO
The Inventory manager maintains the old stocks and new stocks details to ordering to
pursue stocks.
ALTERNATE SCENARIO
At some situation, the old stocks and new stocks will collapses the ordering level of
the system. The wrong checking of due dates collapses ordering level of stocks..
FULLY DRESSED FORMAT
Main success scenario By knowing the number of old stocks, the new
stocks are bought and old stocks should be
selled before expired.
Exception Collapse in old stocks and new stocks, will
lead to the collapse of ordering level of stocks.
Special requirements Old stocks sold before expiry and old stocks
are replaced by new stocks.
24
CLASSDIAGRAM:
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 modelling of object oriented
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.
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:
Derived property is a property which value (or values) is produced or computed from
other information, for example, by using values of other properties.
25
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
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 classifier’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.
• The fourth section is optional to show any additional components.
26
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.
27
Domainmodel
Class diagram:
28
The class diagram consists of ten classes namely, Shop, Customer, Stock details,
Product details, Purchase details, Server details, Sales person, Inventory
manager, Administrator, maintenance. The associations between the classes are as
follows:
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.
30
Figure – lifeline
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
31
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:
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.
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 labelled 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.
33
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 with a x. For example :
In the scenario below when the order is received by the user, the object of order
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.
For example – Consider a scenario where the device wants to access its webcam.
Such a scenario is represented using a self message.
34
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.
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.
35
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
interracting 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.
36
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 visualise the logic behind a sophisticated function, operation or
procedure.
• They are also used to show details of UML use case diagrams.
SEQUENCE DIAGRAM:
37
The Inventory manager logins to the system by entering a valid ID and password. Then he
Manages and Displays the details of the Stock maintenance, Product maintenance, Quality
maintenance, Bill maintenance and Customer maintenance through the request messages such
as Manage products, stocks, quality, bills, customer and the delivery messages such as Display
products, stocks, quality, bills, customer respectively. The other operations are Add or Modify
stocks, products, quality, bills, customer details, Save or Update stocks, products, quality, bills,
customer details, List or Delete products, quality, bills, customer details, View , quality, bills,
customer details.
COLLABORATION DIAGRAM:
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
behaviour 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.
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 center 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:
39
ACTIVITY DIAGRAM:
40
ACVITITY DIAGRAM:
41
This Activity diagram consists of three swimlanes namely, Inventory manager, Stock
maintenance system and the Administrator. The initial process is the Login done by the
Inventory manager. The parallel behaviour such as branch and merge operations are used for
the Login authentication. The structural behaviour such as fork and join operations are used for
Manage and Display of products, stocks, quality, bills, customer maintenance and to Perform
actions of Add, Modify, Delete, Save, View, List. The final process is the Log out done by the
Inventory manager.
A state machine Diagram (or start diagram, also called state chart of state transition diagram) is a
behavior 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:
• 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.
STATECHART DIAGRAM:
43
DATE:
checkprocess()
{}
void addcustomer()
{}
{}
public void deletecustomer()
45
public
public
{}
String getName() {
payment()
{}
public void receive()
{}
Class Name:Maintainence
import java.util.Vector;
Vector 1;
46
public
Vector 1; public
updatestock()
{}
{}
{}
return 0.0; }
addproducts() { }
void updateproducts()
{}
public
public
{}
} Class
Name:Purchasedetails
import java.util.Vector;
{}
placestockorder()
{}
Class Name:Salesperson
import java.util.Vector;
String address;
receive_packing_order()
48
public
{}
{}
{}
} Class
Name:Serverdetails
import java.util.Vector;
void delieverstock()
{}
{}
{}
public
public
Integer productid;
String productname;
{}
{}
{}
} Class
Name:Stockdetails
import java.util.Vector; public
1; public Vector *;
void addstocks()
{}
{}
{}
{}
inventorymanager { public
stocks(String in) {
if(in.equals("hema")) return
public
Class Name: Inventory Manager
import java.util.Vector; import
inventorymanager { public
stocks(String in) {
if(in.equals("hema")) return
}}
SCRIPT PROGRAM:
52
POSITIVE_OUTPUT
NEGATIVE_OUTPUT
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.
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 composability, 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.
REUSABILITY:
55
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 designmodels 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.
56
CONCLUSION:
The Stock maintenance system can help to manage inventory well during business
operation. The system is designed to reduce the human labour and efficiently maintaining the
stock. It provides flexible and powerful reports regarding items, purchase, sales and ledger. It
also helps to overcome some business problems like overstock and transaction record.
ONLINE
COURSE
RESERVATION
SYSTEM
1
AIM:
To develop the problem statement for Credit Card Processing 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 sent to the student
and also to the registrar of the college.
3
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 ................................................................................................................. 5
2.1 Product Perspective .......................................................................................................................... 5
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....................................................................................................... 6
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 Feature 2 (and so on) ........................................................................................................... 8
5. Other Nonfunctional Requirements ...................................................................................... 9
5.1 Performance Requirements .............................................................................................................. 9
5.2 Safety and security Requirements ................................................................................................... 9
Revision History
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 an efficient and convenient way.
1.5 References
IEEE Software Requirement Specification Template
https://krazytech.com/projects/sample-software-requirements-specificationsrs
5
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.
• Keep secret for all of student profiles. Each division can see only necessary data of each
student for analyzing
4. System Feature
4. 1 System Feature
Reserve Seat:
• Sign In: The first needs to sign in to the system with the name and password 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 the system.
• Check Availability: They must be allowed to see all available options for courses. And see if
the seat is available or not.
• 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 gets free.
Maintain History:
• The watch history for the course registered by the user must be maintained regularly when
he/she signs out from the account.
Report Generation:
• Course Information: The System shall generate reports on course about the following
Database:
• Mandatory Information: First Name, Last Name, Phone Number, ID, Address, Postal
Code, City, Country, name and Password.
• Update Information: The registrar will allow Administrator to update any of the
information.
1. Login
4. Pay fee
5. Check Status
ACTORS INVOLVED
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, an appropriate 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 may choose.
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.
• Login ID: Any who uses the system shall have a Login ID and Password.
• Modification: Any modification (Insert, Delete, Update) for the Database shall be
synchronized and done only by the administrator.
• Administrator’s Rights: Administrator shall be able to view and modify all information in
System.
• Back Up: The system shall provide the capability to back-up the Data
• Reliability: The system keeps the data securely students who enrolled the courses
Ex.No:3
Identify Use Cases and develop use case model
Date:
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.
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.
12
BRIEF FORMAT
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.
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.
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.
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.
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.
15
Domain model:
Steps to create a domain model:
Category list:
NOUNS:
Domain Model:
17
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.
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 '/'.
18
Scope:
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
Relationships:
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.
20
Classes:
1. Course details:
• Course name: String
• Course type: String
• Course duration: Integer
2. User:
• User name: String
• Password: String
3. Reservation:
• Name: String
• Age: Integer
• DOB: String
• Marks: Integer
• Parent details: String
• Course name: String
4. Payment:
• Amount: Integer
• Mode of payment: String
5. Net Banking:
• User Id: String
• Password: String
6. Card Payment:
• Card Number: Long
• CVV Number: Integer
• Expiry Date: String
7. Status:
• Course name: String
• Name: String
• Paid Amount: Integer
21
CLASS DIAGRAM:
22
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
weaim 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.
23
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:
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.
26
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.
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.
28
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.
29
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.
31
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.
32
SEQUENCE DIAGRAM:
Flow of messages:
Ex.No:6
Using the identified scenarios, find the interaction
Date: between objects and represent them using UML
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.
34
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:
35
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.
36
ACTIVITY DIAGRAM:
37
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
38
Date:
if(uname==Username){
System.out.println(“LOGIN SUCCESSFUL”);
else{
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.
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.
47
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.
48
Conclusion:
To make the course reservation easy for students, the online course reservation system has been
developed which helps the students to reserve the course through online and also to do payment
through online. An acknowledgement will be sent to the student and also to the registrar of the
college after the reservation of the course.
RAILWAY
RESERVATION
SYSTEM
-1-
Exp no:1
Problem statement
Date:
Aim:
To develop a problem statement.
Problem statement:
Railway reservation system is an automated system. The system is used for booking tickets with
various options like AC, Non-AC, two-tier, sleeper etc. Ticket cancellation can be made with the
facility of refund. This system also includes checking the availability of train/seat with timings
and route. The payment should secure and all the modes of payment like net banking, debit card
etc should be accepted by the system. The price is based on the user’s preference and the cost
varies according to the class selected by the passenger. The status of the ticket will be intimated
to the passengers via messages and the changes made will be updated instantly in the server. The
overall system is user-friendly.
-3-
Table of Contents
Revision History
Name Date Reason For Changes Version
-4-
1. Introduction
1.1 Purpose
The purpose of the Software Requirement Specification document is to provide a detailed overview of
the software products. The SRS document consists of all necessary requirements for project
development. It provides easy understanding for developers to build up the software.
The different types of readers are client, developers, users and testers. For better understand ability, read
from product scope followed by overview, functional and non functional requirements.
1.5 References
• https://www.ieee.org/conferences/publishing/templates.html
• Object Oriented Software Construction (second edition) by Bertrand Meyer published in
1988.
-5-
2. Overall Description
2.1 Product Perspective
The origin of the product being specified in this Software Requirement Specification is a new self-
contained product. The product is not a component of any system. The system is an open source and web
based model and provides an interface between passenger and administrator.
Identify the requirements for the software to operate inside varioushardware constraints.
Quality Characteristics:-
There are a number of quality characteristics that can apply to software. Pick the ones most important
to this product and develop a section for each one. Definitions of thequality characteristics follow:
• Correctness:
Extent to which program satisfies specifications, fulfills users mission objective.
• Efficiency:
Amount of computing resources and code required to perform function.
• Flexibility:
Effort needed to modify operational program.
The software is dependent on internet access as it is a remote application. The system needs user to have
some knowledge of railway reservation system and its working. The system provides booking facility
from 00hrs to 2200hrs.Enquiry facility is available for 24*7.
The user interface like keyboard, mouse and menus of computer system help to communicate with the
operating system. For efficient use of user interface (front end) the system should be installed with internet
explorer with network access. The Product is GUI based with images and components, so the system
should have basic graphics facility. The member has to register using a form provided on the website...
The package provides drop down menus from which the user can select and links and icons to navigate
among the WebPages. The railway reservation system is expected to offer customers an easier way to
book tickets as well as smooth navigation .The system allows travellers to search for trains and check seat
availability by logging in to the interface. Customers can able to sort trains on multiple filters like class
and destination. The interface includes a waitlist prediction feature and Reservation against Cancellation
(RAC) tickets getting confirmed.
Software interfaces (programming interfaces) are the languages, codes and messages that programs use to
communicate with each other and to the hardware. Examples are the Windows, Mac and Linux operating
systems, SMTP email, IP network protocols and the software drivers that activate the peripheral
devices.The Railway reservation system is developed in windows operating system with at least internet
explorer installed with a working LAN connection.
Communications functions required by the product include e-mail, web browser, electronic forms, and so
on. The communication between the different parts of the system is important since they depend on each
other. However, in what way the communication is achieved is not important for the system and is
therefore handled by the underlying operating systems for both the mobile application and the web portal
4. System Features
The railway network is a very vast system to be handled manually and its computerization will prove to
be of great help to both the employees and the passengers .Even from security point of view, authentication
will be done by password checking if correct password has been entered by the user, the user will get
further access to the system, otherwise user will have to re-enter the password.
The software is not able to reserve tickets more than 10 people per train. The fare allotted for reservation
is independent of Kilometers travelled instead it is set for every mode (AC, non AC or General) of each
train.The software is made such to carry out Reservation in max 15 trains.The software does not support
multiday reservation system, i.e., the Reservations cannot be one in advance rather it is carried out for
single day. The software does not provide concession in Fare rates for children, aged people, armament
etc. The software does not take into consideration the stations falling in between the source and destination
station.
• Stimulus/Response Sequences
The user login into the railway reservation system by entering the password. The user can check
the availability of trains and reserve tickets. They can cancel tickets in case of emergency. After
reservation, they pay the fare and eprint of the ticket is sent to the passenger via mail.
• Functional Requirements
Functional requirements refer to the function which were required before and covered in the system
or software developed.
➢ Train details:
Customers may view the train timing, date, their name and number of tickets
➢ Reservation:
-8-
After checking the number of seats available the customers reserve the tickets
➢ Payment:
After reserving the required number of tickets the customer makes the payment.
➢ Cancellation:
` If the customer wants to cancel the ticket then the half of the amount paid by
the customer will be refunded according to certain terms and conditions.
➢ User Satisfaction:
The system is such that it stands up to the user expectation
➢ Safety and Robustness:
The system is able to avoid or tackle disastrous actions. The system safeguards
against undesired events without human intervention.
➢ Response Time:
The response of all the operation is good. This has made possible by careful programming.
The system should be portable and possible to users of internet explorer as well as other browsers. The
response time should not be greater than 3-4 seconds. The database should be scalable. The system must
have capacity to hold large number of users. The number of connections to the system should not slow
down the system to a large degree. The response time for query from the client side to the database side
should not be more than 5 seconds. Error handling should be implemented and the application should be
able to handle all run time errors. The application should be flexible for future enhancements.
If there is a extensive damage to a wide portion of database due to catastrophic failure, such as a disk
crash, the recovery methods restores a past copy of the database that was backed up to archival storage
and reconstructs a more current state by reapplying or redoing the operation of committed transactions
from the backed up log up to the time of failure.
The system use SSL (secured socket layer) in all transactions that include any confidential customer
information. The system must automatically logout all customers after a period of inactivity. The system
should not leave any cookies on the customer’s containing the user’s password. The system is only
accessible to authenticated management.
Tickets can be booked up to 120 days in advance, an Aadhaar-verified user can book 12 tickets every
month and passengers can now claim refunds if the train fails to depart within three hours of the scheduled
departure. Now, ticket booking has been made time sensitive. This means, 25 seconds has been allotted
to fill up passenger details. Further, the minimum input time for Captcha on passenger details page and
payment page is 5 seconds.
6. Other Requirements
Certain requirements may, due to the nature of the software, the user
organization, etc., be placed in different
categories such as Database.This could specify the requirements for any data base that is to be
developed as part of the product. This might include:
• Types of information
• Frequency of use
• Accessing capabilities
• Data element and file descriptions
• Relationship of data elements, records and files
• Static and dynamic organization
• Retention requirements for data.
Operations could specify the normal and special operations required by the user such as:
The various modes of operations in the user organization for example are,
• User-initiated operations
• Periods of interactive operations and periods of unattended operations
• Data processing support functions
• Backup and recovery operations
• Basic building blocks
• rules
• common mechanisms
Appendix A:
Glossary:
SRS: A software requirements specification (SRS) is a comprehensive description of the intended
purpose and environment for software under development.
RAC: Ticket that has confirmed the status of wait list birth.
- 10 -
Appendix B:
Analysis Models:
The Unified Modelling Language (UML) is a graphical language for OOAD that gives a standard way
to write a software system’s blueprint. It helps to visualize, specify, construct, and document the
artefacts of an object-oriented system. It is used to depict the structures and the relationships in a
complex system.
System: A set of elements organized to achieve certain objectives form a system. Systems are often
divided into subsystems and described by a set of models.
Model: Model is a simplified, complete, and consistent abstraction of a system created for better
understanding of the system.
View: A view is a projection of a system’s model from a specific perspective. Conceptual Model of
UML the Conceptual Model of UML encompasses three major components:
Exp no:3
Identify the usecases and develop the use case model
Date:
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.
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.
- 12 -
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.
- 13 -
- 14 -
Usecase templates:
Usecase name: Book tickets
Brief:
The passenger has to enter the details asked for booking tickets in the given page.After filling the
correct details,the tickets will be booked.
Casual:
After entering the login page,passenger should select book ticket category.Passenger should fill in the
details asked in the webpage. If the details are accepted the tickets will be booked or else passenger will
see some error message. Tickets booked will be intimated via messages.
Alternate scenario:
The details must be given properly by the passengers and the system should be convenient for users.
Fully dressed:
Usecase name Book tickets.
Goal To reserve tickets.
Level Booking tickets.
Primary actor Passenger.
Stakeholders Passenger,bank,admin,server.
Preconditions System should be in proper condition (all the
information should be collected properly).
Casual:
After booking the tickets, passenger makes his payment. All modes of payment should be accepted by
the system without any inconvenience. Passenger makes his payment and the payment status is
intimated via messages to the passengers.
Alternate scenario:
All the evolving methods of making payment should be updated in the system so that passengers will
not find any inconvenience
Fullydressed:
Usecase name Making payment.
Goal Make a payment.
Level Processing payment.
Primary actor Passenger.
Stakeholders Passenger, admin, bank, server.
Preconditions 1. All the modes of making payment should be
accepted by the system.
2. Transaction should be made properly.
Failure or exception scenario 1. In case of using card swipe mode, card not
accepted.
2. Payment unsuccessful.
Casual:
Passenger can cancel the tickets and the amount will be refunded under some terms and conditions. The
amount will be credited to his account and it will be intimated via messages. If there is any query
passenger can make use of the help options in the system.
Alternate scenario:
The system should be updated with all the changes instantly so that the vacant tickets can be booked by
passengers who need tickets.
Fully dressed:
Usecase name Cancellation.
Goal Cancelling the tickets.
Level To cancel the tickets.
Primary actor Passenger.
Stakeholders Passenger, admin, bank, server.
Preconditions Tickets must be booked for cancellation.
Success scenario 1.Select the cancel category.
2. After cancellation,the amount will be
refunded under some terms and conditions.
Failure or exception scenario 1.Amount not refunded.
2.Ticket not cancelled.
Extension Proper notification should be sent to the
passenger about the cancellation.
Secondary actor Admin.
Special requirements Authentication is required.
Usecasename:login
Brief:
When the passenger makes login, he will be given the authority to access the system only if enters the
valid password.
- 17 -
Casual:
The passenger will be given the authority to access the system if and only if he enters the valid
password. If passenger enters wrong or invalid password the system shows error message and the
passenger cannot access the services provided by the system.
Alternate scenario:
The passenger should enter the valid password .The system should be in proper condition so that there
will not be any problem with the system.
Fullydressed:
Usecase name Login.
Goal Making login.
Exp no: 4
Identify conceptual class and develop a domain model
Date: with UML class diagram
Domain model
Domain model is a visual representation of conceptual class or real situation objects in a domain. It is
also called as conceptual models, domain object models, analysis object models.
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.
Category list
Conceptual class category Examples
• Reservation
• Cancellation
• Train number
• Source
• Destination
• Details
• Payment
• Money
• System
• Train
Admin Train
+name
+ticket no +name
+bank id
+refund +Id
Attributes
An attribute is a logical data value of an object. Attributes are sown in the second compartment of the
class box
• Train needs a string train name and integer train number attribute.
- 21 -
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
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 values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
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.
As the object is an actual implementation of a class, which is known as the instance of a class.
Hence, it has the same usage as the class.
- 24 -
- 25 -
Exp no:5
Using the identified scenarios, find the interaction
between objects and represent them using
Date:
UML 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 :
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 used to model using UML diagram.
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
actorsin 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.
- 26 -
Figure – lifeline
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:
1.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 labelled 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.
For example – Consider a scenario where the device wants to access its webcam. Such a
scenario is represented using a self message.
It can be due to multiple reasons and we are not certain as to what caused the hardware
failure.
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.
- 34 -
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 visualise 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.
• Visualise how messages and tasks move between objects or components in a system.
• Passenger login into the railway server and enters the name and password
• Server checks the name and password into the admin if it is valid then authentication is
successful otherwise, unsuccessful.
• Passenger searches the train into the server and then server displays the train details.
• Passenger book tickets into the server and the server checks the availability through
admin if available then notify to the passenger.
• Passenger pays for ticket into server through bank successfully, and then the tickets are
reserved.
• Passenger also cancel ticket into server by request through admin, request accepted by
admin and notify about cancellation and refund details.
• Passenger request for refund to server through bank, then the amount is refunded.
- 36 -
- 37 -
Exp no:6
Using the identified scenarios, find the interaction
between objects and represent them using UML
Date: collaboration diagram
Collaboration diagram:
A collaboration diagram resembles a flowchart that portrays the roles, functionality and
behavior 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.
- 38 -
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.
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 center of the diagram, with all other participating
objects branching off. After all objects are placed, links and messages should be added in
between.
- 39 -
- 40 -
Exp no:7
Draw relevant state chart and activity diagrams
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.
• In operation specifications, to describe the logic of an operation.
- 41 -
- 42 -
Activities:
• Login & verification
• Reservation
• Payment
• Cancellation
• Refund
State diagram:
A state machine Diagram (or start diagram, also called state chart of state transition
diagram) is a behavior 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:
• Login
• Search details
• Book ticket
• Pay for the ticket
• Cancel ticket
• Refund the amount
- 44 -
Exp no:8
Implement system as per detailed design
Date:
import java.util.Vector;
public class Reservation {
public Integer ticket_no;
public Integer no_of_tickets;
public String destination;
public String source;
public Vector generates;
public Vector 1;
public Vector verifies;
public Vector myPayment;
public Vector generates;
public void create_reservation() {
}
}
Classname:-Cancellation.java
import java.util.Vector;
public class cancellation {
public Integer ticket_no;
public Integer refund_amt;
public Vector cancel;
public Vector update;
public void cancel() {
}
}
- 45 -
Class name:-Train.java
import java.util.Vector;
public class Train {
public Integer timing;
public Integer train_no;
public String train_name;
public Integer train_timings;
public Vector *;
private void display_details() {
}
}
Class name:-Passenger
import java.util.Vector;
public class Passenger {
public String name;
public String gender;
public Integer age;
public Vector *;
public Vector *;
public Vector cancel;
public Vector notify;
public void fill_details() {
}
public void show_id_proof() {
}
}
Class name:-credit.java
public class credit extends Payment {
}
- 46 -
Class name:-Debit.java
public class debit extends Payment {
}
Class name:-netbanking.java
public class netbanking extends Payment {
}
Class name:-Admin.java
import java.util.Vector;
public class Admin {
public String admin_name;
public Integer admin_id;
public String update_status(String in){
if(in. equals("kar"))
return "true";
else
return "false";
}
}
- 47 -
Exp no: 9
Test the software system for all the
Date: scenarios identified as per the Usecase diagram
- 48 -
- 49 -
Exp no:10
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.
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.
Conclusion:
To make ticketing more convenient for travellers the online reservation system
has been developed, which helps passengers in booking tickets from the comfort of our
homes or offices. The passengers use their account to book a railway ticket and also cancel
a railway reservation that they have made.
AIRLINE
RESERVATION
SYSTEM
Ex. No 1 PROBLEM STATEMENT
Date:
AIM:
To develop the problem statement for Airline Reservation system.
PROBLEM STATEMENT:
Airline reservation system is used to book the online flight tickets. Sign is required for booking
tickets. It ensures portability and compatibility. Source, destination, trip(one way or round trip)
details should be choose along with the date of journey. The payment of the tickets will be done
through only online methods. Insurance option is also available. The ticket details will be shared
through SMS and e-mail for the traveller reference.
iii
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 ..................................................................................................................5
2.1 Product Perspective .......................................................................................................................... 5
2.2 Product Functions ............................................................................................................................. 5
2.3 User Classes and Characteristics ...................................................................................................... 5
2.4 Operating Environment .................................................................................................................... 6
2.5 Design and Implementation Constraints ........................................................................................... 6
2.6 User Documentation ......................................................................................................................... 6
2.7 Assumptions and Dependencies ....................................................................................................... 6
3. External Interface Requirements ...........................................................................................7
3.1 User Interfaces .................................................................................................................................. 7
3.2 Hardware Interfaces.......................................................................................................................... 7
3.3 Software Interfaces ........................................................................................................................... 7
3.4 Communications Interfaces .............................................................................................................. 7
4. System Features .......................................................................................................................7
4.1 Descriptionand priority…………….………………………………………………………………7
4.2 Functional requirements…………………………………………………………………………....7
5. Other Nonfunctional Requirements .......................................................................................8
5.1 Performance Requirements............................................................................................................... 8
5.2 Safety Requirements ......................................................................................................................... 8
5.3 Security Requirements...................................................................................................................... 8
5.4 Software Quality Attributes .............................................................................................................. 8
5.5 Business Rules .................................................................................................................................. 8
6. Other Requirements ................................................................................................................8
Appendix A: Glossary....................................................................................................................9
Revision History
Name Date Reason For Changes Version
4
1. Introduction
1.1 Purpose
The purpose of this SRS document is to provide a detailed overview of our software product. Here in this
product the entire process of reservation is done in a manual manner then it consumes more time for
reservation to reach the applicant. To overcome this disadvantage we use a computerized system used to
store and retrieve information and conduct transactions related to air travel and it is high secure than other
software products
1.5 References
2. Overall Description
2.1 Product Perspective
• Flight details:
It includes the originating flight terminal and destination terminal, along with the
stop in between the number of seats booked/available sets two destinations.
• Passengers description:
It includes passenger name, address and phone number. This information may be
used for keeping the records of the passenger for any emergency or for any kind of
information.
• Reservation description:
It includes passenger details, code number, flight number, date of booking, date of
travel.
• Passenger functions:
▪ Make a new reservation:
• One way.
• Round trip.
• Date and time.
• Confirmation.
▪ Cancel reservation
6
• Developer function:
▪ Passenger function:
• Get all the passenger details.
• Get all the flight details for a given airport.
• View flight schedule.
• Get all flights whose arrival and departure time are on
time/delayed.
• Calculate total sales for a given flight.
• Administrative:
▪ Add or delete a flight.
▪ Add a new airport.
▪ Update fare for flight.
▪ Update departure/arrival time for flight.
▪ Regulatory policies:
▪ It is a mandatory that no text box must be left empty or contains
insufficient data.
▪ It is the responsibility of the traveller to maintain the application and keep
it updated.
▪ Hardware limitations:
▪ There must be a 64 MB on board memory.
▪ Control functions:
▪ The software must be very user-friendly and display appropriate
messages.
The server is available 24/7,except during scheduled maintenance times.
▪ Parallel operations:
▪ It must support many users simultaneously.
7
▪ Safety/security considerations:
▪ The application must be exited always normally.
▪ Secure sessions will be monitored in order to ensure proper closure after 5
minutes of inactivity for security purposes.
▪ Interruption of cell phone service will cause the application to close and
require the establishment for the new secure session.
a) Server side
• The web application will be hosted on a web server which is listening on the web
standard port, port 80.
b) Client side
• Monitor screen – the software shall display information to the user via the monitor
screen.
• Mouse – the software shall interact with the movement of the mouse and the mouse
buttons. The mouse shall activate areas for data input, command buttons and select
options from menus.
• Keyboard – the software shall interact with the keystrokes of the keyboard. The
keyboard will input data into the active area of the database.
Communication interfaces will use TCP/IP for data transmission, e-mail, electronics form and so
on. All offline and online access will be monitored, for transparency purposes, and in order to
reduce abuse and unauthorized access of the system. This project supports all types of web
browsers
➢ Accept credit card numbers on the web, store them in a database, then process them offline.
➢ Credit card processing with a third party credit card processing company.
➢ Credit card payment in offline using OTP. Give prior information if the amount exceeds
the credit limit.
➢ The credit card processing system is vast and is computerized.
➢ From the security point of view, authentication is done by password checking and if the
password is correct, the user will get further access to the system otherwise the user will
have to re-enter the password.
➢ The software is able to provide service for at most 10 people per minute.
➢ The software is made with credit limit and if it exceeds an warning message is sent to the
user.
Functional requirements:
The software should have high performance and low failure rates. Machines must have
firewalls installed and active virus scanning software in usage. Machines should solely be used for
operation of the software, in order to maximize performance and security.
• User Identification: The system requires the user to identify himself / herself using E-mail.
9
• Login ID: Any user who uses the system shall have a Login ID and Password
• Instructor Rights: Front Desk staff shall be able to view all information in RRS, add new course
to RRS but shall not be able to modify any information in it.
• Administrator’s Rights: Administrator shall be able to view and modify all information in
RRS.\
❖ Maintainability:
• Back Up: The system shall provide the capability to back-up the Data
❖ Reliability:
5. Other Requirements
• Use of captcha and encryption to avoid bots from booking tickets
• Search results should populate within acceptable time limits
• User should be helped appropriately to fill in the mandatory fields, incase of invalid
input
• System should accept payments via different payment methods, like PayPal, wallets,
cards, vouchers, etc
• System should visually confirm as well as send booking confirmation to the user's contact
Appendix A: Glossary
• VB.Net: (Visual Basic .Net) is a multi-paradigm; object oriented programming
language, implemented on the .NET Framework.
• GUI: (graphical user interface) is a form of user interface that allows users to
interact with electronic devices through graphical icons and visual indicators.
10
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 State chart) 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.
11
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.
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.
12
Casual:
Success scenario: If passenger want to book the flight ticket, then user can give a valid debit
or credit card details and OTP sent to the required email or mobile number, then the payment
process is done successfully.
Alternate scenario: At some situation, passenger cannot give the valid email or mobile
number, then the OTP will not be generated and payment is in incomplete stage.
Fully Dressed:
Use case name Payment
Goal To book the flight ticket
Level Transfer the payable amount
Primary actor Bank
Secondary actor Administrator, server
Stake holders Here bank plays the important role in the
system. user logged into the system and link
the bank account for the payment and to book
the flight ticket. Here bank plays the important
role in the system. user logged into the system
and link the bank account for the payment and
to book the flight ticket.
Precondition Before payment, link the bank account into the
system.
Main success scenario If passenger want to book the flight ticket,
then user can give a valid debit or credit card
details and OTP sent to the required email or
mobile number, then the payment process is
done successfully.
Exception At some situation, passenger cannot give the
valid email or mobile number, then the OTP
will not be generated and payment is in
incomplete stage.
Extension Give valid bank account.
Special requirements Security is important.
14
Casual:
Success scenario: The Passenger enters into the system’s software and look into the control
panel then he enters the login ID and password. If the password is valid, once the user is logged
in, then the user can book, cancel and view the details of the flight ticket.
Alternate scenario: If the password entered by the passenger is invalid, the system cannot be
opened and can’t perform and operation. So he must re-enter the valid password. The system
allows to enter the valid password up to five attempts.
Fully Dressed:
Use case name Login
Goal To login successfully into the system.
Level Enter the login ID and password.
Primary actor Passenger
Secondary actor Administrator, Server
Stake holders Passenger plays the important role in the system. He login to the
system and can book, cancel and view the details of the flight
ticket etc.,
Precondition Create an account to enter into the system.
Main success scenario Enter to the system software.
Look at the control panel.
Enter the login ID and password.
Book or cancel or view the details of the flight ticket etc.,
Exception Forget password
Incorrect password
Casual:
Success scenario: The passenger can book the ticket by acquiring details about user. And select
that one way or round trip should be selected along with the date of journey, link the bank details
for payment and then book the ticket.
Alternate scenario: But at some situation, the passenger can’t able to book the ticket
because number of flights is not available for the passenger’s convenient time. User’s Login ID
and password is incorrect, so the user cannot able to book the ticket.
Fully dressed:
Use case name Booking
Goal Booking flight ticket
Level To book the flight ticket for the user.
Primary actor Passenger
Secondary actor Administrator, Server
Stake holders Passenger plays the important role in the
system. He logged into the system and book
the flight ticket.
Precondition Create an account and login into the system
before booking.
Main success scenario The passenger can book the ticket by
acquiring details about user. And select that
one way or round trip should be selected
along with the date of journey, link the bank
details for payment and then book the
ticket.
Domain model:
Steps to create a domain model:
1. Find conceptual classes.
Category list:
1.Business transaction: Transaction.
2.Transaction item: Transaction line items.
3.Product or service Online / offline.
Related to transaction:
Payment
Mobile number
Passenger
Flight
Bank
Seat
Credit card
18
Domain Model:
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 modelling of object oriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
19
+ 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:
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. Airport
• name: String
• locatin: String
2. Flight
• Flight_no: Integer
• Flight_name: String
3. Seats
• Available_seat: Integer
4. Passengers
• Passenger-id: Integer
• name: String
22
• Phn_no: Integer
• Email_id: String
5. Flightmanifest
• Booked_tickets: Integer
6. Flight_description
• No.of_seats: Integer
• Available_classes: String
• Source: Integer
• Destination:Integer
7.Ticket
• Ticket_no:Integer
• Toatal:Integer
8.Pilot
• Pilot_name:String
• Pilot_id:String
23
CLASS DIAGRAM:
24
Ex.No:5
Using the identified scenarios find the interaction
Date: between objects and represent them using UML
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.
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
25
system is shown as an actor where it exists outside the system and is not a part of the
system.
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.
30
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.
31
• 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.
32
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.
33
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.
34
SEQUENCE DIAGRAM:
35
Flow of messages:
• The Passenger logins to the system by entering a valid ID and password.
• The Passenger can search flight in the reservation system.
• The system can check the available flights for the user from the database.
• The system can display the available flights to the user.
• The user can select the flights and select number of seats.
• The system can check the seat availability and display to the user.
• The Passenger enter and submit the details to the system.
• The system can update the details to the database.
• The system can print the ticket.
36
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.
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.
37
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:
38
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.
39
ACTIVITY DIAGRAM:
The activity diagram consists of four swim lanes namely passenger, administrator, system server
and bank. First passenger want to login into the system, then passenger can search flights to give
the required details like source-destination, timing ,one-way or round trip, date of journey etc.,
The user can check the seat availability and the user cannot select that already reserved seats.
40
Enter bank details for the payment method. After completing the payment, then reserve the seats
that are available for you. The passenger also receive acknowledgement for the system through
email or mobile number. The passenger can also cancel the tickets by entering the mandatory
details and half of the amount should be refund. The passenger can also check the flight status.
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:
• 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.
Date:
package ars;
}
CLASS NAME: Flight.java
package ars;
}
43
package ars;
package ars;
package ars;
}
CLASS NAME: Payment.java
package ars;
public class Payment {
package ars;
public class Pilot {
package ars;
package ars;
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.
47
package ars;
public class Payment {
Positive output:
48
Negative output:
49
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
50
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.
Reusability: Design patterns are reusable micro architectures that add to overall software
architecture. Design patterns detain static and dynamic structure and collaborations of components
51
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.
Conclusion:
The Airline Reservation System reduces the scope of manual error and conveniently maintains
any modifications, cancellations in the reservations. It not only provides flight details but also
but also creates a platform to book tickets, cancels or modifies ticket timings or dates and even
informs about the number of people on board!
CREDIT CARD
PROCESSING
1
AIM:
To develop the problem statement for Credit Card Processing system.
PROBLEM STATEMENT:
Credit cards are used for both offline and online payment. For offline payment a four-digit
pin number provided. Credit cards are provided with credit limit and after each transaction the
details are sent to the user by the bank. The Money spent by the user should be paid back within
the deadline. For both online and offline payments the credit limit is checked and if the amount
requested exceeds the limit, then an error message should be sent to the user. Prior notification
should be sent to the user about the deadline. For online payment, an OTP is generated for security
purpose. Penalty should be issued when the amount is not paid back.
iii
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 ..................................................................................................................5
2.1 Product Perspective .......................................................................................................................... 5
2.2 Product Functions ............................................................................................................................. 5
2.3 User Classes and Characteristics ...................................................................................................... 5
2.4 Operating Environment .................................................................................................................... 6
2.5 Design and Implementation Constraints ........................................................................................... 6
2.6 User Documentation ......................................................................................................................... 6
2.7 Assumptions and Dependencies ....................................................................................................... 6
3. External Interface Requirements ...........................................................................................7
3.1 User Interfaces .................................................................................................................................. 7
3.2 Hardware Interfaces.......................................................................................................................... 7
3.3 Software Interfaces ........................................................................................................................... 7
3.4 Communications Interfaces .............................................................................................................. 7
4. System Features .......................................................................................................................7
4.1 Descriptionand priority…………….………………………………………………………………7
4.2 Functional requirements…………………………………………………………………………....7
5. Other Nonfunctional Requirements .......................................................................................8
5.1 Performance Requirements............................................................................................................... 8
5.2 Safety Requirements ......................................................................................................................... 8
5.3 Security Requirements...................................................................................................................... 8
5.4 Software Quality Attributes .............................................................................................................. 8
5.5 Business Rules .................................................................................................................................. 8
6. Other Requirements ................................................................................................................8
Appendix A: Glossary....................................................................................................................9
Revision History
Name Date Reason For Changes Version
4
1. Introduction
1.1 Purpose
The purpose of software requirement specification(SRS) document in credit card processing
system is to provide a detailed description of how to develop a credit card processing which is
issued for both online and offline payment or transaction on the condition that they will repay the
amount plus interest. This document helps the user to develop the software without the knowledge
of the system
This document is intended for the initial users, software developers, software testers, customer.
This project is a prototype for credit card processing system and it is intended to focus on people
who uses credit card.
1.5 References
➢ IEEE Software Requirement Specifications.
➢ https://krazytech.com/projects/sample-software-requirements-specificationsrs
➢ https://www.moneycrashers.com/credit-card-payment-processing-systems-networks/
by Brian Martucci
5
2. Overall Description
2.1 Product Perspective
The origin of the product being specified in the SRS is a new product. The product is not a
component of any system. The system is open source and web based and it provides an interface
between customer and administrator.
▪ Card details:
It includes account holder’s name, account number, system number, ccv number, bank
number, check digit. It also includes expiry date.
▪ Customer details:
It includes customer name, account details, address, mobile number, name of the bank,
IFSC code.
Purchase product: Customer purchases items from ecommerce site and then proceeds to
checkout area.
Payment approval: The transaction details are recorded by the credit card processor and the
results are sent to the retailer to make a successful transaction
Transaction failed: The transaction which failed is reported to the bank and the amount is
refunded within a short period of time.
6
Maintenance: The transaction details are maintained and the information is provided to the user.
Online purchase: The payment done in online will be recorded and the transaction is within
the credit limit.
The application will come with an “About” tab, which will allow users to access the help manual.
This manual will be updated with each new service pack. Other user documentation includes one
user manual for lowest level users, one technical document describing the functionality of the sub-
section in detail for use of technicians, one copy of documentation and link to current source for
future contributors.
Let us assume that this is a distributed credit card processing system and it is used for the following
applications:
The system needs user to have some knowledge of credit card processing system and its working.
Request for online or offline payment given along with credit limit. Calculation of credit card
users and calculating the appropriate interest for the amount they have used. Assuming both the
transactions are single transactions, we have designed a distributed database. The system provides
transaction facilities 24/7. Enquiry facilities are available for 24/7. The software is dependent on
internet access as it is a remote application. It is assumed that the user is familiar in handling the
software.
7
Communication interfaces will use TCP/IP for data transmission, e-mail, electronics form and so
on. All offline and online access will be monitored, for transparency purposes, and in order to
reduce abuse and unauthorized access of the system. This project supports all types of web
browsers
➢ After checking the credit limit the transaction is made either online or offline.
➢ If the customer wants to cancel a transaction then the amount must be refunded.
➢ The system is in such a way that it stands upto user expectations.
➢ The system is able to avoid disastrous actions. The system safeguards against undesired
events without human intervention.
➢ The responses of all the operations are good.
The software should have high performance and low failure rates. Machines must have
firewalls installed and active virus scanning software in usage. Machines should solely be used for
operation of the software, in order to maximize performance and security.
5. Other Requirements
Name of the customer, a unique CCV number should be in the credit card. SQL database is
required to keep the details about the user, keep track of the transactions and other details. The
card should be internationalized and should be able to be used in other countries. The card should
contain only valid details of the customer approved with their id. The project should be able to be
reused with the inclusion of further updates.
9
Appendix A: Glossary
1. Baud rate: Rate of transfer of data over the internet/network.
3. TLS: Transport Layer Security, A high-encryption security protocol for internet connection.
4. Tx/Rx: Transfer/Receive
5. Windows API: Windows Application Programming Interface, the API used to program
Windows applications and elements
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 State chart) 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.
11
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.
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.
12
Casual:
Success scenario:
The transaction is done successfully and the payment is done either online or offline.
Alternate scenario:
The card may be invalid, the credit limit may be exceeded. The validity of the card may be expired.
Transaction may fail due to network failure or wrong entry of pin in case of offline payments.
Fully Dressed:
Use case Name Transaction
Goal To provide services for both online and
offline
Transactions.
Level To perform transaction.
Primary actor Customer.
Secondary actor Seller, bank.
Stack holders Customer, seller, bank.
Pre-conditions Check the credit limit.
Main success scenario •Customer purchases the product in shop.
•Seller bills that product.
•Customer gives the credit card for
payment..
•Seller authorizes purchase.
•Seller confirms sale.
•If the transaction is successful, the bank
sends SMS to the customer.
Extension Card is invalid.
Special requirements Security.
Brief:
After the transaction is completed a credit bill will be generated by the bank. The bill is sent to the
user. Credit bill contains the details about the transaction amount and the balance. The bank
generates e-bill to the customer.
Casual:
Success scenario:
The e-bill is generated successfully for the transaction by the bank and it is given to the user.
Alternate scenario:
The e-bill may not be generated due to network issues. The network may be busy, e-bill may be
generated after a short delay.
Fully Dressed:
Use case Name Credit bill
Goal To provide service for both online and
offline transaction.
Brief:
The transaction is done only after the authentication of the card which is done by the bank. This
authentication is required for security purpose.
Casual:
Success scenario:
The card is authenticated successfully and the transaction is processed.
Alternate scenario:
The card may not be authenticated due to network failure, invalid card, fake details or duplicate
card.
Fully dressed:
Use case Name Authenticate payment.
Goal To provide service for the payment.
Level To authenticate the payment.
Primary actor Bank.
Secondary actor Customer.
Stack holders Bank, customer.
Pre-conditions To check the bank whether its network
facility is good to provide authentication.
Main success • Customer provides the credit card.
Scenario •The bank authenticates the card by checking
the customer details with respect to the card
and the credit limit.
Domain model:
Steps to create a domain model:
1. Find conceptual classes.
Category list:
1.Business transaction: Transaction.
2.Transaction item: Transaction line items.
3.Product or service Online / offline.
Related to transaction:
4. Where the transaction recorded: Database
5. Role of people or organization related to Customer, bank, seller.
transaction:
6.Place of transaction: Store, online.
7.Noteworthy events: Purchase product, payment.
8.Physics objects: Credit card
9.Description of things: Product description transaction description.
• For offline payments customer purchase and swipes the card for payment.
• Seller does the billing and the receipt is given to the customer.
• The transaction is done after checking whether the credit limit is greater than the amount.
• Successful transaction sends a notification to the customer and the details are updated in database.
• For online payment after selecting the product customer pays with the credit card.
NOUNS:
• Customer
• Payment
• Credit card
• Receipt
• Bank
• Bill
• Product
• Credit limit
• Notification
• Online
• Offline
• Store
• Database
Domain Model:
18
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
19
- 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:
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.
21
Classes:
1. Customer
• Cust-name: String
• Cust-id: String
• DOB: String
• Contact no: Integer
2. Credit card
• Card no: Integer
• Pin no: Integer
• Credit limit: Integer
3. Transaction
• Trans-id: String
• Trans-date: String
• Trans-amount: Integer
4. Bank
• Bank-id: String
• Bank name: String
• Branch: String
• Address: String
5. Seller
• S-id: String
• S-name: String
• S-address: String
• S- mail id: String
6. Bill
• Bill no: String
• Date: String
• Bill-amount: Integer
22
CLASS DIAGRAM:
23
Ex.No:5
Using the identified scenarios find the interaction
Date: between objects and represent them using UML
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.
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
24
system is shown as an actor where it exists outside the system and is not a part of the
system.
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:
• Delete Message: We use a Delete Message to delete an object. When an object is de allocated
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, the object of order
28
• 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.
29
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.
30
• 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.
31
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.
32
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.
33
SEQUENCE DIAGRAM:
34
Flow of messages:
• Customer purchases the items from the seller.
• Seller calculates the amount and generates a bill.
• Customer swipes the card and the bank verifies the card.
• The bank sends a verification signal to the customer.
• If the card is valid the transaction is processed otherwise the card is returned to the
customer
• If the card is valid, customer enters the amount of the bill.
• Seller requests pin from the customer.
• Customer enters the pin and the bank validates the pin.
• If the pin is valid and the bill amount is less than the credit limit then the transaction is
processed.
• After the transaction is completed the bill is generated by the bank.
• If the pin is wrong and the bill amount is greater than the credit limit an error message is
popped.
• Finally the card is returned to the customer.
35
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.
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.
36
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:
37
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.
38
ACTIVITY DIAGRAM:
The activity diagram consists of three swim lanes namely customer, seller and bank. The initial
process is purchase item done by the customer. The seller calculates the amount. The customer
swipes the card. The parallel behavior such as branch and merge are used in verifying the card
39
which is done by the bank. If the card is valid the customer enters the pin and the pin is checked
by the bank. If the pin is correct then the customer enters the amount and if the credit limit is
greater than the bill amount the transaction is done otherwise an error message is generated to the
customer by the bank. If the card is invalid and the pin is wrong, under both cases the card is
ejected and returned to the customer.
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:
• 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.
Date:
}}
}}
}
43
}}
}}
System.out.println(BillNo);
System.out.println(Date);
System.out.println(Amount);
Return “t”;
}}
45
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.
46
System.out.println(BillNo);
System.out.println(Date);
System.out.println(Amount);
Return “t”;
}
47
48
49
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
50
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.
Reusability: Design patterns are reusable micro architectures that add to overall software
architecture. Design patterns detain static and dynamic structure and collaborations of components
51
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.
52
Conclusion:
To make the payment more convenient for customers the credit card processing system has been
developed which helps the customers for both online and offline payment within the credit limit.
The credit card is used for easy transaction in both online and offline mode. The customers use the
money within the credit limit and repay the amount within the given time.
SOFTWARE
PERSONNEL
MANAGEMENT
SYSTEM
1
EX.NO:1
Date:
PROBLEM STATEMENT
AIM
To develop a problem statement for the Software Personnel Management System.
PROBLEM STATEMENT
Software personnel management system allows employees automatically generates pay
slips based on number of hours worked and total amount of sales. The system will run on
individual employee desktops where the employee can access and edit only their personal
details. The system will maintain information on the employee in the company in order to
calculate the payroll. The employees will also be able to know from the system, the number of
hours worked per day and total of all hours spent on a project and total pay received year-to-date
etc. Payroll administrators keep track of all the information including adding new employees,
deleting employees, and edit information and run reports. The system will generate records and
performance report of the employees.
3
Table of Contents
Table of Contents .......................................................................................................................... 3
Revision History ............................................................................................................................ 4
1. Introduction .............................................................................................................................. 5
1.1 Purpose................................................................................................................................. 5
1.2 Document Conventions ....................................................................................................... 5
1.3 Intended Audience and Reading Suggestions ..................................................................... 5
1.4 Product Scope ...................................................................................................................... 6
1.5 References ....................................................................................................................................... 6
2. Overall Description .................................................................................................................. 7
2.1 Product Perspective ............................................................................................................. 7
2.2 Product Functions ................................................................................................................ 7
2.3 User Classes and Characteristics ......................................................................................... 7
2.4 Operating Environment ....................................................................................................... 8
2.5 Design and Implementation Constraints .............................................................................. 8
2.6 User Documentation ............................................................................................................ 8
2.7 Assumptions and Dependencies .................................................................................................. 9
3. External Interface Requirements ........................................................................................... 9
3.1 User Interfaces ..................................................................................................................... 9
3.2 Hardware Interfaces ............................................................................................................. 9
3.3 Software Interfaces .............................................................................................................. 9
3.4 Communications Interfaces ................................................................................................. 9
4. System Features ...................................................................................................................... 10
4.1 Description and priority..................................................................................................... 10
4.2Stimulus / Response Sequences ........................................................................................... 10
Revision History
Name Date Reason for Changes Version
1.Introduction
The Software Personnel Management system is an interface between Employee and
the Administrator responsible for generation of payment slip. It aims at improving the efficiency
in the generation of Pay slip and reduces the complexities involved in it to the maximum
possible extent.
1.1Purpose
If the entire process of Software personnel management is done in a manual manner then
it would more time for pay slip generation process. Considering the fact that the number of
employees is increasing every year, a maintenance system is essential to meet the demand.
So, this system uses several programming and database techniques to elucidate the work
involved in this process.
1.2Document Conventions
The Document is presented with a Times font face entirely. Every Heading of font size 24,
bolded is followed by a sub-heading of font size 14, bolded followed by an explanation
paragraph of font sizes 12 which is aligned to justify. The Headings are referred in whole
numbers and the subheadings are referred in decimals following the convention ‘Heading_id.
Subheading id’ (i.e...) A heading number followed by a sub heading. The paragraphs are
presented in italics. Heading are followed by subheadings which is followed by paragraphs.
1.5Reference
2.2Product Function
Payment Slip: The payment module greatly reduces the workload of the ADMINISTRATOR
department by automating the payroll process, allowing ADMINISTRATOR to ensure the payroll
functions are completed on time and without errors. The payroll class automatically calculates
payment amounts and various deductions such as income tax before generating pay checks and
employee tax reports.
View Salary: The employee views the salary details efficiently from the Software Personnel
Management System. The employees will also be able to know from the system, the number of
hours worked per day and total of all hours spent on a project and total pay received year-to-date
etc.
ACTORS INVOLVED:
1. Employee
Employee are the person who desires to view their salary details.
2. Administrator
Administrator has the certain privileges to generate pay slip for the employee.
3. Database Manager
Database manager stores all the data related to Employee and Administrator.
USE-CASE NAME: LOGIN
The Employee login to the system to view the salary details.
USE-CASE NAME: JOB ASSIGNED
The employee views the job assigned to him/ her by the Administrator.
USE-CASE NAME: VIEW SALARY
The employee views the salary details efficiently from the SPMS. The employees will also be able to
know the number of hours worked per day and total of all hours spent on a project and total pay
received year-to-date etc.
USE-CASE NAME: VIEW EMPLOYEE DETAILS
The Administrator views the details of the employee for the payroll process
USE-CASE NAME: GENERATE PAYMENT SLIP
The Administrator generates the pay slip based on the details of the no of hours/ no of days worked by
the employee.
USE-CASE NAME: CREATE DB
The database manager creates individual database tables for the employees.
USE-CASE NAME: UPDATE DB
When employee information changes the database, manager updates individual database tables for
the employees.
USE-CASE NAME: DELETE DB
When an employee relieves/terminated the database manager deletes individual database tables for
the employees.
2.4Operating Environment
2.6User Documentation
The application will come with an “About” tab, which will allow users to access the help
manual. This manual will be updated with each new service pack. Other user documentation
includes one user manual for lowest level users, one technical document describing the
functionality of the sub- section in detail for use of technicians, one copy of documentation and
link to current source for future contributors.
2.7Assumptions and Dependencies
• The employee and Administrator must have basic knowledge of computers and English
Language.
• The Software Personnel Management System is developed in Java and therefore requires Java
to be installed on the user’s system. The latest stable version of Software Personnel Management
System requires Java version 7 or higher. This applies to Windows and Linux users. On Mac OS X,
Java is bundles with the application.
4.System Features
4.1 Description and Priority
The Software Personnel Management System maintains information on employee details
such as the number of hours worked per day and total of all hours spent on a project and total pay
received year-to-date, etc. Of course, this project has a high priority because it is also the duty of the
Administrator to ensure the correctness of the details generated by the automated payroll process
whether completed on time and without any errors.
Figure 3.1
USE CASE
Draw use cases using ovals. Label the ovals with verbs that represent the system's
functions.
Figure 3.2
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.
Figure3.3
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.
Figure 3.4
USECASE DIAGRAM:
Figure 3.5
s
BRIEF FORMAT
The user enters into the system’s software and looks into control panel, then he enters the
login ID and password. If the credentials are valid then the user is directed to the personnel
management system’s dashboard. An employee can view the hours worked, pay slip and has
privileges to edit their personal information. Manager can view employee details and employee
salary details and generate pay slip. An administrator has the privilege to view, create, edit and
update overall information.
CASUAL FORMAT
SUCCESS SCENARIO
The user enters into the system’s software and looks into control panel, then he enters the
login ID and password. If the credentials are valid then the user is directed to the personnel
management system’s dashboard displaying the privileges of the specific user.
ALTERNATE SCENARIO
If the credentials are wrong then they are invalid, the dashboard will not be displayed and no
further actions will be performed. The user must try re-entering the username or password. The
system provides and Help pop-up on attempts of failure on more than three times.
FULLY DRESSED FORMAT
Use case name Login
PAYSLIP
BRIEF FORMAT
The Payslip is generated automatically based on the hours worked by the employees and the
payslip is generated after the manager’s call and can be viewed by the employees. The payslip
contains payment id, HRA, DA, Net pay and Gross pay.
CASUAL FORMAT
SUCCESS SCENARIO
The Payslip is generated on manager’s call and the payslip generated automatically based on
the hours worked by the employees. The Payslip will be generated and can be viewed by the
employees. The payslip will contain payment id, HRA, DA, Net pay and Gross pay.
ALTERNATE SCENARIO
On receiving irrelevant data on hours worked or wrong payment id for respected user, the
employee will not be viewing a relevant and fully-generated payslip. On receiving inappropriate
data for payslip generation, the manager will not be able to start payslip generation process.
FULLY DRESSED FORMAT
INFORMATION MANAGEMENT
BRIEF FORMAT
The Administrator maintains the overall details involved in the system which includes
employee details and payment details.
CASUAL FORMAT
SUCCESS SCENARIO
The Administrator maintains the overall details involved in the system which includes
employee details and payment details successfully.
ALTERNATE SCENARIO
At some situations, the employee details and new details will collapse due to redundant or
irrelevant entry of data into the system.
FULLY DRESSED FORMAT
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 modelling of object-
oriented 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.
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:
Derived property is a property which value (or values) is produced or computed from other
information, for example, by using values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
The UML specifies two types of scope for members: instance and classifier
assifier, 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 classifier’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
Figure. 4.1
Class Notation:
UML class is represented by the following figure. The diagram is divided into four
parts.
Figure .4.3
21
DOMAIN MODEL
Figure. 4.4
Figure. 4.5
The class diagram consists of four classes namely, Employee, Manager, Payment, Administrator.
The Associations between the classes are as follows:
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.
Figure.5.1
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.
Figure - 5.2 an actor interacting with a seat reservation system
Figure5.3 - lifeline
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:
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.
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.
Figure – 5.7
iii) Create message
In the scenario below when the order is received by the user, the object of order
class can be destroyed.
v) 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.
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.
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.
Figure – 5.14 found message
It can be due to multiple reasons and we are not certain as to what caused the hardware
failure.
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.
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.
Figure -5.17
• 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.
SEQUENCE DIAGRAM
Figure – 5.18
The Employee logins to the system by entering a valid ID and password then he will be able to
view salary on successful login. The manager logins to the system and will be able to view employee
details and generate payslip on a successful login. The Payment generation process flow follows admin
privileges to calculate salary on return of calculated salary the payroll is generated and displayed to
manager. The Employee will be able to view only after the payslip is generated by the manager. The
other operations involve create, delete and update details in the system by administrator and view and
update operations for employees’ personal details.
EX.NO:6
COLLABORATION DIAGRAM:
A collaboration diagram, also known as a communication diagram, is an illustration
of the relationships and interactions among software objectsin the Unified Modeling
Language (UML). These diagrams can be used to portray the dynamic behavior of a
particular use caseand 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.
Figure 6.1
EX.NO:7 DRAW STATE CHART DIAGRAM AND
DATE:
ACTIVITY DIAGRAM
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:
Figure 7.1
ACTIVITY DIAGRAM
Figure – 7.2
The Activity diagram consists of three swim lanes, the employee and the manager. The initial
process is done by the login of the user. The user may be manager or the employee. In case of user
being employee, they can view their work details and view their salary details. In case of the user
being the manager, he also must login and can view the employee details and also initiate the
process of generating the payroll and also view the generated payroll. The Employee can view the
payroll once generated.
STATE CHART DIAGRAM:
A state machine Diagram (or start diagram, also called state chart of state transition
diagram) is a behavior 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.
Figure -7.3
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:
Example:
Figure – 7.4
STATECHART DIAGRAM
Figure- 7.5
EX.NO:8 IMPLEMENT SYSTEM AS PER DETAILED DESIGN
DATE:
import java.util.*;
public class Administrator {
public Integer adminid;
public String adminname;
public String adminpassword;
public void create() {}
public void update() {}
public void delete() {}
public void displaypayroll() {}
public void Employeedetaikls() {}
public void Employeedetails() {}
public void Viewemployeedetails() {}
public void
displayemployeedetails() {}
public void
Displayemployeedetails() {}
public void Gener
tepayslip() {} public void
FetchDe() {}
}
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.
Class Name: Employee
import java.util.*;
public class Employee {
public Integer empid;
public String empname;
public String emppassword;
public String address;
public Integer phone;
public String date;
public Integer hoursworked;
public void login() {}
public String viewsalary(String id,Stringamt) {
return("a");
}
public void LoginSuccess(){}
}
POSITIVE_OUTPUT
NEGATIVE_OUTPUT
EX.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.
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 designmodels 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.
CONCLUSION:
The Software Personnel Management System can help to manage the automation of
salary information based on how well an employee has worked during the business operation.
The system is designed to reduce the human labor and efficiently maintains the generation of
salary slip. The system maintains information on the employee in the company in order to
calculate the payroll. The system generates record and performance report of the employees.
E-BOOK
MANAGEMENT
SYSTEM
1
Aim:
To develop the problem Statement for e-book management. Problem
statement:
E-book management is a well organised web application for reaching and downloading books.
The readers can select the book from various genres we can also add filters like the title of the
book, name of the author and the publications in search engine. The reader has two options where
some of the books are free to download and the rest have to be paid to download it. In case of
downloading it for a cost the mode of payment is through online. While selecting a book to read
or download they have a choice of reading the sample pages. The reader has option to view all the
comments and rating of the book selected and he can leave his own ratings and comment
3
Table of Contents
Table of Contents ............................................................................................................................ 3
Revision History .............................................................................................................................. 4
1. Introduction................................................................................................................................. 5
1.1 Purpose ................................................................................................................................... 5
1.2 Document Conventions .......................................................................................................... 5
1.3 Intended Audience and Reading Suggestions ........................................................................ 5
1.4 Product Scope......................................................................................................................... 5
1.5 References .............................................................................................................................. 5
2. Overall Description ..................................................................................................................... 6
2.1 Product Perspective ................................................................................................................ 6
2.2 Product Functions................................................................................................................... 6
2.3 User Classes and Characteristics ............................................................................................ 6
2.4 Operating Environment .......................................................................................................... 6
2.5 Design and Implementation Constraints ................................................................................ 6
2.6 User Documentation ............................................................................................................3
...................................................................................................................................................... 7
2.7 Assumptions and Dependencies ............................................................................................. 7
3. External Interface Requirements .............................................................................................. 7
3.1 User Interfaces ....................................................................................................................... 7
Revision History
Name Date Reason For Changes Version
5
1. Introduction
1.1 Purpose
The purpose of Software Requirement Specification document for E-Book Management is to
define and describe all the functional and non-functional requirements. It gives a detailed
process description of the system.This document describes the hardware andsoftware interface
requirements using ER diagram and UML diagram.
1.5 References
IEEE Software Requirement Specification Format.
Book: Software Requirements and Estimation by Kishore & Naik Publisher:
Tata McGraw-Hill Education First published on:01-jan-2001.
Book: Software Engineering Development by Pankaj Jalote
Publisher: Wiley India Pvt Ltd
Publish Date: 1-07-2010
6
2. Overall Description
2.1 Product Perspective
The product is independently developed. It creates a platform for communication between the
e-book administrator and readers. It saves readers time for searching and reading books rather
than doing complex works like searching books manually in library
The system should be reader friendly so that it is easy for the reader to use and also it
should have backup capabilities.
There will be only one ADMIN who has all rights with regards to managing
information such as updating, deleting, inserting the detail of books.
Reader:
The reader should be familiar with internet
They should have basic computer knowledge
They are the people who desire to obtain the books and submit the information to the
database
Administrator:
Administrator has certain privileges to add the books and to approve the reservation of
books.
They can give all the relevant documents to the readers reference
System Administrators
The administrator log on to the system by entering his/her name or id and
password.Administrator can do editing such as adding ,deleting a new user similarly adding,
editing,deleting a new item.
8
Readers
Readers are the one who are reading or downloading books.
9
The readers should have to enter the user name and password and click the 'Login'
button .Ifreader makes any mistake the system will ask for correct username and
password until he enters the correct one.
4. System Features
Organize e-book collection using covers, titles, tags, author, publisher.
Advanced e-book search and sorting.
Create custom bookshelves.
Full screen mode.
Printing support.
Adding bookmark such as tags and comments.
It is important that sustainable number of customer login to the website at the same
time, the system should not slow down.
No interrupts during downloading of books.
The time for searching a book will not be more than 3 seconds.
The response time for menu changes will not be more than 3 seconds.
The time taken to update the database or to get information from the database will not
be more than 2 seconds
6. Other Requirements
Requirements needed in the expansion of the system.
Changes in the upcoming technologies.
Future aspects of the projects.
Backup: There should be an easy backup feature for entire data.
11
Appendix A: Glossary
GUI : Graphical User Interface is a form of user interface that allows user to interact with
graphical icons.
Functional Requirements: These are the functionalities provided by the software which
are defined by the users to the developer.
Use Case
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.
14
Relationships Brief:
Illustrate relationships between an actor and a use case with a simple line. For relation ships
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.
Usecase diagram:
The reader can search books in the search engine with the help of the filters present like giving the
author of the book, publications.
He/she can search for any kind of book in any language. There is also an option of related
books based on our recent searches.So it is aeasy way of selecting books to read.While
searching a book various choices pop up in the list of books.
Casual:
The books are the to be searched through the search engine in means of typing the book name we
have plenty of options in the list of books. We can select the books which we need.
Alternate scenario:
If we don’t know the book namewe can search the books by giving the other details and the
author of the book. Publications or based on the genre of the book we can search the books
which we need.
Fully dressed:
Search Books
Use Case Name
Some books are not available means admin should add that books into the system and maintain the
changes properly.
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
objectoriented languages.
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
20
Derived property:
Is a property which value (or values) is produced or computed from other information, for
example, by using values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
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.
21
The third section is used to describe the operations performed by the class.
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.
As the object is an actual implementation of a class, which is known as the instance of a class.
Hence, it has the same usage as the class.
22
Domain model:
23
Class diagram:
The class diagram consists of eight classes namely, students, reader, downloadbooks,
otherusers, searchbooks, admin, transaction, cart. The associations between the classes are as
follows:
One reader can search many books at the time
For searching book, we have to upload the book into portal
One reader can download many books
Bank sends the acknowledgment to the readers regarding payment
Admin can update the portal
One reader can add many books to the cart
Ex.No:5
24
SequenceDiagram:
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.
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.
Figure: lifeline
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:
Sequence diagram:
The reader logins to the portal by entering a valid password. The system admin verifies the
password and sends password is ok if it isvalid otherwise try again. Then the reader can request
the portal to search the books. The books status is displayed by the portal. The reader can also
download the books by paying the amount, the payment is made by the reader. Reader request
the bank for transaction. After transaction is confirmed the download of the book is completed
and displayed.
33
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 case
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
behaviour 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.
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 center of the diagram, with all other participating
objects branching off. After all objects are placed, links and messages should be added in
between.
34
Communication diagram:
35
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.
• In operation specifications, to describe the logic of an operation.
36
Activity diagram:
This activity diagram consists of four swimlanes namely, reader, portal, system admin, bank.
The initial process is the login done by the reader. The parallel behaviours such as branch and
merge operations are used for password validation purposes. The structural behaviours such as
fork and join operations are used for checking the availability of books. The final process is
the logout done by the reader.
37
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 Example:
public Vector *;
}
Class name: cart import
java.util.Vector;
public Vector 1;
}
Class name: download books import
java.util.Vector;
public Vector 1;
}
Class name: otherusers public class
otherusers extends reader {
}
Class name: reader import
java.util.Vector;
public Vector *;
public Vector *; public
Vector 1; public Vector
myfaculty; public Vector
*;
}
Class name: searchbooks import
java.util.Vector;
public Vector 1;
public Vector 1;
}
Class name: students public class
students extends reader {
}
Class name: transaction import
java.util.Vector;
public Vector 1;
Ex.No:9
43
Date: Test the software system for all the scenarios identified as
per the usecase diagram.
Test the software system for all the scenarios identified as per the usecase diagram
44
45
Ex.No:10
46
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.
of abstract factory design pattern for user login where two concrete factory and concrete product
used for execution.
Conclusion:
49
The e-book management system can help to read or download books. The system is designed
to reduce the time by searching books in library. The main advantage of the system is, the e-
books can download and stored for later use. The e-book management system is user friendly.
E-book can be updated any time. Including interactive features in system makes the reading
experience a more engaging one.
RECRUITMENT
SYSTEM
1
Expno:1
Date:
ProblemStatement
Aim:
Todeveloptheproblemstatement.
Problemstatement:
Therecruitmentsystemallowsthejobseekerstoviewthejobopportunitythrough
advertisementandhelpstoapplyforthejob.Theorganisationshortlistthe
applicationfortheinterview.Theshortlistedapplicationundergoaprocessoftest
andinterview.TheHRselectstheapplicantbasedontheperformance.Finallythe
reducesthetimeconsumptionforthejobseekerandorganisation.Thecandidate
mustentertheirpersonal,educationalqualificationandexperienceddetails(ifany) whileapplying.
Copyright©B.Janani,R.Jeevadharshini,K.Jothikadevi
8
R.JEEVADHARSHINI
K.JOTHIKADEVI
1.Introduction
1.1 Purpose
Thisdocumentisbasedfortherecruitmentsystem.Themainpurposeofthisdocument
istoexplaintheprocesswhichtakesplaceintheselectionofcandidatesforaninterview.
TheSRSdocumentconsistsofallnecessaryrequirementsforprojectdevelopment.It
provideseasyunderstandingfordeveloperstobuildupthesoftware.
1.2DocumentConventions
ThisdocumentfollowsIEEEformattingrequirements.
Title TimesNewRoman 18
Subtitle TimesNewRoman 14
9
Text TimesNewRoman 12
1.3IntendedAudienceandReadingSuggestions
Thedifferenttypesofreadersthedocumentisintendedforsuchassoftware
developers,projectmanagers,users,testercandidateswhoareapplyingforthe
jobanddocumentationwriter.Thesequentialorderofthisdocumentfor
recruitmentsystemisintroductionabouttheprojectoveralldescriptionincludes
perspectiveandfunctionsofthesystem.Thisisfollowedbyusecaseand
characteristicsofthesystemsoftwareandthendesignandimplementationand
alsoabouttheinterfaces,systemfeaturesandfinallyotherallrequirements
neededforthissoftwaredevelopment.
1.4 ProductScope
Thissoftwaredevelopmentisabouttherecruitmentsystem.Toanalyzetheknowledge
andtoobtainthebestcandidatefororganizationandthecandidatewereselectedby
interviewsorbyonlinetestanditalsocoverscorporateoffices,sites.Thescopeof
recruitmentandselectionisverywideanditconsistsofvarietyofoperations.
Everycompanyhasitsownpatternofrecruitmentaspertheirrecruitment policiesandprocedures.
Themajorscopeofrecruitmentandselectionincludesfollowingoperations.
Dealingwiththeexcessorshortageofresources.
Analyzingtherecruitmentpolicies,processesandproceduresofthe organization.
Identifyingtheareaswheretherecouldbeascopeofimprovement.
1.5 References
10
https://www.ieee.org/conferences/publishing/templates.html
ObjectOrientedSoftwareConstruction(Secondedition)byBertrand Meyer.
Softwarerequirement(Secondedition)byKarlE.Wieger.
2.OverallDescription
2.1ProductPerspective
Theoriginoftheproductbeingspecifiedinthissoftwarerequirement
specificationisanewselfcontainedproduct.Theproductisnotacomponentof
anysystem.Thesystemisanopensourceandwebbasedmodelandprovides
aninterfacebetweentheHRandthecandidate.
2.2ProductFunctions
TheHRandcandidatesplaysamajorroleinthissoftwaredevelopment.
Thecandidatesshouldsubmittheirinformationdetailsforverification.
Verificationofthecandidatelisthasbeendone.
Theselectedcandidateshouldbecallfortheinterview.
HRinterviewedtheselectedcandidate.
Finallytheresultswereannounced.
Thisrecruitmentsystemwouldbeabletosearchforeligiblecandidates
andcompanywithrespecttotheirspecificationandrequirements.
Theeligiblecandidatewouldreceiveanemailincludingthedetailsof
companyrecruitmentprocedureanddetails.
2.3UserClassesandCharacteristics Candidate:
Newcandidateneedtosignupgivingcompletedetails.
11
Theycansubmitresumeandupdateprofileinformation.
Theycanregisterforaparticularcompany.
Administrator:
Adminprovidesapprovaltothecandidateandthecorporateregistration.
Adminisresponsibleformaintainingandupdatingthewholesystems.
Adminhasaresponsibilitytonotifythecompanyforanyapplicationfroma candidate.
Adminhastonotifythecandidatesregardinganychangesinthe procedureorselection.
Company:
Thecompanyhastonotifytheadminifanychangeintheirrecruitment method.
Thecompanymayshortlistthecandidateswhoappliedsendthe notificationtotheadmin
2.4OperatingEnvironment
2.5DesignandImplementationConstraints
Arecruitmentplanisastrategydesignedtostreamlinethehiringprocessesand
actasaguidelineforsourcing,qualifyingandinterviewingjobseekers.Itactsas
atimelineofeventsandactionstofindqualifiedapplicantswhileminimizing
12
downtimeforthecompany.TheproductisdevelopedusingHTMLandthe
backendisdevelopedusingSQL.Theproductisprovidedwithaloginfacilityso
thateachcandidatecanviewtheirdetails.Theinformationofallcandidatesmust
bestoredinadatabasewhichisconnectedtotheparticularcompanysystem
runningall24hrsaday.Thecandidateshouldhavetheircorrectusernameand
passwordtoentertherecruitmentsystem.
2.6Userdocumentation
Userdocumentationcomponentssuchasusermanualson-linehelpare
providedinthesystem.Asimplehowitworkspagewillbeincludedinpackage
staticpageformat.Theuserdocumentationreferstothedocumentationfora
productorserviceprovidedtotheendusers.Theuserdocumentationis
designedtoassistenduserstousetheproductorservice.Thisisoftenreferto
asuserassistants.Theuserdocumentationisthepartoftheoverallproduct
delivertothecustomer.Userdocumentationisimportantbecauseitprovidesa avenueforusestolearn:
1.howtouseyoursoftware
2.featuresofyoursoftware
3.Tipsandtricksofyoursoftware
4.Howtoresolvecommonproblemswithyoursoftware
Withoutuserdocumentationtheusermaynotknowhowtodotheabovethings.
2.7 AssumptionandDependencies
Weareassumingthattheusershouldhavesomebasicknowledgeof computer.
Candidatescanbefromanyfields.
Externalfactors:
13
Externalfactorsincludesocioeconomyfactors,supplyanddemandfactors, employmentrate,
labormarketcondition,marketcompetition,informationsystem.
Internalfactors:
Internalfactorsincludecompanypay’spackage,worktype,organization culture,carrierplanning
company’ssize,company’sproduct,company’s growthrate,costofrecruitment.
14
3.ExternalInterfaceRequirements
3.1UserInterfaces
Inuserinterfacetheuserusesittocreatetheirsignupaccount.Thecandidates
aresupposedtouploadtheirresumeinthispage.Incaseanyvacanciesinany
notificationwillbesendtotheadministrator.
3.2HardwareInterfaces
Theusercancommunicatethroughbrowserusingkeyboardanddisplaythrough
graphicalinterfacedisplayedonuser’sscreen.
3.3SoftwareInterfaces
Softwareinterfacesincludesthelanguagesthatareusedtocommunicatewith
eachother.Inthisrecruitmentmanagementsystemincludesoperatingsystem,
MacOS.Thefirewallwillbeusedtoprotectunauthorizedusertosignuporlogin tothesystem.
3.4CommunicationsInterfaces
Communicationinterfacesisusuallydesignedtocommunicateonemachinewith
anothermachine.Intherecruitmentmanagementsystemitisconnectedto
WorldWideWebforcommunicationinterface.Therequirementsassociatedwith
anycommunicationsfunctionsrequiredbythissystemincludingemail,web
browser,networkservercommunicationprotocol,electronicformsandsoon.
CommunicationstandardthatwillbeusedsuchaswwworHTTP.
4.SystemFeatures
Itprovidessearchingfeaturesbasedonvariouscompaniesvisitingthe campusforrecruitment.
Oncampusselectionprocessalsomanageonlinedetailsofcollege
15
students,companieswhicharevisitingthecolleges
Itmanagestheinformationofthecandidate.
Itshowstheinformationanddescriptionofthecompany.
Itincludesaddingandupdatingofrecordswhichresultsinproperresource management.
Thesystemshouldstorealltheinformationaboutthecandidateandthe organization.
Thesystemshouldallowadministratoroverfullauthorityofthesystem.
Thesystemshouldallowproviding,feedbackaboutthesystem.
5.OtherNonfunctionalRequirements
5.1PerformanceRequirements
Theperformanceofthissystemisbasedonreliabilitywhenthesystemisunder
load.Itisimportantthatasustainablenumberofcandidatesbeabletoaccess
thewebsites.Atleastmorethan100candidatesshouldbeabletologintothe websitesatthetime.
5.2SafetyRequirements
Varioussafetymeasuresaredevelopedinthissystemtomaintainthepersonal
detailsofthecandidates.
5.3SecurityRequirements
Anyonewhomeetsourbasicapplicationrequirementsisencouragedtoapply.
Securityofficertrainingisdeliveredthrougheffectiveonthejobtrainingand
monitoring.Itshouldbemadesurethatonlycandidatewhoisgivenspecific
rightscanaccessdataandallactionarelogged,thusprovidingandextensive
rolearebasedauthorization.
5.4Softwarequalityattributes
-Availability:
16
ThesoftwarewillbeavailableonlytoauthorizecandidatesoftheindustrylikeHR
touploadthecandidatedetails,candidatestoviewtheirdetailsuploaded.
-Maintainability:
Candidateinformationstoredinthedatabasewasmaintainedwithoutany backups.
-Portability:
ThissystemisdevelopedusingMYSQLsoitisplatformindependentandis
independentofoperatingsystem.
6.Appendix:Glossary
Candidate
Thecandidateisanactorwhoappliedforthejobvacancy.Ifhe/she
selectedthenhrdepartmentsendstheinterviewcallletter.
HR
HRisanactorwhoinformsaboutthevacancyoftheorganization.HR recruitsthecandidates
basedontherequiredskillsforthevacantpositionandshortlistthem. Organization
Organizationisanactorwhoannouncedtheadvertisementforthe vacancy.
HTTP
HyperTextTransferProtocolisagenericandstatelessprotocolwhichcan
beusedforotherpurposesaswellusingextensionsofitsrequestmethods,
errorcodesandheaders.
17
HTML
HypertextMarkupLanguageisamarkuplanguageusedforcreatinga webpage.
MYSQL
MYSQLisfreeandopensourcesoftwareunderthetermsoftheGNUand
isalsoavailableunderavarietyofproprietarylicenses.
Platformindependent
Platformindependencemeansthatthesameprogramworksonany
platform(operatingsystems)withoutneedinganymodification.
Hiringprocess
Hiringprocessistheprocessofreviewingapplications,selectingtheright
candidatestointerview,testingcandidates,choosingbetweencandidates
tomakethehiringdecisions.
Authorization
Authorizationisthesecuritymechanismusedtodetermineuser/client
privilegesoraccesslevelsrelatedtosystemresourcesincludingcomputer
programs,files,services,dataandapplicationfeatures.
18
Expno:3
Date:
Identifyusecasesanddevelopusecasemodel
Usecasediagram:
A usecasediagram atitssimplestisarepresentationofauser'sinteractionwith
thesystemthatshowstherelationshipbetweentheuserandthedifferent use cases
inwhichtheuserisinvolved.Ausecasediagramcanidentifythedifferent
typesofusersofasystemandthedifferentusecasesandwilloftenbe
accompaniedbyothertypesofdiagramsaswell.Theusecasesarerepresented
byeithercirclesorellipses.
PurposeofUseCaseDiagrams
Thepurposeofusecasediagramistocapturethedynamicaspectofasystem.
However,thisdefinitionistoogenerictodescribethepurpose,asotherfour
diagrams(activity,sequence,collaboration,andStatechart)alsohavethesame purpose.
BasicUseCaseDiagramSymbolsandNotations
System
Drawyoursystem'sboundariesusingarectanglethatcontainsusecases.Place
actorsoutsidethesystem'sboundaries.
UseCase:
Drawusecasesusingovals.Labeltheovalswithverbsthatrepresentthe system'sfunctions
19
Actors
Actorsaretheusersofasystem.Whenonesystemistheactorofanother
system,labeltheactorsystemwiththeactorstereotype.
Relationships
Illustraterelationshipsbetweenanactorandausecasewithasimpleline.For
relationshipsamongusecases,usearrowslabeledeither"uses"or"extends."A
"uses"relationshipindicatesthatoneusecaseisneededbyanotherinorderto
performatask.An"extends"relationshipindicatesalternativeoptionsundera certainusecase.
UsecaseDiagram:
20
Usecasemodelling:
Verifythecandidateprofile:
Briefformat:
21
Theorganisationannouncedabouttheinterviewintheirwebpage.The
candidatewhoarewishingtoapplyforthisjobmustcreateaprofilewhich
containsthefollowingdetailsofcandidate(i.e)nameofthecandidate
qualification,age,areaofinterestandinwhichdomaintheyareverywellversed
initetcandtheyhavetoregistertheiraccount.Thereforetheprofileisverifiedby
theadminwhetherthegiveninformationordetailsofthegiveninformationor
detailsofthecandidatearetruetotheirknowledge.Thecandidatequalification
shouldbevalidtothisjobwhichareverifiedbytheadminoftheorganisation
.thustheprocessofverificationisdone.
Casualformat:
Profilemanagementcontainsthepersonalinformationandacademicdetailsof
thecandidate.Thefailurescenariooftheverificationprocessincludesthatthe
qualificationofthecandidateshouldbevalidtothejobofferedbythe
organisation.Theacademicdetailsofthecandidatemaybewrongorsomeother
detailsofthecandidatemaybeinvalid.Inthiscaseofinvaliddetailsofthe
candidate,theapplicantmayberejectedduetothisreason.Inordertoavoidthis,
thecandidateshouldgivethecorrectinformationdetailsabouttheirqualification
andpersonalinformation.Bythis,theadminoftheorganisationcanbeableto selecttheapplicant.
Fullydressed:
Usecasename Verifythecandidateprofile
Goal Toverifytheinformationordetailsof
thecandidate.
Level Verificationprocess.
22
Primaryactor Candidate,HR
Stackholders HR,candidate,admin
precondition Theinformationordetailsofthe
candidategivenintheprofileshouldbe true.
Secondaryactor Admin
Failurescenario Theinformationgivenbythecandidate
maybewrongorinvalid
Alternativescenario Thecandidateshouldhavemore
concernedandgivetheproperdetails
fortheverification.
Specialrequirement Thecandidateshouldgivetheclear
andprecisedetailabouttheirpersonal
andacademicdetails.
Selectionprocess:
Briefformat:
Theshortlistedapplicantswerecalledforattendingainterview.Theadminofthe
organisationmailedtheinformationdetailsabouttheinterview.Theselectionof
thecandidatemaybetakesplacesbytwoprocess.Theoneisonlinetestandthe
23
otherisattendinginterview.Onlinetestmayreducethetime.
Casualformat:
Theselectionprocessmaybetakesplacebytwomethodsonlinetestand
interview.Itcontainscertaintechnicalandnontechnicalrounds.Itcantakes
moretimeforselectingthecandidate.Itcanbeovercomebytheonlinetest
whichmaybeconductedinthecomputerandthecandidatetakepartitfrom
theirplacesandnoneedtothecompanyanditreducesthetimedelay.
Fullydressed:
Usecasename Selectionofthecandidate.
goal Toselecttheequippedcandidatefor
theirorganisation.
Stackholders HR,candidateandadmin.
Primaryactor HRandthecandidate.
precondition Selectionprocessmaybetakesplace
byeitheronlinetestoraninterview
Failurescenario Theselectionofcandidatemaybe
takesplacebyeitheronlinetestor
attendingainterview.Theselection
processcontainsmoretechnicaland
nontechnicalroundtheinterview
methodtakesmoretimeforthe
selectionprocess.
Alternativescenario Onlinetestreducestimeandeasyfor
selectingthecandidate.
level Selectthecandidate
Secondaryactor Admin
Specialrequirement Morenumberofcandidatescanbe
takepartinsametimetoreducethe
timedelayanditiseasyforthe selectionprocess.
Login:
Briefformat:
Theloginpagecanbeusedbythecandidateandtheadmin.Inloginpage,the
usernameandthepasswordshouldbeusedandthepagewillbeopened
successfully.Moreuserscanusetheloginpageatthesametime.Thislogin
pageisalsousedforauthenticationsothatnootherinvalidusercanusethis information.
Casualformat:
Theloginpagecanusedbymanypeople,thepagehasusernameandpassword.
Incase,thepasswordisincorrectforgetitdisplaysinvalid.Ifthecandidate
forgetsthepasswordwecangiveforgetpasswordandchangethepassword.
Fullydressed:
25
Stakeholders Admin,HRandcandidate.
Precondition Theloginpagemustopen.
Mainsuccessscenario Iftheusernameandpasswordisvalid
itmustbeopen.
Failurescenario Ifthecandidategivesthewrong
usernameorpassword,itdisplays invalid.
Alternativescenario Thecandidateshouldtheusername
andthepasswordcorrectly.
Secondaryactor Admin
Specialrequirement Providemoreauthentications.
Usecasename Login
Goal Applyforjob.
Level Applyingforjob.
Primaryactor CandidateandHR.
,
26
Expno:4 Identifyconceptualclassesanddevelopthedomain
modelwithUMLclassdiagram
Date:
Classdiagram:
Classdiagramisastaticdiagram.Itrepresentsthestaticviewofanapplication.
Classdiagramisnotonlyusedforvisualizing,describing,anddocumenting
differentaspectsofasystembutalsoforconstructingexecutablecodeofthe softwareapplication.
Classdiagramdescribestheattributesandoperationsofaclassandalsothe
constraintsimposedonthesystem.Theclassdiagramsarewidelyusedinthe
modelingofobjectorientedsystemsbecausetheyaretheonlyUMLdiagrams,
whichcanbemappeddirectlywithobject-orientedlanguages.
Classdiagram showsacollectionofclasses,interfaces,associations,
collaborations,andconstraints.Itisalsoknownasastructuraldiagram.
PurposeofClassDiagrams:
Analysisanddesignofthestaticviewofanapplication.
Describeresponsibilitiesofasystem.
Baseforcomponentanddeploymentdiagrams.
Forwardandreverseengineering.
Members:
UMLprovidesmechanismstorepresentclassmembers,suchasattributesand
methods,andadditionalinformationaboutthem.
Visibility:
Tospecifythevisibilityofaclassmember(i.e.anyattributeormethod),these
notationsmustbeplacedbeforethemember'sname.
+ Public
-Private
# Protected
27
~ Package
Derivedproperty:
Isapropertywhichvalue(orvalues)isproducedorcomputedfromother
information,forexample,byusingvaluesofotherproperties.
Derivedpropertyisshownwithitsnameprecededbyaforwardslash'/'.
Scope:
o Attributevaluesareequalforallinstances o
Methodinvocationdoesnotaffecttheclassifer’sstate Instancemembers
arescopedtoaspecificinstance.
o Attributevaluesmayvarybetweeninstances
o Methodinvocationmayaffecttheinstance’sstate(i.e.change instance’sattributes)
Toindicateaclassifierscopeforamember,itsnamemustbeunderlined.
Otherwise,instancescopeisassumedbydefault.
Relationships
28
ClassNotation:
• Thetopsectionisusedtonametheclass.
• Thesecondoneisusedtoshowtheattributesoftheclass.
• Thethirdsectionisusedtodescribetheoperationsperformedbytheclass.
Thefourthsectionisoptionaltoshowanyadditionalcomponents.
Classesareusedtorepresentobjects.Objectscanbeanythinghaving propertiesandresponsibility.
ObjectNotation:
It isrepresentedinthesamewayastheclass.Theonlydifferenceisthename
whichisunderlinedasshowninthefollowingfigure.
Astheobjectisanactualimplementationofaclass,whichisknownasthe
instanceofaclass.Hence,ithasthesameusageastheclass.
29
Domainmodel:
30
Classdiagram:
TheclassdiagramconsistsofsixclassesnamelyCandidate,Job,Portal,Admin,
HR,Result.Theassociationoftheclassaregivenaccordingtohowtheclasses
areassociatedtootherclasses.(i.e)theassociationarespecifiedwithaname
andthetypeofassociationswhether,onetoone,onetomany,manytooneor manytomany.
Expno:5 Usingidentifiedscenariosfindinteractionbetweenobjects
andrepresentthemusingUMLsequencediagram:
Date:
Sequencediagram:
Asequencediagramsimplydepictsinteractionbetweenobjectsinasequential
orderi.e.theorderinwhichtheseinteractionstakeplace.Wecanalsousethe
31
termseventdiagramsoreventscenariostorefertoasequencediagram.
Sequencediagramsdescribehowandinwhatordertheobjectsinasystem
function.Thesediagramsarewidelyusedbybusinessmenandsoftware
developerstodocumentandunderstandrequirementsfornewandexisting systems.
SequenceDiagramNotations:
1.Actors– AnactorinaUMLdiagramrepresentsatypeofrolewhereitinteracts
withthesystemanditsobjects.Itisimportanttonoteherethatanactorisalways
outsidethescopeofthesystemweaimtomodelusingtheUMLdiagram.
1.Weuseactorstodepictvariousrolesincludinghumanusersandother
externalsubjects.WerepresentanactorinaUMLdiagramusingastick
personnotation.Wecanhavemultipleactorsinasequencediagram. Forexample–
Heretheuserinseatreservationsystemisshownasan
actorwhereitexistsoutsidethesystemandisnotapartofthesystem.
32
Figure– anactorinteractingwithaseatreservationsystem
Lifelines– Alifelineisanamedelementwhichdepictsanindividual
participantinasequencediagram.Sobasicallyeachinstanceinasequence
diagramisrepresentedbyalifeline.Lifelineelementsarelocatedatthetop
inasequencediagram.ThestandardinUMLfornamingalifelinefollowsthe followingformat–
InstanceName:ClassName
33
Figure– lifeline
Wedisplayalifelineinarectanglecalledheadwithitsnameandtype.The
headislocatedontopofaverticaldashedline(referredtoasthestem)as
shownabove.Ifwewanttomodelanunnamedinstance,wefollowthe
samepatternexceptnowtheportionoflifeline’snameisleftblank.
Differencebetweenalifelineandanactor– Alifelinealwaysportraysan
objectinternaltothesystemwhereasactorsareusedtodepictobjects
externaltothesystem.Thefollowingisanexampleofasequencediagram:
Figure– asequencediagram
Messages– Communicationbetweenobjectsisdepictedusingmessages.
Themessagesappearinasequentialorderonthelifeline.Werepresent
messagesusingarrows.Lifelinesandmessagesformthecoreofa sequencediagram.
Messagescanbebroadlyclassifiedintothefollowing categories :
34
Figure– asequencediagramwithdifferenttypesofmessages
1.Synchronousmessages– Asynchronousmessagewaitsforareply
beforetheinteractioncanmoveforward.Thesenderwaitsuntilthereceiver
hascompletedtheprocessingofthemessage.Thecallercontinuesonly
whenitknowsthatthereceiverhasprocessedthepreviousmessagei.e.it
receivesareplymessage.Alargenumberofcallsinobjectoriented
programmingaresynchronous.Weuseasolidarrowheadtorepresenta
synchronousmessage.
Figure– asequencediagramusingasynchronousmessage
2.AsynchronousMessages– Anasynchronousmessagedoesnotwaitfora replyfromthe
receiver.Theinteractionmovesforwardirrespectiveofthe
receiverprocessingthepreviousmessageornot.Weusealinedarrowheadto
representanasynchronousmessage.
35
Createmessage– WeuseaCreatemessagetoinstantiateanewobjectinthe
sequencediagram.Therearesituationswhenaparticularmessagecallrequires
thecreationofanobject.Itisrepresentedwithadottedarrowandcreateword
labelledonittospecifythatitisthecreateMessagesymbol.
Forexample–Thecreationofaneworderonae-commercewebsitewould
requireanewobjectofOrderclasstobecreated.
Figure– asituationwherecreatemessageisused
DeleteMessage– WeuseaDeleteMessagetodeleteanobject.Whenan
objectisdeallocatedmemoryorisdestroyedwithinthesystemweusetheDelete
Messagesymbol.Itdestroystheoccurrenceoftheobjectinthesystem.Itis
representedbyanarrowterminatingwithax.
Forexample–Inthescenariobelowwhentheorderisreceivedbytheuser,the
objectoforderclasscanbedestroyed.
Figure– ascenariowheredeletemessageisused
SelfMessage– Certainscenariosmightarisewheretheobjectneedstosenda
messagetoitself.SuchmessagesarecalledSelfMessagesandarerepresented withaUshapedarrow.
36
Figure– selfmessage
Forexample–Considerascenariowherethedevicewantstoaccessits
webcam.Suchascenarioisrepresentedusingaselfmessage.
Figure– ascenariowhereaselfmessageisused
• ReplyMessage– Replymessagesareusedtoshowthemessagebeing
sentfromthereceivertothesender.Werepresentareturn/replymessage
usinganopenarrowheadwithadottedline.Theinteractionmovesforward
onlywhenareplymessageissentbythereceiver.
37
Figure– ascenariowhereareplymessageisused
• FoundMessage– AFoundmessageisusedtorepresentascenariowhere
anunknownsourcesendsthemessage.Itisrepresentedusinganarrow
directedtowardsalifelinefromanendpoint.Forexample:Considerthe
scenarioofahardwarefailure.
38
Figure– foundmessage
Itcanbeduetomultiplereasonsandwearenotcertainastowhatcaused thehardwarefailure.
Figure– lostmessage
Thewarningmightbegeneratedfortheuserorothersoftware/objectthat
thelifelineisinterractingwith.Sincethedestinationisnotknownbefore
hand,weusetheLostMessagesymbol.
39
Guards– TomodelconditionsweuseguardsinUML.Theyareusedwhenwe
needtorestricttheflowofmessagesonthepretextofaconditionbeingmet.
Guardsplayanimportantroleinlettingsoftwaredevelopersknowtheconstraints
attachedtoasystemoraparticularprocess.Forexample:Inordertobeableto
withdrawcash,havingabalancegreaterthanzeroisaconditionthatmustbe metasshownbelow.
Usesofsequencediagrams:
• Usedtomodelandvisualisethelogicbehindasophisticatedfunction, operationorprocedure.
• TheyarealsousedtoshowdetailsofUMLusecasediagrams.
• Usedtounderstandthedetailedfunctionalityofcurrentorfuturesystems.
• Visualisehowmessagesandtasksmovebetweenobjectsorcomponentsin asystem.
SequenceDiagram:
Thecandidateloginstotheportal,sothecandidatemustgivethelogindetailsto the
portal.Theportalverifiesthepasswordandsendstheauthenticationto
thecandidate.Thecandidateappliesthejobtothecompanyandthecompany
conductsonlinetesttotheapplicant.Thecandidateattendstheonlinetestand
thecompanyshortlistedthecandidatebytheonlinetest.Thecompanycallfor
interview.ThecandidateattendstheinterviewtotheHRdirectly.TheHRmails
40
theinterviewdetailstothecompanyandthecompanyupdatetheresultson
portal.Thecandidatescancheckstheresultsontheportal.
41
Usesofsequencediagrams:
• Usedtomodelandvisualisethelogicbehindasophisticatedfunction, operationorprocedure.
• TheyarealsousedtoshowdetailsofUMLusecasediagrams.
• Usedtounderstandthedetailedfunctionalityofcurrentorfuturesystems.
• Visualisehowmessagesandtasksmovebetweenobjectsorcomponentsin asystem.
Expno:6
42
Date: Usingtheidentifiedscenarios,findtheinteraction
betweenobjectsandrepresentthem usingUML
Collaborationdiagram
Collaborationdiagram:
Acollaborationdiagram,alsoknownasacommunicationdiagram,isan
illustrationoftherelationshipsandinteractionsamong software objects inthe
UnifiedModelingLanguage(UML).Thesediagramscanbeusedtoportraythe
dynamicbehaviorofaparticular usecase anddefinetheroleofeachobject.
Collaborationdiagramsarecreatedbyfirstidentifyingthestructuralelements
requiredtocarryoutthefunctionalityofaninteraction.Amodelisthenbuiltusing
therelationshipsbetweenthoseelements.Severalvendorsoffersoftwarefor
creatingandeditingcollaborationdiagrams.
Notationsofacollaborationdiagram:
1.Objects-Objectsareshownasrectangleswithnaminglabelsinside.The
naminglabelfollowstheconventionofobjectname: classname.Ifanobject
hasapropertyorstatethatspecificallyinfluencesthecollaboration,this shouldalsobenoted.
2.Actors-Actorsareinstancesthatinvoketheinteractioninthediagram.Each
actorhasanameandarole,withoneactorinitiatingtheentireusecase.
3.Links-Linksconnectobjectswithactorsandaredepictedusingasolidline
betweentwoelements.Eachlinkisaninstancewheremessagescanbesent.
4.Messages-Messagesbetweenobjectsareshownasalabeledarrowplaced
nearalink.Thesemessagesarecommunicationsbetweenobjectsthat
conveyinformationabouttheactivityandcanincludethesequencenumber.
Themostimportantobjectsareplacedinthecenterofthediagram,withallother
participatingobjectsbranchingoff.Afterallobjectsareplaced,linksand
messagesshouldbeaddedinbetween.
43
Expno:7
Date:
Drawrelevantstatechartsandactivitydiagrams
Activitydiagram:
Activity diagram describe activities which involve concurrency and
synchronization,whichareavariationofstatediagramsthatfocusesontheflow
ofactionsandevents.Theycanbeusedfor:
• Tomodelahumantask(abusinessprocess,forinstance).
• Todescribeasystemfunctionthatisrepresentedbyausecase.
• Inoperationspecifications,todescribethelogicofanoperation.
44
Activitydiagram:
TheactivitydiagramconsistsofthreeswimlanesnamelyPortal,candidate,HR.
Thecandidateloginstotheportal,sothecandidatemustgivethelogindetailsto
theportal.Theportalverifiesthepasswordandsendstheauthenticationtothe
candidate.Thecandidateappliesthejobtothecompanyandthecompany
conductsonlinetesttotheapplicant.Thecandidateattendstheonlinetestand
thecompanyshortlistedthecandidatebytheonlinetest.Thecompanycallfor
interview.ThecandidateattendstheinterviewtotheHRdirectly.TheHRmails
theinterviewdetailstothecompanyandthecompanyupdatetheresultson
portal.Thecandidatescancheckstheresultsontheportal.
45
StateMachineDiagram:
AstatemachineDiagram(orstartdiagram,alsocalledstatechartofstate
transitiondiagram)isabehavior whichspecifiesthesequence ofstatesan entity(orobject)visits
duringitslifetimeinresponse toevents,togetherwith its responsestothoseevents.
46
Keyconcepts: State
• States(simplestatesorcompositestates)
• Statetransitionsconnectingthestates Example:
InitialandFinalStates:
• The initialstate
ofastatemachinediagram,knownasaninitialpseudostate,isindicatedwithasolidcircle.Atra
nsitionfromthisstatewillshow thefirstrealstate
• The finalstate ofastatemachinediagramisshownasconcentriccircles.
Anopenloopstatemachinerepresentsanobjectthatmayterminate
beforethesystemterminates,whileaclosedloopstatemachinediagram
doesnothaveafinalstate;ifitisthecase,thentheobjectlivesuntilthe
entiresystemterminates.
Statechartdiagram:
47
Expno:8 Implementthesystemasperthedetaildesign
Date:
Classname:Candidate
importjava.util.Vector;
48
publicclassCandidate{
publicStringname;
publicStringemail;
publicintcontact;
publicVectorsearch;
publicVectorselects; publicVectorshortlist;
publicVectorregister;
privatevoiduploadResume(){
publicvoidsearchJob(){
publicvoidapplyJob(){
}
49
publicvoidgetcandidateinformation(){
publicvoidupdatecandidateinformation(){
}
Classname:Admin
importjava.util.Vector;
publicclassAdmin{
publicStringname;
publicStringemail;
publicVectorshortlist; publicVectorview;
publicHRsenddetails;
publicvoidviewcandidate(){
}
50
publicvoidmanageinterview(){
}
Classname:HR
importjava.util.Vector;
publicclassHR{
publicStringname;
publicStringemail;
publicVectormyJob;
publicVectorselects; publicVectorcreate;
publicAdminsenddetails; publicVectorannounces;
publicvoidselect(){
publicvoidreject(){
51
}
publicvoidsendresult(){
publicvoidviewnotification(){
Classname:Job
importjava.util.Vector;
publicclassJob{
publicStringjobname;
publicStringjobDescription; publicVectorsearch;
publicVectormyHR; publicVectorcreate;
publicVectordescribes; publicvoidgetJoblist(){
}
52
publicvoidupdateJoblist(){
Classname:Portal
importjava.util.Vector;
publicclassPortal{
publicStringname;
publicStringaddress;
publicStringqualification; publicVectorregister;
publicVectordescribes; publicAdminview;
publicvoidgetdetails(){
}
53
publicvoidstore(){
Classname:Result
importjava.util.Vector;
publicclassResult{
publicStringname;
publicStringemail;
publicVectorannounces; publicvoidviewresult(){
}
Expno:9
54
Date: Testthesoftwaresystemforallthescenariosidentifiedas
pertheusecasediagram.
Packagejjj;
Importjava.util.Vector;
publicclassPortal{ publicStringname;
publicStringaddress;
publicStringqualification;
publicStringgetdetails(Stringin){
return“false”;
} Testthesoftwaresystemforallthescenariosidentifiedaspertheusecase diagram:
55
56
Expno:10 Improvereusabilityandmaintainabilityofthesoftwaresystem
byapplyingappropriatedesignpattern
Date:
Forillustrationpurposeabstractfactorypatternisusedtodescribetheproposedmethod.
Abstractfactorypatternknownasacreationalpattern,providesamethodto
encapsulateagroupofindividualfactoriesthathaveafamiliarthemewithoutspecifying
theirconcreteclasses.Inusualcase,theclientsoftwarecreateaconcrete
implementationoftheabstractfactorythenusinggenericinterfaceofthefactoryto
createtheconcreteobjectswhichispartofthetheme.Theclientdoesn‟tknowwhich
concreteobjectsgetsfromalloftheseinternalfactories,sinceitusesonlythegeneric
interfacesoftheirproducts.Abstractproductsdescribeinterfaceforeverydifferent
productsofasingleproductfamily.Concreteproductsimplementtheabstractproduct
interfacewhichisreturnedbycreationalmethodsofconcretefactories.Abstractfactory
definestheinterfaceforcreatingproductswhichiscommontoallconcretefactories.
Concretefactoriesimplementcreationalmethodsoftheabstractfactoryandeach
concretefactoryshouldcorrespondtoaspecificproductsvariantasshowninFigure.
Figure:DesignPattern-AbstractFactory
Purposeofabstractfactorydesignpatternistoprovideaninterfaceforcreatingfamilies
ofrelatedobjectswithoutspecifyingconcreteclasses.ThefollowingFigure()showsthe
exampleofabstractfactorydesignpatternforuserloginwheretwoconcretefactoryand
concreteproductusedforexecution.
57
Figure :
AbstractFactoryDesignPatternforUserLogin
Usingproposedmethoddesignpatternasseswhererequirementiswelldocumented
andfixedwhichisusedasinput.Asstep1firstlyidentifythedesignproblemusing
alternativedesignsolutionsfromliteratureandexperience,andsolveusingabstract
factorydesignpattern.Instep2maintainability,reusability,understandability,flexibility,
composability,completeness,stability,simplicity,andexpandabilityareselectedas
designobjective.Usingstep3appropriatesolutionisselectedasstep4(tool)andstep5
(mathematicalformation).Instep4maintainability,reusability,understandability,and
flexibilityarecalculatedusingperceronsdesignpatternadvisortool.Instep5
composability,completeness,stability,simplicity,andexpandabilityaremeasuredusing
mathematicalformation.Instep6,combinestep4and5outputtogetrequiredquality
product.Assessmentoftheseninequalityattributesarediscussedas:
Maintainability:Useofadesignpatternessentiallycomplicatesdesigntousuallyadd
abstractclassesandadditionalassociationstoemployadesignpattern.Thekey
advantageofusingdesignpatternisthattheresultingsoftwareshouldbeeasiertoadapt,
tomodifyfewerclasses,toaddfunctionalitytosoftware.So,maintenanceClient
AbstractFactory+doAction1:void+doAction2:voidAbstractProduct+doAction:void
AbstractFactory concreteProduct1 concreteProduct2 concreteFactory1
concreteProduct1:AdminconcreteProduct2:UserconcreteProduct1+doAction:void
concreteFactory2concreteProduct1:AdminconcreteProduct2:UserconcreteProduct2
+doAction:void95programmersshouldhavetouselessefforttoadaptthesechanges.
Everyintroducedpatterncausedanimprovementindifferentqualityattributes.
58
Reusability:Designpatternsarereusablemicroarchitecturesthataddtooverallsoftware
architecture.Designpatternsdetainstaticanddynamicstructureandcollaborationsof
componentsinsuccessfulsolutionstoproblemsthatoccurwhendevelopingsoftware
likebusinessdataprocessing,databases,graphicaluserinterfaces,telecommunications,
anddistributedcommunicationsoftware.Patterns96helpdevelopmentofreusable
componentsandframeworksbyusingstructureandcollaborationofparticipantsin
softwarearchitectureatalevelhigherthansourcecodeandobjectorienteddesign
modelsthatfocusonindividualobjectsandclasses.Thus,patternsfacilitatereuseof
softwarearchitecture,evenwhenadditionalformsofreuseareinfeasible.Anempirical
investigationonreusabilityofdesignpatternsandsoftwarepackages,attemptsto
empiricallyinvestigatereusabilityofdesignpatterns,classes,andsoftwarepackagesto
identifythemostbeneficialstartingpointsforwhiteboxreuse,whichisprettypopular amongOSS.
Conclusion:
Therecruitmentsystemallowsthejobseekerstoviewthejobandthe
organisationshortlisttheapplicationfortheinterview.Theshortlistedapplication
undergoaprocessoftestandinterview.Itisusedto reducesthetime
consumptionforthejobseekerandorganisation.
FOREIGN
TRADING
SYSTEM
10
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 use cases 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.
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 State chart) 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.
11
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.
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.
12
If the customer order the products, then based on that amount ,the
transaction in card will be perform, customer’ s bank account is greater than the
minimum balance ,then customer can perform transaction ,if customer wish to cancel
the products, then the amount will be refund to the customer’ s account
Casual:
Success scenario:
The transaction is done successfully and the products are delivered to
customer’ s address.
Failure scenario:
If transaction was failed, then the product will not deliver to customer’ s
address.
Fully Dressed:
Use case Name Transaction
Goal To sell products
Brief:
If the user id and password are correct ,customer can view the products.
Casual:
Success scenario:
Customer must want to login into their account and view the products.
Failure scenario:
If the user id and password are incorrect , customer can’ t view the products.
Fully Dressed:
Use case Name View products
Goal To sell products
You can order any products, which you are like and perform transaction using credit
card or online payment.
Casual:
Success scenario:
The customer can login and order any products to their address.
Failure scenario:
If the user id and password are incorrect, they can't order any products.
Fully dressed:
Use case Name Order products
Goal To sell products
Level To sell any products
Primary actor Customer.
Secondary actor Organization.
Stack holders Organization, customer.
Pre-conditions Login into your account.
Ex.No:4
16
Domain model:
Steps to create a domain model:
1. Find conceptual classes.
Category list:
1.Business transaction: Transaction.
2.Transaction item: Transaction line items.
3.Product or service Credit card or debit card.
Related to transaction:
4. Where the transaction recorded: Database
5. Role of people or organization related to Customer, bank, organization.
transaction:
6.Place of transaction: Online
7.Noteworthy events: Purchase product, payment.
17
NOUNS:
• Customer
• Payment
• Credit card
• organization
• Bank
• cart
• Product
• Credit limit
• database
• account
18
• transaction
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.
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
19
~ Package
Derived property:
It Is a property which value (or values) is produced or computed from other information, for
example, by using values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
Scope:
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.
Class Notation:
UML class is represented by the following figure. The diagram is divided into four parts.
20
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
Classes:
1. Customer
• user_id: String
• password: String
2. Customer_details
23
• Name: String
• Address: String
• Phno: Integer
3. Products
• Productname: String
• Product_id: Integer
• Amount: Integer
4. Transaction
• T_password: String
• T_user_id: String
• Amount: Integer
5. Bill
• Product_name: String
• Amount: Integer
• Tax: Integer
• Total: Integer
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.
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.
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.
25
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
26
Figure – lifeline
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.
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.
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.
29
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 labelled 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.
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.
For example – Consider a scenario where the device wants to access its webcam. Such a
scenario is represented using a self message.
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.
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 visualise 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.
Visualise how messages and tasks move between objects or components in a system.
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 case and define
the role of each object.
36
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 behavior of
individual objects as well as the overall operation of the system in real time. The four major components
of a collaboration diagram are:
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.
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.
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.
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 center of the diagram, with all other participating objects
branching off. After all objects are placed, links and messages should be added in between.
37
38
Flow of messages:
• Customer can login into the website.
• The transaction is done after checking whether the credit limit is greater than the amount
• Successful transaction sends a notification to the customer and the details are updated in
database
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
The activity diagram consists of three swim lanes namely customer, organization and bank.
First Customer must want to login into the website, then Customer can view the products and
customer can add the items into their cart and customer can perform transaction. The transaction
is done after checking whether the credit limit is greater than the amount, if it is a Successful
42
transaction, then it sends a notification to the customer and the details are updated in database,
after that Customer gets their products, then customer can also return or cancel their products and
the amount are refund to their account.
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.
States:
❖ Login
❖ View_products
❖ Add to cart
❖ Cancel products
❖ Order product
❖ Transaction
❖ Payment
❖ Check and pack product
❖ Deliver to customer's address
44
Ex.No:8
IMPLEMENT SYSTEM AS PER DETAILED
Date: DESIGN
}
45
import java.util.Vector;
}
46
import java.util.Vector;
import java.util.Vector;
}
50
Ex.No:9
TEST SOFTWARE SYSTEM FOR ALL SYSTEM
Date: AS PER USE CASES
51
52
Ex.No:10
Improve the reusability and maintainability of the
software system by applying appropriate design
Date: patterns.
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.
Maintainability:
55
Reusability:
CONCLUSION:
Thus using the Foreign trading system, we can easily exchange the goods and
services across international borders and we can easily purchase any products through out
the world and the main benefit is, we can easily return the products and the amount will
be refund immediately, because of the direct dealers the amount is less, when compared
to the shop, by using this system we can also save the time and money.
CONFERENCE
MANAGEMENT
SYSTEM
1
Date:
AIM
To develop a problem statement for the Conference Management System.
PROBLEM STATEMENT
Table of Contents
Revision History
Name Date Reason For Changes Version
4
1. Introduction
1.1 Purpose
The main purpose of the conference management system document is to build a web-
based software for meeting, site selection, email marketing, event management and online event
registration.
1.2Document Conventions
Developers can review the project capabilities more easily and understand the efforts
targeted to improve (or) add more features to it. End users of this application who wish to can
read this project.
• This software is mainly used for conducting and managing the conference in efficient
manner.
• The main goal is to reduce the work of the organizers.
1.5 References
Links: https://en.wikipedia.org/wiki/Conference_management
2. Overall Description
2.1 Product Perspective
1. Organizer/Client
2. Registration
→Select the event whatever client/organizer wants.
3. Submission
→Submit the presentation with the selected topic/event according to the given abstract.
4. Shortlist
5. Pre-Notifications
6. Payments
7. Post-Notification
The user of this software is an organizer. They are uses this software to provide an event details
to the client users. The organizer act as the administrator for the event and they handle all the
other requirements.
This software runs on Mozilla Firefox, Google chrome and Safari web browsers only.
Time limit is given to the organizer by system. If times goes long then pay per use.
The organization and client must have basic knowledge of computers and English Language.
Provide privacy and security for the organizer and client information
6
This requirement will come along with a basic user interface tool with GUI along with
simple and easy to navigate icons thus avoiding any complexity which may not be understandable
for novice users. The interfacing will contain arrow marks, text boxes and some different shaped
boxes reduce complexity.
a) Server side
The web application will be hosted on a web server which is listening on the web
standard port, port 80.
b) Client side
➢ Monitor screen – the software shall display information to the user via the
monitor screen.
➢ Mouse – the software shall interact with the movement of the mouse and the
mouse buttons. The mouse shall activate areas for data input, command buttons
and select options from menus.
➢ Keyboard – the software shall interact with the keystrokes of the keyboard. The
keyboard will input data into the active area of the database.
a) Server side :- An Node.js server will accept all requests from the client and forward it
accordingly. A database will be hosted centrally using MongoDB.
b) Client side :- An OS which is capable of running a modern web browser which supports
JavaScript and HTML5 , CSS3 and Front-End Framework Bootstrap 4 and Library React.
The HTPP or HTTPS protocol(s) will be used to facilitate communication between the
client and server.
7
4. System Features
Mandatory features:
Periodical announcements
Conference Requests
Registration
G-mail Field: Users will need to put their g-mail addresses in this field. G-mail address is
used for identification of a user.
Password Field: Users will need to put their passwords in this field. User will be able
to change their passwords after logging in.
8
REQ-01: Server should check if the e-mail and password entered by the user are valid
or not.
1. Name of event
2. Description
3. Start Time
4. End Time
5. Date
6. Conference rooms
Send Request: User will send his/her request to the server by clicking "Request
Conference" button after filling in the required fields.
Description
➢ This feature will include sending remainders to all users of a conference about
their responsibilities and conference details. This process will be done by emails
periodically sent to users. Conference administrator will be able to manage time
intervals of remainders.
➢ This is can be done by using SMTP protocol. SMTP is part of the application of
a TCP/IP protocol. Using a process called “store and forward”, SMTP moves your
email on and across networks. SMTP provides a set of codes that simplify the
communication of email messages between email servers. SMTP is able to transfer
only text – it isn’t able to handle fonts, graphics, attachments, Etc.
➢ Our Internet Service Providers typically have a limit to the no.of.emails we can
sent over a certain amount of time. The Email limit varies by ISP. For example, the
typical Cable Internet customer is limited to 1,000 emails per day.(Their business
customers have a limit of 24,000 emails daily.) Verizon and AT&T do it differently,
They put a limit of 100 on the no.of.recipients you can have on one sent email.
9
Description
The system should be able to determine the conference rooms and schedule the
presentations using the information provided by conference administrator while filling in the
conference request form. This process will be done automatically. Scheduling process consists of
the following:
Conference Rooms Panel: User will need to give information about number and capacity
of the rooms.
Conference Time Panel: User will need to give information about time requirements of
conferences.
This is the process which will announce all the updates and details about conference.
Conference admin will be able to make announcements for their conferences. Web Page
Announcements consist of the following:
➢ My Conferences Page: A user will be able to view all conferences that he/she is
participating in this page.
➢ A user will be able to create and manage multiple conferences. Each conference
will have its own page for participants and other necessities.
➢ My Conference Page: A user will be able to view the conferences he/she created
using this page. On this page, by simply clicking on “view conference” link under
one of the conferences, he/she will be redirected to that conference’s page and will
be able to edit and view its components.
➢ Request New Conference: A user will be able to create a new conference simply
by clicking “Request New Conference” link on My conference Page. After putting
in the necessary information, the conference will be launched and ready to view.
REQ-1: All users will be able to create and manage their own conferences by
subscription method.
10
Performance of the system depends on the response time and the speed of the data
submission. The response time of the system is direct and the application is considered real-time.
System should have a fast response time, which depends on the efficiency of implemented
algorithm. The first version of the system will have a limited file submission speed, that is why
there will be no need for large network. However, it may grow up depending on the increase in
usage.
• If Web forms with the services processing form input are consistent,
• Statically safe binding of the code of session operations to variables defined with
session scope.
For security of the system the technique known as database replication should be used so
that all the important data should be kept safe. In case of crash, the system should be able to
backup and recover the data.
The system will have a simple and user friendly graphical interface. Users will be able to
understand and use all the features of the website easily. Any action will be performed with just
a few clicks.
➢ The GPL is a free software license, and therefore it permits people to use and even
redistribute the software without being required to pay anyone a fee for doing so.
➢ The freedom to study how the program works, and adapt it to your needs.
➢ The freedom to improve the program, and release your improvements to the public,
so that the whole community benefits. Access to the source code is a precondition
for this.
12
Appendix A: Glossary
• Node.js is an open source development platform for executing JavaScript code server-side.
• MongoDB is a cross-platform document-oriented database program. Classifies as a NoSQL
database program, MongoDB uses JSON-like documents with schema.
• CSS(Cascading Style Sheets) is a style sheet language used for describing the presentation
semantics(the look and formatting) of a document written in a markup language.
• HTML (HyperTextMarkup Language) is the main markup language for displaying web
pages and other information that can be displayed in a web browser.
• Bootstrap is an open source toolkit for developing with HTML,CSS and JS.
EX.NO:3
13
USE CASE
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.
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"
14
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.
USECASE DIAGRAM:
15
BRIEF FORMAT
The users in the conference management system should need to login to access the
service provided by the system. User need to enter the username and password to enter into the
site. Then only he/she are able to access the service.
CASUAL FORMAT
SUCCESS SCENARIO
In the login page of the site, the users enters the username and password, if the login
credentials is valid then the user can access the CMS service.The user can able to register for
any events available in the system.
ALTERNATE SCENARIO
If the entered user credentials is invalid, then the user cannot able to access the
services. So user must check the credentials again.
CONFERENCE REQUEST
16
BRIEF FORMAT
CASUAL FORMAT
SUCCESS SCENARIO
The user request the event then the organizer accept the request. The conference
requests contains the conference details the user can able to see the details.
ALTERNATE SCENARIO
If one event is unavailable then the user cant request the event. The user should be
wait for event to join. Else user can able to request the other events.
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 modelling of object oriented
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:
➢ Derived property is a property which value (or values) is produced or computed
from other information.Derived property is shown with its name preceded by a
forward slash '/'.
18
Scope:
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.
Attribute values are equal for all instanceso Method invocation does not affect the
classifier’s state
➢ Instance members are scoped to a specific instance.
Attribute values may vary between instanceso 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.
• The fourth section is optional to show any additional components.
19
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.
20
DOMAIN MODEL
CLASS DIAGRAM
The class diagram consists of four classes namely, User, Event Organizer, Payment,
System Administrator.
The Associations between the classes are as follows:
• One User view many event details.
• One Event Organizer generates many Events.
• One Administrator manages many Payments.
22
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.
23
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.
24
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:
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.
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 labelled on it to specify that it is the create Message
symbol.
For example – The creation of a new order on an e-commerce website would require a new
object of Order class to be created.
26
In the scenario below when the order is received by the user, 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.
For example – Consider a scenario where the device wants to access its webcam.
Such a scenario is represented using a self-message.
27
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.
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.
28
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.
29
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.
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.
30
SEQUENCE DIAGRAM
31
➢ The Users logins to the system by entering a valid ID and password then he will be able
to view events on successful login.
➢ The Event Organizer logins to the system and will be able to view user details and
generate events on a successful login
➢ The Payment generation process flow follows admin privileges to generate payments.
➢ The User will be able to view only after the payment is generated by the organizer.
32
COLLABORATION DIAGRAM:
A collaboration diagram resembles a flowchart that portrays the roles, functionality and
behaviour 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.
4. Messages- Messages between objects are shown as a labelled 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 center of the diagram, with all other participating
objects branching off. After all objects are placed, links and messages should be added in
between.
33
COLLABORATION DIAGRAM
34
ACTIVITY DIAGRAM:
ACTIVITY DIAGRAM
36
➢ The Activity diagram consists of four swim lanes, the user, organizer and the
admi , System and Bank.
➢ The initial process is done by the login of the user.
➢ The user may be the event organizer. In case of user being organizer, they can
view their event details and view their payment details.
➢ In case of the user being the User, he also must login and can view the event
details and also initiate the process of generating the payment and also view the
generated payment detail.
➢ The User can view the payment once generated.
A state machine Diagram (or start diagram, also called state chart of state transition
diagram) is a behavior 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:
STATECHART DIAGRAM
38
package kcube;
package kcube;
import java.util.Vector;
package kcube;
package kcube;
package kcube;
40
package kcube;
}
public void setUserNameAndPassword() {
}
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 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.
42
package kcube;
return name;
}
43
POSITIVE_OUTPUT
NEGATIVE_OUTPUT
44
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.
MAINTAINABILITY:
Use of a design pattern essentially complicates design to usually add an 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, intenance client Abstract Factory +doAction1:void +doAction2:void
AbstractProduct +doAction:void stractFactory 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 .
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.
CONCLUSION:
47
The Software Personnel Management System can help to manage the automation of
salary information based on how well an employee has worked during the business operation.
The system is designed to reduce the human labour and efficiently maintains the generation of
salary slip. The system maintains information on the employee in the company in order to
calculate the payroll. The system generates record and performance report of the employees.
BPO
MANAGEMENT
SYSTEM
1.Introduction
1.1Purpose
Thesoftwarerequirementspecificationdocumentcontainstheentiresoftware
requirementforBPOsystemandprovidesthefulldetailsabouttheBPOsystem.The
businessprocessoutsourcingsystemistheinterfacebetweenthecustomerand
5
employee.Itmainlyaimsatclarifyingthequeriesofthecustomer.Thesystemreduces
theworkofthecustomer;theycanclarifytheirdoubtsintheirplaceitself.
1.2DocumentConventions
Conventionfortitle
Fontsize:18
Fontstyle:bold
Fontface:Timesnewroman
Conventionofsubtitle
Fontsize:14
Fontstyle:Bold
Fontface:Time’snewroman
Conventionofbody
Fontface:Timesnewroman
1.3IntendedAudienceandReadingSuggestions
Thesoftwarerequirementspecificationdocumentisintendedfor,
Developer
Reader
Customer
Tester
Projectmanager
Distributer
Transportmanager
1.4ProductScope
Manycustomerscanbemanagedbythesystem.Securityisprovidedsounauthorized
personcannotaccessthedetailsaboutthecustomer.Thescopeofthesystemisto
clarifythequiresofthecustomer.Oneoftheadvantagesistimemanagementsowithin
thetimelimitmorenumberofqueriesfromthecustomercanbeclarified.
7
Muchnumberofcustomerscanclarifytheirdoubtsatthesametime.
1.5References
ThereferenceoftheSRSis,
IEEEsoftwarerequirementsystem
2.OverallDescription
2.1ProductPerspective
TheBPOsystemisactasinterfacebetweencustomerandemployee.this
systemtrytomakeaninterfaceassimpleaspossibleandthesametimenot
riskingthesecurityofthecustomerdata,thisminimizethetimedurationinwhich
thecustomerreceivestheclarificationofthequeries.
2.2ProductFunctions
Themainfunctionofthebusinessprocessoutsourcingistoclarifythequeriesofthe
customeranditallowsthecustomertobuytheproductintheirplaces.Thissystem
provideshighauthenticationinmaintainthecustomerdetails.
2.3UserClassesandCharacteristics
TheactorsinvolvedintheBPOsystemsarecustomerandemployee. Usecases:
Login
Postqueries
Queryclarification Login:
❖Getusernameandpassword
❖Entertheusernameinthesystem
❖Iftheloginidiscorrectquerieswillbeclarified
❖Elsetheywon’trespond Postqueries:
❖Logintotheaccount
❖Constructthevalidqueries
❖Postthequeries
❖Logouttheaccount
Queryclarification:
❖Entertheloginid
❖Ifitisvalidgotothepage
❖Readthequerieswhichthecustomerhasposted
❖Clarifythequeries
❖Posttheclarificationaboutthequeries
8
2.4OperatingEnvironment
❖Operatingenvironmentiswindows7for30bit/x86&64-bit/x64pc
❖TheprogramarebasedonGUI
❖Softwareisplatformindependent
❖Javaforcodingpurpose
2.5DesignandImplementationConstraints
❖TheBPOrequireacomputertosubmittheirinformation
❖Althoughthesecurityisgivenhighimportance,thereisalwaysachanceof
intrusioninthewebworldwebwhichrequiresconstantmonitoring
❖Theuserhastobecarefulwhilesubmittinginformationmuchcareisrequired.
2.6UserDocumentation
Theinputqueriesarecomparedwiththequeriesinthedatabase.Thesolutionforthe
inputqueriesisfounded.Thefinalresult,thereplytothecustomerqueryisobtainedby theend
2.7AssumptionsandDependencies
❖TheorganizationandclientmusthavebasicknowledgeofcomputerandEnglish language
❖Provideprivacyandsecurityforthedocumentandclientinformation
3.InterfaceRequirements
3.1UserInterfaces
Thissystemusedtoclarifythequeriesabouttheproduct.Thissystemprovides
detailedexplanationaccordingoftheproducttothecustomer.Therequirement
presentedinthesectiondescribestheinterfaceoftheBPOsystem.The
requirementsdonotassumeaparticularinterface.Howevertherequirements
aregroupedtothemainfeaturesasdefinedbytheusecaseprovidedbythe system
3.2HardwareInterfaces
❖TheBPOsystemserverisdirectlyconnectedtotheclientsystemviaftpthe
clientsystemhaveaccesstothedatabaseintheserver
9
3.3SoftwareInterfaces
❖Frontendclient-theexporteronlineinterfaceisbuiltusingJSP&HTML
❖Webserver-apachetomcatserver(oraclecorporation)
❖Backend-oracle11gdatabase
❖Thedatabaseserver-MS-ACCESS
❖MSaccessdatabasemaintainbytheBPOcompanytostorequeriespostedby thecustomer
3.4CommunicationsInterfaces
Communicationinterfaceisusuallydesignedtocommunicationonemachinewith
anothermachine.IntheBPOmanagementsystemitisconnectedtoWorldWideWeb
forcommunicationinterface.Therequirementsassociatedwithanycommunications
functionsrequiredbythissystemincludingGmail,webbrowser,networkserver
communicationprotocol,electronicformsandsoon.Communicationstandardsthatwill
beusedsuchaswwworHTTP.
4.SystemFeatures
❖Itprovidessearchingfeaturesbasedonvariousproductsforcustomers.
❖Itshowstheinformationsabouttheproductsandtheirprices
❖Itprovidestheinformationsaboutthebuyingofproducts
❖Andalsodetailsabouttheproducts
❖Thisincludesexceptionalsolutionfeaturessuchasdisplayingqueriesandtheir
solutionintwowaysbycategoryandbyproductrequestnumber
5.OtherNonfunctionalRequirements
5.1PerformanceRequirements
❖Theperformanceofthesystemisbasedonthereliabilitywhenthesystemis
underload.Itisimportantthatsustainablenumberofcustomerlogintothe
websiteatthesametime,thesystemshouldnotslowdown.
❖Withtheclientandserverrunningonthesamemachine,responsetimewillbe
maximumoftwoseconds.
5.2SafetyRequirements
❖Varioussafetymeasuresaredevelopedinthissystemtomaintainthepersonal detailsofthecustomers
10
❖Unauthorizedpersoncannothackthedetailsofthecustomer.
❖Productdelivertothecustomershouldbesafe.
5.3SecurityRequirements
❖Thesystemisonlyaccessibletoauthenticatedmanagement.Thecustomer
detailsshouldbeverysecures.
❖Whenmorenumberofcustomerlogintothesystematthesametime,this systemshouldnotslowdown.
❖Whenthereisasecurityviolationthelogfilewillbeupdatedwiththeperson’s loginidanddateandtime.
5.4SoftwareQualityAttributes
Availability:
Thesoftwarewillbeavailableonlytoauthorizecustomertoknowaboutthedetails
oftheproductandalsocanviewtheproductandtheirprices
Maintainability:
Customerdetailsstoredinthedatabasesaremaintainedwithoutanybackups
Portability:
Thesystemisindependentofoperatingsystem.Thissystemwillrunonthemultiple
platformsinparticularwindows,UNIX.
6.OtherRequirements
AppendixA:Glossary
Authentication:
Toestablishtheauthorshipororiginofconclusivelyorunquestionably
Sustainable:
Abletobemaintainedatacertainrateorlevel
Ftp:
Thetransferofcomputerfilesbetweenclientandserveronacomputernetwork
Ex.no:3 Identifyusecaseanddevelopusecasemodel
11
Date:
Usecasediagram:
A usecasediagram atitssimplestisarepresentationofauser'sinteractionwith
thesystemthatshowstherelationshipbetweentheuserandthedifferent use cases
inwhichtheuserisinvolved.Ausecasediagramcanidentifythedifferent
typesofusersofasystemandthedifferentusecasesandwilloftenbe
accompaniedbyothertypesofdiagramsaswell.Theusecasesarerepresented
byeithercirclesorellipses.
PurposeofUseCaseDiagrams
Thepurposeofusecasediagramistocapturethedynamicaspectofasystem.
However,thisdefinitionistoogenerictodescribethepurpose,asotherfour
diagrams(activity,sequence,collaboration,andStatechart)alsohavethesame purpose.
BasicUseCaseDiagramSymbolsandNotations
System
Drawyoursystem'sboundariesusingarectanglethatcontainsusecases.Place actorsoutside
thesystemboundaries.
UseCase
Drawusecasesusingovals.Labeltheovalswithverbsthatrepresentthe system'sfunctions.
12
Actors
Actorsaretheusersofasystem.Whenonesystemistheactorofanother
system,labeltheactorsystemwiththeactorstereotype.
Relationships
Illustraterelationshipsbetweenanactorandausecasewithasimpleline.For
relationshipsamongusecases,usearrowslabeledeither"uses"or"extends."A
"uses"relationshipindicatesthatoneusecaseisneededbyanotherinorderto
performatask.An"extends"relationshipindicatesalternativeoptionsundera certainusecase.
USECASEDIAGRAM:
13
USECASEMODELLING
POSTQUERIES: BRIEFFORMAT:
Customerentersthevalidusernameandpasswordandlogintothesystem
andenterthequeriesandpostthequeries,checkthequeries,elsecorrectthe
queries.Employeegivethesolutiontothequeriesandthenlogoutofthe system.
CASUALFORMAT:
SUCCESSSCENARIO:
14
Customerentersthevalidusernameandpasswordandlogintothesystem
andenterthequeriesandpostthequeries,checkthequeries,elsecorrectthe
queries.Employeegivethesolutiontothequeriesandthenlogoutofthe system.
ALTERNATESCENARIO:
Customer’susernameandidisinvalid.Queriesarenotcleared
thereforethequeriesbecomeinvalid.Registrationisnotvalid.
FULLYDRESSEDFORMAT:
Usecasename Postqueries
Goal Topostqueriesandgetthesolutionfromthe employee.
Level Postthequeries.
Primaryactor Customer,Employee.
Secondary/Supporting actor BPOmanagementsystem
Stakeholders Customer
Precondition Useridandpasswordshouldbevalid.
Mainsuccessscenario Customerenterthevalidusernameandpassword
Logintothesystem
Enterthequeries
Postthequeries
Checkthequeries,elsecorrectthequeries
Employeegivesolutiontoqueries
Logout
Exception Customerusernameandidisinvalid
Queriesarenotclear
Queriesareinvalid
Registrationisnotvalid
Extension Customermustenterthevalidusernameandid
Validqueriesshouldbeposted
Properlinkshouldbeavailableforthelogin purposes.
Specialrequirements Authenticationisrequired.
LOGIN:
BRIEFFORMAT:
Theemployeegetstheusernameandpasswordofthecustomer.Theyentersthe
usernameandpasswordinthesystem.Ifitiscorrecttheyclarifythequeriesofthe
customerwhichtheyhaveposted.Elsetheywillnotrespondforthequerieswhichthey haveposted.
CASUALFORMAT:
SUCCESSSCENARIO:
Theemployeegetstheusernameandpasswordofthecustomer.Theyentersthe
usernameandpasswordinthesystem.Ifitiscorrecttheyclarifythequeriesofthe
customerwhichtheyhaveposted.Elsetheywillnotrespondforthequerieswhichthey haveposted
ALTERNATESCENARIO:
15
Properlinkisnotavailablefortheloginpurposes.Customerusernameand
passwordisnotvalid.Queriesarenotvalid.
FULLYDRESSEDFORMAT:
Usecasename Login
Goal Logintothesystem
Primaryactor Customer,employee
Secondary/Supportingactor BPOmanagement
Stakeholder Customer,employee
Precondition Systemshouldbeavailableforlogin
Mainsuccessscenario Theemployeegettheusernameand
passwordofthecustomer.
Theyentertheusernameandpassword
inthesystem.
Ifitiscorrecttheyclarifythequeriesof
thecustomerwhichtheyhaveposted
.Elsetheywillnotrespondforthe
querieswhichtheyhaveposted.
Exception Properlinkisnotavailableforthelogin purposes.
Customerusernameandpasswordis
notvalidQueriesarenotvalid.
GIVESOLUTION:
BRIEFFORMAT
Customerlogintothesystemwiththevalidusernameandpassword.Enterthe
queriesandpostthequeries.Employeemustcheckthequeries.Givesolutiontothe
queriesiftheyaretheregisteredmembers.Elsetheywillnotrespond.
CASUALFORMAT:
SUCCESSSCENARIO:
Customerlogintothesystemwiththevalidusernameandpassword.Enterthe
queriesandpostthequeries.Employeemustcheckthequeries.Givesolutiontothe
queriesiftheyaretheregisteredmembers.Elsetheywillnotrespond.
ALTERNATESCENARIO:
Customerusernameandpasswordisnotvalid.Queriesarenotseenbythe
employee.Queriesarenotvalid.
FULLYDRESSEDFORMAT:
Usecasename Givesolution
Goal Tocheckthequeriesandgivethesolution
tothequeries
Level Givethesolution
16
Primaryactor Customer,employee
Secondary/supportingactor BPOmanagement
Stakeholder Employee
Mainsuccessscenario Customerlogintothesystemwiththevalid
usernameandpassword.
Enterthequeriesandpostthequeries.
Employeemustcheckthequeries.
Givesolutiontothequeriesiftheyarethe
registeredmembers.
Elsetheywillnotrespond.
Exception Customerusernameandpasswordisnot
valid.Queriesarenotseenbythe employee.
Queriesarenotvalid.
Precondition Queriesmustbeseenbytheemployee.
Specialrequirements Customerdetailsshouldbekept confidential.
Ex.no:4
Date: Identifyconceptualclassesanddevelopthedomainmodel
withUMLclassdiagrams
Classdiagram:
Classdiagramisastaticdiagram.Itrepresentsthestaticviewofanapplication.
Classdiagramisnotonlyusedforvisualizing,describing,anddocumenting
differentaspectsofasystembutalsoforconstructingexecutablecodeofthe softwareapplication.
Classdiagramdescribestheattributesandoperationsofaclassandalsothe
constraintsimposedonthesystem.Theclassdiagramsarewidelyusedinthe
modelingofobjectorientedsystemsbecausetheyaretheonlyUMLdiagrams,
whichcanbemappeddirectlywithobject-orientedlanguages.
Classdiagram showsacollectionofclasses,interfaces,associations,
collaborations,andconstraints.Itisalsoknownasastructuraldiagram.
PurposeofClassDiagrams:
Analysisanddesignofthestaticviewofanapplication.
Describeresponsibilitiesofasystem.
Baseforcomponentanddeploymentdiagrams.
Forwardandreverseengineering.
17
Members:
UMLprovidesmechanismstorepresentclassmembers,suchasattributesand
methods,andadditionalinformationaboutthem.
Visibility:
Tospecifythevisibilityofaclassmember(i.e.anyattributeormethod),these
notationsmustbeplacedbeforethemember'sname.
+ Public
-Private
# Protected
~ Package
Derivedproperty:
Isapropertywhichvalue(orvalues)isproducedorcomputedfromother
information,forexample,byusingvaluesofotherproperties.
Derivedpropertyisshownwithitsnameprecededbyaforwardslash'/'. Scope:
TheUMLspecifiestwotypesofscopeformembers: instance and classifier,and
thelatterisrepresentedby underlinednames.
• Classifiermembers arecommonlyrecognizedas“static”inmany
programminglanguages.Thescopeistheclassitself.
o Attributevaluesareequalforallinstances o
Methodinvocationdoesnotaffecttheclassifer’sstate
Instancemembers arescopedtoaspecificinstance.
o Attributevaluesmayvarybetweeninstances o
Methodinvocationmayaffecttheinstance’sstate(i.e.change
instance’sattributes)
Toindicateaclassifierscopeforamember,itsnamemustbeunderlined.
Otherwise,instancescopeisassumedbydefault.
Relationships
ClassNotation:
18
Classesareusedtorepresentobjects.Objectscanbeanythinghaving propertiesandresponsibility.
ObjectNotation:
It isrepresentedinthesamewayastheclass.Theonlydifferenceisthename
whichisunderlinedasshowninthefollowingfigure.
Astheobjectisanactualimplementationofaclass,whichisknownasthe
instanceofaclass.Hence,ithasthesameusageastheclass
DOMAINMODEL :
19
CLASSDIAGRAM:
20
TheclassdiagramconsistsoffourclassesnamelyCustomer,Employee,Textile
Company,andBPOsystem.Theassociationbetweentheclassesareasfollows:
Manycustomerscanlogintothesystematanytime.
OneBPOsystemcanmanagemanyemployees.
ManyemployeescanworkforoneTextileCompany.
OnetextilecompanycanhaveoneBPOsystem.
Manycustomercanbuyaproductfromonetextilecompany.
Usingtheidentifyscenariofindtheinteractionbetween
objectsandrepresentthemusingUMLsequencediagram
Ex.no:5
Date:
21
SequenceDiagrams:–
Asequencediagramsimplydepictsinteractionbetweenobjectsinasequential
orderi.e.theorderinwhichtheseinteractionstakeplace.Wecanalsousethe
termseventdiagramsoreventscenariostorefertoasequencediagram.
Sequencediagramsdescribehowandinwhatordertheobjectsinasystem
function.Thesediagramsarewidelyusedbybusinessmenandsoftware
developerstodocumentandunderstandrequirementsfornewandexisting systems
SequenceDiagramNotations:
1.Actors– AnactorinaUMLdiagramrepresentsatypeofrolewhereitinteracts
withthesystemanditsobjects.Itisimportanttonoteherethatanactorisalways
outsidethescopethe.systemweaimtomodelusingtheUMLdiagram.
2.Weuseactorstodepictvariousrolesincludinghumanusers
andotherexternalsubjects.WerepresentanactorinaUML
diagramusingastickpersonnotation.Wecanhavemultiple
actorsinasequencediagram.
Forexample–Heretheuserinseatreservationsystemis
shownasanactorwhereitexistsoutsidethesystemandis
notapartofthesystem
22
Figure– anactorinteractingwithaseatreservationsystem
3.Lifelines– Alifelineisanamedelementwhichdepictsanindividualparticipant
inasequencediagram.Sobasicallyeachinstanceinasequencediagramis
representedbyalifeline.Lifelineelementsarelocatedatthetopinasequence
diagram.ThestandardinUMLfornamingalifelinefollowsthefollowingformat
–InstanceName:ClassName
Figure– lifeline
Wedisplayalifelineinarectanglecalledheadwithitsnameandtype.The
headislocatedontopofaverticaldashedline(referredtoasthestem)as
shownabove.Ifwewanttomodelanunnamedinstance,wefollowthe
samepatternexceptnowtheportionoflifeline’snameisleftblank.
Differencebetweenalifelineandanactor– Alifelinealwaysportraysan
objectinternaltothesystemwhereasactorsareusedtodepictobjects
externaltothesystem.Thefollowingisanexampleofasequencediagram:
23
Figure– asequencediagram
Messages– Communicationbetweenobjectsisdepictedusingmessages.The
messagesappearinasequentialorderonthelifeline.Werepresentmessages
usingarrows.Lifelinesandmessagesformthecoreofasequencediagram.
Messagescanbebroadlyclassifiedintothefollowing categories :
Figure– asequencediagramwithdifferenttypesofmessages
24
Synchronousmessages– Asynchronousmessagewaitsforareplybeforethe
interactioncanmoveforward.Thesenderwaitsuntilthereceiverhascompleted
theprocessingofthemessage.Thecallercontinuesonlywhenitknowsthatthe
receiverhasprocessedthepreviousmessagei.e.itreceivesareplymessage.A
largenumberofcallsinobjectorientedprogrammingaresynchronous.Weusea
solidarrowheadtorepresentasynchronousmessage.
Createmessage– WeuseaCreatemessagetoinstantiateanewobjectinthe
sequencediagram.Therearesituationswhenaparticularmessagecallrequires
thecreationofanobject.Itisrepresentedwithadottedarrowandcreateword
labeledittospecifythatitisthecreatemessagesymbol..
Forexample–Thecreationofaneworderonae-commercewebsitewould
requireanewobjectofOrderclasstobecreated.
25
Figure– selfmessage
Forexample–Considerascenariowherethedevicewantstoaccessits
webcam.Suchascenarioisrepresentedusingaselfmessage
Figure– ascenariowhereaselfmessageisused
ReplyMessage– Replymessagesareusedtoshowthemessagebeing
sentfromthereceivertothesender.Werepresentareturn/replymessage
usinganopenarrowheadwithadottedline.Theinteractionmovesforward
onlywhenareplymessageissentbythereceiver.
27
Figure– replymessage
Forexample–Considerthescenariowherethedevicerequestsaphoto
fromtheuser.Herethemessagewhichshowsthephotobeingsentisa replymessage.
Figure– ascenariowhereareplymessageisused
FoundMessage– AFoundmessageisusedtorepresentascenariowherean
unknownsourcesendsthemessage.Itisrepresentedusinganarrowdirected
towardsalifelinefromanendpoint.Forexample:Considerthescenarioofa hardwarefailure.
28
Figure– foundmessage
Itcanbeduetomultiplereasonsandwearenotcertainastowhatcausedthe hardwarefailure.
Figure– ascenariowherefoundmessageisused
LostMessage– ALostmessageisusedtorepresentascenariowherethe
recipientisnotknowntothesystem.Itisrepresentedusinganarrowdirected
towardsanendpointfromalifeline.Forexample:Considerascenariowherea warningisgenerated
29
Figure– lostmessage
Thewarningmightbegeneratedfortheuserorothersoftware/objectthat
thelifelineisinteractingwith.Sincethedestinationisnotknownbeforehand,
weusetheLostMessagesymbol.
Guards– TomodelconditionsweuseguardsinUML.Theyareusedwhenwe
needtorestricttheflowofmessagesonthepretextofaconditionbeingmet.
Guardsplayanimportantroleinlettingsoftwaredevelopersknowtheconstraints
attachedtoasystemoraparticularprocess.
Forexample:Inordertobeabletowithdrawcash,havingabalancegreaterthan
zeroisaconditionthatmustbemetasshownbelow
Usesofsequencediagrams:
• Usedtomodelandvisualizethelogicbehindasophisticatedfunction, operationorprocedure.
• TheyarealsousedtoshowdetailsofUMLusecasediagrams.
30
• Usedtounderstandthedetailedfunctionalityofcurrentorfuturesystems.
• Visualizehowmessagesandtasksmovebetweenobjectsorcomponentsin asystem.
SEQUENCEDIAGRAM:
31
32
Ex.no:6 Usingidentifyscenariosfindtheinteractionbetweenobject
andrepresentthemusingUMLcommunicationdiagram
Date:
Collaborationdiagram:
A collaborationdiagram,alsoknownasacommunicationdiagram,isan
illustrationoftherelationshipsandinteractionsamong software objects inthe
UnifiedModelingLanguage(UML).Thesediagramscanbeusedtoportraythe
dynamicbehaviorofaparticular usecase anddefinetheroleofeachobject.
Collaborationdiagramsarecreatedbyfirstidentifyingthestructuralelements
requiredtocarryoutthefunctionalityofaninteraction.Amodelisthenbuiltusing
therelationshipsbetweenthoseelements.Severalvendorsoffersoftwarefor
creatingandeditingcollaborationdiagrams. Notationsofacollaborationdiagram:
1.Objects-Objectsareshownasrectangleswithnaminglabelsinside.The
naminglabelfollowstheconventionofobjectname: classname.Ifanobject
hasapropertyorstatethatspecificallyinfluencesthecollaboration,this shouldalsobenoted.
2.Actors-Actorsareinstancesthatinvoketheinteractioninthediagram.Each
actorhasanameandarole,withoneactorinitiatingtheentireusecase.
3.Links-Linksconnectobjectswithactorsandaredepictedusingasolidline
betweentwoelements.Eachlinkisaninstancewheremessagescanbesent.
4.Messages-Messagesbetweenobjectsareshownasalabeledarrowplaced
nearalink.Thesemessagesarecommunicationsbetweenobjectsthat
conveyinformationabouttheactivityandcanincludethesequencenumber.
33
34
Drawrelevantstatechartsandactivitydiagram
Ex.no:7
Date:
Activitydiagram:
Activity diagram describe activities which involve concurrency and
synchronization,whichareavariationofstatediagramsthatfocusesontheflow
ofactionsandevents.Theycanbeusedfor:
• Tomodelahumantask(abusinessprocess,forinstance).
• Todescribeasystemfunctionthatisrepresentedbyausecase.
• Inoperationspecifications,todescribethelogicofanoperation.
35
36
performedbythecustomer.
STATEDIAGRAM:
StateMachineDiagram:
AstatemachineDiagram(orstartdiagram,alsocalledstatechartofstatetransition diagram)isabehavior
whichspecifiesthesequence ofstatesan entity(orobject) visits duringitslifetimeinresponse
toevents,togetherwithits responsestothose events
Keyconcepts:
State
Astateisaconditionduring thelifeofanobjectduring whichitsatisfiessome
condition,performssome activity,orwaitsforsome externalevent.
Astatemachinediagramisagraphconsistingof:
• States(simplestatesorcompositestates)
• Statetransitionsconnectingthestates Example:
InitialandFinalStates:
• The initialstate
ofastatemachinediagram,knownasaninitialpseudostate,isindicatedwithasolidcircle.Atra
nsitionfromthisstatewillshow thefirstrealstate
• The finalstate ofastatemachinediagramisshownasconcentriccircles.
37
Anopenloopstatemachinerepresentsanobjectthatmayterminate
beforethesystemterminates,whileaclosedloopstatemachinediagram
doesnothaveafinalstate;ifitisthecase,thentheobjectlivesuntilthe
entiresystemterminates.
STATEDIAGRAM:
38
Implementsystemasperthedetaileddesign
Ex.no:8
Date:
ClassName:Customer
Importjava.util.Vector;
PublicclassCustomer{
Publicintegercustomerid;
PublicStringcustname;
Publicintegerloginid;
Publiclongphoneno;
PublicStringqueries;
PublicVectormytextilecompany;
publicVector1; publicVector1;
Publicvoidaddcustomer(){
}
Publicvoiddelete(){
}
Publicvoidupdate(){
}
Publicvoidpostqueries(){
}
} ClassName:employee
Importjava.util.Vector;
PublicclassEmployee{
publicStringemployeename;
Publicintegerloginid; publicStringpassword;
publicintegernoofclarification;
publicVector1; publicbposystem1;
PublicVector1;
PublicVector*;
Publicvoidadd(){
}
Publicvoiddelete(){
}
Publicvoidupdate(){
}
Publicvoidgivesolution(){
39
}
}
ClassName:Textilecompany
Importjava.util.Vector;
Publicclasstextilecompany{
PublicStringcompanyname;
PublicStringaddress;
Publiclongphoneno;
Publicintegernoofproduct;
PublicVectorhas;
PublicVector*;
PublicVectormycustomer;
PublicVector*;
Publicvoidaddcustomer(){
}
Publicvoidupdate(){
}
Publicvoidservice(){
}
}
ClassName:Bposystem
Importjava.util.Vector;
PublicclassBposystem{
PublicStringempdetails
PublicStringcomdetails;
PublicVectorhas;
Publicemployee*;
PublicVector*;
Publicvoidupdate(){
}
}
Testsoftwaresystemforallsystemasperusecase
Ex.no:9
Date:
Classname:BPOsystem
40
Importjava.util.vector;
PublicclassBPOsystem
{
PublicStringempdetails; PublicStringcomdetails;
PublicStringupdate(Stringin){
If(in.equals(“kavi”))
Return“true”;
Else
Return“false”;
}
}
41
42
Ex.no:10 Improvereusabilityandmaintainabilitybyapplying
appropriatedesignpattern
Date:
Forillustrationpurposeabstractfactorypatternisusedtodescribetheproposedmethod.
Abstractfactorypatternknownasacreationalpattern,providesamethodto
encapsulateagroupofindividualfactoriesthathaveafamiliarthemewithoutspecifying
theirconcreteclasses.Inusualcase,theclientsoftwarecreateaconcrete
implementationoftheabstractfactorythenusinggenericinterfaceofthefactoryto
createtheconcreteobjectswhichispartofthetheme.Theclientdoesn‟tknowwhich
concreteobjectsgetsfromalloftheseinternalfactories,sinceitusesonlythegeneric
interfacesoftheirproducts.Abstractproductsdescribeinterfaceforeverydifferent
productsofasingleproductfamily.Concreteproductsimplementtheabstractproduct
interfacewhichisreturnedbycreationalmethodsofconcretefactories.Abstractfactory
definestheinterfaceforcreatingproductswhichiscommontoallconcretefactories.
Concretefactoriesimplementcreationalmethodsoftheabstractfactoryandeach
concretefactoryshouldcorrespondtoaspecificproductsvariantasshowninFigure.
Purposeofabstractfactorydesignpatternistoprovideaninterfaceforcreatingfamilies
ofrelatedobjectswithoutspecifyingconcreteclasses.ThefollowingFigure()showsthe
exampleofabstractfactorydesignpatternforuserloginwheretwoconcretefactory
andconcreteproductusedforexecution.
43
Figure:AbstractFactoryDesignPatternforUserLogin
Usingproposedmethoddesignpatternasseswhererequirementiswelldocumented
andfixedwhichisusedasinput.Asstep1firstlyidentifythedesignproblemusing
alternativedesignsolutionsfromliteratureandexperience,andsolveusingabstract
factorydesignpattern.Instep2maintainability,reusability,understandability,flexibility,
composability,completeness,stability,simplicity,andexpandabilityareselectedas
designobjective.Usingstep3appropriatesolutionisselectedasstep4(tool)andstep5
(mathematicalformation).Instep4maintainability,reusability,understandability,and
flexibilityarecalculatedusingprescreensdesignpatternadvisortool.Instep5
composability,completeness,stability,simplicity,andexpandabilityaremeasuredusing
mathematicalformation.Instep6,combinestep4and5outputtogetrequiredquality
product.Assessmentoftheseninequalityattributesarediscussedas:
Maintainability:Useofadesignpatternessentiallycomplicatesdesigntousuallyadd
abstractclassesandadditionalassociationstoemployadesignpattern.Thekey
advantageofusingdesignpatternisthattheresultingsoftwareshouldbeeasierto
adapt,tomodifyfewerclasses,toaddfunctionalitytosoftware.So,maintenanceClient AbstractFactory
+doAction1:void +doAction2:void Abstract Product
+doAction:voidAbstractFactoryconcreteProduct1concreteProduct2concreteFactory1
concreteProduct1:AdminconcreteProduct2:UserconcreteProduct1+doAction:void
concreteFactory2concreteProduct1:AdminconcreteProduct2:UserconcreteProduct2
+doAction:void95programmersshouldhavetouselessefforttoadaptthesechanges.
Everyintroducedpatterncausedanimprovementindifferentqualityattributes.
Reusability:Designpatternsarereusablemicroarchitecturesthataddtooverallsoftware
architecture.Designpatternsdetainstaticanddynamicstructureandcollaborationsof
componentsinsuccessfulsolutionstoproblemsthatoccurwhendevelopingsoftware
likebusinessdataprocessing,databases,graphicaluserinterfaces,telecommunications,
anddistributedcommunicationsoftware.Patterns96helpdevelopmentofreusable
componentsandframeworksbyusingstructureandcollaborationofparticipantsin
softwarearchitectureatalevelhigherthansourcecodeandobjectorienteddesign
44
modelsthatfocusonindividualobjectsandclasses.Thus,patternsfacilitatereuseof
softwarearchitecture,evenwhenadditionalformsofreuseareinfeasible.Anempirical
investigationonreusabilitysoftwarepackages,attemptstoempiricallyinvestigate
reusabilityofdesignpatterns,classes,andsoftwarepackagestoidentifythemost
beneficialstartingpointsforwhiteboxreuse,whichisprettypopularamongOSS
CONCLUSION:
TheBPOsystemhelpsinclarifyingthequeriesofthecustomer.Themain
advantagesofusingthissystemisthetimemanagement.ThustheprojectforBPO
managementsystemwasdesignedandcodesaregeneratedandthenitwas successfullyexecuted.
LIBRARY
MANAGEMENT
SYSTEM
1
Ex.No:1
Problem Statement
Date:
Aim:
Problem Statement:
1. Introduction
1.1 Purpose
The main objective of this document is to illustrate the requirements of the project Library
Management System .The document gives the detailed description of the both functional and non-
functional requirements proposed by the client .The purpose of this document is to provide the
detailed objectives and requirements of the system .This document describes the hardware and
software interface requirements using ER diagram and UML diagram.
This document is intended for developers, project managers, marketing staff, users, testers and
document writers. This document starts with introduction that contains purpose, document
conventions, product scope and references followed by the overall descriptions .Which contains
product perspective, product functions, user classes and characteristics, operating environment,
design and implementation constraints, user documentation, assumption and dependencies followed
by external interface requirements.
Library Management System is basically used to manage the books available in library and the
Details about the books. Library Management System allows for storing the details of large number
of books, magazines, journals, and allow for add, search, borrow, returning facilities separately to
5
administrator or staff and students. Different privileges are given to different types of users .we can
add new features as and when we require. Making reusability as it is possible where there is a easy
flexibility in all the modules
The product is used as a complete user interface for library management process and library usage
from ordinary users.
1.5 References
➢ Books
• Software Engineering: A Practitioner’s approach fifth edition by Roger S. Pressman
• Object Oriented Analysis and Design with Applications (3 rd edition) by Michael W. Engel,
and Bobbi J. Young.
➢ Websites
• http://www.freestudentprojects.com/studentprojectreport/project-srs/library-
management-system-project-srs-document
2. Overall Description
2.1 Product Perspective
The proposed Library Management System will take care of current book details at any point of time.
The book issue, book return will update the current book details automatically so the user will get the
update current book details.
Library Management System is basically used to collect the book details, visitor’s details, the book
issued and availability of book in the particular library. In this software there is separate login account
for library administrator, librarian and visitors. The admin provided with access to librarian and
visitors account.
Library Member
Update details of books Register/Login
Library
Manageme
nt
System
6
Library Database
The product will be operated in windows environment. The hardware configuration include hard disk: 40 GB,
Monitor: 15”color monitor, Keyboard: 122 keys. The basic input devices required are keyboard, mouse and
output devices are monitor, printer, etc.
7
Any update regarding the book from the library is to be recorded to have update and correct values
and any fine on a member should be notified as soon as possible and should be correctly calculated.
User manual is provided for better understanding of this system. Tutorials are provided along with
this system. So the user may know about the system functionalities clearly.
Library Management System allows user to view reports like book issued/returned in between
particular time. It provides verification and search facility based on different criteria. The user
interface should be able to interact with the user module and it must be dedicated to login/logout
module. The design should be simple and all the different interfaces should follow standard template.
8
Server side:
OS –Windows 9x
Processor: Pentium 3.0 GHZ or higher
RAM: 256 Mb or more
Hard drive: 10 GB or more
Client side:
OS: Windows 9x
Processor: Pentium 2.0 GHZ or higher
RAM: 256 MB or more
3.4Communications Interfaces
Windows
4. System Features
4.1System Feature 1
• Administrator
• Member
• Librarian
Req-1: Functional requirement for users such as members
Precondition- The member should have valid user ID.
Post condition- If the user successfully logged into the system they may further interact with the
system, otherwise the system shows an error message.
Req-2: Functional requirements for administrator
Precondition- The administrator should have valid system ID and password for administration login.
Post condition- If admin successfully logged into the system then he/she can be made updates on the
system.
The performance of the system should be fast and accurate. Library Management System shall
handle expected and unexpected errors in way that prevents loss in information. The system should
be able to handle large amount of data. Thus it accommodates high number of books and user’s
details.
The database may get crashed at any certain time due to virus or operating system failure. Hence, it
is required to take the database is not lost. Proper UPS/inverter facility should be provided in case
of power supply failure.
System should use secured database. Normal users can just read the information but they cannot
edit or modify anything expect their personal and some other information. Proper user
authentication must be provided. No one should be able to hack the user’s password. There should
be different accounts for administrator and user.
10
All the administrators have the rights to create changes to the system. But the members or other
users cannot do changes. The quality of the database is maintained in such a way so that it can be
very user friendly to all the users of the database. The user be able to easily download and install the
system.
This includes the rules and regulations that the system users should follow. This includes cost of the
project. Neither admin nor member should cross the rules and regulations.
6. Other Requirements
There are different categories of users namely staff, librarian, admin, students, etc. Depending upon
the category of users the access rights are decided. All the users except the librarian only have the
rights to retrieve the information about database.
11
Appendix A: Glossary
➢ Administrator: Who updates the record
Ex.No:3
Identify use cases and develop use case model
Date:
Use Case
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.
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
13
case is needed by another in order to perform a task. An "extends" relationship indicates alternative
options under a certain use case.
The main use cases are maintain log, issue book, returned books, search book, borrow book.
Maintain log:
Brief format:
The librarian is responsible for maintaining the log details. The details consists of several actions like
adding books, removing books and updating the details. If new books are arrived the complete details
of the books should be updated in the catalog. The borrowed books should be removed from the
catalog. After the books are returned the log should be updated.
Casual format:
The details of the added and borrowed books should be updated periodically. If these are not done
properly then it leads to complexity in searching the books for users. If the borrowed books are not
removed from the catalog then it leads to unavailability of books after the users search. It leads to
inconsistency.
Alternate scenario:
The available book details should be properly updated by the librarian. It should be checked
periodically.
14
Failure scenario Any details of the available books are not there
in the catalog
Ex.No:4
Identify the conceptual classes and develop a
Date: domain model with UML class diagram
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 modelling of object oriented 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 values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
17
Scope:
The UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
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.
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.
As the object is an actual implementation of a class, which is known as the instance of a class. Hence,
it has the same usage as the class.
The main classes of Library management system are Book, Librarian, Member, Bill. The Book class
consists of the attributes book id, author, price, publisher and the methods display and location. The
Librarian class consists of the attributes name, password and the methods issue book, return book,
update book, calculate fine, verify number. The Member class consists of the attributes member id,
number of books, name, mail id, phone and the methods search book, increase book, pay fine. The
Bill class consists of the attributes bill number, date, member id, amount and the method create bill.
19
Class diagram:
20
Sequence Diagrams: –
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.
21
Figure – lifeline
22
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:
For example – Consider a scenario where the device wants to access its webcam. Such a scenario
is represented using a self message.
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.
The sequence diagram represents the interactions between Member, LMS system and Librarian.
The interactions starts with log in. Member enters the user name and password in the system.
The system verifies the username and password with the database. If it is valid it shows the
catalog. Otherwise it shows error message. The member searches books in the catalog. If the
searched books are available then it provides book. Otherwise it shows error message. After
getting book the member log outs the system. When the books are returned it calculates fine if
the due date is exceeded. Then member pays the bill.
30
Sequence diagram:
31
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 case 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.
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.
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 center of the diagram, with all other participating objects
branching off. After all objects are placed, links and messages should be added in between.
32
Collaboration diagram:
33
Ex.No:7
Draw relevant State chart 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.
• In operation specifications, to describe the logic of an operation.
34
Activity diagram shows the flow of activities that the system carries out. The activities are login,
authenticate, show books, search books, issue book, remove book, receive book, return book,
calculate fine, add book and log out. These actions are sequentially takes place in the system. Activity
diagram has swim lanes. This system consists of Librarian, Member, LMS system.
35
Activity diagram:
36
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
Example:
The system is implemented by forward engineering. That is the code for the system is created by
converting the class diagram into the code using Argo uml.
Book:
Public bookid;
Public author;
Public price;
Public publisher;
Librarian:
Public name;
Public password;
Bill:
39
Public billno;
Public date;
Public memid;
Public amount;
Public memid;
Public noofbooks;
Public name;
Public mailed;
Public phone;
Student:
Faculty:
Ex.No:9 Test the software system for all scenario identified as per the use
Date:
case diagram
Success scenario:
41
Failure scenario:
42
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 does not 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
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.
43
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.
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
44
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.
Conclusion:
The SRS for Library management system is created and the use cases are implemented using use
case diagram. The class diagram, sequence diagram, collaboration diagram, State chart and activity
diagrams are implemented for library management system. The detailed design of the system is
implemented and tested. Reusability and maintainability are improved by appropriate design
patterns.
STUDENT
INFORMATION
SYSTEM
1
DATE:
Aim:
Problem Statement:
Student information system is an automated and use friendly. It is used for managing the student
date. This system deal with all kinds of details such as academic record, college details, course
details, curriculum and placement details. It track the attendance percentage, exam details,
project details and exam results. It can be accessed only by the authorised user. The purpose of
this system is the reduction of time spend on maintaining and organising the student record. The
student profile gives the overview and performance details in all fields.
3
Table of Contents
Table of Contents ii
Revision History ii
1. Introduction 5
1.1 Purpose 5
1.2 Document Conventions 5
1.3 Intended Audience and Reading Suggestions 5
1.4 Product Scope 5
1.5 References 5
2. Overall Description 6
2.1 Product Perspective 6
2.2 Product Functions 6
2.3 User Classes and Characteristics 6
2.4 Operating Environment 6
2.5 Design and Implementation Constraints 6
2.6 User Documentation 7
2.7 Assumptions and Dependencies 7
3. External Interface Requirements 8
3.1 User Interfaces 8
3.2 Hardware Interfaces 8
3.3 Software Interfaces 8
3.4 Communications Interfaces 8
4. System Features 9
4.1 System Feature 1 9
4.1.1 Description and Priority 9
4.1.2 Stimulus/Response Sequences 9
4.1.3 Functional Requirements 9
4.2 System Feature 2 11
5. Other Nonfunctional Requirements 11
5.1 Performance Requirements 11
5.2 Safety Requirements 11
5.3 Security Requirements 11
5
Introduction
Purpose
The Software Requirement Specification document is to provide a detailed overview of the
software products. It contains the complete software requirements for online student
information system and provides the full details about the individuals.
Document Conventions
● The font style used in this complete document is Times New Roman.
The different types of readers are students, teachers, parents and it includes the whole
administration. For knowing about this system in details read the descriptions of below given
headings such as product scope and references.
Product Scope
Student information system efficiently provides the mechanism to edit the student
information form which makes the system flexible. This gives better feedback to the users.
References
Overall Description
Product Perspective
The Student Information System which is being developed is on-line student information
system. The proposed system will be compatible with Microsoft Windows Operating System. This
system is a new self contained and a replacement for all traditional and outdated means of tracking
student information. The components of this system are students, staff and database administrator.
This system is used instead of databases using manual or outdated hardcopy.
Product Functions
The student information management system is used to maintain and manage the
information of students. This helps the user to easy access the information of students. This
software is also helpful for the administrator because he can easily update and delete the records
of the students.
The various actors of this system include students, teachers, parents and administrators.
Use case of this system are login, logout, academic details, events, attendance, time table. The
functions of login and logout are security and privacy purpose. Whenever any events or functions
take place the use case event gives the notification and alert the users. Academic details gives the
overall academic performance of the student. Every day’s schedule is provided by timetable. The
attendance status gives us the presence or absence of the student.
Operating Environment
The student information system runs on Windows 7, for 32 bit/x86 and 64 bit/x64 PC
architectures. The software will be written in java. This system is GUI based. The system will run
off a cloud based platform. The cloud based server will utilize SQL database running on the cloud.
The product can run on any browser.
● Items and issues that may limit the options are ethical and legal constraints with
regard to student information management systems.
● The system should be user friendly so that it is easy for the user to use and also
it should have backup capabilities.
7
● There will be only one ADMIN who has all rights with regards to managing
information such as updating, deleting, inserting the details of students.
● The student should have correct username and password so that they can login
successfully.
● The information of all students are stored in the database which is connected to
the university computer.
User Documentation
● Students – They can be able to view their attendance status, timetable, internal marks.
As a whole, this document paves the way for the student to evaluate themselves.
● Parents – They can easily analyze the behavior of the student in all aspects.
● Admin – They can easily retrieve the details of the particular student when it is needed.
● The University computer should have an Internet connection and Internet server
capabilities.
● The administrators should have more knowledge of the internals of the system and is
able to rectify the small problems that may arise due to disk crashes, power failures and
other to maintain the system.
User Interfaces
The student information system will have the following user friendly and menu driven
interfaces
● Login: to allow the entry of only authorized users through valid id and password.
Hardware Interfaces
Software Interfaces
Communications Interfaces
As it is a web based application, there are protocols that are needed to directly interact with
the users. It is developed using TCP/IP protocol.
System Features
System Features is broadly classified into two. They are
1. Administrator
2. User
System Feature 1
Administrator – The only person who is responsible for the activities of the whole system.
The administrator knows everything in detail about the system and he/she is the only authority to
update , delete, and retrieve information of a particular student or a group of students even in case
of emergency.
Stimulus/Response Sequences
9
Functional Requirements
● This system can manage day to day attendance of all the students.
● This system manages all the details of the exam and result notifications faster than
SMS and email.
● This system should be provided to the companies so that they can overview and offer
projects, internships to the students.
REQ-1:Actors:
● Administrator
● Student
● Faculty
Pre Condition – The user must have valid user ID and password.
Post Condition – If the use case is successful, the actor logged into the system. If
not, the system state remains unchanged.
REQ-2:
Pre Condition – The administrator must have valid system id and password for
administration login.
10
Post Condition – if the use case is successful, the administrator will be logged into
the system. If not, the system state remains unchanged.
System Feature 2
The user is the person who has benefited from the system. He/she plays a major role in the
behavior and aspects of the system. The system or document is mainly based on the student and
parents.
Performance Requirements
The important aspects of this software is time constraint. This system is real time and hence
should be performed in minimum requirements.The system must be interactive and the delays
involved must be less. As the system is easy to handle and navigates in the most expected way
with no delays. In that case the system program reacts accordingly and transverses quickly between
its states. Since this system has multiple users, it should the simultaneous usage of almost 1000
users at a time. This system should also be reliable.
Safety Requirements
The main security concern is for users account hence proper login mechanism should be
used to avoid hacking. It should be made sure that only those who are given specific rights can
access data and all actions are logged. Hence, security is provided from unwanted use of
recognition software. Power is a significant feature and the power supply should be always taken
care of. An Uninterrupted Power Supply is always recommended.
11
Security Requirements
Personal Information of the users should be protected and information transmission should
be securely transmitted to server without any changes in information. If the database of this system
gets crashed, it is necessary to have backup database.
● Availability: The System should be available at all times so that the users can access it any
time.
● Maintaining: MY SQL is used for maintaining the database and incase of failure re-
initialization of the program is needed.
● Portability: This system should be compatible with any other systems.
Business Rules
Other Requirements
Appendix A: Glossary
● Disk crash: It is the process of computing the failure of disk storage system and
causing mechanical damage.
DATE:
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 use cases 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.
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.
USE CASE :
14
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.
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.
15
mandatory page for the users. Many users can login at a time. This page is used for security and
authentication purposes.
CASUAL FORMAT:
SUCCESS SCENARIO :
Considering the login page, the username and password is necessary. In case if the details
are valid the user can successfully login to the page. The user can view or update or remove the
details of the students.
ALTERNATE SCENARIO :
If the details are invalid the user cannot login to the page which he/she desired to open.
They can give forget password or otp generation to the registered mobile number.
CASUAL FORMAT:
The profile in the student information system is divided into two phases.
(ie) personal and academic details. Alternative scenario for this is giving the wrong details of the
student instead of giving the correct information.
FULLY DRESSED:
The use case update student details is done by the staff/admin. Updating of information
requires proper login, knowing the correct details about the student. The main success scenario is
updating the student’s correct information in the profile page.
CASUAL FORMAT:
Updating the student details which includes personal and academic details. The update
process is possible only when the admin knows proper and correct information about the students.
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 modelling of objectoriented systems
because they are the only UML diagrams, which can be mapped directly with object-oriented
languages.
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
20
~ Package
DERIVED PROPERTY:
Is a property which value (or values) is produced or computed from other information, for
example, by using values of other properties.
Derived property is shown with its name preceded by a forward slash '/'.
SCOPE:
UML specifies two types of scope for members: instance and classifier, and the latter is
represented by underlined names.
To indicate a classifier scope for a member, its name must be underlined. Otherwise, instance
scope is assumed by default.
RELATIONSHIPS:
21
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.
22
As the object is an actual implementation of a class, which is known as the instance of a class.
Hence, it has the same usage as the class.
DOMAIN MODEL:
23
CLASS DIAGRAM:
The class diagram consist of five classes namely webpage, admin, student, faculty, update
details. The association between these classes are as follows:
SEQUENCEDIAGRAMS:
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.
25
Figure – lifeline
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:
processing the previous message or not. We use a lined arrow head to represent an
asynchronous message.
• 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.
• 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.
31
• 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.
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.
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 visualise 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.
• Visualise how messages and tasks move between objects or components in a system.
SEQUENCE 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 case 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.
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.
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 center of the diagram, with all other participating objects
branching off. After all objects are placed, links and messages should be added in between.
36
37
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.
• In operation specifications, to describe the logic of an operation.
38
ACTIVITY DIAGRAM :
The activity diagram consist of three swimlanes namely student, system, staff. The parallel
behaviors such as join and fork is used for user authentication. The conditional behaviors such
branch and merge are used for view profile, update details etc…
The final process is log out done by the users.
transition diagram) is a behavior 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.
Example:
40
DATE:
Import java.util.Vector;
Public Vector *;
}
42
Class name:faculty
Import java.util.Vector;
Public Student *;
Public Vector *;
Import java.util.Vector;
Public Vector 1;
Public Faculty *;
public Vector *;
Import java.util.Vector;
44
}
45
EX.NO:9 Test the software system for all the scenario identified
As per the usecase diagram
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.
48
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, compos ability, completeness, stability,
simplicity, and expandability are selected as design objective. Using step 3 appropriate solution is
49
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 composability, 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 +do
Action: 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.
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.
CONCLUSION:
The student information system is a software or application which is used to
manage studentinformation/student's data. The main purpose of choosing this project idea is that
you can see available real time Student Information System that will help you to design something
and add to your student information system. It also helps to avoid manual work and time
consumption.