You are on page 1of 105

1

Introduction

E-Road Transport Management System has been designed to automate the


process of registration of vehicle and issuing driving license process. System can
make the daily activities efficient and providing the fast response to store and
retrieve information.
The purpose of our RTO management system is to provide a leading
technological tool for the ease of RTO functions such as Registration, Learners
License, and Permanent License etc.It will reduce considerably the difficulties
faced on existing system, with minimum error and difficulties.
The purpose of our RTO management system is to provide a leading
technological tool for the ease of RTO functions such as Registration, Learners
License, online license test and Complaint Registration etc. It will reduce
considerably the difficulties faced on existing system, with minimum error and
difficulties.

Objective

The purpose of our RTO management system is to provide a leading


technological tool for the ease of RTO functions such as Registration, Learners
License, and Permanent License etc. It will reduce considerably the difficulties
faced on existing system, with minimum error and difficulties.
Main Objectives are as follows:
1.
2.
3.
4.

Less time consuming.


Highly secure in data storing.
Can avoid intermediate persons & institutions.
Helpful in traffic issues: authorized users can trace the vehicle in the accident
cases using their register number.
5. It is more users friendly: the sections such as, registration, license etc are
combined together in a single window.
6. Demo questions of learners license test will help the users in their license
test.
7. Users can have knowledge about the new rules and regulations from the
informations & awareness section.

System Analysis
System analysis is a process of gathering and interpreting facts, diagnosing
problems and the information to recommend improvements on the system. It is a
problem solving activity that requires intensive communication between the
system users and system developers. System analysis or study is an important
phase of any system development process. The system is studied to the minutest
detail and analyzed. The system analyst plays the role of the interrogator and
dwells deep into the working of the present system. The system is viewed as a
whole and the input to the system are identified. The outputs from the
organizations are traced to the various processes. System analysis is concerned
with becoming aware of the problem, identifying the relevant and decisional
variables, analyzing and synthesizing the various factors and determining an
optimal or at least a satisfactory solution or program of action.
Identification of Need
The 1st step of the system analysis procedure involves the identification of
requirement. The analyst system engineer meets with the customer and the end
user if different from the customer. Customer may be a representative of an
outside organization the marketing department of the analyst's organization
when a product is being established or another technical department when an
internal system is to be established. Like information engineering the intent is to
understand the product's goal and to describe the target wants to meet the goal.
Once overall target are identified the analyst moves on to an evaluation of
supplementary information that are: Does the technology exist to build the
system? What special manufacturing and development resources will be needed?
What bounds have been placed on schedule and costs? If the new system is
really a product to be established for sale to various customers the following
questions are also asked that are how does this product compare with
competitive products? What is the potential market for the product? What
position does this product take in the overall product line of the organization?

Information collection during the requirement identification step is specified in a


system concept document. The real concept document is sometimes built
through the customer previously meetings with the analyst. Regularly customeranalyst communication results in changes to the document.
PROBLEMS IN EXISTING SYSTEM
A total manual system, which is running without any participation of a
computer-definitely have its own disadvantages. We know that the production
and use of vehicles are increasing day by day. Hence the need of RTO is very
important now days. The complex functions such as Registration of vehicles,
issuing driving license, etc. becomes very difficult if we are using the existing
system.
Proposed System
Proposed system is an online system: so any persons can browse the site and
download & upload the application form.
Proposed System provides following Features:
1. Registration of vehicle through online.
2. Fancy number selection of vehicles through online.
3. Issue of informations about license, which include application forms,
demo of leaners license test and other informations.
4. It helps traffic police for tracing particular vehicles.
5. It helps in public awareness.
6. Provide mail alerts for users about license expiry.
7. Complaint registration.
FEASIBILITY STUDY
Feasibility study is the detailed study expanded from the result of initial
investigation. This is done by investigating the existing system in the area under
investigation or generally ideas about a new system. It is the test of a system
proposal according to its work ability, impact on organization, ability to meet
5

user needs and effective use of resources. Objective of feasibility study is to


acquire a sense of the scope of the problem. It is carried out to select the best
system that meets performance requirements
There are three key considerations involved in feasibility analysis namely:
1. Economic feasibility
2. Technical feasibility
3. Operational feasibility
TECHNICAL FEASIBILITY
Technical feasibility centers on existing system and to what extent it can support
proposed modifications. It involves financial enhancement.
This evaluation determines whether the technology needed for the proposed
system is available or not. This is concerned with specifying satisfy the user
requirements. The technical needs of the system may include front-end and
backend-selection.
An important issue for the development of a project is the selection of suitable
front-end and back-end. Based on some aspects, we select the most suitable
platform that suits the needs of the organization.
ECONOMIC FEASIBILITY
Economic feasibility is used to determine the benefits and savings expected
from the candidate system and to compare them with costs incurred. If benefits
outweigh cost, then decision will be to design and implement system. Otherwise,
alterations will have to be made to the proposed system. The proposed system is
economically feasible.
OPERATIONAL FEASIBILITY
The present system is easily understandable. The users are presented with
friendly user interface that helps them to understand the flow of the system more
easily.
Maximum transparency has been provided. The new system is very much user
friendly and operational cost is bearable. The maintenance and working of the

new system needs less human efforts. The proposed project is beneficial to the
organizational and is user friendly..

PERT Chart

Start

Collect Information Survey Report

Format Design
Meet end user

Meet manager

Integrate all these

Visit Office
Coding of Project

Finish

Visit In

GANTT Chart
A Gantt chart is a horizontal bar chart developed as a production control tool in 1917
by Henry L. Gantt, an American engineer and social scientist. A Gantt chart provides a
graphical illustration of a schedule that helps to plan, coordinate and track specific
tasks in a project.
ACTIVITY

10/0517/05

18/0525/05

1/0610/06

11/0620/06

Project
Search
Finalization
&
Allocation
Investigation
of system
requirement
System
Design
Program
design
Program
coding
System
integration
Acceptance
test

01/0810/09

12/0918/09

19/0920/09

Software Development Life Cycle

There are a large number of software models used for guiding the
software development process. Normally every software model contains
almost same life cycle except there are some difference process
techniques. In this software we have used the linear sequential model
because it is easiest one to implement and we have to follow the
straightforward techniques for developing the software. There are following
steps we have gone through in the complete process.
ANALYSIS:- In this step we have gathered the different requirement to
develop the software, to understand the nature of the program to be build
and all the requirement for both the system and the users has been
identified.
DESIGN:- Software design is actually a group of process that a group of
that focuses on four distinct attribute of a program- data structure,
software architecture, interface representation and procedural detail the
design process translates requirements into a representation of the software
that can be accessed for quality before coding begins. Like requirements
the design is documented becomes part of the software configuration
CODE GENERATION:- The design must be translated into a machine
readable from to develop the software. The code generation step performs
this task. If design is performed in a detail manner, this code generation
can accomplish EASILY.
TESTING:- Once code has been generated the program testing begins.
The testing begins. The testing process focuses on the logical internals of
the software, ensuring that all statement have been tested and on the
functional externals, that is conducting tests to uncover errors and ensure
that defined input will produce actual result that agree with required
result.

10

SUPPORT (MAINTENANCE):- Software will undoubtedly undergo


change after it is delivered to customer change will occur because errors
have been encountered because the software must be adapted to
accommodate change in its external environment or because the customer
requires
function
or
performance
enhancement.
Software
support/maintenance reapplies each of the preceding phases to an existing
program weather than a new one.

11

SOFTWARE REQUIREMENT SPECIFICATION


PURPOSE:
E-Road Transport Management System is a web application that has been
designed to automate the process of registration of vehicle and issuing driving
license process. System can make the daily activities efficient and providing the
fast response to store and retrieve information.
The project E-ROAD TRANSPORT MANAGEMENT SYSTEM is proposed to
install a system that shall enable the proposed RTO SYSTEM interface with the
existing system with maximum accuracy .This project is very useful for those
who are concern with the different processes on RTO. As a total manpower
based system is currently running for the whole procedures, designing a new
system which makes the whole process online, demands a deep knowledge
about the existing system.
The purpose of our RTO management system is to provide a leading
technological tool for the ease of RTO functions such as Registration, Learners
License, online license test and Complaint Registration etc. It will reduce
considerably the difficulties faced on existing system, with minimum error and
difficulties.

12

HARDWARE AND SOFTWARE REQUIREMENTS

HARDWARE CONFIGURATION
1.

Processor

Pentium IV with 3.0 GHz.

2.

RAM

512MB

3.

HDD

40GB

4.

Monitor

15 Color monitor with 16 million colors

5.

Pointing device

Two - button Mouse or 3-button Mouse.

6.

Keyboard

104 Keys

SOFTWARE CONFIGURATION
1.
2.
3.
4.
5.

Microsoft .Net framework 4.0.


