CHAPTER 1
REQUIREMENT ANALYSIS
1.1 Introduction
This project aims to develop a secure
software to transfer data through a network. Here we use fingerprint
authentication for identifying the correct user and send the encrypted data to
another user. A user may be a person or a computer in an industry. This
software supports Microsoft Word (DOC), Rich text (RTF), and Text file types
(TXT).The user can print the report of data.
The purpose of our
software project is to design a Fingerprint based Data encryption system to
transfer encrypted data through a network ie, data security is the main aim behind
this application software . There are several benefits of doing this. First, a
user can send their confidential data to another user using their biometric
features. This system is developed for the communication of persons working in
an organization in secure manner with the help of their fingerprint. This
software is useful to many organizations, including the Police department.
There are number of persons working in an organization, are allowed to use the
system. The interaction is provided through a client server application. Users
in the system are classified into different levels, based on the categories
they have given different privileges by the super user. The members in an
organization can transfer files among themselves. The files are accessible only to authorized
persons.
This software will be
a client application built on the C#.net and Oracle platforms. The interface of
the software will be clean and intuitive to even non-technical users. As the system is handling, highly sensitive
information, security is very important in the system. To keep the data highly
confidential security measures are adopted to prevent unauthorized access. for
eg: Employee can be able to send the
confidential messages with the help encryption to his/her superior officer.
This software includes the following features
·
A secure login and registration system using fingerprint
authentication, which allows only the users in that organization to access the
systems.
·
Transfer the confidential data to other users ,and the end
user can print the delivered data.
·
Here RSA algorithm is used for data encryption.
1.2 Feasibility study
The feasibility report of the project holds the advantages
and flexibility of the project. This is divided into three
sections:
·
Economic Feasibility
·
Technical Feasibility
·
Operational Feasibility
·
Behavioral Feasibility
1.2.1 Economic Feasibility
A systems
financial benefit must exceed the cost of developing that system. i.e. a new
system being developed should be a good investment for the organization.
Economic feasibility considers the following
i. The cost to conduct a full system
investigation.
ii. The cost of hardware and software for the
class of application.
iii. The benefits in the form of reduced cost
or fewer costly errors.
iv. The cost if there is no change (i.e. the
proposed system is not developed).
The
proposed “FINGERPRINT BASED ENCRYPTION FOR CONFIDENTIALITY AND
AUTHENTICATION” is economically feasible because
·
The system requires very less time factors.
·
The system will provide fast and efficient automated
environment instead of slow and error
prone manual system, thus reducing both time and man power spent in running the
system.
·
The system will have GUI interface and very less
user-training is required to learn it.
1.2.2 Technical Feasibility
Technological
flexibility is carried out to determine whether we have the capability in term
of software, hardware, personal and expertise to handle the completion of
project. It centers around the existing computer system (H/W and S/W) whether
it can support the addition of proposed system, if not, to what extent it can
support.
The H/W
and S/W required in our system are easier to install and handle. The
necessary H/W configuration and software platform is already there. The system
supports interactivity with the user through GUI. So our system is technically
feasible.
1.2.3
Operational Feasibility
Operational
feasibility determines how much effort will go in the proposed system, and in
educating and training the users on the new system. Operational study strives
on ensuring that the equilibrium of the organization and status in the
organization are not disturbed and changes are readily accepted by the users.
The proposed system is operationally feasible because it does not require any
training for the users.
1.2.4
Behavioral Feasibility
An estimate should be made of how strong a reaction the user
staff is likely to have toward the development of a computerized security
system. It is common knowledge that computer installations have something to do
with turnover, transfer, retaining and changes in employee job status.
Introduction of this software does not require any special effort to educate
and train the staffs because this software is not so complicated and easy to
understand.
1.3 Project plan
Our group consists of three members and we worked together
according to a detailed plan to ensure quality in all aspects for assigning
tasks to each member clearly.
Project name: fingerprint based Encryption for
Confidentiality and Authentication.
Project
site :KMCT College of Engineering,Calicut
Guide:
Ms.Liji Submitted
on: 11/7/2011
Table 1.1 Project plan
|
SS.Lno
|
Activity
Description
|
Role
|
Start Date
|
Target Date
|
|
1
|
Topicidentification
|
All Members
|
11/2/11
|
16/2/11
|
|
2
|
Feasibility
study
|
All Members
|
16/2/11
|
18/2/11
|
|
3
|
User
interview
|
Naveen Kumar
|
18/2/11
|
23/2/11
|
|
4
|
Requirement
analysis
|
Nidhin TT ,Fathima Shaniba K
|
18/2/11
|
24/2/11
|
|
5
|
SRS
preparation
|
Fathima Shaniba k
|
24/2/11
|
3/3/11
|
|
6
|
Design(database)
|
Nidhin TT
|
3/3/11
|
25/3/11
|
|
7
|
Coding
|
Naveen Kumar
|
25/3/11
|
27/3/11
|
|
8
|
Testing,
Implementation
|
All Members
|
27/4/11
|
31/5/11
|
|
9
|
Report
|
Fathima Shaniba.k
|
31/5/11
|
10/6/11
|
Team members:
FATHIMA SHANIBA.K
NAVEEN
KUMAR.P
NIDHIN
.T.T
1.4 User Interviews
In order to understand about the secure data
transfer through a network, requirement
analysis had been conducted at Bank of India,Beypore.
By describing the great process in details,
we can divide the entire process into three major processes.
1. Fingerprint
Authentication.
2. Data Encryption.
3. Transferring the encrypted data through a network.
4. Data Decryption (the encrypted data is decrypted and the
authorized user can access it).
5. To obtain the view of decrypted data to the user (eg:
employee data).
6. User can print the reports (e.g.: data).
1.5 Existing system
The Existing system is a manual system in
which each user has a username and a password.
Since it is mandatory, there is a chance of
an unauthorized user to access the system. As a result it is highly insecure.
It has low efficiency and time consuming. In highly sensitive data that can be
sending using primitive methods are very insecure because it can be easily
interrupted by externals
1.5.1Disadvantages
·
Manual
transaction
·
Insecure
·
Low
efficiency
·
External
interference(Hacking)
1.6 New requirements
New
requirements needed for the working of FECA is we need a fingerprint reader
which is compactable with windows xp.
1.7 Proposed system
·
High security
·
High efficiency& Accuracy
·
No external interference
·
Support wireless/wired data transaction
1.8 Requirement analysis
Requirement analysis is a process of understanding the customer needs and
expectations from a proposed system or application and is a well-defined stage
in software development life cycle model. This provides a software for the user
who wish to securely transfer data through a network, which is more reliable,
user friendly and thorough interaction with the database.
Requirements are the description of how a system should
behave or a description of system properties and attributes. It can
alternatively be a statement of ‘what ‘an application is expected to do.
A dedicated and specialized requirement analyst is best
equipped to handle the jobs. The requirement analysis function may also fall
under the scope of project manager, program manager, depending on the
organizational hierarchy.
1.9 The overall Description
This
software is mainly aims the confidential data security. The main requirements
for this includes the number of users and their job types, registration
methods, encrypting algorithms, identifying algorithms etc..
The most
of the fingerprint scanners (reader) support only 660 fingerprints, so there is
some problem occurs when the number of users (Employee’s) in an industry
greater than 660.We can solve this by saving the templates into our PC.
1.10
Product Perspective
In this method data are encrypted using public key
encryption method .Fingerprint authentication is used to login and decrypt the
data. This system encrypts the data and only the authorized person can be able
to view the data using their biometric features. This application more concern
with the data security or data security is the main aim behind this application
software. In this method, each user will be provided public key and private key
.Using public key user encrypt his/her confidential data and after encryption
the cipher text will be send to another(receiver) user. For data encryption,
RSA algorithm is used ,Here we use 1024 bit RSA encryption .A RSA key length of
1024 bits is sufficient for many medium-security purposes such as web site
logins etc.. Its main application areas includes the Police
department,Court,Secret service
departments, Industries , Educational Institutions etc..
The main functionalities used in this project are:
·
Fingerprint Authentication.
·
Data Encryption.
·
Transferring the encrypted data through a network.
·
Data Decryption (the encrypted data is decrypted and the authorized user can access it).
·
To obtain the view of decrypted data to the user (eg: employee data).
·
User can print the reports (e.g.: data).
Performance: First,
the easy bit. Figure 1 shows the time taken to encrypt various numbers of
16-byte blocks of data using the algorithms mentioned.
fig 1.1
1.11
System Interface
In this
project we include a fingerprint authentication system, it improves the quality
of product.
If
our system includes a fingerprint reader, we can use biometric authentication
in addition to standard authentication via login and password. After
registering their fingerprint, users can log in to the system either by swiping
a finger on the fingerprint reader or by typing in a password.
.
1.12 Interfaces
In this system the interface between
the user application (software) and the fingerprint scanner is introduced in
login section (before encryption/decryption).Here we use serial port to connect
fingerprint scanner.
1.12.1 Hardware Interfaces
In this project the main hardware is
fingerprint scanner. The main functionality of a fingerprint scanner is to scan
the user’s fingerprint and produce exact pattern of that fingerprint. Most fingerprint scanner systems compare specific features
of the fingerprint, generally known as minutiae. Typically, human and computer
investigators concentrate on points where ridge lines end or where one ridge
splits into two (bifurcations). Collectively, these and other distinctive
features are sometimes called typica.
The
scanner system software uses highly complex algorithm to recognize and analyze
these minutiae. The basic idea is to measure the relative positions of
minutiae, in the same sort of way you might recognize a part of the sky by the
relative positions of stars.
1.12.2 software Interfaces
In
this project,the software interface needed are Oracle 9i,C#.Net(Visual studio)
and an operating system windows xp.
1.12.3
Communication Interfaces
This
software is a network based one. We need some other hardware components for
connecting these software to a network.
1.12.4 Memory constraints
Memory
constraints are related to the software project‘s memory management which tells
the minimum memory required for running this software.
In the
case of .net software projects, it needs a minimum 256Mb RAM for smooth running
of software.
1.13Operations
The main operations in this software
systems are
·
Authentication.
·
Encryption.
·
Decryption.
·
Printing the data and the report.
1.14
Product functions
Here the confidential data are encrypted using public key
encryption method .Fingerprint authentication is used to login and decrypt the
data. This system encrypts the data and only the authorized person can be able
to view the data using their biometric features. The user use his/her private
key to decrypt the data (cipher text) .These user can able to print the decrypted data. For the identification of fingerprints, PCA
algorithm is used. This application more concern with the data security or data
security is the main aim behind this application software. In this method, each
user will be provided public key and private key .Using public key user encrypt his/her confidential data and
after encryption the cipher text will be send to another(receiver) user. For
data encryption, RSA algorithm is used ,Here we use 1024 bit RSA encryption.
We may need to encode independent pieces of data (be they
files, communications across a network etc), and we might want them to be
encoded differently so that just because Person A can decode File A' with our
system doesn't necessarily mean that Person B can decode File B' with our
system.
1.15
User characteristics
For
operating this software, the educational level ,technical skill and technical
experience of user is not important.
1.16 Specific
Requirements
There
should be minimum and specific requirements for our system to be active. Mainly
there are two categories they are hardware as well as software complexities.Software’s
used for developing : Microsoft visual studio 2008,Oracle 9i
1.17 Functional Requirements
1.17.1 Authentication
(Checks whether the data is accessed
by the authorized user.)
1.17.1.1 Registration
1.17.2 Data Encryption
(Encrypt the uploaded data)
1.17.2.1 Authentication
1.17.3 Data Decryption
(Decrypt the delivered data)
1.17.3.1 Authentication
1.17.4 Report Printing
(Print the data and report)
1.17.4.1 Authentication
1.17.4.2 Data Decryption.
1.18 Performance Requirements
It
includes functions that depends on the performance of software.for example, the
software system supports simultaneous data transfer.
1.19 Hardware and Software Requirement
.NET
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 fulfil the following.
To provide
a consistent object-oriented programming environment whether object code is
stored and executed locally, executed locally but internet-distributed, or
executed remotely ,code execution environment that minimize software deployment
and versioning conflicts, that guarantees safe execution of code ,including
code created by an unknown or semi-trusted third party, that eliminates the
performance problems of scripted or interpreted environments. The developer
experience consistent across widely varying types of applications, and
web-based applications, all communication on industry standards to ensure that
code based on the .NET framework can integrate with any other code.
C#.NET:-
C#.NET is
the next generation of the visual basic
language from Microsoft. With C# you can build .NET applications quickly
and easily. Applications made with C# are
built on the services of the common language runtime and take advantage of the
.NET framework.
C# has
many new and improved features such as inheritance,interfaces,and overloading
that make it a powerfull object-oriented programming language. Other new language
features include free threading and structured Exception handling.C# fully
integrated the .NET frameworkand the common language runtime,,which together
provides language interoperability,garbage collection,enhanced security,and
improved versioning support.C# supports single inheritance security and create
Microsoft intermediatelanguage(MSIL) as input to native code compilers.
C#
comparatively easy to learn and use ,and
has become the programming language of choice for hundreds of thousands of developers
over the past decade.An understanding C# can be leveraged ina variety of ways
,such as writing macros in visual studio and providing programmability in
application such as Microsoft excel ,access and word).
C#.net
,the next generation of the c# language ,is a fast and easy way to create ..NET
based application.C#.net has many new and improved features that make it a
powerful object-orientedprogramming language,including inheritance ,interfaces ,and overloading
.Other new language features include free threading and structured exception
handling.C# .net also fully integrates the .net framework and the common
language runtime ,which provide language interoperability,garbage
collection,enhanced security,and improved versioning support.
Hardware Requirements:
Processor: Intel Pentium
Main memory: 256Mb
Mouse: MC Series of compactable.
Keyboard :multimedia
Software Requirements:
OS= windows XP
Front-end: C#.NET
Backend: Oracle
1.20 Logical Database
requirements
·
The database used is Oracle 9i.
·
For storing user’s fingerprint id.
·
For storing user’s details.
·
For storing data.
1.21
DESIGN CONSTRAINTS
1.21.1
Standard Compliance:
The user can able to print the
decrypted data and reports.
1.22 Software system attributes
The Front
end used for developing the software project is C#.net and the Back end used is
Oracle 9i.
1.22.1 Reliability
Informally,
software is reliable if user can rely on it. Reliability can be defined
mathematically as “probability of absence of failures for a certain time
period” – statistical behavior.
The
probability of failure is less because the software should be build without
errors at the time of delivery.
1.22.2 Security
Security refers
to data protection. The database used is Oracle which is highly secure.
1.22.3 Maintainability
Maintainability of a software system is related to the ease
of its maintenance after the first release. Unlike other engineering products,
there is no wear and tear for software products. The term maintenance is used
for the activities done on software either to correct the bugs or to improve
the features or to update the system incorporating additional features
The software
developed is maintainable i.e., developer can update the system in future.
1.22.4 Portability
Portability of
software is its ability to run on different environment. The environment can be
hardware,operating systems, databases and interfaces. Portability is
economically important as the investment on systems can be amortized across various environments
and generations of these environments.
This software is designed for windows os.
1.23 Conclusion
The subsection of the chapter provides
an overview of proposed system design and its other functional requirements
clearly and precisely.
CHAPTER
2
DESIGN SPECIFICATION
2.1 Introduction
This
project aims to develop a secure software to transfer data through a network.
Here we use fingerprint authentication for identifying the correct user and
send the encrypted data to another user. A user may be a person or a computer
in an industry. This software supports Microsoft Word (DOC), Rich text (RTF),
and Text file types (TXT).The user can print the report of data.
2.1.1 Design Overview
Design is a fundamental human activity. Design
provides a structure to any artifact. It decomposes a system into parts,
assigns responsibilities to each part, and ensures that the parts fit together
to achieve the global goals of the system.
In the
case of software, design is the activity that acts as a bridge between
requirements and implementation of software. Once we have determined the need
for a system and we have decided on its desirable qualities, including the
interface it provides for interaction with the external world, we proceed to
design that system. The first result of the design activity is an architectural
design that shows the major parts of the system and how they fit together and
cooperate.
The output of the design activity is software
design. A software design is defined
as a decomposition of modules-a description of what each module is intended to
do and of the relationship among the modules. Often software architecture is
prior to a software design and it guides the development of the design
2.1.2Purpose
The purpose of our software project is to design
a Fingerprint based Data encryption system
to transfer encrypted data through a network ie ,data security is the main aim behind this
application software . There are several benefits of doing this. First, a user
can send their confidential data to another user using their biometric
features. This system is developed for the communication of persons working in
an organization in secure manner with the help of their finger print. The
interaction is provided through a client server application. Users in the
system are classified into different levels, based on the categories they have
given different privileges by the super user. The members in an organization
can transfer files among themselves. The
files are accessible only to authorized persons.
2.1.3 Scope
This software will be a client application built on the
C#.net and Oracle platforms. The interface of the software will be clean and
intuitive to even non-technical users.
As the system is handling, highly sensitive information, security is
very important in the system. To keep the data highly confidential security
measures are adopted to prevent unauthorized access. for eg: Employee can be able to send the confidential messages
with the help encryption to his/her superior officer.
This software
includes the following features
·
A secure login and registration system using fingerprint
authentication, which allows only the users in that organization to access the
system’s.
·
Transfer the confidential data to other users ,and the end
user can print the delivered data.
·
Here RSA algorithm is used for data encryption .
2.2 Database design
A data
base is a collection of logically related records. The main objective of data
base is to provide effective auxiliary storage without any application and
contribute to the overall efficiency of the computer program components of the
whole system.
The
organization of data in the database aims to achieve the following objectives
·
controlled redundancy
·
ease of learning in use
·
data independence
·
more information in low cost
·
accuracy and integrity
·
recovery form failure
·
privacy and security
·
performance
The normalization process takes a relation schema through a
series of tests to certify whether it satisfies a certain normal form. The
process, which proceeds in a top-down fashion by evaluating each relation
against the criteria for normal forms and decomposing relations as necessary,
can thus be considered as relational design by analysis. There are mainly three
normal forms: first, second, and third normal form. All these normal forms are
based on a single analytical tool: the functional dependencies among the
attributes of a relation.
Normalization of data can be considered a process of
analyzing the given relation schemas based on their FDs and primary keys to
achieve the desirable properties of,
· Minimizing
redundancy
·
Minimizing the insertion, deletion, and update anomalies.
Unsatisfactory relation schemas that do not meet the normal
form tests are decomposed into smaller relation schemas that meet the tests and
hence the desirable properties.
The normal form of a relation refers to the highest normal form
condition that it meets, and hence indicates the degree to which it has been
normalized.
First
normal form
First normal form (1NF) states that the domain of an
attribute must include only atomic values and that the value of any attribute
in a tuple must be a single value from the domain of that attribute. Hence, 1NF
disallows relations within relations or relations as attribute values within
tuples. The only attribute values permitted by 1NF are single atomic values.
Second
normal form
Second normal form (2NF) is based on the concept of full
functional dependency. A functional dependency is a full functional dependency
if removal of any attribute does not hold the dependency any more.
A relation schema is in 2NF if every nonprime attribute in
relation is fully functionally dependent on the primary key of that relation.
Third
normal form
Third normal form is based on the concept of transitive
dependency. A relation schema R is in 3NF if it satisfies 2NF and no nonprime
attribute is transitively dependent on the primary key.
Our project is fully normalized up to second normal form
where each key is fully depending on the primary key. The database of our
project is designed using Oracle 10g and it comprise of 3 tables.
The design
should be done in a way the information stored in the database can retrieve
quickly whenever needed. It Provide a high-level overview of how the
functionality and responsibilities of the system were partitioned and then
assigned to subsystems or components.
In this ,data are encrypted using public key encryption
method .Fingerprint authentication is used to login and encrypt/decrypt the
data. This system encrypts the data and only the authorized person can be able
to view the data using their biometric features. For the identification of
fingerprints, the fingerprint reader is used. This application more concern
with the data security or data security is the main aim behind this application
software. In this method, each user will be provided public key and private key
.Using public key user encrypt his/her
confidential data and after encryption the cipher text will be send to
another(receiver) user. For data encryption, RSA algorithm is used ,Here we use
1024 bit RSA encryption .A RSA key length of 1024 bits is sufficient for many
medium-security purposes such as web site logins etc.. Its main application
areas includes the Police department,Court,Secret service departments, Industries , Educational
Institutions etc..
The main
functionalities used in this project are:
·
Fingerprint Authentication.
·
Data Encryption.
·
Transferring the
encrypted data through a network.
·
Data Decryption (the encrypted data is decrypted and the
authorized user can access it).
·
To obtain the view of decrypted data to the user (eg:
employee data).
·
User can print the reports (e.g.: data).
The main
purpose Here is to gain a general understanding of how and why the system was
decomposed, and How the individual parts work together to provide the desired
functionality. At the topmost Level, describe the major responsibilities that
the software must undertake.
Hardware
Architecture
Here the
database is installed in the server and we access the data or send the
encrypted data through a local area network connection.
Internal
Communications Architecture
By using this
software we can easily identify the other systems in the network and also can
send encrypted data to any other user through a LAN.
Software
Architecture
Which
includes the all software systems that support the fingerprint based encryption
for confidentiality and authentication system.
2.2.1 TABLES
There are 3 table’s in this project
1:
Registration: This table used for registering a new user ,the attributes are userid,username,name,address,gender,dob,contactno:,designation,department,fingerprint
id.
2: Login:
This table used for authentication of
user,ie a username and
fingerprint of that user is the login name and password.
3: Message: After encrypting a file(.txt,.rtf,.doc etc) the
sender keeps the data path in the data table,so the receiver can identify the
location of encrypted data and easily decrypt it using his/her fingerprint.
2.2.2 DATABASE TABLES
1:Registration
Table
2.1 Registration
|
NAME
|
DATA TYPE
|
SIZE
|
SCALE
|
NULLS
|
DEFAULT VALUE
|
|
USERID
|
NUMBER
|
10
|
0
|
|
|
|
UNAME
|
VARCHAR2
|
250
|
|
|
|
|
NAME
|
VARCHAR2
|
250
|
|
|
|
|
ADDRESS
|
VARCHAR2
|
500
|
|
|
|
|
GENDER
|
VARCHAR2
|
0
|
|
|
|
|
DOB
|
VARCHAR2
|
10
|
|
|
|
|
CONTACT
NO
|
NUMBER
|
30
|
0
|
|
|
|
DESIGNATION
|
VARCHAR2
|
50
|
|
|
|
|
DEPARTMENT
|
VARCHAR2
|
50
|
|
|
|
|
FINGERPRINTID
|
NUMBER
|
30
|
0
|
|
|
2:Login
Table 2.2
Login
|
NAME
|
DATA TYPE
|
SIZE
|
SCALE
|
NULLS
|
DEFAULT VALUES
|
|
UNAME
|
VARCHAR2
|
10
|
|
|
|
|
UPASSWORD
|
NUMBER
|
20
|
0
|
|
|
Here UPASSWORD is
the fingerprint id for each user
3:Message
Table 2.3
Message
|
NAME
|
DATA TYPE
|
SIZE
|
SCALE
|
NULLS
|
DEFAULT VALUES
|
|
FINGERPRINT
|
NUMBER
|
10
|
|
|
|
|
KEY
|
NVARCHAR
|
500
|
0
|
|
|
|
TIME1
|
DATE
|
|
|
|
|
|
SENDER
|
NUMBER
|
50
|
|
|
|
|
MESSAGE
|
CLOB
|
|
|
|
|
2.3 Data
Flow Diagram:
As the name suggests DFD is a representation of the data
flow within the system. It includes processes, data stores and external
interfaces to the system. External interfaces may be treated as external
entities. DFD’s can by explode to sub-processes. Any two entities/data stores
must be connected to each other by some process. The processes cannot be
directly connected to each other. The following are the four major components
of the DFD:
· Process
·
External Entity
·
Data Store
·
Connector
The DFD is also known as the bubble chart. It is a simple
graphical formalism that can be used to represent a system in terms of the
input data to the system, various processing carried out in these data and the
output data generated by the system. The main reason why this DFD technique is
so popular is probably because of the facts that DFD is very simple formalism.
It is simple to understand and use. A DFD model uses a very limited number of
primitive symbols to represent the functions performed by a system and the data
flow among these systems. Starting with a set of high-level functions that a
system performance of DFD model in hierarchically it represents various sub
functions. The Data Flow Diagramming technique also follows a simple a simple
set of intuitive concepts and rules.
DATAFLOW DIAGRAM (DFD)
Level 0:
|
USER
|
|
Login
|
|
Encryption/Decryption
|
Fig 2.1
Level1:
|
Login
|
|
Registration
|
Login
registration
|
Upload File
|
|
Encrypt
|
Data
|
Printer
pPrinterrinter
|
|
Decrypt
|
|
Print
|
|
Download
|
Level 2:
|
USER
|
|
Login
|
|
Registration
|
|
Upload File
|
Login
registration
|
File Type
|
|
Encrypt
|
|
.doc/.docx
|
|
.txt
|
|
.rtf
|
Message
|
Printer
pPrinterrinter
|
|
Decrypt
|
|
Print
|
|
Download
|
2.4
Entity-Relationship Diagram (ERD)
The Entity
Relationship Diagram (also known as an ERD or E-R diagram) is a network model
that describes the stored data layout of a system at a high level of
abstraction. The ERD should represent the relationships between all the
entities. Any two entities must be connected to each other by some relationship
set and type of relationship should also be specified.
Components of an ERD
There are two major components of an
ERD:
Entity:
It is
defined as any object about which information is collected. It has different
attributes which describe it. It should be represented by a regular box as
shown below:
Relationships:
Entities
are connected to one another by relationships. a relationship represents a set
of connections between entities and represent by a diamond.
A relationship is a two-directional
significant association.
There are three types of
relationships
One-to-one
relationships
One-to-many relationships
Many-to-many relationships
ERD:-
|
Administrator
|
|
Name
|
|
Login id
|
|
register
|
|
Users
|
|
Name
|
|
Finger ID
|
|
Fingerprint module
|
|
Authenticate
by
|
|
Send/receive
|
|
Data or information
|
|
Decrypted
by
|
|
Encrypted
by
|
|
Encryption
|
|
Decryption
|
Fig
2.2
2.5 Context Analysis Diagram (CAD)
The Context
Analysis Diagram (CAD) may be used to represent the top level overviews of the
existing system. The CAD is drawn to represent the state of the system during
the requirement analysis phase.
The CAD shows the
system as a single process represented by a circle at the center of the model.
There shall always be only one system process in a CAD. The model shows
entities external to the system process. The entities are representative of the
existing significant objects in the current system scenario. The external
entities are connected to the central process through connectors representing
the information flowing into/ out of the system. CAD should be drawn with the help of latest
version of the Turbo Analyst tool available with the company.
CAD:
|
Administrator
|
Pda
update request
encryption /decryption request
Update confirmation
Print
confirmation
|
F.E.C.A
|
User
details request
user details confirmation
Fig 2.3
|
USER
|
2.6 Process Design
2.6.1 Input Design
Input
design is the process of converting the user originated inputs to a computer
based format. The goal of designing input data is to make the automation is
easy and free from errors. The design for handling input specifies how data are
accepted for computer processing. Input design is of overall system design that
careful attention and if includes specifying the means by which action are
taken. a system user interaction through a work station must be able to tell the system whether to
accept input produce a report or end
processing. The collection of input data is considered to be the most expensive
part of the system design. Since the inputs have to be planned in such a manner
so as to get the relevant information extreme care is taken to obtain the
information .if the data going into the system is incorrect then the processing
and outputs will magnify these errors.
2.6.2 Output design
A quality
output is one which meets the requirement of the end user and presents the
information clearly .In any system, the results of processing are given to the
users through the outputs.In the output design it is determined how the
information is to be displayed for immediate need.
Output
design should improve the relationship of the system with the user and help in
decision –making. The objective of the output design is to define the
format of all printed documents and of
screens that will be produces by the system. The output has been designed as
per the needs of the institution .The suggestions of the users are also taken
into consideration while designing the layouts and the fields that are to be
included in the project.
2.7 USER
INTERFACE DESIGN
1: Login
In this Login
window ,we give our username and our fingerprint id as input,in the case of the
administrator he gives username and password as input.For each new registration
the username and fingerprint id stored to login table.
Fig
2.4
2:Registration
In the first
text box accept the user id which is a
number,the second textbox accept the full name of the user, then the next
textbox for the username,the username of that particular user is provided by
the administrator.the next textbox for input
the address of the user.the radiobutton is used to select the gender of
the user(Female or Male).the combobox is used to select the date of birth of
the user.then enter the contact number ,designation and department of the user
,atlast scan the finger using fingerprint scanner,and then get a key in that
text box usually in the number format.
Fig 2.5
3:Encryption form
For encrypting a data, use the upload option and then upload
users data .After uploading if there is any correction ,user can select the view
option and then at the left side of the window the user can edit the data and
also save the new data.then select the encryption option and create the
encrypted data. Now select the receivers name from the list of all users
Here user id is considered as the primary key.then
send the data.
Fig
2.6
4:User details
From this window the administer can list the all users (eg:employee)
,delete the selected user and also search a particular user by using his user
id.
Fig
2.7
5:Decryption form
In the decryption form ,the user first
select the data from the left side after that select the decryption
option and then user can see the decrypted data by selecting view
option.then the user can save or print the data.
Fig 2.8
2.8 Conclusion
The
document contains the detailed design of database, user interfaces which
include input and output design separately and finally the process
decomposition also.
CHAPTER 3
CODING
3.1 Source code
3.1.1 Registration form
Source
code of SAVE button in Registration form.The SAVE button is used to insert the
user details to the database .
private void
button3_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
MessageBox.Show("USERID
is mandatory. Fill all fields
before save");
else if(textBox2.Text=="")
MessageBox.Show("NAME
is mandatory. Fill all fields
before save");
else if
(textBox4.Text == "")
MessageBox.Show("USERNAME
is mandatory. Fill all fields before
save");
else if
(textBox3.Text == "")
MessageBox.Show("USERID
is mandatory. Fill all fields
before save");
else if (textBox5.Text == "")
MessageBox.Show("CONTACTNO
is mandatory. Fill all fields before
save");
else if
(textBox6.Text == "")
MessageBox.Show("DESIGNATION
is mandatory. Fill all fields before save");
else if
(textBox7.Text == "")
MessageBox.Show("DEPARTMENT
is mandatory. Fill all fields before
save");
else if
(textBox8.Text == "")
MessageBox.Show("FINGERPRINT
is mandatory. Fill all fields before
save");
else if
(!radioButton2.Checked &&
!radioButton1.Checked)
MessageBox.Show("Select
any gender. Fill all fields
before save");
else
{
save.Enabled = true ;
co.pusrid = Convert.ToInt32(textBox1.Text);
co.pads
= textBox3.Text;
co.pcontno = Convert.ToInt64(textBox5.Text);
co.pdgn
= textBox6.Text;
co.pdep
= textBox7.Text;
co.pnam =
textBox2.Text;
co.punam = textBox4.Text;
if (radioButton1.Checked == true)
{
co.pgender = radioButton1.Text;
}
else
{
co.pgender = radioButton2.Text;
}
co.pdob
= dateTimePicker1.Value.ToString();
cl.pfid1 = Convert.ToInt32(textBox8.Text);
cl.punam1 = textBox4.Text;
co.pfid
= Convert.ToInt32(textBox8.Text);
RSACryptoServiceProvider rsa1 = new RSACryptoServiceProvider();
string key = rsa1.ToXmlString(true);
co.pkey
= key;
po.ins(co);
pl.ins1(cl);
}}
3.1.2 User Details
Search by
ID: It give the details of a particular user by entering their id.
private void button3_Click(object sender, EventArgs
e)
{
if (init() == true)
{
cr.pusrid = Convert.ToInt32(textBox1.Text);
dataGridView1.DataSource = pr.sel_con(cr).Tables[0];
}
}
Update : To Update
the user details.
private void button1_Click_1(object sender, EventArgs
e)
{
cr.pusrid =
Convert.ToInt32(dataGridView1[0, i].Value);
cr.pads =
(dataGridView1[2, i].Value).ToString();
cr.pcontno
= Convert.ToInt32 (dataGridView1[5,
i].Value);
cr.pdgn =
(dataGridView1[6, i].Value).ToString();
cr.pdep =
(dataGridView1[7, i].Value).ToString();
pr.upd(cr);
}
Delete: To Delete a particular user .
private void button1_Click(object sender, EventArgs
e)
{
cr.pusrid =
Convert.ToInt32(dataGridView1[0, i].Value);
pr.del(cr);
grid();
}
View all: It shows all user details.
private void button2_Click(object sender, EventArgs
e)
{
grid();
}
3.1.3 Encryption Form
This source code for Encrypting the data/message
send.
private void button7_Click(object sender, EventArgs
e)
{
dataGrid1.Visible = true;
string key = "";
con.pfid = Convert.ToInt32(textBox1.Text);
DataTable dt = pro.sel_fin(con).Tables[0];
if (dt.Rows.Count > 0)
{
key =
dt.Rows[0][10].ToString();
}
rsa1.FromXmlString(key);
int i = 0;
string proc = richTextBox1.Text;
string en="";
while (i < proc.Length)
{
int count = (i + 100 < proc.Length ? 100 :
proc.Length - i);
string tmp = proc.Substring(i, count);
t =
enc1.GetBytes(tmp);
t =
rsa1.Encrypt(t, false);
op = Convert.ToBase64String(t);
en +=
op;
i +=
100;
}
cm.pmessage1 = en ;
cm.pkey1
= pb;
cm.pfingerprint1 = Convert.ToInt16(textBox1.Text);
cm.ptime1 = Convert .ToDateTime (DateTime.Now.ToShortDateString ());
cm.psender1 = fffid;
pm.insm(cm);
cm.pfingerprint1 = Convert.ToInt16(textBox1.Text);
dataGrid1.DataSource = pm.SEL_FING(cm).Tables[0];
button4.Enabled = false;
System.Net.Sockets.TcpClient
tcpclient1 = new TcpClient();
}
3.1.4 Decryption Form
This source code for Decrypting the received data
/message.
private void
button1_Click(object sender, EventArgs e)
{
richTextBox2.Visible = true;
richTextBox2.Clear();
char[] c = new char[1];
c[0] = '=';
con.pfid = Convert.ToInt32(textBox1.Text);
string key = "";//= rsa.ToXmlString(true);
DataTable dt = pro.sel_fin(con).Tables[0];
if (dt.Rows.Count > 0)
{
key =
dt.Rows[0][10].ToString();
}
rsa.FromXmlString(key);
string[] ot = encrypt .Split(c, StringSplitOptions.RemoveEmptyEntries);
foreach (string s in ot)
{
string tmp = s + "=";
byte[] b = Convert.FromBase64String(tmp);
byte[] t1 = rsa.Decrypt(b, false);
UnicodeEncoding bc = new
UnicodeEncoding();
richTextBox2.Text = richTextBox2.Text + enc.GetString(t1);
}
}
3.1.5 Print Data
To print
the data.
private void button4_Click(object sender, EventArgs
e)
{
PrintDialog printDialog1 = new PrintDialog();
PrintDocument DocumentToPrint = new PrintDocument();
printDialog1.Document = DocumentToPrint;
if (printDialog1.ShowDialog() == DialogResult.OK)
{
try
{
StreamWriter sw = new
StreamWriter("C:\\sample.txt");
sw.Write(richTextBox2.Text);
PrinterSettings d = new
PrinterSettings();
d.PrintFileName = "C:\\sample.txt";
d.PrintToFile = true; ;
DocumentToPrint.PrinterSettings = d;
DocumentToPrint.Print();
}
catch
{
}
}
}
CHAPTER 4
TESTING
4.1 Introduction
The chapter
testing describes various testing methodologies which are adapted and detailed
view of test data’s within each database. During testing of a program to be
tested is executed with a set of test data and the output of the program for
test data is evaluated.
4.2 Unit Testing
Unit Testing is a
procedure used to validate that individual units of source code are working
properly. A unit is the smallest testable part of an application. In procedural
programming a unit may be an individual program, function, procedure, etc.,
while in object-oriented programming, the smallest unit is a method; which may
belong to a base/super class, abstract class or derived/child class. Ideally,
each test case is independent from the others; mock objects and test harnesses
can be used to assist testing a module in isolation. Unit testing is typically
done by developers and not by Software testers or end-users
4.3 Integration
Testing
Integration testing is the
phase of software testing in which individual software modules are combined and
tested as a group. It follows unit testing and precedes system testing.
Integration testing takes as its input modules that have been unit tested,
groups them in larger aggregates, applies tests defined in an integration test
plan to those aggregates, and delivers as its output the integrated system
ready for system testing. The purpose of integration testing is to verify
functional, performance and reliability requirements placed on major design
items.
The following are the types of
Integration Testing
4.3.1 TOP DOWN
INTEGRATION
This method is an incremental approach to the
construction of program structure. Modules are integrated by moving downward
through the control hierarchy, beginning with the main program module. The
module subordinates to the main program module are incorporated into the
structure in either a depth first or breadth
4.3.2
BOTTOM-UP INTEGRATION
This
method begins the construction and testing with the modules at the lowest level
in the program structure. Since the modules are integrated from the bottom up,
processing required for modules subordinate to a given level is always
available and the need for stubs is eliminated. The bottom up integration
strategy may be implemented with the following steps:
The low-level modules are combined into clusters
into clusters that perform a specific Software sub-function.
A driver (i.e.) the control program for testing is
written to coordinate test case input and output.
The cluster is tested.
Drivers are removed and clusters are combined moving
upward In the program structure
4.4
Validation and testing
Software
validation is achieved through a series of tests that demonstrate conformity
with requirements. Validation succeeds when software functions in a manner that
can be reasonably expected by the end user. Testing is necessary for the
success of the system. During testing of a program to be tested is executed
with a set of test data and the output of the program for test data is
evaluated to determine if the programs are performing as expected.
First the
application goes through a phase often referred as alpha testing in which the
errors and failures based on simulated user requirements are verified and
studied. The modified software is then subjected to phase two called beta
testing in the actual user’s site or live environment. After a scheduled time,
failures and errors are documented for final correction and enhancements are
made before the package is released
In our project,
validation and checks have been done in order to ensure that the developed
system is performing up to its expectation. Validations have been done in the
area of login sections and registration
sections. In registration forms, certain
rules have been set like no field is left blank. In this way each field in the
registration form are checked, checking for user name availability and
reporting status. In the login pages appropriate messages are displayed when a user provides
an invalid response.
4.5 System Testing
System testing of
software or hardware is testing conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements. System
testing falls within the scope of black box testing, and as such, should
require no knowledge of the inner design of the code or logic.
It is the process of executing the program
with the intent of finding errors Testing cannot show the absence of defects;
it can only show that software errors are present.
Test Type
·
Functionality
testing.
·
Usability
testing.
·
Interface
testing
·
Compatibility
testing.
·
Functionality Testing
Tested forms in all pages:
Forms
are the integral part. Firstly checked all the validations on each field like
user name and password,checking whether all mandatory fields are filled and so
on. Checked by providing wrong inputs to the fields in the forms and found they
are responding appropriately. Wrong input include like proving an invalid user
name or password.
Checks have been made to ensure whether the
database functions are working. Like when a new user registers with the site
there is database query regarding this. So, these queries are tested by looking
into the actual database whether all entries have been affected to the
database. If this is not the case, query is checked and rectified. Database
checking was positive.
·
Interface Testing:
The main
interfaces are: client application interface and database interface. In this
project, ORACLE 9i is used. ORACLE 9i should hold all the C# files which will
be interacting with the application logic in the C# .NET. All these
interactions between has been checked and found to be working properly. Errors are also handled properly.
4.6
Test data
4.6.1 User Registration
Table 4.1 User registration
|
USERID
|
NAME
|
ADDRESS
|
DOB
|
CONTACTNO
|
DESIGNATION
|
|
101
|
RAJ
|
17TH
Streat ,Mumbai
|
17/8/1990
|
18522222
|
Programmer
|
|
102
|
John
|
20
link road madras
|
18/5/1988
|
22522222
|
Software
developer
|
|
103
|
Sumesh
|
Door:124
lovepark ,b”lore
|
11/6/1896
|
asd28956
|
doctor
|
|
104
|
Jhon
ckurivila
|
Kurishu
pala
|
22/04/1986
|
12347894
|
|
|
105
|
Shani
|
Saas,kannur
|
25/09/1989
|
23456778
|
Fashion
designer
|
|
106
|
Tintumon
|
|
22/09/1990
|
23569899
|
piolet
|
|
DEPARTMENT
|
FINGERPRINT
|
USERNAME
|
KEY
|
REMARK
|
|
Computer
science
|
107
|
Raj123
|
<Rsacrypto…
|
Valid
|
|
Software
|
00123
|
jhonhere
|
<Rsacrypto…
|
Invalid
|
|
Health
|
|
sumeshghy
|
<Rsacrypto…
|
Invalid
|
|
Police
|
1235
|
jhonck
|
<Rsacrypto…
|
Invalid
|
|
cosmatology
|
1289
|
jhonck
|
<Rsacrypto…
|
Invalid
|
|
Airlines
|
1256
|
Tintu124
|
<Rsacrypto…
|
Invalid
|
4.6.2
User Login
|
USER
NAME
|
FINGERPRINT
|
REMARK
|
|
Feca
|
1919
|
Valid
|
|
Arshad
|
1234
|
Valid
|
|
Navi
|
|
Invalid
|
|
Revathy
|
1247
|
Valid
|
|
Sona
|
|
Invalid
|
|
Shani
|
1256
|
Valid
|
4.7
Conclusion
Various
subsections of the chapter provides an
overview of validation and testing process.
CHAPTER 5
IMPLEMENTATION
5.1 Introduction
Implementation is
a process of converting a new system into an operational one. The designed
system is converted into an operational one using a suitable programming
language. Implementation includes all those activities that take place to
convert an old system into a new one. Proper implementation is necessary to
provide a reliable system to meet organizational requirement.
5.2Implementation plan:
Our project is
client server oriented ,so we need a client server network. Administrator and
users have computers with minimum requirements, and a fingerprint reader to
read the finger print on each system’s. So it can be very easily established in
a firm or companies in which there use group of computers having interconnected
network. A user/administrator can use the software with his or her basic
knowledge.
Administrator can
add user by simply entering his or her details into the registration form and
add his or her fingerprint using the fingerprint module in his or her presence.
After registration the registered users can explore user window.
Our
software provide full security on the data send or receive, so user can send
data at any time using his or her
fingerprint for authentication. The administrator can monitor all user’s
activity.
In
the implementation plan the requirements for implementing the project is determined and also tested to confirm the
effectiveness while implementing the
project design into the source code. The main goal of the implementation plan
is the development of source code that is easy to read and understand.
The implementation plan will help the
project to proceed with the available resources. Once the implementation plan
is over the source code can be developed easily because it will provide a clear
idea about the project. The implementation of the proposed system is achieved
via to the C#.net platform as front end and Oracle 9i as backend. Front end
consist of language tools and mechanisms for manipulating the backend.
5.3 Conclusion
Implementation
describes about the whole activities necessary to provide a reliable system to
meet the necessary requirement.
CHAPTER 6
USER GUIDE
6.1 INSTALLATION.
The setupFECA.exe file is downloaded
to your computer.
2. To launch the installation, double-click the FECA .exe file.
The installation wizard, which installs the necessary
components to your
computer, is launched.
3.
Click “Next>” to set up the installation.
4. Click “Next >” to begin the installation.
5.A
dialog box appears that displays the progress of the installation
procedure.
6. When installation is complete, click “Close” to
exit the installation
wizard.
6.2REPAIR
1.Select
the option “Repair FECA” and click “Finish”.
2.
Installation Complete.
6.3 UNINSTALLATION
1.
Select the option “Remove FECA” and click “Finish”.
2.Click
“Close” to close the window after Uninstallation.
6.4 AUTHENTICATION - LOGIN
Here for user’s enter the username and read
the fingerprint using the fingerprint reader .In the case of Administrator
,enter the user name and password.
1.Shows the Username field.
2.Shows the Fingerprint /password field .
3.After entering the correct Login information(username and
password/fingerprint)
Click “OK” to continue.
4.”Select Port” this option for users,select the
corresponding COM port that your fingerprint reader is connected and click
“Set” for setting the current COM port.
6.5
ADMINISTRATOR WINDOW
1.File:
In this ,the other sub options are
1.1
New Registrtion :- Here we register the new user.
1.2
Print Report :- To print the
sender id. ,receivers name and sending time .
1.3 Logout (exit):- New user Login.
2.
View: Includes encryption, decryption and user details.
2.1 Encryption: - Encrypt the uploaded
data.(details shown in encryption window)
2.2 Decryption:
- Decrypt the data from the data grid. (Details shown in decryption window)
2.3
User details:-It shows the complete user details .Also we can update or
delete user a particular user and search a user by providing their fingerprint
id.
3.
Help
4.
About Us:-About the developers.
6.6
REGISTRATION WINDOW
1.Click
“New”
2.Select
the COM Port connected to fingerprint
reader and click “Set”.
3.Fill
the form correctly,then click the “Save
“ button for saving the details.
6.7
ENCRYPTION WINDOW
·
click “Upload “ for uploading a data.
·
Click “View” for viewing the uploaded data.
·
Click “Save” for saving the data to another location.
The
below figure shows uploading & view
1.Shows
the Sent items (data) of current user(below figure).
2.The
left side part shows the list of
users(including there Name and user id).
·
After Uploading the data ,select the receiver from the right
side.
·
Then click the button “Encrypt” to encrypt the uploaded data
and send the data to selected user.
6.8
DECRYPTION WINDOW
1.Enter
the password(for administrator) in the
field.
2.For
user ,select the COM port that the fingerprint reader connected and click
“Set”.Then read the fingerprint id using reader .
3.Click
“Inbox” and then the user or administrator can see the received encrypted data
.
4.Inbox
position.
5.Select
a data from the Inbox and then click “Decrypt” for decryption.
6.Save
the decrypted data into another location .
7.The
user can also print the received confidential data.
Below
figure shows the Inbox of a user.
6.9 USER
DETAILS
1.Enter
the fingerprint Id in this field .
2.Search
the details of that fingerprint id(name,address,department etc.).
3.Update
the details of that fingerprint id(Fingerprint idin the field).
·
View all :-To show alluser details.(Below figure)
·
Delete:- Delete the selected user from the grid.
6.10 HELP
·
Click “Text help” to show the help topics (below figure).
1 Registration of a new user.
2 Encryption of data.
3.
Decryption of data.
4
View all user details.
5 Print.
Eg
of Registration help (below figure).
Contact Details of FECA.
email
id:feca2011@gmail.com.
No comments:
Post a Comment