You are on page 1of 26

Software Requirements

Specification
For

Automatic Toll Collection

Prepared by
Rohini Deshmukh
Priya tikamkar

G.H.Raisoni College of Engineering & Management, Wagholi, Pune


Software Requirements Specification for <Project> Page ii

Table of Contents
1. Introduction................................................................................................................................1
2. Overall Description....................................................................................................................1
2.1 System content:................................................................................................................................... 1
2.2 STRUCTURE OF THE LPR SYSTEM............................................................................................. 3
PLATEREGION EXTRACTION.......................................................................................................... 3
SEGMENTATION.................................................................................................................................. 6
CHARACTER........................................................................................................................................ 6
CHARACTER RECOGNITION............................................................................................................. 6
3. Modules:......................................................................................................................................8
3.1 Major Modules:................................................................................................................................... 8
3.2 Minor Modules:................................................................................................................................... 9
3.3 Web Module:..................................................................................................................................... 9
4. Functional Requirements Specification................................................................................. 10
4.1 SOFTWARE REQUIREMENTS:................................................................................................... 10
4.2 HARDWARE REQUIREMENTS:.................................................................................................. 10
4.3 Architectural Requirements:............................................................................................................. 10
5. Non Functional Requirements................................................................................................ 11
5.1 Normal Requirements...................................................................................................................... 11
5.2 Expected Requirements.................................................................................................................... 11
5.3 Exciting Requirements..................................................................................................................... 11
6. Feasibility study:..................................................................................................................... 13
7. UML Diagram.......................................................................................................................... 14
Software Requirements Specification for <Project> Page 1

1. Introduction
AUTOMATIC vehicle identification is an essential stage in intelligent traffic
systems. Nowadays vehicles play a very big role in transportation. Also the use of vehicles has been
increasing because of population growth and human needs in recent years. Therefore, control of
vehicles is becoming a big problem and much more difficult to solve. Automatic vehicle
identification systems are used for the purpose of effective control.
License plate recognition (LPR) is a form of automatic vehicle identification. It is an
image processing technology used to identify vehicles by only their license plates. Real time LPR
plays a major role in automatic monitoring of traffic rules and maintaining law enforcement on
public roads. Since every vehicle carries a unique license plate, no external cards, tags or
transmitters need to be recognizable, only license plate.

2. Overall Description

2.1 System content:

The vehicle approaches the gate of the restricted area it wants to enter into.
There is a barrier and a traffic light showing red stopping it. There is an inductive loop installed at
the entrance in order to sense the arrival (and the presence) of the vehicle. There is also a CCTV
camera mounted to monitor the entrance.

The inductive loop, the camera, the traffic light and the barrier are all connected to a
control PC. On the control PC there is an access control application software running coordinating
the operation of the access control system.
As the vehicle arrives the inductive loop senses its arrival and gives a signal
to the control PC meaning: "car arrived". This signal is processed and understood by the access
control application.

Vehicle arrives to the entrance, the inductive loop gives a signal to the control PC
Software Requirements Specification for <Project> Page 2

The access control application - via driving a frame grabber card - captures the video
signal of the camera and creates a digital picture about the vehicle in the memory (RAM) of the
control PC.

Creating digitised picture about the vehicle


Having the digitised picture of the arrived vehicle in RAM, the access control
application requests the license plate reader module to analyse the digitised picture and read the
license plate number of the vehicle. After reading the license plate number the LPR module returns
the read plate number in ASCII to the access control application.

Reading the license plate from the digitised picture of the vehicle
The access control application takes the license number in ASCII and passes it to a
database module. The database module checks the plate number against different lists of
permissions, etc. and returns an "access permitted" or an "access denied" flag. Based on the flag the
access control application opens the barrier and sets the traffic light to green - or not.

Also, the access control application may pass relevant data - like date and time of access - to the
database module to store it in an access diary. After the vehicle left the gate (either by passing
through or leaving) the system gets ready to start the entire process again for the next arriving
vehicle.

Allowing access and storing data in the diary


Software Requirements Specification for <Project> Page 3

2.2 STRUCTURE OF THE LPR SYSTEM

