Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 84

ARBAMINCH INSTITUTE OF TECHNOLOGY (AMIT)

FACULTY OF COMPUTING AND SOFTWARE ENGINEERING


PROJECT TITLE ON:

“Skill Sharing on Cloud Using Android Application for Faculty of


Computing and Software Engineering”
Group Members Name ID No.

1. Misael Dessalegn…………………………… RAMIT/1761/10


2. Meklit Getachew…………………...………..RAMIT/1741/10
3. Yenenesh T/Yohannes………………… … .RAMIT/1867/10
4. Habtamu Defere……………………………..RAMIT/1679/10
5. Bekalu Derjew……………………………….RAMIT/1590/10

Advisor: Mr. Getachew Tewachew

Arba Minch, Ethiopia

June 17, 2022


Declaration
The Project is our own and has not been presented for a degree in any other university and all the sources of
material used for the project/thesis have been duly acknowledged.
------------Misael Dessalegn-------- --------------------------------------------
Name Signature
------------ Meklit Getachew----- -----------------------------------------------
Name Signature
------------Yenenesh T/Yohannes --- ------------------------------------
Name Signature
------------ Habtamu Defere ---------- -----------------------------------------------
Name Signature
------------ Bekalu Derjew ---------- ---------------------------------------------
Name Signature
School: Faculty of Computing and Software Engineering

Program: Software Engineering


Project subject: Skill Sharing on Cloud Using Android Application for Faculty of Computing and Software
Engineering
I certify that this project satisfies all the requirements as a project for the degree of Bachelor of Science.
----------------------------------------------- -----------------------------------------------
Name of program coordinator Signature
This is to certify that I have read this project and that in my opinion it is fully adequate, in scope and quality,
as a project for the degree of Bachelor of Science.

-------------------- Mr. Getachew Tewachew -------------------------- ----------------------------------


SKILL SHARING ON CLOUD USING ANDROID APPLICATION

SKILL SHARING ON CLOUD USING ANDROID APPLICATION


Name of Advisor Signature
Examining committee members Signature Date
1. Chair head --------------------------------------- ------------------ -------------------- 2.

Examiner 1 -------------------------------------- ------------------ --------------------

3. Examiner 2 -------------------------------------- ----------------- --------------------- It is


approved that this project has been written in compliance with the formatting rules laid down by the
Facility of the university

II
Acknowledgement
No one walks alone on the journey of life. First of all, we would like to express our heart full
thanks to “the almighty GOD” for this opportunity, which he renders to us and gives the physical
strength and pleasant mind to complete every phase of the project. Then, we would like to thank
our Advisor of Skill Sharing on Cloud Using Android Application, Mr. Getachew Tewachew for
the valuable guidance, inspiration and advice. Besides, we would like to thank the authority of
Arba Minch University (AMU) for providing us with a good environment and facilities to do this
project.
SKILL SHARING ON CLOUD USING ANDROID APPLICATION
ABSTRACT

IV
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Table of Contents

Chapter 1.........................................................................................................................................1
1. Introduction...............................................................................................................................1
1.1 Background of Organization...........................................................................................2
1.2 Background of Project......................................................................................................2
1.3 Statement of the Problem..................................................................................................4
1.4 Objective of the Project........................................................................................................5
1.4.1 General Objective of the Project.....................................................................................5
1.4.2 Specific Objective of the Project....................................................................................5
1.5 Scope and Significance of the Project..............................................................................5
1.6 Limitation of the Project...................................................................................................6
1.7 Methodology for the Project.............................................................................................6
1.7.1 Data Source.....................................................................................................................6
1.7.2 Fact Finding Techniques.................................................................................................6
1.7.3 Development Tools.........................................................................................................7
1.8 Significance of the Project................................................................................................9
1.9 Target Beneficiaries of the System...................................................................................9
1.10 Feasibility Analysis............................................................................................................9
1.10.1 Operational Feasibility................................................................................................10
1.10.2 Technical Feasibility...................................................................................................10
1.10.3 Economic Feasibility..................................................................................................11
1.10.4 Schedule Feasibility....................................................................................................12
1.11 Team Composition............................................................................................................13
Chapter 2.......................................................................................................................................15
2.1 Introduction to the Existing System................................................................................15
2.2 Existing System.............................................................................................................15
2.3 Business Rules................................................................................................................15
2.4 Function of Existing System...........................................................................................16
2.5 Players in the Existing System........................................................................................16

V
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

2.6 Strength and Weakness of the Existing System.............................................................16


2.6.1 Strength of the Existing System....................................................................................16
2.6.2 Weakness of the Existing System.................................................................................17
2.7 Solutions of Existing System..........................................................................................17
2.8 Requirements of the Proposed System...........................................................................18
2.8.1 Functional Requirements..............................................................................................18
2.8.2 Non-functional Requirements.......................................................................................18
Chapter 3.......................................................................................................................................19
System Analysis and Modeling...................................................................................................19
3.1 Introduction.....................................................................................................................19
3.1.1 Constraints....................................................................................................................19
3.1.2 Assumptions and Dependencies...................................................................................20
3.2 User Characteristics........................................................................................................20
3.3 System Modeling............................................................................................................20
3.4 System Requirement Specifications....................................................................................22
3.4.1 Use case Diagrams............................................................................................................22
3.4.2 Use case Description.....................................................................................................23
3.4.3 Sequence Diagram........................................................................................................29
3.4.4 Activity Diagram..........................................................................................................33
Chapter 4.......................................................................................................................................40
System Design...............................................................................................................................40
4.1 Introduction.....................................................................................................................40
4.2 Purpose of the System Design........................................................................................40
4.3 Design goals....................................................................................................................40
4.4 Class Type Architecture..................................................................................................41
4.4.1 User Interface Layer.....................................................................................................41
4.4.2 Domain Layer...............................................................................................................41
4.4.3 Process Layer................................................................................................................41
4.4.4 Persistence Layer..........................................................................................................41
4.4.5 System Layer................................................................................................................41
4.5 Class Modeling...............................................................................................................42

VI
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

4.5.1 State chart diagram.......................................................................................................43


4.5.2 Collaboration diagram..................................................................................................45
4.5.3 Component Diagram.....................................................................................................48
4.5.4 Deployment diagram.....................................................................................................49
4.5.5 Persistent modeling (database design)..........................................................................49
4.6 User Interface design...........................................................................................................55
4.6.1 Splash screen and login user interface design...............................................................55
Chapter 5.......................................................................................................................................61
Implementation and Testing..........................................................................................................61
5.1 Introduction.........................................................................................................................61
5.1.1 React JS.........................................................................................................................61
5.1.2 React Native..................................................................................................................61
5.1.3 Node js..........................................................................................................................61
5.1.4 Expo..............................................................................................................................61
5.1.5 Expo Go........................................................................................................................62
5.1.6 Cloud Fire store.............................................................................................................62
5.2 Implementation of Functions...............................................................................................62
5.3 Testing.................................................................................................................................62
5.3.1 Unit testing....................................................................................................................62
5.3.2 Integration Testing........................................................................................................66
5.3.3 Volume testing..............................................................................................................66
5.3.4 System testing...............................................................................................................66
5.4 Hardware and software acquisitions....................................................................................66
5.5 User manual preparation......................................................................................................67
5.6 Training...............................................................................................................................67
5.7 Installation Process..............................................................................................................67
5.8 Start-up strategy...................................................................................................................67
Chapter 6.......................................................................................................................................68
Conclusions and Recommendations..............................................................................................68
6.1 Conclusions.........................................................................................................................68
6.2 Recommendations...............................................................................................................68

VII
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

References.....................................................................................................................................69
Appendix.......................................................................................................................................70