Microsoft ASP.Net.
AJAX Tool kit.
Microsoft C#.Net language.
Microsoft SQL Server 2008

13

Description of Technology Used in Project.


INTRODUCTION TO .NET Framework

The .NET Framework is a new computing platform that simplifies application


development in the highly distributed environment of the Internet. The .NET
Framework is designed to fulfill the following objectives:

To provide a consistent object-oriented programming environment whether


object code is stored and executed locally, executed locally but Internetdistributed, or executed remotely.
To provide a code-execution environment that minimizes software
deployment and versioning conflicts.
To provide a code-execution environment that guarantees safe execution of
code, including code created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance
problems of scripted or interpreted environments.
To make the developer experience consistent across widely varying types of
applications, such as Windows-based applications and Web-based
applications.
To build all communication on industry standards to ensure that code based
on the .NET Framework can integrate with any other code.
The .NET Framework has two main components: the common language runtime
and the .NET Framework class library. The common language runtime is the
foundation of the .NET Framework. You can think of the runtime as an agent
that manages code at execution time, providing core services such as memory
management, thread management, and Remoting, while also enforcing strict
type safety and other forms of code accuracy that ensure security and
robustness. In fact, the concept of code management is a fundamental principle
of the runtime. Code that targets the runtime is known as managed code, while
14

code that does not target the runtime is known as unmanaged code. The class
library, the other main component of the .NET Framework, is a comprehensive,
object-oriented collection of reusable types that you can use to develop
applications ranging from traditional command-line or graphical user interface
(GUI) applications to applications based on the latest innovations provided by
ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the
common language runtime into their processes and initiate the execution of
managed code, thereby creating a software environment that can exploit both
managed and unmanaged features. The .NET Framework not only provides
several runtime hosts, but also supports the development of third-party runtime
hosts.

For example, ASP.NET hosts the runtime to provide a scalable, serverside environment for managed code. ASP.NET works directly with the runtime
to enable Web Forms applications and XML Web services, both of which are
discussed later in this topic.

Internet Explorer is an example of an unmanaged application that hosts


the runtime (in the form of a MIME type extension). Using Internet Explorer to
host the runtime enables you to embed managed components or Windows Forms
controls in HTML documents. Hosting the runtime in this way makes managed
mobile code (similar to Microsoft ActiveX controls) possible, but with
significant improvements that only managed code can offer, such as semi-trusted
execution and secure isolated file storage.

The following illustration shows the relationship of the common language


runtime and the class library to your applications and to the overall system. The
illustration also shows how managed code operates within a larger architecture.
15

FEATURES OF THE COMMON LANGUAGE RUNTIME

The common language runtime manages memory, thread execution, code


execution, code safety verification, compilation, and other system services.
These features are intrinsic to the managed code that runs on the common
language runtime.
With regards to security, managed components are awarded varying
degrees of trust, depending on a number of factors that include their origin (such
as the Internet, enterprise network, or local computer). This means that a
managed component might or might not be able to perform file-access
operations, registry-access operations, or other sensitive functions, even if it is
being used in the same active application.
The runtime enforces code access security. For example, users can trust
that an executable embedded in a Web page can play an animation on screen or
sing a song, but cannot access their personal data, file system, or network. The
security features of the runtime thus enable legitimate Internet-deployed
software to be exceptionally featuring rich.
The runtime also enforces code robustness by implementing a strict typeand code-verification infrastructure called the common type system (CTS). The
CTS ensures that all managed code is self-describing. The various Microsoft and
third-party language compilers
Generate managed code that conforms to the CTS. This means that
managed code can consume other managed types and instances, while strictly
enforcing type fidelity and type safety.
In addition, the managed environment of the runtime eliminates many
common software issues. For example, the runtime automatically handles object
layout and manages references to objects, releasing them when they are no
longer being used. This automatic memory management resolves the two most
common application errors, memory leaks and invalid memory references.

16

The runtime also accelerates developer productivity. For example,


programmers can write applications in their development language of choice,
yet take full advantage of the runtime, the class library, and components written
in other languages by other developers. Any compiler vendor who chooses to
target the runtime can do so. Language compilers that target the .NET
Framework make the features of the .NET Framework available to existing code
written in that language, greatly easing the migration process for existing
applications.
While the runtime is designed for the software of the future, it also
supports software of today and yesterday. Interoperability between managed and
unmanaged code enables developers to continue to use necessary COM
components and DLLs.
The runtime is designed to enhance performance. Although the common
language runtime provides many standard runtime services, managed code is
never interpreted. A feature called just-in-time (JIT) compiling enables all
managed code to run in the native machine language of the system on which it is
executing. Meanwhile, the memory manager removes the possibilities of
fragmented memory and increases memory locality-of-reference to further
increase performance.
Finally, the runtime can be hosted by high-performance, server-side
applications, such as Microsoft SQL Server and Internet Information
Services (IIS). This infrastructure enables you to use managed code to write
your business logic, while still enjoying the superior performance of the
industry's best enterprise servers that support runtime hosting.
.NET FRAMEWORK CLASS LIBRARY
The .NET Framework class library is a collection of reusable types that
tightly integrate with the common language runtime. The class library is object
oriented, providing types from which your own managed code can derive
functionality. This not only makes the .NET Framework types easy to use, but
also reduces the time associated with learning new features of the .NET

17

Framework. In addition, third-party components can integrate seamlessly with


classes in the .NET Framework.
For example, the .NET Framework collection classes implement a set of
interfaces that you can use to develop your own collection classes. Your
collection classes will blend seamlessly with the classes in the .NET Framework.
As you would expect from an object-oriented class library, the .NET
Framework types enable you to accomplish a range of common programming
tasks, including tasks such as string management, data collection, database
connectivity, and file access. In addition to these common tasks, the class library
includes types that support a variety of specialized development scenarios. For
example, you can use the .NET Framework to develop the following types of
applications and services:

Console applications.
Scripted or hosted applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.

For example, the Windows Forms classes are a comprehensive set of


reusable types that vastly simplify Windows GUI development. If you write an
ASP.NET Web Form application, you can use the Web Forms classes.

ASP.NET
Server Application Development
Server-side applications in the managed world are implemented through
runtime hosts. Unmanaged applications host the common language runtime,
which allows your custom managed code to control the behavior of the server.
This model provides you with all the features of the common language runtime
18

and class library while gaining the performance and scalability of the host
server.
The following illustration shows a basic network schema with managed
code running in different server environments. Servers such as IIS and SQL
Server can perform standard operations while your application logic executes
through the managed code.

SERVER-SIDE MANAGED CODE

ASP.NET is the hosting environment that enables developers to use the


.NET Framework to target Web-based applications. However, ASP.NET is more
than just a runtime host; it is a complete architecture for developing Web sites
and Internet-distributed objects using managed code. Both Web Forms and XML
Web services use IIS and ASP.NET as the publishing mechanism for
applications, and both have a collection of supporting classes in the .NET
Framework.
XML Web services, an important evolution in Web-based technology, are
distributed, server-side application components similar to common Web sites.
However, unlike Web-based applications, XML Web services components have
no UI and are not targeted for browsers such as Internet Explorer and Netscape
Navigator. Instead, XML Web services consist of reusable software components
designed to be consumed by other applications, such as traditional client
applications, Web-based applications, or even other XML Web services. As a
result, XML Web services technology is rapidly moving application
development and deployment into the highly distributed environment of the
Internet.
If you have used earlier versions of ASP technology, you will immediately
notice the improvements that ASP.NET and Web Forms offers. For example, you
can develop Web Forms pages in any language that supports the .NET
19

Framework. In addition, your code no longer needs to share the same file with
your HTTP text (although it can continue to do so if you prefer). Web Forms
pages execute in native machine language because, like any other managed
application, they take full advantage of the runtime. In contrast, unmanaged ASP
pages are always scripted and interpreted. ASP.NET pages are faster, more
functional, and easier to develop than unmanaged ASP pages because they
interact with the runtime like any managed application.
The .NET Framework also provides a collection of classes and tools to aid
in development and consumption of XML Web services applications. XML Web
services are built on standards such as SOAP (a remote procedure-call protocol),
XML (an extensible data format), and WSDL ( the Web Services Description
Language). The .NET Framework is built on these standards to promote
interoperability with non-Microsoft solutions.
For example, the Web Services Description Language tool included with
the .NET Framework SDK can query an XML Web service published on the
Web, parse its WSDL description, and produce C# or Visual Basic source code
that your application can use to become a client of the XML Web service. The
source code can create classes derived from classes in the class library that
handle all the underlying communication using SOAP and XML parsing.
Although you can use the class library to consume XML Web services directly,
the Web Services Description Language tool and the other tools contained in the
SDK facilitate your development efforts with the .NET Framework.
If you develop and publish your own XML Web service, the .NET
Framework provides a set of classes that conform to all the underlying
communication standards, such as SOAP, WSDL, and XML. Using those classes
enables you to focus on the logic of your service, without concerning yourself
with the communications infrastructure required by distributed software
development.
Finally, like Web Forms pages in the managed environment, your XML Web
service will run with the speed of native machine language using the scalable
communication of IIS.
20