The algorithm proposed in this paper is designed to recognize license plates of


vehicles automatically. Input of the system is the image of a vehicle captured by a camera. The
captured image taken from 4-5 meters away is processed through the license plate extractor with
giving its output to segmentation part. Segmentation part separates the charactersindividually. And
finally recognition part recognizes the characters giving the result as the plate number.

PLATEREGION EXTRACTION

Plate region extraction is the first stage in this algorithm. Image captured from the
camera is first converted to the binary image consisting of only 1’s and 0’s (only black and white).
by thresholding the pixel values of 0 (black) for all pixels in the input image with luminance less
than threshold value and 1 (white) for all other pixels. Captured image (original image) and
binarized image are shown in Figure 1(a)
and 1(b) respectively.

( a ) Captured image
Software Requirements Specification for <Project> Page 4

( b ) Binarized image

The binarized image is then processed using some methods. To find the plate region,
firstly smearing algorithm is used. Smearing is a method for the extraction of text areas on a mixed
image. With the smearing algorithm, the image is processed along vertical and horizontal runs
(scan-lines). If the number of white pixels is less than a desired threshold or greater than any other
desired threshold, white pixels are
converted to black. In this system, threshold values are selected as 10 and 100 for
both horizontal and vertical smearing.

If number of ‘white’ pixels < 10 ; pixels become ‘black’


Else ; no change
If number of ‘white’ pixels > 100 ; pixels become ‘black’
Else ; no change

After smearing, a morphological operation, dilation, is applied to the image for


specifying the plate location.
However, there may be more than one candidate region for plate location. To find
the exact region and eliminate the other regions, some criteria tests are applied to the image by
smearing and filtering operation. The processed image after this stage is as shown in Figure 2(a)
and image involving only plate is shown in Figure 2(b).
Software Requirements Specification for <Project> Page 5

( a ) Plate region

( b ) Image involving only plate

After obtaining plate location, region involving only plate is cut giving the plate as
shown in Figure 3.

Fig. 3 Plate Image


Software Requirements Specification for <Project> Page 6

SEGMENTATION

In the segmentation of plate characters, license plate is segmented into its constituent
parts obtaining the characters individually. Firstly, image is filtered for enhancing the imageand
removing the noises and unwanted spots. Then dilation operation is applied to the image for
separating the characters from each other if the characters are close to each other. After this
operation, horizontal and vertical smearing are applied for finding the character regions. The result
of this segmentation is in Figure 4.

Fig. 4 Locations of plate characters

The next step is to cut the plate characters. It is done by finding starting and end
points of characters in horizontal direction. The individual characters cut from the plate are as
follows in Figure 5.

CHARACTER

Fig. 5 Individual characters

CHARACTER RECOGNITION

Before recognition algorithm, the characters are normalized. Normalization is to


refine the characters into a
Software Requirements Specification for <Project> Page 7

block containing no extra white spaces (pixels) in all the four sides of the characters.
Then each character is fit to equal size as shown in Figure 6.

Fig. 6 Equal-sized characters

Fitting approach is necessary for template matching. For matching the characters
with the database, input images must be equal-sized with the database characters. Here the
characters are fit to 36 �18. The extracted characters cut from plate and the characters on database
are now equal-sized. The next step is template matching. Template matching is an effective
algorithm for recognition of characters. The character image is compared with the ones in the
database and the best similarity is measured. To measure the similarity and find the best match, a
statistical method correlation is used. Correlation is an effective technique for image recognition
which was developed by Horowitz. [15] This method measures the correlation coefficient between
a number of known images with the same size unknown images or parts of an image with the
highest correlation coefficient between the images producing the best match. There are two forms
of correlations: auto-correlation and cross-correlation. Auto-correlation function (ACF) involves
only one signal and provides information about the structure of the signal or its behavior in the time
domain. Cross-correlation function (CCF) is a measure of the similarities or shared properties
between two signals. Since there are two signals as unknown input image and known database
image in this system, cross-correlation is used.
The normalized cross correlation between the image pair is defined as:

for m=1,2,….M and n=1,2,….N, where M and N are odd integers.


