0% found this document useful (0 votes)
20 views

Update Ha Lie Book

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Update Ha Lie Book

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Certificate

This is to certify that the project titled “an effective technique to ask someone error code to get
correct answer” of semester eight:

Name of Students Signature

1: Mohamud Abdirashid Ahmed _____________________________

2: Sulayman Abdallah Mohamed _____________________________

3: Abshir Said Awad _____________________________

4: Farhio Abdi Mouse Salah _____________________________

Under the guidance and supervision of Mr. ABDULLAHI AHMED BASHIR for the award of
the Batch 20(Class 2021-2022)Degree of Bachelor of Computer Science at East Africa
University, Bosaso.

To the best of our knowledge and belief, this work which embodies the work of candidates
themselves, has been appropriately completed, fulfills the requirement relating to the Degree of
the University and is up to standard in respect of content, presentation and language for being
referred to the examiner.

Supervisor Dean of the Faculty


Mr. Abdullahi Ahmed Bashir Mr. Saa’ed Mohamed Koshin
Internal Examiner External Examiner

_________________________ ___________________________

i
Declaration

This thesis is our original work and has not been presented for a degree or any other academic
award in any university or institution of learning.

Name: Mohamud Abdirashid Ahmed

Signature:_______________________________

Name: Sulayman Abdallah Mohamed

Signature:_______________________________

Name: Abshir Said Awad

Signature:_______________________________

Name: Farahio Abdi Mouse

Signature:_______________________________

Date:_________________________________

ii
Approval Letter

We Confirm that the work reported in this thesis was came out by the candidates under our

Supervisor and submitted to the faculty of computer science with our approval as the supervisor.

Supervisor Dean of the Faculty


Mr. Abdullahi Ahmed Bashir (Hoolif) Mr. Saa’ed Mohamed Koshin

Internal Examiner External Examiner

_________________________ ___________________________

Date:_____________________________

iii
Message from the project supervisor

The Information Science and Technology (IST) a programmed prepares the students to
take up positions as Programmers, Systems Analysts, Systems Designers in the field
related to computer science and information technology, and ITES or students may go for
higher studies in this area. We had therefore imparted the comprehensive knowledge
covering the skills and core areas of computer science courses with equal emphasis on
the theory and practice in BCS programmer. The BCS students are encouraged to involve
themselves completely on the project work in their final semester. It is advised to students
to develop their project for solving problems of software industry or any research
organization. Doing this will give more exposure to handle real life problems of project
development.

The courses studied by you during your BCS programmer provide you the basic
background to work on diverse application domains. The hands on experience gained
from the practical courses provide you the knowledge to work with various operating
systems, programming languages, and software tools.
This project work is kept in BCS program to give you opportunity to develop quality
software solution. During the development of the project you should involve in all the
stages of the software development life cycle (SDLC) like requirements analysis, systems
design, software development/coding, testing and documentation, with an overall
emphasis on the development of reliable software systems. Your project should be taken
as an opportunity to develop software, which gives exposure to SDLC. If found copied,
the project report will be forwarded to the Exam Discipline Committee of the University
as an Unfair means case for necessary action. Students should strictly follow and adhere
to the project guidelines.
I wish you all the success.

Mr. Abdullahi Ahmed Bashir (Hoolif)


East Africa University
Faculty of IST
Email: [email protected]

iv
Dedication
We would like to dedicate our fathers and mothers and all our parents who contributed
and share their ideas as well as our supervisor who had a huge impact to complete this
project and all our friends who encouraged ending this project successfully.

v
Acknowledgement
First, In the name of Allah, the most Beneficent, the merciful we thankful to Allah for
granting us the strength to complete our project, with ease and successfully
We are thanking to almighty Allah who made us Muslims and made easily and possible
for us to make or prepare such this Thesis book,
Second, we are here by like to thank to our supervisor Mr. Abdullahi Hoolif for his
guidance throughout the course of this project. He has been a source of inspiration and a
shoulder to lean on in the obstacles and challenges we faced in completing this project.
Thirdly, we also acknowledge our parents for their unlimited contribution to get this
project successfully, it wouldn’t be possible for us to complete our project without the
support for our parents. We are highly and lovely giving more thanks to our dear parents
that they are paid the Fees of Education.
Let’s conclude acknowledgement to the university and the faculty that we graduated. We
are thanking to The Rector of the university: Prof: Abdirazak Takar and the different parts
of administration of the university generally. We are saying here to all parts of the
university continue your efforts and the time you are contributing the students so as to be
good and professional ones who can take part country development as good and excellent.
To our faculty of computer science and its administration and teachers as well together,
We are thanking and thanking more to our university especially faculty of computer
science Dean Said Mohammed Koshin and all BCS Professors and students.
We would like to thank our university East Africa University and my Faculty of
Information Science and Technology Department for giving us the opportunity as well
as lending me the resources to fulfill our work. It would not been possible for us to
complete program and this project without support from our universities and Also we
would like to thanks to our colleagues students and friends who helped us for completing
this project successfully We would then full heartedly like to thank generally for anyone
who have contributed to the successful completion of this project also we would like to
thanks everybody who has collaborated on the development on this project.

vi
ABSTRACT

Questioning is a major form of human thought and interpersonal communication. It


involves employing a series of questions to explore an issue, an idea or something
intriguing. Questioning is the process of forming and wielding that serves to develop
answers and insight. Strategy in which learners pose and answer questions about the
content of a text to one another to enhance their comprehension is also questioning. In
this thesis, we present a study of common challenges and misconceptions among web
developers, by mining related questions asked on Halie program.

We use unsupervised learning to categorize the mined questions and define a ranking
algorithm to rank all the Halie program questions based on their importance. Modern
web applications consist of a significant amount of client-side code, written in flutter.

Halie program could be a prevalent address replying location that's centered on


programming issues. In spite of endeavors to avoid inquiring questions that have as of
now been replied, the location contains copy questions. This may cause engineers to
pointlessly hold up for an address to be replied when it has as of now been inquired and
replied. The location right now depends on its mediators and clients with tall notoriety
to physically stamp those questions as copies, which not as it were comes about in
postponed reactions but moreover requires extra endeavors.

