You are on page 1of 93

NEAR EAST UNIVERSITY

DPARTMENT OF SOFTWARE ENGINEERING

Ethio-School-net
SOFTWARE DESIGN PROCESS

Fitehalew Ashagrie Demilew…... 20176813 Ass. Prof Dr. BORAN ŞEKEROĞLU


Habtamu Girma Debebe…………. 20176801 Sunday, May 27, 2018
NEAR EAST UNIVERSSITY | NICOSIA, CYPRUS
Acknowledgements
Before anything we are grateful to God for the good health and wellbeing that were necessary
to complete this project.

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]

1.2. Statement of the problem

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:

 There is need for more innovation in the education system.


 More advanced technologies should be used in this sector in order to compete with other
countries.
 More and more amendments should be done to make students more physically fit and
mentally strong.
 Schools and institutes should focus more on the development of an individual.
 Schools and institutes with education should teach values and manners.

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]

1.3. Objectives of the project

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).

2.1.2. eLearning module

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).

2.1.3. Resource sharing and messaging module.

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).

2.1.4. Student preparation for national exam.

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).

2.1.5. School management module

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.

 Administrators processes involves the following:


1. Administrators will be able to register new participants to the cloud server.
 Administrators will be able to add new schools with their detailed information to
the system so that they can use the services which are provided by it [RQ_063].
(Depends on RQ_081).

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).

 School administrators involves the following:


1. School administrators will be able to register participants of the school.
 School Administrators will be able to register school representatives to represent
the schools while the schools are participating in the system [RQ_070]. (Depends
on RQ_081, RQ_063, and RQ_064).
 School Administrators will be able to add Excel list of students with their detailed
information to the system [RQ_071]. (Depends on RQ_081, RQ_063, and RQ_064).
2. School administrators will be able to manipulate students and representative’s
information.
 School administrator will be able to update information of school representatives
[RQ_072]. (Depends on RQ_081, RQ_063, RQ_070, and RQ_064).
 School administrators will be able to change (assign new school representative)
school representatives [RQ_072]. (Depends on RQ_081, RQ_063, RQ_070, and
RQ_064).
 School administrators will be able to update student’s information if needed
[RQ_073]. (Depends on RQ_081, RQ_063, RQ_070, RQ_071 and RQ_064).
 School administrators will be able to remove records if needed [RQ_074]. (Depends
on RQ_081, RQ_063, RQ_070, RQ_071 and RQ_064).

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]

Flowchart for RQ_001, RQ_008. Flowchart for RQ_002, RQ_009.

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

Flowchart for RQ_013_2, RQ_005_2. Flowchart for RQ_005, RQ_013.

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.

Figure 8: Flowchart for updating eBook information.


Figure 7: Flowchart for uploading eBook.

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

Figure 24: Flowchart for sending notification.


Figure 23: Flowchart for removing shared file.

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.

Flowchart for RQ_044, RQ_053,RQ_044_1 Flowchart for RQ_056, RQ_057, RQ_058

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.

Flowchart for RQ_063. Flowchart for RQ_064, RQ_069, RQ_072, RQ_072_2.

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.

Flowchart for RQ_077. Flowchart for RQ_079.

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.

Flowchart for RQ_082. Flowchart for RQ_071.

Figure 42: Flowchart for registering students


Figure 41: Flowchart for logout.

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.

Use case description for displaying list of eBooks

Use Case ID: ETH_SC_NET_001


Use Case Name: Display eBooks
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_001, RQ_008

Actors: Students and Teachers


Description: Display list of eBooks to the user
Trigger: When the user wants to view eBooks
Preconditions: The user must be logged in.
There must be some eBooks uploaded in 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 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 there are no any eBooks in the
system]
6. The system will display list of eBooks
Alternative Flow: 5.1. The system will display appropriate message
5.2. The system will continue from step 2
Post conditions: The system displays list of eBooks
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Book ISBN 255 String Required Label
Book author 255 String Required Label
Book title 255 String Required Label
Book author 255 String Required Label

Table 1 Use case Description of displaying list of eBooks.

35 | P a g e
Use case description for displaying eBooks detail information

Use Case ID: ETH_SC_NET_002


Use Case Name: View eBook Information
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_003, RQ_009, RQ_010

Actors: Students and Teachers


Description: Display detail information of eBook.
Trigger: When the user wants to view detail info of eBook
Preconditions: The user must be logged in.
There must be some eBooks uploaded in 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 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
6. The system will display list of eBooks
7. The user will click view detail info link from the books list.
8. The system will display detail information of selected eBook
Post conditions: The system displays detail information of the selected eBook.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Book ISBN 255 String Required Label
Book author 255 String Required Label
Book title 255 String Required Label
Book author 255 String Required Label
Book description 255 String Required Paragraph

