Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 95

NADRA and Passport

M. Danial Pasha
Zohaib Altaf
051 - 18 - 129024
051 - 18 - 129023
Suleman Masih
Rana Abdul Wasay
051 - 18 - 129662
051 - 18 - 129585
Hisam Nisar

051 - 18 - 129882

Ms. Tooba Nasir

A Term Project Report is

Submitted in Partial Fulfilment of the

Requirements for the Degree of

Bachelor of Science in Computer Science

Department of Computing & Technology

Iqra University, Islamabad Campus

19th May 2021


Certificate

We hereby accept the work contained in this report titled: Project Title, as a confirmation to the
required standards for the partial fulfillment of the degree of Bachelors of Science in Computer
Science.

Internal Examiner External Examiner

Project Supervisor Head of Department


Declaration
I hereby declare that this work, neither whole nor in part, has been copied from any source. It is further
declared that I have prepared this report entirely on the basis of my personal efforts made under the
sincere guidance of teachers especially my supervisor Dr. Thingy McBob. If any part of this thesis is
proved to be copied out from any source or found to be reproduction of some other, I will stand by the
consequences. No portion of the work presented has been submitted in support of any application for any
other degree or qualification of this or any other university or institute of learning.

Name of student

iii
Dedication

I dedicate this project to my

i
v
Acknowledgements

I would like to express my gratitude to my parents, for their never ending and much needed moral and
financial support. I would also like to thank Final Year Project Coordinator, who put up with me through
the last years, and guided me through each step towards submission. She very patiently organized the
internal and external evaluations, and then has had to deal with my lack of ability to do the corrections,
asked of me, diligently.

I am especially grateful to my supervisor Mr./Miss/Ms./Mrs./ Dr. Blah. Not only for taking on my project
under their wing, but also for providing me with their unscrupulous guidance whenever required.

I would like to extend my gratitude to all the people who taught me the hacks I have learnt during my
degree, and have successfully applied to my Final Year Project and the dissertation. And last, but not the
least, I appreciate all the support from the admin staff, exam office, and all other beings on campus,
especially the demoiselle cranes, and the campus cat, for always lifting up my spirits.

This should be your own gratitude that you


would like to express!!
Abstract
A very brief description of your project needs to go here. Normally, this would be a very
concise summary of your entire report. In addition, this should not be more than two paragraphs.
Contents
Declaration.................................................................................................................................................iii
Dedication..................................................................................................................................................iv
Acknowledgements.....................................................................................................................................v
Abstract......................................................................................................................................................vi
No table of figures entries found................................................................................................................xi
List of Tables.............................................................................................................................................xii
Chapter 1 Introduction.............................................................................................................................xiii
1.1. Overall Description......................................................................................................................8
1.1.1. Objectives............................................................................................................................8
1.1.2. Problem Description............................................................................................................8
1.1.3. Methodology........................................................................................................................8
1.1.4. Product Scope......................................................................................................................9
1.1.5. Business Context [Optional]................................................................................................9
1.1.6. User Classes and Characteristics..........................................................................................9
1.1.7. Operating Environment......................................................................................................12
1.1.8. Assumptions and Dependencies.........................................................................................12
1.2. Functional Requirements [either do this or 1.5]..........................Error! Bookmark not defined.
1.2.1. Generate a Poll [this is a case study example].....................Error! Bookmark not defined.
1.2.2. Vote on the Proposal [this is a case study example]...........Error! Bookmark not defined.
1.3. External Interface Requirements................................................................................................12
1.3.1. User Interfaces...................................................................................................................12
1.3.2. Hardware Interfaces...........................................................................................................13
1.3.3. Software Interfaces............................................................................................................14
1.3.4. Communications Interfaces................................................................................................14
1.4. System Features [either do this or 1.2].......................................................................................14
1.4.1. System Feature 1.................................................................Error! Bookmark not defined.
1.4.2. System Feature 2 (and so on)..............................................Error! Bookmark not defined.
1.5. Nonfunctional Requirements.................................................................................................23
1.5.1. Performance Requirements................................................................................................23
1.5.2. Safety Requirements..........................................................................................................23
1.5.3. Security Requirements.......................................................................................................23
1.5.4. Software Quality Attributes...............................................................................................23
1.6. Scenarios....................................................................................................................................24
1.7. Report Structure..........................................................................Error! Bookmark not defined.
Chapter 2 Literature Review......................................................................................................................27
2.1. Introduction...............................................................................................................................28
2.2. Related Works...........................................................................................................................28
2.2.1. Terminology........................................................................Error! Bookmark not defined.
2.2.2. Categorisation of Existing Techniques/Works/Research....................................................28
2.2.3. Limitations/Gaps within Existing Techniques/Works........................................................32
2.3. Proposed Improvements in Existing Works...............................................................................32
2.4. Summary....................................................................................................................................32
Chapter 3 System Design...........................................................................................................................33
3.1. Introduction...............................................................................................................................33
3.1.1. Purpose...............................................................................Error! Bookmark not defined.
3.1.2. System Overview................................................................Error! Bookmark not defined.
3.1.3. Design Map.........................................................................Error! Bookmark not defined.
3.1.4. Definitions and Acronyms [optional]..................................Error! Bookmark not defined.
3.2. Design Considerations...............................................................................................................35
3.2.1. Assumptions......................................................................................................................35
3.2.2. Constraints.........................................................................................................................35
3.2.3. Design Methodology...........................................................Error! Bookmark not defined.
3.2.4. Risks and Volatile Areas....................................................................................................35
3.3. Architecture...............................................................................................................................36
3.3.1. Overview............................................................................................................................36
3.3.2. Subsystem, Component, or Module 1 …N.........................................................................36
3.3.3. Strategy 1…N....................................................................................................................37
3.4. Database Schema.......................................................................................................................37
3.4.1. Tables, Fields and Relationships........................................................................................37
3.5. High Level Design.....................................................................................................................40
3.5.1. View / Model Element 1…N.............................................................................................40
3.6. Low Level Design..................................................................................................................40
3.6.1. Module 1…N......................................................................Error! Bookmark not defined.
3.7. User Interface Design................................................................................................................43
3.7.1. Application Controls..........................................................................................................43
3.7.2. Screenshots 1… N [do either these or the ones in chapter 1 from SRS].............................44
3.8. Summary....................................................................................................................................52
Chapter 4 Implementation.........................................................................................................................53
4.1. Discussion...................................................................................Error! Bookmark not defined.
4.2. Development Methodologies......................................................Error! Bookmark not defined.
4.3. Implementation Tools and Technologies....................................Error! Bookmark not defined.
4.4. Summary.....................................................................................Error! Bookmark not defined.
Chapter 5 Testing......................................................................................................................................57
5.1. Testing Techniques Employed for This.Project..........................Error! Bookmark not defined.
5.2. Test Cases...................................................................................Error! Bookmark not defined.
5.3. Test Results.................................................................................Error! Bookmark not defined.
5.4. Summary.....................................................................................Error! Bookmark not defined.
Chapter 5.5 Data Analysis and Results.......................................................Error! Bookmark not defined.
[Optional, and should be written up only in case of a research project undertaken!].................................77
6.1. The Empirical Study Methodology............................................................................................78
6.1.1. Empirical Study Structure..................................................................................................78
6.1.2. Metrics for Result Comparison..........................................................................................78
6.1.3. Performance Evaluation.....................................................................................................78
6.2. Statistical Evaluation.................................................................................................................78
6.3. Summary....................................................................................................................................78
Chapter 6 Conclusions and Future Work...................................................................................................79
7.1. Contributions.............................................................................................................................80
7.1.1. Contribution 1.....................................................................Error! Bookmark not defined.
7.1.2. Contribution 2.....................................................................Error! Bookmark not defined.
7.2. Findings.....................................................................................................................................80
7.3. Future Work...............................................................................................................................80
7.3.1. Improvements in the existing System.................................................................................80
7.3.2. Further System Designs.....................................................................................................81
7.3.3. Empirical Study [Optional! Only required if an empirical study was undertaken]......Error!
Bookmark not defined.
References.................................................................................................................................................82
Appendices................................................................................................................................................83
List of Figures
Figure 2.1: Initial screen of BlueJ to create or open a project.....................Error! Bookmark not defined.
Figure 3.1: Binder request form for user to enter into required input fields...............................................40
List of Tables
Table 3.1: Table created for a sample project known as Binder Request..................................................38
Table 3.2: Another sample table to be filled as per the demand of your project...........Error! Bookmark not
defined.
Chapter 1 Introduction
This is the mandatory part of the project’s proposal. This part will describe the Introductory part
of the project in detail. This part is the brief discussion of the project’s proposal. In our project
we need to work with two companies 1) NADRA Agency and the 2) Passport Office. My team
members and I needs to design a system in which we need to solve a problem that is: when all of
the people information can be retrieve from their corresponding CNIC cards that are issued by
NADRA agency then why do they need to carry a passport book when they travel abroad? Why
can’t they just have a CNIC card and have access to enter to a foreign country? That is the main
problem that we need to solve. So, to solve that problem first we need to make sure that we have
a complete understanding about how NADRA and Passport office works and what are the rules
and regulations are needed to be consider and can’t be overlook. So, first we look the details of
NADRA agency.

