Post on 18-Jan-2016
REAL TIME GPS TRACKING SYSTEMMSE PROJECTPHASE 3 PRESENTATION
Bakor KamalCIS 895
Outlines
Project Overview Action Items Component Design Assessment Evaluation Performance testing Project Evaluation Lessons Learned Project Evaluation Lessons Learned Future Work Demo Questions
Department of Computing and Information Sciences - Kansas State University
Project Overview
Department of Computing and Information Sciences - Kansas State University
Goal: To develop an application for tracking mobile
devices which came with GPS functionality with it.
Motivation: The motivation of developing this project has
been my desire of learning more about Mobile programming technology. Moreover, I want to apply what I learned about development lifecycle.
Project Overview (Cont.)
Department of Computing and Information Sciences - Kansas State University
Action Items
Department of Computing and Information Sciences - Kansas State University
Action Items from the last presentation. Updating Presentation Tier Chart
Action Items (Cont.)
Department of Computing and Information Sciences - Kansas State University
Action Items from the last presentation.
Create USE Spec. to make sure that the rout is valid as the following:
Action Items (Cont.)
Department of Computing and Information Sciences - Kansas State University
class Routattributes
Session:IntegerStarttime: StringStartPoint: PointEndPoint: Point
end
--each rout contains more than one pointassociation UserDevice between
Rout[1] role theRoutPoint[1..*] role thePoints
End
class Pointattributes
Latitude: IntegerLongitude: IntegerTime: IntegerLastUpdate: IntegerDirection:IntegerAccuracy:IntegerLocationMethod:IntegerSessionID: IntegerSpeed: integer
end
context Rout inv correctPath:
Rout.allInstances->forAll(r | r.thePoints->exists(p1, p2 | p1.sessionID = p2.sessionID implies (p1.LastUpdate < p2.Last
Update or p1.LastUpdate > p2.LastUpdate)and ( r.StartPoint <> p2 and r.EndPoint <> p1)) )
Action Items (Cont.)
Department of Computing and Information Sciences - Kansas State University
Create JML Specification getLocation is an important function that
extract the information of a certine location and update the DB and the map in the cell pone
//@requires location != null; //@ensures \fresh(azimuth); //@assignable oldCoordinates, currentCoordinates,
queryString ; //@signals (Exception e) this.getUrl(queryString) == null; private void getLocation(Location location){ … }
Action Items (Cont.)
Department of Computing and Information Sciences - Kansas State University
Project Plan – Cost Estimate Approximately 190 total hours (All
Phase) 22 hours research 48 hours documentation 28 hours design 106 hours coding 1000 SLOC
Action Items (Cont.)
Department of Computing and Information Sciences - Kansas State University
Productivity 1000 SLOC / 106 hours = 9.43 SLOC/hour 10 Documents / 48 hours = 0.2 Docs/hour
Component Design
Department of Computing and Information Sciences - Kansas State University
Component Design (Cont.)
Department of Computing and Information Sciences - Kansas State University
Attributes: startTime : The time of the session starts. lastUpdate : The last time the agent send the point information startPointLatitude : Position of the start point. startPointLongitude: Position of the start point. totalTime : Total time form the first point to the last one. distance : Total distance from the fist point. sessionID : A unique ID of the session. phoneNumber : The id of the user and device. Methods: calculateSpeed ( ) : Integer Method to calculate the average speed. calcTime ( ) : String resetSession ( [in] id : String ) : Boolean This method is responsible for delete all previous points and make the last one as
the starting point.
Assessment Evaluation
Department of Computing and Information Sciences - Kansas State University
Actor Feature
Identifier
Description Result
User T-1 Track Connected Devices Pass
T-2 Signup Pass
T-3 Managing Accounts Pass
T-4 Register Device Pass
T-5 View Statistics Pass
T-6 Login Pass
Performance testing.
Department of Computing and Information Sciences - Kansas State University
Apache's ab2 used to compute how many requests per second are systems capable of serving. The used command is the following: ab2 -c5 -n1000
http://people.cis.ksu.edu/~bakor/MSEProject/includes/myfiles/getgooglemap2.php C5: concurrency of 5 N1000: The page will be requested 1000 times
Standard deviation [+/-sd] of a random variable, or population or multistep of values is a measure of the spread of its values.
The time of calling getgooglemap2.php page representing the time needed to receive location information from a device.
Performance testing (Cont.)
Department of Computing and Information Sciences - Kansas State University
Project Evaluation
Department of Computing and Information Sciences - Kansas State University
Phase Start Time Finish Time
Phase 1 1-15-20091 – 26 – 2009
(11 day)
Phase 2 1 – 26 - 20092 – 16 – 2009
(20 day)
Phase 3 2 – 16 - 20095 – 6 – 2009
(40 day)
lessons learned
learning more about Mobile programming technology.
Learn to focus in cretin tasks and learn how to measure the effort for each task.
Working with and understanding more, the UML model.
Department of Computing and Information Sciences - Kansas State University
Future Work
Department of Computing and Information Sciences - Kansas State University
Apply the code to calculate location based on the Cell Tower location.
Apply offline GPS recording mode. Develop .NET agents to extend device
coverage (Currently Symbian OS, BlackBerry OS, iPhone OS (OS X iPhone) are covered)
Demo
Department of Computing and Information Sciences - Kansas State University
http://people.cis.ksu.edu/~bakor/MSEProject/
Questions
Department of Computing and Information Sciences - Kansas State University