This system used the database as the Turkish license plates characters all 33
alphanumeric characters (23 alphabets and 10 numerals) with the size of 36*18. The database
formed is shown in Figure 7.
Fig. 7
Software Requirements Specification for <Project> Page 8

Because of the similarities of some characters, there may be some errors during
recognition. The confused characters mainly are B and 8, E and F, D and O, S and 5, Z and 2. To
increase the recognition rate, some criteria tests are used in the system for the confused characters
defining the special features of the characters. With these features of characters and applied tests
during recognition algorithm, recognition rate is increased with the minimum error.

3. Modules:

3.1 Major Modules:

1. Number Plate Scanning


a. Capturing the Image of the car
b. Localization algorithm to find the number plate
c. Segmentation of Number plate Characters.
d. Optical Character recognition for recognizing the characters.

2. Desktop Module
a. Will Validate the number plate info received from Number plate
scanning module
b. Trnasactions would be done accordingly

3. Banned Vehicle Module


Software Requirements Specification for <Project> Page 9

a. If any vehicle is banned for any reason, and it tries to pass to


tollbooth, that time an alarm would be generated and message can be
sent to the nearest police station

4. Web Application
1. Administrator module (Will Maintain the website)
2. Customer module (Prepaid Customer)

3.2 Minor Modules:

1. Recharge Module
2. Uploading Files to Ftp Server
3. Automatic Report Generation on different Criteria
4. Sending auto-generated mails to the concern person.
5. Printing Module

3.3 Web Module:

Admin Module
Admin have Functionalities like,
a) Maintain all information of website
b) Manage News and events
c) Manage Enquiry and feedback
d) Maintaining details of tollbooth
e) Maintaining details of users
f) View Reports of The users
g) Search particular report according to search criteria

User Module (TollBooth Owner)


User has Functionalities like,
a) Maintaining details of employees
Software Requirements Specification for <Project> Page 10

b) Managing users information


c) View transaction Reports of The students
d) Search particular report according to search criteria

4. Functional Requirements Specification

4.1 SOFTWARE REQUIREMENTS:

• Operating system
• Apache Tomcat
• Jdk1.5
• MySQL
• Dreamweaver
• Web Browser

4.2 HARDWARE REQUIREMENTS:

• A Windows-compatible LAN Network


• Processor P4
• At least 128 megabytes (MB) RAM
• A Pentium 600 MHz PC (or faster)

4.3 Architectural Requirements:

1. Portability:
The system must be easily portable to a wide variety of platforms using various
operating systems. Porting the software from one operating system to the another
should not require more than 5% of the code to be changed. Similarly changing the
backend database should not require more than 5% of the code to change.
2. Extensibility/Reuse:
Software Requirements Specification for <Project> Page 11

The software should be extensible in order to add new features without affecting the
base modules. The new releases of the system should maximize the reuse of the
solutions developed in earlier releases.

3. Ease of use:
The system must be easy to use without requiring users to memorize the commands,
special terms or notations. A new user should not require more than one hour of training
to get comfortable using the system.

5. Non Functional Requirements

5.1 Normal Requirements

N1. Allows only the authorized user to interact with the website
N2. Information of developer and instruction for accessing website
N3. Inform about banned vehicles
N4. Recovery of forgotten password
N5. Scanner should read number plates properly

5.2 Expected Requirements

Exp1. Simple look & feel


Exp2. Fast response time
Exp3. Security to user accounts
Exp4. Easy enhancement

5.3 Exciting Requirements

Ex1. Number plate will be automatically scanned and recognised once car enter the gate of
TollBooth
Ex2. SMS alerts would be given to the car owner abt transaction

5.4 VALIDATION OF REQUIREMENTS:


Software Requirements Specification for <Project> Page 12

N1: Every user interacting with system must have account.

N2: To provide forgotten password check the user name and then answer for the secret question.
If entered answer matches to database then provide the password to the user.

Exp1: Check the user name and password of user before login to the account.
Exp2: Use of cascaded style sheet to make enhancement in the web pages.
Software Requirements Specification for <Project> Page 13

