ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the encouragement and guidelines of many others. I take this opportunity to express my gratitude to the people who have been instrumental in the successful completion of this project.
My deepest thanks to my Lecturer Mr. ishant !harma the guide of the project for guiding and correcting various documents of mine with attention and care. "e has taken pain to go through the project and make necessary correction as when needed.
I would like to show my greatest appreciation to the ".#.$. %rof. Mr. Abhishek &ain. I can't can't say thank you enough for his tremendous tremendous support and help. I feel motivated motivated and encouraged encouraged every time I attend attend his meeting. (ithout his encouragement and guidance this project would not have materiali)ed.
I would also like to thank to our respected %rofessor Mr. *harat !harma for his support and concern on our project work.At last I would like to thank to my parents who had supported and encouraged me a lot while doing this %roject as a successful complete %roject.
Shyam Mohta 10EAYCS114
DECLARATION
I do hereby declare that the project report entitled “ONLINE MISSING VEHICLE TRACKING APPLICATION FOR POLICE DEPARTMENT is an original %roject work carried on by me,
under the supervision of MSIT and my internal guide M!" N#$ha%t Sha!ma , Lecturer, $epartment of +omputer !cience, COMPUTER SCIENCE AND ENGINEERING , ACERC and the same has not been submitted by me elsewhere either in part or in full, in fulfillment of the reuirement for the award of any similar degree or diploma.
P&a'()*ACERC+ ,a#-.! Dat()* 1/10012
Shyam Mohta 10EAYCS114
A3STRACT
•
P!o&(m Stat(m(%t
-housands of automobiles are lost each year in the state and thousands of automobiles are also recovered by the %olice from when they catch the culprits or even when the culprits leave the vehicles they have stolen after they have used them. -he usual problem with the recovered vehicles reaching the actual owners is that the vehicle need not be found in the same jurisdiction as one in which the complaint was launched. !o, when a vehicle is recovered, usually the %olice try to trace out the actual owner of the vehicle from the -# based on the license and chassis number. *ut this is a lengthy and time consuming process for the -# to trace out the actual owners from the records and inform back to the %olice stations. *ecause of these delays, vehicles that are recovered also take a long time to actually reach their owners. •
P!o-o$(5 So&.t#o%
-here is a need for a centrali)ed !M! based application for the police department to uery the details of the vehicle recovered by sending out an !M!. -his application should allow users to capture the details of the stolen vehicles, along with the owner details and /I details, so that when someone ueries for this vehicle when found, based on the chassis number, they get the information about the actual owner as well as the %olice station in which the complaint was launched. -he same application can also be used by the general public while buying second hand vehicles to check if they are stolen property. -his application can also be used to check the details of any suspicious unattended vehicles, thus encouraging the public participation in recovering the stolen vehicles. •
P!o'($$($ I%6o&6(5
Access Management process to allow authori)ed %olice and data entry personnel
%olice !tation information setup and maintenance process
Lost 0ehicles Information setup and maintenance process
!M! reuest parsing and information uerying process
!M! delivery process
Archiving and *ackup process
•
Mo5.&($ I%6o&6(5
Access management Module: -his module is used by the system Admin to setup authori)ed %olice and data1entry user's access.
Police Station information setup and maintenance Module: -his module allows the authori)ed users to setup and maintain information related to the police stations in the state.
Lost Vehicles information setup and maintenance Module: -his module allows the authori)ed2data entry users to setup and maintain information related lost vehicles along with the /I details.
SMS Query Reading Module: eads the incoming !M! and prepares the search string by parsing the !M! message.
Search Results Notification Module: !earches the database for the matching chassis number and sends back the appropriate details matching the search criteria.
Archiving and bacup Module: Allows Admin users to Archive2backup old data on the system
•
A--'at#o% D(6(&o-m(%t) Sy$t(m R(7.#!(m(%t$
1.
(indows #perating !ystem
2.
/ront1end3 Microsoft .et /ramework and 0isual !tudio 45xpress 5dition6
3.
*ack1end3 !7L !erver $atabase
4.
Mobile %hone and Mobile %hone !imulator applications
CONTENTS S" No"
Pa8( No"
1" INTROD9CTION
8.8.
I-#$9+-I# -# %#&5+-
1
8.:.
#;AI
1
8.=.
%9%#!5 #/ -"5 %#&5+-
2
8.>.
%#*L5M I 5?I!-I; !@!-5M
2
8..
!#L9-I# #/ -"5!5 %#*L5M!
4
" SYSTEM ANALYSIS
I-#$9+-I#
:
AAL@!I! M#$5L
:
!-9$@ #/ -"5 !@!-5M
;
"A$(A5 B !#/-(A5 579IM5-
<
2" FEASI3ILITY REPORT
-5+"I+AL /5A!I*ILI-@
3.1.
10
2".
#%5A-I#AL /5A!I*ILI-@
11
2"2.
5+##MI+ /5A!I*ILI-@
11
4" SELECTED SOFTWARE 4"1.
I-#$9+-I# -# .5- /AM5(#C
1
4".
A!%.5-
14
4"2.
+D.5-
22
4"4.
!7L !505
22
S" No"
Pa8( No"
=" SYSTEM DESIGN
I-#$9+-I#
2;
#MALI
2<
5.3.
51 $IA;AM
2/
5.4.
9ML $IA;AM!
4;
5.5.
$A-A $I+-I#A@
=0
5.1. 5.2.
:" SYSTEM TESTING :"1.
I-#$9+-I#
=4
:".
L505L! #/ -5!-I;
=4
:"2.
-5!-I; %#+5!!
==
;" SYSTEM SEC9RITY ;"1"
I-#$9+-I#
=;
;""
!5+9I-@ I !#/-(A5
=;
<" SCREENS SHOTS
CONCL9SION 3I3LIOGRAPHY
1" INTROD9CTION
=/
1"1 INTROD9CTION TO PRO,ECT
-housands of automobiles are lost each year in the state and thousands of automobiles are also recovered by the %olice from when they catch the culprits or even when the culprits leave the vehicles they have stolen after they have used them. -he usual problem with the recovered vehicles reaching the actual owners is that the vehicle need not be found in the same jurisdiction as one in which the complaint was launched. !o, when a vehicle is recovered, usually the %olice try to trace out the actual owner of the vehicle from the -# based on the license and chassis number. *ut this is a lengthy and time consuming process for the -# to trace out the actual owners from the records and inform back to the %olice stations. *ecause of these delays, vehicles that are recovered also take a long time to actually reach their owners. All these tasks can be performed by anyone without being in the same office of the executive with the technological advanced made today. *ut there is no appropriate system to streamline the processes involved and allow seamless between the executive and the assistant even though they are on two different continents. /or this purpose a web based applications is developed, which allows executives and assistants to pair up.
1"
P9RPOSE OF THE PRO,ECT
-housands of automobiles are lost each year in the state and thousands of automobiles are also recovered by the %olice from when they catch the culprits or even when the culprits leave the vehicles they have stolen after they have used them. -he usual problem with the recovered vehicles reaching the actual owners is that the vehicle need not be found in the same jurisdiction as one in which the complaint was launched. !o, when a vehicle is recovered, usually the %olice try to trace out the actual owner of the vehicle from the -# based on the license and chassis number. *ut this is a lengthy and time consuming process for the -# to trace out the actual owners from the records and inform back to the %olice stations. *ecause of these delays, vehicles that are recovered also take a long time to actually reach their owners.
-here is a need for a centrali)ed !M! based application for the police department to uery the details of the vehicle recovered by sending out an !M!. -his application should allow users to capture the details of the stolen vehicles, along with the owner details and /I details, so that when someone ueries for this vehicle when found, based on the chassis number, they get the information about the actual owner as well as the %olice station in which the complaint was launched.
-he same application can also be used by the general public while buying second hand vehicles to check if they are stolen property. -his application can also be used to check the details of any suspicious unattended vehicles, thus encouraging the public participation in recovering the stolen vehicles.
1"2
1"4
PRO3LEM IN E>ISTING SYSTEM
•
Access Management process to provide Admin privileges to selected personnel
•
Access Management process to allow authori)ed %olice and data entry personnel
•
%olice !tation information setup and maintenance process
•
Lost 0ehicles Information setup and maintenance process
•
!M! reuest parsing and information uerying process
•
!M! delivery process
•
Archiving and *ackup process
SOL9TION OF THESE PRO3LEMS
-here here is a need for a centrali)ed !M! based application for the police department to uery the details of the vehicle recovered by sending out an !M!. -his application should allow users to capture the details of the stolen vehicles, along with the owner details and /I details, so that when someone ueries for this vehicle when found, based on the chassis number, they get the information about the actual owner as well as the %olice station in which the complaint was launch.
" SYSTEM ANALYSIS
"1
INTROD9CTION
After analy)ing the reuirements of the task to be performed, the next step is to analy)e the problem and understand its context. -he first activity in the phase is studying the existing system and other is to understand the reuirements and domain of the new system. *oth the activities are eually important, but the first activity serves as a basis of giving the functional specifications and then successful design of the proposed system. 9nderstanding the properties and reuirements of a new system is more difficult and reuires creative thinking and understanding of existing running system is also difficult, improper understanding of present system can lead diversion from solution.
"
ANALYSIS MODEL
-he model that is basically being followed is the !#/-(A5 $505L#%M5- LI/5 +@+L5 M#$5L, which states that the phases are organi)ed in a linear order. /irst of all the feasibility study is done. #nce that part is over the reuirement analysis and project planning begins. If system exists one then modification and addition of new module is needed, analysis of present system can be used as basic model. -he design starts after the reuirement analysis is complete and the coding begins after the design is complete. #nce the programming is completed, the testing is done. In this model the seuence of activities performed in a software development project are3 1 Pro!ect Planning Re"uirements #efinition #esign #evelopment $ntegration % &est $nstallation % Acceptance
"2
ST9DY OF THE SYSTEM
•
G9I?S
In the flexibility of the uses the interface has been developed a graphics concept in mind, associated through a browser interface. -he ;9I'! at the top level have been categori)ed as 1" A5m#%#$t!at#6( .$(! #%t(!@a'( " Th( o-(!at#o%a& o! 8(%(!#' .$(! #%t(!@a'(
-he administrative user interface concentrates on the consistent information that is practically, part of the organi)ational activities and which needs proper authentication for the data collection. -he interfaces help the administrations with all the transactional states like $ata insertion, $ata deletion and $ate updating along with the extensive data search capabilities. -he operational or generic user interface helps the users upon the system in transactions through the existing data and reuired services. -he operational user interface also helps the ordinary users in managing their own information helps the ordinary users in managing their own information in a customi)ed manner as per the assisted flexibilities.
•
N9M3ER OF MOD9LES
-he system after careful analysis has been identified to be presented with the following modules3 •
Access management Module
•
%olice !tation information setup and maintenance Module
•
Lost 0ehicles information setup and maintenance Module
•
!M! 7uery eading Module
•
!earch esults otification Module
•
Archiving and cleanup Module
•
Mo5.&($ I%6o&6(5
Access management Module: -his module is used by the system Admin to setup authori)ed
%olice and data1entry user's access.
Police Station information setup and maintenance Module: -his module allows the
authori)ed users to setup and maintain information related to the police stations in the state.
Lost Vehicles information setup and maintenance Module: -his module allows the
authori)ed2data entry users to setup and maintain information related lost vehicles along with the /I details.
SMS Query Reading Module: eads the incoming !M! and prepares the search string by
parsing the !M! message.
Search Results Notification Module: !earches the database for the matching chassis number
and sends back the appropriate details matching the search criteria.
"4
Archiving and bacup Module: Allows Admin users to Archive2backup old data on the system
HARDWARE SOFTWARE REB9IRMENTS
euirement !pecification plays an important role to create uality software solutionE euirements are refined and analy)ed to assess the clarity. euirements are represented in a manner that ultimately leads to successful software implementation. 5ach reuirement must be consistent with the overall objective. -he development of this project deals with the following reuirements3
•
Ha!5a!( R(7.#!(m(%t$
•
So@ta!( R(7.#!(m(%t$
•
HARDWARE REB9IREMENTS
-he selection of hardware is very important in the existence and proper working of any software. In the selection of hardware, the si)e and the capacity reuirements are also important.
Co%t(%t
"$$
D($'!#-t#o%
:F ;* Min >F ;* ecommended
AM
8 ;* Min : ;* ecommended
•
SOFTWRE REB9IREMENTS
-he software reuirements specification is produces at the culmination of the analysis tasks. #ne of the most difficult tasks is that, the selection of the software, once system reuirement is known by determining whether a particular software package fits the reuirements.
Co%t(%t
D($'!#-t#o%
#!
(indows ?% with !%: or (indows 0ista
$atabase
M!1!7L server :FF
-echnologies
A!%.5- with +D.5-
I$5
M!10isual !tudio .et :FFG
*rowser
Mo)illa /irefox, I5 H.
2" SELECTED SOFTWARE 4"1
INTROD9CTION TO "NET FRAMEWORK
-he .5- /ramework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. -he .5- /ramework is designed to fulfill the following objectives3
•
-o provide a consistent object1oriented programming environment whether object code is stored and executed locally, executed locally but Internet1distributed, or executed remotely.
•
-o provide a code1execution environment that minimi)es software deployment and versioning conflicts.
•
-o provide a code1execution environment that guarantees safe execution of code, including code created by an unknown or semi1trusted third party.
•
-o provide a code1execution environment that eliminates the performance problems of scripted or interpreted environments.
•
-o make the developer experience consistent across widely varying types of applications, such as (indows1based applications and (eb1based applications.
•
-o build all communication on industry standards to ensure that code based on the .5/ramework can integrate with any other code.
-he .5- /ramework has two main components3 th( 'ommo% &a%8.a8( !.%t#m( and the "NET F!am(o! '&a$$ !a!y . -he common language runtime is the foundation of the .5- /ramework.
@ou can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and emoting, 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. +ode that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. -he class library, the other main component of the .5- /ramework, is a comprehensive, object1oriented collection of reusable types that you can use to develop applications ranging from traditional command1line or graphical user interface 4;9I6 applications to applications based on the latest innovations provided by A!%.5-, such as (eb /orms and ?ML (eb services.
•
'lient Application #evelopment
+lient applications are the closest to a traditional style of application in (indows1based programming. -hese are the types of applications that display windows or forms on the desktop, enabling a user to perform a task. +lient applications include applications such as word processors and spreadsheets, as well as custom business applications such as data1entry tools, reporting tools, and so on. +lient
applications usually employ windows, menus, buttons, and other ;9I elements, and they likely access local resources such as the file system and peripherals such as printers. Another kind of client application is the traditional Active? control 4now replaced by the managed (indows /orms control6 deployed over the Internet as a (eb page. -his application is much like other client applications3 it is executed natively, has access to local resources, and includes graphical elements. In the past, developers created such applications using +2+ in conjunction with the Microsoft /oundation +lasses 4M/+6 or with a rapid application development 4A$6 environment such as MicrosoftJ 0isual *asicJ. -he .5- /ramework incorporates aspects of these existing products into a single, consistent development environment that drastically simplifies the development of client applications. -he (indows /orms classes contained in the .5- /ramework are designed to be used for ;9I development. @ou can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs.
4"
ASP"NET •
Server Application #evelopment
!erver1side applications in the managed world are implemented through runtime hosts. 9nmanaged applications host the common language runtime, which allows your custom managed code to control the behavior of the server. -his model provides you with all the features of the common language runtime and class library while gaining the performance and scalability of the host server.
-he following illustration shows a basic network schema with managed code running in different server environments. !ervers such as II! and !7L !erver can perform standard operations while your application logic executes through the managed code.
•
Server(Side Managed 'ode
A!%.5- is the hosting environment that enables developers to use the .5- /ramework to target (eb1based applications. "owever, A!%.5- is more than just a runtime hostE it is a complete architecture for developing (eb sites and Internet1distributed objects using managed code. *oth (eb
/orms and ?ML (eb services use II! and A!%.5- as the publishing mechanism for applications, and both have a collection of supporting classes in the .5- /ramework.
ML (eb services, an important evolution in (eb1based technology, are distributed, server1side application components similar to common (eb sites. "owever, unlike (eb1based applications, ?ML (eb services components have no 9I and are not targeted for browsers such as Internet 5xplorer and etscape avigator. Instead, ?ML (eb services consist of reusable software components designed to be consumed by other applications, such as traditional client applications, (eb1based applications, or even other ?ML (eb services. As a result, ?ML (eb services technology is rapidly moving application development and deployment into the highly distributed environment of the Internet. If you have used earlier versions of A!% technology, you will immediately notice the improvements that A!%.5- and (eb /orms offers. /or example, you can develop (eb /orms pages in any language that supports the .5- /ramework. In addition, your code no longer needs to share the same file with your "--% text 4although it can continue to do so if you prefer6. (eb /orms pages execute in native machine language because, like any other managed application, they take full advantage of the runtime. In contrast, unmanaged A!% pages are always scripted and interpreted. A!%.5- pages are faster, more functional, and easier to develop than unmanaged A!% pages because they interact with the runtime like any managed application.
•
LANG9AGE S9PPORT
-he Microsoft .5- %latform currently offers built1in support for three languages3 +D, 0isual *asic, and &!cript.
•
WHAT IS ASP"NET WE3 FORMS
-he A!%.5- (eb /orms page framework is a scalable common language runtime programming model that can be used on the server to dynamically generate (eb pages. Intended as a logical evolution of A!% 4A!%.5- provides syntax compatibility with existing pages6, the A!%.5- (eb /orms framework has been specifically designed to address a number of key deficiencies in the previous model. In particular, it provides3
•
-he ability to create and use reusable 9I controls that can encapsulate common functionality and thus reduce the amount of code that a page developer has to write.
•
-he ability for developers to cleanly structure their page logic in an orderly fashion 4not Kspaghetti codeK6.
•
-he ability for development tools to provide strong (@!I(@; design support for pages 4existing A!% code is opaue to tools6.
A!%.5- (eb /orms pages are text files with an .aspx file name extension. -hey can be deployed throughout an II! virtual root directory tree. (hen a browser client reuests .aspx resources, the A!%.5- runtime parses and compiles the target file into a .5- /ramework class. -his class can then be used to dynamically process incoming reuests. 4ote that the .aspx file is compiled only the first time it is accessedE the compiled type instance is then reused across multiple reuests6. An A!%.5- page can be created simply by taking an existing "-ML file and changing its file name extension to .aspx 4no modification of code is reuired6. /or example, the following sample demonstrates a simple "-ML page that collects a users name and category preference and then performs a form postback to the originating page when a button is clicked3 A!%.5- provides syntax compatibility with existing A!% pages. -his includes support for N NO code render blocks that can be intermixed with "-ML content within an .aspx file. -hese code blocks execute in a top1down manner at page render time.
•
INTROD9CTION TO ASP"NET SERVER CONTROLS
In addition to 4or instead of6 using N NO code blocks to program dynamic content, A!%.5- page developers can use A!%.5- server controls to program (eb pages. !erver controls are declared within an .aspx file using custom tags or intrinsic "-ML tags that contain a !.%at$(!6(! attributes value. Intrinsic "-ML tags are handled by one of the controls in the Sy$t(m"W("9I"Htm&Co%t!o&$ namespace. Any tag that doesnt explicitly map to one of the controls is assigned the type of Sy$t(m"W("9I"Htm&Co%t!o&$"Htm&G(%(!#'Co%t!o& .
!erver controls automatically maintain any client1entered values between round trips to the server. -his control state is not stored on the server 4it is instead stored within an #%-.t ty-(h#55(% form field that is round1tripped between reuests6. ote also that no client1side script is reuired.
In addition to supporting standard "-ML input controls, A!%.5- enables developers to utili)e richer custom controls on their pages. /or example, the following sample demonstrates how the a$-)a5!otato! control can be used to dynamically display rotating ads on a page.
•
A!%.5- (eb /orms provide an easy and powerful way to build dynamic (eb 9I.
•
A!%.5- (eb /orms pages can target any browser client 4there are no script library or cookie reuirements6.
•
A!%.5- (eb /orms pages provide syntax compatibility with existing A!% pages.
•
A!%.5- server controls provide an easy way to encapsulate common functionality.
•
A!%.5- ships with > built1in server controls. $evelopers can also use controls built by third parties.
•
A!%.5- server controls can automatically project both uplevel and downlevel "-ML.
•
A!%.5- templates provide an easy way to customi)e the look and feel of list server controls.
•
A!%.5- validation controls provide an easy way to do declarative client or server data validation.
•
ADO"NET OVERVIEW
A$#.5- is an evolution of the A$# data access model that directly addresses user reuirements for developing scalable applications. It was designed specifically for the web with scalability, statelessness, and ?ML in mind. A$#.5- uses some A$# objects, such as the Co%%('t#o% and Comma%5 objects, and also introduces new objects. Cey new A$#.5- objects include the DataS(t , DataR(a5(! , and DataA5a-t(! .
-he important distinction between this evolved stage of A$#.5- and previous data architectures is that there exists an object 11 the DataS(t 11 that is separate and distinct from any data stores. *ecause of that, the DataS(t functions as a standalone entity. @ou can think of the $ata!et as an always disconnected recordset that knows nothing about the source or destination of the data it contains. Inside a DataS(t , much like in a database, there are tables, columns, relationships, constraints, views, and so forth.
A Data A5a-t(! is the object that connects to the database to fill the DataS(t. -hen, it connects back to the database to update the data there, based on operations performed while the DataS(t held the data. In the past, data processing has been primarily connection1based. ow, in an effort to make multi1 tiered apps more efficient, data processing is turning to a message1based approach that revolves around chunks of information. At the center of this approach is the DataA5a-t(! , which provides a bridge to retrieve and save data between a DataS(t and its source data store. It accomplishes this by means of reuests to the appropriate !7L commands made against the data store. -he ?ML1based DataS(t object provides a consistent programming model that works with all models of data storage3 flat, relational, and hierarchical. It does this by having no knowledge of the source of its data, and by representing the data that it holds as collections and data types. o matter what the source of the data within the DataS(t is, it is manipulated through the same set of standard A%Is exposed through the DataS(t and its subordinate objects. (hile the DataS(t has no knowledge of the source of its data, the managed provider has detailed and specific information. -he role of the managed provider is to connect, fill, and persist the DataS(t to and from data stores. -he #L5 $* and !7L !erver .5- $ata %roviders 4!ystem.$ata.#le$b and !ystem.$ata.!l+lient6 that are part of the .et /ramework provide four basic objects3 the Comma%5, Co%%('t#o% , DataR(a5(! and DataA5a-t(! . In the remaining sections of this document, well walk
through each part of the DataS(t and the #L5 $*2!7L !erver .5- $ata %roviders explaining what they are, and how to program against them. -he following sections will introduce you to some objects that have evolved, and some that are new. -hese objects are3
•
Co%%('t#o%$ . /or connection to and managing transactions against a database.
•
Comma%5$ . /or issuing !7L commands against a database.
•
DataR(a5(!$ . /or reading a forward1only stream of data records from a !7L !erver data
source. •
DataS(t$ . /or storing, emoting and programming against flat data, ?ML data and relational
data. •
DataA5a-t(!$ . /or pushing data into a DataS(t, and reconciling data against a database.
(hen dealing with connections to a database, there are two different options3 !7L !erver .5$ata
%rovider
4!ystem.$ata.!l+lient6
and
#L5
$*
.5-
$ata
%rovider
4!ystem.$ata.#le$b6. In these samples we will use the !7L !erver .5- $ata %rovider. -hese are written to talk directly to Microsoft !7L !erver. -he #L5 $* .5- $ata %rovider is used to talk to any #L5 $* provider 4as it uses #L5 $* underneath6.
I%t!o5.'t#o% to ADO"NET
A$#.5- is an object1oriented set of libraries that allows you to interact with data sources. +ommonly, the data source is a database, but it could also be a text file, an 5xcel spreadsheet, or an ?ML file. /or the purposes of this tutorial, we will look at A$#.5- as a way to interact with a data base. Data P!o6#5(!$
(e know that A$#.5- allows us to interact with different types of data sources and different types of databases. "owever, there isnt a single set of classes that allow you to accomplish this universally. !ince different data sources expose different protocols, we need a way to communicate with the right data source using the right protocol. !ome older data sources use the #$*+ protocol, many newer data sources use the #le$b protocol, and there are more data sources every day that allow you to communicate with them directly through .5- A$#.5- class libraries. A$#.5- provides a relatively common way to interact with data sources, but comes in different sets of libraries for each way you can talk to a data source. -hese libraries are called $ata %roviders and are usually named for the protocol or data source type they allow you to interact with. table 8 lists some well known data providers, the A%I prefix they use, and the type of data source they allow you to interact with.
ADO"NET OJ('t$
A$#.5- includes many objects you can use to work with data. -his section introduces some of the primary objects you will use. #ver the course of this tutorial, youll be exposed to many more A$#.5- objects from the perspective of how they are used in a particular lesson. -he objects below are the ones you must know. Learning about them will give you an idea of the types of things you can do with data when using A$#.5-.
Th( S7&Co%%('t#o% OJ('t
-o interact with a database, you must have a connection to it. -he connection helps identify the database server, the database name, user name, password, and other parameters that are reuired for connecting to the data base. A connection object is used by command objects so they will know which database to execute the command on.
Th( S7&Comma%5 OJ('t
-he process of interacting with a database means that you must specify the actions you want to occur. -his is done with a command object. @ou use a command object to send !7L statements to the database. A command object uses a connection object to figure out which database to communicate with. @ou can use a command object alone, to execute a command directly, or assign a reference to a command object to an !l$ataAdapter, which holds a set of commands that work on a group of data as described below.
Th( S7&DataR(a5(! OJ('t
Many data operations reuire that you only get a stream of data for reading. -he data reader object allows you to obtain the results of a !5L5+- statement from a command object. /or performance reasons, the data returned from a data reader is a fast forward1only stream of data. -his means that you can only pull the data from the stream in a seuential manner. -his is good for speed, but if you need to manipulate data, then a $ata!et is a better object to work with.
Th( DataS(t OJ('t
$ata!et objects are in1memory representations of data. -hey contain multiple $atatable objects, which contain columns and rows, just like normal database tables. @ou can even define relations between tables to create parent1child relationships. -he $ata!et is specifically designed to help manage data in memory and to support disconnected operations on data, when such a scenario make sense. -he
$ata!et is an object that is used by all of the $ata %roviders, which is why it does not have a $ata %rovider specific prefix.
Th( S7&DataA5a-t(! OJ('t
!ometimes the data you work with is primarily read1only and you rarely need to make changes to the underlying data source. !ome situations also call for caching data in memory to minimi)e the number of database calls for data that does not change. -he data adapter makes it easy for you to accomplish these things by helping to manage data in a disconnected mode. -he data adapter fills a $ata!et object when reading the data and writes in a single batch when persisting changes back to the database. A data adapter contains a reference to the connection object and opens and closes the connection automatically when reading from or writing to the database. Additionally, the data adapter contains command object references for !5L5+-, I!5-, 9%$A-5, and $5L5-5 operations on the data. @ou will have a data adapter defined for each table in a $ata!et and it will take care of all communication with the database for you. All you need to do is tell the data adapter when to load from or write to the database.
C!(at#%8 a S7&Co%%('t#o% OJ('t A !l+onnection is an object, just like any other +D object. Most of the time, you just declare and instantiate the !l+onnection all at the same time, as shown below3 S7&Co%%('t#o% 'o%% %( S7&Co%%('t#o%Data So.!'(&o'a&I%#t#a& Cata&o8No!th#%5 I%t(8!at(5 S('.!#tySSPI
-he !l+onnection object instantiated above uses a constructor with a single argument of type string. -his argument is called a connection string. table 8 describes common parts of a connection string. Integrated !ecurity is secure when you are on a single machine doing development. "owever, you will often want to specify security based on a !7L !erver 9ser I$ with permissions set specifically for the application you are using. -he following shows a connection string, using the 9ser I$ and %assword parameters3 S7&Co%%('t#o% 'o%% %( S7&Co%%('t#o%Data So.!'(Dataa$(S(!6(!I%#t#a& Cata&o8 No!th#%59$(! IDYo.!9$(!IDPa$$o!5Yo.!Pa$$o!5
otice how the $ata !ource is set to $atabase!erver to indicate that you can identify a database located on a different machine, over a LA, or over the Internet. Additionally, 9ser I$ and %assword replace the Integrated !ecurity parameter.
9$#%8 a S7&Co%%('t#o% -he purpose of creating a !l+onnection object is so you can enable other A$#.5- code to work with a database. #ther A$#.5- objects, such as a !l+ommand and a !l$ataAdapter take a connection object as a parameter. -he seuence of operations occurring in the lifetime of a !l+onnection are as follows3 •
Instantiate the !l+onnection.
•
#pen the connection.
•
%ass the connection to other A$#.5- objects.
•
%erform database operations with the other A$#.5- objects.
•
+lose the connection.
(eve already seen how to instantiate a !l+onnection. -he rest of the steps, opening, passing, using, and closing are shown in Listing 8. Listing )" 9$#%8 a S7&Co%%('t#o%
using !ystemE using !ystem.$ataE using !ystem.$ata.!l+lientE
222 summaryO 222 $emonstrates how to work with !l+onnection objects 222 2summaryO class !l+onnection$emo P static void Main46 P 22 8. Instantiate the connection !l+onnection conn Q new !l+onnection4
K$ata !ourceQ4local6EInitial +atalogQorthwindEIntegrated !ecurityQ!!%IK6E
!l$ataeader rdr Q nullE
try P 22 :. #pen the connection conn.#pen46E
22 =. %ass the connection to a command object !l+ommand cmd Q new !l+ommand4Kselect R from +ustomersK, conn6E
22 22 >. 9se the connection 22
22 get uery results rdr Q cmd.5xecuteeader46E
22 print the +ustomerI$ of each record
while 4rdr.ead466 P +onsole.(riteLine4rdrSFT6E U U
finally P 22 close the reader if 4rdr VQ null6 P rdr.+lose46E
U
22 . +lose the connection if 4conn VQ null6 P conn.+lose46E U U U U
4"2
C "NET
+D, pronounced c sharp, is a computer language used to give instructions that tell the computer what to do, how to do it, and when to do it. -his is a universal language that is used on many operating systems, including Microsoft (indows. +D is one of the languages used in the Microsoft .5/ramework. -he Microsoft .5- /ramework is a library of objects that create or draw things on the computer. -he programs we will write are meant to give instructions to the computer about what to do, when to do something, and how to do it. @ou write these instructions in an easy to understand 5nglish format, using words we will study. -his means that a regular instruction uses normal text with alphabetic characters, numbers, and non1readable symbols. ormally, you can write your instructions using any text editor such as otepad, (ord%ad, (ord%erfect, or Microsoft (ord, etc. (hen writing your instructions, there are rules your must follow and suggestions you should observe.. -he group of instructions used by your program is also referred to as code. -o assist you with writing code, Microsoft 0isual +D :FFG includes a text editor referred to as the +ode 5ditor. -his is the window that displays when you have just created a console application. *esides the +ode 5ditor, the integrated development interface 4I$56 of the Microsoft 0isual +D :FFG is made of various parts, which we will review when necessary.
=" SYSTEM DESIGN ="1
INTROD9CTION
!oftware design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. $esign is the first step in the development phase for any engineered product or system. -he designer's goal is to produce a model or representation of an entity that will later be built. *eginning, once system reuirement have been specified and analy)ed, system design is the first of the three technical activities 1design, code and test that is reuired to build and verify software. $uring design, progressive refinement of data structure, program structure, and procedural details are developed reviewed and documented. !ystem design can be viewed from either technical or project management perspective. /rom the technical point of view, design is comprised of four activities W architectural design, data structure design, interface design and procedural design.
="
NORMALIATION
It is a process of converting a relation to a standard form. -he process is used to handle the problems that can arise due to data redundancy i.e. repetition of data in the database, maintain data integrity as well as handling problems that can arise due to insertion, updation, deletion anomalies. $ecomposing is the process of splitting relations into multiple relations to eliminate anomalies and maintain anomalies and maintain data integrity. -o do this we use normal forms or rules for structuring relation.
="2
E R DIAGRAMS
•
-he relation upon the system is structure through a conceptual 51$iagram, which not only specifics the existential entities but also the standard relations through which the system exists and the cardinalities that are necessary for the system state to continue.
•
-he entity elationship $iagram 45$6 depicts the relationship between the data objects. -he 5$ is the notation that is used to conduct the date modeling activity the attributes of each data object noted is the 5$ can be described resign a data object descriptions.
•
-he set of primary components that are identified by the 5$ are
$ata object
elationships
Attributes
0arious types of indicators.
-he primary purpose of the 5$ is to represent data objects and their relationships.
CLASS DIAGRAM
tblmasterusers userid usertype Firstname Lastname Disignation Phone Mobile Email LoginId Password Status Setupusers()
tblorgusers OrgId $serId Setuporgusers()
tblmasterorganizations OrgId LocationId Orgname dd! dd" #ity State Pincode #ontactname Disg Phone Mobile Email Status
A5m#% 9$( Ca$(
LocationId Locationname District Statename Status Setupmasterlocations()
tblsmsreuest
Setuporganizations()
'euestId 'euestdatetime Smsmessage Mobilenumber Status
tblmissing%ehicles
Setupsmsreuest()
Missing%ehiclesId MissinglocationId &ehicletype &ehiclenumber &chasisnumber FI'Date FI'Policestation #ontactname #ontactaddress #ontactmobile Missingromdate Smsmessage Mobilenumber status Setupmissing%ehicles()
9ML DIAGRAMS
tblmasterlocations
tblsmsresponce 'esponceId 'euestId 'esponcedatetime Smsmessage Mobilenumber Status Setupsmsresponce()
login
police org
admin users
miss %eh
logout
9SER 9SE CASE
Log in
Locations $ser
$sersw
Missing &ehicles
Log out
="=
DATA DICTONARY
After carefully understanding the reuirements of the client the the entire data storage reuirements are divided into tables. -he below tables are normali)ed to avoid any anomalies during the course of data entry.
9SERS S%o
Data F#(&5
DataTy-(
Co%$t!a#%t
8
userI$
I-48F6
%rimary key
:
user-ype
0A+"A4F6
=
is$isabled
-I@I-486
>
firstame
0A+"A4F6
lastame
0A+"A4F6
H
mobile#
0A+"A4F6
X
phone#
0A+"A4F6
G
emailI$
0A+"A4F6
Y
loginI$
0A+"A4F6
8F
login%assword
0A+"A4F6
88
educationI$
0A+"A4F6
8:
experienceI$
0A+"A4F6
8=
other$etails
L#;-5?-
8>
rate
0A+"A4F6
8
rate-ypeI$
0A+"A4F6
S93TASKLIST
S%o
Data F#(&5
DataTy-(
Co%$t!a#%t
8
pickListI$
I-48F6
%rimary key
:
pickList-ype
L#;-5?-
=
pickListame
0A+"A4F6
>
pickList#rder
L#;-5?-
S93TASK
S%o
Data F#(&5
DataTy-(
Co%$t!a#%t
8
taskI$
I-48F6
/oreign key
:
sub-askame
0A+"A4F6
=
sub-ask!tatus
-I@I-4>6
:" SYSTEM SEC9RITY
:"1"
INTROD9CTION
-he protection of computer based resources that includes hardware, software, data, procedures and people against unauthori)ed use or natural $isaster is known as !ystem !ecurity.
!ystem !ecurity can be divided into four related issues3 •
!ecurity
•
Integrity
•
%rivacy
•
+onfidentiality
SYSTEM SEC9RITY 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 SEC9RITY 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 organi)ations to determine what information
they are willing to share with or accept from others and how the organi)ation 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
minimi)e the possible invasion of privacy. It is an attribute of information that characteri)es its need for protection.
:"" SEC9RITY IN SOFTWARE
!ystem 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. -he system employees two types of checks and controls3
CLIENT SIDE VALIDATION
0arious client side validations are used to ensure on the client side that only valid data is entered. +lient side validation saves server time and load to handle invalid data. !ome checks imposed are3 •
0*!cript in used to ensure those reuired fields are filled with suitable data only. Maximum lengths of the fields of the forms are appropriately defined.
•
/orms 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.
SERVER SIDE VALIDATION
!ome checks cannot be applied at client side. !erver 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. !ome of the server side checks imposed is3 •
!erver 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.
•
9ser is intimating through appropriate messages about the successful operations or exceptions occurring at server side.
<" SCREENS ADMIN HOME PAGE
ADMIN LOCATION PAGE
ADMIN POLICE ORGANIATION PAGE
ADMIN SEARCH PAGE
9SER HOME PAGE
DATA ENTRY SET9P MISSING VEHICLE PAGE
CONCL9SION It has been a great pleasure for me to work on this exciting and challenging project. -his project proved good for me as it provided practical knowledge of not only programming in A!%.5- and +D.5- web based application and know some extent (indows Application and !7L !erver, but also about all handling procedure related with “ONLINE MISSING VEHICLES TRACKING APPLICATION FOR POLICE DEPT" It also provides knowledge about the latest technology used in developing web
enabled application and client server technology that will be great demand in future. -his will provide better opportunities and guidance in future in developing projects independently.
3ENEFITS -he project is identified by the merits of the system offered to the user. -he merits of this project are as follows3 1 •
It's a web1enabled project.
•
-his project offers user to enter the data through simple and interactive forms. -his is very helpful for the client to enter the desired information through so much simplicity.
•
-he user is mainly more concerned about the validity of the data, whatever he is entering. -here are checks on every stages of any new creation, data entry or updating so that the user cannot enter the invalid data, which can create problems at later date.
•
!ometimes the user finds in the later stages of using project that he needs to update some of the information that he entered earlier. -here are options for him by which he can update the records. Moreover there is restriction for his that he cannot change the primary data field. -his keeps the validity of the data to longer extent.
•
9ser is provided the option of monitoring the records he entered earlier. "e can see the desired records with the variety of options provided by him.
•
/rom every part of the project the user is provided with the links through framing so that he can go from one option of the project to other as per the reuirement. -his is bound to be simple and very friendly as per the user is concerned. -hat is, we can say that the project is user friendly which is one of the primary concerns of any good project.
•
$ata storage and retrieval will become faster and easier to maintain because data is stored in a systematic manner and in a single database.
•
$ecision making process would be greatly enhanced because of faster processing of information since data collection from information available on computer takes much less time then manual system.
•
Allocating of sample results becomes much faster because at a time the user can see the records of last years.
•
5asier and faster data transfer through latest technology associated with the computer and communication.
•
-hrough these features it will increase the efficiency, accuracy and transparency,
LIMITATIONS •
-he si)e of the database increases day1by1day, increasing the load on the database back up and data maintenance activity.
•
-raining for simple computer operations is necessary for the
users working on the
system.
3I3LIOGRAPHY
•
FOR "NET INSTALLATION
www.support.mircosoft.com
•
FOR DEPLOYMENT AND PACKING ON SERVER
www.developer.com www.8seconds.com
•
FOR SBL
www.msdn.microsoft.com
•
FOR ASP"NET
www.msdn.microsoft.com2net2uickstart2aspplus2default.com www.asp.net www.fmexpense.com2uickstart2aspplus2default.com www.asptoday.com www.aspfree.com www.>guysfromrolla.com2index.aspx