Table 2 Use case description for displaying detail information of an eBook.

Use case description for downloading eBook from the cloud

Use Case ID: ETH_SC_NET_003


Use Case Name: Download eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_001, RQ_003, RQ_004, RQ_011, RQ_014, RQ_015, RQ_006, RQ_007

Actors: Students and Teachers


Description: Download any eBook from the cloud.
Trigger: When the user wants to download eBook
Preconditions: The user must be logged in
There must be some eBooks uploaded in the system

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

Name Filed Size Format Condition Filed Type


Book ISBN 255 String Required Label
Book author 255 String Required Label
Book title 255 String Required Label
Book author 255 String Required Label
Book description 255 String Required Paragraph
Book link 255 String Required Anchor

Table 3 Use case description for downloading eBook.

Use case description for sharing eBook.

Use Case ID: ETH_SC_NET_004


Use Case Name: Share eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_005, RQ_013

Actors: Students and Teachers


Description: Share eBook with other users
Trigger: When the user wants to share eBook
Preconditions: The user must be logged in

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

Name Filed Size Format Condition Filed Type


Share Book Location 255 String Required Anchor
Users ID Required Checklist

Table 4 Use case description for sharing eBook with other users.

Use case description for reading eBook online.

Use Case ID: ETH_SC_NET_005


Use Case Name: Read eBook online
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_004, RQ_011, RQ_014, RQ_015, RQ_006, RQ_007

Actors: Students and Teachers


Description: Read eBooks whenever they want one line.
Trigger: When the user wants to read eBooks online
Preconditions: The user must be logged in
There must be some eBooks uploaded in 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 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
read]
6. The system will display list of eBooks. [Alternative course of
action if there are not eBooks].
7. The user will click read eBook now link.
8. The system will open the book in reading mode

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

Name Filed Size Format Condition Filed Type


Search keyword 255 String Required Search field
Book ISBN 255 String Required Label
Book author 255 String Required Label
Book title 255 String Required Label
Book author 255 String Required Label
Book description 255 String Required Paragraph
Book link 255 String Required Anchor

Table 5 Use case description for reading eBook online.

Use case description for uploading eBook to the cloud

Use Case ID: ETH_SC_NET_006


Use Case Name: Upload eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_012, RQ_016.

Actors: System Administrator, Teachers


Description: Upload eBook to the cloud
Trigger: When the user wants to download eBook.
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 chose eLibrary option from the menus.
4. The system will display options of eLibrary module.
5. The user will select upload eBook option.
6. The system will open a dialog box to select eBook.
7. The user will select the eBook to upload to the cloud.
8. The system will ask for the detail information of the eBook.
9. The will enter the information of the book.
10. The user will click upload eBook now button.
11. The system will upload the eBook.
Post conditions: The system uploads the eBook to the cloud.
Priority: High

39 | P a g e
Data dictionary

Name Filed Size Format Condition Filed Type


eBook Location 255 String Required File
Book ISBN 255 String Required
Book author 255 String Required Textbox
Book title 255 String Required Textbox
Book author 255 String Required Textbox
Book description 255 String Required Textarea
Book link 255 String Required Anchor

Table 6 Use case description for uploading eBook to the cloud.

Use case description for removing eBook from the cloud

Use Case ID: ETH_SC_NET_007


Use Case Name: Remove eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_018

Actors: System Administrator


Description: Remove eBook from the cloud
Trigger: When the Admin wants to delete eBooks
Preconditions: The user must be logged in
The eBook must exists in the system to remove
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 remove eBooks options from the menus.
6. The system ask for ISBN.
7. The user enters ISBN of the eBook.
8. The system checks weather the eBook is available or not from
the cloud.[Alternative course of action if the eBook is not found]
9. The system will remove the selected eBook from the cloud.
Post conditions: The system removes the eBook.
Alternative Flows: 6.1. The system will display the appropriate message.
6.2. The system will continue from step4.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Book ISBN 255 String Required Textbox

Table 7 Use case description for removing eBook from the cloud.

40 | P a g e
Use case description for updating eBook

Use Case ID: ETH_SC_NET_008


Use Case Name: Update eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_017

Actors: System Administrator