List of Figures
Figure3. 1 Use case Diagram ........................................................................................................
33
Figure3. 2 Sequence Diagram for Add Course .............................................................................
40
Figure3. 3 sequence diagram for view course ..............................................................................
41
Figure3. 4 Sequence Diagram for Take IQ Question ...................................................................
42
Figure3. 5 Sequence Diagram for Enroll Course ..........................................................................
43
Figure3. 6 Activity Diagram for Login .........................................................................................
44
Figure3. 7 Activity Diagram for Add Course and Book ...............................................................
45
Figure3. 8 Activity Diagram for Manage System .........................................................................
46
Figure3. 9 Activity Diagram for Search and Enroll Course .........................................................
47
Figure3. 10 conceptual modeling (class diagram) ........................................................................
48
Figure3. 11 user interface prototyping for SSCUAA ................................................................. 49
Figure 4. 1 Class type architecture of SSCUAA ……………………………………………….. 52
Figure 4. 2 conceptual(class) modeling 53
Figure 4. 3 state chart diagram for login 54
Figure 4. 4 state chart diagram for certification 54
Figure 4. 5 state chart diagram for take IQ 55
Figure 4. 6 collaboration diagram for enroll course 56
Figure 4. 7 collaboration diagram for add course 56
Figure 4. 8 collaboration diagram for view course 57

VIII
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 9 collaboration diagram for take IQ 58


Figure 4. 10 component diagram 59
Figure 4. 11 deployment diagram 60
Figure 4. 12 persistence modeling 65
Figure 4. 13 sign up page 67
Figure 4. 14 login page 67
Figure 4. 15 home page 67
Figure 4. 16 course page 67
Figure 4. 17 package page 68
Figure 4. 18 search page 68
Figure 4. 19 setting page 68
Figure 4. 20 account page 68
Figure 4. 21 IDE page 69
Figure 4. 22 feedback page 69
Figure 4. 23 live page 69
Figure 4. 24 live page 69
Figure 4. 25 Welcome page for admin 70
Figure 4. 26 Account page for chair head 70
Figure 4. 27 Fire base and components 71
Figure 4. 30 Fire base analytics 71
Figure 4. 28 our team page 70
Figure 4. 29 Home page for Chair 70

IX
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

List of Tables
Table 1-1 Technical Feasibility ...................................................................................................
20
Table 1-2 Hardware Requirements Cost .......................................................................................
21
Table 1-3: Software Requirements Cost .......................................................................................
21
Table 1-4 Team Composition .......................................................................................................
23
Table 3-1 Login Use case Description ..........................................................................................
34
Table 3-2 Add Course Use case Description ................................................................................
35
Table 3-3 Enroll Course Use case Description .............................................................................
35
Table 3-4 Take IQ Question Use case Description .......................................................................
36
Table 3-5 Reset Password Use case Description ..........................................................................
36
Table 3-6 View Course Use case Description ..............................................................................
37
Table 3-7 Add Book Use case Description ...................................................................................
38 Table 3-8 Certify User Use case Description ...............................................................................
38

Table 4- 1 Database Design ..........................................................................................................


62
Table 4- 2 Test case log In ............................................................................................................
74
Table 4- 3 Test case Add course ...................................................................................................
75
Table 4- 4 Test case for Quiz ........................................................................................................
76
Table 4- 5 Test case for Book .......................................................................................................
76
X
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

List of Acronyms
AMIT--------Arba Minch Institute Technology

AMU---------Arba Minch University

APP----------Application

AWTI--------Arba Minch Water Technology Institute

IT-------------Information Technology

IDE------------Integrated Development Environment

IQ ------------Intelligence Question

JS-------------Java Script

PDF----------Portable Document Format

SDD-----------System Design Document

SI-------------System Interface

SSCUAA------------Skill Sharing on Cloud Using Android Application

UC---------------Use case

UI--------------User Interface

UML-------- Unified Modeling Language

URL-----------Uniform Resource Locator

XI
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 1
1. Introduction
Cloud storage is a cloud computing model that stores data on the Internet through a cloud
computing provider who manages and operates data storage as a service. It’s delivered on
demand with just-in-time capacity and costs, and eliminates buying and managing your own data
storage infrastructure. This gives you agility, global scale and durability, with “anytime,
anywhere” data access.

Automation is the utilization of technology to replace human with a medicine that can perform
more quickly and more continuously and changing traditional way of skill sharing to modern and
digital by automating different available courses to all students. Skill share allows students to
instantly access and inspire themselves and check Intelligent Question (IQ) question test on
remote servers, their backups are lighter and they can work from where ever there’s an internet
connection.

The reasons why we choose cloud-based skill share application are:

• Total cost of ownership: - With cloud storage, there is no hardware to purchase, storage
to provision, or capital being used for "someday" scenarios. You can add or remove
capacity on demand, quickly change performance and retention characteristics, and only
pay for storage that you actually use. Less frequently accessed data can even be
automatically moved to lower cost tiers in accordance with auditable rules, driving
economies of scale.
• Time to deployment: - When development teams are ready to execute, infrastructure
should never slow them down. Cloud storage allows Information Technology (IT) to
quickly deliver the exact amount of storage needed, right when it's needed. This allows
IT to focus on solving complex application problems instead of having to manage storage
systems.
• Information management: - Centralizing storage in the cloud creates a tremendous
leverage point for new use cases. Using cloud storage lifecycle management policies, you
can perform powerful information management tasks including automated tiering or
locking down data in support of compliance requirements.

1
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

• Durability:- Data is redundantly stored, ideally across multiple facilities and multiple
devices in each facility. Natural disasters, human error, or mechanical faults should not
result in data loss.
• Availability:- All data are available when needed, but there is a difference between
production data and archives. The ideal cloud storage will deliver the right balance of
retrieval times and cost.
• Security:- All data is secured. Permissions and access controls should work just as well
in the cloud as they do for on premises storage.
• Backup and recovery:- Backup and recovery is a critical part of ensuring data is protected
and accessible, but keeping up with increasing capacity requirements can be a constant
challenge. Cloud storage brings low cost, high durability, and extreme scale to backup
and recovery solutions [1].

1.1 Background of Organization


Arba Minch University is located in Arba Minch town which is located 505 km South West from
Addis Ababa, the capital of Ethiopia. The university was established as Arba Minch Water
Technology Institute (AWTI) in 1986 to address water-related issues.

In 2004, Arba Minch Institute of Technology (AMIT) was scaled up to full-fledged university
and it was renamed as Arba Minch University and thereafter, different colleges came into being.
College of Business & Economics and College of Social Sciences & Humanities came into being
in 2004. Faculty of Education and Faculty of Applied Sciences which were established in 2005
got transformed into College of Social Sciences & Humanities; College of Agricultural Sciences
came into being in 2007, while College of Medicine & Health Sciences and College of Natural &
Computational Sciences were established in 2009. Sawla Campus, located at Sawla town in Gofa
Zone was inaugurated on November 5, 2016. At present, AMU has two institutes i.e. Institute of
Water Technology and Institute of Technology and six colleges [2].

1.2 Background of Project


Over the years, technology has revolutionized our world and daily lives. Additionally,
technology for seniors has created amazing tools and resources, putting useful information at our
fingertips. Computers are increasingly faster, more portable, and higher-powered than ever

2
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

before. With all of these revolutions, technology has also made our lives easier, faster, better, and
more fun.

Cloud storage is a cloud computing model that stores data on the Internet through a cloud
computing provider who manages and operates data storage as a service. It’s delivered on
demand with just-in-time capacity and costs, and eliminates buying and managing your own data
storage infrastructure i.e., hardware server, backup disk. This gives you agility, global scale and
durability, with “anytime, anywhere” data access.

In Ethiopia there is no well-organized science and technology information source or system as


required by manufacturing and service providing enterprises, higher education, researcher
institutes and other entities. These days, our generation seeks about technology too much. Many
high school and university students want to join technology institution faculty like software
engineering and computer science. But they don’t know how to conduct well organized
programming sessions practically.

When we start to develop this application, we have a reason. We all know that all software
applications have intended solution. Our application focuses on students in computing faculty
who want to learn and who has an access of getting android phones. Why we focus on students is
that many of them studies in the faculty of computing and software engineering, they need
additional course tutorials to enhance their skill. our project opens a door to learn online at
anytime and anywhere they can.