ACTIVE SERVER PAGES.NET


ASP.NET is a programming framework built on the common language
runtime that can be used on a server to build powerful Web applications.
ASP.NET offers several important advantages over previous Web development
models:

Enhanced Performance. ASP.NET is compiled common language


runtime code running on the server. Unlike its interpreted predecessors,
ASP.NET can take advantage of early binding, just-in-time compilation,
native optimization, and caching services right out of the box. This amounts
to dramatically better performance before you ever write a line of code.
World-Class Tool Support. The ASP.NET framework is complemented
by a rich toolbox and designer in the Visual Studio integrated development
environment. WYSIWYG editing, drag-and-drop server controls, and
automatic deployment are just a few of the features this powerful tool
provides.
Power and Flexibility. Because ASP.NET is based on the common
language runtime, the power and flexibility of that entire platform is
available to Web application developers. The .NET Framework class library,
Messaging, and Data Access solutions are all seamlessly accessible from the
Web. ASP.NET is also language-independent, so you can choose the
language that best applies to your application or partition your application
across many languages. Further, common language runtime interoperability
guarantees that your existing investment in COM-based development is
preserved when migrating to ASP.NET.

21

Simplicity. ASP.NET makes it easy to perform common tasks, from


simple form submission and client authentication to deployment and site
configuration. For example, the ASP.NET page framework allows you to
build user interfaces that cleanly separate application logic from presentation
code and to handle events in a simple, Visual Basic - like forms processing
model. Additionally, the common language runtime simplifies development,
with managed code services such as automatic reference counting and
garbage collection.

Manageability. ASP.NET employs a text-based, hierarchical


configuration system, which simplifies applying settings to your server
environment and Web applications. Because configuration information is
stored as plain text, new settings may be applied without the aid of local
administration tools. This "zero local administration" philosophy extends to
deploying ASP.NET Framework applications as well. An ASP.NET
Framework application is deployed to a server simply by copying the
necessary files to the server. No server restart is required, even to deploy or
replace running compiled code.

Scalability and Availability. ASP.NET has been designed with scalability


in mind, with features specifically tailored to improve performance in
clustered and multiprocessor environments. Further, processes are closely
monitored and managed by the ASP.NET runtime, so that if one misbehaves
(leaks, deadlocks), a new process can be created in its place, which helps
keep your application constantly available to handle requests

Customizability and Extensibility. ASP.NET delivers a well-factored


architecture that allows developers to "plug-in" their code at the appropriate
level. In fact, it is possible to extend or replace any subcomponent of the
ASP.NET runtime with your own custom-written component. Implementing
custom authentication or state services has never been easier.

22

Security. With built in Windows authentication and per-application


configuration, you can be assured that your applications are secure.

SQL SERVER
A database management, or DBMS, gives the user access to their data and
helps them transform the data into information. Such database management
systems include dBase, paradox, IMS, SQL Server and SQL Server. These
systems allow users to create, update and extract information from their
database.
A database is a structured collection of data. Data refers to the
characteristics of people, things and events. SQL Server stores each data item in
its own fields. In SQL Server, the fields relating to a particular person, thing or
event are bundled together to form a single complete unit of data, called a record
(it can also be referred to as raw or an occurrence). Each record is made up of a
number of fields. No two fields in a record can have the same field name.
During an SQL Server Database design project, the analysis of your
business needs identifies all the fields or attributes of interest. If your business
needs change over time, you define any additional fields or change the definition
of existing fields.
SQL SERVER TABLES
SQL Server stores records relating to each other in a table. Different
tables are created for the various groups of information. Related tables are
grouped together to form a database.
PRIMARY KEY
Every table in SQL Server has a field or a combination of fields that
uniquely identifies each record in the table. The Unique identifier is called the
Primary Key, or simply the Key. The primary key provides the means to
distinguish one record from all other in a table. It allows the user and the
database system to identify, locate and refer to one particular record in the
database.
23

RELATIONAL DATABASE
Sometimes all the information of interest to a business operation can be
stored in one table. SQL Server makes it very easy to link the data in multiple
tables. Matching an employee to the department in which they work is one
example. This is what makes SQL Server a relational database management
system, or RDBMS. It stores data in two or more tables and enables you to
define relationships between the table and enables you to define relationships
between the tables.
FOREIGN KEY
When a field is one table matches the primary key of another field is
referred to as a foreign key. A foreign key is a field or a group of fields in one
table whose values match those of the primary key of another table.
REFERENTIAL INTEGRITY
Not only does SQL Server allow you to link multiple tables, it also
maintains consistency between them. Ensuring that the data among related
tables is correctly matched is referred to as maintaining referential integrity.

24

Data Flow Diagram


A data flow diagram is graphical tool used to describe and analyze
movement of data through a system. These are the central tool and the basis
from which the other components are developed. The transformation of data
from input to output, through processed, may be described logically and
independently of physical components associated with the system. These are
known as the logical data flow diagrams. The physical data flow diagrams show
the actual implements and movement of data between people, departments and
workstations. A full description of a system actually consists of a set of data
flow diagrams. Using two familiar notations Yourdon, Gane and Sarson
notation develops the data flow diagrams. Each component in a DFD is labeled
with a descriptive name. Process is further identified with a number that will be
used for identification purpose. The development of DFDS is done in several
levels. Each process in lower level diagrams can be broken down into a more
detailed DFD in the next level. The lop-level diagram is often called context
diagram. It consists a single process bit, which plays vital role in studying the
current system. The process in the context level diagram is exploded into other
process at the first level DFD.
The idea behind the explosion of a process into more process is that
understanding at one level of detail is exploded into greater detail at the next
level. This is done until further explosion is necessary and an adequate amount
of detail is described for analyst to understand the process.
Larry Constantine first developed the DFD as a way of expressing system
requirements in a graphical from, this lead to the modular design.
A DFD is also known as a bubble Chart has the purpose of clarifying
system requirements and identifying major transformations that will become
programs in system design. So it is the starting point of the design to the lowest
level of detail. A DFD consists of a series of bubbles joined by data flows in the
system.
25

DFD SYMBOLS:
In the DFD, there are four symbols

1. A square defines a source (originator) or destination of system data.


2. An arrow identifies data flow.
information flows

It is the pipeline through which the

3. A circle or a bubble represents a process that transforms incoming data flow


into outgoing data flows.
4. An open rectangle is a data store, data at rest or a temporary repository of
data

Process that transforms data flow.

Source or Destination of data

Data flow

26

Data Store

CONSTRUCTING A DFD:

Several rules of thumb are used in drawing DFDS:

1. Process should be named and numbered for an easy reference. Each name
should be representative of the process.
2. The direction of flow is from top to bottom and from left to right. Data
traditionally flow from source to the destination although they may flow back
to the source. One way to indicate this is to draw long flow line back to a
source. An alternative way is to repeat the source symbol as a destination.
Since it is used more than once in the DFD it is marked with a short diagonal.
3. When a process is exploded into lower level details, they are numbered.
4. The names of data stores and destinations are written in capital letters.
Process and dataflow names have the first letter of each work capitalized

27

Context Diagram

E-Road Transport Management System


Administrator

USER

28

1-level DFD for Admin

Questionbank

Add Questions

LearningTbl

Administrator

Issue
PermanentTbl

RenewalTbl

View
Feedback

View
Test Result

FeedbackTbl

TestResult

29

1-level DFD for user

userreg
Details

TestResult

Registration
Result
Apply

Questions
Apply

QuestionBank

Online Test

USER

Apply
Learning Licence

Details
LearningTbl

Apply
Permanent
Licence

Details

PermanentTbl

Feedback
Apply

Details
Vehicle Registration
FeedbackTbl

VehicleReg
30

ER Diagram

31

System Design
INPUT DESIGN
Input design is the process of converting a user-oriented description of the inputs
to a computer based business system into a programmer-oriented specification.
Inaccurate input data is the most common cause of processing errors. Effective
input design minimizes errors made by data entry operators. The input design is
the link that ties information system into the world of its users. Input design
consists of developing specific procedures for data preparations, steps necessary
to put the transaction data in the form that is usable for computer processing.
The data entry operator need to know the space allocated for each field, the field
sequence which must match with the source document and the format in which
the data is entered.
This project E-Road Transport Management System has got several inputs
taken from the user. They are:
Details of vehicles and license holders.
Complaints by the user.
The system is provided with C# pages for the user to input above details. Only
the administrator and registered user are able to upload data. So their details are
the major inputs to the system.

32