NADRA
NADRA (National Database and Registration Authority) is the official agency of
the Pakistan that gives the National Identification Card to its country citizen by
registering them inside the database of NADRA and then agency was established in 1998.
NADRA basically, legally register the person who has the age of 18 or above 18 to the
country database. NADRA after issuing the CNIC card to the person officially declares
that this person is officially legal in the country and it is adult in all affairs. Person after
having the CNIC card any perform any duty, the person can officially legal to apply for a
job, the person can apply for the driving license, the person is able to marry a woman, the
person can have its own property, the person can travel abroad etc. There are many things
that are being handled by NADRA for example:

There are also many other international services that is being given by NADRA. It
provides the services for the foreign countries like Bangladesh, Kenya, Nigeria, Fiji.

Now let’s move on to the NIC (National Identity Card). We shall look in the details and
see what are the requirements that one person should provide in order to make his/her
new NIC.

National Identity Card (NIC)

National Identity Card (NIC) is issued to the citizens of Pakistan. It is a


card that has the basic information of the person:

o Name
o Father Name
o Gender
o Country of Stay
o Identity Number
o Date of Birth

2
o Date of Issue
o Date of Expiry
o Permanent Address
o Current Address
o Holder’s Signature
o Picture of the Citizen
The Identity Number is a combination of 13 digits and this number is unique. This
number is recognized all over the country. Whenever we apply for the passport,
driving license, cellular connection etc. they all require the NIC number for the
registration because it is mandatory.

Now we will see the steps for how a new NIC is create.

 First we will go to official website of NADRA https://www.nadra.gov.pk.


 Then we will move on to the National Identity Card page.
 Then we will click on the required documents button.
 Then the system will give us two options either we choose Card or
Certificate.
 Then it will ask whether the card application is New, Modification,
Reprint or Renewal.
 Then it will ask whether the person age is 18 or greater or less than 18.
 Then it will ask to choose the category of the CNIC.
 Then the system will enlist all the documents required for the Fresh
Registration of NIC.
As we have seen many information about NADRA. We shall proceed to the
Passport office and see their processes and understand how they works.

Passport Office
Passport office is a place where client is able to apply for its new passport.
Passport office allows the client to travel in foreign countries. But first the client needs to
fulfill all the requirements and attestations for his/her passport. There is a passport office
(Directorate General of Immigration and Passport) in Pakistan. The main Headquarter is
situated in Karachi and there are many franchises and offices that are situated in many
parts of the Pakistan. One of the main branch is in Islamabad. The authorized citizen who
applied for the legal passport from the DGIP is again verified by other agencies e.g.
NADRA and FIA etc. Once the citizen is authorized the next procedures are taken place.
There are several types of Passports which are:

 Ordinary Passport:
Ordinary Machine Readable Passport is issued to all citizens of Pakistan.
 Diplomatic Passport:
Diplomatic Passport are issued to the Diplomats and other entitled
categories in pursuance of Para-45 of Passport & Visa Manual, 2006.

 Official Passport:
Official passports are issued to Pakistani Nationals who are Senators,
MNAs, Provincial Ministers, Judges of the Supreme Court of Pakistan/High
Courts, Officers serving with the Government and proceeding abroad on official
assignments etc. in pursuance of Para-9 of Passport & Visa Manual, 2006.

As we now the types of the Passport that a citizen can obtain. Now it’s better to see the
process flow in order to make a new Passport.

Process Flow

The client will go through many different phases in order to have a


passport.

 First the client needs to take token from the token counter.
 Then employee will take the photo of the client.
 Then the client will be asked to give the fingerprints.
 Then employee will gather the information about the clients by asking them step
by step.
 The employee will verify the data.
 Once this procedure is done.
 The time will be given to the client for the official interview by the officials.
 Once the client passed the interview the date and time for the passport takeaway is
given to the client.

So, these are the processes that an applicant follows through the whole process.

Now that we have briefly introduced NADRA and Passport office. Now we should
explain our system on which we are working and to solve the problem that has been already
addressed above in the starting of this section. By taking into consideration that whenever our
citizen reaches the airport of the foreign country the airport staff members requires the passport
from our citizens. They only accept the passport not the CNIC card that is issued by the NADRA
in Pakistan. So, according to this scenario we have decided to design a system in which there
will be a new design of CNIC card and this problem can be solved. The card representation
would be something like the old CNIC card with some modifications.
Modifications

o CNIC card have now two smart chips installed on it instead of one.
o There will be a green spot or dot (.) at the bottom left corner of the card.
The reason for installing two smart chips on the card is that. As we know one chip is
for the verification of the citizen inside the country Pakistan. And the reason for the
second chip is that when the citizen applied for the first time in NADRA for the
CNIC card he selected the category “Smart National Identity Card and Digital
Passport”. This category is discussed below. So, the second chip is for the recognition
of the Digital Passport. The digital Passport book can be accessed through this second
chip. And the reason for the green spot or a dot (.) is that to ensure that this particular
person has an authorize digital Passport installed in his/her CNIC card.

We have designed number of categories that we are going to enlist them here.

Categories

We have designed three different categories for the citizen in order to take their
card accordingly. These categories will help the citizen to make their CNIC with Passport
accordingly.

 Smart National Identity Card and Passport. (For Fresh Applicants)


 Smart Passport. (For applicants who already have a CNIC)
 Smart Junior National Identity Card and Passport. (For applicants who are
less than 18)
Smart National Identity Card and Passport. (For Fresh Applicants)

In this category the fresh applicants will apply who want a CNIC and Passport
together in one card. The applicants will get the newly design card that we have discussed
above. The flow of process will be modified like this:

Following through the steps that we have mentioned in the NIC section above in
the NADRA introductory section. NADRA will send all of the information of the
applicant to the Passport office in order to proceed further. Passport office will proceed
and set up the information about the applicant in its database. Once NADRA is finished
with its processes. Passport office partially needs to verify the documents of applicants
from NADRA as they are already being forwarded from them. So, the Passport office
needs to verify the information from other agencies e.g. FIA etc. Then the Passport office
will create a smart chip for the particular applicant with digital book installed in it. The
digital book will be as like the physical book. It will have all the information that a
physical book has. Then the chip will be transferred to NADRA. Then NADRA will
install that chip on the CNIC card along with their smart chip. And then they will set up
the delivery time for the applicant to come or they deliver his/her CNIC and Passport
card at their current address.

Smart CNIC and Passport for Renewal. (For applicants who already have a CNIC)

