Professional Documents
Culture Documents
Ethiopian Refugee and Hosting Management System 3
Ethiopian Refugee and Hosting Management System 3
By:
Advisor:
Ato Getahun Gezu
June, 2022
Ethiopian Refugee Hosting Management System
By:
Examiners:
Abstract
There are more refugees in the world right now in our modern world than has been ever in history.
Be it because of famine, war, or dissatisfaction, people could become refugees if circumstances
arise. Many countries are thus facing a refugee influx and having to try and solve that problem
could be a financial and resource strain on any nation. Current systems such as government refugee
programs, NGOs, and private voluntary organizations are trying to tackle these problems through
physical refugee sheltering. This endeavour proved to be very expensive, fatiguing, and, at times
impossible to follow. The system we will develop, The ERHMS, is going to approach these
problems differently. It works by providing a platform where refugees and volunteer hosts could
connect and arrange to meet. The platform will provide a means by which the refugees can be
accommodated by a voluntary host in accordance with the terms of agreement of both parties
involved. This way, refugees could find willing hosts in safer areas with absolute zero costs for
the government wing. Not only does our system eradicate the enormous amount of resources
required to maintain the growing number of refugees that are incoming, but also pave the way for
new systems to be developed that address the many obstacles that are present due to the usage of
out-dated institutions. The Development of the ERHMS is going to be user-oriented and focuses
on the user requirements that have been accumulated. It will utilize the various roles and
comprehension of programming and initiative abilities that our team members possess that will
lead to its realization.
i
Acknowledgements
We would like to express our special thanks of gratitude to our advisor, Mr. Getahun, who gave
us quality guidance and an abundance of advice on how to go about doing this project. We would
also like to thank all the volunteers who agreed to participate in testing the project. Last but not
least, we would like to thank our families for their unending support and encouragement.
ii
List of Abbreviations
iii
List of Tables
iv
List of Figures
Figure 1.1: Time Schedule Gantt chart ........................................................................................... 6
Figure 2.1: RAD............................................................................................................................ 14
Figure 3.1: Essential use case diagram ......................................................................................... 23
Figure 3.2: Admin broadcast page ................................................................................................ 29
Figure 3.3: User Profile................................................................................................................. 30
Figure 3.4: Login Page .................................................................................................................. 30
Figure 3.5: Essential UI prototype ................................................................................................ 31
Figure 3.6: User interface flow diagram ....................................................................................... 32
Figure 3.7: System Use Case Diagram ........................................................................................ 34
Figure 3.8: Create Account Sequence Diagram ............................................................................ 45
Figure 3.9: Login Sequence Diagram ........................................................................................... 46
Figure 3.10: Update Profile Sequence Diagram ........................................................................... 47
Figure 3.11: Logout Sequence Diagram ....................................................................................... 47
Figure 3.12: Delete Account Sequence Diagram .......................................................................... 48
Figure 3.13: Login Activity Diagram ........................................................................................... 49
Figure 3.14: Signup Activity Diagram.......................................................................................... 50
Figure 3.15: Update Profile Activity Diagram ............................................................................. 51
Figure 3.16: Logout Activity Diagram ......................................................................................... 52
Figure 3.17: Delete Account Activity Diagram ............................................................................ 53
Figure 4.1: Mapping class diagram to relation ............................................................................. 60
Figure 4.2: User login page ........................................................................................................... 65
Figure 4.3: User signup page ........................................................................................................ 66
Figure 4.4: Home Page ................................................................................................................. 66
Figure 4.5: Admin Page ................................................................................................................ 67
Figure 4.6: Deployment Diagram ................................................................................................. 68
Figure 4.7: Network Design .......................................................................................................... 69
Figure 5.1: Broadcasting/Sending message Sample code............................................................. 70
Figure 5.2: Sending message sample code ................................................................................... 71
Figure 5.3: Searching sample code ............................................................................................... 71
Figure 5.4: Login sample code...................................................................................................... 72
v
Appendices
Ethiopian Refugee Hosting Management System (ERHMS) is an online platform that provides a
space for refugees from troubled areas to connect with willing potential hosts in safer areas. This
way, it will provide a means by which the general public can participate in accommodating
refugees from areas of turmoil. The main thing that makes the platform special is that it is based
solely on good will and volunteerism. It is free to use by anyone and that participation is not
mandatory makes the system special.
vi
Table of Content
Abstract ............................................................................................................................................ i
Acknowledgements ......................................................................................................................... ii
List of Abbreviations ..................................................................................................................... iii
List of Tables ................................................................................................................................. iv
List of Figures ................................................................................................................................. v
Appendices ..................................................................................................................................... vi
Chapter One: Introduction .............................................................................................................. 1
1.1. Background Information .................................................................................................. 1
1.2. Statement of the Problem ................................................................................................. 2
1.3. Objectives ......................................................................................................................... 2
1.3.1. General Objective ..................................................................................................... 2
1.3.2. Specific Objectives ................................................................................................... 2
1.4. Scope ................................................................................................................................ 3
1.5. Tools and Methodology ................................................................................................... 3
1.5.1. Data Collection methodologies ................................................................................. 3
1.5.2. System Development methodologies ........................................................................ 3
1.5.3. Development tools .................................................................................................... 4
1.6. Beneficiaries ..................................................................................................................... 4
1.7. Schedule ........................................................................................................................... 5
Chapter Two: Project Management ................................................................................................ 7
2.1. Introduction ...................................................................................................................... 7
2.2. Work Breakdown Structure.............................................................................................. 7
2.3. Resource Plan ................................................................................................................... 9
2.3.1. Human Resource Plan ............................................................................................... 9
2.3.2. Material Plan ........................................................................................................... 11
2.4. Financial Plan ................................................................................................................. 11
2.4.1. Human Resource Financial Plan ............................................................................. 12
2.4.2. Material/Equipment Financial Plan ........................................................................ 12
2.4.3. Project Budget ......................................................................................................... 12
2.5. Team Organization ......................................................................................................... 13
2.6. Process Model ................................................................................................................ 14
vii
2.7. Risk Management Mitigation and Monitoring (MMM) Plan ........................................ 14
2.7.1. Risk Items Table ..................................................................................................... 15
2.7.2. RMMM Plan ........................................................................................................... 16
Chapter Three: System Analysis ................................................................................................... 18
3.1. Introduction .................................................................................................................... 18
3.2. Current System Overview .............................................................................................. 18
3.3. Proposed System Overview ........................................................................................... 18
3.3.1. Functional Requirements ........................................................................................ 19
3.3.2. Non-functional Requirements ................................................................................. 22
3.4. System Models – Requirement Determination .............................................................. 22
3.4.1. Essential Use Case Modelling ................................................................................ 22
3.4.2. Essential UI Prototype ............................................................................................ 29
3.4.3. User Interface Flow Diagram.................................................................................. 32
3.4.4. Supplementary Specifications ................................................................................. 33
3.5. System Models – Analysis ............................................................................................. 34
3.5.1. System Use Case Modelling ................................................................................... 34
3.5.2. Sequence Diagram .................................................................................................. 45
3.5.3. Activity Diagram .................................................................................................... 49
Chapter Four: System Design ....................................................................................................... 54
4.1. Introduction ........................................................................................................................ 54
4.2. Design Goals ...................................................................................................................... 54
4.3 Design Trade-offs ................................................................................................................ 55
4.4 Subsystem Decomposition .................................................................................................. 56
4.5 Design Phase Models .......................................................................................................... 57
4.5.1 Class Modelling ............................................................................................................ 57
4.5.2 Persistent model ............................................................................................................ 60
4.5.3 User Interface Design ................................................................................................... 64
4.5.4 Deployment Diagram ................................................................................................... 67
4.5.5 Network Design ............................................................................................................ 69
Chapter 5: Implementation ........................................................................................................... 70
5.1 Introduction ......................................................................................................................... 70
5.2 sample code ......................................................................................................................... 70
viii
Chapter 6: Conclusion and Recommendation............................................................................... 73
ix
Chapter One: Introduction
The Ethiopian Refugee Hosting Management System (ERHMS) is a website that provides a
means of coping with refugee crisis in our country through the involvement of the general public.
It works by providing a platform for refugees and volunteer hosts to communicate, thus, enabling
the public in safe areas to voluntarily host refugees from unstable places.
ERHMS involves creating separate types of accounts for refugees and volunteer hosts, providing
data – name and location – about both the host and refugee and also has a chat room where the
users can communicate. For the safety of both sides of the interaction the information that is
made public will only be their name and city of residence. Users can share more detailed
information through the chat room.
Refugees At Home is a company located in London, England that provides a platform for willing
citizens to host refugees and asylum seekers from all over the world. It’s a non-profit company
that is mostly crowd-funded.
The company’s services are open for anyone to use as long as they fulfil certain criteria for both
refugees – called “guests" on the website – and for hosts.
Users – both guests and hosts – register on the website by filling a form.
The system provides a means for the users to search for other uses to interact with.
1
1.2. Statement of the Problem
In Ethiopia’s case a refugee hosting system that uses volunteers from the public as the host is
non-existent. This lays the burden of hosting refugees solely on the government – whom can only
do as much as the means of the country allows them will only result in slums for camps.
Therefore, creating overpopulated refugee camps that are a health hazard to the very people
taking refuge within them. The Currently existent camps don’t put in to account the fact that
refugees come from different cultural backgrounds is crucial to keep the hosting process trouble-
free. Consequently, internal disputes may arise in the settlements due to confusion and
dissatisfaction. Accommodations such as shelter, clothing, food and medicine are scarce due to
the hardships of maintaining funds required for sustaining the settlement programs. These funds
usually come from government aids, NGOs, and private organization donations, which are hard
to come by these days. Allocating land property for the settlement programs is an essential if not
an integral part of the whole hosting process. This undertaking is very challenging by reason of
land ownership expenses and policies related to it. Accordingly, it is near to impossible to not
only accommodate the already accepted refugees but also to accept the growing number of
displaced people.
1.3. Objectives
2
1.4. Scope
ERHMS will attempt to help solve refugee crisis specifically for Ethiopian internally displaced
peoples. In an effort to ease the strain of having too many refugees to deal with the ERHMS will
solve the hassle of overpopulated camps, accommodative scarcity and resource allocation
predicaments by creating a platform by which multitude of volunteers can reach the refugees and
offer housing, nourishment, treatment, therapy and several different aids. As a result, The
ERHMS will diminish the dilemma of refugee hosting services and restructuring it into an
advanced system of caregiving for the displaced community.
i. Interviews
We interviewed people who may be potential users of the system to analyse what assurances the
system needed to provide.
We observed extensive social media content regarding the topic from users in our country, this
allowed us to further assess public openness to the project and to also check what concerns they
may have.
Since the project is going to be heavily user-oriented; it is required to be user-friendly and will
have to satisfy as many users defined features as possible. All this needs to happen while we stay
true to the relatively short time we have until the deadline is reached.
3
For these reasons we chose Rapid Application Development (RAD) as our system development
method. In order to facilitate user engagement and also be able to finish the project in a relatively
short time.
I. Text editors
Every group member used various text editors on their machine to do their part of the project.
Like: Sublime, Atom and Visual Studio Code. The text editors were chosen based on each
member's personal preference.
We used Eclipse as an IDE version 4.23 for the separate units of the program in order to test them
separately before assembling them into one.
We used MySQL community server version 8.0 to separately design and test the needed database
without having to worry about the other web components before combining them all later on.
To test the final prototypes – after assembling the whole units – we used XAMPP server version
7.4.23, since it can service both the web application and the database parts at once.
1.6. Beneficiaries
Non-compulsory:
Only volunteers will be able to participate in the program, thus not straining the public with
unpopular demands.
Nearly cost-less:
4
The only type of funding the system needs to operate will be maintenance, which doesn’t
count as much of a cost considering the service it provides.
Because of the highly costly nature if the current way of dealing with refugees, the emergence
of this project will largely save on government costs.
As for whom benefits from the project, there are two broad beneficiaries – the government and
the general public.
1.7. Schedule
Table 1: Schedule
Since the schedule flows in a strictly linear fashion, the early start and early finish times of each
task are equal to the late start and late finish times which renders the slack time equal to zero.
5
Figure 1.1: Time Schedule Gantt chart
6
Chapter Two: Project Management
2.1. Introduction
This chapter of the project document provides the systems project management. This chapter
contains and elaborates project planning (work breakdown structure), resource planning,
financial planning, team organization, process model and risk planning.
It is important to have knowledge about modern management on top of understanding the design
and deployment process. Web based Systems have particular objectives and constraints like a
required time frame for completion. And the development cost is significant. Web based systems
are usually prone to change. We can’t prevent change, but by applying effective project
management principles, engineers are able to increase the probability of success in the change
process. The three-primary target of the web-based system which are Cost, Time and
Performance are most likely to be prone to risk and uncertainty. So, the lack of effective project
management is a major contributor to the failure of a project.
Our work breakdown structure is organised into four phases – Initiation, Planning, Execution and
control, closing – and is shown as follows:
Table 2: WBS
Phase 1:
1 Initiate Project
7
1.1.2 Define Requirements
Phase 2:
2 Plan Project
Phase 3:
8
3.1.2 Design framework content formats
Phase 4:
4.2 End
We are preparing a resource plan to generalize the resources needed to complete the project. A
well-documented resource plan is the exact number of human resources and materials needed to
complete our project.
The human resource plan in our project consists of the type of the resource or the personnel, how
9
many people work on a specific task, their qualification and responsibilities according to the
project requirements specified.
(Role)
10
project (PHP, Test the prototypes,
MySQL, HTML
Study user feedback,
and CSS).
Improve the prototypes,
A financial plan is prepared to identify the amount of money required. A financial plan entails
the total cost of labor and the hardware needed for the project.
11
2.4.1. Human Resource Financial Plan
12
Summing it up, when estimating the costs for human resources we had allocated 35,000 ETB the
actual cost was 38,000, which left us with a deficit of 3,000 ETB. When estimating the costs for
materials/equipment we had a cost estimate of 90,000 ETB the actual cost ended up being 84,800
ETB, which left us with a surplus of 5,200 ETB.
Overall, we had a budget of 125,000 ETB for the project and ended up having to spend 122,800
ETB, this in turn meant that we have a surplus of 2,200 ETB.
The team organization selected for our project is a specifically designed type that utilizes both
voting and hierarchy.
The team consists of members with roles that have a hierarchical value. There are 3 roles: a single
Project Manager and 4 personnel working as both Analysts and Programmers. The group system
works as follows:
At the bottom are the Analysts and Programmers each of them having a single vote on matters
equalling a total of 4 votes, and at the top of the hierarchy is the project manager with the right
to make the ultimate decision in case of disagreements within the group. This absolute power
however, can only be exercised as long as there is a disagreement within the other 4 group
members. Any unanimous agreement between all four members should be exercised regardless
of the Project Manager’s opinion.
13
Nathnael Tadesse Analyst and Programmer Email: nati1stonegaudi@gmail.com
Phone: +251 93 167 8242
Due to the nature of our group’s members and the relatively short time constraints that has been
laid upon us, we chose Rapid Application Development (RAD) as our process model.
RAD Model is a software development process based on prototyping without any specific
planning. In RAD model, there is less attention paid to the planning and more priority is given
to the development tasks. It targets at developing software in a short span of time.
Risk analysis and management are a series of steps that helps a software team to understand and
manage uncertainty (Hoofer, Jeffrey A; Joey F George and Joseph S.Valacich 2000). A risk is a
potential problem; it might or might not occur. It is a good approach to identify risk, asses its
probability of occurrence, estimate its impact, and establish a contingency plan should the
problem actually occur.
14
2.7.1. Risk Items Table
Lack of community acceptance Users not being interested in using the Critical
system
Lack of software development Our team not being able to implement Critical
skills the project
End user illiteracy Users not knowing how to use the Critical
system
Infrastructure cost overrun Cost of hosting the project getting out Critical
of hand
Critical risks are risks that could harm the project but isn’t a threat to its existence altogether,
while fatal risks are the ones that could totally collapse the project should they occur.
15
2.7.2. RMMM Plan
16
Check our knowledge of and Check how often bugs are Keep learning from online
skills on the programming found in a single unit in the forums as we develop the
languages, frameworks and project project
tools
Responsibility of: Amanuel Yemane
Risk Name: End user illiteracy Probability: Very Likely
Description: Users not knowing how to use the system
Risk Mitigation: Risk Monitoring: Risk Management:
Learn users’ UI preferences Observe new users’ ability to RM1. Provide tutorials for
before implementing the learn the UI new users
project
RM2. Adjust the UI to be
more user friendly
Responsibility of: Nathnael Tadesse
Risk Name: Server and connection failure Probability: Mildly Likely
Description: A server or connection failure either as a result of human or design errors
Risk Mitigation: Risk Monitoring: Risk Management:
Purchase or develop a fault Monitor how often Quickly identify the cause
tolerant system or component disturbances in the and repair or replace it
connection occur
Responsibility of: Amanuel Yemane & Biniam W/Michael
Risk Name: Infrastructure cost overrun Probability: Likely
Description: Cost of hosting the project getting out of hand
Risk Mitigation: Risk Monitoring: Risk Management:
Choose cost friendly Monitor monthly costs Downgrade to less costly
infrastructure equipment without
compromising functionality
Responsibility of: Bereket Belete & Hailemedhin Kassaye
17
Chapter Three: System Analysis
3.1. Introduction
This chapter of the project documents the system analysis of the project. It contains the current
and proposed system overviews, functional and non-functional requirements of the proposed
system, system models – requirement determination and analysis.
Be it on the federal or regional level, there currently exists no system in place that involves the
voluntary accommodation of refugees by the use of the general publics’ participation as the main
resource. So far anything related to refugee accommodation has been – and is still being done – by
government internal ministries and a collection of NGOs, both of which use the traditional way of
dealing with a refugee influx, by building refugee camps in relatively safe areas.
There are more refugees in the world right now in our modern world than has been ever in history.
Be it because of famine, war or plain dissatisfaction people could become refugees if
circumstances arise. Many countries are thus facing a refugee influx and having to try and solve
that problem could be a financial and resource strain on any nation. When faced with such crises
most countries tend to use the traditional way of mitigating the problem, by building refugee
camps. This, we found, can be problematic cause of the overcrowded nature of said camps, which
could easily become a hotspot for disease.
Instead of using the traditional way of stuffing refugees in refugee camps that could easily get
overcrowded and underfunded, we propose to mitigate the refugee problem through the
involvement of the general public. Our system, ERHMS, works by providing a platform where
refugees and volunteer hosts could connect and could arrange to meet. This way, refugees could
find willing hosts in safer areas with absolute zero costs for the government wing.
18
3.3.1. Functional Requirements
Login
Description: If a user has an account they can login provided that they enter the right username
and password.
Logout
Description: If a user is logged into their account they can logout whenever they want.
Create account:
Input: Request for first name, middle name, last name, phone number, email, physical address and
password.
Processing: Retrieves the provided information and makes a new account for user.
Processing: Retrieves the provided information and searches for matching hosts.
19
Output: Displays a list of matching hosts.
Processing: Retrieves the provided information and searches for matching refugees.
Making connections:
Description: Users send a connect request to users of the opposite category they want to
communicate with.
Breaking connections:
Processing: When user taps/clicks on “Accept”, users can communicate through a chat room.
Processing: When a user taps/clicks on “Done”, the selected photo gets uploaded to the user’s
profile.
20
Sending a message:
Description: Users can message each other once they have been connected.
Update profile:
Input: Asks for profile photo, first name, middle name, last name, phone number, email and
physical address.
Delete Account:
21
3.3.2. Non-functional Requirements
Maintainable: in case of a crash the time required for the system or its component to be
fixed, or adapted to a changing environment should be minimal.
Reliable: the system should run without a failure for a minimum of 6 months with minimal
supervision.
Secure: assurance that all data inside the system or its part will be protected against
malware attacks or unauthorized access.
Efficient: The system shouldn’t be overly consuming in time and hardware capacity. It
should work without lags on minimal server capacity.
User friendly: should have a pleasant frontend design. However this should be as long as
it doesn’t substantially affect efficiency.
In this section we try to present a complete, meaningful, and well designed from the point-of-
view of users in some roles in relation to a system and that embodies the purpose underlying the
interaction.
22
3.4.1.1. Essential Use Case Diagram
UC01:
Description: In this case a user or an admin logs into their account. The user does that by inserting
the details necessary for the attributes of the account.
23
Preconditions: User has an account and is on the Login window.
UC02:
Description: In this case a user creates an account. The user does that by inserting the details
necessary for the attributes of the account.
UC03:
Description: In this case users have the ability to logout of their account if they wish.
UC04:
Description: In this case a user updates the details of their account. The user does that by inserting
the details necessary for the attributes for the updates.
24
Preconditions: User is logged in to their account.
UC05:
Description: In this case a user sends a request to another user, after choosing a recipient.
UC06:
Post conditions: User can no longer communicate with the selected user.
UC07:
Description: In this case users send a message towards another user with whom they have
established a connection.
25
Preconditions: User is logged in to their account and must have permission to communicate with
the target user.
UC08:
Description: In this case users have the ability to delete their account if they wish. This is done
after they pass a user verification protocol. Admins also have the option to delete a user.
UC09:
Description: Users have the ability to post a story about anything they wish.
UC10:
Description: Users have the ability to post photos which will be visible on their profile.
26
Preconditions: User is logged in to their account.
UC11:
Description: Users have the ability to delete their own posts. Admin can delete any post by any
user.
UC12:
Description: Users have the ability to report offensive or harmful posts. Admin can view them and
take corrective measures.
UC13:
Description: In this case users have the ability to view another user’s profile.
27
Preconditions: User is logged in to their account.
UC14:
Description: In this case users have the ability to search for another user using their name.
Post conditions: User gets a list of other accounts matching their filters.
UC15:
Actor: Admin
Description: In this case the system administrator sends a message to every single user in the
system.
28
3.4.2. Essential UI Prototype
In this section we will attempt to represent the general ideas behind the UI for our website. We
will model user interface requirements, requirements that are evolved through analysis and design
to result in the final user interface for your system.
29
User Profile
Login Page
30
Signup Page
31
3.4.3. User Interface Flow Diagram
32
3.4.4. Supplementary Specifications
3.4.4.1. Business Rules
Valid username and password. If there are login failures, the system should send a
warning email to the user’s email address.
Loading pictures is a must.
Public information should be vague about physical addresses – only provide city.
3.4.4.2. Constraints
The main constraint that affects the project is funding. Since the project is intended to be
a non-profit, it will have to be maintained through donations once deployed. This
jeopardises the project’s survival cause of a reliance on such a fragile source of revenue.
The main physical constraint of the project is the fact that internet access is a prerequisite
for use. This makes it harder for refugees in less than ideal places.
Change case 01
Name: users not using the system
Probability: certain, improving the system in time will increase the usability
Impact: High might require to redesign some aspects of the system
Change case 02
Name: Updates and improvements in the system
Probability: certain, improving the system’s usability through time while maintaining normal
activity of the system
Impact: High might require the system to be down for some time
Change case 03
Name: increasing number of users
33
Probability: certain, long term plan for the system
Impact: medium, requires additional hardware to expand the system
In this section we will attempt to represents a discrete unit of interaction between a user (human
or machine) and the system.
34
3.5.1.2. System Use Case Documentation
SUC01:
Description: In this case a user creates an account. The user does that by inserting the details
necessary for the attributes of the account.
Basic6: Use case ends when system displays the home page of a new account.
A.4 System determines that the form hasn’t been properly filled.
SUC02:
35
Description: In this case a user logs into their account. The user does that by inserting the details
necessary for the attributes of the account.
Basic5: Use case ends when system displays the home page of the user’s account.
SUC03:
Description: In this case a user updates the details of their account. The user does that by inserting
the details necessary for the attributes for the updates.
36
Basic3: System validates then saves the information passed.
Basic4: Use case ends when system goes back to the user’s home screen.
SUC04:
Description: In this case users have the ability to search for other users narrowed down further by
details provided by the first user’s search options and by the second user’s public information.
Post conditions: User gets a list of other accounts matching their filters.
Basic4: Use case ends when system displays accounts matching the details.
A.4 System shows “no matches” error message and goes back to Basic2.
37
SUC05:
Description: In this case a user connects to another user, after choosing a recipient.
Basic1: User chooses a recipient out of the search results from SUC04.
Basic4: Use case ends when system connects the two users.
SUC06:
Description: In this case a user disconnects from another user and can no longer communicate with
them.
38
SUC07:
Description: In this case users send a message towards another user with whom they have
established a connection through the request process.
Preconditions: User is logged in to their account and must have permission to communicate with
the target user.
Basic2: System checks if user has the privileges to communicate with their target.
Basic4: Use case ends when system sends message to recipient’s inbox.
A.2 System determines user doesn’t have the privileges to communicate with their target.
SUC08:
Description: In this case users have the ability to delete their account if they wish. This is done
after they pass a user verification protocol. Also, admin could delete any user account.
39
Basic course of action:
For User:
UserBasic4: Use case ends when system goes to the index page.
For Admin:
SUC09:
Description: In this case users have the ability to logout of their account if they wish.
40
Basic course of action:
Basic4: Use case ends when system logs out of the account.
SUC10:
Actor: Admin
Description: In this case the system administrator broadcasts a message to every single user in the
system.
Basic3: Use case ends when system shows a “sent” dialogue box.
A.4 System shows an error message and the use case restarts.
41
SUC11:
Description: In this case users have the ability to view another user’s profile.
SUC12:
Description: Users have the ability to report offensive or harmful posts. Admin can view them and
take corrective measures.
42
SUC13:
Description: Users have the ability to post a story about anything they wish.
A.3 System shows an error message and the use case restarts.
SUC14:
Description: Users have the ability to post photos which will be visible on their profile.
43
Basic2: User chooses a photo and submits.
A.3 System shows an error message and the use case restarts.
SUC15:
Description: Users have the ability to delete their own posts. Admin can delete any post by any
user.
44
3.5.2. Sequence Diagram
45
Figure 3.9: Login Sequence Diagram
46
Figure 3.10: Update Profile Sequence Diagram
47
Figure 3.12: Delete Account Sequence Diagram
48
3.5.3. Activity Diagram
49
Figure 3.14: Signup Activity Diagram
50
Figure 3.15: Update Profile Activity Diagram
51
Figure 3.16: Logout Activity Diagram
52
Figure 3.17: Delete Account Activity Diagram
53
Chapter Four: System Design
4.1. Introduction
In this chapter we will discuss the system design of our project. System design is the stage where
we define the entire data, interfaces, modules, components and architecture for our system. It is
meant to satisfy the specific needs and requirements of our project.
This chapter will go through the system design process of ERHMS in the following sequence:
• Design goals: are statements on what targets we have set for our system to achieve.
• Design trade-offs: are statements on what compromises we had to make in terms of giving
priority to particular features or components whose quality may bear upon other
features/components.
• Subsystem decomposition: is the part where We break up the system into smaller, easier
to implement subsystems in order to avoid the complexities of dealing with the whole
project all at once. The subsystems are then further decomposed into components, and the
components into smaller well-defined sub-components.
• Class modelling: describes the various domains in the system and the Classes and
instances within them.
• Persistent model
• User interface design
• Deployment diagram: shows what hardware components exist, what software
components run on each node, and how the different pieces are connected.
• Network design
• Security
Since the system will deal with people who are strangers to each other, it may be open to misuse
by users with malicious intentions. This then requires that the five pillars of security namely:
54
confidentiality, integrity, availability, authenticity and non-repudiation to be of the utmost priority
in our design goals.
• Fault tolerance
The fact that the system will be dealing with situations that require it to be available for use at all
times it shouldn’t be of the kind that could completely go offline cause of minor errors. This
necessitates that the system be fault tolerant, so as to continue working even if small errors occur.
• Performance
The system should be able to run smoothly on relatively minimal hardware. This means the system
should be able to run with smaller processing power compared to other websites of the same scale.
• Maintainability
Whenever there occurs an error which is too serious to be solved by the fault tolerance mechanism,
the design of the system should be in such a way that the error should be identifiable quickly. The
system shouldn’t have redundant codes or modules that could hinder it’s maintainability.
• Open source
Since the project is aimed at helping people in need and not making a profit. The system should
be open source, and thus available for anyone interested to experiment and expand on it.
• Usability
The system should have an interface designed in a way that the user can achieve their objective
efficiently.
• Learnability
The interface of the system should be user friendly and easy to learn. This would avoid
discouraging interested people from using the system cause of a poor interface.
55
The better the interface is for a user the more processing power it requires to run. A compromise
is necessary to not make the system so efficient that it has an unpleasant interface but also so user
friendly that the processing power required for the interface ends up making the whole system
slow.
Decision: focusing on performance while not completely neglecting the interface’s user
friendliness.
Although the user friendliness of the interface should be maintained. Too much emphasis placed
on aesthetics however, could lead to neglecting the usability of the interface.
A user wanting to get a task done will want to have less steps into achieving that task, so having
some security policies on the system will sometimes hinder the usability of it.
Open source projects have their source code available for the public. This could lead to
vulnerabilities being discovered by individuals with malicious intentions, thus putting the whole
project at risk.
Decision: we chose to let the project be open source, reasoning that the chances of a person fixing
vulnerabilities are substantially higher than them exploiting it to cause harm.
• A search engine: used when a user is searching for a match of the opposing category. This
works by including multiple filters for narrowing down the options.
56
• Account control: this is used to create an account as well as edit it’s information.
• Connection handler: used when connections are being made and broken.
• Messaging service: used to send private messages between accounts of opposite
categories.
• Session controller: monitors login sessions.
• Application integration: responsible for the connection between all subsystems.
• Universal database: responsible for storing all the data on the system.
Class diagrams are used to visualize, specify, and document structural features in your models.
Class diagrams are used to perform the following functions:
Chat class
Chat id
Chat receiver
Chat Sender
-view inbox()
-send message()
57
Table 12: user class
User class
User id
User first name
User last name
User user name
User phone number
User date of birth
User password
Current city
User type
-register()
-login()
-add profile picture()
-update profile()
-post story()
-upload photos()
-logout()
-search for users()
-make connection ()
-break connection()
58
Table 13: choose language class
Language id
Language name
-pick language()
-change language()
Admin class
Admin id
-delete user()
-delete post()
-broadcast message()
Contact class
Contact id
59
4.5.2 Persistent model
Persistent objects are stored in a persistence mechanism. Unless your system takes a “pure”
approach and uses an object base, you will need to model your persistent schema. Data models are
traditionally used to model relational database schemas. Most software requires persistent objects.
There is a wide selection of persistence mechanisms like, Flat files, Relational databases, Object-
relational databases, Object bases, first you model something, then you build it. A lot of object
developers need to build relational databases to support their software yet the UML has little to
offer on this issue.
60
4.5.2.2 Normalization Database
normalization is a series of steps followed to obtain a database design that allows for consistent
storage and efficient access of data in a relational database. These steps reduce data redundancy
and the risk of data becoming inconsistent. Reason for normalization: to prevent possible
corruption of DB stemming from update anomalies (insertion, deletion, modification).
A relation in which the intersection of each row and column contains one and only one value is
said to be in First normal form. It requires that all column values in a table are atomic
Field type
Username Varchar(30)
Password Varchar(30)
Status Varchar(30)
To normalize user table, we need to decompose the fields and place other multivalued attributes
into another table. The normalized table becomes:
61
Table 17: Normalized table
Field type
Name Varchar(30)
Username Varchar(30)
Password Varchar(30)
status Varchar(30)
Name Table
Field Type
Name Varchar(30)
Second normal form (2NF) A relation that is in 1NF and every non-primary key attribute is fully
functionally dependent on the primary key. The essence of functional dependence is that if the
existence of something, call it A, implies that B must exist and have a certain value, then we say
that "B is functionally dependent on A." We also often express this idea by saying that "A
62
determines B". Second normal form applies to relations with composite keys (primary key
composed of two or more attributes). A relation with a single attribute primary key is in at least
2NF.
Composite Keys
member 1 1 Post 1
member 2 2 Post 2
member 3 3 Post 3
member 4 4 post 4
Composite keys
member 1 1
member 2 2
member 3 3
member 4 4
63
Table 21: normalized table for post id
User id Post id
Composite keys
member 1 Post 1
member 2 Post 2
member 3 Post 3
member 4 Post 4
A relation that is in 1NF and 2NF, and in which no non-primary key attribute is transitively
dependent on the primary key. A transitive relationship is a relationship of the following form: "If
A implies B, and if also B implies C, then A implies C." Since our tables are in first and second
normal form and there are no transitive dependencies, all our tables are in third normal form.
Using the acquired knowledge from the background research and the survey it is possible to specify
the features of the ERHMS’s User interface. When designing the user interface some aspects
should be addressed. These are usability and functionality requirements.
4.5.3.1 Usability
64
These are aspects that have been considered during the user interface design. After the future
implementation of the project, this design needs to be tested and evaluated to confirm that the
usability requirements are met. An aim has been to reduce the time and the number of clicks that
the user needs to make in order to perform a task in the web portal. Another aim has been to
distinguish as clearly as possible between the different areas of the portal and to make it intuitive
how to navigate in order to achieve the desired goals. The usability aspects also need to be
considered in future stages when the user interface and the technical structure of the system are
developed to make it even more satisfactory and flexible. After the future implementation of the
project portal, the design needs to be tested and evaluated to confirm that the usability requirements
are met.
65
Figure 4.3: User signup page
66
Figure 4.5: Admin Page
Deployment Diagram visualizes the topological view of an entire system. It represents the
deployment of the system. A deployment diagram consists of nodes which describe the physical
devices used inside the system. On these nodes, artefacts are deployed. Node and artefacts of a
system participate in the final execution of a system. The deployment diagram maps the software
architecture created in design to the physical system architecture that executes it. The software
systems are manifested using various artefacts, and then they are mapped to the execution
environment that is going to execute the software such as nodes. Many nodes are involved in the
deployment diagram; hence, the relation between them is represented using communication paths.
67
Figure 4.6: Deployment Diagram
68
4.5.5 Network Design
In this section we will show the network design we have chosen for our project. We have chosen
a hybrid design that could easily be scalable and is sustainable for the long term.
69
Chapter 5: Implementation
5.1 Introduction
Software implementation is the process of adopting and integrating a software application into
your systems and workflows. It can apply to software as simple as project management. In this
section we see some of the code that construct the whole project. These are not the source code for
the whole project but little snippets of what are included in it.
1. broadcasting/sending message
The code below shows the code for sending/broadcasting a message to all users from the admin
panel
70
2. Sending message from user to uses
This is another code that enables users to send message to other users
3. Searching
71
4. Login code
This code shows the back-end code for the login functionality.
72
Chapter 6: Conclusion and Recommendation
From our time working on this project we found out that that there are a lot of refugees in camps
that are not able to have a decent time during their stay at a country as a refugee in Ethiopia. Using
our website helps many refugees because it gives them to a temporary sense of being or living in
a stable home. people don’t have to be afraid to imagine a stable home to live in, by using our
website they can easily communicate, share information etc. Ethiopian refugee management
system is a great way to create memories, create families, have an everlasting enjoyment with chat
many other features our website brings. We recommend our website for anybody who wants to
access the website and anybody who wants to create memories and have the ability to say I changed
someone’s pain or reduced the suffering they faced, share their information, have a healthy
relationship with others and be the best version of them selves. We recommend and invite others
to study, improve and meet the objectives that we couldn’t meet because so much limiting factors
including but not limited to shortage of time, inexperience and others. some of our ideas are very
basic and easy to understand for this project. So, we advise other developers to check out our
system and improve it because it’s all for the greater good.
73