vii
Table of Content
DECLARATION ……………………………………………………………………… ii
APPROVAL LETTER ……………………………………………………….……..…iii
MESSAGE FROM THE PROJECT SUPERVISOR ……………………………….... iv
DEDICATION ………………………………………………………………………v
ACKNOWLODGEMENT.……………………………………………………………. vi
ABSTRACT …………………………………………………………………………...vii
CHAPTER ONE .......................................................................................................................... 1
1.1 Introduction ................................................................................................................... 1
1.2 Background of the project ............................................................................................. 2
1.3 Problem Statement ........................................................................................................ 3
1.4 Purpose of the Project ................................................................................................... 3
1.5 Objective of Project....................................................................................................... 3
1.6 Scope ............................................................................................................................. 3
1.7 Significance of the project ............................................................................................ 4
1.8 Project Organization...................................................................................................... 4
CHAPTER TWO ......................................................................................................................... 5
2.1 Introduction ................................................................................................................... 5
2.2 Overview of mobile applications .................................................................................. 5
2.2.1 Types of mobile applications................................................................................. 6
2.2.2 Somalia mobile systems ........................................................................................ 6
2.3 Halie program firebase .................................................................................................. 7
2.4 Advantages of the Halie program ................................................................................. 8
2.5 Tools used for Halie application ................................................................................... 8
2.5.1 Flutter .................................................................................................................... 9
2.5.2 Dart...................................................................................................................... 10
2.5.3 MySQL ................................................................................................................. 11
2.5.4 Firebase authentication ...................................................................................... 12
2.6 Existing Online questioning Systems .......................................................................... 12
2.6.1 Stack Overflow .................................................................................................... 13
2.6.2 Quora .................................................................................................................. 14
2.6.3 ResearchGate ...................................................................................................... 15
2.6.4 Comparison among existing systems .................................................................. 16
2.7 Chapter summary ........................................................................................................ 17
CHAPTER THREE.................................................................................................................... 18

viii
3.1 Introduction ................................................................................................................. 18
3.2 User requirement analysis ........................................................................................... 18
3.2.1 UML ..................................................................................................................... 18
3.2.2 Use case diagram ................................................................................................ 19
Figure 3.1: Use case diagram for Halie program System ................................................ 19
3.2.2.1 Use case specification ..................................................................................... 19
3.3 User interface .............................................................................................................. 31
3.4 Chapter summary ........................................................................................................ 31
CHAPTER FOUR ...................................................................................................................... 32
4.1 Introduction ................................................................................................................. 32
4.2 Design goals ................................................................................................................ 32
4.3 Database design........................................................................................................... 33
4.4 Form design................................................................................................................. 34
4.4.1 Login form ........................................................................................................... 34
4.4.2 Registration form ................................................................................................ 36
4.4.3 Question and answers form ................................................................................ 38
4.4.4 User profile form ................................................................................................. 39
4.5 Chapter summary ........................................................................................................ 40
CHAPTER FIVE........................................................................................................................ 41
5.1 Introduction ................................................................................................................. 41
5.2 Coding phase ............................................................................................................... 41
5.3 Testing......................................................................................................................... 41
5.3.1 Login testing ........................................................................................................ 41
5.3.2 Asking question test ............................................................................................ 44
5.4 Types of testing ........................................................................................................... 45
5.4.1 Unit testing .......................................................................................................... 45
5.4.2 Integration testing............................................................................................... 45
5.4.3 System testing ..................................................................................................... 45
5.5 User Documentation.................................................................................................... 45
5.5.1 Program Documentation..................................................................................... 45
5.5.2 System Documentation ....................................................................................... 45
5.6 How the system works ................................................................................................ 46
5.7 Implementation ........................................................................................................... 46
5.7.1 Login form ........................................................................................................... 47
............................................................................................................................................. 47
5.7.2 User registration form ......................................................................................... 48

ix
5.7.3 Asking question from .......................................................................................... 49
5.7.4 Answer form ........................................................................................................ 49
5.8 Chapter Summary ....................................................................................................... 50
CHAPTER SIX .......................................................................................................................... 51
6.1 Introduction ................................................................................................................. 51
6.2 Achievement of the Project Objective ........................................................................ 51
6.3 Constraints and Challenges ......................................................................................... 52
6.4 Future Enhancements of the System ........................................................................... 52
6.5 Experience Gained ...................................................................................................... 52
APPENDIX A BBREVIATIONS …………………………………………………53
APPENDIX B TIME FRAME WORK OF THE PROJECT ………………………54
APPENDIX C BUDGET OF THE PROJECT ……………………………………..55
APPENDIX D TABLES AND FIGURE OF THE PROJECT ……………………..57
REFERENCE ……………………………………………………………………………………………………….…………58

x
CHAPTER ONE

INTRODUCTION

1.1 Introduction

In our project, we study an effective technique or way to ask someone error code to
get a correct answer. The ability to ask and answer questions is central to learning.
For more than two thousand years (since Socrates) the question has been an integral
part of teaching. Only within the last decade and a half, however, has extensive
research been directed to questions and questioning strategies (Karron G. Lewis)

Asking and answering questions is a key ingredient in the learning process and
effective teaching. Using a variety of questions in the classroom can serve many
different purposes (Michal Kasprzak)

Halie is a question and answers website for professional and enthusiast programmers.
It is the flagship site of the stack exchange network progressed scholarly people web
applications require the integration of numerous land.

Halie could be a prevalent address replying location that's centered on programming


issues. Despite endeavors to avoid inquiring questions that have as of now been
replied to, the location contains copy questions. This may cause engineers to
pointlessly hold up for an address to be replied to when it has as of now been inquired
and replied to.

In this chapter, we express various parties concerning this project including a


background of the project, problem statement, purpose of the project, objective of the
project, scope of the project, the significance of the project, and project organization.

1
1.2 Background of the project

people at an early where share questions with them in different ways, some are used to
make questioning by just asking their partner because they are together and can share
information directly, some are used to sending someone and told what they need to know
to go away with the question and ask then return with the answer this is because there
was no such these technologies for communication.

Today the world made developed and millions of ideas were applied to get this magical
technology that is part of our life. Asking and answering become together any time you
ask it's possible to get the right answer without waiting a long time.

In this program, Halie anyone can ask a question and get the right answer from trusted
and qualified people, especially the code problem when the developer or programmer gets
an error and can't get the solution, by sharing the problem on this program of Halie to
post and get the solutions from different sides and different ways in the comment section,
and then he can make a copy and correct the error by the ideas he found form, Halie.

Dart is designed for a technical envelope that is particularly suited to client development,
prioritizing both development (sub-second tasteful hot reload) and high-quality
production experiences across a wide variety of compilation targets (web, mobile, and
desktop).

Dart also forms the foundation of Flutter. Dart provides the language and runtimes that
power Flutter applications, but Dart also supports many core developer tasks like
formatting, analyzing, and testing code.

We are so excited to see this project out in the world and so relieved to finally be finished
with it! Text data is being generated all the time around us, in healthcare, finance, tech,
and beyond; text mining allows us to transform that unstructured text data into real insight
that can increase understanding and inform decision-making.

In our book, we demonstrate how using tidy data principles can make text mining easier
and more effective. let’s mark this happy occasion whit an exploration of the Halie
program text date, and show natural language processing techniques we cover in our book
can be applied to real –word date to gain insight.

For this analysis, we will use the Halie questions from Stacks ample, a dataset of text
from 10 % of Halie questions, and answers on programming topics that are freely
available on Kaggle.

The code that we are using in this post on Halie is a Kernel on Kaggle, so you can fork it
for your exploration.

2
The students of East Africa University ask questions every time using social media like
WhatsApp and Facebook where there are so many transactions and busyness because
most people in those areas are not familiar with these errors.
Using students in this program will reduce the errors in our projects while writing code.
The rapid speed of sharing these errors and the speed of communication with the people
who are familiar with these problems also reduce the errors of our codes.

1.3 Problem Statement