OUTPUT DESIGN
Outputs form computer systems are required primarily to communicate the
processing to the end users. The output of the system designed in such a way
that it provides, opportunities, problem or warnings, trigger an action and
confirm an action. The user-friendly interfaces provide a clear output to the
system.
The output of this software system is a website. This system consists of online
vehicle registration, fancy number selection, information about License and
complaint registration.
In this system the output that can be viewed by the end user is the website. It
provides an opportunity to get public awareness, online registration for vehicles,
selection of fancy number, license application form downloading and uploading,
and complaint registration, automatic e mail for the registered user about license
renewal etc.
Module design:
Software design sits at the technical kernel of the software engineering
process and is applied regardless of the development paradigm and area of
application. Design is the first step in the development phase for any engineered
product or system. The designers goal is to produce a model or representation
of an entity that will later be built. Beginning, once system requirement have
been specified and analyzed, system design is the first of the three technical
activities -design, code and test that is required to build and verify software.

The importance can be stated with a single word Quality. Design is the
place where quality is fostered in software development. Design provides us
with representations of software that can assess for quality. Design is the only
way that we can accurately translate a customers view into a finished software
product or system. Software design serves as a foundation for all the software
engineering steps that follow. Without a strong design we risk building an

33

unstable system one that will be difficult to test, one whose quality cannot be
assessed until the last stage.
During design, progressive refinement of data structure, program
structure, and procedural details are developed reviewed and documented.
System design can be viewed from either technical or project management
perspective. From the technical point of view, design is comprised of four
activities architectural design, data structure design, interface design and
procedural design.
MODULES
The main Modules of this system are:
1) Administrator
2) User
1)

Administrator can do the following function

Update the act and rules.


Send the acknowledgement to user.
Manage the user account.
Update the news.
Issue the license.
Renew the license.
Take demo test, driving test.

2) User can do the following function


Register their information and create account.
Select Demo test And Give That test.
See the demo test result at the time.
See The Information regarding RTO.
See the act and Rules Updated by admin.
Apply for Learning & Permanent License.
Apply for Duplicate License.
Apply for renewal of License.
34

Apply for Vehicle Registration.

35

DATABASE DESIGN
Tables structure
Table Name: UserLogin

Fieldname

Data Type

SIZE

Key

USERNAME

VARCHAR

25

PRIMARY
KEY

PASSWORD

VARCHAR

25

Table Name: User Registration

Field Name

Data Type

Size

USERNAM
E
FIRST
NAME
LAST
NAME
GENDER

VARCHAR2 25

Constraint
s
Primary
Key
NOT
NULL
NOT
NULL
NOT
NULL

VARCHAR2 50
VARCHAR2 25
VARCHAR2 10

MOBILENO VARCHAR2 10
SEC_QUES

VARCHAR2 100

SEC_ANS

VARCHAR2 50

NOT
NULL
NOT
NULL

36

Description
USER NAME
OF THE USER
FIRST NAME
OF THE USER
LAST NAME
OF USER
GENDER OF
USER
MOBILE NO
OF USER
SECURITY
QUESTION
SECURITY
ANSWER

Table Name: Admin

Fieldname

Data Type

Length

USERNAME

VARCHAR

20

Key
PRIMARY
KEY

PASSWORD

VARCHAR

20

Table name: Questionbank

Column
Name
QID

Data
Type
INT

QUESTION

VARCH
AR
VARCH
AR
VARCH
AR
VARCH
AR
VARCH
AR
VARCH
AR

CHOICE1
CHOICE2
CHOICE3
RIGHT
IMAGE

Width/Siz Constraint Description


e
s
32
PRIMARY ID OF THE QUESTION
KEY
MAX
NOT
QUESTION
NULL
50
NOT
CHOICE
NULL
50
NOT
CHOICE
NULL
50
NOT
CHOICE
NULL
50
NOT
RIGHT ANSWER
NULL
50
NOT
IMAGE
NULL

37

Table Name: Fileupload

Column
Name
ID

Data Type

Size

INT

32

USERNA
ME
CATEGOR
Y
FILENAM
E
DTE

VARCHAR

50

VARCHAR

50

VARCHAR

50

VARCHAR

50

Constrain
ts
PRIMAR
Y KEY
FOREIGN
KEY
NOT
NULL
NOT
NULL
NOT
NULL

Description
ID OF THE FILE
ID OF THE USER
CATEGORY OF FILE
NAME OF THE FILE
DATE

Table Name: LicenceDetails


Column
Name
USERNAM
E
NAME
SEX
PADDRESS

Data Type

Size

VARCHAR

30

VARCHAR
VARCHAR
VARCHAR

25
7
MAX

Constraint
s
PRIMARY
KEY
NOT NULL
NOT NULL
NOT NULL

CADDRES
S
DOB
EDU_QUA
L
MOBILEN
O
DTE
ID_MARK

VARCHAR

MAX

NOT NULL

DATE
VARCHAR

MAX

NOT NULL
NOT NULL

VARCHAR

15

NOT NULL

VARCHAR
VARCHAR

50
MAX

NOT NULL DATE OF ISSUE


NOT NULL IDENTIFICATION
38

Description
USER NAME
NAME OF THE USER
SEX
PERMANENT
ADDRESS
COMMUNICATION
ADDRESS
DATE OF BIRTH
EDUCATIONAL
QUALIFICATION
CONTACT NO

BLOOD
EMAIL
STATUS

VARCHAR
VARCHAR
VARCHAR

8
50
50

MARK
NOT NULL BLOOD GROUP
NOT NULL E MAIL ADDRESS
NOT NULL STATUS

Table Name: LearningTbl


Name

Data Type

Size

USERNAM VARCHA
E
R
TEMPNO
VARCHA
R
STATUS
VARCHA
R
DATE
DATE

30

AUTHORI
TY

50

VARCHA
R

50
50

Constrain
ts
FOREIGN
KEY
PRIMAR
Y KEY
NOT
NULL
NOT
NULL
NOT
NULL

Description

Constrain
ts
FOREIGN
KEY
PRIMAR
Y KEY
NOT
NULL
NOT
NULL

Description

ID OF LICENSE
HOLDER
TEMPORARY LICENSE
NUMBER
STATUS
LEARNING LICENCE
ISSUE DATE
NAME OF AUTHORITY

Table Name: PermanentTbl


Name

Data Type Size

USERNAM
E
LICENCEN
O
DATE

VARCHA
R
VARCHA
R
DATE

30

AUTHORIT
Y
EXPIREDA
TE
STATUS

VARCHA
R
DATE

50

VARCHA
R

50

50
-

ID OF LICENSE
HOLDER
TEMPORARY LICENSE
NUMBER
PERMANENT LICENCE
ISSUE DATE
NAME OF AUTHORITY
LICENCE EXPIRE DATE

NOT
NULL
39

STATUS

Table Name: Fancynumber

Column Name

Data Type

Size

ID

INT

32

FANCYNUMB
ER
STATUS

VARCHA
R
INT

50

Constrain Description
ts
PRIMAR ID OF THE FANCY
Y KEY
NUMBER
FANCY NUMBER

32

STATUS

Table Name: Feedback

FIELD
NAME
SUBJECT

DATATYPE

SIZE

VARCHAR2

30

CONSTRAIN
TS
NOT NULL

NAME

VARCHAR2

20

NOT NULL

PHONE NO. VARCHAR2

10

NOT NULL

E-MAIL

VARCHAR2

30

NOT NULL

DETAILS

VARCHAR2

30

NOT NULL

DESCRIPTION
SUBJECT FOR
FEEDBACK
NAME OF
SENDER
PHONE. NO. OF
SENDER
E-MAIL OF
SENDER
DETAILS OF
QUERY

Table Name: Mail

Column
Name
ID

Data Type

Size

Constraints Description

INT

32

PRIMARY
40

MAIL ID

FROM1

VARCHAR

20

TO1

VARCHAR

20

SUBJECT

VARCHAR

25

BODY

VARCHAR

MAX

DTE
STATUS

VARCHAR
VARCHAR

DATE
30

KEY
NOT NULL NAME OF
SENDER
NOT NULL NAME OF
RECIPIENT
NOT NULL SUBJECT OF
MAIL
NOT NULL CONTENTS OF
THE MAIL
NOT NULL DATE
NOT NULL STATUS OF MAIL

Table Name: Vehiclereg


Column
Name
ID
NAME
AGE
PADDRESS
CADDRESS
DEALER
CLASS
BODY
VEHICLE
MANUNAM
E
DATEOFMA

Description

Data Type

Size

Constraints

ID OF THE
VEHICLE
NAME OF
USER
AGE OF THE
USER
PERMANENT
ADDRESS
COMMUNICAT
ION ADDRESS
DEALER
CLASS OF THE
VEHICLE
TYPE OF
BODY
NAME OF
VEHICLE
NAME OF
MANUFACTUR
ER
DATE OF

INT

32