Description: Updating eBook in the cloud
Trigger: When the user wants to modify eBooks
Preconditions: The user must be logged in
There must be some eBooks in the cloud
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 update eBooks options from the menus.
6. The system asks the ISBN of the eBook.
7. The user inserts ISBN of eBook to be updated.
8. The System displays the required eBook. [Alternative course
of action if the eBook is not found]
9. The user will enter new information of the eBook.
10. The user will click update eBook button.
11. The system modifies the eBook.
Post conditions: The system updates the eBook.
Alternative Flows: 7.1. The system displays appropriate message to the user.
7.2. The system continues from step 6.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Book ISBN 255 String Required Search filed
Book author 255 String Optional Textbox
Book title 255 String Optional Textbox
Book author 255 String Optional Textbox
Book description 255 String Optional Textarea
Book link 255 String Optional Link

Table 8 Use case description for updating eBook.

41 | P a g e
Use case description for updating shared eBooks from the cloud

Use Case ID: ETH_SC_NET_009


Use Case Name: Update shared eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_013_2, RQ_005_2

Actors: System Administrator and Teacher


Description: Update shared eBook from the cloud
Trigger: When the user wants to update already shared eBooks online
Preconditions: The user must be logged in.
There must be shared eBooks in 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 chose eLibrary option from the menus.
4. The system will display options of eLibrary module
5. The user will select update shared eBooks options from the
menus.
6. The system will opens a window in which the user can select a
new eBook.
7. The user will select new eBook.
8. The system will display list of individual’s to share with
9. The user will click share now button to share.
10. The system will update and share the eBook.
Post conditions: The system updates the shared book.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Share Book location 255 String Required Anchor
Users ID Required Checklist

Table 9 Use case description for updating shared eBook online.

Use case description for removing shared eBook from the cloud

Use Case ID: ETH_SC_NET_010


Use Case Name: Remove shared eBook
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_013_2, RQ_005_2

Actors: System Administrator and Teachers


Description: Remove shared eBooks from the cloud
Trigger: When the Admin wants to remove eBooks which are shared before

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

Name Filed Size Format Condition Filed Type


Book ISBN List Checkbox list

Table 10 Use case description for removing shared eBook.

Use case description for searching course from the cloud

Use Case ID: ETH_SC_NET_011


Use Case Name: Search course
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_023

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

Name Filed Size Format Condition Filed Type


Course name 255 String Required Text box
Course code 255 String Required Text box
Course description 255 String Required Paragraph
Course outline 255 String Required label

Table 11 Use case description for searching courses.

Use case description for viewing course progress

Use Case ID: ETH_SC_NET_012


Use Case Name: View course progress
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_028

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

Name Filed Size Format Condition Filed Type


Student Id 30 Integer Required Text box
Course name 255 String Required Text box
Course progress 255 String Required label

Table 12 Use case description to display course progress

Use case description for removing course from the cloud

Use Case ID: ETH_SC_NET_013


Use Case Name: Remove Course
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_037

Actors: System Administrator


Description: Remove Course and its descriptions from the cloud
Trigger: When the user wants to remove courses from cloud
Preconditions: The user must be logged in
The course must exist in the cloud
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 remove course options from the menus.
6. The user inserts course code
7. The system checks weather the course is available or
not.[alternative course of action if the course is not found]
8. The system removes the selected course from the cloud.
Post conditions: The system removes the selected course.
Alternative Flows: 6.1. The system will display a “not found” message to the
user.
6.2. The system will close the page and return to home
page.

Priority: medium

Data dictionary

Name Filed Size Format Condition Filed Type


Course code 255 String Required Text box

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

Use Case ID: ETH_SC_NET_014


Use Case Name: Upload course materials
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_034

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

Name Filed Size Format Condition Filed Type


Search keyword 255 String Required Textbox
Course Name 255 String Required Text box
Course code 255 String Required Text box
Course outline 255 String Required file
Course description 255 String Required Text area
Course Module 255 String Required file

Table 14 Use case description for uploading course materials to the cloud.

46 | P a g e
Use case description to Approve courses

Use Case ID: ETH_SC_NET_015


Use Case Name: Approve course
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_035

Actors: System Administrator


Description: Approve courses for students
Trigger: When the user wants to approve courses for students online
Preconditions: The user must be logged in
There student must be registered 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 Approve course options from the menus.
6. The user selects students and appropriate courses.
7. The system checks weather the selected courses and students
are appropriate or not[ alternative course of action if it is not
appropriate]
8. The system approved the selected course to the student.
Post conditions: The system approves the course for students
Alternative Flows: 7.1. The system displays “cannot approve courses”.
7.2. The system closes the page and return to home page.
Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


Student ID 255 String Required Text box
Course Name 255 String Required Text box
Course code 255 String Required Text box

Table 15 Use case description for approving course to the students.

47 | P a g e
Use case description for printing course outlines