The students in East Africa University have many problems due to their codding, first,
the programming students write codes in a different programming language like Python,
Java, C++, etc. when they try to run they get errors like code incorrect, and software
failure, and other problems. Second, when they return to their homes and try to resolve
these errors they may ask google and get multiple problems and they may be able to
recognize their problems so they need where they can share their problems to get an
answer to that problem from people who know what case is it.

1.4 Purpose of the Project


The aim of this project is to solutions of codding problems, collect the requirements of
the proposed project to design the requirements, and implement it to produce huge
functioning software that allows the students to share their errors and solutions through
an online system of questioning.

1.5 Objective of Project


The objectives of this project are:

1: To understand the common challenges and/or misconceptions among web developers.

2. To Propose a Halie program that shares problems between web developers.

3. To develop the Halie program tool.

1.6 Scope
In this project, we will implement the Halie program based on codding errors as we
already mentioned and it is designed for students of programming in East Africa

3
University- Puntland-Somalia to transmit and exchange their errors and solutions from
their teachers or students form without going google.

This project is designed to share problems and errors faced by web developer beginners
to help young developers to get more understanding of the codding and make them
producers by using this effective program of Halie then the one who gets errors will post
the problem to the program, when someone who knows the solution sees then he will
share the solution to the program by tagging the one who posted the problem, thus errors
will be corrected.

1.7 Significance of the project


the main advantage of this project is to provide the Halie program for the students of East
Africa University who need to share their problems faced while developing web and other
important codes through this online program, this program is easy to use since it does not
need to report more just the post of errors may be screenshots that they share with their
teachers and students.

1.8 Project Organization

The contents of this project are organized as the following:


Chapter 1: Gives an introduction, background, or deep history of an effective
technique to ask someone error code to get a correct answer, on the other hand in this
chapter will get more about the objectives, scope, significance, and organization of
Halie program.
Chapter 2: Presents and discusses in detail related kinds of literature on the effective
technique to ask someone error code to get a correct answer.
Chapter 3: Describes the design of the project and how data related to each other,
and also this chapter displays how data was collected and analyzed.
Chapter 4: This chapter will show the design of the Halie program using Unified
Modeling Language (UML) especially using case diagram and activity diagram, and
also Entity Relationship Diagram (ERD).
Chapter 5: Describes the implementation and testing of the project and producing a
complete useful Halie program project.
Chapter 6: Finally this chapter is the conclusion of the project and recommendations
and also describes the achievements and weaknesses of the Halie program project.

4
CHAPTER TWO

LITERATURE REVIEW

2.1 Introduction
The literature review deals with the topics and the research that would help to
understand an effective technique to ask someone error code to get the correct answer and
the existing systems that are similar to it. The objective of this literature review is to
analyze the related work to this project and mechanisms used in previous studies and to
evaluate their functionality to ask and answer.

2.2 Overview of mobile applications


A mobile application is a type of application software designed to run on a mobile
device, such as a smartphone or tablet computer. Mobile applications frequently serve to
provide users with similar services to those accessed on personal computers (Et al., 2021).
Mobile devices being utilitarian, user-friendly, and accessible have made them the most
popular and indispensable expedient for human essentials in the past few years (Malavolta
et al., 2015).
Mobile software developers' are driven to release software on time and within budget.
Software estimation plays a pivotal role in providing the most accurate sizing figure for
building confidence in the developers and stakeholders relationship (Soares and
Fagundes, 2017).
Many approaches used for the estimation of traditional software are adapted for mobile
application development and testing (Wasserman, 2010).
Mobile applications consist of software/set of program that runs on a mobile device and
performs certain tasks for the user.
Mobile application is a new and fast developing Segment of the global Information and
Communication Technology. Mobile application is easy, user-friendly, inexpensive,
downloadable, and run able on most mobile phones including inexpensive and entry-level
phones.

The mobile application has wide uses for its vast functioning area like calling, messaging,
browsing, chatting, social network communication, audio, video, game, etc (Et al., 2021).

5
A mobile application is a type of application software designed to run on a mobile device,
such as a smartphone or tablet computer.
Mobile applications frequently serve to provide users with similar services to those
accessed on personal computers

2.2.1 Types of mobile applications


Apps are generally small, individual software units with limited function. This use
of app software was originally popularized by Apple Inc. and its App Store, which offers
thousands of applications for the iPhone, iPad, and iPod Touch (Et al., 2021).

In a large number of mobile applications, some are pre-installed on phones and others
users can download from the internet and install on the mobile phone.
This large number of mobile application markets is served by an increasing no of mobile
application developers, publishers, and providers.
From the technical point of view, the different mobile applications are run able in different
managed platforms like iPhone, BlackBerry, Android, Symbian, and windows; also some
virtual machines such as Java/J2ME, BREW, Flash Light, and Silverlight.

According to the application area, there are different categories of a mobile applications.
1. Communications: Internet browsing, email IM client, Social Networking
2. Games: Puzzle/ Strategy, Cards /Casino, Action/ Adventure
3. Multimedia: Graphics /Image viewer, Presentations viewers, Video Players,
Audio players
4. Productivity: Calendars, Calculators, Diary, Notepad /Memo/Word Processors,
Spreadsheets
5. Travel: City guide, Currency converter, Translators, GPS/Maps, Itineraries
/Schedules, Weather
6. Utilities: Profile manager, Idle screen/Screen saver, Address book, Task manager,
Call manager, File manager

2.2.2 Somalia mobile systems


During the outbreak of the civil war in 1991, the government ceased to regulate telecom
networks, resulting in the emergence of several private mobile phone companies in
Somalia (TeleGeography 23 July 2014; Somali Economic Forum 25 Apr. 2014).

The Somali Economic Forum, an independent organization that serves as a "platform to


discuss national economic and financial development" in Somalia (n.d.), reports that
Somalia's telecommunications sector has undergone a rapid rise fueled by intense
competition amongst the numerous telecommunication firms that dominate the country.

6
These major telecom firms ... have succeeded in large part due to a deregulated market
with the absence of state control, regulatory laws, the collapse of foreign exchange
controls, and the inexistence of license providers. (Somali Economic Forum 25 Apr.
2014) .
Mobile phone companies in Somalia provide the cheapest rates for telecommunications
services in Africa (Sheikh Ali and Yusuf Dhaha 2-3 Dec. 2013, 2; US 23 June 2014). W

wireless telecommunications services are available across Somalia (CDAC Jan. 2012;
Somali Economic Forum 31 Jan. 2014). In a 2012 guide on media and telecom services
in Somalia, the Infoasaid Project [1] reports that mobile networks provide "extensive"
mobile coverage throughout the country (CDAC Jan. 2012, 84).

The Somali Economic Forum states that "telecommunication companies have installed
country-wide networks of wireless stations and provided affordable equipment that has
enabled local communities to stay connected" (31 Jan. 2014). A 2012 study titled
"Investigating Mobile Money Acceptance in Somalia: An Empirical Study" by Osman
Sayid, Abdelghani Echchabi, and Hassanuddeen Abd. Aziz, published in the Pakistan
Journal of Commerce and Social Science, similarly states that "private companies provide
affordable fixed-line, mobile phone and Internet services in every major city in Somalia,"
while also noting that such services are of "high quality, which is not available in many
parts of the continent" (Sayid et al. 2012, 270).

