13
CHAPTER THREE

CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 1: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

CHAPTER

THREE

Page 2: CITIZENS REGISTRATION MANAGEMENT SYSTEM-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.

Page 3: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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:

Page 4: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 5: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 6: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 7: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 8: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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.

Page 9: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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.

Page 10: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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.

Page 11: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 12: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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

Page 13: CITIZENS REGISTRATION MANAGEMENT SYSTEM-Chapter Three

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.