In this category the applicants who already have their CNIC cards will apply. The
applicants will get the newly design card that we have discussed above. The flow of
process will be modified like this:

As the applicants that falls in this category already have previous version of the
CNIC card. So, NADRA first take their old CNIC cards and discard them but not their
information. They will just assign the newly designed CNIC card with digital Passport
functionality that is already been discussed above. Whole procedure will remain the
same. The only difference is that, not just to a lot two CNIC cards to a single citizen,
NADRA will first take the old card and a lot a new card with new design along with
Passport functionality.

Smart Junior National Identity Card and Passport. (For applicants who are less
than 18)

This is the special category because in this category the citizens who are less than
18 can apply. If we see technically, the citizens who are under 18 are not allowed to have
a CNIC card. So, for them we have made a special category in which the citizens who are
under 18 will be guaranteed a CNIC card which is just for the travel and study purposes.
And all the procedure will remain the same. The applicant will receive the newly
designed CNIC card with digital Passport functionality installed in it. Following things
should be restricted for this citizen:

1. The citizen will not able to apply for a government job.


2. The citizen will not able to get marry.
3. The citizen will not able to register network connection SIM in his/her name.
4. The citizen will not able to apply for a driving license.
And many other things which requires an official CNIC card are restricted in this
category.

The citizen when travel abroad. The airport staff members in the foreign country will take
the CNIC card and access the smart chip that is installed by the Passport office for the visa
verification. There will be a CNIC portion inside the Passport smart chip in order to authenticate
the identity of a citizen. So, this is how we are solving the problem. This is the brief introduction
of our project that concludes here.
1.1. Overall Description

1.1.1. Objectives

To design an Identity Card with two Smart chip attached to it if the individual applies for
Passport. The first Chip will contain personal information that can only be accessed by
NADRA and the second chip will contain Data related to Passport and authorized
information by foreign countries.

1.1.2. Problem Description

The problem is when all the people of a country have their any kind of information attached
to the CNIC card that is issued by the NADRA agency then why do they need to have a
physical book for their passport. Why their passport can’t be attached with the CNIC card?
So, that they just need to carry one CNIC card to the airport for the verification of their visa
as well as their identity. That’s why we are introducing a new system in which the client will
have one card and on the card there will be two smart chips, one from the NADRA agency
and one from the Passport office. Both the chips will have their corresponding information.
In that way Passport will be digitalized and attached with the CNIC card. There will be a
green dot (.) on the CNIC card that will symbolize that the particular person has a digitalized
passport within its CNIC card. The card will be issued by the NADRA agency. This card will
have many benefits e.g. The person should not need to carry the passport book along with
him. The person who is travelling abroad will show his CNIC card and the airport staff will
scan the Passport chip in order to verify the visa. The airport staff can look for the person
details through the Passport chip for the identification just in case. There will be no limit for
the digital book of the Passport etc.

1.1.3. Methodology

 We are using Agile approach to tackling our problem because in Agile approach the team
delivers the product value each time at the end of the phase. In agile we go through from lot
of phases (sprints). Agile approach is really effective and is being used by the modern and
advance systems.
 The Advanced Encryption Standard (AES) is the data encryption standard. It is very
powerful and it is being used by many famous companies.
 We used Advanced Encryption Standard because we have a lot of data of people so we make
sure that all the data is saved.
1.1.4. Product Scope

In this section, we are providing a short description of our project. As we have discussed above
that the main purpose to develop this system is to provide convenience to our citizens by
providing them the facility to apply for the Passport along with their CNIC card. We have
created three scenarios to tackle different types of people. And NADRA will issue citizens a
single smart card with a single smart chip installed on it. However, the level of access for
different agencies or firms will be according to their needs. NADRA will have their certain level
of access, Passport office will have their certain level of access and The immigrant’s agency at
the foreign country airport will have their certain level of access. So, there are number of benefits
we will have once this system implements.

 Citizens don’t have to visit the Passport office separately to apply for their visa and
passport.
 Citizens will have the smart passport connection with the CNIC card. So, they don’t have
to carry a passport book with their selves.
 Citizen under the age of 18 will be able to travel overseas and apply for the study abroad
by themselves. As it will have a special type of CNIC card which is only for the study
and travel purpose.
So, there are many number of benefits to write them down all at once. This will help to
understand the scope of the product.

1.1.5. Business Context [Optional]

In this section, we will be discussing where our system will be implemented. As we have
discussed above that in our project we are targeting NADRA agency and Passport office. But
the main thing is where the citizens/users will be interacted to use our system. As from the
information that has been shared it is clear that we will be implementing our system at
NADRA agency. Because NADRA is the place where citizens go to apply for their CNIC
card and other official things. So, in NADRA there will be a portion for the Passport office
that will handle the user according to their rules and regulations. However, user can also
apply for the CNIC application online and get all the services from NADRA.

1.1.6. User Classes and Characteristics

Below down we have displayed the information system diagram as well as use case diagram. In
information system diagram we have shown the five components of the system (Hardware,
Software, Human Activity System, Processes and Database). And in the use case diagram we
have shown all the use cases and also number of actors that are interacting with the system which
are: Client, NADRA, Passport office and admin.

Administrator: Administrator has unique right to add and approve CNIC and passport status and
he can also able to verify the person.

Applicant: They are those people who obtained the CNIC and passport to submit information
into the database.

Information System Diagram

This is the Information System Diagram in which all of the five components of a system are
shown by shapes. Hardware, Software and Human Activity System are shown by Circles. All
Processes are shown by Oval shapes and Information on all above (The Database) is shown by
cylindrical shape. The reader can easily check all of the processes from this diagram and also
other information.

Use Case Diagram

This is the Use Case Diagram of our project. This diagram contains all of the Use cases as well
as the actors that are interacting with the Use Cases. In this diagram the actors are represented by
the stick figures and all of the use cases are represented by an oval shape. And the specialty of
this diagram is to show the level of access or interaction with different actors. Each actor has its
some level of interaction with the system.

1.1.7. Operating Environment

Particular System Requirement’s Server Requirement’s

Processor Intel or AMD Intel or AMD

Operating System Window/Android Linux

RAM 16GB 15GB

Hard disk 1TB 3TB

1.1.8. Assumptions and Dependencies

 The user and admin must have the basic knowledge of English language.
 The user and admin must familiar of usage of computer with computer.
 There must be an internet connection where this system is going to deploy.
 Database must be maintained in a consistent and proper way.
 Proper browser should be installed
 every employee must have separate user id and password.
 All the required document of the applicant must be scanned and send to administration in case
if needed.

1.2. External Interface Requirements

1.2.1. User Interfaces

In this section we will discuss the standards of the User Interface. Some
illustrations of the UI are pasted down below in order to have an idea how our
project will like.
This is the home screen of our web application when the user is successfully log in.

This is the Select category screen in which the client will select the category option from any of
the three options and proceed. This is just the glimpse of the UI of our project. See section 3.7.2.

1.2.2. Hardware Interfaces

In this section we will discuss about the logical and physical characteristics of each interface
between the software product and the hardware product. So, first our system needs internet
service and a proper NIC (Network Information Card) installed in the system. And we are
using HTTP internet protocol in order to connect with the server. So, we are sending http
requests to the server for manipulating the database. Also we need
1.2.3. Software Interfaces

In our project, our application is constructed by using multiple languages in order


to perform multiple tasks. We have used HTML for defining the structure of the
application and its elements. And we have used CSS3 to style our application to
make it easy to understand and convenient for the user. We have used JavaScript to
handle the dynamic behavior of the application. All the pop up messages or
dialogue boxes, data inputs or sending requests to server or retrieving data on real
time from the database and showed it to screen is all handled by the JavaScript.
We need a Database to store the information about the clients, NADRA, Passport
office, employees. So, for that we have used MySQL server create database. To
transfer data at higher regions we have used Internet Protocol (IP) to maintain the
connectivity outside the region in different regions.