2.3 Halie program firebase


Halie's program is a questioning and answering service program that used someone to ask
a question and another side gives trusted answers.

Users can ask questions they don't know, give answers to the questions asked if they do
know, or make research to ask that they don't know if they are familiar with the question
asked, also users can make take a favorite answer to their question asked by them.

Users are allowed to vote answers by commenting in the comment section on what they
think, right or wrong, strongly agree or just agreed.

Halie program provides data dumps of all user-generated data, including questions asked
by the users with their list of answers,

7
2.4 Advantages of the Halie program
The existence of the Halie program that is being implemented in the Outpatient
Department does bring benefits to the department and also to the people involved.

Using the Halie program, the registration process becomes easier and more efficient
because every customer can register as online and check questions and answers on the
platform without going to google.

Also, all the information about them is available in the database. It is undeniable that by
using the Halie questioning and answering program the number of students' power needed
can be lessened and this helps a lot in reducing the amount of how long it takes to dig out
the correct answer.

2.5 Tools used for Halie application


Mobile application development is the process of making software for smartphones and
digital assistants, most commonly for Android and iOS. The software can be preinstalled
on the device, downloaded from a mobile app store, or accessed through a mobile web
browser. The programming and markup languages used for this kind of software
development include Java, Swift, C#, and HTML5.

Mobile app development is rapidly growing. From retail, telecommunications, and e-


commerce to insurance, healthcare, and government, organizations across industries must
meet user expectations for real-time, convenient ways to conduct transactions and access
information. Today, mobile devices—and the mobile applications that unlock their
value—are the most popular way for people and businesses to connect to the internet.

To stay relevant, responsive, and successful, organizations need to develop the mobile
applications that their customers, partners, and employees demand.

Yet mobile application development might seem daunting. Once you've selected the OS
platform or platforms, you need to overcome the limitations of mobile devices and usher
your app past the potential hurdles of distribution.

Fortunately, by following a few basic guidelines and best practices, you can streamline
your application development journey, and here are some tools we used to build this
software.

8
2.5.1 Flutter
In general, developing a mobile application is a complex and challenging task. There are
many frameworks available to develop a mobile application. Android provides a native
framework based on Java language and iOS provides a native framework based on
Objective-C / Shift language.

However, to develop an application supporting both OSs, we need to code in two different
languages using two different frameworks. To help overcome this complexity, there exist
mobile frameworks supporting both OS. These frameworks range from simple HTML-
based hybrid mobile application framework (which uses HTML for User Interface and
JavaScript for application logic) to the complex language-specific framework (which
does the heavy lifting of converting code to native code).

Irrespective of their simplicity or complexity, these frameworks always have many


disadvantages, one of the main drawbacks being their slow performance. In this scenario,
Flutter – a simple and high-performance framework based on Dart language, provides
high performance by rendering the UI directly in the operating system's canvas rather
than through the native framework. Flutter also offers many ready-to-use widgets (UI) to
create a modern application. These widgets are optimized for mobile environments and
designing the application using widgets is as simple as designing HTML.

To be specific, the Flutter application is itself a widget. Flutter widgets also support
animations and gestures. The application logic is based on reactive programming. The
widget may optionally have a state. By changing the state of the widget, Flutter will
automatically (reactive programming) compare the widget's state (old and new) and
render the widget with only the necessary changes instead of re-rendering the whole
widget.

Flutter framework offers the following features to developers: Modern and reactive
framework, uses Dart programming language and it is very easy to learn, fast
development, beautiful and fluid user interfaces, huge widget catalog, runs the same UI
for multiple platforms, high-performance application.

Flutter comes with beautiful and customizable widgets for high performance and
outstanding mobile applications. It fulfills all the customer needs and requirements.
Besides these, Flutter offers many more advantages as mentioned below:

Dart has a large repository of software packages that lets you extend the capabilities of
your application, developers need to write just a single code base for both applications
(both Android and iOS platforms).

Flutter may be extended to another platform as well in the future, flutter needs lesser
testing.

Because of its single code base, it is sufficient if we write automated tests once for both
the platforms, flutter’s simplicity makes it a good candidate for fast development. Its
customization capability and extensibility make it even more powerful, with Flutter,

9
developers have full control over the widgets and their layout, flutter offers great
developer tools, with amazing hot reload.

2.5.2 Dart
Dart is a client-optimized language for developing fast apps on any platform. Its goal is
to offer the most productive programming language for multi-platform development,
paired with a flexible execution runtime platform for app frameworks.

Languages are defined by their technical envelope — the choices made during
development that shape the capabilities and strengths of a language. Dart is designed for
a technical envelope that is particularly suited to client development, prioritizing both
development (sub-second stateful hot reload) and high-quality production experiences
across a wide variety of compilation targets (web, mobile, and desktop).

Dart also forms the foundation of Flutter. Dart provides the language and runtimes that
power Flutter apps, but Dart also supports many core developer tasks like formatting,
analyzing, and testing code.

The Dart language is type safe; it uses static type checking to ensure that a variable’s
value always matches the variable’s static type. Sometimes, this is referred to as sound
typing.

Although types are mandatory, type annotations are optional because of type inference.
The Dart typing system is also flexible, allowing the use of a dynamic type combined with
runtime checks, which can be useful during experimentation or for code that needs to be
especially dynamic.

Dart offers sound null safety, meaning that values can’t be null unless you say they can
be. With sound null safety, Dart can protect you from null exceptions at runtime through
static code analysis.

Unlike many other null-safe languages, when Dart determines that a variable is non-
nullable, that variable is always non-nullable. If you inspect your running code in the
debugger, you’ll see that non-nullability is retained at runtime (hence sound null safety).

The following code sample showcases several Dart language features, including libraries,
async calls, nullable and non-nullable types, arrow syntax, generators, streams, and
getters. To find examples of using additional Dart features, see the samples page. To learn
more about the language, take the Dart language tour.

Dart has a rich set of core libraries, providing essentials for many everyday programming
tasks

10
Dart Web enables running Dart code on web platforms powered by JavaScript. With Dart
Web, you compile Dart code to JavaScript code, which in turn runs in a browser — for
example, V8 inside Chrome.

Dart web contains both an incremental dev compiler enabling a fast developer cycle, and
an optimizing production compiler, dart2js, which compiles Dart code to fast, compact,
deployable JavaScript using techniques such as dead-code elimination.

2.5.3 MySQL
MySQL is a very popular, open source DBMS MySQL databases are relational. Handles
very large databases, very fast performance; reliable, MySQL is compatible with the
standard. MySQL is frequently used by PHP and Perl, Commercial version of MySQL is
also provided (including technical support).

Founded and developed by David Axmark, Allan Larsson, and Michael “Monty”
Widenius Named after Monty's daughter, My. MySQL Dolphin logo is “Sakila”, the
name of a town in Arusha, Tanzania written in C and C++ Works on many different
platforms Sun acquired MySQL AB in Jan 2008 for 1 billion dollars