Use Case ID: ETH_SC_NET_016


Use Case Name: Print course outlines
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_022

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

Name Filed Size Format Condition Filed Type


Course code 255 String Required Text box
Course outline 255 String Required file

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

Use Case ID: ETH_SC_NET_017


Use Case Name: Remove schools
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_067

Actors: System Administrator


Description: Remove the school and its records from the cloud
Trigger: When the user wants to remove the school from the cloud
Preconditions: The user must be logged in
The school must exist in the cloud or must register before
deleting.
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select remove schools options from the menus.
6. The user inserts school id.
7. The system checks weather the school is available or
not.[alternative course of action if the school is not found]
8. The system removes the selected school from the cloud.
Post conditions: The system removes the school
Alternative Flows: 7.1. The system will display a “not found” message to the
user.
7.2. The system will close the page and return to home
page.

Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


School ID 30 Integer Required Text box

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

Use Case ID: ETH_SC_NET_018


Use Case Name: Remove school representatives
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_074

Actors: School Administrator


Description: Remove the school representative from the cloud
Trigger: When the user wants to remove the school representative
Preconditions: The user must be logged in
The school representative must exist in the cloud
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select remove school representative options from
the menus.
6. The user inserts id of the representative.
7. The system checks weather the representative is available or
not.[alternative course of action if the representative is not
found]
8. The system removes the selected representative from the
cloud.
Post conditions: The system removes the school representative
Alternative Flows: 7.3. The system will display a “not found” message to the
user.
7.4. The system will close the page and return to home
page.

Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


School representative 30 String Required Text box

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

Use Case ID: ETH_SC_NET_019


Use Case Name: Remove school Administrator
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_068

Actors: System Administrator


Description: Remove the school Administrator from the cloud
Trigger: When the user wants to remove the school Administrator
Preconditions: The user must be logged in
The school Administrator must exist in the cloud
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select remove school Administrator options from
the menus.
6. The user inserts id of the Administrator.
7. The system checks weather the Administrator is available or
not.[alternative course of action if the Administrator is not
found]
8. The system removes the selected Administrator from the
cloud.
Post conditions: The system removes the school administrator
Alternative Flows: 7.1. The system will display a “not found” message to the
user.
7.2. The system will close the page and return to home
page.

Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


School Administrator 30 String Required Text box

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

Use Case ID: ETH_SC_NET_020


Use Case Name: Remove student
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_074

Actors: School Administrator


Description: Remove Students record from the cloud
Trigger: When the user wants to remove the Students records from cloud
Preconditions: The user must be logged in
The students must exist in the cloud
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select remove Student options from the menus.
6. The user inserts id of the Student.
7. The system checks weather the Student is available or
not.[alternative course of action if the student is not found]
8. The system removes the selected Student from the cloud.
Post conditions: The selected student removes from the cloud.
Alternative Flows: 7.1. The system will display a “not found” message to the
user.
7.2. The system will close the page and return to home
page.

Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Student 30 Integer Required Text box

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

Use Case ID: ETH_SC_NET_021


Use Case Name: Register school administrator
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_064

Actors: System Administrator


Description: Register new school Administrator to the cloud
Trigger: When the user wants to register Administrator of the school
Preconditions: The user must be logged in
The School Administrator must not registered before in the cloud
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select register school Administrator options from
the menus.
6. The user inserts all necessary information about the school
Administrator.
7. The system checks the registering school Administrator is
registered before or not.[alternative course of action if the
school Administrator is registered before]
8. The system registers the school Administrators to the cloud.
Post conditions: The System registers the school administrator.
Alternative Flows: 7.1. The system will display a “the school Administrator is
already registered in the cloud”
7.2. The system will close the page and return to home
page.

Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


Admin Id 30 Integer Required Text box
Name 255 String Required Text box
Sur Name 255 String Required Text box
sex 1 char Required Text box
Profession 255 String Required Text box
School Id 30 Integer Required Text box

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

Use Case ID: ETH_SC_NET_022


Use Case Name: Register new school
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_063

Actors: System Administrator


Description: Adding new school to the cloud
Trigger: When the user wants to register new school to the cloud
Preconditions: The user must be logged in
The school must not register in the cloud 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 choose school management option from the
menus.
4. The system will display options of school management module
5. The user will select register new school options from the
menus.
6. The user inserts all necessary information of the school.
7. The system checks the registering school is registered before
or not.[alternative course of action if the school is registered
before]
8. The system registers the school to the cloud.
Post conditions: The system registers the school to the cloud.
Alternative Flows: 7.1. The system will display a “the school is already
registered in the cloud”
7.2. The system will close the page and return to home
page.

Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