When we come to how our app works, any student can enroll to his/her favorite course/courses
after login to our system. After enrolling the course, the student will conduct enough video
tutorials, resources, online programming, Integrated Development Environment IDE/compiler
and book store. These tutorials are stored in our cloud storage. The IQ question part has its own
pre-requisites and this IQ question provides to help learner by measuring their knowledge in
relevant skills, Role IQ question tells them what level they're at and shows them what skills you
need to work on to build their expertise. Meaning, if a student can’t score enough, he/she must
go back to the video and see it again. So, the student will conduct those courses until he/she
become skilled as computing student. Finally, there will be certify after conducting all measures.
user certification ensures or to announce that an individual is competent in both the subject
matter and completed enroll course effectively. That is why it is crucial for user to enroll courses

3
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

and skill up on this platform. Our application (APP) is not only for students but also Providing
skill development resources to lecture and other faculty that involve in technology community
who have difficult to skill up because of time and resource.

1.3 Statement of the Problem


We developed this application to make awareness among students about effective way of using
skill share applications. This app gives hint and awareness how to be good computing student or
software developer at the end.

With the advent in technology and with the perpetual increase in the strength of the students and
the number of course. It is laborious to exchange the study materials between the students and
the teacher.

SSCUAA is to help the students more skilled and knowledgeable in addition to manual methods
of learning. It makes them accustomed to the internet where the tutorial for their respective
subjects is easily available. It provides an automation procedure of studying the tutorial online.
The implementation of skill sharing on cloud using android application (SSCUAA) helps the
students. So that, they can gain access to these tutorials by searching for the name of the file
under their respective course.

This project not only helps to facilitate easier access to tutorial for the students but also helps
cutting down on expenditure for the universities as well. The exponential growth of data has
created it vital for learning to require place quickly. Facing this challenge needs new wondering
however we tend to acquire information and skills additionally as how we develop learning
resources that contend with the knowledge-based economy. The emergence of cloud-computing
and also the mobile application has greatly influenced the manner information delivered.

In general, the project team have tried to mention some problems of the learning and lecturing
way by using the primary and secondary methodologies like observation, interview and data
analysis.
❖ Students do not have information the opportunity to learn advancing technology online.
❖ Difficult to know gap of their knowledge and skill up on that direction
❖ Difficult to get related course on offline school so that difficult to skill up.

4
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

❖ No recording or any other form of data is not always available for students who missed the class
or later references.
❖ Absentees from class have adverse effects on the student’s academic performance. ❖ Students
get too dependent on the teacher.
❖ Limited choice of courses
❖ In offline classes, the timings are fixed and there is no leniency. Although there is a higher
dropout rate among those students. same of reason is not available lab material facility with in
number of student and not to get additional tutorial.
❖ Difficult to get easily skill share platform based of geographical area.

1.4 Objective of the Project


1.4.1 General Objective of the Project
The general objective of this project is to develop skill sharing on cloud using android application for
faculty of computing and software engineering to help the students.

1.4.2 Specific Objective of the Project


❖ Enhance the quality of learning and teaching
❖ Meet/changed the learning style or needs of users.
❖ Improve the efficiency and effectiveness of way of learning.
❖ Improve user-accessibility, cost-effective and time flexibility to engage learners in the
learning process.
❖ Provide Resources and Links
❖ Change and increase a way of life and study oneself.
❖ Increase user confidence, competence, and self-esteem.
❖ Reduce anxiety about tests and deadlines. By developing effective study skills IQ.
❖ User to Surround themselves with like-minded people.
❖ User to Study what they love – love what they do.

1.5 Scope and Significance of the Project


Scope
This project is delimited SSCUAA for AMIT. SSCUAA is intended for those Students who are
planning to automate their educational activities and skill up their knowledge but due to lack of
course resources and due to poor time manage. Cloud School is part of a big educational system

5
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

which is becoming larger due to increasing competition and educational awareness among
people.
Significance
This system provided a centralized system for every student and lecture courses provide and
managed itself by machine learning on cloud function that makes analytics. Also due to no
charge for the services which is to enroll course and skill up.
Our system is developed to enhance current learning teaching system by using cloud-based mechanism.
Our system did not include online education payment system, offline support system, classroom and
full lab tools.

1.6 Limitation of the Project


Limitations are the constraints of the study that is aspects of the study not covered for various
reasons as well as limitations and the boundary of the system. Based on this concept the man
limitation of this project is: -
• shortage of time
• Economical factor for buying storage to implement more
• Every implementation requires internet connection because of storage in cloud.
1.7 Methodology for the Project
1.7.1 Data Source
To do this project, the project team used data collection methodology to gather the necessary
information that are needed to develop the project. The methodologies used to gather
information were primary & secondary sources.
The methods we employed in the data collection are questioners, interviews and document of
analysis that were references or indirectly related with Cloud school and skill Sharing App
system.
1.7.2 Fact Finding Techniques
❖ Interview
As an interview is the face-to-face inter personal meeting designed to identify relations and
capture information as it exists, we have conducted a face to face inter personal meeting
designed to identify whether it is flexible tool, offering a better opportunity than the
questionnaire to evaluate the validity of the information gathered. This tool is used because it

6
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

is superior technique for capturing information as it exists and it is also an exploratory device
to identify or verify information.

✓ Guidelines for interviews:


✓ Who will be interviewed?
✓ In what order will they be interviewed?
✓ What specific questions will be asked in each interview?

we gathered data by interviewing the FCSE members. They give us information about how the existing
system works, limitation, strength and weakness.

The FCSE members who are participate in interview are students and other faculty members.
Most of them need a system that can help to enhance their skill and skill sharing ways. They are
open to accept a skill enhancing mechanism as they are on the way of updating their practical
knowledge.

Questionnaires

We conduct a sample of questionnaires which is listed in the index page and answers from 100
people 86% people are interested in online course sharing. This questionary includes two types
of people student and faculty staffs who need to skill up themselves. The reasons why they don’t
up their skill are time, lack of well-organized tutorial and lack of knowing their gaps. So that
most students and staff members in FCSE need system or platform that fix such problem or
provide solution.

6 % of people are either interested in online course or not interested in online course. finally, 8%
of people are not interested in online course that make solution to skill up. so that developing a
platform that provide course using cloud computing is most effective way to address those
people in FCSE.

1.7.3 Development Tools


Our development team uses the following development tool. Since SSCUAA is a big project, we
designed an interactive Android Application and web Based Admin Panel that user can easily get
information from the Mobile Based Application and interact with the Course. An interactive
Android Application and web Based Admin Panel design requires the following: -

7
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

❖ Application Development software


❖ Web Development software
❖ Cloud computing and storage system
❖ Client-side language
For this specific project we have used:-
❖ Google Analytics
❖ React scripting language Framework
❖ Cloud Firebase system
❖ Visual Paradigm
1.7.3.1 Cloud Firebase
There are several types of cloud Storage that are used for storing site and able to distribute
resource. But, for this project we are choosing Cloud Firebase Google product to design our
database [3].
Because: -
▪ It’s a NoSQL document database that lets easily store, sync, and query data for mobile and web
apps - at global scale.
▪ Easily run mobile backend code without managing servers
▪ It’s Structure data easily with collections and documents. Build hierarchies to store related data and
easily retrieve the data that need using expressive queries.
▪ Its ships with mobile and web software development kits and a comprehensive set of security rules
so can access database without needing to stand up our own server.
▪ Powered by Google's storage infrastructure
▪ Strong user-based security
▪ It supports Real-time Database.
1.7.3.2 React Script Language Framework
There are several reasons to use React Script
language
▪ It’s quick and powerful.
▪ It’s improving all the time.
▪ It’s free.

8
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

▪ React has a JavaScript library for building user interfaces.


▪ React makes it painless to create interactive User Interface (UIs). Design simple views for each
state in your application, and react will efficiently update and render just the right components
when your data changes.
▪ Declarative views make code more predictable and easier to debug.
▪ Build encapsulated components that manage their own state, then compose them to make complex
UIs.
▪ React can also render on the server using Node and power mobile apps using React Native [4].
1.7.3.3 Visual Paradigm
▪ Powerful
▪ Fully-featured drawing app that will suit for users
▪ Organizations with varied drawing requirements

1.8 Significance of the Project


The importance of this project is to solve a problem within the faculty of computing by
enhancing skill sharing and education learning way or automated SSCUAA. It is much more
significant to:
• Long-term cost savings
• Cost reduction is a top benefit of cloud education software.
• Easy access and resource availability
• Scalability
• Modernizing learning environments
• To facilitate Skill sharing ways and able to access them anywhere and anytime.
• Help student with in faculty able to know their skill, developing or updating area by IQ question
test and make them to get related course based on their IQ question score.