MySQL Server works in client/server systems: a system that consists of a multi-threaded


SQL server that supports different back ends, several different client programs and
libraries, administrative tools, and a wide range of application programming interfaces
(APIs).

Embedded systems: provide MySQL Server as an embedded multi-threaded library that


can be linked into an application to get a smaller, faster, easier-to-manage standalone
product.

SQL is a standard implemented by many companies in many products. In the course of


your career, you may have come across products like Microsoft’s Access, FoxPro, and
SQL Server 7. These are all implementations of the Structured Query Language.
Companies like Oracle, Sybase, Informix, and IBM all make billions of dollars. Making
products that implement this standard.

You’ll spend a good portion of this book learning the specifics of SQL, but for the sake
of this session, all you need to know is what an SQL server’s role is in the development
process. An SQL server essentially has two jobs: to store data efficiently and to retrieve
that data quickly.

The SQL server is where your data, your valuable, crucial, business-dependent data —
will live. You can insert, delete, and alter this information in any way you see fit.
Additionally, and perhaps most importantly, you can query this data — pull information
out of the SQL server — in about any way you can imagine. Further, an SQL server can
provide statistical information on the data you have stored. If the idea of getting statistical

11
information on your data is a bit vague right now, don’t worry. It will become clear as
you progress with this weekend-long course.

For now, think of this simple example: In MySQL, you've stored the names and addresses
of everyone affiliated with your business. If a time comes when you want to know exactly
how many of these people live in a specific state or region of the country, your SQL server
can quickly and easily return this information.

2.5.4 Firebase authentication


Most apps need to know the identity of a user. Knowing a user's identity allows an app to
securely save user data in the cloud and provide the same personalized experience across
all of the user's devices.

Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made


UI libraries to authenticate users to your app. It supports authentication using passwords,
phone numbers, popular federated identity providers like Google, Facebook and Twitter,
and more.

Firebase Authentication integrates tightly with other Firebase services, and it leverages
industry standards like OAuth 2.0 and OpenID Connect, so it can be easily integrated
with your custom backend.

2.6 Existing Online questioning Systems


Halie program was not the only system of asking questions to get answers around the
whole world, there is another systems com before it was used for asking questions of
different fields.
In this section we will focus on some closed systems to our project available on form now
on the World Wide Web, we will discuss how it works, the interface, and some further
detail about these existing systems of asking a question to get an answer.

12
2.6.1 Stack Overflow

Stack Overflow is a popular community-driven questioning and answering


service. Users can ask questions, provide answers to the questions asked, mark the
questions as a favorite, upvote/downvote an answer, tag questions, and carry out other
community-related tasks. It has been actively used by programmers to ask questions from
January 2009 to December 2012, a total of 4,125,638 questions have been asked by users
on Stack Overflow, with a mean of 85K questions per month.
Stack Overflow provides data dumps of all user-generated data, including questions asked
with the list of answers, the accepted answer per question, up/down votes, favorite counts,
post score, comments, and anonymized user reputation.
Stack Overflow allows users to tag discussions and has a reputation-based4 mechanism
to rank users based on their active participation and contributions.
For this study, we downloaded a data dump containing data from June 2008 to March
2013. Note that Stack Overflow originated only in June 2008. Therefore, our dump
includes all the questions and answers on Stack Overflow until March 2013.

Figure 2.1: Stackoverflow.com interface

13
2.6.2 Quora

Quora is a Q&A platform that empowers people to share and grow the world’s
knowledge. People come to Quora to ask questions about any subject, read high-quality
knowledge that's personalized and relevant to them, and share their knowledge with
others.
Quora is a place to share knowledge and better understand the world.
Quora is an American social question and answer website It was founded on June 25,
2009, and made available to the public on June 21, 2010.
Users can collaborate by editing questions and commenting on answers that have been
submitted by other users. As of 2020, the website was visited by 300 million users a
month.

Figure 2.2: Quora.com interface

14
2.6.3 ResearchGate
ResearchGate is a European commercial social networking site for scientists and
researchers to share papers, ask and answer questions, and find collaborators.
According to a 2014 study by Nature and a 2016 article in Times Higher Education, it is
the largest academic social network in terms of active users, although other services have
more registered users, and a 2015–2016 survey suggests that almost as many academics
have Google Scholar profiles.
While reading articles does not require registration, people who wish to become site
members need to have an email address at a recognized institution or to be manually
confirmed as a published researcher to sign up for an account.
Members of the site each have a user profile and can upload research output including
papers, data, chapters, negative results, patents, research proposals, methods,
presentations, and software source code.
Users may also follow the activities of other users and engage in discussions with them.
Users are also able to block interactions with other users.
The site has been criticized for sending unsolicited email invitations to coauthors of the
articles listed on the site that were written to appear as if the email messages were sent by
the other coauthors of the articles (a practice the site said it had discontinued as of
November 2016) and for automatically generating apparent profiles for non-users who
have sometimes felt misrepresented by them.
A study found that over half of the uploaded papers appear to infringe copyright because
the authors uploaded the publisher's version.

15
Figure 2.3: researchGate.com interface

2.6.4 Comparison among existing systems

A comparison of a few similar existing systems is conducted to find out the


similarities and the differences among them. This will assist in identifying the strengths
and weaknesses of the proposed system.

The comparison was done based on the following criteria: Sing Up, Login, Search, and
Comments.
The below table shows the comparison among the existing systems similar to this system.

16
features Stackoverflow.com Quora.com researchGate.com Halie

Sing up Yes No Yes Yes

Login Yes Yes Yes Yes

Comments yes yes Yes Yes

Voting Yes Yes No Yes

Table 2.1: show the comparison between the existing systems.

Therefore based on Table 2.1, among the common features are search, login, and
comments. Search will facilitate users to directly go to the desired page to find the
relevant information. While login allows registered users to share their experiences and
thoughts with other users, by posting those experiences on the forum of the portal.

2.7 Chapter summary


This chapter is about the literature review that discusses the research of existing
systems, which gives a better understanding of the Halie program.

It also shows the similarities and the differences that the existing systems have by
comparing them and discussing related things to the current system.
It will represent the border or limitation of the current system.

17
CHAPTER THREE

REQUIREMENT ANALYSIS

3.1 Introduction

In this chapter, Requirement analysis we will present the requirement analysis used in
this project and will define how the project problem has been solved. It starts with the
project approaches and is followed by a presentation of the project design, the data
collection tools, and a description of how the data is analyzed. So it also presents the user
requirement analysis process of the study. It outlines user requirement specifications; data
gathering techniques and procedures which or were used, feasibility study, etc.

3.2 User requirement analysis


This project uses as an analysis tool the UML to describe the proposed system's analysis
phase activities and the end product of the system analysis phases.

3.2.1 UML

UML stands for Unified Modeling Language; The UML is the standard language
for visualizing, specifying, constructing, and documenting the artifacts of a software-
intensive system. It can be used with all processes, throughout the development life cycle,
and across different implementation technologies

18
3.2.2 Use case diagram

Create an account

Login system

Ask question