1.2.4. Communications Interfaces

In this section we will tell about the communication interface. That is how we are going to
communicate with the system that we have developed. So, in order to interact with the
system, we need a web browser e.g. Google chrome, Firefox, Internet Explorer etc. Then, the
internet protocol we are using is the HTTP (Hyper Text Transmission Protocol). We will be
sending the Http requests to the server in order to interact with the data and to make a
successful transaction. And the data transfer rate is set to 72 mbps but it can be varying
according to the situation it can be increased in future.

1.3. System Features [either do this or 1.2]

This section covers all of the system features. And it will help to understand how the system is
working its features.

1.3.1. Sign Up

1.3.1.1 Description and Priority


For the registration of a new Passport or renewing old Passport Client must have to submit their
Existing CNIC in NADRA office. Only those with CNIC made by NADRA can get their
application approved for applying for Passport so it carries high level of importance.
1.3.1.2 Stimulus/Response Sequences
CNIC will carry important information in its class related to Client.
And while Applying for Passport the chip of CNIC will also update some information related
to following:

 Blood Group
 Medical Records
 Passport details
 Cancellation Certificate
 Procedure of Appeal
This Data will be shared by the country that Client is allowed to travel. After Verifying the
NIC card the chip will be updated accordingly.
1.3.1.3 Functional Requirements
The application will be online and will be carried out by server that encrypts and holds all the
information above. Server will have at least 100 Petabyte of Disk space. The 100 petabyte
server will be increased if necessary and will be divided for both computers equally. In
this case it will be divided in 50 petabytes each in which 25 petabytes will be conserved by
Recovery.

1: 100 Petabyte of Fast storage


2: Software based system to make a recovery of entered data in Python. 3:
Software to encrypt data designed in Python.
4: Web platform made in HTML

1.3.2. Verify User Credential

1.3.2.1 Description and Priority


Designing a data base that will help search the person with NIC it will be impossible to find one
in the millions manually. And on the other hand Verification helps NADRA finding the
person’s information is correct or fake. It will also help verify and save passwords and
other sensitive data regarding user.
1.3.2.2 Stimulus/Response Sequences
If the information matches the database records, then the process of Making Passport will continue
and if the information turns out to be fake the system will send all the information to
police to investigate and track down the person to find if there is any mistake. I this
process it will be just a step ahead of the existing Registered ID.
1. Register ID
2. Verify card (Verified or cannot verify)
This process will be handled by NADRA
1.3.2.3 Functional Requirements
We will require Fast storage to make out search and verification faster. And connection to police
in case of investigation and Fast processor and Ram to render all that data.
1. VPN
2. Encryption of data file
3. Developers to make encrypted data
4. Access gates to let admin make changes
5. Update system constantly for data security

1.3.3. Develop CNIC

1.3.3.1 Description and Priority


Print a new CNIC with a chip that can help maintaining both national and international available
information that can help Client identify themselves in other countries. This Chip will
follow international standards of storing data. This carries high importance value.
1.3.3.2 Stimulus/Response Sequences
This comes under Verification only if the verification is successful and the Client is part of
NADRA records. These workings will be implemented by NADRA.
1.3.3.3 Functional Requirements
It requires a Machine that can Print Silicon chip that can meet High standards of durability test and
research. In case of Pakistan the chips can be imported from china and after import the
chip is engraved with permanent information that can be etched through process called
(Photolithography) through which a laser beam will engrave the design two parts of
processor into meet NADRA requirement and other to meet the Design made standard by
international standard. In list we need following.

REQ-1: Silicon import


REQ-2: Photolithography
REQ-3: Photolithography Research and Development
REQ-4: Software to design that chip
REQ-5: EUV Printer

1.3.4. Generate Application Form

1.3.4.1 Description and Priority


The Application will be submitted by Client if client is not registered in NADRA database before.
Application will be submitted to NADRA to take action on it and begin the process of
creating CNIC then passport.
1.3.4.2 Stimulus/Response Sequences
This step will be implemented by client themselves in order to initially make themselves eligible
for having CNIC and Passport. This step will come above all other process if the client is
not eligible.
1.3.4.3 Functional Requirements
In order to complete this step Client should fill following requirements:
1. Passport size HD Pictures
2. Name
3. Father Name
4. Mother Name
5. Date of Birth
6. Finger prints
7. Siblings information (if any)
8. Blood group (if necessary)
9. Any birth mark

1.3.5. Attach necessary documents

1.3.5.1 Description and Priority


In many countries clients of NADRA can only verify there CNIC if they can give their background
check like property they hold. Jobs they have or had, Experience, Religion, Reason for
going abroad, education, etc.
1.3.5.2 Stimulus/Response Sequences
To set appointment with Agent who handles specific country details Client must give all the
reasoning and details about his/her passport verification. This step should be fulfilled by
Client after registering and application submission.
1.3.5.3 Functional Requirements
In order to complete this step Client should fill following requirements:
1. Property
2. Jobs
3. Experience
4. Religion
5. Reason
6. Education
7. Background check
8. Crime record

1.3.6. Sign in

1.3.6.1 Description and Priority


This step applies to only those clients that are already part of NADRA database and access their
profile and their respective processes. In case of registering CNIC the user can see process
of when the CNIC will be created and same will apply for Passport system too.
1.3.6.2 Stimulus/Response Sequences
In order to interact with NADRA database Registered Client will login to online platform
of NADRA where they can login through their name and password.

After login they can apply for application, they can see the time of when there CNIC will
be created, they can also see if they are eligible for passport or not and if yes, how long it
will take to get there CNIC renewed. They can book times for interviews, etc.
1.3.6.3 Functional Requirements
In order to complete this step Client should fill following requirements:
1. Internet Connection
2. Name and password of their account
3. Verified account
4. Client PC

1.3.7. Pay Fee

1.3.7.1 Description and Priority

The process of making CNIC and CNIC with Passport and other verifications and agents
involved in that process require fee to get things done. It is client’s job to pay the required
fee before applying for Passport, CNIC, Agent meetings etc.
1.3.7.2 Stimulus/Response Sequences
When Client apply for any kind of scenario. Client will be required to follow the primary rule of
application. That Client has to pay Fee charges in nearby recommended bank or pay
through online transaction or pay by hand in NADRA office. After paying fee the
department will be notified with your application by the system to take action on.
1.3.7.3 Functional Requirements
In order to complete this step Client should fill following requirements:
1. Submit application
2. Pay required fee
3. Get receipt
4. Send receipt print to Agent through email in image form

1.3.8. Validate Application

1.3.8.1 Description and Priority


It marks time on client’s forum to handle time of application expiry date. Time of application.
1.3.8.2 Stimulus/Response Sequences
If the information matches the database records, then the process of Making Passport will continue
and with that system designed by NADRA will Mark the time of delivering
CNIC/Passport and make data sell in Chip for how long that CNIC/Passport will last.
1.3.8.3 Functional Requirements
We will require Fast storage to make out search and verification faster. And connection to police
in case of investigation and Fast processor and Ram to render all that data.

1. Time of delivery of CNIC


2. Validation of CNIC
3. Time of delivery of Passport based CNIC
4. Type of Passport
5. Validation of Passport based CNIC

1.3.9. Application Category

1.3.9.1 Description and Priority


Application Category will manage type of request NADRA will get from different clients. Some
may apply for passport; some may apply for CNIC only some want to update their
existing CNIC or passport based CNIC.
1.3.9.2 Stimulus/Response Sequences
If the information matches the database records, then the process of Making Passport or CNIC or
other application then Database will send their application to their respective department
to take further notice. This part of system will interact with NADRA only.
It will help sorting difference between following application.
1. Renewal
2. Passport registration
3. CNIC registration
4. Bookings
5. Meetings
6. Complaint or issues
7. Creating account
1.3.9.3 Functional Requirements
It will need application in only three format:
1. Digital application on website
2. E-mail to concerned department
3. Physical written application

