A Mobile Application To Interact With A Mesh Billing System
A Mobile Application To Interact With A Mesh Billing System
By
Zine Tshaka
A project document submitted in partial
fulfillment of the requirements for the
degree of
2013
Table of Contents i
List of figures iii
List of tables iv
Acknowledgement v
Glossary vi
CHAPTER 1 1
user REQUIREMENTs DOCUMENT 1
Background 1
User’s view of the problem 1
Brief description of the problem domain 2
What is expected from the software 2
What is not expected from a software solution 2
Summary 2
CHAPTER 2 3
Requirement Analysis Document 3
Introduction 3
Designers interpretation of the user’s requirements 3
Breaking down the problem into high level constituent parts 4
Identify existing solutions 5
Technologies to be used 5
Devise ways to test the solution 5
Summary 5
CHAPTER 3 6
User interface specifications 6
Introduction 6
Description of the complete User Interface 6
What the user interface looks 6
How the user interface behaves 10
How the user interacts with the system 10
Summary 11
CHAPTER4 12
Object oriented ANALYSIS 12
Introduction 12
Data dictionary defining exactly what each object represents 12
Class diagram 13
Summary 15
CHAPTER5 17
Object oriented design or low level design 17
Introduction 17
i
Inner details of class attributes (data types) 17
Inner details of class methods (functions) 19
Pseudo-code1 19
Summary 20
CHAPTER6 21
Implementation 21
Introduction 21
Software Deployment 21
Progress 22
Challenges 23
Source code 23
Reading Text File 32
SUMMARY 33
CHAPTER 7 34
Testing 34
Introduction 34
What is testing? 34
Planning the test 34
Functionality testing 35
Usability testing 35
Functionality testing procedure 35
Usability testing procedure 36
Testing discussion 38
Summary 38
CHAPTER8 40
USER GUIDE 40
Introduction 40
System’s requirements 40
Installing application 40
How the system works? 41
Summary 47
Appendices 48
Appendix A 48
Interview probes 48
Project description 48
APPENDIX B 49
Appendix C 51
Appendix D 52
Appendix E 53
Appendix f 54
Appendix f 58
Bibliography 60
Index 61
ii
LIST OF FIGURES
Number Page
FIGURE 1 HOW USSD WORKS FOR MANY USERS (MIG, 2012) 4
FIGURE 2 DIALING A CODE 7
FIGURE 3 ERROR MESSAGE 7
FIGURE 4 DISPLAYING OPTIONS 8
FIGURE 5 LOGIN 9
FIGURE 6 USER’S BALANCE DISPLAYED 9
FIGURE 7 REGISTERING A NEW USER 10
FIGURE 8 USE CASE DIAGRAM 11
FIGURE 9 CLASS DIAGRAM 15
FIGURE 10 IMPLEMENTATION 22
FIGURE 11 CHANGES IN AN INTERFACE 22
FIGURE 12 FUNCTIONALITY TESTING RESULTS 36
FIGURE 14 ANDROID MAIN SCREEN 41
FIGURE 15 APPLICATION MAIN SCREEN 42
FIGURE 16 ERROR MESSAGE 43
FIGURE 17 OPTIONS 44
FIGURE 18 REGISTRATION FORM 45
FIGURE 19 LOG IN 46
FIGURE 20 SHOWING USER'S BALANCE 47
iii
LIST OF TABLES
Number Page
TABLE 1 CLASSES 12
TABLE 2 USER 13
TABLE 3 REGISTER 13
TABLE 4 UPDATE 14
TABLE 5 CHECK BALANCE 14
TABLE 6 ATTRIBUTES EXPLAINED 18
TABLE 7 FUNCTIONS EXPLAINED 19
TABLE 8 PROJECT PLAN FOR TERM 1 51
TABLE 9 TERM 2 PROJECT PLAN 52
TABLE 10 TERM4 PLANNING 54
iv
ACKNOWLEDGEMENT
Firstly, I would like to acknowledge the Almighty God for his guidance and
wisdom throughout the process of completing this project. I would like to
express my gratitude to my supervisor Professor Isabelle Venter who gave
me the golden opportunity to do this wonderful project which also helped me
in doing a lot of Research and I came to know about so many new things I
am really thankful to her. It is not often that one finds a supervisor that al-
ways finds the time for listening to the little problems and roadblocks that
unavoidably crop up in the course of performing research.
My parents, Mr and Mrs Tshaka, receive my deepest gratitude and love for
their dedication and the many years of support during my undergraduate
studies that provided the foundation for this project.
The friendship of Buhle Bongco, Siphokazi Dayile and all of my classmates
is much appreciated and has led to many interesting and good-spirited dis-
cussions relating to this project.
v
GLOSSARY
vi
Chapter 1
Background
A mesh potato is a device that provides low-cost telephony and Internet
services in areas where alternative access doesn’t exist or is too expen-
sive. A mesh potato system was implemented in the Mankosi district (a
rural area in Eastern Cape) to overcome the communication problems that
are faced by the people of Mankosi. A mesh billing system will be im-
plemented to collect money for the maintenance of the mesh network.
The system that is proposed will allow people of Mankosi easy access to
their mesh potato network bills/status.
Currently to see how much they owe, they will have to go the place
where the mesh potato is situated and ask for the current status of their
account. The proposed system will allow the Mankosi community easy
access to their account whenever they want to do so. In this chapter the
requirements of such a system are described as elicited and described by
users acquired with the situation in Mankosi. The proposed application
will be used to interact with the mesh billing system as well as the admin-
istrator of the system.
Summary
In this chapter the problem is stated and the user’s requirements for the
billing of a mesh system (to be implemented) are stated. In the next chap-
ter the user’s requirements will be analyzed in terms of what is possible
with the technologies available and the time allocated for the project.
2
Chapter 2
Introduction
In the previous chapter the user’s requirements and the problems of a
mobile phone application that can interact with a mesh billing system,
were identified and explained. In this chapter the requirements will be
analyzed and solutions to the problems will be posed.
4
A user sends USSD code to the server. The server receives a request
from the user and a communication between a user and a network is cre-
ated. The server checks the user’s bill from the database and sends the
current status to the user.
Technologies to be used
Net Beans Java
MySQL for database installations
NET, PHP, Java for connecting applications to the mobile world
Android JDK and Eclipse
Summary
This chapter gives a brief description of designer’s view of the problem,
the possible solutions to the problem; ways in which the system will be
tested and Breaking down the problem into high level constituent parts
Chapter 3
Introduction
In Chapter 2, the user’s requirements were identified; analyzed and some
possible solutions were identified. This chapter will be describing what
the user interface is going to do and how the user will interact with the
interface of this application. The requirements from Chapter 2 will be
used to detail the behavior of the program. The user interface provides
the means for the user to interact with the program. The user interface
specification (UIS) is intended to convey the general idea for the user in-
terface design and the operational concept for the application.
6
Figure 2 Dialing a code
After sending a USSD code, the code is then verified if it is the correct
code. If the code is incorrect an error message will popup, a user will then
be given an option to correct the code or to end an application. The figure
below (figure3) shows how the error message screen looks like.
More so; if a code is correct a user will then be taken through to the next
screen. The screen below will be displayed on the user’s phone. Figure 4
shows options that will be given to the user, a user can choose to check
balance or update a user profile.
Figure 4 Displaying options
A user can choose any of the above showed options. If a user wants to
check a balance they will have to choose “Check Balance” option. And if
a user is new to the system they can register their mesh potato and phone
numbers to “register” option so that they may have a full access to the
system. when a user choose “Check Balance” option then a user will have
to provide his/ her details just to confirm that a user exists on the system.
Figure 6 below shows a screen where users will be requested to enter
their login details. A user phone number is the unique identifier; it is used
to uniquely identify each user on the system. A user phone number must
match with a password and an access will be granted. However if a pass-
word or a phone number is incorrect a user cannot login, again an error
message “incorrect username or password” will popup.
8
Figure 5 Login
When correct details have been entered a user’s balance will be displayed
on the screen. Figure 6 below shows how the use’s balance will be
displayed to the user.
The screen below will be displayed when a user chooses “register” option
in screen displayed in figure 3. A user will be requested to enter their full
details in the registration form that will popup. However if a user enters a
phone number that is already on the system, a user can there not be
registered because a phone number is a unique identifier and it must
belong to only one user.
10
for the registered user. Or if a user is using an application for the first
time they will be directed to a page for new users for registration.
There are 2 options for the registered users which are update information
and check balance.
If a user wants to update their profile they enter their new details on a
given page and it will be saved on the database
Summary
This chapter deals with the user interface and how it interacts with the
user. A detailed user interface has been specified here, it explains how the
user interface will look like and also how it is expected to behave and in-
teract with the user .This chapter contains of a number of screen shots
that shows how the desired system will looks like and also a use case dia-
gram to show interaction between user and the system. In the next chap-
ter, the object oriented analysis (OOA) design will be specified.
Chapter4
Introduction
In the previous chapter the user interface specification was discussed and
how the user will interact with the system was explained. In this chapter
the high level design will be analyzed using the requirements as stated in
RAD (Chapter 2). This is an object-oriented view of the problem that is
the various objects required for the solution are defined and analyzed.
The relationship between the objects is shown while the class diagram
display the attributes and methods of each class.
Objects Description
User This is any one that will be accessing the system.
Register This class will be used by the new users of the sys-
tem to get their details into the system so that they
may have full access to the system
Update This section will only be accessible to registered
users. If a user wants to change their information
they will be able to so by using this class
Check This class will be used by only registered users to
check balances every time they want to see their
balance.
12
Class diagram
Table 2 below represents user table. A user can be any one accessing an
application. Each user must be uniquely identified hence the attribute
User_ID. A user_cell number will be used when requesting a balance.
Table 2 User
User
attributes explanation
User_ID This will be used to uniquely identify each
user
User_cell number This will be used for sending a balance, a
requested balance will be sent to an
alternative cell phone number
A register object, this is the class that will be used by the users to register
their details on the system. The class is described into details below (Ta-
ble3). Like any object the must be an attribute that uniquely identifies it,
its primary key is registration number.
Table 3 Register
Register
Attributes explanation
If a user changes his/her details and want to update their new details this
class that will be used to do so, an update class will have an update date
just to keep track of when the last time a user updated his / her details
was. The table below (table 4) explains the attributes that will be used for
this class
Table 4 Update
Update
Attributes explanation
Update-date A date when the users information was
updated
User_ID Will be used to identify which user is
updating information in a system. Will link
with a user’s primary key .this key is known
as foreign key
Check
Attributes explanation
Check-date A date where the check balance was
requested
User_ID Identifying a user that is requesting a balance
Each objects of the system must communicate with each other to ensure
the feasibility of the system. The class diagram (Figure 9) shows the rela-
tionship between the all the possible objects of the system and how they
work together. The administrator controls the registration processes, up-
date and balance check process. It is also shown on the figure that a user
can register, update, or check balance.
14
Figure 9 Class diagram
Summary
In this chapter the high level design was discussed .The various classes
involved in the completion of a project and how they are expected to in-
teract with each other was shown by means of diagrams and tables .In the
next chapter, the system design will be explained in terms of pseudo code
for each of the objects.
16
Chapter5
Introduction
In Chapter 4 classes that will be used to program the solution to the de-
fined problem were described looked at together with their attributes and
operations and the relationship between these classes was shown by
means of a diagram. In this chapter we take an even closer look at those
classes, so much as almost touching one the code. This will be developed
in a form of a pseudo code, which is very close to the actual code.
Objects attribute
User User_ID
Type: int
Example: 0733356017
Administrator Admin_name
Type : string
Example:
Admin_password
Type varchar
Example: tshaka0922
Description: Will keep records of when the user updated their pro-
file
Type : date
Check date
Check
Description: will store dates of checking the balance, also used for
limitation purpose, if a user wants to check a statement of 3 months
ago, an error will be displayed
Type : date
18
Inner details of class methods (functions)
The following table (table7) shows the inner details of classes with their
functions. It is the description of classes with regards to the type of func-
tions that they represent.
class functions
Public void_register()- this function will be used by the administrator to registor a
Administrator
new user into the system
Public void_check balance ()- if a user wants to check a balance this method will
be used.
User Public void_register()- this function will called in a program when a new user
wants to register in a system
Pseudo-code1
When button1.click {
Do
If (input = “*1351#”)
Show option screen
Else (close screen);
}
If (input= 1)
Retrieve a balance from the system ();
Show a feedback screen ()
Else if (input = 2)
Show update a profile screen ()
Send info database ();
Display updated profile on the screen();
Else close screen ()
Summary
In this chapter the pseudo code required to understand the solution was
developed. The various attributes and functions of a class were explained
in detail.
20
Chapter6
IMPLEMENTATION
Introduction
In Chapter 5, the Object Oriented Design of the application was given as
well as a detailed outline of the class functions/methods and the pseudo-
code for each class method of the system. It also analyzed the functions
which show how the user will interact with the application. Chapter 5
was more like an introduction to this chapter, where the implementation
is explained in more detail. In this chapter, a method of implementation
(USSD) is discussed and the source code of the full program is docu-
mented
Software Deployment
In the deployment of this mobile application eclipse, SQL databases and
SQLite databases was used.
It works in two ways:
Send data application –allows a user to send a request to the server
(indicated by blue arrows in the Figure 10 below)
Application on the server receives USSD code and verifies if cor-
rect gateway and register, updates the database, or the application
on the server sends feedback to the mobile
phone/emulator.(indicated by long black arrow in the Figure 10
below)
USSD Database/Billing
Verifi- System
cation
Figure 10 Implementation
This application uses MySQL databases to store data, when a user enters
a USSD code it will be verified if correct and go through if correct. To
link a Database with MySQL I used PHP script which I used notepad++
to write them. JSON (JavaScript Object Notation) was used to store in-
formation in an organized, easy-to-access manner in a database
Progress
Figure 11 changes in an
interface
22
The tools and languages I used have been added to the tools described
earlier in this book. The following are the tools used
MySQL
Android emulator
Apache
Notepad++ for PHP script
Eclipse for Java Developers
Android Developer Tools (ADT)
SQLite
Challenges
Source code
Main screen (USSD request) Class
/*
Author: Zine Tshaka
@Override
//creates an instance by connecting this java code to an XML
file called screen 1
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.screen1);
//takes what will be entered by the user in a text box in XML
and make it inputName which is a variable used in java code
inputName = (EditText) findViewById(R.id.name);
//btnNextScreen is defined in XML screen1 as a button, this
part of java code defines btnNextScreen as a button in java. af-
ter this step btnNextScreen will be added in R.java which is an
automatic genereted class of android
Button btnNextScreen = (Button) findViewBy-
Id(R.id.btnNextScreen);
24
//Listening to button event
btnNextScreen.setOnClickListener(new View.OnClickListener() {
{
// finish ();
}
}
});
}
}
Displaying options
startActivity(next3rdScreen);
}
});
startActivity(next3rdScreen);
26
}
});
}
}
Registering class
package com.example.androidhive;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class RegisterActivity extends Activity implements On-
ClickListener{
findViewById(R.id.btnRegister).setOnClickListener(this);
findViewById(R.id.btnDate).setOnClickListener(this);
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.btnDate:
Intent chooseDate = new In-
tent(getApplicationContext(),date.class);
startActivity(chooseDate);
break;
case R.id.btnRegister:
save();
28
Intent goingback = new In-
tent(getApplicationContext(),SecondScreenActivity.class);
startActivity(goingback);
break;
}
}
}
}
Login Class
/*DESCRIPTION: This is a login page, it allows a user to login
into the system and checks if they are correct it should return
the balance if the login details are correct
* INPUT: This class takes an input from the user, the input is
the login details
* OUTPUT:The out put that is produced by this class is a user
balance
* CAVEAT: the class will only produce an output if a correct
login details has been entered
*//*DESCRIPTION: This is a login page, it allows a user to log-
in into the system and checks if they are correct it should re-
turn the balance if the login details are correct
* INPUT: This class takes an input from the user, the input is
the login details
* OUTPUT:The out put that is produced by this class is a user
balance
* CAVEAT: the class will only produce an output if a correct
login details has been entered
*/
package com.example.androidhive;
import java.util.HashMap;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.example.androidhive.library.DatabaseHandler;
import com.example.androidhive.library.UserFunctions;
30
// JSON Response node names
private static String KEY_SUCCESS = "success";
private static String KEY_ERROR = "error";
private static String KEY_ERROR_MSG = "error_msg";
private static String KEY_UID = "uid";
private static String KEY_NAME = "name";
private static String KEY_PhoneNO = "PhoneNO";
private static String KEY_CREATED_AT = "created_at";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
}
});
}
}
package com.example.androidhive;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
32
String aBufferWei = "";
while ((aDataRowWei = myReaderWei.readLine()) != null) {
aBufferWei += aDataRowWei;
}
}
catch (IOException e) {
tv.setText(text);
}
SUMMARY
In this chapter an approach for implementing a mobile application was
discussed and its source code documented. This chapter has also dis-
cussed how the project was implemented on an emulator. The challenges
that I met during the implementation are discussed into detail. The next
chapter describes how the system will be tested to check whether the
functionality is correct.
Chapter 7
TESTING
Introduction
Through all the previous 6 chapters, the system has been planned, ana-
lyzed, designed, developed and implemented. Chapter 6 briefly explained
the code implementation and code documentation was presented. In this
chapter, the user interface testing as well as evaluation of the system
functionalities will be carried out to ensure the strength and effectiveness
of the system. The main goal of testing is to explore the user interface as
to identify features that could be improved; test out system’s perceived
usefulness and perceived ease of use.
What is testing?
Software testing is a process of executing a program or application with
the intent of finding the software bugs.
It can also be stated as the process of validating and verifying that a soft-
ware program or application or product that has been designed:
Meets the business and technical requirements that guided it’s de-
sign and development
Works as expected
34
Functionality testing
Functionality testing is an evaluation of program based on functional re-
quirements to ensure the program works as it was specified to do.
In Functionality testing the testing of the functions of component or sys-
tem is done. It refers to activities that verify a specific action or function
of the code. Functional test tends to answer the questions like “can the
user do this” or “does this particular feature of the system work”.
Usability testing
Usability testing is a type of testing that is done from the user’s point of
view. This testing type makes an attempt to describe the “look and feel”
and usage features or usage aspects of a designed system. Definition of
Good usability is person dependent and varies from user to user. For ex-
ample, a developer or system administrator feels that use of command
line is a good user interface. But an end user would definitely like to have
everything in terms of Graphical User Interface (GUI) such as dialog
boxes, menus etc.
5 user1
user2
4
2
Score
0
Category 1 Category 2 Category 3 Category 4
The graph above indicates that none of the users gave a negative feed-
back for the application. Users were asked to rate the functionality of the
system out of 10. Most users gave a score more than eight.
36
tion and register their details on the system. They were then asked to play
around with different functions of an application such as check balance
and log in. The users were then asked to answer the questionnaire (see
Appendix). the main aim of the questionnaire was to test the perceived
usefulness of designing an application and to find out if are the any fea-
ture work that can be added on the application.
The testing helped to discover errors and areas of the system that required
improvement. Five participants were able to register onto the system and
view their details without any problems. They were also able to request
their balance.
The graph below shows how each participant responded and rated each
question from the questionnaire that is given on Appendix
12
10
user1
8 user2
user3
user4
6
user5
user6
Score
4 user7
user8
0
Question1 Question2 Question3 Question4 Question5 Question6 Question7 Question8 Question9
Testing discussion
The participants were able to perform almost all of the tasks that were
given to them during the testing. They also gave a positive feedback
about the application but only few participants could not understand some
of the instructions. Instructions were then explained and clarified to these
participants. During the requirements collection users also indicated that
an SMS based system would be helpful as well, few participants pointed
out that a system did not meet all the requirements
Summary
During system testing, users made significant comments and recommen-
dations about possible ways of improving this system. Some corrections
were made to rectify errors. Some functionality was not successfully im-
plemented on the system due to time constraints and therefore will be
recommended for future work. For instance, sending an SMS to the users
with user’s monthly statement.
38
C h a p t e r 8
USER GUIDE
Introduction
This chapter gives guidance to the user on how to use the application. It
explains step by step every function of the application and also gives
clear instructions to the user on how to use application correctly. A user
guide helps both a user and an administrator that is not familiar with an
application. A user guide also gives clear instructions on how to install an
application on a mobile phone.
System’s requirements
The requirements of this system are simple. This application only re-
quires an android mobile phone
Installing application
In order for the user to have the application on their android mobile
phone, the user must download the application from
http://www.cs.uwc.ac.za/~ztshaka/#downloads. The file which the user
must download is ApplicationForDownload . Once the user has the file
on their mobile phone, he or she can navigate to wherever they have
saved it and tap on it to run it. When the user has tapped the file, the in-
stall interface will pop-up. When the install screen shows up, the user will
be shown a number of permissions that the application needs in order to
perform all its tasks. At this point, the user should select install and wait
for a few seconds depending upon the performance of the device being
used. After the user selects the install button, the application will install
and save itself and the application icon will be found on the phones menu
screen. A user can now be able to use this application.
40
How the system works?
After touching the icon a new screen will pop up, Figure 13 above shows
the first screen that a user will see when opening an application. This
screen requires a user to enter a USSD code, after that a code will be veri-
fied and if correct an application will proceed to the next screen or a pop
up message will be displayed.
The next figure shows how a popup message is displayed on the user
screen this will only be displayed when an incorrect USSD code has been
entered
42
Figure 15 error message
Figure 16 options
The figure above is a display of options that will be given to a user after
entering a correct USSD code. As shown on the figure, a user will have 2
options
1. Check Balance
2. Register
This application works different from the other USSD applications, a user
will not have to input their response as most USSD applications does they
have to click on the button they want. so a user cannot skip any step, for
example with MTN if you want to access an application and a predeter-
mined USSD code is *145# and an option you would like to access is op-
tion 1 you can do so by just dialing *145*1# and it will take you straight
to option 1, in this case we cannot do that because this application is not
working with user’s input.
44
Figure 17 registration form
Figure 18 Log in
After choosing Check Balance option a user will then be taken through
some steps to verify that a user is really a correct user for that device.
This will avoid other users accessing others information when a user los-
es a device due to theft or robbery.
46
Figure 19 showing user's balance
The figure above is an example of what can be displayed after a user have
been logged in correctly using his/her phone number and a password.
Summary
This chapter has discussed the user guide documentation. The user guide
included instructions to install a system and system requirements. Users
are provided with the information relevant to their respective tasks.
APPENDICES
APPENDIX A
Interview probes
A mobile application to interact with a mesh billing system
Project description
A mesh potato network is implemented in some rural area in Eastern
Cape. This network is used to make calls within the community. Even
thou a mesh potato network is for free but a maintenance fee must be paid
for the maintenance of devices. This project aims to help people from ru-
ral areas where the mesh potato network is implemented. It focuses on
helping them get their status of mesh potato network without any difficul-
ties.
1). Do you think such a system will be helpful to the people of Mankosi?
How?
2). what would you like a system to do?
3). what is it that you do not want from the new implementation?
4). Can you please describe the way you would like the system work like
48
APPENDIX B
Consent form
University of the Western Cape
Faculty of Science
Department of Computer Science
Computer Science
Department:
Telephone:
Email:
Name of participant:
research project
this project.
ave the right to withdraw from this project at
any stage.
Signature of Participant:
………………………………….
Name of participant:
…………………………………………………
…
50
APPENDIX C
52
APPENDIX E
APPENDIX F
th rd th h th st th th
Tasks 16 23 Se 30 7 14 21 28 6
for the Sept p Sep Oc- Oct Oct Oct Nov
week to-
Presen
of the ber
tation
on the
th
6
54
Project Finalise Com- Finalise Cre- Hand in
Docu- the edit- plete all user’s ate a docu-
Do the editing f the
ment ing of editing guide & small menta-
rd previous term’s
the of 3 Project video tion on
documentation.
docu- term’s docu- or Monday
th
menta- docu- menta- demo 4 No-
tion menta- tion. of vember
Start by identifying
tion. Ask your
all the tasks that the
col- pro-
program must be
league ject
able to do - write the
or on
User’s guide
some- your
one to web-
edit site.
/proofre
And
ad it!!
put an
exec-
utive
See
sum-
Page 12
mary
of the
of
hand-
your
out.
pro-
ject
on the
web-
site
as
well.
Pro- Revise programme & add what is still out- Revise Re- Revise
gram- standing pro- vise pro-
ming gramme pro- gramme
And make changes to thesis doc to reflect
tasks & create gram
this! Finalise
not installa- me &
Installa-
com- tion create
tion
pleted disc. instal-
disc.
lation
disc.
Design Read up Add the Design test
Test about theoret- suites
suites evalua- ical part
Choose your
tion of of eval-
“users”
pro- uation
grams – to your Question-
get ide- docu- naires etc.
as of menta-
Ethical as-
how you tion.
pects
want to Edit the
do eval- chap-
uation. ters
Add to where
docu- you
menta- referred
tion. to it
Edit the initially.
chap-
ters
where
you
referred
to it
initially.
56
Presen Mock
tation Presen-
tation
on the
th
5 Nov.
Prepare
for
presen-
tation
and
install
on rele-
vant
com-
puters.
Test if it
works!!
Questionnaire
Rate a system by giving a score between 1 and 10. 1 means ineffective
and 10 means effective
Question Score
58
11. What is it that you do not like about the system?
Bibliography
1. about.com. [Online] 2000.
http://cellphones.about.com/od/phoneglossary/g/smstextmessage.htm.
2.
http://www.logossolvo.com/news.php?start_from=48&ucat=&archive=&su
baction=&id=&. [Online] february 1996. [Cited: 03 10, 2013.]
3. https://groups.google.com/forum/?fromgroups=#!topic/village-telco-
dev/95vOPMpXg2I. [Online] april 1999. [Cited: 03 10, 2013.]
4. stephen, michael adeyeye and paul gardner. The Village Telco project:
a reliable and practical wireless mesh telephony infrastructure. 2008.
5. Tamanda, Ravi. androidhive. [Online] July 01, 2013. [Cited: September 10,
2013.] http://www.androidhive.info/.
6. Traynor, Patrick. On Cellular Botnets: Measuring the Impact of
Malicious. Mobile Phone Architecture. 2012.
7. Ufitamahoro, Josée Marie. [Online] [Cited: May 18, 2013.]
http://www.cs.uwc.ac.za/~mufitamahoro/project.html.
8. Yiyao Lu 1, Weiyi Meng 1, Liangcai Shu 1, Clement Yu 2, King-Lup
Liu. Evaluation of Result Merging Strategies. 2003.
9. about.com. about.com. cell phone glossary. [Online]
http://cellphones.about.com/od/phoneglossary/g/smstextmessage.htm..
10. —. About.com.cell phones. About.com. [Online]
http://cellphones.about.com/od/phoneglossary/g/smstextmessage.htm.
11. Marie , Josée Ufitamahoro. A Mesh Network Implementation In
Mankosi, South Africa. Marie Josée. [Online] july 2006. [Cited: 03 26, 2013.]
http://www.cs.uwc.ac.za/~mufitamahoro/project.html.
12. Bila, Ntsako Welcome. MOBILE MONEY TRANFER FOR
UNBANKED. COMPUTER SCIENCE, University Of The Western Cape.
Cape Town : s.n., 2011.
13. Mobile Internet Gateway. Welcome Mobile Internet Gateway. [Online] 06 2012.
[Cited: April 03, 2013.] http://www.mig.co.za/images/ussdSAMPLE.jpg.
14. crew, Village Telco. Mesh potato. villa telco. [Online] September 2011.
[Cited: March 26, 2013.] http://villagetelco.org/mesh-potato/.
15. sms gateway. send mode. [Online] 2002. [Cited: April 05, 2013.]
http://www.sendmode.co.za/sms-gateway.
16. Airtime Transfer. Vodacom. [Online] Vodacom, 2012.
https://www.vodacom.co.za/personal/services/stayintouch/airtimetransferse
rvice/?pageUrl=/personal/services/stayintouch/airtimetransferservice&first
Load=true.
60
INDEX
Mysql, vi
MySQLite, vi
A
application, 1, i, ii, iii, vi, 1, 3, 5, 7, 8, 11, 15, N
23, 24, 25, 26, 35, 37, 38, 39, 40, 41, 43,
44, 45, 47, 48, 51, 52, 61 NetBeans Java, 5
B O
balance, iii, iv, 9, 10, 11, 14, 15, 16, 17, 20, object oriented analysis, 13
21, 26, 28, 29, 32, 34, 40, 50 onCreate, 28
C P
Check balance, 12 Progress, 24
pseudo code, 18, 19, 22
D
R
Delft, i, 1, 5, 38
Designers, 3 Register, 14, 15
requirements, 1, i, i, ii, vi, 1, 2, 3, 5, 7, 14,
37, 38, 40, 41, 43, 50, 61
F Requirements, 3
rural area, 1
Functionality testing, ii, 38
S
G
screen, 12, 21, 22, 24
GSMG, vi server, vi, 5, 23
SMS, vi
I
T
interface, i, i, iii, vi, 7, 11, 12, 14, 24, 37, 38,
43, 61 The user interface specification, 7
L U
Log in, iii, 49 Update, 14, 16, 20, 28
Update information, 12
M Usability testing, ii, 38, 39
User, 1, 7, 12, 14, 15, 16, 20, 21
Mankosi, 1, 2, 51 USSD, vii, 2, 3, 5, 7, 20, 23, 24, 25
mesh potato, 1, 2 USSD code, 4, 7, 8, 11, 25, 27, 45, 47
mobile phone, 3, 5
MyQsl, 5