Answer question

Vote or like answers


User Admin

Manage users

Figure 3.1: Use case diagram for Halie program System


3.2.2.1 Use case specification

Use case-create-account

Create an account

User

19
Brief description
This function allows a new user to create a user account and register with the
system. The main actors are new users who have not registered to this system and do not
have a valid user account.
Basic flow
1. The user accesses the system and chooses the new user (Sing Up) register
function to create a user account.
2. The system displays a registration form, including first name, last name,
username, email, password, and confirmation password.
3. The user fills out the registration form and submits it by clicking sing up button.
4. The system verifies the submitted information. If the data is valid, the system
returns the confirming information to the user and shows the user a welcome
message, the user account, and the password.
Alternative flow
4. If the user’s email address has already existed in the system, the system shows
an error message. Then the system displays the registration form, and the user will
fill out the registration form again with valid information.
4. If the user’s password and reentry password are not identical, the system shows
an error message. Then the system displays the registration form, and the user
goes to step 3 to fill it out.

20
Access the app and choose
the registration form

Fill out the registration form

Save and submit the


information

Verify the information

Not valid
Try again

Valid

Feedback

Figure 3.2: Activity diagram for creating an account of the Halie program

21
User Interface Database

Access the system

Fill out a
registration form

Submit information

Feedback

Figure 3.3: Sequence diagram for creating an account of the Halie program

Login the system

Login

User

Brief description

22
This use case allows any user who has a valid username and password to log in to the
system for making activities.
Basic flow
1. The user enters the application.
2. The system displays the login form.
3. The user enters the user name and password and hit the login button.
4. The system verifies the submitted information, if it is the valid user enters the home
page.
Alternative flow
4. If the user’s name or password is invalid the system shows an error message and the
user goes to step 3.
4. If the user’s password and reentry password are not identical, the system shows an error
message and the user goes to step 3.

23
Access the system

Enter username & password

Verify by using the login

Not valid
Try again

Go to the home page

Figure 3.4: Activity diagram for login of Halie program

24
Ask question

Ask question

User

Brief description
This use case allows the user to ask a question to the system.
Main flow
The user accesses the system and makes the following actions:
1. He chooses the ask question button at the bottom of the interface.
2. He chooses the language from the dropdown list.
3. He adds a title to the question.
4. Adds a description to explain the question
5. Finally, he posts by clicking submit button.

Access the system

Select ask question

Enter all information

Submit information

Figure 3.5: Activity diagram for asking a question of Halie.

25
User Interface Database

Access the system

Select ask question

Enter all information

Submit information

Response

Figure 3.6: sequence diagram for asking a question of Halie.

Answer question

Answer question

User

Brief description

26
This function allows users to answer asked questions using the system.
Basic flow
The user must log in to the system successfully then he can do the following actions:
1. Monitors, reads, and checks asked questions.
2. Chooses the "replay button" to answer the questions he knows from the system.
3. Choose to submit button to send data into the database.
4. Types the answer into the replay section and then click "send arrow".
5. The system sends and displays the result.

Access the system

Select “replay” to answer the


questions

Types the answer

Submit the answer

Figure 3.7: Activity diagram for asking a question of Halie.

27
User Interface Database

Access the system

Select replay

Types the answer


Submit the answer

Response

Figure 3.8: sequence diagram for answering the question of Halie.

Manage users

Login

Admin

Brief description
This functionality allows the administrator to add the users to the system. The main actor
in this scenario is an Administrator.

28
Main flow
After the administrator has logged into the system and has chosen "manage users", the
system will present to the admin information of all registered users the code and
description of each user.

Access the system

Choose to manage the users

Add, Update or delete

Submit info

Error
Access the system

Feedback

Figure 3.9: activity diagram for configuring users of the Halie program

29
User Interface Database

Access the system

Choose Manage users

Add, Update or Delete


users, questions, or
answers

Submit

Feedback

Figure 3.10: sequence diagram for configuring users of the Halie program

30
3.3 User interface
The application will be accessed through a mobile Interface. The software would be fully
compatible with android mobiles. No user would be able to access any part of the
application without logging into the system.

3.4 Chapter summary

In this chapter, we have discussed important topics on the User Requirement Analysis of
the system starting from the introduction of the chapter and then the User Requirements,
tools used to describe user requirements using different kinds of UML diagrams. Finally,
we have covered all that now we are going to step the Design step of the project

31
CHAPTER FOUR

SYSTEM DESIGN

4.1 Introduction
In this chapter, we are going to discuss the design of Halie software in mobile
applications and it is very important as it is one of the billers of the system
development life cycle (SDLC) so we can divide this phase of designing into two
parts conceptual and physical design.
Conceptual defines always why this system is designed by declaring how this
application is used and how it follows.
The other part is a physical design which mentions how this system will work and
how its components will be arranged as it also mentions the system features and the
hardware requirements of the system.

4.2 Design goals


In general designing a system must reflect the goals that the system is trying to
achieve, for this point of view to achieve this system its goals it must follow several
guidelines these aspects include:
 Efficiency – T the design should make full and efficient use of the facilities
provided. The users should interact with the system without any delay.
 User friendly: this is one of the most important when designing a system, this
system will be user-friendly allowing users to interact
 Integrity - this means that the system should be accurate as possible. The problem
of preserving the integrity of data can be viewed at several levels
 Extensibility - New capabilities can be added to the system without major
changes to the underlying architecture.
 Fault-tolerance - The system is resistant to and able to recover from component
failure

32
4.3 Database design

This section is usually discussing the database design of both online and desktop
systems, but this system does not have the same design and architecture as these
systems which need may be a lot of tables or storing and retrieving data from a
database regardless of this system which the main objective is to implement the
method for asking questions so it does not require father database design, what we
need only is designing two tables for given permission to authorized users as well
as restricting unauthorized users to access this system. These tables are the admin
table, login table, question & answer table, and user’s tables. These database
tables are created using my SQL server.

Figure 4.1: Database design

33
4.4 Form design
In general when you want designing forms in all systems can be the most efficient
and significant part of system design, in which a blank form that duplicates or
resembles the source document is completed on the screen.
Form design can have many features like menu bars, text boxes, dialogue boxes,
toolboxes, command buttons, list boxes, dropdowns, group boxes, checkboxes, and
more others which facilitates the user to enter data to make the interaction between
the user and the application.
This system contains many forms like the Login form, Registration form, question
and answer form, user profile form, and user management form for admin only.

4.4.1 Login form

A Login form is used to enter authentication credentials to access a restricted page or


form. The login form contains a field for the username and another for the password.
When the login form is submitted its underlying code checks that the credentials are
authentic, giving the user can access to the restricted page.
If a user is not able to provide authentic credentials they will not be able to proceed past
the login form.
In this form, users who have an account in this system are allowed to enter the system by
their username and password to access the software and to make activities whether they
ask a question or answer questions asked by other users. The user must enter a username
and verify a password is needed, then the user can interact with the system.

34
Figure 4.2: Halie program-Login

35
4.4.2 Registration form