6. Feasibility study:
It is the high level capsule version of the entire requirement analysis
process. The objective of feasibility study is to determine whether the proposed system can be
developed with available resources.
There are three steps to be followed for determining feasibility study of proposed
systems.
 Technical feasibility
 Operational feasibility
 Economical feasibility

6.1 Technical feasibility:


It is concerned with hardware and software feasibility. In this study, one has to test
whether the proposed system can be developed using existing technology or not. As per
client requirements the system to be developed should have speed response because of fast
exchange of information, reliability, security, scalability, integration and availability. To meet these
requirements .We as a developer found Jsp specifications as a right choice because of its features
platform independence and reusability.

6.2 Operational feasibility:


Operational feasibility determines whether the proposed system satisfied the
user objectives and can be fitted in to current system operation. The system “The Prepaid
Rationing System” can be justified as operationally feasible based on the following Operational
feasibility determines if the proposed system satisfied the user objectives and can be fitted in to
current system operation. The system “Prepaid Rationing System” can be justified as operationally
feasible based on the following:
 The methods of processing and presentation are completely acceptable by the users because
they meet all their requirements.
 The users have been involved during the preparation of requirement analysis and
design process.
 The system will certainly satisfy the user objectives and it will also enhance their
capability.
 The system will certainly satisfy the user objectives and it will also enhance their
effectively.

6.3 Economical feasibility:


Software Requirements Specification for <Project> Page 14

This includes an evaluation of all incremental costs and benefits expected if


proposed system is implemented. Costs-benefit analysis which is to be done during economical
feasibility delineates costs for project development and weighs them against system benefits.
The system adds information of colleges and companies for which colleges and companies
pays as it provides their information as well as company jobs. So developing this system is
economically feasible.

7. UML Diagram
UML Diagrams:
Design modeling uses a combination of text and diagrammatic forms to depict the
requirements for data, function and behavior in a way that is relatively easy to understand and more
important, straightforward to review for correctness, completeness and consistency.
A diagram is the graphical presentation of a set of elements most often rendered as a
connected graph of vertices (things) and arcs (relationship). These diagrams are drawn to visualize
a system from different perspectives so a diagram into a system.
Behavioral Modeling
Use case Diagram:
It shows a set of use cases and actors (a special kind of class and their relationships).
Use case diagrams address the static use case view of system. These diagrams are especially
important in organizing and modeling the behavior of a system. In below diagram a user can be
anyone using the system.
Software Requirements Specification for <Project> Page 15

Fig Use Case diagram for basic overview of TollBooth Automation


Check for
authentication Accessing
Enter id , password
Data
Logi Serve
n r

Databas
User Authenticate User
Accessing e
1
Profile1 Retriving
Enter id, password Data

Accessing
Profile2 Profil
e

User
2

For new
User for login
Fig 3.6 Use Case diagram
State Diagram:

Registration
New form
User
Register
Application MainController

Software Requirements Specification for <Project> Page 16

For exiting
Using state
user diagram you Login
can model the behavior of an individual object. A
state machine is a behavior that specifies the sequence of states an object goes through during it’s
Existing
User to events, together with it’s response to those events. It is used to model the
lifetime in response invalid
dynamic aspects of a system.

invalid

Enter id, password Check for Authentication


user1 login server
Authentication Operation

Accessing Info
Accessing Data
Authenticate User

Info database
Retriving Data

logout

Fig 3.7 General State diagram

Sequence Diagram:
Software Requirements Specification for <Project> Page 17

A Sequence diagram is a structured representation of behavior as a series of


sequential steps over time. It is used to depict workflow, message passing and how element in
general cooperate over time to achieve a result. It is primarily used to show the interaction between
objects in the sequential order that those interaction occurs.\

Admin
User Login Profile Server
Server Database
Database
Details

1: Enter id, password

2: Check for Authentication

3: Accesing Data

4: Authenticate user

5: User Details

6: TollBooth Details

7: Transaction Details

8: Digital Notices

9: Viewing Reports

11: Retriving Data

12: Accessing Info

Fig 3.8 Sequence diagram for Admin


Software Requirements Specification for <Project> Page 18

