Professional Documents
Culture Documents
Ethio-School-net
SOFTWARE DESIGN PROCESS
We would also like to thank our Instructor Ass. Prof Dr. BORAN ŞEKEROĞLU for the continuous
support of finalizing this project and for his patience, motivation, and immense knowledge. His
guidance helped us in all the time of doing the project and writing of this document. And for
giving us the golden opportunity to do this wonderful project on the topic “Ethio-School-net”
The success and final outcome of this project required a lot of guidance and assistance from many
people and we are extremely privileged to have got this all along the completion of our project.
All that we have done is only due to such supervision and assistance and we would not forget to
thank them.
1|Page
Table of Contents
Acknowledgements ......................................................................................................................... 1
1. Introduction ............................................................................................................................. 6
1.1. Background ...................................................................................................................... 6
1.2. Statement of the problem ................................................................................................. 6
1.3. Objectives of the project .................................................................................................. 7
1.4. Scope and limitation ......................................................................................................... 8
1.5. Methodologies and tools .................................................................................................. 8
1.5.1. Methodologies........................................................................................................... 8
1.5.2. Tools ......................................................................................................................... 8
2. Proposed System ..................................................................................................................... 9
2.1. Requirement specification .............................................................................................. 10
2.1.1. eLibrary module ...................................................................................................... 10
2.1.2. eLearning module ................................................................................................... 12
2.1.3. Resource sharing and messaging module. .............................................................. 13
2.1.4. Student preparation for national exam. ................................................................... 15
2.1.5. School management module ................................................................................... 16
2.1.6. Security management module. ................................................................................ 18
3. System analysis and design modeling................................................................................... 19
3.1. Introduction .................................................................................................................... 19
3.2. Flowchart ........................................................................................................................ 19
3.3. Use case description ....................................................................................................... 35
3.4. Use case diagram ............................................................................................................ 73
3.5. Entity relationship (ER) diagram ................................................................................... 77
3.6. Class diagram ................................................................................................................. 81
3.7. Security and system Architecture ................................................................................... 84
3.7.1. Introduction ............................................................................................................. 84
3.7.2. User management and access control ..................................................................... 85
3.7.3. Class Type Architecture .......................................................................................... 86
3.7.4. Deployment diagram ............................................................................................... 86
3.8. User interface prototyping .............................................................................................. 88
4. References ............................................................................................................................. 92
2|Page
List of figures
Figure 1: flowchart for displaying list of eBooks ......................................................................... 19
Figure 2: Flowchart for displaying detail information .................................................................. 19
Figure 3: Flowchart for search and display related books ............................................................ 20
Figure 4: Flowchart for downloading eBooks .............................................................................. 20
Figure 5: Flowchart for updating shared eBook. .......................................................................... 20
Figure 6: Flowchart for sharing eBook ......................................................................................... 20
Figure 7: Flowchart for uploading eBook. .................................................................................... 21
Figure 8: Flowchart for updating eBook information. .................................................................. 21
Figure 9: Flowchart for removing eBook. .................................................................................... 22
Figure 10: Flowchart for taking online courses ............................................................................ 22
Figure 11: Flowchart for examining students ............................................................................... 23
Figure 12: Flowchart for displaying course progress ................................................................... 23
Figure 13: Flowchart for uploading learning materials. ............................................................... 24
Figure 14: Flowchart for approving student courses. ................................................................... 24
Figure 15: Flowchart for updating course information. ................................................................ 25
Figure 16: Flowchart for removing course. .................................................................................. 25
Figure 17: Flowchart for searching course. .................................................................................. 26
Figure 18: Flowchart for view course and detail info, outline ...................................................... 26
Figure 19: Flowchart for printing course info and outline. ........................................................... 27
Figure 20: Flowchart for video conference. .................................................................................. 27
Figure 21: Flowchart for sharing any resources ........................................................................... 28
Figure 22: Flowchart for updating shared files. ............................................................................ 28
Figure 23: Flowchart for removing shared file. ............................................................................ 29
Figure 24: Flowchart for sending notification. ............................................................................. 29
Figure 25: Flowchart for sending message. .................................................................................. 30
Figure 26: Flowchart for displaying/ receive message. ................................................................ 30
Figure 27: Flowchart for displaying/ receive notification. ........................................................... 30
Figure 28: Flowchart for taking model exam. .............................................................................. 30
Figure 29: Flowchart for adding new school. ............................................................................... 31
Figure 30: Flowchart for adding a particular individual. .............................................................. 31
Figure 31: Flowchart for updating school information. ................................................................ 31
Figure 32: Flowchart for updating/ changing school administrator.............................................. 31
Figure 33: Flowchart for removing school administrator’s record ............................................... 32
Figure 34: Flowchart for removing school record. ....................................................................... 32
Figure 35: Flowchart for generating password and username. ..................................................... 33
Figure 36: Flowchart for deactivating account. ............................................................................ 33
Figure 37: Flowchart for activating account. ................................................................................ 33
Figure 38: Flowchart for changing password. .............................................................................. 33
Figure 39: Flowchart for forgetting password. ............................................................................. 34
Figure 40: Flowchart for login. ..................................................................................................... 34
Figure 41: Flowchart for logout. ................................................................................................... 34
Figure 42: Flowchart for registering students ............................................................................... 34
Figure 43: Use case diagram for eLibrary module ....................................................................... 73
Figure 44: Use case diagram for school management module. .................................................... 74
Figure 45: Use case diagram for eLearning module. .................................................................... 74
3|Page
Figure 46: Use case diagram for file sharing module. .................................................................. 75
Figure 47: Use case diagram for national examination module. .................................................. 76
Figure 48: Use case diagram for security management module. .................................................. 76
Figure 49: ER diagram for eLearning module .............................................................................. 78
Figure 50: ER diagram for eLibrary module. ............................................................................... 79
Figure 51: ER diagram for school management module. ............................................................. 79
Figure 52: ER diagram for resource sharing module. ................................................................... 80
Figure 53: ER diagram for national exam management module. ................................................. 81
Figure 54: Class diagram for Ethio-school-net system ................................................................. 82
Figure 55: 3-Tier architecture design of the system ..................................................................... 85
Figure 56: Security techniques...................................................................................................... 85
Figure 57: Class type architecture................................................................................................. 86
Figure 58: Deployment diagram ................................................................................................... 87
Figure 59: User interface for register student ............................................................................... 89
Figure 60: User interface for register teachers .............................................................................. 89
Figure 61: User interface for login................................................................................................ 90
Figure 62: User interface for message sending ............................................................................. 90
Figure 63: User interface for searching eBook ............................................................................. 91
Figure 64: User interface for upload eBook ................................................................................. 91
4|Page
List of tables
Table 1 Use case Description of displaying list of eBooks. ........................................................................ 35
Table 2 Use case description for displaying detail information of an eBook. ............................................ 36
Table 3 Use case description for downloading eBook. ............................................................................... 37
Table 4 Use case description for sharing eBook with other users. ............................................................. 38
Table 5 Use case description for reading eBook online. ............................................................................. 39
Table 6 Use case description for uploading eBook to the cloud. ................................................................ 40
Table 7 Use case description for removing eBook from the cloud. ............................................................ 40
Table 8 Use case description for updating eBook. ...................................................................................... 41
Table 9 Use case description for updating shared eBook online. ............................................................... 42
Table 10 Use case description for removing shared eBook. ....................................................................... 43
Table 11 Use case description for searching courses. ................................................................................. 44
Table 12 Use case description to display course progress .......................................................................... 45
Table 13 Use case description for removing courses from the cloud. ........................................................ 45
Table 14 Use case description for uploading course materials to the cloud. .............................................. 46
Table 15 Use case description for approving course to the students. ......................................................... 47
Table 16 Use case description for printing course outlines to the students. ............................................... 48
Table 17 Use case description for remove school record from the cloud. .................................................. 49
Table 18 Use case description for remove school representative from the cloud. ...................................... 50
Table 19 Use case description for remove school administrator from the cloud. ....................................... 51
Table 20 Use case description for removing students list from the cloud. ................................................. 52
Table 21 Use case description for registering school Administrator to the cloud. ..................................... 53
Table 22 Use case description for registering new school to the cloud. ..................................................... 54
Table 23 Use case description for registering school representative to the cloud. ..................................... 55
Table 24 Use case description for updating school. .................................................................................... 56
Table 25 Use case description for updating school administrator. ............................................................. 57
Table 26 Use case description for adding student list to the cloud. ............................................................ 58
Table 27 Use case description for updating student list. ............................................................................. 59
Table 28 Use case description for updating/changing school representative. ............................................. 60
Table 29 Use case description for sharing file to the cloud with users. ...................................................... 61
Table 30 Use case description for sending message. .................................................................................. 62
Table 31 Use case description for receiving and displaying message. ....................................................... 62
Table 32 Use case description for updating/ changing shared file.............................................................. 63
Table 33 Use case description for removing shared file. ............................................................................ 64
Table 34 Use case description for displaying list of model exams. ............................................................ 65
Table 35 Use case description for taking model exam online. ................................................................... 65
Table 36 Use case description for displaying model exam progress/ result. .............................................. 66
Table 37 Use case description for displaying live consultation .................................................................. 67
Table 38 Use case description for uploading model exams to the cloud. ................................................... 67
Table 39 Use case description for starting live consultation....................................................................... 68
Table 40 Use case description for activating user account. ........................................................................ 69
Table 41 Use case description for deactivating user account. .................................................................... 69
Table 42 Use case description for generating user account. ....................................................................... 70
Table 43 Use case description for changing password. .............................................................................. 71
Table 44 Use case description for forgotten password. .............................................................................. 71
Table 45 Use case description for logging in to the system. ....................................................................... 72
Table 46 Use case description for logging out from the system. ................................................................ 72
5|Page
1. Introduction
1.1. Background
The role of Information and Communication Technologies (ICTs) to improve the quality and
delivery of General Education to address Ethiopia’s challenges was discussed at the last World
Economic Forum chaired by the late Prime Minister Meles Zenawi of Ethiopia and the former
Prime Minister of United Kingdom Gordon Brown.
The government of Ethiopia has formulated a five year Growth and Transformation Plan (GTP)
(2014/15 – 2018/19) that defines the objectives, strategies and targets for all sectors, including
education. There is also a national ICT Policy that in turn defines a high level strategy on how to
leverage ICT for the development of the country and also has its own priority areas for the
Education Sector. This implies the government commitment to the ICTs to use in Education Sector
for maintaining quality and sustainable development.
A task force was also put together by Ministry of Education (MoE) to conduct a brief feasibility
study to understand the current challenges and opportunities in leveraging ICTs to improve the
delivery of quality education. [1]
A good education system keeps the foundation of prosperity and success for the country. If a
country wants to be independent and economically well then it needs to check the education
system which it is following. The primary reasons for us to change school systems are:
The Oxford English Dictionary defines education as ‘’the process of giving or receiving systematic
information, especially at a school or university.’’ Over two hundred years ago when the need for
this definition came about, it wasn’t enough to simply rub two sticks together and make fire. Back
then if you had the knowledge you were worth something; regardless of whether you knew how
to apply it to what you were doing. [2]
6|Page
The problem they ran in to was how to give people this knowledge. The solution was education:
‘’the process of giving or receiving systematic instruction’’. These instructions told people how to
read, write and do maths. People were hired to repeat these instructions, people we now know
as teachers. Schools were set up and soon taught other instructions (now known as subjects),
which included the likes of History, Geography and Science. Everything was going great; so
eventually something was bound to go wrong.
What is failing is the education system; how young people are taught. The needs of today’s young
people are not being catered for; their need for an education system that recognizes their
individual skills and talents is not being catered for. Their need for an education system that not
only gives them knowledge but teaches them how to apply that knowledge is not being catered
for. Their need for a fun and intuitive way of learning is not being catered for. Education, the very
thing that was set up to cater for the needs of today’s young people, is failing to do so. Education,
just like children and young people out there today, is failing.
Currently the Ethiopian schools are using Satellite Educational Television program for a couple of
years, now technology is changing dynamically and the Satellite Educational Television, which is
one way and not interactive is becoming replaced by Blended learning, which is a form of
education that combines face-to-face classroom methods with computer-mediated activities and
include all the online, mobile and classroom learning methodologies. [3]
The general objective of this project is to develop a system that provides a network for all
secondary schools in Ethiopia to deliver safe, efficient and effective process of knowledge
delivery or what it can be called education.
The system provides a cloud computing environment across all the secondary schools in the
country. So that; the learning and teaching process will be electronic and more technological.
The main objective is to address the challenges and opportunities in leveraging the power of
Information and Communication Technologies (ICTs) to improve the quality and delivery of
General Education in Ethiopia and to propose the state of the art ICT solution and the way
forward in implementing it.
7|Page
1.4. Scope and limitation
The scope of this project is to design a system that connects all secondary schools in Ethiopia.
Since we are developing the Ethio-school-net system for only secondary schools other academic
persons who are not part of this school will not have access to the system. The other limitations
of the project are:
Need an access to internet (high speed).
It only works for governmental schools.
It lucks student information management system which includes grading system,
student registration, preparing schedule etc.
Lucks personnel management.
1.5. Methodologies and tools
1.5.1. Methodologies
Document Exploration: Methodology aims at identifying the various methods to be used in data
collection and how the project team is going to implement the proposed system; analyze the
system functionality and interaction of various components through system analysis and design
methods. For our project we are going to use document exploration to process by going through
a number of literature works that have been conducted by other authors and organizations or
researchers to review their thoughts, ideas, and opinions towards a particular subject. In general,
what they have achieved with their previous work. [4]
System Analysis and Design Techniques: In this project the team will use object oriented system
development methodology (OOSD) and it has two phases: (OOA and OOD). [4]
Object Oriented Analysis (OOA): During this phase the team used to model the function of the
system (use case modeling), find and identify the business objects, organize the objects and
identify the relationship between them and finally model the behavior of the objects. [4]
Object Oriented Design (OOD): During this phase the team uses rational rose software to refine
the use case model, and to reflect the implantation environment, model object interactions and
behavior that support the use case scenario and finally update object model to reflect the
implementation environment. [4]
1.5.2. Tools
This can be divided into two phase’s system development tools (programming tools) and system
design and analysis tools (documentation tools). Since we are not going to implement the system,
we will not discuss about the programming tools.
8|Page
System design and analysis tools
We will try to make clear, consistent and easily understandable design as much as possible. The
designed application should fulfill the functional and non- functional requirement. This is done
by frequently testing the system during design stage. We try to use all fundamental tools of
software design and development. The tools which we are used during development of this
project are listed as follows:
Flowchart.
Use case diagram.
Activity diagram.
Entity relation diagram.
Class diagram.
And software’s that we used to design the system are:
MS-Word 2016- We used Microsoft word to write and edit our document.
Astah: - we used Astah to design various diagrams.
Visual paradigm
2. Proposed System
Ethio-School-net: As the name indicates, it’s a network of all Ethiopian secondary schools. The
system involves multiple number of schools in various pilot projects and studies, applying new
learning activities and technologies in the classroom, and exploring the use of new pedagogical
tools in teaching STM (science, technology and maths). Ethio-School-net identifies and develops
learning resources in various local languages that teachers across Ethiopia can use in their
teaching, provides peer-to-peer online communities where teachers and students can exchange
ideas and share resources, as well as offers various online training opportunities.
Ethio-school-net is a network of more than 100 secondary schools found in Ethiopia being
implemented by cloud computing technology. As a not-for-profit organization, we aim to bring
innovation in teaching and learning to our key stakeholders: Ministries of Education, schools, and
teachers.
Cloud computing uses web technologies to host applications in a private or public (on the
Internet) datacenter, accessing them over a private network, or a secure channel over the
Internet.
Our approach will be building a private cloud that will connect all the schools with the central
data center and with each other. So that students can have the potential to make any educational
materials application access ubiquitous, and accessible from the office, home, road, or your hand,
with a thin client device or software.
9|Page
2.1. Requirement specification
Functional requirements: are requirement relates directly to a process that a system has to
perform or information it needs to contain. This describe all the function that the system will
perform or available to use by the users directly. The proposed Ethio-school-net cloud will be
hosted centrally and will provide the blow services for the schools, teachers, and students. Ethio-
school-net is going to be divided into the following broad modules. [5]
eLibrary module.
eLearning module.
Resource sharing module.
Student preparation and advising for national exam.
School management module.
Security management module.
2.1.1. eLibrary module
This module of the system will be responsible for providing electronic library functionality for the
(schools) students and teachers so that, those users can read and download any available eBook
from the cloud based eLibrary. This module includes the following self-dependent and
independent process:
Student processes.
Teachers processes.
Administrator’s processes.
Student processes involves the following:
1. Student will be able to view all available books.
Students will be able to view the eBooks which are uploaded by the administrator
or teacher’s [RQ_001]. (Depends on RQ_081, RQ_012, and RQ_016).
Students will be able to get detailed information of the eBooks which are available
for them [RQ_002]. (Depends on RQ_081, RQ_012, RQ_001, and RQ_016).
Students will be able to get eBooks information which have relation from which
have chosen or details of related eBooks [RQ_003]. (Depends on RQ_081, RQ_012,
and RQ_016).
2. Student will be able to download available eBooks.
Students will be able to read and/or download any books which have been
uploaded by the library administrator or teachers [RQ_004]. (Depends on RQ_081,
RQ_012, and RQ_016).
10 | P a g e
3. Student will be able to share eBooks with other members of the system.
Students will be able to share any available eBooks with friends which have been
uploaded by the library administrator or teachers [RQ_005]. (Depends on RQ_081,
RQ_012, and RQ_016).
Students will be able to update shared file information or the shared file itself
[RQ_005_2]. (Depends on RQ_081, RQ_012, and RQ_016).
4. Students will be able to search eBooks from the cloud library.
Students will be able to search any eBook from the cloud library [RQ_006].
(Depends on RQ_081, RQ_012, and RQ_016).
Students will be able to get a detailed information of the searched eBook [RQ_007].
(Depends on RQ_081, RQ_012, and RQ_016).
Teacher’s processes involves the following:
1. Teachers will be able to view all available books.
Teachers will be able to view the eBooks which are uploaded by the administrator
or other teachers [RQ_008]. (Depends on RQ_081, RQ_012, and RQ_016).
Teachers will be able to get detailed information of the eBooks which are available
for them [RQ_009]. (Depends on RQ_081, RQ_012, and/or RQ_016).
Teachers will be able to get eBooks detail information which have relation from
which have chosen or details of related eBooks [RQ_010]. (Depends on RQ_081,
RQ_012, and/or RQ_016).
2. Teachers will be able to download or upload available eBooks.
Teachers will be able to read and/or download any books which have been
uploaded by the library administrator or teachers [RQ_011]. (Depends on RQ_081,
RQ_012, and RQ_016).
Teachers will be able to upload eBooks to the cloud servers for their students or
any other person who wants it [RQ_012]. (Depends on RQ_081).
3. Teachers will be able to share eBooks with other members.
Teachers will be able to share any available eBooks with members which have been
uploaded by the library administrator or other teachers [RQ_013]. (Depends on
RQ_081, RQ_012, and RQ_016).
Teachers will be able to update shared file information or the shared file itself
[RQ_013_2]. (Depends on RQ_081, RQ_012, and RQ_016).
4. Teachers will be able to search eBooks from the cloud library.
Teachers will be able to search any eBook from the cloud library and the eBook or
error message should be displayed [RQ_014]. (Depends on RQ_081, RQ_012, and
RQ_016).
Teachers will be able to get a detailed information including a download link of the
searched eBook [RQ_015]. (Depends on RQ_081, RQ_012, and RQ_016).
11 | P a g e
Administrator processes involves the following:
1. Administrators will be able to upload new eBooks to the cloud eLibrary server.
Administrators will be able to upload new eBooks with their detailed information
to the cloud [RQ_016]. (Depends on RQ_081).
2. Administrators will be able to manipulate eBooks information.
Administrators will be able to update eBooks information when needed [RQ_017].
(Depends on RQ_081, RQ_012, and RQ_016).
Administrators will be able to remove eBooks completely from availability if
needed [RQ_018]. (Depends on RQ_081, RQ_012, and RQ_016).
This module of the system will be responsible for providing electronic learning mechanism for
the (schools) students and teachers. This eLearning provides a way for learning or utilizing
electronic technologies to access educational curriculum outside of a traditional classroom. So,
it refers to a course, program or tutorial delivering completely online. This module includes the
following self-dependent and independent process:
Students processes.
Teachers processes.
Administrators processes.
Students processes involves the following:
1. Students will be able to view available courses.
The students will be able to view a lists of all available courses [RQ_020].
(Depends on RQ_081, RQ_034, and RQ_032).
The students will be able to view a detailed information including the course
outline of the courses [RQ_021]. (Depends on RQ_081, RQ_034, and RQ_032).
The students will be able to print out of the course outline and description.
[RQ_022]. (Depends on RQ_081, RQ_034, and RQ_032).
Students will be able to search available course and view their detailed
information [RQ_023]. (Depends on RQ_081, RQ_034, and RQ_032).
2. Student will be able to take online courses.
Students will be able to take courses using video tutorials provided by the teachers
[RQ_026]. (Depends on RQ_081, RQ_034, RQ_033, and RQ_032).
Students must be examined using practical questions provided by their teachers or
the system [RQ_027]. (Depends on RQ_081, RQ_034, and RQ_032).
Students will be able to view their course progress [RQ_028]. (Depends on RQ_081,
RQ_034, RQ_026, RQ_027, and/or RQ_032).
12 | P a g e
Teachers processes involves the following:
1. Teachers will be able to give live video conference to students.
Teachers will be able to teach students using video chatting [RQ_030]. (Depends
on RQ_081, RQ_034, RQ_026 and RQ_032).
Teachers will be able to view the list of all online students [RQ_031]. (Depends on
RQ_081, RQ_071).
2. Teacher will be able to add course materials.
Teachers will be able to add /upload course handout, outline, questions and
worksheets for their students [RQ_032]. (Depends on RQ_081).
Teachers will be able to upload video tutorials of the course for the students
[RQ_033]. (Depends on RQ_081).
3. Teacher will be able to manipulate course materials.
Teachers will be able to update course materials RQ_032_01]. (Depends on
RQ_081, RQ_032 and/or RQ_033).
Administrators processes involves the following:
1. Administrators will be able to add new course to the cloud.
Administrators will be able to add/upload new courses to the system with their
detailed information so that students can view them [RQ_034]. (Depends on
RQ_081).
Administrators will be able to approve new course for the students [RQ_035].
(Depends on RQ_081, RQ_034, and RQ_032).
2. Administrators will be able to manipulate the courses and their information.
Administrators will be able to update information’s of the available course
[RQ_036]. (Depends on RQ_081, RQ_034, and RQ_032).
Administrators will be able to remove courses from the cloud if needed [RQ_037].
(Depends on RQ_081, RQ_034, and RQ_032).
This module is responsible for providing a resources sharing portal using the cloud server of Ethio-
school-net system between students, instructors and schools. By using these module users will
be able to upload and download different kinds of resources. This module also will be responsible
for exchanging messages and notification services among the system users. The processes that
are going to be participating in this module are listed as follows:
Students’ process.
Teachers’ process.
13 | P a g e
Students processes involves the following:
1. Students will be able to share files to the cloud.
Students will be able to share files in the cloud with their friends or teachers
[RQ_038]. (Depends on RQ_081).
Students will be able to view all available individuals in which he/she can share files
with others [RQ_039]. (Depends on RQ_081).
Students will be able to select specific individuals in which they can share their files
with [RQ_040]. (Depends on RQ_081, and RQ_039).
2. Students will be able to manipulate their shared files in the cloud server.
Students will be able to update details of their shared file or change the shared file
itself [RQ_041]. (Depends on RQ_081, and RQ_038).
Students will able to remove their shared files from the cloud totally [RQ_042].
(Depends on RQ_081, and RQ_038).
3. Students will be able to use messaging and notification services.
Students will be able to send notification [RQ_043]. (Depends on RQ_081).
Students will be able to receive notifications [RQ_044]. (Depends on RQ_081).
Students will be able to receive messages [RQ_045]. (Depends on RQ_081).
Students will be able to send messages [RQ_046]. (Depends on RQ_081).
Teachers processes involves the following:
1. Teachers will be able to share files to the cloud.
Teachers will be able to share files in the cloud with their students or other teachers
[RQ_047]. (Depends on RQ_081).
Teachers will be able to view all available individuals in which they can share their
files [RQ_048]. (Depends on RQ_081).
Teachers will be able to select specific individuals in which they can share their files
with [RQ_049]. (Depends on RQ_081, and RQ_048).
2. Teachers will be able to manipulate their share files in the cloud server.
Teachers will be able to update details of their shared file or change the shared file
itself [RQ_050]. (Depends on RQ_081, and RQ_047).
Teachers will able to remove their shared files from the cloud totally [RQ_051].
(Depends on RQ_081, and RQ_047).
3. Teachers will be able to use messaging and notification services.
Teachers will be able to send notification [RQ_052]. (Depends on RQ_081).
Teachers will be able to receive notification [RQ_053]. (Depends on RQ_081).
Teachers will be able to receive messages [RQ_054]. (Depends on RQ_081).
Teachers will be able to send messages [RQ_055]. ((Depends on RQ_081).
14 | P a g e
Users (System Administrators , School Administrators, School representative )
processes involves the following:
1. Users will be able to share files to the cloud.
Users will be able to share files in the cloud with their friends [RQ_038_1].
(Depends on RQ_081).
Users will be able to view all available individuals in which he/she can share files
with others [RQ_039_1]. (Depends on RQ_081).
Users will be able to select specific individuals in which they can share their files
with [RQ_040_1]. (Depends on RQ_081, and RQ_039).
2. Users will be able to manipulate their shared files in the cloud server.
Users will be able to update details of their shared file or change the shared file
itself [RQ_041_1]. (Depends on RQ_081, and RQ_038).
Users will able to remove their shared files from the cloud totally [RQ_042_1].
(Depends on RQ_081, and RQ_038).
3. Users will be able to use messaging and notification services.
Users will be able to send notification [RQ_043_1]. (Depends on RQ_081).
Users will be able to get notification [RQ_044_1]. (Depends on RQ_081).
Users will be able to receive a message [RQ_045_1]. (Depends on RQ_081_1).
Users will be able to send message [RQ_046_1]. (Depends on RQ_081).
This module of the system provides a mechanism to prepare students for national exam. The
national exam is prepared by experts to test if the student are good enough to start college
school. Passing this exam is an essential objective of Ethiopian secondary school students.
Currently in Ethiopia, there are two types of national examinations; the first one is that 10th grade
students will take to go to preparatory schools and the 12 th grade students will take to pass to
governmental university to study their degree program. So this module is responsible to give a
consultation and advising services to students who are in 10th and 12th grades. The processes that
will carried out by this module are list as follows:
Students processes.
Teachers processes.
Students processes involves the following:
1. Students will be able to get model (sample) exam to get them prepared for the national
exam.
Students will be able to get list of model exam of courses [RQ_056]. (Depends on
RQ_081, and RQ_083).
15 | P a g e
Students will be able to take the model exams they selected [RQ_057]. (Depends
on RQ_081, RQ_056, and RQ_083).
Students will be able to get their progress and model exam result [RQ_058].
(Depends on RQ_081, and/or RQ_083).
2. Students will be able to get advising and consulting service from teachers around the
country.
Students will be able to get advising and consulting service to build their confidence
for the exam [RQ_059]. (Depends on RQ_081, and RQ_062).
Teachers processes involves the following:
1. Teachers will be able to prepare and give exams to their students to prepare them for
the national exam.
Teachers will be able to view list of students that can take the prepared exam
[RQ_060]. (Depends on RQ_081).
Teachers will be able to examine their students with the exam they prepared
[RQ_061]. (Depends on RQ_081, and RQ_083).
Teachers will be able to prepare model exams and upload to the cloud [RQ_083].
(Depends on RQ_081).
2. Teachers will be able to give advising and consulting service to students all around the
country.
Teachers will be able to give advising and consulting service to their students using
video conferencing [RQ_062]. (Depends on RQ_081).
This module of the system is responsible for managing schools which are going to participate on
this system. This module includes registering; new schools, school administrators, students,
school representatives and instructors so that they can use the system. The processes that are
going to participate in this module are listed as follows:
Administrator processes.
School Administrators processes.
16 | P a g e
Administrators will be able to register school administrators to the system
[RQ_064]. (Depends on RQ_081, and RQ_63).
2. Administrators will be able to manipulate schools and school representative’s
information from the cloud.
Administrators will be able to update school information’s [RQ_065]. (Depends on
RQ_081, and RQ_063).
Administrators will be able to update school administrator’s information’s
[RQ_066]. (Depends on RQ_081, and RQ_063).
Administrators will be able to remove school completely from the system if needed
[RQ_067]. (Depends on RQ_081, and RQ_063).
Administrators will be able to remove school administrators from the system if
needed [RQ_068]. (Depends on RQ_081, and RQ_063).
Administrators will be able to change (assign new administrator for schools)
administrators of schools [RQ_069]. (Depends on RQ_081, and RQ_063).
17 | P a g e
2.1.6. Security management module.
This module of the system is responsible for establishing security mechanism for authenticating
and authorization of users. Every user need to have his own privilege to access the system. So,
this module is responsible for creating user accounts, changing password, forgot password,
activate and deactivate accounts. The processes that are going to held in this module are listed
as follows:
Administrator processes.
Users processes.
Administrators processes involves the following:
1. Administrators will be able to give username and password for the first time for the users
by using the system.
Administrators will be able to give username and password for users for the first
time only [RQ_075]. (Depends on RQ_081).
Administrators will be able to generate username and password automatically
[RQ_076]. (Depends on RQ_081).
2. Administrators will be able to manage user accounts.
Administrators will be able to activate user accounts [RQ_077]. (Depends on RQ_081).
Administrators will be able to deactivate user accounts [RQ_078]. (Depends on RQ_081).
Users processes involves the following:
1. Users will be able to manipulate their accounts.
Users will be able to change his/her password [RQ_079]. (Depends on RQ_081,
RQ_075, and RQ_076).
Users will be able to forgotten their password when needed [RQ_080]. (Depends
on RQ_081, RQ_075, and RQ_076).
2. Users will be able to use their username and password for authentication.
Users will be able to login to the system using their password and username
[RQ_081]. (Depends on RQ_081, RQ_075, and RQ_076).
Users will be able to logout from the system [RQ_083]. (Depends on RQ_81).
18 | P a g e
3. System analysis and design modeling
3.1. Introduction
Model is an abstraction of the real world. It allows us to deal with the complexity current in a
real-world problem by focusing on the essential and interesting features of an application. The
techniques and associated notation used for object oriented analysis and design in incorporated
in to a standard object oriented language called unify Modeling language (UML).
Generally, the system model designing part points on developing the requirement and analysis
models for the proposed Application using the UML use case model, sequence diagram, activity
diagram and class diagram using Object-Oriented Software Engineering (OOSE) and interface
prototyping are also included.
System models describe the model of the envisioned system. For the new system model we will
use system use case, interaction diagram, class model, and state charts to show how the system
implemented. [6]
3.2. Flowchart
A flowchart is a type of diagram that represents an algorithm, workflow or process, showing the
steps as boxes of various kinds, and their order by connecting them with arrows. This
diagrammatic representation illustrates a solution model to a given problem. Now we are going
to design the flowchart for our system processes and requirements. [7]
Figure 1: flowchart for displaying list of eBooks Figure 2: Flowchart for displaying detail information
19 | P a g e
Flowchart for RQ_003, _006, _007, _010, _014, _015. Flowchart for RQ_004, RQ_011.
Figure 3: Flowchart for search and display related books Figure 4: Flowchart for downloading eBooks
Figure 5: Flowchart for updating shared eBook. Figure 6: Flowchart for sharing eBook
20 | P a g e
Flowchart for RQ_012, RQ_016. Flowchart for RQ_017.
21 | P a g e
Flowchart for RQ_018. Flowchart for RQ_026
Figure 9: Flowchart for removing eBook. Figure 10: Flowchart for taking online courses
22 | P a g e
Flowchart for RQ_027. Flowchart for RQ_028.
Figure 11: Flowchart for examining students Figure 12: Flowchart for displaying course progress
23 | P a g e
Flowchart for RQ_029, RQ_032, RQ_033, RQ_034 Flowchart for RQ_035
Figure 13: Flowchart for uploading learning materials. Figure 14: Flowchart for approving student courses.
24 | P a g e
Flowchart for RQ_035 Flowchart for RQ_036
Figure 15: Flowchart for updating course information. Figure 16: Flowchart for removing course.
25 | P a g e
Flowchart for RQ_023. Flowchart for RQ_020, RQ_021,
Figure 18: Flowchart for view course and detail info, outline
Figure 17: Flowchart for searching course.
26 | P a g e
Flowchart for RQ_022. Flowchart for RQ_030, RQ_031.
Figure 19: Flowchart for printing course info and outline. Figure 20: Flowchart for video conference.
27 | P a g e
Flowchart for RQ_038, RQ_039, RQ_040, RQ_047, Flowchart for RQ_041, RQ_050.
RQ_048, RQ_049.
Figure 21: Flowchart for sharing any resources Figure 22: Flowchart for updating shared files.
28 | P a g e
Flowchart for RQ_042, RQ_051 Flowchart for RQ_043, RQ_052, RQ_043_1
29 | P a g e
Flowchart for RQ_046, RQ_055,RQ_046_1 Flowchart for RQ_045, RQ_054, RQ_043_1
Figure 25: Flowchart for sending message. Figure 26: Flowchart for displaying/ receive message.
Figure 27: Flowchart for displaying/ receive notification. Figure 28: Flowchart for taking model exam.
30 | P a g e
Flowchart for RQ_063. Flowchart for RQ_064, RQ_070.
Figure 29: Flowchart for adding new school. Figure 30: Flowchart for adding a particular individual.
Figure 31: Flowchart for updating school information. Figure 32: Flowchart for updating/ changing school administrator.
31 | P a g e
Flowchart for RQ_067, RQ_84. Flowchart for RQ_068.
Figure 33: Flowchart for removing school administrator’s record Figure 34: Flowchart for removing school record.
32 | P a g e
Flowchart for RQ_075, RQ_76. Flowchart for RQ_078.
Figure 35: Flowchart for generating password and username. Figure 36: Flowchart for deactivating account.
Figure 37: Flowchart for activating account. Figure 38: Flowchart for changing password.
33 | P a g e
Flowchart for RQ_080. Flowchart for RQ_081.
Figure 39: Flowchart for forgetting password. Figure 40: Flowchart for login.
TO BE CONTINUED……
34 | P a g e
3.3. Use case description
Use case description introduced the basic concepts of use-case modeling, including defining the
basic concepts and understanding how to use these concepts to define the visions, find actors
and use cases, and to define the basic concepts the system will use.
Data dictionary
35 | P a g e
Use case description for displaying eBooks detail information
Data dictionary
36 | P a g e
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will chose eLibrary option from the menus.
4. The system will display options of eLibrary module.
5. The user will select view eBooks options from the menus.
[Alternative course of action if the user wants to search and
download]
6. The system will display list of eBooks.
7. The user will select an eBook to download.
8. The system will display detail information of selected eBook
with download button.
9. The user will click download button.
10. The system will start downloading the eBook.
11. The system will finish and save the eBook in the client’s local
machine.
Post conditions: The system downloads the eBook
Alternative Flows: 4.1 The user will write the keyword of the book.
4.2 The user will click search eBook.
4.3 The system will display list of eBooks. [Alternative course
of action if there are on books found with the search key]
4.3.1 The system will display related eBooks with the
search key.
4.3.2 The system will continue from step 7.
4.4 The system will continue from step 7.
Priority: High
Data dictionary
37 | P a g e
There must be some eBooks uploaded in the system.
There must be available users to share the eBook with.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will chose eLibrary option from the menus.
4. The system will display options of eLibrary module.
5. The user will select share eBook options.
6. The system will display window to share eBook.
7. The system will open dialog to choose eBook.
8. The user will select eBook to share eBook.
9. The system will display list of individual’s to share with
10. The user will select users to share with.
11. The user will click share now button to share
12. The system will share the eBook with the select users.
Post conditions: The system shares the eBook with selected users.
Priority: Medium
Data dictionary
Table 4 Use case description for sharing eBook with other users.
38 | P a g e
Post conditions: The system opens the eBook in reading mode.
Alternative Flows: 5.1. The user will write the keyword of the book.
5.2. The user will click search eBook.
5.3. The system will display list of eBooks.
5.4. The system will continue from step 7.
6.1. The system will display appropriate message.
6.2. The system will continue from step 4.
Priority: High
Data dictionary
39 | P a g e
Data dictionary
Data dictionary
Table 7 Use case description for removing eBook from the cloud.
40 | P a g e
Use case description for updating eBook
Data dictionary
41 | P a g e
Use case description for updating shared eBooks from the cloud
Data dictionary
Use case description for removing shared eBook from the cloud
42 | P a g e
Preconditions: The user must be logged in.
There must be a shared eBook before.
Normal Flow: 1. The user will login to the system.
2. The system will display the home page with options.
3. The user will chose eLibrary option from the menus.
4. The system will display options of eLibrary module.
5. The user will select remove shared eBooks options from the
menus.
6. The system will display list of eBooks that the user shared.
7. The user will select the shared eBook to remove.
8. The system will remove the selected eBook from the cloud.
Post conditions: The system removes the shared eBook.
Priority: Medium
Data dictionary
Actors: Student
Description: Search available courses from the cloud
Trigger: When the user wants to search courses
Preconditions: The user must be logged in
The course must available in the cloud for searching
Normal Flow: 1. The user will login to the system
2. The system will display the home page with options
3. The user will choose eLearning option from the menus.
4. The system will display options of eLearning module
5. The user will select Search courses option from the menus.
6. The user inserts course code or course name
7. The system checks weather the course is available or
not.[alternative course of action if the course is not found]
8. The system displays the course and its contents
Post conditions: The system displays selected courses.
Alternative Flows: 7.1. The system will display a “the course is not found”
7.2. The system will close the page and go to home page.
Priority: High
43 | P a g e
Data dictionary
Actors: Student
Description: Display the progress of the courses.
Trigger: When the user wants to view the progress of the course
Preconditions: The user must be logged in.
The user must take courses
Normal Flow: 1. The user will login to the system
2. The system will display the home page with options
3. The user will choose eLearning option from the menus.
4. The system will display options of eLearning module
5. The user will select view course progress options from the
menus
6. The user inserts student ID and course name
7. The system checks the student ID is available or not
[alternative course of action if the student is not legal or
available]
8. The system will display the current course progress
Post conditions: The system displays course progress
Alternative Flows: 6.1. The system will display a “the student is not found” or
“the students do not take the selected course”
6.2. The system will close the page and return to home
page.
Priority: High
44 | P a g e
Data dictionary
Priority: medium
Data dictionary
Table 13 Use case description for removing courses from the cloud.
45 | P a g e
Use case description for uploading course materials to the cloud
Actors: Teacher
Description: Upload course materials to the cloud
Trigger: When the user wants to read books online
Preconditions: The user must be logged in
There must be some course materials uploaded in the system
Normal Flow: 1. The user will login to the system
2. The system will display the home page with options
3. The user will choose eLearning option from the menus.
4. The system will display options of eLearning module
5. The user will select upload course material options from the
menus.
6. The system will display window to upload course material from
the local machine.
7. The system will opens a window in which the user can select
course materials to upload.
8. The user uploads the course material.
9. The system will display the file is uploaded successfully or not.
[Alternative course of action if the file is not uploaded
successfully]
10. The system will upload the course material.
Post conditions: The system uploads the course material
Alternative Flows: 8.1. The system displays “uploading error”.
8.2. The system closes the page and return to home page.
Priority: High
Data dictionary
Table 14 Use case description for uploading course materials to the cloud.
46 | P a g e
Use case description to Approve courses
Data dictionary
47 | P a g e
Use case description for printing course outlines
Actors: Student
Description: Print out course outlines
Trigger: When the user wants to print course outlines
Preconditions: The user must be logged in
There must be uploaded course outline
Normal Flow: 1. The user will login to the system
2. The system will display the home page with options
3. The user will choose eLearning option from the menus.
4. The system will display options of eLearning module
5. The user will select print course outline options from the
menus.
6. The user selects course outlines to be printed.
7. The system checks weather the selected course outlines are
available or not[ alternative course of action if it is not
available]
8. The system prints the selected course outline to the student.
Post conditions: The system prints the course outline
Alternative Flows: 7.1. The system displays “no course outline found”.
7.2. The system closes the page and return to home page.
Priority: Medium
Data dictionary
Table 16 Use case description for printing course outlines to the students.
48 | P a g e
Use case description for removing school from the cloud
Priority: Medium
Data dictionary
Table 17 Use case description for remove school record from the cloud.
49 | P a g e
Use case description for removing school representative from the cloud
Priority: Medium
Data dictionary
Table 18 Use case description for remove school representative from the cloud.
50 | P a g e
Use case description for removing school Administrator from the cloud
Priority: Medium
Data dictionary
Table 19 Use case description for remove school administrator from the cloud.
51 | P a g e
Use case description for removing student from the cloud
Priority: Medium
Data dictionary
Table 20 Use case description for removing students list from the cloud.
52 | P a g e
Use case description for registering school Administrator to the cloud
Priority: High
Data dictionary
Table 21 Use case description for registering school Administrator to the cloud.
53 | P a g e
Use case description for registering new school to the cloud
Priority: High
Data dictionary
Table 22 Use case description for registering new school to the cloud.
54 | P a g e
Use case description for registering school Representative to the cloud
Priority: High
Data dictionary
Table 23 Use case description for registering school representative to the cloud.
55 | P a g e
Use case description for updating school from the cloud
Priority: Medium
Data dictionary
56 | P a g e
Use case description for updating school administrator records.
Data dictionary
57 | P a g e
Use case description for adding students list to the cloud
Data dictionary
Table 26 Use case description for adding student list to the cloud.
58 | P a g e
Use case description for updating/ changing student list.
Data dictionary
59 | P a g e
Use case description for updating/changing school representatives
Data dictionary
60 | P a g e
Use case description for sharing file in the cloud
Data dictionary
Table 29 Use case description for sharing file to the cloud with users.
61 | P a g e
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose messaging and notification service option.
4. The system will display list of available users.
5. The user will select individual to send message
6. The system will display chat box.
7. The user will enter the message into the chat box
8. The user will click send message button or hit enter.
9. The system will send the message to the user.
10. The system will send notification to the user.
Post conditions: The system sends message to the user
Priority: Medium
Data dictionary
Data dictionary
62 | P a g e
Use case description for updating/ change shared file.
Data dictionary
63 | P a g e
Normal Flow: 1. The user will login to the system
2. The system will display home page of the system.
3. The user will choose file sharing option.
4. The system will display list options.
5. The user will select remove shared files option.
6. The system will display list of shared files by the user.[Alternative
course of action if there are no shared files]
7. The user will select the file to remove.
8. The user will click remove button
9. The system will remove the shared file.
Alternative Flows: 6.1. The system will display appropriate message
6.2. The system will continue from step 2.
Post conditions: The system removes shared file.
Priority: Medium
Data dictionary
Actors: Student
Description: Display list of available model exams
Trigger: When the user wants to view list of model exams
Preconditions: The user must be logged in
Model exams should be uploaded to the system.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose view model exam list.
6. The system will fetch data from the database.[Alternative course
of action if there are no data’s in the database]
7. The system will display the list of model exams
Post conditions: The system displays list of model exams.
Alternative Flows: 6.1. The system will display appropriate information.
6.2. The system will continue from step 2.
Priority: High
64 | P a g e
Data dictionary
Actors: Student
Description: Take selected model exams online.
Trigger: When the user wants to take model exams online
Preconditions: The user must be logged in
Model exams should be uploaded to the system.
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose take model exam.
6. The system verifies user [Alternative course of action if the
student is not valid to take the exams]
7. The system will fetch data from the database. [Alternative course
of action if there are no data’s in the database].
8. The system will display the list of model exams
9. The user will select model exams to take.
10. The user will click start examining yourself button.
11. The system will start examining the student.
12. The system will end examining the student.
Post conditions: The system examines the student
Alternative Flows: 6.1. The system will display appropriate information
6.2. The system will continue from step 2
7.1. The system will display appropriate information
7.2. The system will continue from step 2
Priority: High
Data dictionary
65 | P a g e
Use case description for viewing exam progresses
Actors: Student
Description: Display current exam progress.
Trigger: When the user wants to view his model exam progress or result
Preconditions: The user must be logged in
Model exams should be uploaded to the system.
The user must already started take model exams.
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose view exam progress/ result
6. The system will fetch data from the database.[Alternative course
of action if there are no data’s in the database]
7. The system will display the progress/ result of the exams he takes
Post conditions: The system displays student exam progress
Alternative Flows: 6.1. The system will display appropriate information
6.2. The system will continue from step 2
Priority: High
Data dictionary
Table 36 Use case description for displaying model exam progress/ result.
Actors: Student
Description: Get video consultation about the national examination
Trigger: When the user wants to get consultation video.
Preconditions: The user must be logged in
Teachers must start live streaming.
66 | P a g e
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose stream consulting option.
6. The system checks for current live consultations. [Alternative
course of action if there are valid streams now].
7. The system will start video streaming
Post conditions: The system starts streaming consultation.
Alternative Flows: 6.1. The system will display appropriate information.
6.2. The system will continue from step 2.
Priority: High
Data dictionary
Actors: Teacher
Description: Upload model exams for the students.
Trigger: When the user wants to upload model exams to the cloud.
Preconditions: The user must be logged in.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose upload model exams option.
6. The system open a dialog box to choose the file.
7. The user will select the file from the local disk.
8. The user will click upload exam button.
9. The system will upload the model exam file to the cloud.
Post conditions: The system uploads model exam to the cloud.
Priority: High
Data dictionary
Table 38 Use case description for uploading model exams to the cloud.
67 | P a g e
Use case description for starting live video consultation.
Actors: Teachers.
Description: Start live consultation for students.
Trigger: When the user wants to stat live consultation for students.
Preconditions: The user must be logged in.
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose student preparation option.
4. The system will display options of student preparation module.
5. The user will choose start student consultation
6. The system will open the camera of the local machine
7. The system will display start streaming button.
8. The user will click start streaming button.
9. The system will start the live video consultation.
Post conditions: The system starts live consultation.
Priority: High
68 | P a g e
Post conditions: The system activates the account.
Alternative Flows: 9.1. The system will display appropriate information
9.2. The system will continue from step 6
Priority: High.
Data dictionary
Data dictionary
69 | P a g e
Date Created: Sunday, 08 April 2018
Requirement number: RQ_001,
70 | P a g e
11. The system will change the current password
Post conditions: The system changes the current password.
Alternative Flows: 8.1. The system will display appropriate information
8.2. The system will continue from step 6
Priority: High
71 | P a g e
Description: Login to the system
Trigger: When the user wants to login.
Preconditions: The user must have username and password.
Normal Flow: 1. The user will navigate to the web site of the system.
2. The system will display login form.
3. The user will enter his/her username and password.
4. The system will verify the information. [Alternative curse of action
if the information is not correct].
5. The system will start session.
6. The system will login and display the home page.
Post conditions: The system is opened and home screen is displayed.
Alternative Flows: 4.1. The system will display appropriate information
4.2. The system will continue from step 2. [Alternative course of action
if the user is trying more than 5 times].
4.2.1. The system will display appropriate information.
Priority: High
Table 46 Use case description for logging out from the system.
72 | P a g e
3.4. Use case diagram
A use case describes a sequence of actions that provide a measurable value to an actor and is
drawn as a horizontal ellipse. An actor is a person, organization, or external system that plays a
role in one or more interactions with your system. [8]
Use case diagrams are among the standard Unified Modeling Language (UML) artifacts. There
are Object-Oriented System Analysis and Design two basic flavors of use case models: essential
use case models, and system use case models. [9]
1. An essential use case model, often referred to as a business or abstract use case model,
models a technology-independent view of your behavioral requirements.
2. System use case models, also known as concrete use case models or detailed use case
models, model your analysis of your behavioral requirements, describing in detail how users
will work with your system including references to its user-interface aspects.
Now we are going to design System use case models for our proposed system.
73 | P a g e
Use case diagram for school management module.
74 | P a g e
Use case diagram for file sharing module.
75 | P a g e
Use case diagram for national exam preparation module.
76 | P a g e
3.5. Entity relationship (ER) diagram
An entity is a thing that exists either physically or logically. An entity may be a physical object
such as a house or a car (they exist physically), an event such as a house sale or a car service, or
a concept such as a customer transaction or order (they exist logically—as a concept). Although
the term entity is the one most commonly used, following Chen we should really distinguish
between an entity and an entity-type. An entity-type is a category. An entity, strictly speaking, is
an instance of a given entity-type.
There are usually many instances of an entity-type. Because the term entity-type is somewhat
cumbersome, most people tend to use the term entity as a synonym for this term. A relationship
captures how entities are related to one another. Relationships can be thought of as verbs, linking
two or more nouns. Examples: an owns relationship between a company and a computer, a
supervises relationship between an employee and a department, a performs relationship
between an artist and a song, a proves relationship between a mathematician and a conjecture,
etc. [10]
While we are designing ER diagram of our system as much as possible we have tried to minimize
many-to-many relationship rather mapping entities with n-to-n relationship it is better to design
a new table or entity from that can represent the many-to-many relationship more precisely. A
many-many relationship type is represented as an independent table with columns for the
primary key attributes of the participating entity types, and any descriptive attributes of the
relationship type. [12]
77 | P a g e
From now on we will design ER diagram of the system and while we’re designing the diagram we
have used bold text to represent primary key of the entity, plus (+) sign with italic texts to
represent foreign key and we used bold text with plus (+) sign to indicate that the attribute is a
foreign key and its apart of primary key for the current table. The following diagrams are drawn
using visual paradigm UML tool.
We can’t represent a many-to-many association directly in a relation scheme, because two tables
can’t be children of each other—there’s no place to put the foreign keys. So for every many-to-
many, we will need a junction table in the database, and we need to show the scheme of this table
in our diagram. [13]
“Note: since the project is too wide it is difficult to draw and represent the entire system’s ER diagram within a single
design (drawing) so, we will design the diagrams separately for each module.”
78 | P a g e
ER diagram for eLibrary module.
79 | P a g e
ER diagram for resource sharing module.
80 | P a g e
ER diagram for national exam management module.
The class diagram is the most important UML diagram of an object-oriented software system. It
includes both the static and behavioral aspects of its system. This can serve as a pattern for a
persistent collection of objects, or as a scheme for a database system, and as a set of
communication diagrams at the same time. Different types of behavioral diagrams, such as the
use case and sequence diagram, are applied to delineate dynamics of the class diagram. In this
topic we will describes a framework in which a UML sequence diagram for ensuring data
correctness of data objects is deduced from the UML class diagram. That is the derived diagram
can be used to check data structures, or data integrities, of objects in respect to persistent
collections of objects, or to database systems, when these collections are updated . [14][15]
81 | P a g e
Figure 54: Class diagram for Ethio-school-net system
82 | P a g e
3.7. Security and system Architecture
3.7.1. Introduction
Object-oriented design is the process of planning a system of interacting objects for the
purpose of solving a software problem. It is one approach to software design. The input for
object-oriented design is provided by the output of object-oriented analysis. In this phase we
determine how to build our system.
What we are using in the system architecture 3-Tier architecture is also called layered
architecture. Also known as n- tier architecture. Layer architectures are essentially objects and
work in object oriented environment.3-tier architecture is a very well-known architecture in
the world of software development, it doesn't matter whether you are developing web based
application or desktop based, it is the best architecture to use.
3-Tier architecture consists of
UI or Presentation Layer
Business Access Layer or Business Logic Layer
Data Access Layer
Presentation Layer:
Presentation layer consists of user interface that is are developed using client side programming
and scripting languages since the system is web based application .In our case the user interface
should be very friendly and must contain all the service with an interactive manner by using
bootstrap technology of designing user interfaces.
Business Logic layer or Business Access Layer:
Business logic layer contains all of the business logic. Its responsibility is to validate the business
rules of the component and communicating with the Data Access Layer. Business Logic Layer is
the class in which we write functions that get data from Presentation Layer and send that data
to database through Data Access Layer.
Data Access Layer:
Data Access Layer is also the class that contains methods to enable business logic layer to connect
the data and perform desired actions. This desired action can be selecting, inserting, updating
and deleting the data in to the data base by using User interface.
84 | P a g e
Figure 55: 3-Tier architecture design of the system
Since the system that we implement have different alternatives of service so the users must have
a user name password which will be given by the system administrator to use the Ethio-school-
net system.
Security for our system security we are using different algorithms that 99.9% protect our system
from being break or disrupt our system some of the techniques for example in user name and
password sides we used Encryption and description methods of algorithm which is very well-
known methods of security.
85 | P a g e
3.7.3. Class Type Architecture
A common architectural strategy, some might call it a pattern, is to layer the architecture of a
system into several layers. We originally used the term "class type" because we are using object
oriented (OO) technology, although since then have used it for component-based architectures;
service oriented architectures (SOAs), and combinations thereof.
86 | P a g e
run on those nodes. Generally deployment diagrams. Show the hardware for your system, the
software that is installed on that hardware, and the middleware used to connect the disparate
machines to one another.
87 | P a g e
3.8. User interface prototyping
User interface prototyping is an iterative analysis technique in which users are actively involved
in the mocking-up of the UI for a system. It is the design of user interfaces for machines and
software, such as computers, home appliances, mobile devices, and other electronic devices,
with the focus on maximizing the user experience. The goal of user interface design is to make
the user's interaction as simple and efficient as possible, in terms of accomplishing user goals
(user centered design).
Good user interface design facilitates finishing the task at hand without drawing unnecessary
attention to itself. Graphic design and typography are utilized to support its usability, influencing
how the user performs certain interactions and improving the aesthetic appeal of the design;
design aesthetics may enhance or detract from the ability of users to use the functions of the
interface. [17] The design process must balance technical functionality and visual elements (e.g.,
mental model) to create a system that is not only operational but also usable and adaptable to
changing user needs.
88 | P a g e
Figure 59: User interface for register student Figure 60: User interface for register teachers
89 | P a g e
Figure 62: User interface for message sending
Figure 61: User interface for login
90 | P a g e
Figure 63: User interface for searching eBook Figure 64: User interface for upload eBook
91 | P a g e
4. References
1. http://www.meleszenawi.com/deputy-prime-minister-demeke-mekonnen-meets-gordon-brown-
uk-parliamentarians/
2. https://en.oxforddictionaries.com/definition/education
3. https://www.foroige.ie/blog/why-we-need-change-education-system-liam-aierstock-15
4. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3848812/
5. https://en.wikipedia.org/wiki/Requirements_analysis
6. https://www.lucidchart.com/pages/what-is-UML-unified-modeling-language
7. http://www.conceptdraw.com/How-To-Guide/flowchart-types
8. http://wangzhengyuan.blogspot.com.cy/2012/06/
9. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/
10. https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
11. Beynon-Davies, Paul (2004). Database Systems. Basingstoke, UK: Palgrave: Hound mills. ISBN
1403916012.
12. https://www.sqa.org.uk/e-learning/SDM03CD/page_37.htm
13. http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php
14. https://ieeexplore.ieee.org/document/4031822/references
15. A. Aho, J. E. Hopcroft, and J. D. Ullman. Data Structures and Algorithms. Addison Wesley, Inc.,
Reading, Mass., 1983.
16. http://www.VTC.com
17. http://www.jnd.org/dn.mss/emotion_design.html.
92 | P a g e