The registration form is one of our most important forms. This form gets the name,
username, email, and password from the user to verify the username, from here new users
are allowed to register and become belonged to the system than to enter the application
and access by asking, answering the questions posted or asked by the different users.
A registration form is a list of fields that a user will input data into and submit to a
company or individual. There are many reasons why you would want a person to fill out
a registration form. Companies use registration forms to sign up customers for
subscriptions, services, or other programs or plans.

36
Figure 4.3: Halie program-Registration

37
4.4.3 Question and answers form

When someone asks a question there must be an answer, these two bottom figures are
questioning and answer forms.
When users post an issue, error code of different languages, or any code problems there
are other users which are ready to give answers. Users are allowed to respond to the
questions, by clicking the reply button they can write their answers in the reply box.

Figure 4.4: Halie program-question and answer forms

38
4.4.4 User profile form

A user profile is a collection of settings and information associated with a user. It contains
critical information that is used to identify an individual, such as their name, email,
password, and portrait photograph.
In this form, the users are allowed to make update their information by clicking just the
pen icon on the front of any field to edit the content. Some admins can use this section to
change or delete user information.

Figure 4.5: Halie program-User profile form

39
4.5 Chapter summary

This chapter discusses the design and the implementation of the project. Software and
database design and algorithm architecture of this system were the following steps of this
chapter which was the conversion of the requirement analysis, to show the interior design
of the system.
After that, we discussed the database Design, Form design, etc, although we have covered
a majority of the project still we are going to the coding step of the project.

40
CHAPTER FIVE

SYSTEM DEVELOPMENTS

5.1 Introduction
This chapter discusses the functions’ implementations of the Halie program system, beginning
with the coding phase then testing, and finally documentation.
The system has two users; who are the one who asks a question and the one who answers that
question. The first user creates the post which contains an issue of error code or other problem
and then sends it to the system as a public, and there is a second user who reads the asked question,
understands, makes research if he does not have the answer yet after that writes the correct answer
in the comment like section part of the system which is answer section of the system labeled by
reply. To implement the Halie question and answer system for East Africa University students,
this system uses MySQL and Dart as the main tool for sharing questions between students.

5.2 Coding phase


This Phase is devoted to providing access to most of the computer programs that we used to
prepare the data and apply the programming techniques, and instructions on how to construct this
application project using the software available on the attached compact disk (CD).

5.3 Testing
Once the coding phase is completed, the next phase is testing and debugging. The testing phase
is the process of executing a program or system with the intent of finding errors. Or, it involves
any activity aimed at evaluating an attribute or capability of a program or system and determining
that it meets its required results. Although crucial to software quality and widely deployed by
programmers and testers, software testing remains an art, due to limited understanding of the
principles of software. The difficulty in software testing stems from the complexity of software:
we cannot completely test a program with moderate complexity, Testing Can be Logging testing
or case testing.

5.3.1 Login testing


When any user tries to login into the system with the wrong username or password; an Error
message should be displayed telling the user to enter their username and Password again if a user
failed to access it three times, the username will be banned. And also if the username and
password are empty, this bellow figure shows the login validation.

41
Figure 5.1: Login testing for wrong username/password

42
Figure 5.2: Login testing for incorrect password

43
5.3.2 Asking question test

Any time user gets access to the system, the user will choose the ask question form in the main
menu and then she/he will try to write some error code or problem using this system, so this
process very well it must be done in case of testing, for example when the user did not write a
message in the blank area she/he will get an error message indicating to fill the blank message
area.

Figure 5.3: asking question testing

While answering, if a user tries to send blank or empty answer paper, the system will display the
error message to remain the user to write something to send and there are no empty files allowed
to send.

Figure 5.4: answering question testing

44
5.4 Types of testing
Correctness testing and reliability testing are three major areas of testing.

5.4.1 Unit testing


The testing of an individual program or module is called unit testing. The objective is to identify
and eliminate execution errors for each form that could cause the program to terminate
abnormally, and errors that could have been missed during the checking.

5.4.2 Integration testing


Integration testing occurs after unit testing and before system testing. It takes as its input modules
that have been unit tested, groups them into larger aggregates, and applies tests defined in an
integration test plan to those aggregates.

5.4.3 System testing


After completing integration testing, system testing will be performed, which involves the entire
information. A system test includes all typical processing situations and is intended to assure
users, and developers.

5.5 User Documentation


The documentation describes an information system and helps the users who must interact with
it. Accurate documentation can reduce system downtime, cut costs, and speed up maintenance
tasks. Documentation is essential for successful system operation and maintenance. In addition to
supporting a system's users, accurate documentation is essential for developers who must modify
the system, add new features, or perform maintenance. Documentation includes program
documentation and user documentation. Most of the documentation is presented in a project as
help and users will get there.

There are many types of documentation include: program documentation and system
documentation

5.5.1 Program Documentation


Program documentation describes the inputs, and processing logic for all program modules, the
program documentation process starts in the system analysis phase and continues during systems
implementation. The system analysis phase will prepare overall documentation, such as process
description and report layout, early in the system development life cycle.

5.5.2 System Documentation


System documentation describes the system's functions and how they are implemented. System
documentation includes data dictionary entries, data flow diagrams, screen layout, and source

45
documents. System documentation is necessary to reference material for Programmers who must
support and maintain the system.

5.6 How the system works


When the user runs the system will show a Login Form, only registered users are allowed to
access this system using their specified accounts, when they get access to the system, it will allow
them to ask or answer questions.

 Sign up and registration

This function is used by the user whose type is admin to create new users which allowed the
system; so they could have the registered users' access to the system.

 Asking question

The registered users can able to do all processes involving asking questions, writing answers to
the questions in the system, and agreeing with answers submitted by other users in the system.

5.7 Implementation
The project Implementation part discusses the details process of the system component. The
following snapshots are some of the components of the project:

46
5.7.1 Login form

Figure 5.5: login form

Figure 5.5 shows the first form of the system; where the users log in to the system. If the users
key in the wrong username and password the system notifies them that the keyed-in information
is wrong and that they should try again.

47
5.7.2 User registration form

Figure 5.6: the user registration form

Figure 5.6 illustrates the user registration form, where the users register into the system. After
filling in the required information, it will be submitted to the database and the newly registered
users can log in to the system using/her username and password.

48
5.7.3 Asking question from

Figure 5.7: question form

Figure 5.7 shows the asking question Form where the main function of the system is going, the
asking question process began by writing text and then clicking submit button to post the question
into the system. When the user (sender) clicks the submit button, he will get a message telling
him that the question is posted over the system.

5.7.4 Answer form

Figure 5.8: answering form

49
Figure 5.8 shows where users send answers to asked questions, when a user enters the system,
select the question and in the question form, there is a button labeled replay which is the answer
section of the system. After the user clicks that button, the answer box will be opened so the user
must fill the blank spaces to write the answer and then send it.

5.8 Chapter Summary


This chapter discusses the implementation and testing of the system. Developing the system
requires only ensuring the user's protocols. The purpose of the testing is to check the errors and
analyze the problem to develop a successful system that meets the users' requirements.
In this chapter we have discussed important points on the system Development starting from the
introduction of the chapter then the Coding step of the system, Types of testing, User
documentation, and the last Implementation although we have covered the majority of the project
now we are going to Conclude and Summarize our research and for recommendations of the
project.