Functional Modeling
In the functional modeling it describes the function of the propose system. it consist of two
diagram. They are as follows:
- Dataflow diagram
-Control flow diagram
Data flow diagram:
Data flow diagram (DFD), also called as ‘Bubble chart’ is a graphical technique, which is
used to represent information flow, and transformers those are applied when data moves from input
to output.

Request
User Scanner

Response
Response Request for
for Validation
Validation

Server DB

DFD Level 0
Transactio
nss
GUI Server
Response
Request for
e after all
Various Trnsactions Validatio
Localisation ns
Segmentation
Software Requirements Specification for <Project> Page 19
Character Recognition DB
Perform Transaction
DFD Level 1

Request
Transactio
n
Admin Server
Response
Request for
Control Flow Diagram Respons Report
e after all Validation
The large class of application having following characteristics
Validatio requires control flow modeling
Various Trnsactions
Check
The application ns rather than data
Transactionthose are driven by events
Reports
Manage Banned Vehicles
The application those produce control information rather than reports or display.
Send Notices to users DB
 The application those process information in specific times.
DFD Level 2
22
Software Requirements Specification for <Project> Page 20

Collaboration Diagram:

1 : Enter TollBooth
()
User GUI
4:
display()

9 : Transaction 2:
Marked() Authentication() 7 :
succeed()
3 : Authenticated
5 : Transaction ()
8:
Request() acknowledgement()

6:
Validated()
Serve
r
Processin DB
g

Fig: Collaboration Diagram for Vehicle Owner


Software Requirements Specification for <Project> Page 21

Activity Diagram:

Enter
TollBooth

Register
Scan
account
Vehicle
Online n
o
Scan
Furnish
Properly
Details ye
s

n Localisati
o on

Validate Segmentati
details on
ye
s Charater
subm Recogniti
it on

Validatio
ns

Number
Vehicle Banned
Plate
Authorization Vehicle
Checking

finishe
d
Software Requirements Specification for <Project> Page 22

6 Technology Overview

Technology Overview:
The .NET Framework is a managed type-safe environment for application
development and execution. The .NET Framework manages all aspects of your program’s
execution.

• It allocates memory for the storage of data and instructions


• Grants or denies the appropriate permissions to your application
• Initiates and manages application execution
• Manages the reallocation of memory from resources that are no longer needed.

The .NET Framework consists of two main components:


• Common language runtime
• .NET Framework class library
Class library contains object-oriented collection of reusable types that can be used to develop all
types of application including command line, graphical user interface, Web application & Web
services.
Software Requirements Specification for <Project> Page 23

Fig.4.1: .Net Framework Architecture

4.1.1. Introduction to C#:


As a recent birth in programming language family, C# has two programming language
parents: C++ and Java. C# contains many C++ features but also adds the object oriented features
from Java.
C# contains many different components, including:
• Versioning support, so that your base and derived classes-templates that define how an
object performs-remains compatible as you develop them.
• Events, so that your program can notify clients of a class about something that increases
reliability and code security.
• Garbage collection, so that your program can identify objects that your program can no
longer reach.
Software Requirements Specification for <Project> Page 24

Benefits
1. Prepaid cards for daily travelers
2. Centralized data collection
3. Financial accounts can be without any paperwork
4. Daily monitoring of sale at each booth
5. Useful for crime branch
6. Banned Vehicles Tracking
7. Useful for Government to understand life of the Highway roads.
8. Recharging options given to the Card owner at Tollbooth itself
9. Tollbooth Management can be done under the surveillance of Government
10. Financial Information of all Tollbooth would be maintained at single place

Conclusion

we presented application software designed for the recognition of car license plate.
Firstly we extracted the plate location, then we separated the plate characters individually by
segmentation and finally applied template matching with the use of correlation for recognition of
plate characters. This system is designed for the identification Turkish license plates and the system
is tested over a large number of images. Finally it is proved to be %97.6 for the extraction of plate
region, %96 for the segmentation of the characters and %98.8 for the recognition unit accurate
giving the overall system performance %92.57 recognition rates. This system can be redesigned for
multinational car license plates in future studies.

You might also like