1.3.10. Appointment

1.3.10.1 Description and Priority


Appointment will manage time and date of when the CNIC is available to take away. Manage time
regarding interviews with agents in NADRA. Time of availability of agents and office
service.
1.3.10.2 Stimulus/Response Sequences
Online forum and brochure in office can help user see times and dates of when will they be able to
get their work done. Clients can then come to office or check information online to get
further information about their application or bookings. These appointments will be made
according to NADRA’s own routine only.
It will help clients to interact with system in time and not visit office every day to ask if their
work is done or not. And helps in following things.
1. Reduce rush in office
2. Reduce load on server
3. Give time for clients to manage their routine and plans accordingly
1.3.10.3 Functional Requirements
It will help clients to interact with system easily when:
1. Online website is available
2. Server to save data entered by users
3. Processor to process data
4. RAM to run data

1.3.11. Restrictions

1.3.11.1 Description and Priority


While interacting with NADRA online platform and office clients should follow certain rules
made by NADRA. This will be followed in order to maintain equality, safety and to
ensure best service. While entering office Clients should maintain social distancing and
enter in lane and exit through exit gate. They should wear mask for other’s safety.
1.3.11.2 Stimulus/Response Sequences
Restriction is the only part that will not be important at all-time but will be followed in working
days and rush to maintain clients and employs safety in days of Covid and will serve one at a
time client to give client service at their specific turn. Clients will enter
through gate when their time comes and will be served after that when they leave the second
client will be allowed to enter.
It will help clients to interact with system in time and not visit office every day to ask if their
work is done or not. And helps in following things.
1. Reduce chances of spreading diseases
2. Reduce inequality
3. Server every one
1.3.11.3 Functional Requirements
It will be managing if NADRA make following steps
1. Rule card in front of office door
2. Security guard outside office to make sure people follow rules
3. Cameras in office to record and show footage in case a crime took place.

1.3.12. See Client Information

1.3.12.1 Description and Priority


NADRA can also have above all access to see all information of users to access information
whenever they want. To match their information for verification or any sort of
investigation.
1.3.12.2 Stimulus/Response Sequences
NADRA will enter data base with their personalized account and they will have full access on all
sort of data regarding Client and times of submissions and everything data base has to offer.
It will help NADRA doing following task:
1. See Client’s information
2. Modify Client information
3. See dates and times for appointments and validations
4. Modify times and dates of any sort
5. Update system interaction layout
6. Change priorities of employs in office
1.3.12.3 Functional Requirements
It will help NADRA by fulfilling these requirements
1. Search engine in data base only specific to NADRA Admins
2. Excel sheet layout in software to make it easy to see all data
3. Fast ECC memories to make search faster
4. Fast M.2 NVME SSD to make data scanning faster.

1.3.13. Store Client Information

1.3.13.1 Description and Priority


NADRA can store data regarding their clients, date’s appointments bookings and investigation in
database in such format that it will be impossible for outsider to find a back door to
servers and hack it.
1.3.13.2 Stimulus/Response Sequences
Every information Client give in form of e-mail, website registration or in written form will be
saved manually or automatically in database. So NADRA admins can use that set of information
while applying for passport or CNIC only.
1.3.13.3 Functional Requirements
NADRA can fulfill this task by:
 Require Sequence of data entry in SSD of Server
 Increase number of SSD if storage runs out
 Make copy of all data stored as backup

1.3.14. Process application for Passport

1.3.14.1 Description and Priority


This step will specifically target clients who are applying for passport. For that system will
automatically run a background check to see verification of his or her CNIC, ID, and
Validity etc.
1.3.14.2 Stimulus/Response Sequences
This step is very necessary if clients are applying for Passport and in order to begin this process
client has to submit their existing CNIC. NADRA will check and retrieve some information from
the chip on that CNIC and ask for fee after validation. When client pay the price the process of
making a new CNIC with Passport based information will start which will include appointments
and interviews.
1.3.14.3 Functional Requirements
NADRA can fulfill this task by:
 Design additional layer of data on existing Chip of card
 Give Card a new code that will be assigned by the other country client is visiting.

1.3.15. Data encryption

1.3.15.1 Description and Priority


Data encryption is an important step to save Clients personal information from any malware or
hacker. The standards of encryption will have based on NADRA decisions and updated by
NADRA’s personal order but will be shared with PASPORT Office in case of applying
for Passport.
1.3.15.2 Stimulus/Response Sequences
NADRA will use VPN to save their data from network fishing. NADRA will hire white hat
hackers to hack their servers and find weak spots in the database and find solution for it. NADRA
will update their database every then and often to make impossible for hackers to break one
pattern of code designed by NADRA developers.
1.3.15.3 Functional Requirements
NADRA can fulfill this task by:
 Buy private VPN that can meet high security standards
 Higher white hat hackers
 Update systems on weekly basis

1.3.16. Find Application by ID

1.3.16.1 Description and Priority


Data about a client enrolled in NADRA database can be searched by Passport office so if in future
passport office find any flaw from there end they will find application and its applicant by
searching their version of search engine in NADRA Database.
1.3.16.2 Stimulus/Response Sequences
This process will be only handled by the hands of passport office to make sure all the information
entered by client is acceptable if not there will be search engine with less authorities provided by
NADRA to let the office continue process of getting all the information they needed.
1.3.16.3 Functional Requirements
Passport office can fulfill this task by:
1. Having separate search service
2. Personal Workstation to handle data
3. Separate ram processors and GPU to render data
Passport office Workstations should not be as strong or over powerful as NADRA because most of
the searching will be done by NADRA they will only handle data regarding people with
Passport.
In this case this workstation will get:
32 GB RAM
32 Petabytes of Hard drive space
Ryzen Epyc 32 core Processor
Nvidia Quadro K5100 8GB GPU

1.3.17. Verify User Credential

1.3.16.1 Description and Priority


Data about a client enrolled in NADRA database can be searched by Passport office so if in future
passport office find any flaw from there end they will find application and its applicant by
searching their version of search engine in NADRA Database.
1.3.16.2 Stimulus/Response Sequences
This process will be only handled by the hands of passport office to make sure all the information
entered by client is acceptable if not there will be search engine with less authorities provided by
NADRA to let the office continue process of getting all the information they needed.
1.3.16.3 Functional Requirements
Passport office can fulfill this task by:
1. Having separate search service
2. Personal Workstation to handle data
3. Separate ram processors and GPU to render data
Passport office Workstations should not be as strong or over powerful as NADRA because most of
the searching will be done by NADRA they will only handle data regarding people with
Passport.
In this case this workstation will get:
32 GB RAM
32 Petabytes of Hard drive space
Ryzen Epyc 32 core Processor
Nvidia Quadro K5100 8GB GPU
1.4. Nonfunctional Requirements

1.4.1. Performance Requirements

NADRA and Passport includes the upgraded softwares for the system management. Windows 10
is recommended and will have an interface with multiple various OLPT systems for the collection
of data. After the data collected then ETL system will performed to load data. This require system
of CORE I9 or upgraded systems that increase the performance rate. Data transfer rate is 1 sec
which improves its performance rate.

1.4.2. Safety Requirements

For the safety purpose of the system we have used back up storages so, that the information about
the users do not get lost. We have handled electricity problems with large generators so, that the
server will not hang and the data will be safe from getting any harm.

1.4.3. Security Requirements

In security all official data information is safe to ensure its confidential, integrity, and available
only for authorized persons. Information is only used for person’s official purpose. In this Multi-
biometric fingerprints and facial recognition is also used. A team of hackers is also connected to
this system to daily update about any crack and security issues. Database of the system is
protected by the authorized system to prevent any crack. The Secure Socket Layer (SSL) protocol
is use to ensure transaction security.