1.9 Target Beneficiaries of the System


• Faculty of computing and software engineering
1.10 Feasibility Analysis
Feasibility study is the process of determination of whether or not a project is worth doing.
Feasibility study is a step towards identification of the candidate system as a feasible product.
There are many types of feasibility study.

9
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

1.10.1 Operational Feasibility


It is a measure of how well a proposed system solves the problems and takes advantage of the
opportunities identified during scope definition and how it satisfies the requirements identified in
the requirements analysis phase of system development. Process in SSCUAA, evaluate –by
comparing the existing system, the new SSCUAA can satisfy all the need?
➢ What changes will be brought with the system
➢ Implementation:-to implement SSCUAA system, we need to know the android mobile phone
and internet resource.
➢ Strategies:- here, our aim of developing these systems rather than the previous is to make all
users applicable or fully satisfied with it.

1.10.2 Technical Feasibility


A study of resource availability that may affect the ability to achieve an acceptable system. We have
an evaluation that determines whether the technology for the our system is available or not.

➢ SSCUAA is done with current equipment existing software technology & hardware.
➢ It is technically feasible to upgrade.

Table 1-1 Technical Feasibility


Risk Name Risk Management

Failure to attain expected benefits from the project Reviewing /Feedback mechanism of the project
procurers

Inaccurate project cost estimates Allocating budgets for each task

Inaccurate project duration estimates Breaking tasks into section

Failure to achieve adequately system performance Applying new/modified procedure


levels.

Failure to integrate with the existing hardware, or Using the version of them
software

10
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

1.10.3 Economic Feasibility


Economic feasibility identifies that whether the new developing system is economically feasible or
not so that our system is economically feasible: -
➢ FCSE will not purchase infrastructure devices like server, storage device. But they will
pay minimum amount of fee for the service only to use for cloud organization providers.
Therefore, the main advantage of this project is digitalizing skill sharing in order to
minimum cost required for additional tutorial, resource and it saves time that can be spent
during finding related course.
1.10.3.1 Cost of the Project
❖ Hardware Requirements
Table 1-2 Hardware Requirements Cost
No Materials used Amount Price per Birr Total cost

1 Dell Computer 1 15000 15,000

2 Pen 5 10 50

3 Document print 3 80 240

4 Flash Disk 1(4 GB ) 250 250

Total 15,540

❖ Software Requirements
Table 1-3: Software Requirements Cost
No Materials used Price per Birr

1 Microsoft Word 2021 Free

2 Visual Studio /Android Free

3 Visual paradigm Free

4 Cloud Storge and server Free

11
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

6 Mozilla Firefox Free

7 Chrome Free

8 Google Analytics Free

Total 0

1.10.4 Schedule Feasibility


Time evaluation is the most important consideration in the development of project. The time
schedule required for the developed of this project is very important since more development
time effect machine time, cost and cause delay in the development of other systems. SSCUAA is
developed in the considerable amount of time.
To overcome difficulty in cost estimation and financial problem, we fixed the time interval in
which we should finish the development of the whole time among different section of project by
using the techniques of schedule like Gant chart.
Table 1:5: Project Schedule Table

4 Submit 10/3/2022 1 week 17/3/2022


Document

12
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

5 System Design 05/4/2022 3 weeks 26/4/2022

6 Implementation 30/4/2022 4 weeks 30/5/2022


And Testing

7 Conclusion and 02/6/2022 2 weeks 16/6/2022


Recommendation

1.11 Team Composition


Our Team work is involving five (5) persons in a process to achieve a goal. An aspect that should
be emphasized in the strategic management of SSCUAA is forming a working team that is active
and able to work together to achieve Our project goals. The success of the efforts of a group that
was formed, the spirit of cooperation and good relations among group members need to be
nurtured.

The following are the types of tasks and as well as the responsibility each of us had.

Table 1-4 Team Composition


Title Student Assistant Application (SAA)

Prepared No. Name ID. No. Email/Mobile Activates Responsibility


By
1 Misael Dessalegn 1761/10 +251-99 450 Coding and Team Leader and
Deployment Developer
8849

2 Meklit Getachew 1741/10 +251-98 034 Documentation Scrum Master/UI


and Testing Designerss
9508

3 Yenenesh 1867/10 +251-97 062 Testing and Software


T/Yohannes Deployment Architect
1389

4 Habtamu Defere 1679/10 +251-92 229 Code Review Developer


4425 and Hosting

13
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

5 Bekalu Derejew 1590/10 +251-91 230 Document Quality Assurance


1838 Review

Date March,7,2022 GC

Advisor Mr.Getachew Email Mobile +251 964070040


Tewachew

14
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 2
Description of The
Existing System
2.1 Introduction to the Existing System
The main purpose of studying the existing system is to understand the existing system problems,
to develop a system that efficiently performs activities of the current one and also to enhance the
existing system in order to enable students with in faculty are more aware and help them in
developing of their skill.

2.2 Existing System


Our existing system is learning-teaching methodology of AMU institute of technology, faculty of
computing and software engineering. In this section, we described over all description about the
existing system.

2.3 Business Rules


A business rules is effectively an operating principle or polices that must be fulfill and obligate in
order the system will function properly and effectively. As a campus it has its own rule and
regulation for guiding the skill up. In this case, we were listed some of the business rules related
to FCSE skill up.

BR1:- Student with in faculty must take courses by coming to class based on the given schedule.

BR2:- Student with in faculty must have every assessment from the beginning to the end of
the course.

BR3:- Instructors must teach their course based on the given schedule.

BR5:- Instructors must pass student’s with in faculty grade to the faculty.

BR6:- Faculty must approve student’s grade and pass it to registrar.

BR7:- Registrar must register student who has approved grade from faculty.

This is how FCSE works to skill up students and let them to know their gap between
previous with their current status. In addition to this, there is portal system which helps
students to get resources used by FCSE. It is a web-based, local and doesn’t certify. It has

15
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

bulky management. It is not always active in needy times. Based on above reasons, we
developed SSCUAA which is android-based and global competent system.

2.4 Function of Existing System


AMU institute of technology, faculty of computing and software engineering performs so many
activities in its teaching-learning methodology from the beginning to the end. here are some
functionalities of the existing system.

• It forms schedules for class beginning, ongoing classes, class ending, final examinations.
• It provides class rooms and laboratory rooms for students.
• It arranges new students based on their faculty and give their unique section.
• It stores students’ information and instructor’s information.
• It gives a scholarship for some instructors to learn in foreign countries in master’s program.
• It coordinates instructors to teach their students and provide a mechanism to evaluate them.
• Finally, it leads students to their graduation day by evaluating them in different mechanisms. i.e.,
giving final projects and defenses them.

2.5 Players in the Existing System


The main players in the existing system includes the following.

• Students with in faculty (computer science, software engineering and IT)


• Teachers are employees of the university in the faculty which feed knowledge to students.
• Faculty dean is a person who manage, coordinate and evaluate each employee and activity in the
faculty
• Chair heads are coordinators of departments which take decisions about students and other
department issues.
• Secretary is a person who runs communication between faculty dean with other stakeholders and
students.

2.6 Strength and Weakness of the Existing System


2.6.1 Strength of the Existing System
Even though the current system has its own problems and difficulties it has also strong sides.
And also, it has benefits that can be transferred directly or with some modification to the new
cloud skill share system. The existing system has the following strength:

16
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

• Since the teaching-learning methodology of some instructors is best, it gives us an opportunity of


getting resources easily.
• Arranging instructors from different countries like Ethiopia, India and Philippine is so good. That
made students multidimensional by taking experiences.

2.6.2 Weakness of the Existing System


• It is difficult to make students enough skilled.
• It is difficult to find enough course materials in one place.
• There is no awareness for students about the courses they are learning before class started. That
made them close minded.
• Students who want to develop computing skills in other faculty have no access of developing skills
in computing courses.

2.7 Solutions of Existing System