50
CHAPTER SIX

CONCLUSION AND RECOMMENDATION

6.1 Introduction
This chapter includes the works that have been done during the previous documentation of this
project. In addition, this chapter will recover the objectives of the project and illustrates how the
work of this project meets the project's objectives. Also, it discusses the experiences that have
been gained during this project and it includes the future recommendation which captures how to
extend this project in the future.

6.2 Achievement of the Project Objective


The main objective of this project is to develop a question-and-answer mobile application for East
Africa University students to share solutions between them. Moreover, here are the details of the
project objectives that have been achieved:
To develop the proposed system and test it: during the implementation phase of the project, we
have developed our purposed system by using flutter and Microsoft SQL Server for the back end
and eventually achieve this objective properly.
Generally, all the objectives above mentioned objectives have been attained and the constraint of
the users has been met through the project.
This system is very beneficial to the students who want to correct their error code and share
information between students.
To purpose, the Halie program allows students to share their error codes and to get answers
from different sources using unified modeling language (UML) diagrams including use case
diagrams, activity diagrams, and sequence diagrams, etc

51
6.3 Constraints and Challenges

During the process of developing this project, some difficulties and constraints were faced. Some
of these difficulties are related to the study of the project and its related topics and others are
related to the implementation and design of the project. The most important challenges faced are
underlined as follows:
1. Implementing the project was very challenging as it needs more analysis of the page's
tags and then specifying the primary and secondary attributes which allow the system to
allow students to code problems and solutions.
2. Writing the thesis and collecting data about it was the most difficult challenge that we
have faced.
3. Following and keeping Halie's thesis format and guidelines were one of the most difficult
tasks to encounter during the writing of the thesis.
4. Consuming a lot of time was one of the challenges confronted during the implementation
of the system.
5. Consuming money to get a high-speed internet connection was one of the challenges
faced to us, internet was important to make research, communicate with the other students
in the group to get information, and work together because we are in different places.

6.4 Future Enhancements of the System


1. To improve the security of the system
2. To develop a platform independently.
3. To extend the scope of the project.

6.5 Experience Gained


A lot of experience has been gained during this project such that the literature review provided
knowledge of mobile applications, and also it helps in identifying the weaknesses and the
strengths of the developing system by comparing the features of the system that is going to be
developed with three existing systems which are related to it.
The methodology study identifies the software engineering methodology for any software
engineering system.
Moreover, one of the most experiences gained during this project was the methods used to get the
requirements from the user and doing the practice of analyzing the collected requirement to
achieve the objectives of the system

52
APPENDIX A
ABBREVIATIONS
ABBREVIATIONS DESCRIPTIONS

AES Advanced Encryption Standard

ASCII American Standard Code for Information


Interchange

C# C Sharp

CBC Cipher Block Chaining

DSS Direct spread spectrum

DES Data Encryption Standard

ECMA European Computer Manufacturers Association

GHZ Giga Hertz

GML Generalized mark-up language

HTML Hypertext mark-up language

HDD Hard Disk Drive

ISO International Standards Organization

IV Initialization Vector

IPR Intellectual Property Rights

LBS Least Significant Bit

NIST National Institute of Standards and Technology

OMG

PKCS7 Public Key Cryptography Standards 7

SQL Structured Query Language

SDLC System Development Life Cycle

UML Unified Modeling Language

WWW World Wide Web

53
APPENDIX B

THE TIME FRAME WORK OF THE PROJECT

NO ACTIVITIES FEBRUARY MARCH APRIL MAY


1 Proposal
writing
2 Reading and
correction by
Supervisor
3 Proposal
submission
4 Data collection

5 Analyzing
project
6 Designing
project and
conclusion
7 Thesis
submission

54
APPENDIX C

BUDGET OF THE PROJECT

NO DESCRIPTION AMOUNTS

1 Communication Cost $50

2 Internet Cost $100

4 Transportation Cost $60

5 Stationary and Materials $20

6 Printing and Photocopy $30

7 Electric charge $110

Total Cost $370

55
APPENDIX D
TABLES AND FIGURES

ABBREVIATIONS DESCRIPTIONS
TABLES

Table 2.1 comparison of three systems


FIGURES
Figure 2.1 Stackoverflow.com interface
Figure 2.2 Quora.com interface
Figure 2.3 researchGate.com interface
Figure 3.1 Use case diagram for Halie program System
Figure 3.2 Activity diagram for create account
Figure 3.3 Sequence diagram for Create account of
Figure 3.4 Activity diagram for login of Halie program
Figure 3.5 Activity diagram for asking question
Figure 3.6 Sequence diagram for asking question.
Figure 3.7 Activity diagram for asking question
Figure 3.8 sequence diagram for answering question
Figure 3.9 activity diagram for configure users
Figure 3.10 sequence diagram for configure users
Figure 4.1 Database design
Figure 4.2 Halie program-Login
Figure 4.3 Halie program-Registration
Figure 4.4 Halie program-question and answer forms
Figure 4.5 Halie program-User profile form
Figure 5.1 Login testing for wrong username/password
Figure 5.2 Login testing for empty fields
Figure 5.3 asking question testing
Figure 5.4 answering question testing
Figure 5.5 login form
Figure 5.6 the user registration form
Figure 5.7 question form
Figure 5.8 answering form
Figure

56
References
1. Sanchiz, E., González, M., Aquino, N., & Cernuzzi, L. (2017). Development of Mobile
Applications with Functions in the Cloud through the Model Driven Approach: A
Systematic Mapping Study (Vol. 20, Issue 6). https://goo.gl/tCnZfn
2. Et al., F., 2021. Augmented Reality Mobile Application as Learning Media in Science
Subject for the Post Gen Z Generation. Turkish Journal of Computer and Mathematics
Education (TURCOMAT), 12(6), pp.2012-2019.
3. Islam, Dr. MD Rashedul & Mazumder, Tridib. (2010). Mobile application and its global
impact. International Journal of Engineering & Technology. 10. 72-78.
4. Kartik Bajaj, Karthik Pattabiraman, and Ali Mesbah. Dompletion: Dom-aware javascript
code completion. In Proceedings of the IEEE/ACM International Conference on
Automated Software Engineering (ASE), page 43–54. ACM, 2014.
5. David Kavaler, Daryl Posnett, Clint Gibler, Hao Chen, Premkumar Devanbu, and
Vladimir Filkov. Using and asking: Apis used in the android market and asked about in
stackoverflow. In Social Informatics, pages 405–418. Springer, 2013.
6. . H. Ip, and Albert HC Tsang. Is naïve bayes a good classifier for document
classification?. In International Journal of Software Engineering and Its Applications,
pages 37–46. ACM, 2011.
7. Yunhui Zheng, Tao Bao, and Xiangyu Zhang. Statically locating web application bugs
caused by asynchronous calls. In Proceedings of the 20th international conference on
World wide web, pages 805–814. ACM, 2011.

57

You might also like