School ID 30 Integer Required Text box
School Name 30 String Required Text box
Address 30 String Required Text box
No of students 15 Integer Required Text box
School representative Id 30 Integer Required Text box
School Admin Id 30 Integer Required Text box

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

Use Case ID: ETH_SC_NET_023


Use Case Name: Register school Representative to the cloud
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_070

Actors: School Administrator


Description: Register school Representative to the cloud
Trigger: When the user wants to register Representative of the school
Preconditions: The user must be logged in
The School Representative must not registered before in the cloud
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select register school Representative options
from the menus.
6. The user inserts all necessary information about the school
Representative.
7. The system checks the registering school Representative is
registered before or not.[alternative course of action if the
school Representative is registered before]
8. The system registers the school Representative to the cloud.
Post conditions: The System registers the school representative to the cloud.
Alternative Flows: 7.1. The system will display a “the school Representative is
already registered in the cloud”
7.2. The system will close the page and return to home
page.

Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


Representative Id 30 Integer Required Text box
Name 255 String Required Text box
Sur Name 255 String Required Text box
sex 1 char Required Text box
Profession 255 String Required Text box
School Id 30 Integer Required Text box

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

Use Case ID: ETH_SC_NET_024


Use Case Name: Updating School
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_065

Actors: System Administrator


Description: Update existing information about school from the cloud
Trigger: When the user wants to modify school attributes
Preconditions: The user must be logged in
The School must available in the cloud before updating
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will select update school option from the menus.
6. The user inserts school id
7. The system displays the school and its elements
8. The system checks the updating school is found or
not.[alternative course of action if the school is not found]
9. The system updates the school.
Post conditions: The School will be updated.
Alternative Flows: 8.1. The system will display a “the school is not found”
8.2. The system will close the page and return to home page.

Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


School Id 30 Integer Required Text box
School Name 255 String Optional Text box
Address 255 String Optional Text box
No of students 255 Integer Optional Text box
School representative Id 30 Integer Optional Text box
School Administrator Id 30 Integer Optional Text box

Table 24 Use case description for updating school.

56 | P a g e
Use case description for updating school administrator records.

Use Case ID: ETH_SC_NET_025


Use Case Name: Update school administrator
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_066

Actors: System Administrator


Description: Update existing information of the school administrator.
Trigger: When the user wants to modify school administrators record.
Preconditions: The user must be logged in
The school administrator should already be registered.
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 school management option from the menus.
4. The system will display options of school management module
5. The user will select update school administrators option from the menus.
6. The system displays text field to enter the school administrator id.
7. The user enters school administrators ID
8. The system will search for the specific school administrator. [Alternative
course of action if the school administrator is not found]
9. The system will displays current school administrator info.
10. The user enters the new information.
11. The user will click update button.
12. The system will validate the information. [Alternative course of action]
13. The system will update the record.
Post conditions: The system updates information of school administrator
Alternative Flows: 8.1. The system will display error message
8.2. The system will resume from step 5.
12.1. The system will display error message.
12.2. The system will resume from step 8
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


School Admin Id 30 Integer Required Text box
School Admin First Name 255 String Optional Text box
School Admin Sur Name 255 String Optional Text box
School Admin sex 1 Char Optional Text box
School Admin education level 255 String Optional Text box
School Admin Address 255 String Optional Text box
School Id 30 Integer Optional Text box

Table 25 Use case description for updating school administrator.

57 | P a g e
Use case description for adding students list to the cloud

Use Case ID: ETH_SC_NET_026


Use Case Name: Add students list
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_071

Actors: School Administrator


Description: Adding new students excel list to the cloud
Trigger: When the user wants to add new students to the system.
Preconditions: The user must be logged in
The school which is related to the students must be already
registered.
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 school management option from the
menus.
4. The system will display options of school management module
5. The user will choose add new student’s list option.
6. The system will display a dialog to choose the excel file of
students.
7. The user will select an excel file to add to the system.
8. The system will display a text box to accept school id.
9. The user will enter school id of the new students.
10. The user will click add students button.
11. The system verifies the information entered. [Alternative
course of action if the excel files is not correct or if there is no
school with that id]
12. The system will add the students to the cloud database
Post conditions: New list of students will be added to the system.
Alternative Flows: 11.1. The system will display error message.
11.2. The system will continue from step 5
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Excel file location 255 String Required file
School Id 30 Integer Required Text box

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.

Use Case ID: ETH_SC_NET_027


Use Case Name: Change/update students list
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_073

Actors: School Administrator