1.4.4. Software Quality Attributes

Software Model used for NADRA and Passport system are:


 Water Fall Model
 Rapid Application Development Model
 Iterative Model
Upgraded versions of all softwares recommended which improves its quality and give better
performance. Data warehouse applications and network features also increase its quality.
1.5. Scenarios

Personas:

Zaffar: A boy of age of 16. He’s a talented student who has just passed his
Matriculation exams and now he is wants to study abroad.

Ahmad: A man in his 40’s. He is the father of Zaffar. He is an employee of


NADRA.

Scenario of use:

Ahmad is the father of Zaffar. Ahmad is so proud of his son and his skills in mathematics. Zaffar has
passed the Matriculation exams and he is rewarded with a gold medal because of excellent performance in
the exams.

Zaffar tells his father that he wants to study abroad. Ahmad courageously give approval to his son desire.
Ahmad tells his son, as he is still under the age of 18 he needs a passport and a CNIC card.

As Ahmad already working in NADRA agency so, he tells his son to make an account and apply for the
CNIC card as well as Passport.

Zaffar opens the NADRA website. He created his account by providing the necessary information. And
then get himself log in.
There he created a new application and selects the Smart Junior National Identity Card and Passport
category. The generated application displays all the necessary documents on the screen to bring at
NADRA office.

Ahmad takes his son to NADRA office where all the further processes are going to held. Then Zaffar
called by NADRA employee and asked for the documents. Zaffar gives him all the documents. Then the
photo was taken and then his fingerprints.

As Zaffar is under 18 so, there are some restrictions that are implemented on his CNIC card. When all the
NADRA processes are done then the application is moved to the Passport section. There employees asked
several questions about Zaffar and authenticate all the documents from NADRA.

All the processes are done and now Zaffar is granted with an arrival date and time of his CNIC card with
Passport.

Within a month Zaffar collects his card from NADRA and he is now ready to study abroad.

Personas:

Ashraf: A boy in his 30’s. He is a Textile design specialist. He also has some
connection to the Pakistan drama industry.

Bilal: A young boy who just turned 18 now. He has big dreams like his brother
Ashraf. He also wanted to do something big and really likes the fame. He has
many talents like he can sing really well, very good at content writing and also
he can productive work in any type of field.
Scenario of use:

Ashraf and Bilal are both brothers. Ashraf is the eldest brother of Bilal.

Bilal has just turned 18 this year. And now he is really excited to apply for his CNIC card. He asked his
brother to take him to NADRA to apply for the CNIC card.

Bilal also needs to renew his CNIC card. So, both the brothers go to NADRA.

There Bilal generates an application and selects Smart CNIC and Passport for Renewal and Ashraf
selects Smart National Identity Card and Passport categories respectively.

As Ashraf is fresh applicant so, he needs to attach his all the documents which are necessary. Bilal being
the old citizen and already have the CNIC card so, he just needs to verify the documents and proceed
further.

Then the photo taking process and fingerprints taking process starts. Both the brothers give their photo
and fingerprints. When all the processes of NADRA are done then the application moves to the Passport
section. There the Passport employees identified the application by its Id.

Then the Passport section process their processes and then grant a time and date to both the brothers
for their new CNIC cards with Passport.

Within a month Ashraf and Bilal get their CNIC card with Passport right on time.
Chapter 2 Literature Review
2.1. Introduction

In this section we will compare the world wide information systems that are used to store the information
of their citizens. It is a comparative analysis.

2.2. Related Works

In this section we will be covering the related works. In which we will compare the world wide
information systems of different countries and compare them on the basis of their features. We will see
what facilities they are providing and at what extent.

2.2.1. Categorization of Existing Techniques/Works/Research

This comparison table shows the comparison between the information system of Turkey, Thailand and
Pakistan. In this table we can see that none these three information systems provide the facility of the
Passport. Although our developed information system is better than the system that is running in the

28
Pakistan. And the current Pakistan information system gives more data as compared to other two
information system.

This comparison table shows the comparison between the information system of Germany and China. In
this table we can see that none of these two information systems provides the facility of the Passport. And
both of these countries do not allow civilian card under the age of 16. Whereas in our system we are
granting the CNIC card to the under 18 civilians as well for the study purpose and to travel abroad
purpose.
This comparison table shows the comparison between the information system of India and Romania. In
this table we can see that none of these two information systems provides the facility of the Passport. And
both of these countries do not allow civilian card under specified age limit. India has the target
registration age of 5 years and Romania has the target age of 14. Whereas in our system we are granting
the CNIC card to the under 18 civilians as well for the study purpose and to travel abroad purpose.
This comparison table shows the comparison between the information system of Nepal and Iraq. In this
table we can see that none of these two information systems provides the facility of the Passport. And we
can see that there is no encryption technique is used to secure the data of the citizen. And both of these
countries doesn’t have any specified target registration age.
2.2.2. Limitations/Gaps within Existing Techniques/Works

In this section we are discussing the limitations or Gaps of the existing Techniques/Works. We can
simply say that our newly developed system is more advance and convenient. Because it helps citizens to
apply for their Passport along with their CNIC card. The whole process is very simple. The client can
apply for the both the things that is for the CNIC and Passport at one place. The client will get in return a
smart CNIC card on which a single electronic chip will be installed. This chip is really powerful. As it has
many usages. One big advantage is that, that the client doesn’t have to carry multiple cards or book for
the passport all he/she needs to carry is a single CNIC card. And he/she can take it to anywhere.
Whenever the client travel abroad he/she will give their CNIC card and the immigrant agency at the
passport will check the passport details by having a complete display of information about the traveler.
The electronic smart card displays information according to the level of interaction. NADRA, Passport
office and Immigrant agency will have information according to their level of interaction with the system.

2.3. Proposed Improvements in Existing Works

In this section we will discuss the proposed improvements in the existing works. Existing
information system that is NADRA in Pakistan should have a passport office section as well. So,
that the citizen can apply for the passport as well at one place. And also the frequency rate
should get better so, that the data should travel more rapidly. The existing CNIC card should
have different level of access for its user. For example: for NADRA the level of interaction with
the information should be different from the level of interaction with the Passport office and
Immigrant agency should have a different level of access to the data.

2.4. Summary

In this chapter we have seen the comparative analysis between different countries information systems.
We compared the information systems on the basis of their features. And we also compare our developed
system with these information systems. And we also discussed the proposed improvements in the
existing system.
Chapter 3 System Design
3.1. Introduction

3.1.1. Purpose

In this section, we are describing the main purpose of our information system. We are
developing a new and better information system for NADRA and Passport office that
they are using currently. Our main objective is to solve the problem that most of the
citizens are facing that they need to visit two different places in order to have their
Passport. We are designing an information system in which NADRA and Passport office
are working together at NADRA’s place. Whenever a citizen goes to NADRA for its
CNIC card he/she can also apply for the Passport at NADRA and so, that he/she doesn’t
have to visit Passport office separately. So, in this document we are describing our
system’s specification requirements according to each chapter. Our information system
will be better and it is going to replace the current information system that NADRA is
currently using.

3.1.2. System Overview

The purpose of this project is to join NADRA and Passport to provide relief to the citizen by
issuance of National Identity Cards and Passport at a single platform. These NIC and passport
will be interacted with computerized database and data warehouse for the authentication of
citizen details.

The project that we are going to develop is a component of a large system like National Data
Warehouse. The functionality of this project will work with the existing functionality of Data
Warehouse.

3.1.3. Design Map

