Upload
suleiman-umar
View
380
Download
0
Embed Size (px)
DESCRIPTION
A thesis submitted to the Canadian Sudanese Collegein partial fulfillment of the requirements forB.Sc. in Computer Information Systems
Citation preview
CHAPTER
THREE
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
23 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
SYSTEM DESIGN
PREFACE: The goal of the Design phase is to transform the requirements specifications that
had been determined and documented into a structure that is suitable for
implementation. The Requirement Collection phase determined what the system
is supposed to do, while the Design phase decides how the system should do it.
3.1 ENTITY RELATIONSHIP (ER) DIAGRAM
Entity-relationship modeling is a database modeling method, used to produce a
type of semantic data model of a system, often a relational database, and its
requirements in a top-down fashion. An entity may be defined as a thing which
is recognized as being capable of an independent existence and which can be
uniquely identified. A relationship captures how two or more entities are related
to one another. [8]
Every entity (unless it is a weak entity) must have a minimal set of uniquely
identifying attributes, which is called the entity's primary key.
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
24 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
3.1.1 ER DIAGRAM NOTATIONS
Fig 3.1 Types of ER Diagram Notations [9]
Usage of Chen notation is more prevalent in the United States, while usage of
Crow's Foot notation was used primarily in the UK.
In this project Peter Chen’s notation will be used and the convention requires
the use of the following symbols:
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
25 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
NOTATION NAME DESCRIPTION
Entity
They are the "things" about which
we seek information.
Weak Entity
Is an entity that must defined by a
foreign key relationship with
another entity as it cannot be
uniquely identified by its own
attributes alone.
Relationship
It provides the structure needed to
draw information from multiple
entities.
Recursive
Relationship
Is a relationship where entities are
self-linked.
Attribute
They are the data we collect
about the entities. Attributes with
primary key are underlined.
Multi-valued
Attribute
They are attributes that can have
more than one value.
Derived Attribute
Is an attribute which value is
based on another attribute.
Table 3.1 - ER Diagram (Peter Chen) Notations
Cardinality specifies how many instances of an entity relate to one instance of
another entity. Ordinality is also closely linked to cardinality. While
cardinality specifies the occurrences of a relationship, ordinality describes the
relationship as either mandatory or optional. In other words, cardinality
specifies the maximum number of relationships and ordinality specifies the
absolute minimum number of relationships.
ENTITY
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
26 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
3.1.2 LIST OF ENTITIES AND RELATIONSHIPS
Identifying entities and defining their relationships make a design easier to be
understood. Understandability of a design is a major factor which is used to
evaluate the goodness of a design, since a design that is easily understandable is
also easy to maintain and adapt changes. [3]
Entities
o Citizen
o Staff
o Passport
o Sponsor
o State
o Qualifications
o Profession
o Kinship
o Notes
o Authority
o Country
o Photos
Relationships
o Supervisor administers Staff
o Staff registers Citizen
o Citizen holds a Passport
o Authority issues Passport
o Passport holder originated from a Country
o Passport has a Photo
o Citizen was born in a State
o Citizen is sponsored by Sponsor
o Citizen has Qualifications
o Citizen specializes in Profession
o Kinship relates to Citizen
o Citizen has Notes
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
27 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
Fig 3.2 ER diagram
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
28 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
3.3 DATA DICTIONARY (DD)
UML Diagrams, ER-Diagrams, DFDs and other modeling diagrams define the
relationship between data flow, store, processes and the various inputs and
outputs. What they do not define are the details of the data. All the elements
mentioned need to be recorded to make the system description complete. The
data elements are the lowest level data items, which are the building blocks for
the data structure. All the elements are documented in the Data Dictionary
(DD).
Several definitions of Data Dictionary exist and vary among text books. One
popular definition is:
“A Data Dictionary is a central depository of all the elements that are used in a
system.”
As the name suggests, it is a place where the System Architect records all the
elements of the system. Just like the dictionary where you look up the meaning
of a word, its usage, spelling etc, the Data Dictionary is a place where you find
the details of an element.
Data Dictionary usage description:
Name – is the original element name as used in the database.
Type – is the data type used for the element
Length – is the maximum length of the element
Alias – is the field name that is displayed to the end user in the User
Interface
Key – is the key (primary, foreign, index, unique) that is used for an
element
Description – is a short description of the element
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
29 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
Authority Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
AuthorityCode Char 4 Authority
Code Primary
A unique code that identifies
each Authority
AuthorityName Varchar 45 Authority Unique It represents the Authority that
issued passport to a citizen.
Table 3.2 Authority is a basic table that holds all the names of authorized
passport issuers (for Nigeria of course) all over the globe.
Country Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
CountryCode Char 3 Country
Code Primary
A unique code that identifies
each Country
CountryName Varchar 45 Nationality Unique It represents passport
holder’s country of origin.
Table 3.3 Country is a basic table that holds all the names of eligible countries
which their citizens can apply for a Nigerian Passport according to the Nigerian
constitution.
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
30 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
Passport Table
NAME TYPE LENGTH ALIAS KEY DESCRIPTION
PassportNo Char 9 Passport No. Primary
A unique number preceded
by a letter that identifies
each passport
PassportType Char 1 Passport Type A single character that
categorized passport types
CountryCode Char 3 Foreign It links citizen with his
country name
PersonalNo Int 8 Personal No Default is Null
AuthorityCode Char 4 Foreign It links passport with the
name of its Authority
Surname Char 20 Second Name Index
GivenNames Char 41 Given Names Index
Concatenation of citizen
‘First Name’ and ‘Last
Name’ from citizen table
DOB Date Date Date of Birth Citizen date of birth
Sex Enum ‘M’, ‘F’ Gender Index Citizen gender - Male or
Female
BirthPlace Varchar 30 Place of Birth Index Citizen original place of
birth
IssueDate Date Date Date of Issue Passport date of issue
ExpiryDate Date Date Date of
Expiry Index Passport date of expiry
Table 3.3 Passport is a transaction table that holds citizens passport data.
Kinship Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
KinshipCode Char 3 Kinship
Code Primary
A unique code that identifies
each kinship
KinshipType Varchar 45 Kinship Unique
It represents the kinship
(relationship) type between a
citizen and his next of kin
Table 3.4 Kinship is a basic table that holds kinship between a citizen and his
next of kin.
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
31 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
Profession Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
ProfessionCode Char 3 Profession
Code Primary
A unique code that
identifies each profession
ProfessionName Varchar 45 Profession Unique It represents citizen’s
profession
Table 3.5 Profession is a basic table for all list of profession of citizens.
Qualification Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
QualificationCode Char 3 Qualification
Code Primary
A unique code that
identifies each
qualifications
QualificationType Varchar 45 Qualifications Unique It represents citizen’s
qualifications
Table 3.6 Qualification is a basic table for all qualifications.
Sponsor Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
SponsorCode Char 4 Sponsor
Code Primary
A unique code that identifies
each sponsor category
SponsorType Varchar 45 Sponsor
Type Unique
It categorizes citizens
sponsors
Table 3.7 Sponsor is a basic table that holds all sponsor categories.
State Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
StateCode Char 4 State Code Primary A unique code that identifies
each state of origin
StateName Varchar 45 State of
Origin Unique
The names of all the states of
origin
Table 3.8 State is a basic table that holds all citizens state of origin.
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
32 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
Citizen Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
RegNO Int 6 Reg No Primary
A unique code that
identifies and links each
citizen with his other
records. And it’s
automatically incremented
PassportNo Char 9 Passport
No Foreign
It links a citizen with his
passport data
FirstName Char 20 First
Name Index Citizen’s first name
Surname Char 20 Second
Name Index Citizen’s surname
LastName Char 20 Last Name Index Citizen’s last name
ProfessionCode Char 3 Foreign It links citizen with his
profession name
QualificationCode Char 3 Foreign It links citizen with his
qualifications
JobTitle Varchar 30 Job Title Citizen’s current job title
JobHistory Text 64kb Job
History
Citizen’s life time job
history, if any, else Null
PhoneNo Char 14 Sudan
Phone Index
Citizen’s current Sudan
phone no
Address Varchar 255 Address in
Sudan
Citizen’s current address
in Sudan
BirthPlace Varchar 30 Place of
Birth Index
Citizen’s original place of
birth
StateCode Char 4 State of
Origin Foreign
It links citizen with his
state of origin’s name
Sex Enum ‘M’,’F’ Gender Citizen’s gender
MaritalStatus Enum
‘Single’,
‘Married’,
‘Widowed’
,‘Divorced’
Marital
Status Index Citizen’s marital status
NoOfDependants Tinyint 3 Dependant
s in Sudan
Number of dependants on
citizen – e.g children, etc,
if any, else Null
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
33 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
DOB Date Date Date of
Birth Citizen’s date of birth
ArrivalDate Date Date Date of
Arrival Index
Citizen’s first date of
arrival to Sudan
Purpose Varchar 45 Purpose Purpose of coming to
Sudan
RegDate Datetime Date &
Time
Registrati
on Date
The date and time that a
citizen is registered in the
system which is
automatically stamped by
the system
DeactivateDate Date Date Deactivati
on Date Index
The date that a citizen is
expected to finish his
period of stay in Sudan.
The system will
automatically change the
citizen’s activity status to
inactive after the date
ActivityStatus Enum ‘Active’,
‘Inactive’
Current
Status Index
The status that a citizen is
believed to be staying in
Sudan
KinshipCode Char 3 Foreign It links a citizen with his
Next of Kin kinship type
KinName Varchar 45 Kin Name Index Citizen’s Next of kin
name in Sudan
KinAddress Varchar 255 Kin
Address
Next of kin address in
Sudan
KinPhone Char 14 Kin
Phone Index
Next of kin phone number
in Sudan
SponsorCode Char 4 Foreign It links a citizen with his
sponsor category
SponsorName Varchar 45 Sponsor
name Index
Name of citizen sponsor
in Sudan
SponsorAddress Varchar 255 Sponsor
Address
Address of citizen sponsor
in Sudan
SponsorPhone Char 14 Sponsor
Phone Index
Sponsor phone number in
Sudan
NGAPhone Char 14 Nigeria
Phone Index
Citizen’s permanent
phone number in Nigeria
NGAFax Char 14 Nigeria
Fax
Citizen fax number in
Nigeria, if any, else Null
Chapter Three: System Design – Nigerian Citizens Registration Management System In Sudan
34 By Suleiman Umar Abdullahi, supervised by Dr. Awad Mohamed
NGAAddress Varchar 255 Nigeria
Address
Citizen’s permanent
address in Nigeria
LastUpdate TimeSta
mp
Date &
Time
Last
Update
Date
The last time a citizen
data was edited. This will
be automatically changed
by the system upon
change
Table 3.9 Citizen is a transaction table that holds all citizen information
Notes Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
NoteID Int 9 Primary
A unique code that identifies
each note and it’s
automatically incrementing
RegNo Int 6 Foreign It links a citizen with his notes
Note Text 64kb Remarks Content of the notes
NoteDate Timestamp Date &
Time
Remarks
Date Index
An automatic timestamp of the
date the note is recorded in the
system
Table 3.10 Notes is a transaction table that holds all remarks on citizen, if any.
Photos Table
NAME TYPE LENGHT ALIAS KEY DESCRIPTION
PhotoID Int 6 Primary A unique code that identifies
each Photo
PassportNo Char 9 Passport
No Foreign
It links a citizen with his
photograph
PhotoSize Int 10 The size of the photograph in
bytes
PhotoFile Medium
Blob 16MB Photo
Citizen photograph file saves
in bytes
Table 3.11 Photos is a transaction table that holds citizens photographs.