All in One
All in One
SCIENTIFIC COMPUTING
COMPUTING
This Project documentation submitted in partial fulfillment of the requirements for the
Degree of Bachelor of Science in Software Engineering.
February 2017
Declaration of Originality
We declare that this project is our original work and has not been presented for a degree in any
other university.
This project documentation has been submitted for examination with my approval as university
advisor:
February 2017
ACKNOWLEDGMENT
First of all we are grateful to God for helping us get to this moment, complete first phase of this
project.
Then we, the project team, wish to express our sincere thanks to Mr. Tigabu Dagne, Advisor of
this project, for providing us with all the necessary help for the project, for his motivation,
advises and suggestions.
We also take this opportunity to express gratitude to all the center for Information Technology
and Scientific Computing (ITSC) and also the final year project committee for examining the
proposed system and giving us the opportunity to develop it. We would also like to thank other
instructors and staff members for enabling us to use the available resources of the center.
ABSTRACT
National document verification system will be a national online system that will allow
governmental and non-governmental organizations to compare documents with a saved record
on a repository system using image processing. The system will help speed up document
verification processes and help eradicate manual verification errors thus reducing the impact of
false or forged documents.
There are various document verification systems around the world. Examples include ARH,
DVS and direct verify which are all automated.
In Ethiopia the only computerized fast and reliable system that checks the validity of a document
is the ministry of education. Used for grade 10 and 12 national exam result certificates only.
Ethiopian document authentication, registration and record keeping supervision also works on
document verification. However their document verification system is manual. This manual
process is not only unreliable but also costly of time, space and human power.
Currently in Ethiopia people are getting fake documents in easy access without going through
any sort of the required procedure. This is depriving the qualified citizen of their opportunities
and giving courage to the young adults by giving them an easy way out but the wrong way
indeed.
The project team proposes the NDVS system that will try to ease the problem of verifying the
originality of a document in easy and accessible way. This system will create a trustworthy
environment with an easy access for anyone with the need to verify any form of document.
The NDVS system will provide a means by which users can verify the legitimacy of the hard
copy or softcopy of any sort of paper works, identifications and certificates online. The system
will also provide an online repository system by which all original documents can be issued to
recipients online and where the recipients can send the documents to organizations requiring
those documents. The system will be developed for documents of all formats.
The final product will be a web based system that will provide the above seen functions. The
system will be developed using Asp.net and the developing team will be using image processing
for the purpose of comparing images of documents.
The next phase of this project will be implementation, where the developing team will be
working on developing the full working model of the system.
Table of Contents
ACKNOWLEDGMENT.................................................................................................................4
ABSTRACT....................................................................................................................................5
List of Figures..................................................................................................................................9
List of Tables.................................................................................................................................10
ACRONYMS.................................................................................................................................11
Chapter 1: INTRODUCTION.......................................................................................................12
1.1 Background.....................................................................................................................12
1.2 The Existing system........................................................................................................13
1.3 Motivation.......................................................................................................................14
1.4 Statement of the problem................................................................................................14
1.5 Objectives........................................................................................................................15
1.4.1. General Objectives.......................................................................................................15
1.4.2. Specific Objectives......................................................................................................15
1.5 Proposed System..................................................................................................................15
1.6 Feasibility Study..................................................................................................................17
1.6.1 Technical feasibility......................................................................................................17
1.6.2 Economic feasibility.....................................................................................................17
1.6.3 Legal feasibility............................................................................................................18
1.6.4 Operational feasibility..................................................................................................18
1.7. Methodology.......................................................................................................................18
1.7.1 Data Gathering tools.....................................................................................................19
1.7.2 Implementation Tools and methods employed.............................................................19
1.8. Scope and limitations..........................................................................................................19
1.8.1 Scope of the project......................................................................................................20
1.8.2 Limitation.....................................................................................................................20
1.9 Project Management Plan....................................................................................................20
1.9.1 Time management plan.................................................................................................20
1.9.2 Quality management plan.............................................................................................21
1.9.3 Communication management plan...............................................................................22
1.10 Application of Results.......................................................................................................22
1.11 Organization of the project................................................................................................23
Chapter 2: LITERATURE REVIEW............................................................................................24
2.1 Review.................................................................................................................................24
2.2 Summary..............................................................................................................................26
Chapter 3: SYSTEM REQUIREMENTS......................................................................................27
3.1 General Description.............................................................................................................27
3.1.2 Product Perspective......................................................................................................27
3.1.3 Product Functions.........................................................................................................27
3.1.4 User Characteristics......................................................................................................27
3.1.5 General Constraints......................................................................................................28
3.1.6. Assumptions and dependencies...................................................................................28
3.2 External Interface Requirements.........................................................................................28
3.2.1 User Interfaces..............................................................................................................28
3.2.2 Hardware Interfaces......................................................................................................29
3.2.3 Software Interfaces.......................................................................................................29
3.2.4 Communications Interfaces..........................................................................................30
3.3 Functional Requirements.....................................................................................................30
3.4 Use Cases.............................................................................................................................35
3.5 Non-Functional Requirements.............................................................................................41
3.5.1 Performance..................................................................................................................41
3.5.2 Reliability.....................................................................................................................41
3.5.3 Availability...................................................................................................................42
3.5.4 Security.........................................................................................................................42
3.5.5 Maintainability..............................................................................................................42
3.5.6 Portability.....................................................................................................................42
3.6 Inverse requirements............................................................................................................42
3.7 Design Constraints...............................................................................................................42
3.8 Logical Database Requirements..........................................................................................43
3.9 Other Requirements.............................................................................................................44
3.10 Change Management Process............................................................................................44
Chapter 4: SYSTEM DESIGN......................................................................................................45
4.1 General Overview................................................................................................................45
4.2 Development Methods & Contingencies.............................................................................46
4.3 System Architecture.............................................................................................................47
4.3.1 Subsystem decomposition............................................................................................47
4.3.2 Hardware/ Software Mapping.......................................................................................48
4.4 Object Model.......................................................................................................................49
4.4.1 Class Diagrams.............................................................................................................49
4.4.2 Sequence Diagram........................................................................................................52
4.5 Detailed Design...................................................................................................................56
4.6 Activity Diagram.................................................................................................................66
Chapter 5: CONCLUSION AND RECOMMENDATION...........................................................68
5.1 Conclusion...........................................................................................................................68
5.2 Recommendation.................................................................................................................68
REFERENCES..............................................................................................................................69
APPENDIX A: Project Cost..........................................................................................................70
APPENDIX B: Glossary................................................................................................................71
List of Figures
Figure 1: proposed system.............................................................................................................17
Figure 2: Gantt chart......................................................................................................................21
Figure 3: Use Case diagram for the Proposed System..................................................................36
Figure 4: High level Diagram........................................................................................................45
Figure 5: Components of the context and Data flow diagrams.....................................................46
Figure 6: Context Diagram............................................................................................................46
Figure 7: Data Flow Diagram Level 1...........................................................................................47
Figure 8: Subsystem Decomposition of Document service, Data Flow diagram level 2..............48
Figure 9: Deployment Diagram.....................................................................................................49
Figure 10: Class Diagram..............................................................................................................51
Figure 11 Sequence diagram- User Registration...........................................................................52
Figure 12: Company Registration sequence diagram....................................................................53
Figure 13: System Admin sequence diagram................................................................................53
Figure 14: Login Sequence Diagram.............................................................................................54
Figure 15: Add document sequence diagram................................................................................54
Figure 16: receive documents Sequence diagram.........................................................................55
Figure 17: Send Document Sequence diagram..............................................................................55
Figure 18: Verify document sequence diagram.............................................................................56
Figure 19: Activity Diagram..........................................................................................................66
List of Tables
Table 1: Project Schedule..............................................................................................................21
Table 2 Communication table........................................................................................................22
Table 3: Cost Breakdown..............................................................................................................69
ACRONYMS
CSS - Cascading Stylesheet
JS – JavaScript
Ui - User Interface
Chapter 1: INTRODUCTION
1.1 Background
Document forgery is a critical and concerning issue all over the world [1]. Falsifying documents
is a crime [1]. It involves replacing, substituting or modifying a document for the purpose of
misleading another person. It can also involve transferring copies of documents that are known
to be false or forged. In many countries, falsifying a document is a crime punishable as a felony.
At this current era, where computers and printers have become widely available it has become
easier to produce high-quality forgeries [2]. According to [2] documents currently being falsified
include:
• Identification cards
• Bank statements and account records
• Immigration documents (for instance visas, passport etc.)
• Driver’s Licenses
• Birth certificates
• Educational Certificates (high school, college, university etc...)
• Medical certificates
Document verification is a process by which documents presented by individuals and prospective
employees are ensured of being genuine and that the holder is the rightful owner [3].
The proposed system referred hereafter as the National document verification system (NDVS)
will be a national online system that will allow organizations or users to automatically verify an
individual’s documents. This will help protect the government and businesses from identity
crime.
The NDVS will allow users to verify the authenticity of documents such as birth certificates,
driver licenses, educational transcripts, certificates and so on by crosschecking with a template in
the database.
The NDVS will also provide an online document repository where original documents will be
stored. There, documents can be issued to recipients online and the recipients can send their
original documents through the system to organizations requiring those documents when
applying for different types of services or benefits. Therefore eliminating doubts about the
documents because the recipients will not be able to tamper with it.
Basically the NDVS will permit users to verify documents over the internet, rather than in-store
in-branch or in-person. It will be a web based system that will improve procedures so that
documents can be verified by a simple and accurate way.
1.2 The Existing system
1.3 Motivation
There is a gap to be filled in Ethiopia regarding document verification and little is being done to
tackle document forgery. Because of document forgery, honest citizens aren’t getting
opportunities they deserve while criminals succeed by using shortcuts.
The above seen problem and the growing need for an automated, fast and reliable verification
system is what motivated the developing team to do this project. By doing this project, the
development team hopes to decrease the impact of document forgery by putting the NDVS in
use.
1.4 Statement of the problem
Document fraud is costing many countries billions of dollars a year. The BBC World Service
reported in 2012 that the estimated value lost through fraud in the UK was $100 billion (£66
billion) a year. It is also estimated to cost Australia $1.6 billion each year [5].
The U.S. government's 2006 fraud review concluded that fraud is a significantly under-reported
crime, and while various agencies and organizations were attempting to tackle the issue, greater
co-operation was needed to achieve a real impact in the public sector. The scale of the problem
pointed to the need for a small but high-powered body to bring together the numerous counter-
fraud initiatives that existed [5]. It is difficult to get any quantitative information about the
problems created with fraud in Ethiopia. But it is clear that the country is facing numerous
consequences because of document fraud.
Currently in Ethiopia there are people that find it easier to just obtain fake documents than to go
through the required training and screening process needed to earn those documents. For
instance, lots of individuals are applying and being hired for jobs using their fake degrees, fake
diplomas and fake Ph.Ds. As a result qualified citizens are robbed of their opportunities and left
unemployed while the jobs are being done by unqualified frauds. This benefits people who don’t
deserve it and discourages people with legitimate documents.
Document authentication, registration and record keeping supervision is a governmental
institution that works on document verification in Ethiopia. However there document verification
system is manual. Some high governmental institutions also use the same method. They keep
additional certificates or document after issuing a deal or documents. So if someone wants to
check the validity of the document on another occasion, they will cross check the document to
the copy they saved to their database when they issued the document you presented, if they find
the copy they will verify document is original. This is time taking and error prone, since the
document is preserved physically and also searched physically. If there is any chance these
documents are destroyed by some reason, there is no way documents can be verified of their
originality. This manual work will cost time, space and human power. Not only does it cost all
these things but it is also unreliable. This will leave a big gap when it comes to verifying the
originality of documents.
The ministry of education has a computerized system that checks the validity of grade 10 and
grade 12 national test result certificates. These system checks the originality of documents by
fetching the scanned original certificate from the database. When students bring their certificates
and want their certificate to be verified or when they want to send their certificates to other
countries, the workers take their document, search their document from the database and cross
check the result on the certificate the student presented and the one on the database. If all the
results are correct they will add a stamp on the back of the certificate which says the document is
original. After that the students can send their documents to other countries. This process is fast
and reliable, but the system only works for this institution.
The proposed system plans to make this process inclusive to all institutions in a different and
easily usable method but towards getting the same goal. The NDVS will permit users to verify
their details over the internet.
1.5 Objectives
The general objective of the study is to provide a system by which organizations can verify the
legitimacy of legal documents online.
The proposed system will try to alleviate the problem of verifying the originality of a document
in easy and accessible way.
The system will work by letting documents be uploaded online before the certificate is given to
the owner. When the document is uploaded information about the owner of the certificate will
also be filled; Email, Full Name, Field of study will also be filled before the certificate or
document is upload to database of the company. Here the email will act like the connection
between the user and the certificate. But the email is not necessary here; a document could also
be uploaded with another information like full name and field of study.
When a user signups with an email he/she will be asked to activate her account by logging to
their email. After activating their account; they will find documents that were issued to them
with their email account. They can send these documents to other companies that require their
documents. The sent document will also contain full information and contact of the document
issuer. Detail information about the document like date of the issuing and also the scanned image
of the original document will be included. The owner of the document cannot alter any kind of
data on the document. The system will require internet connection to work. This scenario is for
people who have their documents registered with their email. But if the user doesn’t have an
account he/she can’t send her documents through online.
The following scenario will be for users who are using their hard copy documents. Users will
present their document to a person that checks their document originality. The person checking
the document will scan the document. Then he/she will browse to NDVS website, upload the
document and also add additional information (i.e. Full name, Document Issuer name, date of
issue ) about the document and click the verify button. The system will use image processing to
verify the document originality on the repository to the document that is scanned. The system
will return three results. These results are; ORGINAL, NOT ORGINAL, DOESN’T EXIST. The
system returns ORGINAL response if the scanned document is the same with the document on
the repository. The system returns NOT ORIGINAL response; if the document is tampered or
changed in some kind of way. The system returns DOESN’T EXIST response; if the scanned
document doesn’t exists on the central repository.
This system will create an easy access for anyone who wants to verify the originality of a
document. And this will create an environment where people can trust a document so that the
details of a document will be believed without the slightest certainly of being forged.
There will be no place for forged documents and certificates, where by creating a situation that
can weed out documents that are tampered or forged. The system contacts both parties but also
uses a highly secured privacy system to protect the owner’s document from being used by
anyone without the approval of the document owner.
The system will have three main phases:
1. Will collect official data taken from institutes certify and store it,
2. Will let individuals pull their own certified data from the system,
3. Will send verified document which is certified by the institute and allowed by the
document owner.
Figure 1 Shows the graphical representation of the interation of users in the system. The
institutes send documents to users, and the users send their documents to companies. Companies
that want to verify document send documents to NDVS for verification. And the NDVS checks
with a template in the NDRS.
Figure 1: proposed system
This feasibility study is the assessment of the practicality of the proposed system. The economic,
technical, Legal and operational feasibility of the proposed system will be discussed.
This section is the evaluation of the technical requirements of the project and the technical
resources available to meet the requirements.
Software: The softwares needed to develop the System are all Open source, which means the
softwares available for free.
Hardware: The hardware available to the developer’s team is enough to deliver a system of this
scope.
Personnel: Capable programmers (the developing team) are available for the delivery of the
proposed system.
There will be lots of positive economic benefits because of the NDVS system. The NDVS will
help reduce labor costs because the existing systems verify documents manually which requires
lots of labor.
Considering the reason mentioned above it will be reasonably less expensive than the existing
system in use.
Development cost: The system will depend on open source software’s and there will not be a
paid API or frameworks used for the development practices.
Labor Cost: the labor that the system needs is not fixed, so for now it can use the individuals
volunteering and including the team members are working as one.
Internet cost: high speed internet is needed in order to fetch and get what is verifying, so around
1mb internet minimal is needed, so it is affordable according to the internet
accesses we can get.
Server cost: for testing the system, we can use a minimal amount of server space, so in this case
the project will use a personal computers as a server.
The proposed system will comply with countries rules and regulations and proclamation. The
system will not contradict with the countries rules and regulations.
The system should be able to operate smoothly, so that the client and users could interact easily,
in order to achieve this the project needs support from companies to get involved in the system,
which is inexpensive because we believe there are companies willing to cooperate with this
project idea.
For the system the internet operation and the servers needed to operate this system is normal.
The system will be easy to use and is developed to be suitable even for users with minimal
computer skills. It will create a great interact-active and reliable system for users.
1.7. Methodology
Methodology is the systematic, theoretical analysis of the methods applied to a field of study. It
comprises the theoretical analysis of the body of methods and principles associated with a branch
of knowledge [6]. This will describe about the methods the researcher uses to find and gather
data to achieve the proposed system.
The project will be conducted using asp.net mvc framework for handling the logic of the
website, Microsoft sql server for the database, sematic ui frame work for front end view
development, compass and sass to compile css files for the front end development, angular js for
front end interactivity. Moq for testing website logics and karma for testing front end angular js
development. And the project team has also decided to use matlab, opencv and phash for image
processing.
The project team has decided to follow the following methods for the development of the
proposed system.
Object oriented analysis approach
Use Unit Testing to test code
Use an MVC approach
The NDVS system will provide a means by which users can verify the legitimacy of the hard
copy or softcopy of any sort of paper works, identifications and certificates online. The scope of
the system will mainly be focused on application of the system for institutes like colleges and
universities.
The system will also provide an online repository system by which all original documents can be
issued to recipients online and where the recipients can send the documents to organizations
requiring those documents.
The final product will be a web based system that will provide the above seen functions.
1.8.2 Limitation
The NDVS system will not provide face recognition or fingerprint identification to verify the
documents or rather to get the verified documents.
This Project Schedule provides estimated time that these tasks are aimed to be delivered.
Gantt chart
Figure 2 is a Gantt chart that provides a graphical illustration of the project schedule.
The quality of the system will be defined by the fruitful implementation of the stated
requirements.
The quality standards set for the product are as follows:
The NDVS will provide an easy to use document verification system
The NDVS will speed up the process of document verification
The NDVS would provide a way to store documents in a reliable way
The NDVS would help minimize and control falsified documents from being used
The quality of the product will be measured and the deliverables should be consistent with the
above set standards.
The NDVS could be put in use by organizations that accept documents from individuals when
the individuals apply for different types of services or benefits. The system could be used by
organizations like embassies, banks, car rentals, hotels and telecom providers.
NDVS will also be put in use by companies looking to hire individuals as they will be able to
verify if the documents provided by individuals are legit or not.
NDVS could also be used by educational institutes for checking the transcripts and certificates
provided by people registering for programs.
NDVS could be useful for companies or institutes that issue official documents and will help the
companies or institutes in avoiding any form of falsification done in their name, which if not
tackled leads to their credibility being questioned.
In general, NDVS will be used by any type of service providing organization needing to verify
documents individuals present when applying for services.
This documentation is structured into 5 chapters. The chapters are Introduction, Literature
review, System Requirements, System design and Conclusion and Recommendation.
In the first chapter which is introduction, the sections included are background to the study
problem area, motivation, statement of the problem, objective of the study, proposed system, and
scope of the study, methodology of the study and application of results of the study. The project
organization is also included in this chapter.
The second chapter discusses the literature review. The chapter contains a review of articles and
systems that are related to the study area which is document verification.
The third chapter discusses the system requirements. The chapter contains external interface
requirements, functional and non-functional requirements and use cases. The system
requirements are the descriptions of what the system should do.
The fourth chapter discusses the system design. The system design could be seen as the
application of the systems theory to product development. The chapter includes context diagram,
deployment diagrams, class Diagram and activity diagram.
The last chapter focuses on final conclusions and forwarded recommendations based on the
finding of the present study.
Chapter 2: LITERATURE REVIEW
In order to get a clear understanding about Document Verification Systems, the developing team
has performed a review of existing articles and systems.
The reviewed articles give a brief description about the Coesys Document Verification, ARH and
DVS system in Australia.
2.1 Review
The Coesys Document Verification is a scalable distributed system that verifies identity
documents. The identity documents maybe passports, visas, ID cards and driver’s licenses [10].
Using the Coesys Document Verification system every document (hard copy or softcopy) can be
verified. Verifications on electronic and physical security features are also performed
automatically.
The system has been applicable in countries all over the world including the African country
Ghana.
The Coesys system works by checking the documents in question with the copies that they have
stored in their database. The first step when checking the authenticity of a document is scanning
the document. Next the data or information (country, type, version ...) from the document is
taken. Then the document is crosschecked with the copy of the document in the database. Finally
the detailed result is shown.
The Coesys database which stores copy of documents is administrated centrally. All updates
however are synchronized into all local repositories eradicating the need for regular manual
updates.
Coesys also has an Automated Border Control product that checks documents presented by
individuals entering a country. In Croatia, Coesys was chosen to upgrade the country’s border
control system. A mobile version of the Coesys Border Management system was used to run on
handheld mobile devices like biometric devices.
A high profile European bank has also put Coesys Document Verification system in use in their
branches. It was made so that each branch of the bank was connected with the Coesys document
verification repository.
The Document Verification Service (DVS) is an Australian based system, the system confirms
that the details of documents match the records held by the government authority that issued it
[11]. The DVS checks if the details exists or is valid and not expired or cancelled.
The Australian evidence of identity credentials that can be matched by DVS to mention a few
include birth certificates, change of name certificates, citizenship certificates, driver licenses,
ImmiCards, marriage certificates and more. The DVS can validate documents that have been
issued by the Australian Government and found in their database.
The DVS involves an authorized user, issuer, and DVS hub which is a technical router that
securely directs request between user and issuers [11].
When a person presents a document as evidence of their identity the DVS user first enters
information from the document. Information like name or date of birth from the document is
inserted into the system manually. From the DVS hub the extracted information is sent to the
supposed document issuer, here the matching process is done by the issuer. Next the document
issuer sends a computerized response via the DVS hub whether the document is authentic or not.
The validation of process of DVS only takes only seconds to perform, which compared to
manual systems is a great time saver. However the DVS doesn’t verify the authenticity of
physical documents or verify identities of clients presenting those documents.
AssureID: is a fast and accurate document authentication and identity verification software. This
verification software authenticates identity documents by using more than 50 different types of
forensic tests which are document specific. The verification process works by extracting
biometric and alphanumeric data from the documents.
To authenticate a document the first process is scanning the document. Next the data from the
document is taken and processed. After data extraction more than 50 forensic tests will be
performed on the credentials and the result will be displayed.
One of the tests performed is checking the details from the document against world watch lists
like Interpol, Office of Foreign Assets Control (OFAC) and Politically Exposed Persons (PEP).
AssureID uses a safe and secure cloud so that the data uploaded from the document is not hacked
or stolen.
By providing a fast and accurate system AssureID eliminates manual screening errors and speeds
up the document inspection.
ARH: ARH is a software that provides document verification for all identity document types
worldwide. The software provides a commercially accessible security checking platform.
Different type of identity documents like local ID cards, driver’s licenses, resident permits,
passports visa, address cards and more can be verified by this software.
The software examines scanned images of documents under different illumination thus the
application is able to weed out fake documents.
One of the features of the software is the optical character recognition (OCR) which is a software
that extracts text data from documents and then convers it to digital data. This data can be used
for executing fast and accurate registration. After the data is extracted an automatic verification
is executed which checks the details on the document will the template in their database.
The Software also has a pattern matching feature that checks the authenticity of documents by
comparing special security patterns with a background reference form a database that stores
patterns of attested genuine identity documents like ids and passports. This pattern matching can
be used for geometric signatures, visible patterns and even for patterns that are invisible to the
naked eye.
Direct Verify: Direct Verify is a website based in India. It is India’s largest online verification
network, which helps individuals authenticate documents online. This website is limited to users
needing documents verified in India.
2.2 Summary
The above seen Systems have created a reliable, accurate, scalable and distributed document
verification and have enabled a way to combat fraud.
The issue with document fraud is not to be taken lightly, the purpose of NDVS is to create a
Document Verification System that is suited for Ethiopia as the above seen systems have done
for their respective countries.
Chapter 3: SYSTEM REQUIREMENTS
This chapter gives a thorough description of the National Document Verification System and
outlines the requirements for the system. It contains the External Interface requirements,
functional and non-functional requirements and use cases
This system will be a web based system. This web Application will be used to obtain documents
directly from institutes and store those documents. Additionally the web application will be used
for uploading documents to be verified.
Since this project is data-centric, a database will be used. The database will be a repository
system which will receive and pile documents uploaded from any companies, institutes or
organizations.
The user will only access the database to get data, they will not be able to add or modify data. All
of this database communication will be over the internet.
By using the web application institutes will be able to upload documents of the recipients to the
document repository database.
Document recipients will be able to obtain their document from the document repository
database. The view will show the user’s personal document alongside with the profile of issuing
institutions.
Users will be able to scan and upload hardcopy of documents to check the originality. The result
will provide a reply about the document if it is either original or not.
The web based system will provide a functionality to manage the system and the document
information.
There will be four types of users that will interact with the system.
1. Institutes that issue the documents and upload it onto the system:
These users can only use the system to upload a document. This means that they will be
able to store data on the repository system with the required information.
2. Users that are the document recipients or individuals who own the documents:
These users can register and create an account. They can use this account to pull their
personal document from the repository system to their own profile. Also they can send
these documents to anybody requiring it, but they cannot edit or delete it.
3. Users that upload hardcopy document to use the system and verify that document
These users will be able to scan and upload documents they received from individuals or
companies and send it to our system to check the originality. The system will then use
image processing to check and send the result.
4. System Administrator
A system administrator is a user who will be given specific permission for managing and
controlling the system and managing company/institutes.
Since this system is a Web Application, internet connection is the main constraint. Because of
this, the application will not function if there is no internet connection.
Another constraint would have to be database capacity.
The first assumption is that the system will be accessed on computers that have a good
performance, in order for the users to get the full advantage of the system. If the web browsers
used aren’t updated or up to standards there might be a chance the system will not work as
expected.
The following are software’s that will be required for the system to be applicable.
Microsoft SQL server– 12.0.2269.0. : The system will use this database system since it is well
integrated with ASP.net mvc frame work.
ASP Net mvc frame work 5: the system will use this frame work for the manipulation of the
logic of the system. It is also well supported and integrated with visual studio.
Angular Js 1.5. : The system will use this java script frame work since it is well written and has
large community. It has a better testing environment and a strong model view biding.
Mat lab 9.1: The system will use this software for image processing. When there is a need for
comparison of images the system uses it to compare two images and determine if a scanned
document is the same as the original one.
Sass: The system must use sass to write a css file for the view of the website. Sass has a better
way to reuse css file and manage by modularizing css code.
Compass – 5.0: Is a frame work for sass that adds additional feature so the css files are going to
be compatible for different browsers. Since the system should be compatible for different
browsers the system must use this frame work to manage sass files.
Git- 2.5: The system is going to be built by a group of people and Git plays important role when
it comes to sharing code and controlling code version. So the system must Git for version control
and code sharing.
The system will be web application and will use the HTTP protocol for communication over the
internet. Users of the system will communicate through internet connection. The system will be
compatible to different browsers and different operating systems.
Communication between different parts of the system will be handled by the underlying
operating systems.
This section defines all the functions of the system. It will show the proposed services and tasks
or what the system will do.
3.3.6 FR-6 Company/Institute representatives shall be able to add document to the central
repository
Introduction
The company representatives shall be able add document of recipients to the central repository of
the system. Uploading a document requires the scanned image of the document, Institute name
that issued the document, date the document was given, document owner name. Information that
are optional to fill are Id of the document and email of the owner.
Inputs
The user should input Institute name that issued the document, date the document was given,
document owner name, scanned image of the document.
Processing
Process the adding of the documents to the central repository.
Outputs
Display message if the operation was successful or not.
Error Handling
If the operation could not be completed because of error during interaction with DBMS, the error
should be displayed using a message box and the operation should be canceled. If the details
inputted by the user are not correct or aren’t in the correct format, an error message will be
displayed with a message box stating that the user should change the details.
3.3.7 FR-7 Document Recipients shall be able to get their document online from
Companies/Institutes
Introduction
Document Recipients shall be able to get their documents from institutes addressed to them.
When the Document Recipients logs in to his/her account they will find documents that are
added to the central repository with their email. So the email acts as a link between the
Document Recipients and their documents. Documents that belong to them are going to be listed
on the user profile.
Inputs
Request from Document Recipients to see documents,
Processing
Display/Redirect to the documents received page
Outputs
Received documents page is displayed
Error Handling
If operation could not be completed because of error during interaction with DBMS, the error
should be displayed using a message box and the operation should be canceled.
3.3.8 FR-8 Document Recipients shall be able to send documents to other companies
Introduction
Document Recipients shall be able to send documents to companies that require them. After
users log in to their profile they will be able to send documents that are found on their profile to
other institutions or companies that require their document. Document Recipients will be able to
search for other companies before they send their documents to companies or institutes.
Inputs
Request from Document Recipients to send documents
Processing
Send documents to companies/institutes.
Outputs
If process was successful display the message “Documents sent successfully”, if it wasn’t
successful display the message “Documents couldn’t be sent”.
Error Handling
If the operation could not be completed because of error during interaction with DBMS, the error
should be displayed using a message box and the operation should be canceled.
3.3.9 FR-9 Companies shall be able receive documents from document recipients
Introduction
Companies shall be able to get documents that were sent from Document Recipients. Those
documents will have additional information. This information include the name of the Issuer
Company or institute, the date the document is issued, contact of the company or institute that
issued the document.
Inputs
Request from companies to see received documents.
Processing
Redirect the user to the received documents page.
Outputs
Redirect to the documents received page
Error Handling
There should be no error
Non-functional requirements, as the name suggests, are requirements that are not directly
concerned with the specific services delivered by the system to its users [12]. The following are
the Non-Functional Requirements of the system.
3.5.1 Performance
Users will be able to check the originality of a document in less than 10 minutes.
Registered Companies/Institutes will be able to issue documents to recipients within
minutes.
The local copy of the database will consume less than 20 MB of memory
3.5.2 Reliability
The system should get the correct result about the originality of documents almost all of
the time.
The system will not crash when invalid files are uploaded.
3.5.3 Availability
The system will be available for the companies with a minimum 500kilobyte internet
connection.
3.5.4 Security
3.5.5 Maintainability
The system will be able to adapt to any changes and errors by updates
Users can report any errors that the system fails to perform, get a result reply within a
week maximum, and get a solution on time depending on the problem.
3.5.6 Portability
Since the system will be web based, it will be portable as it can be accessed where ever there is
an internet connection.
The project will use SQL server as a database. The data formats that database should support are
the storage of data like number and strings. Images are not going to be stored in the database. But
the reference of their location will be stored in the database. The database should have the
storage capability of 30GB for the first phase launch. The project will also retain data. The one
reason we want to retain a data is to recover business critical data in the event of site-wide data
loss. So the project will have data to be retain if a specific data is accessed once a within a year.
When a scanned document is accessed within a year it will be marked for retention.
The data integrity of the project will be classified as follows:
Physical Integrity: The physical integrity deals with challenges associated with correctly storing
and fetching data itself. The physical integrity often makes use of error detecting algorithms
known as error correcting codes. The project will use physical integrity test checks.
Logical Integrity: This type of integrity is concerned with the correctness or rationality of piece
of data, given a particular context. This includes topics such as referential integrity and entity
integrity. The challenges include software bugs, design flaws and human errors. The project will
insure Logical integrity through Check constraints, foreign key constraints, program assertions
and run time sanity checks.
Training-related Requirements
The system will be straight forward and suitable even for users with minimal computer skills.
However users with no familiarity with the internet may be given training.
Packaging Requirements
The package will be a folder with code. That includes the content, resource files, configuration
files, JavaScript, css and so on.
Legal Requirements
The developing team will make sure to have all the processes in place so that the system is
complying with the law.
If or when a request comes from the team members or the advisor to update the SRS document,
this idea will be raised and discussed in the weekly team meeting or through email. The change
will only happen if majority of the team members and the advisor agree. Upon request granted
the SRS document will be updated by the team members to imitate the changes made.
Chapter 4: SYSTEM DESIGN
System design is the process of defining and developing the system to satisfy specified
requirements [13]. The purpose of the System Design is to translate the previously specified
requirements into a technical design that will be used in developing the system or software.
The context diagram is used to show the flow of data through the system. It shows what kind of
data will be input to and output from the system.
Figure 6 is the context diagram for the system which shows the data flow between the entities
and the system
The development method the project will follow is object oriented system. Since the project will
depend on ASP.MVC frame work for the web site logic and functionality, the project will be
greatly inclined in using the frame works methods approach. The project will be separated in to
different major projects. The following are the project lists; The DOM (Domain object model),
WEB UI (contains the controllers and view of the website) and the Test project which will use
Moq for unit tests.
The project will use a repository and untiofwork for managing and controlling a generic
instantiation of classes. The generic instantiation class is more flexible and easy for future class
management. Dependency injection will be also used to instantiate classes creating more flexible
design.
Some of the contingencies that the project team considered was the image processing that takes
place when a company verifies a document that is scanned. The project team might use matlab or
phash based on unknown factors that might happen while implementing the project.
The other contingency plan the project team considering is, parsing information from a document
that could identify a document uniquely when trying to validate a document. If the project team
fails to accomplish this task the system will ask the company or the user to fill out information
that can be used to identify a document manually.
Figure 8 shows the level 1 decomposition of the document service or the data flow diagram level
2, it contains 2 subsystems.
Figure 8: Subsystem Decomposition of Document service, Data Flow diagram level 2
This section will show the run-time architecture of the system and it will also show the
configuration of the hardware elements and shows how the hardware is mapped to the node.
Components identified for the deployment diagram are the following. View, controller, model,
view model, repository, tests and database file.
Deployment environments included are server computer that runs on windows server 2012
standard edition, IIS 8, Microsoft SQL Server 2014 and Sql server manager for the database, user
and company computers that have a web browser installed on it.
The reason the project team decided on using sql server for database is because the web logic
and controller are going to be made with ASP.NET frame work using visual studio. Since they
are products from the same company (i.e. Microsoft), they are well integrated and works
seamlessly together.
The browsers could be installed on any operating system since the user can access the web
application on any system. User, company and the System Admin can access the application
through web site. Asp.net mvc program is used to do back end computation in retrieving data and
control the view of the project.
Figure 9 Shows the Deployment diagram
Class diagrams are used to show the classes in the system to be developed and the association
between them. Shown below are the classes, interfaces, and collaborations and their
relationships.
The class diagram has the different symbols; and their definition is as follows.
This diagram shows association between classes.
This symbol represents composition
A sequence diagram is an interaction diagram that shows how objects operate with one another
in what order. It is a constructed form of a message sequence chart. A sequence diagram shows
object interaction arranged in time sequence [14].
The following sequence diagrams show important functions listed on functional requirements of
the system. In the sequence diagram the arrows that are solid and pointing to the right are input
flow. While the dotted arrows that point to the left are outputs or results.
2. Company Registration Sequence diagram is the same as the user registration sequence
diagram.
Figure 12 explains company registration and interaction between several entities of the
application.
Figure 12: Company Registration sequence diagram
3. System admin activating valid companies account (i.e. companies that are eligible to
issue a document with a legal license).
Figure 13 explains the System admin activating valid companies account (i.e. companies that are
eligible to issue a document with a legal license).
Class 1:
Class 2:
Class 3:
Class 4:
Table: Document Description attributes
Attribute Type Visibility Invariant
Class 6:
Table: DocumentService Operations
Operation Visibility Return Type Argument Precondition Post Condition
Class 7:
Class 8:
Table: User Claim
Attribute Type Visibility Invariant
Class 9:
Class 10:
Class 11:
Table: Notification Type Attribute
Attribute Type Visibility Invariant
Class 12:
Class 13:
Table: Message attribute
The activity diagram shows the activities involved in the NDVS system and the sequencing of
those activities. The arrows in the activity diagram show the sequential dependencies.
Figure 19 shows the activities in the system and how they are coordinated
Figure 19: Activity Diagram
Chapter 5: CONCLUSION AND RECOMMENDATION
5.1 Conclusion
Currently in Ethiopia because the verification systems are mostly manual it has enabled fake
documents to pass through as authentic documents. In addition because of the systems being
manual it has resulted in a time consuming, inconvenient, labor demanding and unreliable
verification process.
Since the proposed system will be automated it will create an accurate, convenient and reliable
document verification system so that forged documents can be identified easily. The developing
team strongly believes that the proposed system, if put in use will help reduce the impact of
document forgery by a large margin.
This finalized documentation is the first stage of the project. The project team is working on
developing a national document verification system that provides all the system requirements
and system design mentioned in the above section 3 and 4 respectively for the following
semester.
5.2 Recommendation
Considering the time limitation, we have narrowed the depth of the project. The system that will
be developed by the project team is mainly based on the institutions and educational bureaus but
there are areas that the project team believes are valuable even though it has not been covered or
implemented by the project.
For future study or project, the project team recommends that any document issued by a
governmental or non-governmental institutes or even any organization be stored in the repository
system. Then giving the people their own secured number or ID and code to access from that
repository system rather than going to offices in person. This will help a great deal in eradicating
forgery and a part of corruption done on document falsifying.
Furthermore, the project team would like to state that additional findings and recommendations
will be stated in the final paper in the following semester; that is the implementation phase.
REFERENCES
The following table is the cost breakdown structure for the project from project initiation to
implementation.
Actor
A coherent set of roles that users of use cases play when interacting with the use cases.
Asp.net
An open source server-side web application framework designed for web development.
Gantt chart
An alternate form bar chart.
Image Processing
Image Processing is a processing of images using mathematical operations by using any form of
signal processing for which the input is an image.
MVC
Model View Controller is a software design pattern for implementing user interfaces on
computers.
Use case diagram
A diagram that shows a set of use cases and actors and their relationships; use case diagrams
address the static use case view of a system.