This documents covers all of the aspects of this project. Starting from the introduction to the end
at Conclusions. We have started this project by giving a brief introduction about our project then
the introduction about the contributors NADRA and Passport office. Then we have discussed all
of its important aspects, Project scope, Project overview, How the system will work. By showing
different kinds of diagrams we have shown the low level architecture of the system that includes
Information System Diagram, Use Case Diagram, Class Level Diagram, Context Diagram or
Level 0 Data Flow Diagram and Level 1 Data Flow Diagram. Then we have shown how we are
actually going to build the application by working in the different programming languages for
the front-end and also for the back-end and also used a database to store the information of the
client and also record of the NADRA and Passport. We have shown the whole story board for
the idea how the transitions will be held and how the client will interact with the system. At the
end we have set up the conclusion of our project.

34
3.2. Design Considerations

All design considerations were handled in Binder Release Phase 1.

3.2.1. Assumptions

 The user and admin must have the basic knowledge of English language.
 The user and admin must familiar of usage of computer with computer.
 There must be an internet connection where this system is going to deploy.
 Database must be maintained in a consistent and proper way.
 Proper browser should be installed
 every employee must have separate user id and password.
 All the required document of the applicant must be scanned and send to
administration in case if needed.

3.2.2. Constraints

1. Hardware Limitations
As huge amount of data will carry the software operations forward. Because of this huge bulk
data, we required the machines that able to store large amount of data and has much high power
to manipulate it.

2. Security constraints
As the data of CNIC and passport is highly confidential, so we have to apply some more security
measures while designing and implementation of this software.

3. Maintenance issue
When once given over to the organization, the software and its maintenance will totally be the
responsibility of that organization.

3.2.3. Risks and Volatile Areas

None have been identified.


3.3. Architecture

The Complete architecture is discussed in the section 3.5 onwards.

3.3.1. Overview

This section of the chapter will be discussing the high level architecture of the system. How the
system should behave? One example is also mentioned in this chapter. Please visit the section
3.5.1. The system should do the followings
 System should sign up the new client
 System should respond whenever the invalid action is performed
 System should do the error handling
 System should do the exception handling
 System should handle the resources efficiently
 System should perform the operations cycle completely.
 System should generate the required output each time.

3.3.2. Subsystem, Component, or Module 1 …N

In our project, we have divided our project into five levels.

Level 1: System Software

In this level we discuss the system. As it is already introduced briefly in the introduction
section. Please see introduction of the Chapter # 1.

Level 2: Division into Subsystems or Packages

In this level we discuss the subsystems in our information system. In our project, we
have many subsystems like NADRA and Passport office are the subsystems of the major system
and network system. Basically, we tell how many subsystems are involved in our project.

Level 3: Division into classes

In this level we discuss the classes of our project. In how many classes our system is
divided. What are the major classes that are needed to implement the system and also to organize
and increase the reusability of the system? Like in our project we have Client, Employee,
Finance, NADRA, Passport Office and Admin class. These are the major classes that we have
mentioned here.

Level 4: Division into routines

In this level we discuss all of the routines means functions of the system. As there are
many functions in our system that can be seen in the Information System Diagram like sign up,
sign in, take photo of client, pay fee, validation, verification etc.
Level 5: Internal routine design

In this level we discuss the data that is being manipulated by the functions. We get to
know what type of data is being moving inside the function and how the function is being
manipulated and what data is being going out as an output. So, we have a micro focus in this
level. For example: in Sign Up routine, the incoming data would be the information of the client
that is going to create an account on the application. The Sign up routine will trigger the data to
the database and stores all the information and sends a successful message back to the screen for
the successful completion of the operation.

3.3.3. Strategy 1…N

Describe the strategy used or decision made. Include information on the alternatives
considered and the reasons for their rejection.

3.4. Database Schema

3.4.1. Tables, Fields and Relationships

We have created the following tables, fields and relationships.


Tables
 Client
 Employee
 NADRA
 Passport Office
 Finance
 Admin
Fields
 Client Full Name
 Client Father Name
 Client Email
 Client Password
 Client Contact Number
 Client Address
 Client Date of Birth
 Client Age
 Client Gender
 Client Martial Status
 Client CNIC Status
 Client CNIC Issued Date
 Client CNIC Expiry Date
 Client CNIC Number
 Client CNIC Photo
 Client CNIC Fingerprints
 Client Passport Number
 Client Passport Status
 Client Passport Visa Status
 Client Passport Issued Date
 Client Passport Expiry Date
 Client Passport Number of stamps
 Employee Name
 Employee Job Title
 Employee Work Hours
 Employee Salary
 Employee Manager
 Employee Department

Relationships
 Each Client can have a one CNIC card at a time. And each CNIC card belongs to
only one citizen.
 Each Client can have a one passport at a time. And each passport belongs to only
one client.
 Each Client can have one or many documents attached with CNIC card.
And each document belongs to one client only.
 Each Client can apply for one application at a time. Each application belongs to
only one client.
3.4.1.1 Databases

NADRAandPassport production, NADRAandPassportTest for development and testing.

3.4.1.2 New Tables

We will need some extra tables and they also known as views for example: new_applicaiton,
new_CNIC_cards and new_Passport tables.

3.4.1.3 New Fields(s)

No there will be no need of new fields. Following are the tables for your understanding as shown
in Table 3.1 to Table 3.4.

Client
Client Client Client
Client Client Client Client Date Client Client
Father Contact Marital
full name Email Password Address of Age Gender
Name Number status
Birth

Table 3.1: Client Table


Client CNIC Client CNIC Client CNIC Client CNIC Client CNIC Client CNIC
Number Issued Date Expiry Date Photo Fingerprints Status

Table 3.2: NADRA Table

Client Client Client Client Client Client


Passport Passport Passport Passport Passport Visa Passport No.
Number Issued Date Expiry Date Status Status of Stamps

Table 3.3: Passport Office Table

Employee Employee Job Employee Employee Employee Employee


Name Title Work Hours Salary Manager Department

Table 3.4: Employee Table

3.4.1.4 Fields Change(s)

No there will be no field changes.

3.41.5 All Other Changes


Indexing is used to speed up the data retrieval rate. Since we will be handling the millions of
data so, we need a proper data handling technique in order to retrieve data fast. Hashing will also
be implemented to optimize the database retrieval rate.
3.5. High Level Design

3.5.1. View / Model Element 1…N

Some figures have been added to the section to see how sign in required input fields are filled up
by the user

Figure 3.1: How the user filled up the required input fields at Sign in screen

The user will be asked to enter the data in the required input fields.

The user will enter his/her email address and password.

The user will press Sign In button to enter inside the application.

3.6. Low Level Design


Class Level Diagram

This is the Class Level Diagram in which we have shown the inheritance from the parent class.

Context Diagram

This is the basic and the simplest Data Flow Diagram. And it is also known as Level 0 DFD. As we
know in the level 0 DFD all we need to show is the top level of the system. Major external entities
that are interacting with the system. And few of the data flows directions. It is the bird eye view of
the information system. By looking at it we can understand the major functionality of the system.

Level 1 DFD Part 1

This is the Level 1 DFD part 1 of NADRA and Passport information system. In this data flow
diagram, we dig deeper inside in the information system and find out the routines that are helping the
information system to process. In this DFD we see the interference of the database storing the
information of the client. And we can also see that the external entities or different routines are
interacting with the database to retrieve the data from it. This level 1 diagram really helps the reader
to understand the whole flow of the data. This is the part 1 of the level 1 data flow diagram. The next
part will cover the rest of the diagram.
Level 1 DFD Part 2

This is the part 2 of the level 1 data flow diagram. This diagram covers the rest of the diagram. In
this diagram we can see that the request for making a Smart CNIC Card with Passport is finally
received by the admin at the end and the admin as the authority to transfer that application for the
development phase.

Information System Diagram


Please read section 1.1.6

Use Case Diagram


Please read section 1.1.6

3.7. User Interface Design

This is section will have the User Interface designs. We have illustrated the major user interfaces
where NADRA, Passport office and client will interact.

3.7.1. Application Controls

