Finshed Documentation PDF
Finshed Documentation PDF
Date 04/1/2021
Hossana, Ethiopia
Advisor Name: ________________________
Advisor Name
We declare that this project is our original work and has not been presented for a degree in any
other university.
This project documentation has been submitted for examination with my approval as university
advisor:
Finally we have a special thanks to our friends and classmates for their suggestion, technical and
material support.
Dictionary is the list of words with their definitions. Android Mobile Dictionary Application is
an application that provides English, Amharic, Tigrigna and affan oromo word translation. In
addition to word translation it has multimedia content i.e. image and pronunciation for words.
Displaying the meaning of the word with multimedia content will help the users to understand
the meaning of the word very easily. The sound/voice support helps the user to know how the
word is pronounced correctly; picture also describes the meaning of the word better than text.
The dictionaries will be stored in the mobile phone.
List of Table
Table 1. 1: Hardware requirements.................................................................................................8
Table 1. 2: Software requirements...................................................................................................8
Table 3. 1 : use case description for the use case Select Dictionary. 21
Table 3. 2: use case description for use case type Word in search bar..........................................21
Table 3. 3: use case description for Search meaning.....................................................................22
Table 3. 4: use case description for use case Display meaning.....................................................23
Table 3. 5: use case description for use case Listen Pronunciation...............................................24
Table 3. 6 : use case description for use case view Image............................................................24
Table 3. 7: use case description for use case for modification......................................................25
ABBRIVATION
ABBREIVIATION DESCRIPTION
A1 Alternative 1
Alt Alternative
1.1. Introduction
mobile computing systems today, growing fast, due to their small size, the mobile nature of their
use, there power sources, and their functionalities that are particularly suited to the mobile user.
Because of these features, mobile computing applications are becoming growing fast. As a
current context almost everyone is becoming a mobile user in order to get information and
service from developed application.
Among these mobile computing systems mobile based dictionary application is one of the
famous and an interesting application. Mobile based dictionary application is the process of
developing a dictionary application that runs on android systems. Mobile dictionary is more
portable than the printed dictionary books. There are many people who use printed dictionary
and facing problems in language translation. Searching the new words is difficult because of
huge paper based dictionary; search takes a lot of time. We are trying to solve this problem by
developing android based dictionary for users with voice and text support, which is normally
used to translate the word from English to Amharic, English to Afaan Oromo and English to
Tigrigna language.
1.2. Background
Language is one of the fundamental aspects of human behavior and a basic component in daily
activities. It is the method of communication in different ways which are by audio (spoken), text
written and sign to exchange ideas, emotions, and information. Nowadays, there are the vast
amounts of information exchanging between one natural language to another in different formats
using language translation software. .
Language software’s are getting popular these days due to the increasing need of different
languages for use. This software’s are designed to translate a particular language into your
known language.
Printed Dictionary book has currently many problems that initiated the group members to
develop an Android based mobile dictionary application. These problems are lack of easily
portability, Unable to support English to Amharic, Afaan Oromo and Tigrigna language
translation on computing device, lack of language schools and the number of android phone user
is increasing every year. Generally printed dictionary have problems and is not more suitable in
today’s world.
Gathering requirements
Perform requirement analysis to identify and classify functional and non- function
requirements.
Design user friendly user interface.
Construct a database that store word and their corresponding meaning.
Design Amharic language keyboard.
Implement the designed application using android programming.
Test the developed prototype.
Deploy or install the application
Android based mobile dictionary application project Page 3
Maintain the application if it is needed
Enable the user to choose dictionary types (English to Amharic, English to Afaan
Oromo, and English to Tigrigna).
Enable a user to type a word in search.
Enable a user to listen pronunciation of the word.
Enable a user to view image of searched word.
Enablea user to view identifiers (noun, verb, and pronoun).
Enable the user to modify.
It runs only on smart phone that can run on android operating system.
It supports the translation only from English to Amharic, English to Afaan
Oromo, and English to Tigrigna. We will consider it as a limitation of the project
since our users have many other languages.
The application only supports translation of English words in to three languages.
It is language dependant that means users must know English.
Methodology is the way or mechanism in which we gather the information to develop the
application. To develop appropriate android based voice and text support dictionary we have to
see previously done paper based dictionary and enough information has to be gathered. Data
collection is the process of gathering and measuring information on targeted variables in
systematic fashion, which then enables one to answer relevant questions and evaluate outcomes.
We gather information formally through interview of different people, students and others we
interview English, Amharic and Afaan Oromo language speakers.
Observation
We tried to observe printed version of dictionary to get more information. This information will
help us to understand what problems are exist in paper based dictionary .by observing existing
dictionary we can understand how the new application should operate.
During this phase, the team will refine the use case model to reflect the implementation
environment, model object interactions and behaviors that support the use case scenario, and
finally update object model to reflect the implementation environment. The analysis phase
identifies the objects, their relationship, and behavior using the conceptual model (an abstract
definition for the objects). While in design phase, we describe these objects (by creating class
diagram from conceptual diagram — usually mapping conceptual model to class diagram), their
attributes, behavior, and interactions.
Risks are identified and resolved during iteration; and each iteration is an easily managed goal.
Issues, challenges & risks identified from each increment can be applied to the next increment.
The users easily learn the languages without involvement of third person.
Assessing technical feasibility means checking whether the team organization has got the
technical capability to develop the proposed Information system/project. Since we have got
technical capability to develop the proposed application project, Our application can be easy to
install, easily maintained, portable and reliable. As a part of technology and system feasibility
study we have investigate the technological resources necessary for project. Since we find them
available, the project qualifies in this factor. Thus the project seems technically feasible. we
expect that our project will be technically feasible.
Operational feasibility refers to whether the proposed system can be implemented and operated
with the staff the team organization have and meet its intended purpose. Since we will develop
the application for android platform, the application is operationally feasible on android
platform. User can operate the system easily by follow the guidelines that written on the interface
of the application.
The operating principle or policy of paper based dictionary follows the following rules.
Generally, the existing system of English, Amharic Afaan Oromo and Tigrigna language
dictionary is mostly can be done in manual form.
Mead n. – daadhii-ni
Measure v. – biima-biimita
Paper based English to Tigrigna translation of some wordstaken from first edition
(Zecarias, 2008).
All the tasks have been done manually. So, the learner takes more time.
The existing learning materials like textbook are easily damaged.
It has no comfortable ways to access data easily and everywhere.
Some part Data can also be lost since everything is on paper.
Adding words is difficult once dictionary is published.
3.1. Introduction
In this section we are correctly identify the functional and non-functional requirements for the
new proposed dictionary application and introduce the analysis model that clearly describe how
system will meet the requirement that we identified.
3.2.2. Constraints
Defines how well a system should perform a function, or set of functions. It is documented using
the following information: A measurable value, which can be used to judge the performance of
the system.
Response time: the database should display the meaning the corresponding language in short
period of time.
A non-functional requirement is a requirement that specifies criteria that can be used to judge the
operation of an application, rather than specific behaviors. The non-functional requirements of
our application include the following:
User interface: The application will provide user interfaces that are compatible
with Android platform.
Hardware consideration: The users should have cell phones that can run on the
Android operating system.
Performance characteristics: The dictionary will be accessed by the mobile
owner. It should be given more emphasis for the speed to retrieve meaning and
pronunciation.
Error handling: This application handles words which are not available in the
database, entered by the user and display error message.
System security: The user can make their mobile secure by using security codes or
other measures.
Quality issue: the information in the database should be accurate.
Modification capability: implies the system should have easily modifiable by the
developer said to release latest version of the application.
Use case model - describes the functionality of the system from the user’s point of view.
The object model- represented in UML with class diagrams. It describes the structure of a
system in terms of objects, attributes, associations, and operations.
The dynamic model- represented in UML with sequence diagrams, state chart diagrams, and
activity diagrams. It describes the internal behavior of the system.
Use cases:
select dictionary
Enter word
search Meaning
display Meaning
listen pronunciations
view images
view identifiers
modification of dictionary application
The use case diagram for the dictionary application provides an external view of a dictionary. In
this system, the user types the word in search bar to find the meaning of that word. The database
searches the meaning for the given word. If the word is available in the database, then the
database retrieve and display the meaning for the word otherwise it shows the message, the word
does not found in the dictionary.
UCID UC7
Actors Admin
Basic course of action The admin Modifies (insert, delete, and update)
the dictionary if new features or word exists
[A5].
SYSTEM DESIGN
4.1. Introduction
In this section the systems is described by defining the design goals of the project, by
decomposing the system into smaller subsystems that can be easily realized (proposed system
architecture) and by selecting strategies for building the system, such as the hardware/software
platform on which the system will run, the persistent data management strategy and the handling
of boundary conditions.
The result of system design is a clear description of each of these strategies, sub system
decomposition, and a deployment diagram representing the hardware/software mapping of the
system.
Performance
Response time: the response time for searching definitions should be fast. To attain this
goal, coding should follow simple, efficient and fast algorithms. Especially looping
statements shall be avoided (if possible) or minimized. For example instead of using loop
for retrieving a specific record form a table use SQL statement.
Memory: size of multimedia parts like image and pronunciation or audios files should
not large. Since the memory of mobiles is small in size. so size of the application should
not be large.
Reliability: The system shall be tested after and during development process to verify
that whether the specified services are available or not. And also it should give consistent
and correct output for various type of input it is given.
Availability: The multimedia contents and meaning of words shall be available 24hrs..
End User
An activity diagram is essentially a flowchart, showing flow of control from activity to activity it
involves:
modelling the sequential (and possibly concurrent) steps in a computational
process
Modelling the flow of an object as it moves from state to state at different points in
the flow of control.
Activity diagrams emphasize the flow of control from activity to activity.
Display eror
message
Play Audio
open
modfiey
No
can not modifey
yes
modfiey successfull
Sequence diagrams are an easy and intuitive way of describing the behavior of a system by
viewing the interaction behavior of the system and its environment. A sequence diagram shows
an interaction changed in a time sequence. It shows the object participating in the interaction by
their lifelines and the messages they exchange arranged in time sequence. Generally, this
diagram shows a succession of interaction between object instances over time.
The sequence diagram is very simple and has immediate visual object appeal. This is its great
strength. It is an alternative way to understand the overall flow of the control of a program.
Instead of locking at the code and trying to find out the overall sequence of behavior, we can use
diagram to quickly understand the sequence.
1: open()
2: activate()
3: generate()
4: display List()
6 : activate()
5: select list Dictionary()
1: IputText()
2: activate()
3: generate()
4: get word
1:Type Word()
2: Load|| Process()
3: SendRequest()
4: get word
6: Play Audio
1: Type word()
2: Load|| Process()
3: SendRequest()
4:Display Image on
Layout
6: See Image
1: InputText() 3: SendRequest()
2: Press ()
3: Search()
4: Result Display()
Chek
()
Enter word()
3: SendRequest()
2: Press ()
3: Search()
4: Result Display()
5: View identifiers
Select dictionary
Submit() Validate()
Try again()
Continued()
Edit()
Save()
Entity Relationship Diagram is used to represent conceptual view of the database That includes
entities, attributes, relationship.
pronoun 1
pronoun
verb
English m m Amharic Adjective
controls
Language Language
Adjective
noun
noun m
Afaan
verb
oromo
Language
pronoun
noun
verb
adjective
PK Englishword Varchar(23)
AmeharicMeaning varchar(123)
AmeharicAudioFile varchar(23)
AmeharicIdentifers varchar(12)
AmeharicModfiey varchar (234)
Image
PK Word varchar(123)
ImageName Varchar(22)
Tigrigna
Afanooromo
PK Englishword Varchar(23)
TigrignaMeaning varchar(123)
PK Englishword Varchar(23)
TigrignaAudioFile varchar(23)
TigrinaIdentifers varchar(12) Afaan oromoMeaning varchar(123)
TigrignaModfiey varchar (234) Afaan oromoAudioFile varchar(23)
Afaan oromoIdentifers varchar(12)
Afaan oromoModfiey varchar (234)
Dictionary
Each subsystem has its own function and there is also communication among them to exchange
information. The system is decomposed according to the specialized task it performs to ensure
high coherence. The level of coupling is relatively low because the interactions between
subsystems are only exchange of data.
Layout Subsystem
This subsystem is responsible for providing explanation and description about the developed
system to the target environment.
Search subsystem
This subsystem deals with the search facilities of the system. It involves the interaction of the
dictionary users with the system to get definitions or meanings of words, images and
pronunciations. Therefore, this subsystem provides the following facilities.
Dictionary Subsystem
Dictionary is responsible to maintain information for all English to Amharic, English to Afaan
Oromo and English to Tigrigna data. It deals with maintaining requirements of the system that is
required to display dictionary data and it is also responsible for upgrading the database version.
Maintain dictionary data - the system allow the users to view meanings of words
for the three dictionaries
Upgrade the database version if new version is available.
Android based mobile dictionary application project Page 44
Data base Subsystem
The mobile client gets images and pronunciations of words from database.
«Subsystem»
«Subsystem»
«Subsystem»
«Subsystem»
The user interface component is responsible for the explanation of the developed system to the
target environment.
The controller is the means by which the user interacts with the application. It gets input from the
user and handles the way the view and the data access layer take action on the given input. It is
responsible for mapping end-user action to application response by interpreting the key press
event from the user. The user interacts with the system through several events like a button click,
The data access layer is the layer that manages the state of the application and conducts all the
required functionalities. It holds the behavior and the data of the application domain and
responds to requests made for information. This layer accepts word entry from the user interface
on the view layer, generates the desired result performing the necessary actions and finally
passes the obtained result to the user interface.
Dictionary
5.1 INTRODUCTION
In this chapter we are going to explain about System Implementation and testing ,algorithm
design and sample code, features to be tested and not tested, success and failerity of our project ,
the strategy and test cases with specifications.
package com.example.ethiodictionary;
public class MainActivity extends AppCompatActivity
implementsNavigationView.OnNavigationItemSelectedListener {
mtabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
mtabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
Pager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
@Override
public void onTabReselected(TabLayout.Tab tab) {
Test case description: users should select the dictionary. Users choose dictionary
Test setup/Preconditions:The dictionary that is going to be selected should be existing and the
home layout is displayed.
Actions Results
The user should select the dictionary. 1. User selects the dictionary from the
home layout.
User interface: The application provides user friendly interfaces that are
compatible with Android platform.
Hardware consideration: the dictionary application runs on any Android operating
system version greater than 4.1
Modification capability: the application have easily modifiable by the developers
to add features or to release latest version of the application.
USER MANUAL
6. Scope
To use the dictionary the user first install the dictionary and after successful installation ,open the
dictionary and choose the language you want to translate and type the word in search bar .if the
word exists the meaning is displayed in all languages. The developers can add meaning of word
and update the dictionary if they want.
to share, to return to home and exit the application and to use other buttons press the buttons.
7. Conclusion
We tried our best to develop a four bilingual language dictionary application mostly that will
support an English, Amharic, English, Oromiffa and Tigrigna language words. If This dictionary
application project will be finished, it can give a great advantage for a country like Ethiopia
which is a multi-lingual country by giving the meaning in four different languages successfully.
Moreover this application is applicable for any users who can read and wants to know the
meaning in Amharic, English, Oromiffa and Tigrigna. We cannot fully achieve the objective that
was described in industrial phase I because of time shortage and other resource like internet .
7.1 Recommendation
Since our country is multi-lingual and multi-national, we recommend the people of our country
to finish and use this dictionary application by installing in their smart phone. The application is
also based on many languages and every one can use it to develop his/her language skill. Mostly
we recommend to use this application the people who can speak and write Amharic, English,
Oromiffa and Tigrigna because the application is basically based on those four languages and we
advise the people who speak and write these languages to use the application and make
advertisement to other users to use the application like them. So, we strictly recommend the user
to expand the usability of the application to others.