PRIMARY
KEY

VARCHAR

25

INT

32

VARCHAR

MAX

VARCHAR

MAX

VARCHAR
VARCHAR

50
50

VARCHAR

50

VARCHAR

50

VARCHAR

50

VARCHAR

50

41

NU

MANUFACTUR
ING
HP
HORSE
VARCHAR
POWER
CHASSISNO CHASSIS
VARCHAR
NUMBER
ENGNO
ENGINE
VARCHAR
NUMBER
CAPACITY
CAPACITY FLOAT
FUEL
FUEL TYPE
VARCHAR
COLOUR
COLOUR OF
VARCHAR
VEHICLE
LENGTH
LENGTH OF
FLOAT
VEHICLE
WIDTH
WIDTH OF
FLOAT
VEHICLE
HEIGHT
HEIGHT OF
FLOAT
VEHICLE
REGNO
REGISTRATIO VARCHAR
N NUMBER

42

50
50
50

50
50

50

Table Name: Testresult


FIELD
NAME
USERNAM
E
TEST_DAT
E
MARKS
RESULT

DATATYPE

SIZE

DESCRIPTION

30

CONSTRAIN
TS
NOT NULL

VARCHAR2
DATE

NOT NULL

TEST DATE

NUMERIC
VARCHAR2

3
30

NOT NULL
NOT NULL

TEST MARKS
TEST RESULT

43

USER NAME

Coding
ProjectStartPage
<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Main.master"
AutoEventWireup="true" CodeFile="ProjectStartpage.aspx.cs"
Inherits="admin_ProjectStartpage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<link href="../Styles/home1.css" rel="stylesheet" type="text/css" />
<style type="text/css">
#form1
{
height: 40px;
}
.style7
{
width: 99%;
border:thin ridge #A7A7A7;
}
.style8
{
height: 50px;
}
.style9
{
width: 99%;
border:thin ridge #A7A7A7;
}
.style10
{
height:50px;
}
.style11
{
width: 99%;
border:thin ridge #A7A7A7;
}
44

.style12
{
height:50px;
}
.style13
{
width: 99%;
border:thin ridge #A7A7A7;
}
.style14
{
height:50px;
}
.style15
{
width: 99%;
border:thin ridge #A7A7A7;
}
.style16
{
height:50px;}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID=ContentPlaceHolder1
runat="server">
<table class="style1">
<tr>
<td align="center" class="style2">
<strong>Regional Transport Office</strong></td>
</tr>
</table>
<p class="MsoNormal">
<span class="style3"
style="line-height: 115%; font-family: &quot;Times New
Roman&quot;,&quot;serif&quot;">
&nbsp;&nbsp;&nbsp;</span></p>
<table align="center" cellpadding="2" class="style5">
<tr>
<td style="font-size: medium">
45

<p class="MsoNormal"
style="font-size: medium; line-height: 115%; font-family:
&quot;Times New Roman&quot;,&quot;serif&quot;">
The Regional Transport Office<span style="msospacerun:yes">&nbsp; </span>is a
UP government bureau which<span style="msospacerun:yes">&nbsp; </span>is
responsible for the registration of<span style="msospacerun:yes">&nbsp; </span>
vehicles and the issue of the driving licence in
UP.<o:p></o:p></p>
</td>
</tr>
<tr>
<td>
<p class="MsoNormal">
<span class="style3"
style="line-height: 115%; font-family: &quot;Times New
Roman&quot;,&quot;serif&quot;">
E-Regional Transport Office Management System is a web
application that has
been designed to automate the process of registration of vehicle
and issuing
driving license process. System can make the daily activities
efficient and
providing the fast response to store and retrieve information.
</span>
<span style="color:black"><o:p></o:p></span>
</p>
</td>
</tr>
<tr>
<td>
&nbsp;</td>
</tr>
</table>
<table class="style6">
<tr>
46

<td align="center" class="style2">