In this section we will be discussing the common behavior of the application through all the
screens. The application will definitely have a header in which the NADRA and Passport will be
the title. And Then we will have a horizontal Navigation bar at the bottom of the header. The
navigation bar will have some buttons through which the NADRA and Passport staff will work
through. The GUI is designed simple and decent in order to have good user experience.

3.7.2. Screenshots 1

This screenshot is for the sign up process.

3.7.3. Screenshots 2

44
This screenshot is for the sign in process.

3.7.4. Screenshots 3

This screenshot is for the Generate application form process.

45
3.7.5. Screenshots 4

This screenshot is for Find application by Id process.

3.7.6. Screenshots 5

This screenshot is for apply restrictions process.


3.7.7. Screenshots 6

This screenshot is for verify application form process.

3.7.8. Screenshots 7

This screenshot is for Take photo of client process.


3.7.9. Screenshots 8

This screenshot is for Take Fingerprints of clients’ process.

3.7.10. Screenshots 9

This screenshot is for Appoint Date and Time for CNIC take away process.
3.7.11. Screenshots 10

This screenshot is for Proceed application for passport process.

3.7.12. Screenshots 11

This screenshot is for Display Client Info for NADRA process.


3.7.13. Screenshots 12

This screenshot is for Display Client Info for Passport process.

3.7.14. Screenshots 13

This screenshot is for Authenticate Client from NADRA process.


3.7.15. Screenshots 14

This screenshot is for install Passport Reference on CNIC process.

3.7.16. Screenshots 15

This screenshot is for Proceed Application for Processing process.


3.8. Summary

In this chapter we have seen quite a lot of things. We have covered the high and low level
architecture of the system.
Chapter 4 Implementation
4.1. Discussion

In this section we will be discussing how we have actually implemented our designs. And we
will be discussing what type of approach we choose to develop our information system. What
type of languages and how many languages for the Front-end and for the Back-end do we need
to work on in order to implement the system? What are the coding conventions and how the
whole system will be integrated? What type of tools that we are using? What are the major
construction practices? So, these are the questions that we are going to answer in this chapter.
Choice of Programming Language and Database
In this section we will be discussing what programming languages that we are going to
use in order to implement the system and what Database to store the information as well.
Front-End Languages

 HTML
 CSS3
 JavaScript

Back-End Languages

 Python

Database

 MySQL Server 2018

54
4.2. Development Methodologies

In this section we will be discussing about the development methodologies of our


system.

Major Construction Practice

In our project we have used pair programming and test-first development, also we have
used solo-development. We can say a mixture of construction practices. Because while
working in a team we have divided the tasks and each member checks each other work.
And as we mentioned test-first development, means whenever we create a new routine,
first we check it thoroughly and its effects on other routines. We fix the bugs first if we
encounter any before moving further. And as we also mentioned solo-development,
means we have also done our programming while sitting in our places. We are at
different places and after we done our work we send each other works through internet
and test their functions.

Development Approach

In our project we have used a mixture of development approaches i.e.

 Agile
 Functional
 Object-Oriented

We have used three development approaches in order to implement our system. We have
functional development approach because in our project we have many functions to deal
with. All functions have their own meaning. Functions were created in order to divide
our project in smaller routines so, that we can manage the single part easily. We have
used Object-Oriented development approach because our project is related to a real life
problem. We created different classes and their variables and modules inside them. And
by making instances of these classes we can use their properties and methods anywhere
inside our project. We have also used the Agile development approach because it is more
flexible and reliable than Waterfall approach.
4.3. Implementation Tools and Technologies

In this section we will be discussing the implementation tools and techniques that
we have used in order to implement our system.

Tools and Technologies

In our project, our major tool that we are using is the VS Code and a browser to
see the result. We have used VS Code software because it is free of cost. And all
of the programming part is done in this software. VS Code is a free license
software anyone can easily download it from the Google and use it. And now if
we talk about the experiences we have in programming languages in order to
implement the code. Our team is capable for Front-end design, we can design the
UI by using HTML, CSS3 and JavaScript. We have a strong grip on Python
programming language that we have used as a back-end programming language.
And also we have a great experience in working with the Database. So, we have
used MySQL server for our database. And we have also used the coding
conventions like variable naming conventions, class naming convention etc. And
we have also use commenting and formatting conventions in order to tell what
has happened at a particular line of code and also to format the code in an
organized manner.

4.4. Summary

In this chapter we have discussed about the implementation of the information


system that we have developed. We have seen what major construction practices
that were used? What are the construction approaches are used? etc. So, basically
in this chapter we have covered the implementation part.
Chapter 5 Testing
58
5.1. Testing Techniques Employed for This Project

In our project we have used unit testing. As we have already mentioned above in
the previous chapter (Chapter # 4) that we have used test first-development
construction practice. So, we have used unit testing because we have test each
unit first.

5.2. Test Cases

Sign Up
Find Application by ID
Verify Application
Take Photo of Client
Take Client Fingerprints
Validate Inputs
Install Passport Reference in CNIC
Authenticate Client from NADRA
Proceed Application
Display Application
Display Electric Passport Book
Verify User Credentials
Develop CNIC
Generate Application Form
Sign In
Pay Fee
Attach Necessary Documents
5.3. Test Results

In our project, all the test cases results were exactly the same as we expected. All
the results are fulfilling the conditions and are appropriate values. The system is
working fine. Although, we will improve our system functionality day by day.

5.4. Summary

In this chapter we have seen a through test cases of the information system (NADRA
and Passport). We have tested each unit by providing the right and wrong information
and check whether the system is working properly or not. The system responds in a
right way. We have done many test cases. We have done the unit testing because we
want to test each unit or module of the information system.
Chapter 6 Data Analysis and Results

[Optional, and should be written up only in case


of a research project undertaken!]
6.1. The Empirical Study Methodology

6.1.1. Empirical Study Structure

6.1.2. Metrics for Result Comparison

6.1.3. Performance Evaluation

6.2. Statistical Evaluation

6.3. Summary

78
Chapter 7 Conclusions and Future Work
7.1. Contributions

In this section we will discuss the contributions of the agencies that fully participated to develop this
information system.

7.1.1. NADRA

NADRA agency has participated a lot and help us throughout the whole project. They gave us the
legal information and authorities to take the data and implement in this project. The policies were
set up by NADRA when a client is legally applying for the CNIC card with Passport. We thank a
lot NADRA for helping us and making this project come into reality.

7.1.2. Passport Office

Passport Office also helped us a lot. As there was a major part of their contribution. They have
managed to make a department inside NADRA and helped us to organize the system. All the
Passport policies were set up by the Passport office. We thank a lot for helping us and making
this project successful.

7.2. Findings

In this section we will discuss what we have learnt from this project and how much exposure we get
from it. First, we get to know how to work in a team, we get to know each other’s talent and skills.
Then the way we have handled and divided the whole project into many small parts and solve them
one by one. We get more exposure in our skills for example: in the programming languages and in the
UI designing. We have also faced a lot challenges while developing this project. But we have done it
in a very organized manner and dig deeper in this project. We got to learnt how to work with
networking and the databases on a large scope. We have overcome each obstacle that we faced while
developing this project.

7.3. Future Work

We will definitely try to enhance the functionality of the information system. We will change the UI
of the application to make more convenient for its user.

7.3.1. Improvements in the existing System

Following things will get improvements in the future.

 Large Storage Capacity


 More Backup servers
 More Convenient UI
 Fast Transfer Bit Rate
 Minimum Response Time

80
 Easily Accessible
 Hardware Improvements

7.3.2. Further System Designs

As we have mentioned in the above section. Read section 7.3.1 for further system designs.
References
The Reference section should be in the following, Harvard Style, fashion:
Appendices

Appendix A: Plagiarism Report

This should be your Plagiarism Report!!

Appendix B: Glossary Error! Bookmark not defined.


Appendix C: Analysis Models Error! Bookmark not defined.
Appendix D: To Be Determined List Error! Bookmark not defined.

You might also like