When we develop SSCUAA, it was not about changing overall teaching-learning methodology.
The aim of SSCUAA is to enhance the teaching-learning methodologies by adding some skill
developing mechanisms in addition to the current system.

Some solutions for existing system are:

• Students are aware enough about the courses they are taking.
• There are enough course materials and skill developing tools in our cloud skill share application
(video tutorials, books, online IDE etc.).
• It allows students to measure their skill gap and helps them to improve it.
• It focuses on skill-based evaluation system rather than mark/grade-based evaluation system
• It make students more confident about the course they are learning.
• It fills the gap between instructors and students.

Despite the fact that the above suggested solution is enhancing skill up student and sharing
way in to the computing faculty. So, having this in mind, our team suggested that, AMU
institute of technology, faculty of computing and software engineering to use SSCUAA.

17
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

2.8 Requirements of the Proposed System


2.8.1 Functional Requirements
Functional requirements are system requirements which define what the system functional
components perform on the given input to produce efficient, effective and quality outputs. A
functional requirement specifies what the system should do. The functional requirements are
functions or features that the system must include to satisfy the system need and to be acceptable
by the user. Here some functional requirements are listed:

• Add chair head


• Add course materials to cloud storage
• Add IQ questions
• Manage system (create account, delete account, update account)
• Manage feedback
• Allow Login and Logout
• Make analysis (course analysis, geographic analysis, layout analysis, device analysis)
• Verify user registration
• Provide IDE/compiler
• Search and view course and book
• Enroll course
• Reset password information
• Static certificate generator API

2.8.2 Non-functional Requirements


❖ Performance
Increase users’ satisfaction by providing 24 hours’ services within a minimum time of
Accessing, no costs and time waste by providing access to system in available place and
time where internet connection is available.
❖ User Interface
The developed system provides android-based user interfaces that are compatible on
smart phones. The users or who navigate the other interface of the system to retrieve the
collections of the system are also expected to know basic understanding on how to
navigate the system using the developed android application.
❖ Security and Access permissions

18
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Username and password ensure the security of system. User must enter valid user name
and password to login to system. Without this, access to the system is denied. System
allows only registered users to access system and also allows the users to view their own
profile not the other users’ profile.
❖ Backup and Recovery
When team member stands to develop a system, they must have to put use a backup
mechanism by using removable flash disks because the system will be lost due to viruses
or power fluctuations. The other thing is recovery of recorded files which may lose
because of viruses or other data destroying phenomena’s.

19
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 3
System Analysis
and Modeling
3.1 Introduction
As mentioned in chapter one, we used object-oriented system Development Methodology which
includes object-oriented analysis and object-oriented design. In this chapter, the system is
analyzed using different Unified Modeling Language (UML) analysis modeling techniques,
which, includes, use case diagram, Use case description, sequence diagram, activity diagram, and
analysis class diagram. We identify the actors and their interaction with system in the use case
diagram. Using the above-mentioned UML diagrams, we represent the information flow classes
and method.

3.1.1 Constraints
The Information of all users, courses, and other related tasks must be stored in a cloud database.
Users must have their correct usernames and passwords to enter into their accounts. The interface
is provided only in English Language.

❖ Only the registered user has the privilege to access the full facilities of the system.
❖ Internet connection
❖ Smart phone

3.1.2 Assumptions and Dependencies


3.1.2.1 Assumptions
As we test the system, it is assumed that:

❖ Students will be able to see every available platform online.


❖ Most of the student will have internet connection to approach our android application.
❖ Most of the student will visit SSCUAA who are interested to develop their skills in computing
courses.
❖ User will be able to search any course by name and have full access of that course to learn.

20
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.1.2.2 Dependencies

• Proper working of this app is dependent on the internet connectivity of the user’s phone.
• The use of this application depends on smart phone.

3.2 User Characteristics


❖ Admin:- The admin has all access to this System. The admin provides the access
permission to the users who are students and chair head who coordinate functionalities.
They also manage the cloud storage.
❖ Chair head:- are the second admin to this system, but with less access control than the
admin. They are chosen by the admin to provide the privilege like to add, delete and
update student information. Chair heads are logged using their email and password
provided.
❖ Cloud server:- is a cloud storage provider that verifies user, certify, provide IDE and
make analysis of the whole system.
❖ Student:- The students are the end user entity; they have the access right to enroll,
search, view courses. And also, they will have the right to add feedback, use IDE, view
path and profile, and take an IQ question on their favorite courses.

3.3 System Modeling


In this section the developers introduce the proposed system with UML system models. System
models describe the model of this envisioned system. For the new system model the team used
use-case models, sequence diagrams, activity diagram and class modelling. Actors are the
internal users, external users or other systems that have direct relationship with the system. The
actors that will involve in the system are:

• Admin
• Chair head
• Cloud server and
• Student

Use case identification the use cases of our system are the following:

• Login
• Reset password

21
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

• Enroll course
• Search course
• View course
• Take IQ question
• View profile
• Add feedback
• View book store
• Use IDE
• View path
• Logout
• Verify user
• Provide IDE
• Make analysis (course analysis, geographic analysis, layout analysis, device analysis)
• Add chair head
• Add course
• Add books
• View analytics
• View feedback
• Manage system (Create account, Delete account)

3.4 System Requirement Specifications


3.4.1 Use case Diagrams
A use case is a case (situation) where our system is used to fulfill one or more of our user’s
requirements; a use case captures a piece of functionality that the system provides. Use cases are
at the heart of our model, since they affect and guide all of the other elements with our system’s
design. The use case of cloud skill sharing system in AMU faculty of computing looks as follow.

3.4.1.1 Use case diagram.

22
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure3. 1 Use case Diagram


3.4.2 Use case Description
The Use Case Description is a business document which provides a story of how a system, and
its actors,are utilized to achieve a specific goal. An effective Use Case should provide a detailed
step-by-step description of how the system is used by its actors to achieve the planned outcome.
The purpose of the Use Case is to tie the business needs of the system to the design parameters

23
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

of the system to ensure that the completed system achieves the goals established by the business
requirements.

This Use Case template provides you with everything you need to develop your Use Case Document.

3.4.2.1 Login Use case Description


Table 3-1 Login Use case Description
Use case ID UC-01

Use case Name Login

Actor Admin, Chair head, Student,


Description All the Admin, Chair head and Students should login to system to
access the services provided by administrator.

Goal User access his or her page


Precondition Users must have an account
Each user must have a valid user id and password.
Users must know the username and password
Post condition User successfully logged into the system
Corresponding Pages for Admin, Chair head, and Student will be
displayed.
Basic course of action Actor action System responses
1. The users clicks Login link.
2.The system displays Login
3. The user fills his/her first and form
last name, user name, password.
5.The system authenticate all
4. Click submit button. data. Otherwise,
6. The system displays the
appropriate home page. 7. The
use case ends

Alternative flow
5.1. The username/password is
invalid.
5.2. The system displays error
message.
5.3. The system continues at
step 3 to fill user name and
password again.
Exit condition Exit

3.4.2.2 Add Course Use case Description

Table 3-2 Add Course Use case Description

24
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Use case ID UC-02

Use case Name Add course

Actor Admin, Chair head

Description All the Admin and chair head can add the course.

Goal Add the course


Precondition The admin should have full information about the newly adding courses
Admin must have an account.
Admin should log in to his account.
Post condition Admin checks if the courses are added successfully.
Courses are added
Basic course of action Actor action System responses
1. Admin clicks on course add button
2.The system displays
3. Admin fill the form information add course form
i.e., course name, course –Id
5.The system will add the
4. Click submit button. course-to-course subscription
list
6. The use case ends
Exit condition Exit

3.4.2.3 Enroll Course Use case Description


Table 3-3 Enroll Course Use case Description
Enroll course
Name
UC-03
Identifier
Student
Actor
Description Enroll course used to access a specific course.
Student access a course she/he subscribes/enrolls
Goal
student must login.
Precondition
➢ The user will access enrolled course
Post condition
Basic course of Actor action System responses

25
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

action 1.The student clicks on course


2.The system displays list of
subscription button.
courses.
3. Student clicks on his/her favorite
5.The system approves enrolled
course.
course.
4. Click subscribe button. 6. The system displays to
course that the student subscribes
in detail
7. The use case ends.