Description: Changing or updating students list.
Trigger: When the user wants to change previous list of students
Preconditions: The user must be logged in
The school of students must be registered already.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will choose school management option from the menus.
4. The system will display options of school management module
5. The user will choose update student list option.
6. The system will display a dialog to choose the excel file of
students.
7. The user will select an excel file to add to the system.
8. The system will display a text box to accept school id.
9. The user will enter school id of the new students.
10. The user will click change the student’s list button.
11. The system verifies the information entered. [Alternative course
of action if the excel files is not correct or if there is no school
with that id]
12. The system will update the students list.
Post conditions: The system updates students list.
Alternative Flows: 10.1. The system will display error message.
10.2. The system will continue from step 4.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Excel file location 255 String Required Text box
School Id 30 Integer Required Text box

Table 27 Use case description for updating student list.

59 | P a g e
Use case description for updating/changing school representatives

Use Case ID: ETH_SC_NET_028


Use Case Name: Change/update school representatives
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_072, RQ_073

Actors: School Administrator


Description: Changing or updating school representatives.
Trigger: When the user wants to change previous record of school
representatives
Preconditions: The user must be logged in
The school of representative must be already registered.
There must be previously added record of school representative.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will choose school management option from the menus.
4. The system will display options of school management module
5. The user will choose update school representative option.
6. The system will display textbox to accept school representative id.
7. The user will enter school representative id.
8. The system verifies the school representative. [Alternative course
of action if the school representative is not found]
9. The system will display a page with the current information.
10. The user will enter the new information.
11. The user will click update school representative button.
12. The system verifies the information entered. [Alternative course of
if the new information is not correct]
13. The system will update the school representatives.
Post conditions: The system updates/changes school representative.
Alternative Flows: 8.3. The system will display error message
8.4. The system will resume from step 5.
12.1. The system will display error message.
12.2. The system will resume from step 8
Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


School representative id 30 Integer Required Text box
School Id 30 Integer Required Text box
Name 255 String Optional Text box
Sur Name 255 String Optional Text box
sex 1 Char Optional Text box
Profession 255 String Optional Text box

Table 28 Use case description for updating/changing school representative.

60 | P a g e
Use case description for sharing file in the cloud

Use Case ID: ETH_SC_NET_018


Use Case Name: Share file
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_038,RQ_039,RQ_040, RQ_047, RQ_048, RQ_049, RQ_081,
RQ_039_1, RQ_040_1

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Share any file to other users in the cloud.
Trigger: When the user wants to share file
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 file sharing options form the menus
4. The system will display options of file sharing module
5. The user will choose share file option.
6. The system show a dialog in which the user can select file to share.
7. The user will select file to share.
8. The system will display list of available users to share.
9. The user will select individuals to share file to with
10. The user will click share now button.
11. The system will share the file with selected individuals.
Post conditions: The system shares the selected file.
Priority: High

Data dictionary

Name Filed Size Format Condition Filed Type


File location 255 String Required File
Users Required Checkbox List

Table 29 Use case description for sharing file to the cloud with users.

Use case description for sending message to users.

Use Case ID: ETH_SC_NET_030


Use Case Name: Send message
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_046,RQ_055, RQ_046_1

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Send message to users
Trigger: When the user wants to send message
Preconditions: The user must be logged in

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

Name Filed Size Format Condition Filed Type


Message 255 String Required Textbox
User ID 30 Integer Required

Table 30 Use case description for sending message.

Use case description for receiving message.

Use Case ID: ETH_SC_NET_031


Use Case Name: Receive message
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_045, RQ_054, RQ_045_1

Actors: System, School Amin’s, School representative, Students and Teachers.


Description: Receive and display a message
Trigger: When the user wants to view message
Preconditions: The user must be logged in.
There must be a message sent to the user.
Normal Flow: 1. The user will login to the system
2. The system will display home with options.
3. The user will choose messaging and notification service option.
4. The system will display list of available users.
5. The system will display a message icon.
6. The user will click on the notification icon.
7. The system will display the message.
Post conditions: The display message and notification of the message.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


Message 255 String Required Textbox
User Name 255 String Required Label

Table 31 Use case description for receiving and displaying message.

62 | P a g e
Use case description for updating/ change shared file.

Use Case ID: ETH_SC_NET_032


Use Case Name: Update shared file
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_041, RQ_050

Actors: System, School Amin’s, School representative, Students and Teachers.


