Professional Documents
Culture Documents
IDENTITY
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
This system is used to create a tool that manages the handling of passport and license using
the unique identification associated with each individual. The application deals with allowing the
citizens to register for a unique identity. The ID is supported with a pin. Citizen’s being issued
passport or those have a passport is then associated with the UID. The UID will provide access to
the passport from the airport for the airline from the centralized server. The details and profile of
the citizen with the photo can be viewed as part of security check.
The police department can also use the application to trace or stop any person from travelling
abroad. The airline gets a notification when the airport staff has access to the citizen’s passport.
The police department can stop or trace either using the UID or passport number. They could also
pass the name of the person and the system can generate a list of photo previews of people having
passport.
The citizen uses the Aadhar scheme to apply for license. The details of the citizen are picked from
the registration database. The citizen is provided with the test details by the application. The details
contain the location, date and time information. The test details are provided to the citizen on
completion of the test. The license issue and denial is recorded.
CHAPTER 2
LITERATURE SURVEY
• There is no strict type checking. For example, we can pass an integer value for the floating
data type.
Disadvantages of C++
• Does not provide very strong type-checking. C++ code is easily prone to errors related to
data types, their conversions, for example, while passing arguments to functions.
• Does not provide efficient means for garbage collection, as already mentioned.
Disadvantages of Java:
• No local constants.
The Microsoft .Net Framework is a platform that provides tools and technologies you need
to build Networked Applications as well as Distributed Web Services and Web Applications. The
.Net Framework provides the necessary compile time and run-time foundation to build and run
any language that conforms to the Common Language Specification (CLS).The main two
components of .Net Framework are Common Language Runtime (CLR) and .Net Framework
Class Library (FCL).
The Common Language Runtime (CLR) is the runtime environment of the .Net Framework
that executes and manages all running code like a Virtual Machine. The .Net Framework Class
Library (FCL) is a huge collection of language-independent and type-safe reusable classes. The
.Net Framework Class Libraries (FCL) is arranged into a logical grouping according to their
functionality and usability is called Namespaces.
Microsoft .Net Languages Source Code is compiled into Microsoft Intermediate Language
(MSIL). MSIL we can call it as Intermediate Language (IL) or Common Intermediate Language
(CIL). Microsoft Intermediate Language (MSIL) is a CPU independent set of instructions that can
be converted to the native code. Metadata also created in the course of compile time with Microsoft
Intermediate Language (MSIL) and stored it with the compiled code. Metadata is completely self-
describing. Metadata is stored in a file called Manifest, and it contains information about the
members, types, references and all the other data that the Common Language Runtime (CLR)
needs for execution.
The Common Language Runtime (CLR) uses metadata to locate and load classes, generate
native code, provide security, and execute Managed Code. Both Microsoft Intermediate Language
(MSIL) and Metadata assembled together are known as Portable Executable (PE) file. Portable
Executable (PE) is supposed to be portable across all 32-bit operating systems by Microsoft .Net
Framework.
During the runtime the Common Language Runtime (CLR)'s Just in Time (JIT) compiler
converts the Microsoft Intermediate Language (MSIL) code into native code to the Operating
System. The native code is Operating System independent and this code is known as Managed
Code, that is, the language's functionality is managed by the .NET Framework. The Common
Language Runtime (CLR) provides various Just in Time (JIT) compilers, and each works on a
different architecture depends on Operating Systems, that mean the same Microsoft Intermediate
Language (MSIL) can be executed on different Operating Systems.
It was first released in January 2002 with version 1.0 of the .NET Framework, and is the
successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on
the Common Language Runtime (CLR), allowing programmers to write ASP.NET code using any
supported .NET language. The ASP.NET SOAP extension framework allows ASP.NET
components to process SOAP messages.
A new version of Microsoft's system development environment, Visual Studio .NET, is the
primary tool used to build dot-NET software.
2.5 INTRODUCTION TO C#
C#(pronounced as see sharp) is a multi-paradigm programming
language encompassing strong typing, imperative, declarative, functional, generic, object-
oriented (class-based), and component-oriented programming disciplines. It was developed
by Microsoft within its .NET initiative and later approved as a standard by Ecma (ECMA-334)
and ISO (ISO/IEC 23270:2006). C# is one of the programming languages designed for
the Common Language Infrastructure.
SQL Server 2005 introduces "studios" to help you with development and management
tasks: SQL Server Management Studio and Business Intelligence Development Studio. In
Management Studio, you develop and manage SQL Server Database Engine and notification
solutions, manage deployed Analysis Services solutions, manage and run Integration Services
packages, and manage report servers and Reporting Services reports and report models. In BI
Development Studio, you develop business intelligence solutions using Analysis Services projects
to develop cubes, dimensions, and mining structures; Reporting Services projects to create reports;
the Report Model project to define models for reports; and Integration Services projects to create
packages.
In the studios, SQL Server 2005 provides the graphical tools you need to design, develop,
deploy, and administer relational databases, analytic objects, data transformation packages,
replication topologies, reporting servers and reports, and notification servers. Additionally, SQL
Server 2005 includes command prompt utilities to perform administrative tasks from the command
prompt. To quickly get to important high-level topics for tools and utilities, go to Tools and
Utilities Documentation Map.
The Database Engine is the core service for storing, processing, and securing data. The
Database Engine provides controlled access and rapid transaction processing to meet the
requirements of the most demanding data consuming applications within your enterprise.
Use the Database Engine to create relational databases for online transaction processing or online
analytical processing data. This includes creating tables for storing data, and database objects such
as indexes, views, and stored procedures for viewing, managing, and securing data. You can use
SQL Server Management Studio to manage the database objects, and SQL Server Profiler for
capturing server events.
A typical company that buys IIS can create pages for Web sites using Microsoft's Front
Page product. Web developers can use Microsoft's Active Server Page (ASP) technology, which
means that applications - including ActiveX controls - can be imbedded in Web pages that modify
the content sent back to users. Developers can also write programs that filter requests and get the
correct Web pages for different users by using Microsoft's Internet Server Application Program
Interface (ISAPI) interface. ASPs and ISAPI programs run more efficiently than common gateway
interface (CGI) and server-side include (SSI) programs, two current technologies. (However, there
are comparable interfaces on other platforms.)
Microsoft includes special capabilities for server administrators designed to appeal to
Internet service providers (ISPs). It includes a single window (or "console") from which all
services and users can be administered. It's designed to be easy to add components as snap-ins that
you didn't initially install. The administrative windows can be customized for access by individual
customers.
CHAPTER 3
SYSTEM ANALYSIS
CHAPTER 3
SYSTEM ANALYSIS
ADVANTAGES
• For transaction related to government departments the ID and pin number should be
quoted.
• The citizen does not have to approach agents for applications.
• Aadhar seva centers would facilitate the application processing.
• The citizen has his application auto-filled when he visits the seva centers.
• No commission is involved.
• The UID doesn’t allow duplicate application for any type of card.
• The citizen can apply the next time only when he fails a verification or test.
• Address changes easily updated.
The Waterfall Model was first Process Model to be introduced. It is also referred to as a
linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model,
each phase must be completed fully before the next phase can begin. This type of model is basically
used for the project which is small and there are no uncertain requirements. At the end of each
phase, a review takes place to determine if the project is on the right path and whether or not to
continue or discard the project. In this model the testing starts only after the development is
complete. In waterfall model phases do not overlap.
This phase is focused on possible requirements of the system for the development are captured.
Requirements are gathered subsequent to the end user consultation.
Prior to beginning the actual coding, it is inevitable to understand what actions are to be taken and
what they should like. The requirement specifications are studied in detail in this phase and the
design of the system is prepared. The design specifications are the base for the implementation
and unit testing model phase.
Implementation:
Subsequent to receiving the system design documents, the work is shared into various modules
and the real coding is commenced. The system is developed into small coding units. These units
are later integrated in the subsequent phase.
The modules that are divided into units are integrated into a complete system and tested for proper
coordination among modules and system behaves as per the specifications. Every unit is tested for
its functionality. Once the testing is completed, the software product is delivered to the customer.
Deployment:
Involves conversions of new system design into operation. This may involve implementing the
software system and training the operating staff before the software system is functional.
It is a never ending phase. Once the system is running in production environment, problems come
up. The issues that are related to the system are solved only after deployment of the system. The
problems arise from time to time and need to be solved; hence this phase is referred as
maintenance.
CHAPTER 4
REQUIREMENT ANALYSIS
CHAPTER 4
REQUIREMENT ANALYSIS
4. 1 PRODUCT PERSPECTIVE
4.1.1 USER INTERFACE
• Admin
• License
• Police
• Visitor
Processor : Pentium 4 +
RAM : 2GB
SOFTWARE REQUIREMENTS
Language : C#
• Approve/Reject Aadhar
Admin can approve or reject aadhar identity
• Add monitors
Admin can add monitors
• Forward license
Admin will be forwarding the documents for verification for providing license
• Forward passport holders
Admin will be forwarding the documents for verification for providing passport
2. License:
• Manage license
License in charge will be managing the process of providing license by verifying the
documents forwarded by the admin.
• Update profile
License in charge can update their profile.
3. Police:
• Manage license
Police will be verifying the documents forwarded by the admin and will be managing the
process of providing the passport.
• Update profile
Police can update their profile.
4. Visitor:
• Registration
Visitors have to first get registered to the application to access it.
• Check status
Visitors can check their status regarding the license or passport details which they have
applied for.
• Apply passport
Visitors can apply for passport through this application.
• Apply license
Visitors can apply for license through this application.
5. Crime:
• Update profile
Crime can update their profile.
• Update password
Crime can update password of their profile.
• Add crime information
Crime will be updating the information regarding the crime done by the users.
NON-FUNCTIONAL REQUIREMENT
Non-functional requirement is a requirement that specifies criteria that can be used to judge
the operation of a system, rather than specific behaviors. Functional requirements define what a
system is supposed to do whereas non-functional requirements define how a system is supposed
to be. The non-functional requirements are the constraints or the environment in which the
software is developed.
Reliability- is the ability of a person or system to perform and maintain its functions in
routine circumstances, as well as hostile or unexpected circumstances.
Security- regarding security or privacy issues surrounding use of the product or protection
of the data used or created by the product. Define any user identity authentication requirements.
Usability- The word "usability" also refers to methods for improving ease-of-use during
the design process.
SYSTEM DESIGN
The purpose of the design phase is to plan a solution of the problem specified by the
requirements document. This phase is the first step in moving from the problem domain to the
solution domain. In other words, starting with what is needed; design takes us toward how to satisfy
the needs. The design of a system is perhaps the most critical factor affecting the quality of the
software; it has a major impact on the later phases particularly testing and maintenance.
• Architecture design.
• Detailed design.
Architecture Design:
Detailed Design:
In the detailed design the internal logic of each of the modules is specified. The focus is on
designing the logic for each of the modules. In other words how modules can be implemented in
software is the issue.
Introduction:
As a developer, the .NET framework and Visual Studio present many choices for choosing
the right architecture, from placing the data access code directly in the UI through datasets and
data source controls, to creating a data access layer that talks to the database, all the way to creating
an n-tier architecture approach that consists of multiple layers, and use data-transfer objects to pass
data back and forth.
Layer:
A layer is a reusable portion of code that performs a specific function. In the .NET
environment, a layer is usually setup as a project that represents this specific function. This specific
layer is in charge of working with other layers to perform some specific goal. In an application
where the presentation layer needs to extract information from a backend database, the
presentation would utilize a series of layers to retrieve the data, rather than having the database
calls embedded directly within it. Now we will look briefly at the latter situation first.
5.1.1. Two-Tier Architecture
When the .NET 2.0 framework became available to the world, there were some neat
features that allowed the developer to connect the framework’s GUI controls directly to the
database. This approach is very handy when rapidly developing applications. However, it’s not
always favorable to embed all of the business logic and data access code directly in the web site,
for several reasons:
• Putting all of the code in the web site (business logic and data access) can make the
application harder to maintain and understand.
• Reusing database queries in the presentation layer often isn’t done, because of the typical
data source control setup in the ASP.NET framework.
• Relying on the data source controls can make debugging more difficult, often due to vague
error messages.
So in looking for an alternative, we can separate the data access code and business logic into
separate “layers”.
The key component to most applications is the data. The data has to be served to the
presentation layer somehow. The data layer is a separate component (often setup as a separate
single or group of projects in a .NET solution), whose sole purpose is to serve up the data from the
database and return it to the caller. Through this approach, data can be logically reused, meaning
that a portion of an application reusing the same query can make a call to one data layer method,
instead of embedding the query multiple times. This is generally more maintainable.
Business Layer:
Though a web site could talk to the data access layer directly, it usually goes through
another layer called the business layer. The business layer is vital in that it validates the input
conditions before calling a method from the data layer. This ensures the data input is correct before
proceeding, and can often ensure that the outputs are correct as well. This validation of input is
called business rules, meaning the rules that the business layer uses to make “judgments” about
the data.
One of the best reasons for reusing logic is that applications that start off small usually
grow in functionality. The business layer helps move logic to a central layer for “maximum
reusability.”
Presentation Layer:
The ASP.NET web site or windows forms application (the UI for the project) is called the
presentation layer. The presentation layer is the most important layer simply because it’s the one
that everyone sees and uses. Even with a well structured business and data layer, if the presentation
layer is designed poorly, this gives the users a poor view of the system.
The presentation tier contains the UI (User Interface) elements of the site, and includes
all the logic that managers the interaction between the visitor and the client’s business. (ASP.NET
Web Forms, Web User Controls, ASP.NET Master Pages)
The business tier receives requests from the presentation tier and returns a result to the
presentation tier depending on the business logic it contains. (C# Classes)
The data tier is responsible for storing the application’s data and sending it to the business
tier when requested. (SQL Server Stored Procedures).
Fig- Three tier architecture
A data flow diagram (DFD) is a graphical representation of the "flow" of data through an
information system. DFDs can also be used for the visualization of data processing (structured
design).
On a DFD, data items flow from an external data source or an internal data store to an
internal data store or an external data sink, via an internal process.
A DFD provides no information about the timing of processes, or about whether processes
will operate in sequence or in parallel. It is therefore quite different from a flowchart, which shows
the flow of control through an algorithm, allowing a reader to determine what operations will be
performed, in what order, and under what circumstances, but not what kinds of data will be input
to and output from the system, nor where the data will come from and go to, nor where the data
will be stored (all of which are shown on a DFD).
Symbols used in DFD’s:
Processes:
A process transforms data values. The lowest processes are our functions without side effects.
Data Flows:
A data flow connects the output of an object or process to the input of another object or
process. It represents the intermediate data values within the computation. It is draws as an arrow
between the procedure and the consumer of the data value. The arrow is labeled with the
description of the data, usually its name or type.
Actors:
An actor is an active object that drives the data flow graph by producing or consuming values.
Actors are attached to the inputs and the outputs of a dataflow graph. In sense, the actors lie on the
boundary of the flow graph but terminate the flow of data as sources and sinks of data, and so are
sometimes called terminators.
Data Store:
A data store is a passive object within a data flow diagram that stores data for later access.
Unlike an actor, a data store does not generate any operations on its own but merely responds to
requests to store and access data.
This level (level 1) shows all processes at the first level of numbering, data stores, external
entities and the data flows between them. The purpose of this level is to show the major and high-
level processes of the system and their interrelation. A process model will have one, and only one,
level-1 diagram. A level-1 diagram must be balanced with its parent context level diagram, i.e.
there must be the same external entities and the same data flows, these can be broken down to
more detail in the level1.
Fig: DFD for Admin
Data flow diagram for Admin represents the role of admin in the system. Admin has an
authentication and after valid authentication, admin can perform the following processes in the
system. All transactions in the system can be stored and retrieved from the database.
Data flow diagram for Police represents the role of the person who manages and verifies for license
in the system. Police has an authentication and after valid authentication, he/she can perform the
following processes in the system. All transactions in the system can be stored and retrieved from
the database.
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented as
use cases), and any dependencies between those use cases.
The main purpose of a use case diagram is to show what system functions are performed
for which actor. Roles of the actors in the system can be depicted.
Interaction among actors is not shown on the use case diagram. If this interaction is
essential to a coherent description of the desired behavior, perhaps the system or use case
boundaries should be re-examined. Alternatively, interaction among actors can be part of the
assumptions used in the use case.
Use cases:
A use case describes a sequence of actions that provide something of measurable value to
an actor and is drawn as a horizontal ellipse.
Actors:
An actor is a person, organization, or external system that plays a role in one or more
interactions with the system.
A rectangle is drawn around the use cases, called the system boundary box, to indicate the
scope of system. Anything within the box represents functionality that is in scope and anything
outside the box is not.
Fig: Use Case Diagram for Admin
Use Case Diagram for Admin represents the functionalities carried out by the admin in this system.
Use Case Diagram for License represents the functionalities carried out by the License monitor in
this system.
Fig: Use Case Diagram for Police
Use Case Diagram for Police represents the functionalities carried out by the police in this system.
Targets/Class roles/State:
Objects as well as classes can be targets on a sequence diagram, which means that
messages can be sent to them. A target is displayed as a rectangle with some text in it. Below the
target, its lifeline extends for as long as the target exists. Targets can be actor, boundary, control,
entity and database
.
Messages:
Messages are arrows that represent communication between objects.
Lifelines:
Lifelines are vertical dashed lines that indicate the object's presence over time.
Fig: Sequence Diagram for Admin
Sequence diagram for admin represents the flow of the processes performed by admin in this
system.
Fig: Sequence Diagram for License
Sequence diagram for License represents the flow of the processes performed by License monitor
in this system.
Sequence diagram for police represents the flow of the processes performed by police in this
system.
• Many-to-Many: One instance of an entity (A) is associated with one, zero or many
instances of another entity (B), and one instance of entity B is associated with one,
zero or many instances of entity A.
Fig: ER Diagram
The ER diagram represents the relationship between the entities which are included in this system.
5.5 RELATIONS ESTABLISHED IN DATABASE TABLES
CHAPTER 6
IMPLEMENTATION
CHAPTER 6
IMPLEMENTATION
Implementation Steps:
Presentation Layer is Asp.net (front end) which invokes the Business logic through button click
or page load event or SelectedIndexChange event of the dropdownlist.
Business Logic contains the common methods. An object for Business logic class is created and
object will invoke the method.
The business logic object will call table Adopter method. Table Adopter will open the
database connection. Since SQL server 2005 is used as the backend, to interact with the database
SqlDataSource is used.
CHAPTER 7
TESTING
CHAPTER 7
TESTING
Software Testing has different goals and objectives. The major objectives of
Software testing are as follows:
• Finding defects which may get created by the programmer while developing the
software.
• To prevent defects.
• To make sure that the end result meets the business and user requirements.
• To ensure that it satisfies the BRS that is Business Requirement Specification and SRS
that is System Requirement Specifications.
• To gain the confidence of the customers by providing them a quality product.
Software testing is performed to verify that the completed software package functions
according to the expectations defined by the requirements/specifications. The overall objective
to not to find every software bug that exists, but to uncover situations that could negatively impact
the customer, usability and/or maintainability.
From the module level to the application level, this article defines the different types of
testing. Depending upon the purpose for testing and the software requirements/specs, a
combination of testing methodologies is applied. One of the most overlooked areas of testing is
regression testing and fault tolerant testing.
7.2 LEVELS OF TESTING
There are four levels of software testing.
1. Unit Testing:
It is a level of the software testing process where individual units/components of a
software/system are tested. The purpose is to validate that each unit of the software performs as
designed.
2. Integration Testing:
It is a level of the software testing process where individual units are combined and tested as a
group. The purpose of this level of testing is to expose faults in the interaction between integrated
units.
3. System Testing:
It is a level of the software testing process where a complete, integrated system/software is tested.
The purpose of this test is to evaluate the system’s compliance with the specified requirements.
4. Acceptance Testing:
It is a level of the software testing process where a system is tested for acceptability. The purpose
of this test is to evaluate the system’s compliance with the business requirements and assess
whether it is acceptable for delivery.
CHAPTER 8
CONCLUSION AND
FUTURE ENHANCEMENT
CHAPTER 8
8.1 CONCLUSION
The application can now identify each individual uniquely. Every citizen is identified for all the
Govt transactions with the help of his Aadhar card. The application integrates various Govt
departments into a single point of Contact. This system is used to create a tool that manages the
handling of passport and license using the unique identification associated with each individual.
The application deals with allowing the citizens to register for a unique identity.
This helps in avoiding unnecessary delays or find where the delay is happening when applications
are processed. The application can be extended to all the Govt departments with modification.
New modules can be added without affecting the existing modules.
• PAN, Voter ID, Ration Card etc can also be processed by using this card.
CHAPTER 9
ANNEXURE
CHAPTER 9
ANNEXURE
CHAPTER 10
REFERENCES
CHAPTER 10
REFERENCES
REFERRED WEBSITES:
www.wikipedia.org
www.csharphelp.com
www.w3schools.com
www.dotnetspider.com
www.csharpcorner.com
www.codeguru.com
www.techopedia.com
www.asp.net
www.asptoday.com
www.aspfree.com
www.edrawsoft.com/Data-Flow-Diagram-Symbols.php
www.tutorialspoint.com/uml/uml_use_case_diagram.htm
www.uml-diagrams.org/
REFERRED BOOKS:
“Programming C#, Fourth Edition- Building .NET Applications with C#” -By Jesse Liberty
“Working with Microsoft Visual Studio 2005 Team System” -By Richard Hundhausen
Software Engineering, Ian Summerville, Sixth Edition, Pearson Education Ltd, 2001