Exit condition Exit


3.4.2.4 Take IQ Use case Description
Table 3-4 Take IQ Use case Description
Name Take IQ question

Identifier UC-04

Actor Student

Description Take IQ question used to evaluate/measure the student.

Goal Student evaluates his/her skills by taking IQ question.

Precondition student must follow all course tutorials and lectures.

Post condition ➢ The student will pass the IQ question.


Basic course of action Actor action System responses
1.The student clicks on take IQ 2.The system displays list of
question button. questions.
3. Student fill alternative answers 5.The system approves the
of questions.
student passes IQ question.
4. Click submit button. Otherwise,
7. click on “practice makes perfect” 6. Display “practice makes
button and take IQ question again. perfect” button.
8. The use case ends.
Alternative course of action
5.1. fill in all questions to pass
the IQ question.
5.2. you have got underscore.
return to course tutorials and
take IQ question again.
3.4.2.5 Reset Password Use case Description
Table 3-5 Reset Password Use case Description

Use case ID UC-05

26
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Use case Name Reset password

Actor Student

Description All the students can reset the password information

Goal to help users securely re-establish access to their accounts

Precondition If user don’t know the current password


use email verification to reset the password.
Post condition
Get password
Basic course of action Actor action System responses
2.The system displays email form
1. user clicks on reset password button
4.The system send verification
3. user fill the form information i.e., code to the user email or phone
email or phone number.
6. the system display password
5. user enter the code sent by their reset form.
email address or phone number.
8.the system reset the password
7. user fill in password reset form and
click on update button 9. The use case
ends.

Exit condition Exit

3.4.2.6 View Course Use case Description


Table 3-6 View Course Use case Description
UC-06
Use case ID
Use case Name View course

Actor Student

Description student view list of all courses


Goal Allow students to know list of courses and to decide which course to
subscribe
Students should login to the system
Precondition
All courses are viewed
Post condition
Basic course of action Actor action System responses
1. student click on search course and 2.The system display a course by

27
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

write a course to view its name


3. student click on view course
4. The use case end
Exit condition Exit

3.4.2.7 Add Book Use case Description


Table 3-7 Add Book Use case Description
Use case ID UC-07

Use case Name Add book

Actor Admin, chair head

Description All the Admin and chair head can add the book.

Goal Add the new book.


Precondition The admin should have full information about the newly adding book. Admin
must have an account.
Admin should log in to his account.
Post condition Admin checks if the new book is added successfully.
The new book is added.
Basic course of action Actor action System responses

1. Admin clicks on add book button 2.The system displays add book form
3. Admin fill the form information 5.The system will add the book to book
i.e., book name, author. store
4. Click submit button. 6. The use case ends
Exit condition Exit

3.4.2.8 Certify Use case Description


Table 3-8 Certify User Use case Description
Use case ID UC-08

Use case Name Certify user

Actor Cloud server

Description Student will be certified after final evaluation score measure.

Goal Student will get their certificate.

28
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Precondition Student must follow each and every course material.


Student must score appropriate marks.
User successfully get his/her certificate.
Post condition
Basic course of action Actor action System responses
2. The system provide a certificate to the
1. The users clicks on request student. Otherwise,
certificate button. 3. end use case

Alternative flow 2.1. Please, complete every


course material.
2.2. You scored under IQ question
evaluation criteria.
Exit condition Exit

3.4.3 Sequence Diagram


A sequence diagram in a Unified Modeling Language (UML) is a kind of interaction diagram
that shows all processes operate with one another and in what order. It is a construct of a
message sequence chart. A sequence diagram shows object interactions arranged in time
sequence. It depicts the objects and classes involved in the scenario and the sequence of
messages exchanged between the time needed to carry out the functionality of the scenario.
Sequence diagrams typically are associated with use case realizations in the Logical View of the
system under development

29
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.3.1 Sequence Diagram for Add Course

Figure3. 2 Sequence Diagram for Add Course

30
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.3.2 Sequence Diagram for View Course

Figure3. 3 sequence diagram for view course

31
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.3.3 Sequence Diagram for Take IQ Question

Figure3. 4 Sequence Diagram for Take IQ Question

32
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.3.4 Sequence Diagram for Enroll Course

Figure3. 5 Sequence Diagram for Enroll Course


3.4.4 Activity Diagram
An activity diagram describes a system in terms of activities. Activities are states that represent
the execution of a set of operations. The completion of these operations triggers a transition to
another activity. Activity diagrams are similar to flowchart diagrams in that they can be used to
represent control flow (i.e., the order in which operations occur) and data flow (i.e., the objects
that are exchanged among operations).

➢ Used to model the logic of a


• Single operation/method
• Single use case
• Flow of logic of a business process
➢ Equivalent to Data Flow Diagrams in structured development
➢ Starting point = filled circle
➢ Ending point = filled circle with a border
➢ Processes = Rounded rectangle
33
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

➢ Decision point = Diamond


➢ Transitions between activities = Arrows
➢ Start and End of Parallel processes = Thick bars

3.4.4.1 Activity Diagram for Login

Figure3. 6 Activity Diagram for Login

34
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.4.2 Activity Diagram for Add Course and Book

Figure3. 7 Activity Diagram for Add Course and Book

35
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.4.3 Activity Diagram for Manage System

Figure3. 8 Activity Diagram for Manage System

36
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

3.4.4.4 Activity Diagram for Search and Enroll Course

Figure3. 9 Activity Diagram for Search and Enroll Course

37
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure3. 10 conceptual modeling (class diagram)

38
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure3. 11 user interface prototyping for SSCUAA

39
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 4

System Design
4.1 Introduction
In this chapter, we model the system design using different UML modeling techniques, such as
Class type architecture, Class modeling, State chart modeling, Collaboration modeling,
Component modeling, Deployment modeling, Persistence modeling and User interface design
and data for a system to satisfy specified requirements. All this are used to model the object
interaction and their behaviors which support the use case scenario.

Design activity begins with a set of requirements, and it is done before the system is implemented.

❖ Design is:
✓ The intermediate language between requirements and code.
✓ The first step in moving from problem domain to solution domain.
✓ Proceeding from abstract to more concrete representations.
✓ It is a creative activity
✓ It determines the major characteristics of a system
✓ Design of a system is a blueprint for a solution for the system.

4.2 Purpose of the System Design


As we have identified the functional and non-functional requirements of the system and produced
the analysis model in Rapid Application Development The purpose of the Software Design
Document is to provide a description of the design of a system fully enough to allow for software
development to proceed with an understanding of what is to be built and how it is expected to
build. The Software Design Document provides information necessary to provide description of
the details for the software and system to be built. The results of the system design process are
recorded in the System Design Document (SDD).

4.3 Design goals


The definition of design goals is the first step of system design. It identifies the qualities that our system
should focus on. The goal of the system is to satisfy the functional and non-functional requirements as
specified in the requirements specification document. Design goals describe the qualities of the system

40
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

that developers should optimize. Such, goals are normally derived from the non-functional requirements
of the system.

4.4 Class Type Architecture


4.4.1 User Interface Layer
This layer is the area in which users used to access your system. There are two categories of
interface class user interface (UI) classes that provide people access to your system and system
interface (SI) classes that provide access to external systems to your system.

4.4.2 Domain Layer


This layer implements the concepts relevant to your business domain such as student, chair head focusing
on the data aspects of the business objects, plus behaviors specific to individual objects.

4.4.3 Process Layer


The process layer implements business logic that involves collaborating with several domain classes or
even other process classes.

4.4.4 Persistence Layer


This layer encapsulates the capability to store, retrieve, and delete objects/data permanently without
revealing details of the underlying storage technology.

4.4.5 System Layer


System classes provide operating-system-specific functionality for your applications, isolating
your software from the operating system (OS) by wrapping OS-specific features, increasing the
portability of your application.

41
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 1 Class type architecture of SSCUAA

4.5 Class Modeling


Class model is class diagram and associated documentation. The class model shows static class
objects in a system and the relationships between them. Each class object on the diagram often
shows the class name, its attributes and operations. The important relationships are
generalization (inheritance) and aggregation (whole-part), association, dependence and are
illustrated in figure 4.2.