Description: Update previously shared file
Trigger: When the user wants to update/ change shared file
Preconditions: The user must be logged in.
The user must a shared file previously.
Normal Flow: 1. The user will login to the system.
2. The system will display home page with options.
3. The user will choose file sharing option.
4. The system will display available options.
5. The user will select update shared file option.
6. The system will display list of shared files by the user
7. The user will select the specific file to update.
8. The user will update the shared file
9. The user will click update shared file button
10. The system will update the share file
Post conditions: The system updates the shared file.
Priority: Medium

Data dictionary

Name Filed Size Format Condition Filed Type


File Location 255 String Required File

Table 32 Use case description for updating/ changing shared file.

Use case description for removing shared file

Use Case ID: ETH_SC_NET_033


Use Case Name: Remove shared file
Created By: Habtamu and Fitehalew
Date Created: Thursday, 12 April 2018
Requirement number: RQ_001,

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Remove previously shared file
Trigger: When the user wants to remove previously shared file.
Preconditions: The user must be logged in
The user must be a shared file already.

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

Name Filed Size Format Condition Filed Type


File ID 30 Integer
File List Required Checkbox List

Table 33 Use case description for removing shared file.

Use case description for displaying list of model exams.

Use Case ID: ETH_SC_NET_034


Use Case Name: View model exam
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_056

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

Name Filed Size Format Condition Filed Type


Exam Name list Label list
Course Name List Label list

Table 34 Use case description for displaying list of model exams.

Use case description for taking model exam

Use Case ID: ETH_SC_NET_035


Use Case Name: Take model exam
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_057

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

Name Filed Size Format Condition Filed Type


Exam Name list Checkbox list
Course Name List
Selected exams list

Table 35 Use case description for taking model exam online.

65 | P a g e
Use case description for viewing exam progresses

Use Case ID: ETH_SC_NET_036


Use Case Name: View progress
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_001,

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

Name Filed Size Format Condition Filed Type


Exam Name list Checkbox list
Course Name List Label list
Result Double Required Label

Table 36 Use case description for displaying model exam progress/ result.

Use case description for streaming consultation

Use Case ID: ETH_SC_NET_037


Use Case Name: Stream consultation.
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_059

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

Name Filed Size Format Condition Filed Type


Streaming URL 255 String Required

Table 37 Use case description for displaying live consultation

Use case description for uploading model exams

Use Case ID: ETH_SC_NET_038


Use Case Name: Upload model exams
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_083, RQ_060, RQ_061

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

Name Filed Size Format Condition Filed Type


Exam Title 255 String Required Textbox
File location 255 String Required File

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.

Use Case ID: ETH_SC_NET_039


Use Case Name: Start consulting.
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_062

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

Table 39 Use case description for starting live consultation.

Use case description for activating account.

Use Case ID: ETH_SC_NET_040


Use Case Name: Activate account
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_077.

Actors: System Administrator


Description: Activate users account.
Trigger: When the user wants to activate user account.
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 account management option
4. The system will display options of account management module.
5. The user will choose activate account option.
6. The system will display textbox to accept user id.
7. The user will enter user id to activate.
8. The user will click activate account button.
9. The system activates the account.[Alternative course of action if
there is no user with that id]

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

Name Filed Size Format Condition Filed Type


User id 30 Integer Required Textbox

Table 40 Use case description for activating user account.

Use case description for deactivating account.

Use Case ID: ETH_SC_NET_041


Use Case Name: Deactivate account
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_078.

Actors: System Administrator


Description: Deactivate users account.
Trigger: When the user wants to deactivate user account.
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 account management option
4. The system will display options of account management module.
5. The user will choose deactivate account option.
6. The system will display textbox to accept user id.
7. The user will enter user id to deactivate.
8. The user will click deactivate account button
9. The system deactivates the account.[Alternative course of action if
there is no user with that id]
Post conditions: The system deactivates 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

Name Filed Size Format Condition Filed Type


User id 30 Integer Required Textbox

Table 41 Use case description for deactivating user account.

Use case description for generating password.

Use Case ID: ETH_SC_NET_042


Use Case Name: Generating password
Created By: Habtamu and Fitehalew

69 | P a g e
Date Created: Sunday, 08 April 2018
Requirement number: RQ_001,

Actors: System Administrator


Description: Generate password and username for new user.
Trigger: When the user wants to generate password and username
Preconditions: The user must be logged in
Users must be registered on the system to get account.
The users must be new.
Normal Flow: 1. The user will login to the system
2. The system will display home page with options.
3. The user will choose account management option.
4. The system will display options of account management module.
5. The user will choose generate password and username.
6. The system will select new users from the db.[Alternative course of
action if there are no new users]
7. The system will generate password and username automatically.
8. The system will send the account info to every new users via email.
Post conditions: The system generates user accounts
Alternative Flows: 6.1. The system will display appropriate information
6.2. The system will continue from step 4.
Priority: High