<strong>News And Update</strong></td>
</tr>
</table>
</asp:Content>
AdminLogin
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class admin_admin_login : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataReader rd;
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void btn_logn_Click(object sender, EventArgs e)
{
47

conn();
string s = "select * from admin_login where username='" + username.Text
+ "' AND password='" + password.Text + "'";
try
{
cm = new SqlCommand(s, cn);
rd = cm.ExecuteReader();
if (rd.Read())
{
Session["username"] = username.Text;
Response.Redirect("~/admin/admin_inbox.aspx");
}
else
{
lbl_msg.Text="Invalid User Name";
}
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
}
UserLogin
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class login : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
48

SqlDataReader rd;
protected void Page_Load(object sender, EventArgs e)
{
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
conn();
string s="insert into user_register
values('"+txt_fnm.Text+"','"+txt_lnm.Text+"','"+txt_unm.Text+"','"+txt_passwor
d.Text+"','"+txt_date.Text+"')";
try
{
cm = new SqlCommand(s, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = "Record is saved";
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
conn();
49

string s = "select * from user_register where username='" + username.Text


+ "' AND password='" + password.Text + "'";
try
{
cm = new SqlCommand(s, cn);
rd = cm.ExecuteReader();
if (rd.Read())
{
Session["username"] = username.Text;
Response.Redirect("~/user/Licence_form.aspx");
}
else
{
lbl_msg1.Text = "Invalid user name or password";
}
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void txt_lnm_TextChanged(object sender, EventArgs e)
{
}
}
RTO Test
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class Rto_test : System.Web.UI.Page
50

{
SqlCommand cm;
SqlConnection cn;
SqlDataAdapter da;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["username"] == null)
{
Response.Redirect("login.aspx");
}
shwgrid();
Session["qno"] = 0;
Session["ans"] = 0;
show_ques();
}
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
void shwdtalist()
{
conn();
try
{
51

string s="select Images from l_rto_test where Que_id


="+lbl_que_no.Text;
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
void shwgrid()
{
conn();
try
{
string s = "select * from l_rto_test";
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
void show_ques()
{
lbl_que_no.Text=
Convert.ToString(Convert.ToInt32(Session["qno"].ToString()) + 1);
int r = Convert.ToInt32(Session["qno"].ToString());
lbl_Que.Text = GridView1.Rows[r].Cells[1].Text;
RadioButtonList1.Items.Clear();
RadioButtonList1.Items.Add(GridView1.Rows[r].Cells[2].Text);
52

RadioButtonList1.Items.Add(GridView1.Rows[r].Cells[3].Text);
RadioButtonList1.Items.Add(GridView1.Rows[r].Cells[4].Text);
shwdtalist();
lbl_result.Text = GridView1.Rows[r].Cells[5].Text;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Convert.ToInt32(Session["qno"]) < 9)
{
if (RadioButtonList1.Text ==
GridView1.Rows[Convert.ToInt32(Session["qno"])].Cells[5].Text)
Session["ans"] = Convert.ToInt32(Session["ans"]) + 1;
Session["qno"] = Convert.ToInt32(Session["qno"]) + 1;
show_ques();
}
else
{
if (RadioButtonList1.Text ==
GridView1.Rows[Convert.ToInt32(Session["qno"])].Cells[5].Text)
Session["ans"] = Convert.ToInt32(Session["ans"]) + 1;
btn_fnsh.Visible = true;
Button1.Visible = false;
Response.Write("Result=" + Session["ans"].ToString());
}
}
protected void btn_fnsh_Click(object sender, EventArgs e)
{
Response.Redirect("~/user/test_result.aspx");
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
53

Issue Learning Licence Form


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class admin_admin_licen : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataAdapter da;
SqlDataReader rd;
string status;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
conn();
int i = 6;
status = "approved";
lbl_status.Text = status;
DateTime dt = DateTime.Now;
lbl_issue_dt.Text = dt.ToString("dd/MM/yyyy");
dt = dt.AddMonths(i);
lbl_expir_dt.Text = dt.ToString("dd/MM/yyyy");
cuntshw();
}
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
54

try
{
cn.Open();
string s = "select * from lerng_licence where status='applied'";
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
void cuntshw()
{
conn();
try
{
int regs_no = 0;
string s = "select Isnull(max(licence_no),0) as cut from lerng_licence";
cm = new SqlCommand(s, cn);
rd = cm.ExecuteReader();
if (rd.Read())
{
regs_no = Convert.ToInt32(rd["cut"].ToString());
if (regs_no == 0)
{
regs_no = 1;
}
else
{
regs_no++;
}
txt_licence.Text = regs_no.ToString();
} rd.Close();
}
catch (Exception ea)
55

{
Response.Write(ea.Message);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string msg_status = "applied";
conn();
try
{
string s = "update lerng_licence set licence_no='" + txt_licence.Text + "',
l_issue_date='" + lbl_issue_dt.Text + "', l_expry_dat='" + lbl_expir_dt.Text +
"',status='" + lbl_status.Text + "' where reg_no='" + txt_reg_no.Text + "'";
cm = new SqlCommand(s, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = " Congratulation your learning licence no Requested is
accepted , your licence no is that.."+txt_licence.Text;
string p = "insert into inbox
values('"+lbl_issue_dt.Text+"','"+lbl_usrnm.Text+"','"+lbl_title.Text+
"','Learning Licence','" + lbl_msg.Text+"','"+msg_status+"')";
cm = new SqlCommand(p, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = "Licence No Is Generated And Also Msg Send.......";
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
txt_reg_no.Text = GridView1.SelectedRow.Cells[3].Text;
lbl_usrnm.Text=GridView1.SelectedRow.Cells[4].Text;
}
}
Permanent Licence
56

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class admin_allow_permanent_licenc : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataAdapter da;
string status;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
conn();
int i = 20;
status = "approved";
lbl_p_status.Text = status;
DateTime dt = DateTime.Now;
lbl_curnt_date.Text = dt.ToString("dd/MM/yyyy");
dt = dt.AddMonths(i);
lbl_expry_date.Text = dt.ToString("dd/MM/yyyy");
}
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
57

{
cn.Open();
string s = "select * from lerng_licence where p_status='applied'";
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void btn_alw_licence_Click(object sender, EventArgs e)
{
conn();
string msg_status = "applied";
try
{
string s = "update lerng_licence set p_issue_date='" +
lbl_curnt_date.Text + "', p_expiry_date='" + lbl_expry_date.Text + "',
p_status='" + lbl_p_status.Text + "' where licence_no='" + txt_lerng_licnc.Text +
"'";
cm = new SqlCommand(s, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = " Congratulation your permanent licence no Requested
is accepted , your licence no is that.." + txt_lerng_licnc.Text;
string p = "insert into inbox values('" + lbl_curnt_date.Text + "','" +
lbl_usr_nm.Text + "','" + lbl_title.Text + "',Permanent Licence','" + lbl_msg.Text
+ "','" + msg_status + "')";
cm = new SqlCommand(p, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = "Licence No Is Generated And Also Msg Send.......";
Response.Redirect("~/admin/msg.aspx");
}
catch (Exception ea)
{
58

Response.Write(ea.Message);
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs
e)
{
lbl_usr_nm.Text=GridView1.SelectedRow.Cells[2].Text;
txt_lerng_licnc.Text = GridView1.SelectedRow.Cells[11].Text;
}
}
Duplicate /Lost Licence
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class admin_Allow_duplicate_l_licence : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataAdapter da;
string Dl_status;
string Pl_status;
int i = 6;
int j = 10;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
dd_dl.Items.Add("Learning duplicate licence");
59

dd_dl.Items.Add("Permanent duplicate licence");


}
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//Session["username"] = lbl_usr_nm.Text;
//Session["licence"] = txt_licnc_no.Text;
Dl_status = "approved";
lbl_dl_status.Text = Dl_status;
Pl_status = "approved";
lbl_pl_status.Text = Pl_status;
string msg_status = "applied";
conn();
if (dd_dl.Text == "Learning duplicate licence")
{
string s = "update lerng_licence set l_issue_date='" +
lbl_issue_date.Text + "', l_expry_dat='" + lbl_expry.Text + "', dl_status='" +
lbl_dl_status.Text + "' where licence_no='" + txt_licnc_no.Text + "'";
try
{
cm = new SqlCommand(s, cn);
cm.ExecuteNonQuery();

60

lbl_msg.Text = " Congratulation your duplicate learning licence no


Requested is accepted , your licence no is that.." + txt_licnc_no.Text +" Now
your this licence will work like as learning licence";
string p = "insert into inbox values('" + lbl_issue_date.Text + "','" +
lbl_usr_nm.Text + "','" + lbl_title.Text + "','" + lbl_msg.Text + "','" + msg_status
+ "')";
cm = new SqlCommand(p, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = "Licence No Is Generated And Also Msg Send.......";
//Response.Redirect("~/admin/msg.aspx");
}catch(Exception ea)
{
Response.Write(ea.Message);
}
}
else if (dd_dl.Text == "Permanent duplicate licence")
{
string s = "update lerng_licence set p_issue_date='" +
lbl_issue_date.Text + "', p_expiry_date='" + lbl_expry.Text + "', dp_status='" +
lbl_pl_status.Text + "' where licence_no='" + txt_licnc_no.Text + "'";
try
{
cm = new SqlCommand(s, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = " Congratulation your duplicate permanent licence no
Requested is accepted , your licence no is that.." + txt_licnc_no.Text + " Now
your this licence will work like as learning licence";
string p = "insert into inbox values('" + lbl_issue_date.Text + "','" +
lbl_usr_nm.Text + "','" + lbl_title.Text + "','Duplicate Permanent Licence','" +
lbl_msg.Text + "','" + msg_status + "')";
cm = new SqlCommand(p, cn);
cm.ExecuteNonQuery();
lbl_msg.Text = "Licence No Is Generated And Also Msg Send.......";
//Response.Redirect("~/admin/msg.aspx");
}catch(Exception ea)
61

{
Response.Write(ea.Message);
}
}
}
protected void dd_dl_SelectedIndexChanged(object sender, EventArgs e)
{
conn();
if (dd_dl.Text == "Learning duplicate licence")
{
string s = "select * from lerng_licence where dl_status='Applied'";
try
{
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
lbl_issue_date.Text = DateTime.Now.ToShortDateString();
lbl_expry.Text =
DateTime.Now.AddMonths(i).ToShortDateString();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
else if (dd_dl.Text == "Permanent duplicate licence")
{
string s = "select * from lerng_licence where dp_status='Applied'";
try
{
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
lbl_issue_date.Text = DateTime.Now.ToShortDateString();
62

lbl_expry.Text = DateTime.Now.AddYears(j).ToShortDateString();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
txt_licnc_no.Text = GridView1.SelectedRow.Cells[2].Text;
lbl_usr_nm.Text=GridView1.SelectedRow.Cells[3].Text;
}
}

63

Upload RTO Test


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class admin_Folder_test_entry_form : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataAdapter da;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
conn();
dd_categry.Items.Add("Learning");
dd_categry.Items.Add("permanent");
}
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
if (dd_categry.Text == "Learning")
{
string s = "select * from l_rto_test";
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
64

da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
else if (dd_categry.Text == "permanent")
{
string s = "select * from p_rto_test";
da = new SqlDataAdapter(s, cn);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
}
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void Que_name_TextChanged(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
conn();
if (Image1.HasFile)
{
string fn = Image1.FileName;
Image1.SaveAs(Server.MapPath("~/Question_img/") + fn);
if (Button1.Text == "Insert")
{
if (dd_categry.Text == "Learning")
{
string s = "insert into l_rto_test values(" + Que_id.Text + ",'" +
Que_name.Text + "','" + Que_op1.Text + "','" + Que_op2.Text + "','" +
Que_op3.Text + "','" + fn + "','" + Que_ans.Text + "')";
cm = new SqlCommand(s, cn);
try
{
65

cm.ExecuteNonQuery();
Label2.Text = "Record Is Saved.....";
Label2.Text = " ";
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
else if (dd_categry.Text == "permanent")
{
string s = "insert into p_rto_test values(" + Que_id.Text + ",'" +
Que_name.Text + "','" + Que_op1.Text + "','" + Que_op2.Text + "','" +
Que_op3.Text + "','" + fn + "','" + Que_ans.Text + "')";
cm = new SqlCommand(s, cn);
try
{
cm.ExecuteNonQuery();
Label2.Text = "Record Is Saved.....";
Label2.Text = " ";
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
}
else if (Button1.Text == "Update")
{
if (dd_categry.Text == "Learning")
{
string s = "update test_entry set Que_name='" + Que_name.Text + "',
Que_opt1='" + Que_op1.Text + "', Que_opt2='" + Que_op2.Text + "',
Que_opt3='" + Que_op3.Text + "', Images='" + fn + "', Que_ans='" +
Que_ans.Text + "'where Que_id=" + Que_id.Text;
cm = new SqlCommand(s, cn);
try
66

{
cm.ExecuteNonQuery();
conn();
Label2.Text = "Record Is Updated.....";
Que_id.Text = " ";
Que_name.Text = " ";
Que_op1.Text = " ";
Que_op2.Text = " ";
Que_op3.Text = " ";
Que_ans.Text = " ";
Label2.Text = " ";
Button1.Text = "Insert";
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
else if (dd_categry.Text == "permanent")
{
string s = "update test_entry set Que_name='" + Que_name.Text +
"', Que_opt1='" + Que_op1.Text + "', Que_opt2='" + Que_op2.Text + "',
Que_opt3='" + Que_op3.Text + "', Images='" + fn + "', Que_ans='" +
Que_ans.Text + "'where Que_id=" + Que_id.Text;
cm = new SqlCommand(s, cn);
try
{
cm.ExecuteNonQuery();
conn();
Label2.Text = "Record Is Updated.....";
Que_id.Text = " ";
Que_name.Text = " ";
Que_op1.Text = " ";
Que_op2.Text = " ";
Que_op3.Text = " ";
Que_ans.Text = " ";
Label2.Text = " ";
Button1.Text = "Insert";
}
67

catch (Exception ea)


{
Response.Write(ea.Message);
}
}
}
}
}
protected void Button2_Click(object sender, EventArgs e)
{
Que_id.Text = " ";
Que_name.Text = " ";
Que_op1.Text = " ";
Que_op2.Text = " ";
Que_op3.Text = " ";
Que_ans.Text = " ";
Label2.Text = " ";
}
protected void Button3_Click(object sender, EventArgs e)
{
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (dd_categry.Text == "Learning")
{
Que_id.Text = GridView1.SelectedRow.Cells[1].Text;
Que_name.Text = GridView1.SelectedRow.Cells[2].Text;
Que_op1.Text = GridView1.SelectedRow.Cells[3].Text;
Que_op2.Text = GridView1.SelectedRow.Cells[4].Text;
Que_op3.Text = GridView1.SelectedRow.Cells[5].Text;
Que_ans.Text = GridView1.SelectedRow.Cells[7].Text;
Button1.Text = "Update";
}
else if (dd_categry.Text == "permanent")
{
Que_id.Text = GridView1.SelectedRow.Cells[1].Text;
Que_name.Text = GridView1.SelectedRow.Cells[2].Text;
Que_op1.Text = GridView1.SelectedRow.Cells[3].Text;
68

Que_op2.Text = GridView1.SelectedRow.Cells[4].Text;
Que_op3.Text = GridView1.SelectedRow.Cells[5].Text;
Que_ans.Text = GridView1.SelectedRow.Cells[7].Text;
Button1.Text = "Update";
}
}
protected void Que_op1_TextChanged(object sender, EventArgs e)
{
}
}

69

Feedback
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
public partial class user_Feedback : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
SqlConnection con = new SqlConnection(cs);
try
{
con.Open();
string s = "insert into
Feedback(Feed_Date,Name,Mobile,Email,Comments)values('" + TextBox2.Text
+ "','" + TextBox3.Text + "'," + TextBox4.Text + ",'" + TextBox5.Text + "','" +
TextBox6.Text + "')";
SqlCommand cmd = new SqlCommand(s, con);
int i = cmd.ExecuteNonQuery();
con.Close();
if (i > 0)
{
Label1.Text = "Record inserted...";
}
else
{
Label1.Text = "Record not inserted...";
}
70

}
catch (Exception ex)
{
}
}
protected void Button2_Click(object sender, EventArgs e)
{
TextBox2.Text = "";
TextBox3.Text = "";
TextBox4.Text = "";
TextBox5.Text = "";
TextBox6.Text = "";
}
}
Online Application
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class user_Licence_form : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}

71

Licence Renew
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class user_Renewl : System.Web.UI.Page
{
SqlConnection cn;
SqlCommand cm;
SqlDataReader rd;
protected void Page_Load(object sender, EventArgs e)
{
}
void conn()
{
string cs =
ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionStrin
g.ToString();
cn = new SqlConnection(cs);
try
{
cn.Open();
}
catch (Exception ea)
{
Response.Write(ea.Message);
}
}
protected void btn_duplict_Click(object sender, EventArgs e)
{
conn();
72

lbl_curnt_date.Text=DateTime.Now.ToShortDateString();
try
{
string s = "select * from lerng_licence where licence_no='" +
txt_lerning_licnc_no.Text + "' and dob='" + txt_dob.Text + "'";
cm = new SqlCommand(s, cn);
rd = cm.ExecuteReader();
if (rd.Read())
{
lbl_p_expiry.Text = rd["p_expiry_date"].ToString();
string expiry_date;
string currnt_date;
expiry_date = lbl_p_expiry.Text;
currnt_date = lbl_curnt_date.Text;
if (Convert.ToInt32(expiry_date) >= Convert.ToInt32(currnt_date))
{
lbl_msg.Text = "Your Licence Can Not Be Renewal Because Your
Permanent Licence Date Is Not Expired Now";
}
else
{
Session["licencno"] = txt_lerning_licnc_no.Text;
Response.Redirect("~/user/duplicate_lost_allow.aspx");
}
}
else
{

lbl_msg.Text = "Sorry Your Learning Licence No And Date Of Birth


Is Wrong ";
}
}
catch (Exception ea)
{
Response.Write(ea.Message);
73

}
}
}

74

Output Screens

Home page

It is the home page of the project.

75

AdminLogin

76

UserLogin

77

RTO Test

78

Learning License Form

79

Permanent Licence

80

Permanent License info

81

Change Password

82

Issue Learning License

83

Issue Permanent License

84

Issue Duplicate /Lost Licence

85

Upload RTO Test

86

Feedback

87

Licence Renew

88

Scope

Reusability:
Reusability is possible as and when we require in this application.
We can update it next version. Reusable software reduces design, coding and
testing cost by amortizing effort over several designs. Reducing the amount of
code also simplifies understanding, which increases the likelihood that the code
is correct. We follow up both types of reusability: Sharing of newly written code
within a project and reuse of previously written code on new projects.
Extensibility:
This software is extended in ways that its original developers may
not expect. The following principles enhance extensibility like Hide data
structure, avoid traversing multiple links or methods, Avoid case statements on
object type and distinguish public and private operations.
Robustness:
Its method is robust if it does not fail even if it receives improper
parameters. There are some facilities like Protect against errors, Optimize after
the program runs, validating arguments and Avoid predefined limits.
Understandability:
A method is understandable if someone other than the creator of
the method can understand the code (as well as the creator after a time lapse).
We use the method, which small and coherent helps to accomplish this.
Cost-effectiveness:
Its cost is under the budget and make within given time
period. It is desirable to aim for a system with a minimum cost subject to the
condition that it must satisfy all the requirements.
Scope of this document is to put down the requirements, clearly identifying the
information needed by the user, the source of the information and outputs
expected from the system.
89

Testing
Software Testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and code generation. The
increasing visibility of software as a system element and the attendant costs
associated with a software failure are motivating forces for well planned,
thorough testing.
Testing Objective:
The following are the testing objectives:
-Testing is a process of executing a program with the intent of finding an error.
-A good test case is one that has a high probability of finding an as-yetundiscovered error
-A successful test is one that uncovers an as yet undiscovered error.
Testability:
Software Testability is simply how easily (a computer program can be tested).
The Following characteristics are considered that lead to testable software.
-Operability: The better it works, the more efficiently it can be tested.
-Observability: What you see is what you test.
-Controllability: The better we can control the software, the more the Testing
can be automated and optimized.
-Decomposability: By controlling the scope of testing, we can more quickly
Isolate problems and perform smarter retesting.

90

-Simplicity: The less there is to test, the more quickly we can test it.
-Stability: The fewer the changes, the fewer the disruptions to testing.
-Understandability: the more information we have, the smarter we will test.
TEST CASE DESIGN:
The design of testing can be divided into two broad categories:
White Box Testing:
Black box testing:
WHITE BOX TESTING:
White box testing of software is predicated on close examination of procedural
detail. Logical paths through the software are tested by providing test cases that
exercise Specific sets of conditions and /or loops. The main disadvantage with
white box testing is even for smaller programs the number of possible logical
paths can be very very large.
BLACK BOX TESTING:
Black box testing methods focus on the functional requirements of the software.
That is, black box testing enables the software engineer to derive sets of input
conditions that will fully exercise all functional requirements for a program.
This approach is likely to uncover a different class of errors than white box
testing method.
Black box testing attempts to find errors in the following categories:
Incorrect or missing functions.
91

Interface errors
Errors in data structures or external database access.
Performance errors, and
Initialization and termination errors.

Unlike white box testing, which is performed early in the testing process, black
box
testing
tends
to
be
applied
during
later
design.
Tests are designed to answer the following questions:
How is functional validity tested?
What classes of input will make good test cases?
Is the system particularly sensitive to certain input values?
How are the boundaries of a data class isolated?
What data rates and data volume can the system tolerate?
What effect will specific combinations of data have on system operation?
Functional testing
Early data flow analyses often centered on a set of faults that are now known
as Define/reference anomalies:
A variable that is defined but never used (referenced)
A variable that is used but never defined
A variable that is defined twice before it is used
Each of these anomalies can be recognized from the concordance of a program.
Since the concordance information is compiler generated, these anomalies can
be discovered by what is known as static analysis: finding faults in source
code without executing it.
A)-UNIT TEST PROCEDURES:
Unit testing is normally considered as an adjunct to the coding step.
After source code is developed, reviewed and verified, test cases were
established.

92

Functional behavioral were tested for each module. In the present project the
following Unit test were conducted.
Validation of registered users data
Submission of Data in the data File.
Automatic retrieval of data from the File.
Automatic display of options in the front end depending on the option
selected by the user.
B)-INTEGRATION TESTING:
Integration testing is a systematic technique for constructing the program
structure while at the same time conducting tests to uncover errors associated
with interfacing.
C)-VALIDATION TESTING:
Software validation is achieved through a series of black box tests that
demonstrate Conformity with requirements.
Validation checks have been performed for all the units/functions described in
the Requirements specifications.
In the present project the following validations are checked.
-Whether the fields such as Number field include characters
-Whether the functions such as calculations is done properly or not.
-Whether valid and required data is send into the data Files
-Under Validation testing two types of test are described.
-ALPHA TESTING: The alpha test is conducted at the Administrator site by a
client.

-BETA TESTING: The Beta Test is conducted at one or more Client/Employee.


93

D)-SYSTEM TESTING:
System testing fall outside the scope of the software process and are not
conducted solely by software engineers.
It includes the following:
-Recovery testing
-Security testing
-Stress testing
-Performance testing
Considering the fact that the present project is not much large to invite System
testing, this test has not been performed for the present project.
In E-Road Transport Management System Project Black box testing is used.

94

System Security

Introduction
The protection of computer based resources that includes hardware,
software, data, procedures and people against unauthorized use or natural
Disaster is known as System Security.

System Security can be divided into four related issues:

Security
Integrity
Privacy
Confidentiality

SYSTEM SECURITY refers to the technical innovations and procedures


applied to the hardware and operation systems to protect against deliberate or
accidental damage from a defined threat.

DATA SECURITY is the protection of data from loss, disclosure, modification


and destruction.

SYSTEM INTEGRITY refers to the power functioning of hardware and


programs, appropriate physical security and safety against external threats such
as eavesdropping and wiretapping.

PRIVACY defines the rights of the user or organizations to determine what


information they are willing to share with or accept from others and how the

95

organization can be protected against unwelcome, unfair or excessive


dissemination of information about it.

CONFIDENTIALITY is a special status given to sensitive information in a


database to minimize the possible invasion of privacy. It is an attribute of
information that characterizes its need for protection.

SECURITY IN SOFTWARE

System security refers to various validations on data in form of checks and


controls to avoid the system from failing. It is always important to ensure that
only valid data is entered and only valid operations are performed on the system.
The system employees two types of checks and controls:

CLIENT SIDE VALIDATION

Various client side validations are used to ensure on the client side that only
valid data is entered. Client side validation saves server time and load to handle
invalid data. Some checks imposed are:
ASP.NET Validation Controls are used to ensure those required fields are
filled with suitable data only. Maximum lengths of the fields of the forms are
appropriately defined.
Forms cannot be submitted without filling up the mandatory data so that
manual mistakes of submitting empty fields that are mandatory can be sorted
out at the client side to save the server time and load.

96

Tab-indexes are set according to the need and taking into account the ease of
user while working with the system.
SERVER SIDE VALIDATION

Some checks cannot be applied at client side. Server side checks are necessary
to save the system from failing and intimating the user that some invalid
operation has been performed or the performed operation is restricted. Some of
the server side checks imposed is:
Server side constraint has been imposed to check for the validity of primary
key and foreign key. A primary key value cannot be duplicated. Any attempt
to duplicate the primary value results into a message intimating the user
about those values through the forms using foreign key can be updated only
of the existing foreign key values.
User is intimating through appropriate messages about the successful
operations or exceptions occurring at server side.
Various Access Control Mechanisms have been built so that one user may not
agitate upon another. Access permissions to various types of users are
controlled according to the organizational structure. Only permitted users can
log on to the system and can have access according to their category. Username, passwords and permissions are controlled o the server side.

97

Implementation
System implementation is the stage when the user has thoroughly tested the
system and approves all the features provided by the system. The various tests
are performed and the system is approved only after all the requirements are
met and the user is satisfied.
The new system may be totally new; replacing an existing manual or
automated system, or it may a major modification to an existing system. In the
either case, proper implementation is essential to provide a reliable system to
meet organization requirements .successful implementation may not guarantee
improvement in the organization using the new system (that is a design
question) ,but improper will prevent it.
Implementation is the process of having systems personal cheek out and
put new equipment to use, train users, install the new application and
construct any files of data needed to use it. This phase is less creative than
system design. Depending on the size of the organization that will be involve
in using the application and the risk involved in its use, system developer may
choose to test the operation in only one area of the firm with only one or two
persons. Sometimes, they will run both old and new system in parallel way to
compare the results. In steel other situations, system developers stop using the
old systems one day and start using the new one the next.
The implementation of the web based or LAN base network project has
some extra steps at the time of implementation. We need to configure the
system according the requirement of the software.
For the project we need to install IIS Web Server, database server and
deployment directory for the project.

98

Aspects of implementation:-

The two aspects of implementation are:


Training Personnel
Conversion Procedures
Training:Even well designed and technically elegant systems can succeed or fail because
of the way they are used. Therefore the quality of the training received by the
personnel involved with the stem in various ways helps or hinders, and may
event prevent, the successful implementation of an information system.
Maintenance

Once the software is delivered and deployed, then maintenance phase starts.
Software requires maintenance because there are some residual errors remaining
in the system that must be removed as they discovered. Maintenance involves
understanding the existing software (code and related documents),
understanding the effect of change, making the changes, testing the new
changes, and retesting the old parts that were not changed. The complexity of
the maintenance task makes maintenance the most costly activity in the life of
software product.
It is believed that almost all software that is developed has
residual errors, or bugs, in them. These errors need to be removed when
discovered that leads to the software change. This is called Corrective
Maintenance. Corrective maintenance means repairing, processing or
performance failures or making alterations because of previously ill-defined
problems.
Software undergoes change frequently even without bugs because
the software must be upgraded and enhanced to include more features and
provide more services. This also requires modification of the software. The
99

changed software changes the environment, which in turn requires further


change. This phenomenon is called the law of software evaluation.
Maintenance due to this phenomenon is called adaptive maintenance. Adaptive
maintenance means changing the program function. Perfect maintenance means
enhancing the performance or modifying the programs according to the users
additional or changing needs. The keys to reduce the need for maintenance are:
More accurately defining the users requirement during system
development.
Preparation of system documentation in a better way.
Using more effective ways for designing processing logic and
communicating it to project team members.
Making better use of existing tools and techniques.
Managing the system engineering process effectively.
MAINTENANCE TASKS
Corrective Maintenance

Diagnose and fix logic errors


Replace defective network cabling
Restore proper configuration settings
Debug program code
Update drivers
Install software patch

Adaptive Maintenance

Add online capability


Create new reports
Add new data entry field to input screen
Install links to web site
100

Perfective Maintenance

Install additional memory


Write macros to handle repetitive tasks
Compress system files
Optimize user desktop settings
Develop library for code reuse
Install more powerful network server

Preventive Maintenance

Install new antivirus software


Develop standard backup schedule
Implement regular defragmentation process
Analyze problem report for patterns
Tighten all cable connections

MAINTENANCE OF THE WEBSITES:


During the design and development of both the websites, special care is taken of
the fact that the information will be available all over the world so only authentic
and correct information is made available through both the websites.
The code written for both the websites is properly documented. The programs
have been documented so that any other programmer can modify them easily.
Meaningful variable names have been used in each program that makes
understanding program logic easier and hence maintenance easy. Moreover while
coding the programs the design has been kept modular. Separate modules have
been written and integrated.
101

This modular design of the program will also help in pointing out and rectification
of faults within the programs.
Most important thing about the maintenance of these sites is that they must be
continuously updated so that all the time latest and correct information is made
available to the people visiting these sites. For that it is necessary that the trade
bodies should be contacted constantly and latest data all the companies belonging
to them should be taken and the database should be updated. Also the NITP units
must be requested continuously to update their data as soon as any change occurs
by using this website only so that latest information is always available to the
people.

102

Conclusion
In todays world with the increasing traffic and longer commuting
distances it is becoming very difficult for people to travel for their
particular licenses issue.
Also most of the people today work for longer hours and do not have the
flexibility to take a break from work to give the licenses tests. People
have not spent more time for licenses test.
The People want a facility where they can have easy to issue their
licenses.
The proposed System has the features for Vehicle registration, issuing of
Driving License, Giving online test, renewal of license etc thus making
the RTO operations to be performed easily and efficiently.

103

104

Bibliography
Books

SOFTWARE ENGINEERING
Roger.S. Pressman

Database System Concepts 4th edition


Silberschatz, Korth, Sudarshan

Profession ASP.NET 4.0


wrox

Complete Reference ASP.NET


Robert Standefer

Websites
www.w3schools.com
www.wrox.com
www.asp.net

105

You might also like