42
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 2 conceptual(class) modeling

4.5.1 State chart diagram


State chart diagram is used to model dynamic nature of a system. They define different states of
an object during its lifetime. And these states are changed by events. So, State chart diagrams are
useful to model reactive systems. Reactive systems can be defined as a system that responds to
external or internal events. State chart diagram describes the flow of control from one state to
another state. States are defined as a condition in which an object exists and it changes when
some event is triggered. So, the most important purpose of State Chart Diagram is to model life
time of an object from creation to termination.

43
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 3 State Chart Diagram for login

Figure 4. 4 state chart diagram for certification

44
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 5 State Chart Diagram for Take IQ

4.5.2 Collaboration diagram


Collaboration diagram is another form of interaction diagram. It represents the structural
organization of a system and the messages sent/received. Structural organization consists of
objects and links. The purpose of collaboration diagram is similar to sequence diagram. But the
specific purpose of collaboration diagram is to visualize the organization of objects and their
interaction.

45
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 6 Collaboration Diagram for Enroll Course

Figure 4. 7 collaboration diagram for add course

46
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 8 collaboration diagram for view course

Figure 4. 9 collaboration diagram for take IQ

47
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

4.5.3 Component Diagram


In the Unified Modelling Language, a component diagram show how Components are wired
together to form larger components and or software system they are used to illustrate the
structure of arbitrarily complex systems.

Figure 4. 10 component diagram

48
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

4.5.4 Deployment diagram


A deployment diagram in the Unified Modeling Language models the physical deployment of
artifacts on nodes. To describe a web site, for example, a deployment diagram would show what
hardware components ("nodes") exist (e.g., a web server, an application server, and a database
server), what software components ("artifacts") run on each node (e.g., web application,
database), and how the different pieces are connected.

Figure 4. 11 deployment diagram

4.5.5 Persistent Modeling (database design)


Persistent modeling is the process of producing a detailed data model of a database. This logical
data model contains all the needed logical and physical design choices and physical storage

49
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

parameters needed to generate a design in a Data Definition Language, which can then be used to
create a database. A fully attributed data model contains detailed attributes for each entity. The
term database design can be used to describe many different parts of the design of an overall
database system. Principally, and most correctly, it can be thought of as the logical design of the
base data structures used to store the data. In the relational model these are the tables and views.

In an object database the entities and relationships map directly to object classes and named
relationships. The process of doing database design generally consists of a number of steps
which will be carried out by the database designer.

Usually, the designer must:

➢ Determine the relationships between the different data elements.


➢ Superimpose (place one thing over another, typically so that both are evident) a logical structure
upon the data on the basis of these relationships.

Table 4- 1 Database Design


No Entity Attributes of the Data Type Null Default Extra
Name Entity
1 Book Author String(25) No
BookImage String(25) No
BookTitle String(25) No
Category String(25) No
Description String(25) No
PDF String(25) No
Rating String(25) No
CreatedAt TimeStamp(10) No
2 Course Category String(25) No
CourseName String(25) No
Description String(25) No
IQ Question String(25) No
LectureImage String(25) No
LectureName String(25) No

50
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Level String(25) No
Qkey String(25) No
Rating String(25) No
RelatedCourse String(25) No
ResourseLink String(25) No
TotalHour String(25) No
CompletedView String(25) No
CoverImage String(25) No
CreatedAt TimeStamp(10) No
3 Package CourseTitle String(25) No
Date String(25) No
Number String(25) No
TableContent String(25) No

TotalTime String(25) No
Video String(25) No
VideoTime String(25) No
VideoTitle String(25) No
Check Array() No
CreatedAt TimeStamp(10) No
Key String(25) No
4 IQ CreatedAt TimeStamp(10) No
Title String(25) No
5 Question CreatedAt TimeStamp(10) No
Title String(25) No
6 Users Email String(25) No
QuestionKey String(25) No
UserName String(25) No
CreatedAt TimeStamp(10) No
Id String(25) No

51
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Score Number(10) No
7 Score Cname String(25) No
Email String(25) No
QuestionKey String(25) No
UserName String(25) No
CreatedAt TimeStamp(10) No
Id String(25) No
Score Number(10) No
User Email String(25) No
Image String(25) No
States String(25) No
Type String(25) No
City String(25) No
Country String(25) No
CreatedAt TimeStamp(10) No
PhoneNumber String(25) No
UserName String(25) No
9 Courses Category String(25) No
CourseName String(25) No
Description String(25) No
IQ Question String(25) No
LectureImage String(25) No
LectureName String(25) No
Level String(25) No
Qkey String(25) No
Rating String(25) No
RelatedCourse String(25) No
ResourseLink String(25) No
TotalHour String(25) No
CompletedView String(25) No

52
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

CoverImage String(25) No
CreatedAt TimeStamp(10) No
10 Live Category String(25) No
Description String(25) No
Lecture String(25) No
LiveImage String(25) No
liveTitle String(25) No
liveUrl String(25) No

Rating String(25) No
CreatedAt TimeStamp(10) No

53
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 12 persistence modeling

54
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

4.6 User Interface Design


The project has been divided into two main interfaces: User Interface and Administrator
Interface. The user will be able to visit the website pages by using their username and password
to perform their activities. The administrator will be able to add users, edit, and update and delete
users.

4.6.1 Splash Screen and Login User Interface Design


A splash screen, also known as a launch screen, is the first screen that a user sees when opening your
app, and it stays visible while the app is loading.

Any user, who will register, will be redirected to the user page. Any user will be able to login
with his confidential information; username and password. This login page is linked to the
server.

55
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 13 sign up page Figure 4. 14 login page

Figure 4. 15 home page Figure 4. 16 course page

56
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 17 package page Figure 4. 18 search page

Figure 4. 19 setting page Figure 4. 20 account page

57
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 23 live page Figure 4. 24 live page

Figure 4. 21 IDE page Figure 4. 22 feedback page

Figure 4.23 live room page Figure 4.24 live room page

58
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 26 Account page for chair head

Figure 4. 25 Welcome page for admin


Figure 4. 29 our team page

Figure 4. 30 Home page for Chair

59
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Figure 4. 27 Fire base and components

Figure 4. 28 Fire base analytics

60
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 5

Implementation and Testing


5.1 Introduction
Our SSCUAA is based on open-source applications (code Igniter) in order to make it work. All the
functionalities need to be done in an orderly. The user interfaces are important as the administrator
interface.

As the whole project is based on React Js, React Native, Node Js, Expo and Expo go, Firebase, Cloud
firebase, bootstrap and CSS technologies, which were focused for the implementation of the project. All
the codes are explained below.

5.1.1 React JS
React JS offers graceful solutions to some of front-end programming’s most persistent issues, allowed us
to build dynamic and interactive web app with ease. It’s fast, scalable, flexible, powerful, and has a robust
developer community that’s rapidly growing.

5.1.2 React Native

React Native lets us create truly native apps and doesn't compromise users' experiences. React Native
combines the best parts of native development with React, a best-in-class JavaScript library for building
user interfaces. We used React Native in our Web, Android and iOS project.

5.1.3 Node js

Node.js is a trademark of the Open JS Foundation. As an asynchronous event-driven JavaScript runtime,


Node.js is designed to build scalable network applications. In the project, many connections can be
handled concurrently. Upon each connection, the callback is fired, but if there is no work to be done,
Node.js will sleep.

5.1.4 Expo

We used Expo to Develop for all users' devices with just one codebase. It Added fast refresh, true native
capabilities, and our creativity.

61
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

5.1.5 Expo Go

This also helped us to Run the project on our own device faster than ever, and share the project across
whole team.

5.1.6 Cloud Fire store

Cloud Fire store is a NoSQL document database that let us easily store, sync, and query data for 5our
mobile and web apps - at global scale.

5.2 Implementation of Functions


The implementation can be divided into two mains blocks: user interface (the android part) and
administrator interface (the web part). The user interface is implemented with bootstrap and for styling we
used CSS.

5.3 Testing
We will perform following testing techniques for checking functionality of our system.

5.3.1 Unit testing


First, we will test each unit at each system. Each module of the system can be tested check the working of
each class, methods and attributes of the system. For immediately maintain at which the problem is
occurred.

