Upload
nelson-kigen
View
220
Download
0
Embed Size (px)
Citation preview
8/13/2019 EasyMobile Documentation
1/28
i
STRATHMORE UNIVERSITY
FACULTY OF INFORMATION TECHNOLOGY
Diploma in Business Information Technology
AN INFORMATION SYSTEM PROJECT SUBMITTED IN
PARTIALFULFILLMENT OF THE REQUIREMENTS FOR THE
DIPLOMA IN BUSINESS INFORMATION TECHNOLOGY
(DBIT)
DESIGNED BY
PSENJEN NELSON KIGEN
ADMISSION NUMBER; 050820
SUBMISSION DATE: 4TH
May, 2009
8/13/2019 EasyMobile Documentation
2/28
ii
DECLARATION
This Information System Project is the Original work of the author and has not been submitted for
any other Diploma or Degree program in any University.
I therefore declare that, no other person apart from the undersigned has submitted this project.
Signed Date..
Psenjen Nelson Kigen
This project was assessed and approved by the supervisor who oversaw the completion of thiswork whose signature appears at the bottom of this page.
Signed. Date
MR. EMMANUEL KWEYU
Lecturer, Faculty of Information Technology
Strathmore University
8/13/2019 EasyMobile Documentation
3/28
iii
ACKNOWLEDGEMENT
The following people have played a special role in enabling the completion of this system to itscurrent level:First of all, GOD, for giving me the strength to keep going even when I thought everything was
too hard and I felt like giving up.
Secondly, Strathmore University for providing me with resources needed to do complete myproject.ie. Free access to the internet which was an invaluable source of information that made
my project a successFourthly, my classmates in the DBIT class of April 2009, especially Evans who constantly camewith new ways of solving programming problems and my desire to outsmart him made me decide
to work on this project.
Last but not least, my lecturers especially Mr. Emmanuel Kweyu who has been my supervisorand has taken me through the entire project development phase, giving me ideas on how toimprove my project, and Mr. Nelson Ochieng who introduced me to object oriented
programming in java and ever since I have aspired to master it.
Thank you ALL!
8/13/2019 EasyMobile Documentation
4/28
iv
Contents
DECLARATION ......................... ........................... ........................... .......................... ............... iiACKNOWLEDGEMENT....................................... ........................... .......................... .............. iii1.0 INTRODUCTION ............................................................................................................- 1 -
1.1 Background to the Organization ....................................................................................- 1 -1.2 Description of the problem ....................... ........................... ........................... ................... 11.3 Objectives and Terms of Reference ................... ........................... ........................... .......... 1
1.4 Project Plan, Environmental and operational constraints of proposed system. ................. 2A) Software requirements. .......................... ........................... ........................... ................... 2B) Hardware requirements .......................... ........................... ........................... ................... 2C) System users. ....................... ........................... ........................... ........................... .......... 2
2.0 SYSTEM ANALYSIS .......................................................................................................... 32.1 Summarized description of the current System....................................... ........................... . 32.1 Current System Models ........................ ........................... ........................... ....................... 4
Current Bus Reservation Use Case Diagram .......................... ........................... ................... 4Current Parcel delivery system use case ........................ ........................... ........................... . 5Sequence diagram of the current bus booking system ................. .......................... ............... 6
3. SYSTEM DESIGN ................................................................................................................. 93.1 Translation to Logical data model. .......................... ........................... .......................... ...... 93.2 Database Schema ............................................................................................................ 103.2.2 Data Dictionary ........................ ........................... ........................... .......................... .... 10
Bus Table ........................ ........................... ........................... ........................... ................. 10Bus_Assign Table ............................................................................................................. 11Client Table ...................................................................................................................... 11Client_Accounts Table. .......................... ........................... ........................... ..................... 11Crew Assignment Table ......................... ........................... ........................... ..................... 12Parcel Table ...................................................................................................................... 12Parcel Category Table ....................... ........................... ........................... .......................... 12Payment Table .................................................................................................................. 13Receipt Table .................................................................................................................... 13Route Table .......................... ........................... ........................... .......................... ............. 13Staff Table ........................................................................................................................ 13Ticket Table ...................................................................................................................... 14Trip Table ......................................................................................................................... 14
3.3 Process Descriptions........................................................................................................ 153.3.1 The Pseudo-Code...................................................................................................... 15
8/13/2019 EasyMobile Documentation
5/28
v
3.4 Interface Designs ......................... ........................... ........................... .......................... .... 163.4.1 Input Screens ........................ ........................... ........................... .......................... .... 16
3.5 Crud Matrix .................................................................................................................... 184.0 Implementation and Testing ................................................ ........................... ..................... 19
4.1 Description of development Environment/tools......................... .......................... ............. 19
4.2 Description of the main system functionalities. ......................... .......................... ............. 194.3 Sample Test data and Error handling. ..................... ........................... .......................... .... 194.4 Interesting Sample Scripts ........................ ........................... ........................... ................. 20
5.0 CONCLUSIONS AND RECOMMENDATIONS............................. ........................... ........ 215.1 Problems and challenges encountered ......................... ........................... .......................... 215.2 Solutions to the problems and challenges encountered ................................................. .... 215.4 Self -Evaluation of the system and work done. .......................... .......................... ............. 21
6.0 BIBILIOGRAPHY .......................... ........................... ........................... .......................... .... 226.1 Listing of work Consulted in alphabetical of Authors Surname .......................... ............. 22
7. APPENDICES ......................... ........................... ........................... .......................... ............. 23i) Installation Guide .............................................................................................................. 23ii) Supervision Slip................................................................................................................ 23
Table of Figures
Figure 1: Current bus reservation use case diagram ....................... ........................... ................... 4
Figure 2: Current parcel delivery use case diagram ........................ ........................... ................... 5Figure 3:Sequence Diagram for the current bus booking system ........................... ....................... 6Figure 4: ..................................................................................................................................... 6Figure 5:Proposed bus booking use case diagram .......................... ........................... ................... 7Figure 6: proposed seat reservation sequence diagram ........................ .......................... ............... 8Figure 7: Current System class diagram ...................... ........................... ........................... .......... 8Figure 8: Database relationships ......................... ........................... ........................... ................... 9Figure 9: Trip lookup input screen.................................... ........................... .......................... .... 16Figure 10: Parcel Status input screen ........................... ........................... ........................... ........ 17Figure 11: Currently reserved seats ........................................... ........................... ..................... 17Figure 12: Current balance ........................ ........................... ........................... .......................... 18Figure 13:Main menu ....................... ........................... ........................... ........................... ........ 23
8/13/2019 EasyMobile Documentation
6/28
- 1 -
1.0 INTRODUCTION
1.1 Background to the Organization
Easy Coach Bus Company is a long distance bus company operating on major towns in Kenyawith its headquarters along Haile Selasie Avenue, Nairobi. It has been in operation for about nine
years under the name EASY COACH.
It has branches in the following major towns:
o Nairobio Nakuruo Eldoreto Kitaleo Kapsabet.o Bungomao Busia
o Malabao Kisumuo Kerichoo Webuyeo Masenoo Kakamegao Awendo
1.2 Description of the problem
With the increase in the number of commuters using their services and the minimal number ofspaces available per trip, there is need for them to be able to book for trips at their own
convenience.
There is also the need to provide an efficient parcel monitoring system where the consigner
will be able to check the delivery status of his/her parcel at his/her convenience.
1.3 Objectives and Terms of Reference
With the successful implementation of this system, clients will be able to book for trips at theirown convenience and the efficiency of entire reservation process will improve considerably. Theaims of this project are to:
o Increase the efficiency and speed of the reservation process.o Provide the client with a convenient way to make reservations for trips.
System modules include:
o A reservation module, allowing clients to check for available trips, makereservations for trips and view their current reservations.
o A payment module, allowing the clients to pay for their reserved seats.o A parcel status module, allowing the client to view the delivery status of the parcels.o An administrators module, allowing him/her to view reports of the client activities
8/13/2019 EasyMobile Documentation
7/28
2
1.4 Project Plan, Environmental and operational constraints of proposed system.
The project was meant to take approximately three months using the following tools and
environment variables:
A) Software requirements.
o MySQL 5.1 as the SQL server.o Apache 2.2 with PHP 5.0 as the server.
B) Hardware requirements
o A java enabled Mobile phone with MIDP 2.0 and CDLC 1.0.o Internet connectivity via WAP,GPRS or EDGE.
C) System users.Any person with basic knowledge in using a java enabled mobile phone.
8/13/2019 EasyMobile Documentation
8/28
3
2.0 SYSTEM ANALYSIS
2.1 Summarized description of the current System
Currently, Easy Coach offers the following main services:o Day and night long distance bus service.o Long distance parcel delivery service.o Door to door parcel delivery in Nairobi and its environs (At an extra-charge).
A combination of both manual and computerized systems is used to keep records of bookings andparcel deliveries. Manual systems used include ticket and parcel delivery books.
In Nairobi area, it has booking offices at major supermarkets such as Nakumatt and Uchumi.
These booking offices are linked to the main office. However, in the other booking offices,booking is still done manually.
During booking, a client arrives at the booking office where he/she meets a booking clerk. Afterspecifying his/her intended destination and time of travel, the clerk checks in the booking book
for available space. It there is space, the clerk then presents a chart showing the arrangement ofseats in the bus and informs the client of the vacant seats from which he/she will choose a seat
from. After the client has chosen a seat, the clerk requests for any identification document fromwhere he notes down the name and ID number. If the client doesnt have any identification
document, he dictates his name to the clerk. He also notes down the destination, time of travel,
seat number, fare paid and bus registration number. Thereafter, a ticket is issued after payment ofthe fare but a copy is retained by the clerk. The passenger must present the ticket before entering
the bus during departure.The passenger must arrive and the booking office thirty minutes prior to the departure time.During this time, any luggage the passenger might be carrying is labeled and loaded to the bus.
Also, parcels are loaded after sorting them according to their destination. Before the passenger is
allowed to board the bus, he/she presents the ticket a clerk who cancels his name from the
passenger list in the booking book and retains part of the ticket.
A person intending to send a parcel (consignor) presents the parcel to the clerk after indicating
both his/her name and that of the consignee together with the destination of the parcel. Thereafterthe clerk notes down the details on the parcel delivery booklet. If the parcel is small enough, it is
wrapped in a special cover then a copy a delivery receipt is stapled onto it and the consignorretains a copy. However, big parcels must be weighed first and parcels over 25 kg are notallowed. Once the parcels reach their destination, they are sorted according to their origin then
recorded in the received parcels book. These books are divided according to the source towns of
the parcels. Thereafter, when the consignee comes to collect a parcel, he/she first specifies the
town from which the parcel came from and the sender. The clerk then tries to locate the parcelfrom the received parcels records. If found, the consignee is requested to present any proof of
identification such as a passport, national ID number and for those who dont have thesedocuments, a student ID card or a birth certificate is accepted. Thereafter, the parcel is handed
over after signing in the received parcel book.
8/13/2019 EasyMobile Documentation
9/28
4
However, despite the obvious efforts made to make the system as effective as possible, it still has
numerous drawbacks. These include:o Clients have to give their names ID number every time they come to book even though
the company might be having that information.o Booking is done from a central place and all clients (passengers) have to physically go to
the booking office even though it might be time/money consuming.o The consignee is not able to know of the parcels delivery status.o The consignor is not informed when his/her parcel is ready for collection.
2.1 Current System Models
Current Bus Reservation Use Case Diagram
Figure 1: Current bus reservation use case diagram
8/13/2019 EasyMobile Documentation
10/28
5
Current Parcel delivery system use case
Figure 2: Current parcel delivery use case diagram
8/13/2019 EasyMobile Documentation
11/28
6
Sequence diagram of the current bus booking system
Figure 3:Sequence Diagram for the current bus booking system
Figure 4:
8/13/2019 EasyMobile Documentation
12/28
7
Figure 5:Proposed bus booking use case diagram
8/13/2019 EasyMobile Documentation
13/28
8
Figure 6: proposed seat reservation sequence diagram
Figure 7: Current System class diagram
8/13/2019 EasyMobile Documentation
14/28
9
3. SYSTEM DESIGN
3.1 Translation to Logical data model.
Figure 8: Database relationships
8/13/2019 EasyMobile Documentation
15/28
10
3.2 Database Schema
Client {Client_No, Surname, First_name, Middle_Name, Gender, Address, City, Postal_Code,Phone_No, email}Client_Accounts{Client_No, Balance, Last_Recharge_Date, Username, Password}Bus {Reg_No, Chassis_No, Type, Make, Capacity, Date_Added}Bus_Assign{Reg_No, Route_ID, Date_Assigned}Crew_Assign{Staff_ID, Trip_ID, Date_Assigned}Parcel {Parcel_ID, Type, Category_ID, Consignor_ID, Consignee_ID, Date_Send, Source,Destination, Status}Parcel_Category{Category_ID, Lower_Weight, Upper_Weight, Cost}Payment{Ticket_No, Amount, Date_Paid, Time_Paid}Receipt{Parcel_ID, Receipt_No, Amount, Date_Received}Route {Route_ID, Route_Name, Source, Destination, Date_Created}Staff {Stafft_ID, Surname, First_name, Middle_Name, Gender, Address, City, Postal_Code,
Phone_No, Position}Ticket {Ticket_No, Client_No, Trip_ID, Seat_No, Status, Date-Issued}
Trip {Trip_ID, Trip_Date, Trip_Time, Fare, Capacity, Bus_Reg_No, Route_ID, Date_Added}
3.2.2 Data Dictionary
The Easy Coach database contains thirteen tables and they are as described below:
Bus Table
This table contains the details of all buses
Field Name Data Type Field size DescriptionReg_No Varchar 12 Primary Key that
uniquely identifies a
busCapacity Smallint 2 Capacity of the bus
Chassis_No Varchar 24 Chassis number of thebus
Type Varchar 15 Bus model
Make Varchar 15 Bus nameTable 1: Bus table
8/13/2019 EasyMobile Documentation
16/28
11
Bus_Assign Table
This table contains the details of buses and the routes they are assigned to operate on.
Field Name Data Type Field size DescriptionReg_No Varchar 12 Primary Key that
uniquely identifies abus
Route_ID Int 6 A valid route IDwhich cannot be null
Date_Assigned Date Date the bus was
assignedTable 2: Bus assignment table
Client Table
This table contains the details of all clients.
Field Name Data Type Field size DescriptionClient_No Int 6 Primary key that
uniquely identifies aclient
Surname Varchar 25 Clients surname
First_Name Varchar 25 Clients first name
Middle_Name Varchar 25 Clients middle name
Gender Varchar 6 Clients gender
Address Varchar 15 Clients address
Postal_Code Int 6 Clients postal code
Phone_Number Varchar 10 Clients phone numberTable 3: Client table
Client_Accounts Table.
This table contains clientsusernames and passwords as well as their account details.
Field Name Data Type Field size DescriptionClient_No Int 6 Primary key that
uniquely identifies aclient
Balance Double 8 Clients accountbalance in KSH.
Last_Recharge_Date Date Clients last account
recharge date
Recharge_Number Int 12 Recharge transactionnumber
Table 4: Client Accounts table
8/13/2019 EasyMobile Documentation
17/28
12
Crew Assignment TableThis table contains details of trips and staff assigned to each trip.
Field Name Data Type Field size Description
Staff_ID Int 6Trip_ID Int 6
Date_Assigned Date Date the assignmenttook place
Table 5: Crew assignment table
Parcel Table
This table contains details of all parcels.
Field Name Data Type Field size DescriptionParcel_ID Int 6 Primary key that
uniquely identifies a
parcelType Varchar 14 Identifies the type of
parcel
Category_ID Tinyint 2 Identifies the category
to which the parcelbelongs
Consignor_ID Int 6 Identifies theconsignor from amongthe registered clients
Consignee_ID Int 6 Identifies theconsignee from amongthe registered clients
Date_Send Date The date when theparcel was send
Source Varchar 20 City of origin of theparcel
Destination Varchar 20 Destination city of the
parcel
Status Varchar 15 Delivery status of theparcel
Table 6: Parcel details table
Parcel Category TableThis table contains categories of parcels, their weight limits and charges.
Field Name Data Type Field size DescriptionCategory_ID Tinyint 3 Primary key that
uniquely identifies acategory
Lower_Weight_Limit Tinyint 3 Lower weight limit ofthe parcel category
Upper_Weight_Limit Tinyint 3 Upper weight limit of
the parcel category
8/13/2019 EasyMobile Documentation
18/28
13
Cost Float 8 Cost of parcel deliveryin KSH.
Table 7: parcel category table
Payment Table
This table contains trip payment details including the ticket number and amount paid.
Field Name Data Type Field size DescriptionTicket_no Int 6
Amount Double 8
Date_Paid Date
Time_Paid Timestamp Timestamp of the
transactionTable 8: Payment table
Receipt TableThis table contains payment details and receipt numbers of parcels.
Field Name Data Type Field size DescriptionParcel_ID Int 6
Receipt_No Int 6 Primary key that
uniquely identifies a
parcel
Date_Received Date Date the parcel wasreceived by the clerk
Amount Double 8 Cost of sending the
parcelTable 9: Receipt table
Route TableThis table contains all the valid routes.
Field Name Data Type Field size DescriptionRoute_ID Tinyint 2 Primary key that
uniquely identifies a
route
Route_Name Varchar 30 The route name
Source Varchar 25
Destination Varchar 25 The final destination
for the route
Date_Created Date Date the route wascreated.Table 10: Route table
Staff Table
8/13/2019 EasyMobile Documentation
19/28
14
This table contains the details of all the staff.
Field Name Data Type Field size DescriptionStaff_ID Int 6 Primary key that
uniquely identifies astaff member
Surname Varchar 25 Staff memberssurname
First_Name Varchar 25 Staff members firstname
Middle_Name Varchar 25 Staff members middlename
Gender Varchar 6 Staff members gender
Address Varchar 15 Staff membersaddress
Postal_Code Int 6 Staff members postal
code
Phone_Number Varchar 10 Staff members phonenumber
Position Varchar 10 Staff membersposition
Table 11: Staff details table
Ticket Table
This table contains details of all seats and trips reserved by clients.
Field Name Data Type Field size DescriptionTrip_ID Int 6
Ticket_No Int 6 Primary key used to
uniquely identify a
reservation or ticketClient_No Int 6 Identifies the
registered clientreserving a seat for a
given trip
Date_Issued Date Date the ticket was
issued
Seat_No Varchar 3 Identifies the seat a
client has booked.
Status Varchar 10 Current status of the
ticket or reservation .Table 12: Tickets table
Trip Table
This table has the details of all scheduled trips.
Field Name Data Type Field size Description
8/13/2019 EasyMobile Documentation
20/28
15
Trip_ID Int 6 Primary key whichuniquely identifies atrip
Trip_Date Date Date scheduled for thetrip
Trip_Time Varchar 8 Time scheduled for the
tripFare Double 8 Fare to be paid for the
trip in KSH
Capacity Tinyint 2 Maximum number ofpassengers to be
allowed for the trip
Date_Added Date Date on which the trip
was added
Bus_Reg_No Varchar 6 Registration number
of the bus to be used
for the trip
Route_ID Tinyint 3 Valid route to be usedfor the trip.
Table 13: Trips table
3.3 Process Descriptions
3.3.1 The Pseudo-Code
Seat Reservation
Begin
Input Trip DetailsCheck if trip is available
If trip is not availableAlert displayed to try a different date or destination
ElseDisplay available trips
If trip is selected
Display available seatsElseAlert displayed to select a seat
If seat(s) is selected
Prompt confirmation
If not confirmedDisplay available seats
ElseCheck balance
If balance>fare
Proceed to reserveElseAlert balance insufficient
End if
8/13/2019 EasyMobile Documentation
21/28
16
End if
End ifEnd if
End ifEND
3.4 Interface Designs
3.4.1 Input Screens
Trip Lookup form
This is the form where the user/client enters trip details and the system looks for a trip matching
that description.
Figure 9: Trip lookup input screen
8/13/2019 EasyMobile Documentation
22/28
17
Parcel Status form
This is a form where the user enters the parcel ID so as to view its delivery status.
Figure 10: Parcel Status input screen
3.4.2 Output Screens
Reserved Seats
Shows a list of the currently reserved seats for a given client
Figure 11: Currently reserved seats
8/13/2019 EasyMobile Documentation
23/28
18
Current Balance
Displays the current balance of the client
Figure 12: Current balance
3.5 Crud Matrix
Entity
Processes
Client Bus Trip Ticket Parcel Route Staff
Client
Registration
CRU
Staff
Registration
CRU
Bus
Registration
CRU
Generate
Ticket
CRUD
Parcel
Registration
CRUD
Route
Registration
CRUD
Trip
Addition
CRUD
Table 14:CRUD matrix
8/13/2019 EasyMobile Documentation
24/28
19
4.0 Implementation and Testing
4.1 Description of development Environment/tools.
The development environment tools used to create this system included:o Windows XP Professional with service pack two This served as the operating system,
thus enabling the system to run on during its development life cycle.
o Java development kit 1.6.7 with NetBeans 6.1 for implementation of the client sidedesign.
o Samsung software development kit 1.0 with Samsung SGH-U600 emulator was used totest the design.
o Dreamweaver 9 CS3 was used for implementation of the server side design. o Apache 2.2.3 was used as the application server. o MySQL 5.1 was used as the database server.o Microsoft Word 2007 was used as a means of generating documentation for the entire
project.
o Smart Draw 2008 was used to generate the necessary diagrams such as use cases, classand sequence diagrams for the systems documentation.
4.2 Description of the main system functionalities.
The system is capable of performing the following functions:o Show the client a list of currently reserved seats in a given trip(s).o Show the current balance in the client account.o Search for a given trip and display the number of seats available, fare and the departure
time.
o
Display the seat numbers of the currently unreserved seats in a given trip.o Display the delivery status of a given parcel.
4.3 Sample Test data and Error handling.
FIELD CORRECT
DATA
WRONG DATA ERROR HANDLING
Username Admin - Username cannot beempty!
Parcel ID 12 As Letter keys are disabled
Travel Date 20-05-2009 21-01-1990 Travel date cannot be in
the past!Table 15:Error handling
8/13/2019 EasyMobile Documentation
25/28
20
4.4 Interesting Sample Scripts
The following script allows the client to make multiple reservations at once by using one instanceof the HTTPConnection class!
public void run() {String temp;
String url="http://127.0.0.1/Easy_Coach/j2me/jticket.php";
String parameter;for(int i=0;i
8/13/2019 EasyMobile Documentation
26/28
21
5.0 CONCLUSIONS AND RECOMMENDATIONS
5.1 Problems and challenges encountered
o Since the author was the only one using J2ME, I had difficulties in finding help in areas Ifound challenging.o Learning a new programming language and building a complete system using it within
three months was quite challenging bearing in mind the other units and courses the authorwas doing at the moment.
5.2 Solutions to the problems and challenges encountered
o The author became a member of www.j2meforums.comfrom where he was able to findhelp in challenging areas.
5.3 Recommendations and Suggested Improvements
o Tools for mobile application prototyping should be made available in the computer labsso as to encourage more people to develop such applications
5.4 Self -Evaluation of the system and work done.
During this project duration, the author was able to master the art of mobile programming using
J2ME and applied his knowledge in building an entire system.Some of the benefits that will be derived from this system include:
o Conveniency- With this system, clients will be able to reserve seats for a given tripwithout making a physical visit to the booking office. They will also be able to check the
delivery status of their parcels with making a prior visit to the companys offices.
o The client will be able to view summarized reports of his/her activities such as the seatshe/she has currently reserved, account balance, available trips and travel history.
The major disadvantages in using the system may include:o Unreliability since the system relies on the signal strength and coverage of the network
provider. Therefore some clients may experience delays in using the system.
http://www.j2meforums.com/http://www.j2meforums.com/http://www.j2meforums.com/8/13/2019 EasyMobile Documentation
27/28
22
6.0 BIBILIOGRAPHY
6.1 Listing of work Consulted in alphabetical of Authors Surname
o Keogh James, J2ME- The Complete Reference, 2003,McGraw-Hill, 2ndEdition.o Li Sing and Jonathan Knudsen, Beginning J2ME-From Novice to Professional, 2005, 3 rd
Edition.
8/13/2019 EasyMobile Documentation
28/28
7. APPENDICES
i) Installation Guide
The system can be downloaded from the Easy Coach website via your mobile phone
browser. The installation details vary depending on the phone model you are using but inmost cases it is automatic. However before you download the system, you must fill in
your registration details and be given your username and password.For more instructions on how to use the system, go to Im stuckon the main menu of
the system.
Figure 13:Main menu
ii) Supervision Slip.Attached.