Table 42 Use case description for generating user account.

Use case description for changing password.

Use Case ID: ETH_SC_NET_043


Use Case Name: Change password
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_079

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Change current password.
Trigger: When the user wants to change his/her password.
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 account management option.
4. The system will display options of account management module.
5. The user will choose change password.
6. The system will asks for the current password.
7. The user will enter the current password.
8. The system verifies the password. [Alternative course of action if
the password is correct]
9. The system will ask for new password.
10. The user will enter the new password.

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

Name Filed Size Format Condition Filed Type


Current Password 255 String Required Password Filed
New Password 255 String Required Password Filed

Table 43 Use case description for changing password.

Use case description for forgotten password.

Use Case ID: ETH_SC_NET_044


Use Case Name: Forgotten password
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_080

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Recover forgotten password
Trigger: When the user wants to forgotten his/her password.
Normal Flow: 1. The user will click forgotten your password link.
2. The system will accept for his confirmation email.
3. The user will enter the confirmation email address.
4. The system will verify the confirmation email. [Alternative curse of
action if the email is not correct].
5. The system will generate new password.
6. The system will send new password to the recovery email address.
Post conditions: The system sends new password to the email
Alternative Flows: 4.1. The system will display appropriate information
4.2. The system will continue from step 6
Priority: High

Name Filed Size Format Condition Filed Type


Recovery Email 255 String Required Email Filed

Table 44 Use case description for forgotten password.

Use case description for login.

Use Case ID: ETH_SC_NET_045


Use Case Name: Login
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_081.

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.

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

Name Filed Size Format Condition Filed Type


User Name 255 String Required Textbox Filed
Password 255 String Required Password Filed

Table 45 Use case description for logging in to the system.

Use case description for logout

Use Case ID: ETH_SC_NET_046


Use Case Name: Logout
Created By: Habtamu and Fitehalew
Date Created: Sunday, 08 April 2018
Requirement number: RQ_083

Actors: System Administrator, School Administrator, School representative,


Students and Teachers.
Description: Logout from the system.
Trigger: When the user wants to logout of the system.
Preconditions: The user must be logged in.
Normal Flow: 1. The user will click logout link
2. The system will end the session.
3. The system will display the login page.
Post conditions: The user is logged out form the system
Priority: High

Name Filed Size Format Condition Filed Type


Session Id 255 String Required Textbox Filed

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.

Use case diagram for eLibrary module

Figure 43: Use case diagram for eLibrary module

73 | P a g e
Use case diagram for school management module.

Figure 44: Use case diagram for school management module.

Use case diagram for eLearning module.

Figure 45: Use case diagram for eLearning module.

74 | P a g e
Use case diagram for file sharing module.

Figure 46: Use case diagram for file sharing module.

75 | P a g e
Use case diagram for national exam preparation module.

Figure 47: Use case diagram for national examination module.

Use case diagram for security management module.

Figure 48: Use case diagram for security management module.

76 | P a g e
3.5. Entity relationship (ER) diagram

In software engineering, an ER model is commonly formed to represent things that a business


needs to remember in order to perform business processes. Consequently, the ER model
becomes an abstract data model, which defines a data or information structure which can be
implemented in a database, typically a relational database. [10] An entity may be defined as a thing
capable of an independent existence that can be uniquely identified. An entity is an abstraction
from the complexities of a domain. When we speak of an entity, we normally speak of some
aspect of the real world that can be distinguished from other aspects of the real world. [11]

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.”

ER diagram for eLearning module.

Figure 49: ER diagram for eLearning module

78 | P a g e
ER diagram for eLibrary module.

Figure 50: ER diagram for eLibrary module.

ER diagram for school management.

Figure 51: ER diagram for school management module.

79 | P a g e
ER diagram for resource sharing module.

Figure 52: ER diagram for resource sharing module.

80 | P a g e
ER diagram for national exam management module.

Figure 53: ER diagram for national exam management module.

3.6. Class diagram

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

3.7.2. User management and access control

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.

Figure 56: Security techniques

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.

Figure 57: Class type architecture

3.7.4. Deployment diagram


It maps system software artifacts to the hardware that will execute them. Shows a static view of
software components and hardware in their runtime configuration [16]. Models system logical
elements, their physical location, and how they communicate. How the software installed to the
system. In the world of deployment diagrams system refers to the software you develop and the
software and hardware that enable your developed software to run. Deployment diagram
depicts a static view of the run-time configuration of processing nodes and the components that

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.

Figure 58: Deployment diagram

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

You might also like