i. Features to be tested

It is assumed that unit testing already provided through black box testing, and testing of all module
interfaces.

The basic features/functions that will be tested in our system include: -

1. User login system


2. Add course
3. Book
4. Quiz

These functionalities are tested individually by the team members as the system completed.

62
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

ii. Features not to be tested

The functions or features not to be tested are other than mentioned features to be tested in the above
section.

Table 4- 2 Test case log In

Test Case ID = TestCase1


Unit to Test = Authentication of login users
Assumptions = Redirects to Required home page
Test Data = User name (valid user name, invalid user name, empty)
Password (invalid password, valid password, empty)

Steps to be executed Data Expected Results


Empty User name and valid password Usernames=” ” Password = “Enter your user name”
Click Login button m123

Enter invalid User name and valid User name=Abera “Invalid user name”
password and Click Login button Password=m123

Enter valid User name, empty User name= Misael “Please Enter Password!”
Password and Click Login button
Password=” ”
Enter valid User Name and invalid Username= Misael “Invalid password”
Password and Click Login button Password = hab12

Enter valid User Name and valid Username = Misael “Directs to the home page”
Password and Click Login button Password = m123

Table 4- 3 Test case Add course

63
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Test Case ID = TestCase2

Unit to Test = Add Course

Test Data = (Category, Course Name, Description, IQ Question, Lecture Image,


Lecture Name, Level, Qkey, Rating, Related Course, Resource Link, Total Hour,
Completed View, Cover Image, Created At, Empty)

Steps to be executed Steps to be executed Steps to be executed

All fields are empty and Click All fields are empty and All fields are empty
Add button Click Add button and Click Add
button

Empty Course Name and all Empty Course Name and all Empty Course Name
others filled and Click Add
others filled and Click and all others filled
button
Add button and Click Add
button

Empty Resource link and all Empty Resource link and all Empty Resource
others filled and Click Add link and all others
others filled and Click
button filled and Click Add
Add button button

Empty Qkey and all others Empty Qkey and all others Empty Qkey and all
filled and Click Add button filled and Click Add button others filled and
Click Add button

Table 4- 4 Test case for Quiz

64
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Test Case ID = TestCase3

Unit to Test =Quiz

Test Data = (valid option, Invalid option, valid answer, Invalid answer, empty)

Steps to be executed Data Expected results

Empty option and valid Only one valid answer “Please enter valid
answer. option!”

Valid option and invalid Any valid option “Please enter valid
answer answer!”

Invalid option and valid Only one valid answer “Please enter Valid
answer option!”

Valid option and only one valid Filled “Quiz added


answer
successfully!”

Table 4- 5 Test case for Book


Test Case ID = TestCase4

Unit to Test =Book

Test Data = (Author, Book image, Book title, category, Description, PDF, Rating,
Created at, empty)

Steps to be executed Data Expected results

Empty Author and all fields are Any valid data for the other “Please enter
filled. fields
Author!”

Empty Book title and all fields Any valid data for the other “Please enter Book
are filled. fields
title!”

65
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Empty Category and all fields Any valid data for the other “Please enter
are filled. fields
Category!”

All fields are filled. Filled “Book added


successfully!”

5.3.2 Integration Testing


After we test each unit of the system, we performed an integration test to check whether the system meets
all the functional requirements. When a number of components are complete; it tests to ensure that they
have integrated well with each other, the operating system, and other components.

5.3.3 Volume Testing


The purpose of volume testing is to find weakness in the system with respect to its handling of large
amount of data during extended time periods.

5.3.4 System Testing


After all of the above testing is checked we test our system by other peoples and we conduct some
comments how they get our system.

5.4 Hardware and software acquisitions


For the implementation of the system the following hardware devices are used: -

1. Cloud Server: -used for hosting the system.


2. Printer: -for printing the documents like generated report.
3. Cables: - For network connection purpose.
4. Computer: - for running the system which is hosted on the server.
5. Android phone: - for running android applications.

For the implementation the system the following software are used: -

1. Microsoft Windows
2. Browsers
3. E-drawmax

66
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

5.5 User Manual Preparation


As the system is hosted on the cloud server, there is no need of preparing full user manual. Some useful
information’s are given to the user when deploying the system and also little guiding information on the
site of the system which guides the user how to use the system.

5.6 Training
No long term and continues training will be given regarding the system. The team will provide short
training term for the administrator how he/she manage and operate the system and provide short term
training for the users(students) how to use the system. The teams can explain information regarding the
operation of the system for the administrator during deploying the system on server. As the system is user
friendly, it is not complicated for the administrator to manage the system.

5.7 Installation Process


Since we developed web-based project which can be hosted on the cloud server, our system does not need
installing it on a particular machine. So system cannot need installation process. It can be accessed using
the URL given to it and browsing the URL to get the access to the system. The user part (android) is
needed to be installed on android phone.

5.8 Start-up strategy


Our system will start after providing the following information. It requires username and password for
administrator to operate or manage the system and other users to access their own profile who is already
the members of the system. For those who are not member of the system, they can view only the home
page and they cannot do anything or they cannot access login form.
If they want, they can register in the registration page by providing the proper information.

67
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

Chapter 6
Conclusions and Recommendations

6.1 Conclusions
By considering the problems of the existing system the team found solutions which reduce the problems
of the existing. With the contribution of each member of the team and advisor in developing the new
system from starting of data requirement analysis to the implementation, we reached to the final result.
During developing this project, team faces some challenges, but by the cooperation’s of all team members
reach to our goal and come with this new project.

Generally, based on the existing problems the team found a solution which solves some problems of the
existing system. Like it decreases time consumption, limited resource supply during teaching-learning
process in FCSE.

6.2 Recommendations
Based on shortage of time and some other conditions like resource limitation, we do not include some
features to our project. The team want to recommend those who want further to work on our project to
include the features like

➢ Adding full live class that is more than we deployed.


➢ Our system did not include online payment system
➢ SSCUAA doesn’t include Offline support system
➢ Our user interface is not that much nice as we wanted because of time shortage.
➢ Any text in firebase would be converted to any language by using cloud machine learning.

68
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

References
[1]
www.ibm.com/cloud/learn/cloud-computing

[2]
www.amu.edu.et

[3]
https://firebase.google.com

[4]
React – A JavaScript library for building user interfaces (reactjs.org)

[5]
developer.android.com

Appendix
1,How online sharing course help you?

69
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

A. Easily attend course at any time


B. Fast learning and flexible
C. It is good guiding and has nice lab service provide.
D. All
People 100% 0%
100 D other

2,Why you are not skill up your self in faculty of computing and software engineering(cisco)?

A. b/c of expensive cost for the tuition fee.


B. b/c of time scheduling problem
C. b/c offline mode can also take a whole day in some cases.
D. b/c timings are fixed and there is no leniency.
E. All
People 30% 10% 10% 5% 40%
100 D A C B E

3,Does time really matters to skill up ?

A. Yes
B. No
People 70% 30%
100 A B

4. Don’t you think that to skill up in programing is difficult to get sequential full lecture tutorial, resource
and tool in FCSE?

A. Yes
B. No
People 80% 20%

70
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

100 A B
our gap matters on your skill up?

5, Do you think that knowing


y

A. Yes
B. No
People 100% 0%
100 A B

6, What do you think about the cause that you don’t skill up yourself?

A. not to get easily skill share platform based on android application in FCSE.
B. not to get platform which is make inspiration.
C. limited choice of courses.
D. No recording or any other form of data is available in FCSE.
E. All
F. None
People 20% 5% 20% 25% 30% 0%
100 A B C D E F

7, what is problem student not to skill up.(only for FCSE staffs.)

A. lack of opportunity to learn advancing technology.


B. fear of new thing to learn.
C. difficulty to get full instruction to set up software in same case.
D. most software is not free.
E. All
F. None
people 40% 40% 5% 5% 5% 5%
100 A B C D E F

71
SKILL SHARING ON CLOUD USING ANDROID APPLICATION

sharing course is helpful?

8, Do you think online

A. Very good
B. sometimes
C. not helpful

People 60% 40% 0%


100 A B C

72

You might also like