Professional Documents
Culture Documents
Final Year Project Report Template - V 4.1
Final Year Project Report Template - V 4.1
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
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.
Name of student
iii
Dedication
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.
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.
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.
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
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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
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.3.6. Sign in
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
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.10. Appointment
1.3.11. Restrictions
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.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.
In this level we discuss the system. As it is already introduced briefly in the introduction
section. Please see introduction of the Chapter # 1.
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.
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.
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.
Describe the strategy used or decision made. Include information on the alternatives
considered and the reasons for their rejection.
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
We will need some extra tables and they also known as views for example: new_applicaiton,
new_CNIC_cards and new_Passport tables.
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
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 press Sign In button to enter inside the application.
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.
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.
This is section will have the User Interface designs. We have illustrated the major user interfaces
where NADRA, Passport office and client will interact.
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
3.7.3. Screenshots 2
44
This screenshot is for the sign in process.
3.7.4. Screenshots 3
45
3.7.5. Screenshots 4
3.7.6. Screenshots 5
3.7.8. Screenshots 7
3.7.10. Screenshots 9
This screenshot is for Appoint Date and Time for CNIC take away process.
3.7.11. Screenshots 10
3.7.12. Screenshots 11
3.7.14. Screenshots 13
3.7.16. Screenshots 15
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
54
4.2. Development Methodologies
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
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.
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 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.
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
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.
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.
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.
80
Easily Accessible
Hardware Improvements
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