Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tracking Mobile
Acknowledgements
First and foremost, we would like to thank our supervisor for this project, Ms. Sana BEN FADHEL for the valuable guidance and advice. She inspired us greatly to work in this project. Her willingness to motivate us contributed tremendously to our project. We also would like to thank her for showing us some examples that related to the topic of our project. In addition, our deepest thanks to our linguistic supervisor Ms. Ines HAJRI for the valuable advice and support she has given us in the writing of this report. Besides, we would like to thank the authority of our University (ESPRIT) for providing us with a good environment and facilities to complete this project. Finally, an honorable mention goes to our families and friends for their understandings and supports in completing this project. Without help of the particular that are mentioned above, we would have faced many difficulties while doing this project.
Tracking Mobile
ABSTRACT
A GPS (Global Positioning Satellite) tracking system works by locating a person via satellite and sending the position to a mobile phone, personal computer or a call center. The purpose of this project is to design a GPS Tracking application, which can be used in different domains (to follow persons, vehicles). The concept of this project is based on the use of a cell phone which accepts to receive GPS coordinates and send them to a server able to record them. Then from a web client, the administrator can follow registered user (tracked person) on a map. The development of the mobile application was based on J2ME technology. The web application was developed with PHP/MySQL. This report presents in detail, all required steps to realize the project.
Tracking Mobile
Table of content
Acknowledgements .................................................................................................................... 1 ABSTRACT ............................................................................................................................... 2 List of figures ............................................................................................................................. 6 General Introduction .................................................................................................................. 9 Chapter1: State of the art .......................................................................................................... 11 Introduction .......................................................................................................................... 11 I. I.1. Some basic concepts ...................................................................................................... 11 Geo-location .............................................................................................................. 11 Localization technologies ................................................................................... 11 Localization systems comparison ................................................................... 18
Online mapping services ........................................................................................... 20 MapQuest ......................................................................................................... 20 Yahoo Maps ..................................................................................................... 21 Google Maps ................................................................................................... 21
Survey of the existing ................................................................................................ 22 Project presentation ................................................................................................... 23 Main issue .............................................................................................................. 23 The proposed solution ............................................................................................ 24
Conclusion ............................................................................................................................ 25 Chapter 2 Software development methodology and project planning ..................................... 26 Introduction .......................................................................................................................... 26 I. II. II.1. II.2. II.3. II.4. III. Agile Methodologies ..................................................................................................... 26 Mobile-D: A methodology for the development of mobile applications: ................. 28 Mobile-D introduction: ...................................................................................... 28 Why Mobile-D for mobile application? ............................................................. 28 Mobile-D in details: ........................................................................................... 29 Mobile-D methodology evaluation: ................................................................... 31 Project planning ......................................................................................................... 31 3
Tracking Mobile
Conclusion ............................................................................................................................ 33 Chapter 3 Project requirements analysis .................................................................................. 34 Introduction .......................................................................................................................... 34 I. Project requirements ...................................................................................................... 34 I.1. I.2. I.3. II. II.1. II.2. II.2.1. II.2.2. II.3. II.4. Actors ..................................................................................................................... 34 Functional requirements ......................................................................................... 34 Nonfunctional requirements................................................................................... 35 Requirement analysis ................................................................................................. 35 Choice of methodology ...................................................................................... 35 Application use case ........................................................................................... 36 Mobile application.............................................................................................. 37 Web application.................................................................................................. 39 Analysis Class diagram ...................................................................................... 40 State machine ..................................................................................................... 41
Conclusion ............................................................................................................................ 41 Chapter 4 Design ...................................................................................................................... 42 Introduction .......................................................................................................................... 42 I. General Design ................................................................................................................. 42 I.1. I.1.1. I.1.2. I.2. II. System context Description ....................................................................................... 42 Context diagram ..................................................................................................... 42 Activity diagram .................................................................................................... 43 General View ............................................................................................................. 45
Detailed design ................................................................................................................. 47 II.1. II.2. II.2.1. II.2.2. II.2.3. II.2.4. II.2.5. II.2.6. II.3. Sequence diagram ...................................................................................................... 47 Class diagram ............................................................................................................ 48 MIDlet .................................................................................................................... 48 Package: Controller ................................................................................................ 49 Package: View ....................................................................................................... 50 Package: Model ...................................................................................................... 51 Package: Utils ........................................................................................................ 51 Package: Service .................................................................................................... 52 Entity Relationship Diagram ..................................................................................... 53
Conclusion ............................................................................................................................ 53 4
Tracking Mobile
Chapter 5 Implementation ........................................................................................................ 54 Introduction .......................................................................................................................... 54 I. Work environment......................................................................................................... 54 I.1. I.2. I.3. II. II.1. II.2. Programming languages ......................................................................................... 54 Location API for Java ME ..................................................................................... 58 Software environment ............................................................................................ 59 Realization ................................................................................................................. 60 Mobile application.............................................................................................. 60 Web application.................................................................................................. 63
Conclusion ............................................................................................................................ 68 Conclusion and future work ..................................................................................................... 69 Appendix A: Mobile-D phases ................................................................................................. 71 References and bibliography .................................................................................................... 76 Tracking Mobile: .................................................................................................................. 42 Mobile application................................................................................................................ 42 Web Server ........................................................................................................................... 43
Tracking Mobile
List of figures
Figure 1 Geo-location............................................................................................................... 11 Figure 2 Cell-ID ....................................................................................................................... 12 Figure 3 Cell-ID+TA ................................................................................................................ 13 Figure 4 TDOA Localization ................................................................................................... 14 Figure 5 GPS Satellites ............................................................................................................ 14 Figure 6 Receiver position on the periphery of the sphere ...................................................... 16 Figure 7 Receiver position on the periphery of the grey circle ................................................ 17 Figure 8 Receiver position on the sphere and cercle intersection ............................................ 17 Figure 9 Internet access overs GPRS ....................................................................................... 19 Figure 10 Weenee by Tunisiana ............................................................................................... 22 Figure 11 Global architecture ................................................................................................... 24 Figure 12Mobile-D ................................................................................................................... 29 Figure 13 Mobile-D phases ...................................................................................................... 30 Figure 14 Gantt Chart ............................................................................................................... 33 Figure 15 UML......................................................................................................................... 36 Figure 16 General Use case ...................................................................................................... 36 Figure 17 Mobile Use case ....................................................................................................... 37 Figure 18 Web Use case ........................................................................................................... 39 Figure 19 Analysis class diagram ............................................................................................. 40 Figure 20 State machine diagram ............................................................................................. 41 Figure 21 Context diagram ....................................................................................................... 43 Figure 22 Mobile side: Activity diagram ................................................................................. 44 Figure 23 Web site: Activity diagram ...................................................................................... 45 Figure 24 : Different packages of the application .................................................................... 46 Figure 25 Mobile side: Sequence diagram ............................................................................... 47 Figure 26 Web site: Sequence diagram .................................................................................... 48 Figure 27 MIDlet class ............................................................................................................. 48 Figure 28: Controller package .................................................................................................. 49 Figure 29 Package View .......................................................................................................... 50 Figure 30 Package Model ......................................................................................................... 51 Figure 31 Package Utils ........................................................................................................... 51 Figure 32 Package Service ....................................................................................................... 52 Figure 33 Entity relationship diagram ...................................................................................... 53 Figure 34JavaME architecture ................................................................................................. 55 Figure 35 Mobile login interface .............................................................................................. 61 Figure 36 Mobile menu interface ............................................................................................. 61 Figure 37 Mobile set options interface ..................................................................................... 62 Figure 38 Mobile show position interface ................................................................................ 62 Figure 39 Web login interface .................................................................................................. 64 Figure 40 Web menu interface ................................................................................................. 64 Figure 41 Web search by user interface ................................................................................... 65 6
Tracking Mobile
Figure 42 Web Real time map.................................................................................................. 66 Figure 43 Web search by date interface ................................................................................... 67 Figure 44 Web map interface ................................................................................................... 68 Figure 45 Mobile-D Explore .................................................................................................... 71 Figure 46 Mobile-D initialize ................................................................................................... 72 Figure 47 Mobile-D productionize ........................................................................................... 73 Figure 48 Mobile-D Stabilize ................................................................................................... 74 Figure 49 Mobile-D Test .......................................................................................................... 74 Figure 50 Mobile-D Test&Fix ................................................................................................. 75
Tracking Mobile
List of tables
Table 1 Localization system comparison ................................................................................. 18 Table 2 GPRS classes ............................................................................................................... 20 Table 3 MapQuest .................................................................................................................... 21 Table 4 Yahoo Maps ................................................................................................................ 21 Table 5 Google Maps ............................................................................................................... 21 Table 6 Comparision between agile methodologies ................................................................ 27 Table 7 Mobile-D and mobile software development characteristics ...................................... 29 Table 8 Use case: Set options ................................................................................................... 37 Table 9 Use case: Show position.............................................................................................. 38 Table 10 Use case: Send position ............................................................................................. 38 Table 11 Use case: Follow tracks in real time.......................................................................... 39 Table 12 Use case: Search for a track ...................................................................................... 40 Table 13 Mobile-D Explore ..................................................................................................... 71 Table 14 Mobile-D initialize .................................................................................................... 72 Table 15 Mobile-D productionize ............................................................................................ 73
Tracking Mobile
General Introduction
Since its appearance the computer science is in constant evolution and became an engine for development and growth for companies. During these years, new technologies have emerged (embedded computing, wireless networks, the geo-location...) and also new devices (PDA, smart phones, mobile phones ...) with more compact size, performance and higher capabilities. The rise of technology mainly affects networks and mobile phones, and that success leads to the development of many services in many areas.
Mobile phones applications become increasingly popular due to their practical aspects. Today, the major business applications have a mobile component and PDA clients; mobile phones are increasingly in demand. Users become more mobile and want access to their information from any location. Mobile telecommunications related to the GPS is in rapid increase due to the performance of mobile terminals and autonomous GPS, which represents now the digital equipment registering the fastest rate of adoption by the general public in recent years. This project aims to develop a web application for monitoring and tracking mobile phones for surveillance, security, tracking goods or vehicles in real time, and the development of Mobile application deployed on the mobile phone of the tracked person. The communication between the two applications will be remotely done via GPRS (General Packet Radio Service). This report presents the main facets of the design and implementation of an application of real-time tracking of mobile phones. After presenting the stat of the art (Chapter 1), we will introduce the purpose of this project, detail the objectives and requirements of this product in the section devoted to the presentation and analysis of problems (Chapter 2).
Tracking Mobile
Then we will introduce the methodology we will use in our project (Chapter 3). The design of the application is the subject of the next chapter called design solution that explains the architecture of the proposed solution (Chapter 4). The last chapter will be devoted to technical details of the development, the working environment and the test of the application (Chapter 5). Finally the general conclusion summarizing the main results obtained and the major problems and prospects for this project.
10
Tracking Mobile
I.
The science of geolocation is concerned with the methods and concepts used to locate objects and features on the Earths surface, and in nearby space with respect to a terrestrial coo rdinate system. [1]
Figure 1 Geo-location
End Of Year Project GPS GSM, UMTS Wi-Fi, Bluetooth RFID Internet
Tracking Mobile
In what follows we will detail two of these technologies which are GSM and GPS and compare them. I.1.1.1. GSM network
In the mobile network-based solutions, the position is determined by the mobile network which calculates the position of the terminal. I.1.1.1.1. Cell-ID
A Cell-ID is the unique number of a GSM cell for a given operator. Your phone is always connected to a Cell, and by knowing this number, you know the Cell, and by knowing the position of the cell, you know where you are. There is some accuracy issue, as the cell can cover from several hundreds of meters to several kilometers, but this could be a very good starting point to locate yourself. [2]
Figure 2 Cell-ID
12
Tracking Mobile
The Cell-ID method described above can be enhanced by the use of different data and in particular further measures, measuring the spread, time itself proportional to the distance between the base station and the mobile feature.
Figure 3 Cell-ID+TA
I.1.1.1.3.
Arrival) Time of Arrival (TOA or ToA), also named Time of flight (ToF), which both means the travel time of a radio signal from a single transmitter to a remote single receiver. By the relation between light speed in vacuum and the carrier frequency of a signal the time is a measure for the distance between transmitter and receiver. However, in some publications the fact is ignored, that this relation is well defined for vacuum, but is different for all other material when radio waves pass through. Similar to the TDOA technique, this Time of arrival called technology only differs in the fact that it uses the absolute time of arrival at a certain base station rather than the measured time difference between departing from one and arriving at the other station. The distance can be directly calculated from the time of arrival as signals travel with a known velocity. Time of arrival data from two base stations will narrow a position to two circles and data from a third base station is required to resolve the precise position with the third circle when matching in a single point. There are many ToA-based localization systems, including GPS. [3]
13
Tracking Mobile
I.1.1.2.
I.1.1.2.1.
The Global Positioning System (GPS) is a U.S. space-based global navigation satellite system. It provides reliable positioning, navigation, and timing services to worldwide users on a continuous basis in all weather, day and night, anywhere on or near the Earth which has an unobstructed view of four or more GPS satellites.
14
Tracking Mobile
GPS is made up of three segments: Space, Control and User. The Space Segment is composed of 24 to 32 satellites in Medium Earth Orbit and also includes the boosters required to launch them into orbit. The Control Segment is composed of a Master Control Station, an Alternate Master Control Station, and a host of dedicated and shared Ground Antennas and Monitor Stations. The User Segment is composed of hundreds of thousands of U.S. and allied military users of the secure GPS Precise Positioning Service and tens of millions of civil, commercial and scientific users of the Standard Positioning Service (see GPS navigation devices). GPS satellites broadcast signals from space that GPS receivers use to provide threedimensional location (latitude, longitude, and altitude) plus precise time. GPS has become a widely used aid to navigation worldwide, and a useful tool for map-making, land surveying, commerce, scientific uses, tracking and surveillance, and hobbies such as geocaching and way marking. Also, the precise time reference is used in many applications including the scientific study of earthquakes and as a time synchronization source for cellular network protocols. GPS has become a mainstay of transportation systems worldwide, providing navigation for aviation, ground, and maritime operations. Disaster relief and emergency services depend upon GPS for location and timing capabilities in their life-saving missions. The accurate timing that GPS provides facilitates everyday activities such as banking, mobile phone operations, and even the control of power grids. Farmers, surveyors, geologists and countless others perform their work more efficiently, safely, economically, and accurately using the free and open GPS signals. [4] I.1.1.2.2. Basic concepts of GPS:
A GPS receiver calculates its position by precisely timing the signals sent by the GPS satellites high above the Earth. Each satellite continually transmits messages which include
The time the message was transmitted Precise orbital information (the ephemeris) The general system health and rough orbits of all GPS satellites (the almanac).
The receiver utilizes the messages it receives to determine the transit time of each message and computes the distances to each satellite. These distances along with the satellites' locations are used with the possible aid of trilateration to compute the position of the receiver. 15
Tracking Mobile
This position is then displayed, perhaps with a moving map display or latitude and longitude; elevation information may be included. Many GPS units also show derived information such as direction and speed, calculated from position changes. Three satellites might seem enough to solve for position, since space has three dimensions and a position on the Earth's surface can be assumed. However, even a very small clock error multiplied by the very large speed of lightthe speed at which satellite signals propagateresults in a large positional error. Therefore receivers use four or more satellites to solve for the receiver's location and time. The very accurately computed time is effectively hidden by most GPS applications, which use only the location. A few specialized GPS applications do however use the time; these include time transfer, traffic signal timing, and synchronization of cell phone base stations. Although four satellites are required for normal operation, fewer apply in special cases. If one variable is already known, a receiver can determine its position using only three satellites. (For example, a ship or plane may have known elevation.) Some GPS receivers may use additional clues or assumptions (such as reusing the last known altitude, dead reckoning, inertial navigation, or including information from the vehicle computer) to give a degraded position when fewer than four satellites are visible. [4] I.1.1.2.2.1. Position calculation introduction
The method used is the triangulation, at least three satellites are therefore necessary. The first allows you to reduce the possible positions of the receiver on the periphery of a sphere. The RADIUS is the computed X distance and the center being the position of the first satellite.
16
Tracking Mobile
The second satellite will reduce the position of the receiver to the circumference of a circle at the intersection of the second sphere. The second being the new RADIUS distance is calculated.
The third satellite can reduce the receiver position has only two points through the intersection between the new sphere and the circumference of the circle calculated earlier. The third being the new RADIUS distance calculated.
The correct position for the GPS receiver is also the intersection closest to the surface of the sphere corresponding to the fourth satellite. [5] I.1.1.2.2.2. Correcting a GPS receivers clock
The method of calculating position for the case of no errors has been explained. One of the most significant error sources is the GPS receiver's clock. Because of the very large value of the speed of light, c, the estimated distances from the GPS receiver to the satellites, the pseudo ranges, are very sensitive to errors in the GPS receiver clock. This suggests that an extremely accurate and expensive clock is required for the GPS receiver to work. On the other 17
Tracking Mobile
hand, manufacturers prefer to build inexpensive GPS receivers for mass markets. The solution for this dilemma is based on the way sphere surfaces intersect in the GPS problem. [5]
The choice of a technology rather than another one is based on its precision. We should in fact, compare this technology with the services you want to propose and user needs or expectations in terms or accuracy. We must also take into account the availability of content.
I.2.
GPRS
After presenting localization technics, we will now talk about GPRS. What is GPRS?
I.2.1. Definition
GPRS (General Packet Radio Service) is a method of enhancing 2G phones to enable them to send and receive data more rapidly. With a GPRS connection, the phone is "always on" and can transfer data immediately, and at higher speeds: typically 32 - 48 kbps. An additional benefit is that data can be transferred at the same time as making a voice call. GPRS is now available on most new phones. GPRS is part of a series of technologies that are designed to move 2G networks closer to the performance of 3G networks. The key characteristic of a 3G network is its ability to transfer large amounts of data at high speed (up to 2 Mbps), enabling applications like video calling, video downloads, web browsing, email, etc. By increasing the speed of a 2G network, some of these applications become possible, e.g. web browsing and sending or receiving
18
Tracking Mobile
emails with large attachments. These technologies are called 2.5G and include enhancements to the CSD technology, such as HSCSD and EDGE. [6]
One may use a mobile phone, PDA, or notebook to connect to a GPRS network. A mobile phone can be used as a GPRS modem too by linking it with computer using Bluetooth, infrared, or serial cable.
End Of Year Project The most common GPRS classes in use are as follows:
Tracking Mobile
GPRS Class
Class 2 Class 4 Class 6 Class 8 Class 10 Class 12
Slots
3 4 4 5 5 5
Generally speaking, the higher the GPRS class, the faster the data transfer rates.
I.3.
Online mapping has come a long way in the last year. Google Maps entered the field and added satellite imagery to spring itself into the spotlight challenging the colorful cartoonlike map images of longtime mapping frontrunner MapQuest. The Google Maps API enabled developers to create new applications and Mashups, thereby pushing the Google Maps brand to mainstream audiences. Google Maps, Yahoo Maps and MapQuest, are the online mapping the most used everywhere; we will look at all them and examine their features and performance. [7]
Disadvantages
Only one location per map can be specified. Only one style of icon is available for initial specification, and it cannot be labeled. Maps cannot be embedded in pages-only map links are available. Map size cannot be controlled. Map is labeled only by the address associated with the icon. No pre-specified customization can be done Does not automatically capitalize country names Advertising sometimes creates popup 20
Tracking Mobile windows, which will annoy some visitors if not blocked.
Table 3 MapQuest
Disadvantages
Only one location per map can be specified, and that must be done by street address. Only one style of icon is available. Maps cannot be embedded in pages--only map links are available. Map is labeled only by the address associated with the icon. Map size and initial scale cannot be controlled.
Disadvantages
Works with only a few Web browsers (though those are among the most popular). Displaying more than one point per map requires sophisticated programming techniques using the API. Graphical interface does not reveal lat/lon of search results (though that can be found from a custom map which uses the API; but then the search feature is not available). The level of detail in the maps varies widely by country.
Based on this comparison and according to our needs, we chose Google map for its precision and worldwide availability.
21
Tracking Mobile
II.
will focus on what Tunisia is offering. Weenee by Tunsiana Tunisiana have released the first Tunisian GPS solution called Weenee because it was really time to catch up in this area.
Here are the features and services provided with this GPS: Coverage: all Tunisia Voice guidance Display 2D and 3D mapping Multilingual: Tunisian, German, English, Arabic, Spanish, French, Italian and Portuguese Finding proximity points of Interest, sorted by distance Address Lookup throughout Tunisia Automatic Route Recalculation Calculation of optimized routes (time / distance) Favorites and last recorded addresses Alerts when speeding (Hotels, restaurants, gas stations, etc...)
But this solution cant be used for tracking, it just inform you of your current position, and guide you to reach your destination
22
Tracking Mobile
After the solution proposed by Tunisiana, Tunisie Telecom offers a GPS Tracking solution, this is an innovative mobile solution for companies wishing to manage and monitor their fleets of vehicles (cars, boats, trucks, trailers, ...) and this at a location system involving satellite technology (GPS) and mobile (GPRS).
With this solution, the company benefits from services with high added value such as: The real-time visualization of the park on a mapping system. The speed control for each vehicle The display of routes and stops of each vehicle Reports generation
The service is available in GSM blankets, more than 99% of the Tunisian population. We can notice that, unlike the rest of the world, the list of geo-positioning solutions in Tunisia is not huge.
III.
Project presentation
After presenting some existing geo-positioning solutions in Tunisia, we will turn now to
III.1.
equipment.
Main issue
Security is very important in some activities, whether for the safety of persons or
Having the possibility to follow physically the position of a person during a road trip can be comfortable for family, relatives or others. Accidents do happen and youll be safer by enabling others to keep tabs on you, just in case. Also some enterprises need to follow trucks carrying their goods, to intervene in case of breakdown or accident. So we can notice the importance of a GPS tracking application showing a real-time position.
23
Tracking Mobile
III.2.
This project is meant to propose a simple and portable solution for people to get trace. The application is web based and should be available for every people who have the possibility to: 1. Run a small Java application on its mobile phone. 2. Has link between a GPS device and its mobile phone. 3. Has Internet access. As mentioned above, this concept is not new and some applications involving GPS are available on the market, but, the concept to this project is a bit different. We are not focusing on "where are we?" but more on "where he/she is? For this the idea is to use a cell phone which accepts to receive GPS coordinates and send them to a server able to record them under the account of a register user (tracked person). Then from a web application, the user can be followed on a map in real time mode. So, we will develop an application that uses a cell phone with integrated GPS, which receives and records the coordinates of the tracked person. Tracks can be uploaded to a web site and the server side application receives the GPS data from the mobile application and processes it (drawing track via Google maps). The web administrator will be able to follow every tracked person in real time or just search for a track by specifying the name of the tracked person and the period of his travel.
24
Tracking Mobile
Conclusion
In this chapter, we made a bibliography about what we will need in this project to better understand their use. In the next chapter, we will pass to the project analysis.
25
Tracking Mobile
I.
Agile Methodologies
The "agile methods" are designed to reduce lifecycle software by developing a minimum
version, then integrating the functions through an iterative process based on listening the customer and tests throughout the development cycle. The origin of agile methods is related to the instability of the technological environment and the fact customers are often unable to define their needs comprehensively from the beginning of the project. The term "agile" is referring to the ability to adapt to context switches and changes in specifications during the intervening development process. In 2001, 17 people started and developed the Agile Manifesto whose translation is as follows: Individuals and interactions rather than processes and tools. Software development rather than exhaustive documentation. Collaboration with the client rather than contract negotiation. Openness to change rather than following a rigid plan.
With agile methods, the client is the full driver of his project and obtains very quickly the result of his software.
26
End Of Year Project Comparison between agile methodologies Key points Characteristics Complete model of Modeling business, software supporting tools. development, includes support tools. Task of roleled activity. Reduced Refactoring - Have development per to remake the system client, small team design continuously and daily to improve construction. performance and response to change. Process with 5 steps, The simplicity of development based methods, conception on object-oriented and implementation components. Very characteristics, small iteration: from And object modeling hours to 2 weeks Agile principles to Agile thinking is model agile culture, also applied to work organization modeling. and simplicity.
Tracking Mobile
Imperfections RUP has no use limits. Lack of explanation: how to reduce, how to change. Individual practices are appropriate in many situations but management practices are less careful. FDD only focuses on the conception and implementation.
XP (Extreme Programming)
AM (Agile Modeling)
Crystal
Scrum
Adaptive culture, collaboration, iterative development based on component-led mission A family of methods. Each one has the same core values and core principles. Technics, roles, tools and standards varies. Independent, small teams with automatic development organization, cycles of 30 days.
It is a good additional philosophy for modeling work. However, it is through another method (RUP) ASD is more based on concept than culture and software practice.
Method design Principle. Able to choose the most suitable method based on project size. Transfer defined and repetitive for new Scrum product development
Scrum specifies in detail how to manage 30 days cycles, but the integration and acceptance test are not detailed.
27
Tracking Mobile
II.
While many agile methods have been presented, none of them is specifically targeted for the development of mobile software. Mobile-D is an agile approach for mobile equipment, based on Extreme Programming XP (practice), Crystal methodology (scalability) and Rational Unified Process (insurance lifecycle). It is designed to reply to the specific development of the mobile application and the quality standard of the industry. The ideal case is to have less than ten developers working in an office. The directors aim to provide a fully functional incremental mobile application in several iterations. The development work is divided into different phases are exploration, initialize, productionize, stabilize, and test and set system. The practices of different phases consist of nine major elements: phase and stage, online architecture, mobile test-driven development, continuous integration, pair programming, metrics, process improvement software agile, customer off-site, and concentration of the User-Centered. [8]
II.2.
By combining the benefits of three agile XP, Crystal and RUP, Mobile-D meets the characteristics of the development of mobile application. This is shown in Table 2. [9]
Majority of mobile software is developed in micro or SME companies, or development teams. Potentially unlimited number of end-users. Business customer easier to identify, e.g. distributor. Majority of existing mobile 28
Identifiable customer
Object-oriented development
End Of Year Project environment lives. More agility can be pursued. Failures do not cause loss of lives. More agility can be pursued. Large embedded systems require extensive communication & verification mechanisms
Tracking Mobile software is for entertainment purposes. Mobile terminals are not reliable. Majority of existing mobile software is for entertainment purposes. Mobile terminals are not reliable. While mobile systems are complex and highly dependent, mobile applications can be stand-alone applications Sizes of mobile applications vary, but generally they are less than 10000 lines of code. Development cycles vary. Generally mobile applications and services can be developed within 1-6 month time frame
Small system
From the table above, we can conclude that Mobile-D is suitable for mobile application development.
II.3.
Mobile-D in details:
Figure 12Mobile-D
1. Explore: The purpose of Explore phase is the planning and establishment of the incipient project. A well planned is half done is a saying to be remembered also in the software development context. Explore phase can be timely unattached to the latter phases of Mobile-D and also overlap with 0 Iteration phase. Explore phase is an important phase to set the ground for controlled implementation of the software development product regarding, for example, issues related to product architecture, software development process and environment selection. Different stakeholder groups are needed to provide their expertise in the Explore phase. 29
Tracking Mobile
The purpose of the Initialize phase pattern is to enable the success of forthcoming project phases by preparing and verifying all critical development issues so that they all are in full readiness in the end of the phase for implementing requirements selected by the customer. 3. Productionize: The purpose in the Productionize phase is to implement the required functionality into the product by applying iterative and incremental development cycle. 4. Stabilize: The purpose of the Stabilize phase pattern is to ensure the quality of the implementation of the project. 5. System test & fix: The purpose of System Test & Fix is to see if the produced system implements the customer defined functionality correctly, provide the project team feedback on the systems functionality and fix the found defects. The figure below represents each phase steps:
30
Tracking Mobile
II.4.
The mobile-D methodology has the following advantages and disadvantages: Advantages: o Mobile-D is well adapted to mobile software development in small teams. o Able to satisfy changing needs of users through short iterations (phases initialize productionize, stabilize). o Pair programming for each iteration working day step, is very efficient. o Software documentation is complete. o Every step is clear and detailed. o Easy to monitor project progress o Every step task is detailed. Disadvantages:
Mobile-D is designed to fit the small system developed by a small team -> cannot be adapted to complex business system (eg M-commerce) on the phone mobile in the future. There is no teacher on the technologies and tools selection for mobile software development.
III.
Project planning
Our application is composed by a mobile application, and a web application. We decided to follow the methodology proposed by mobile-D, because its the most appropriate for our project. First, it exploits the advantages of other agile methods and its appropriate for mobile applications. Moreover its very efficient for pair programming and it will help us to monitor the progress of our project. Therefore, we adopted this methodology for the planning of this project.
31
Tracking Mobile
Explore
-Project Planning -Project note book -Case Study -Documentation
Initialize
-Project Analysis -project Conception -Project setup -Documentation
Productionize
-Mobile development -Web development (iterative and incremental life cycle)
Stabilize
We used Gantt Project which is a GPL-licensed (free software) Java based, project management software. It features a Gantt chart for project scheduling of tasks, and doing resource management using resource load charts. It has a number of reporting options (MS Project, HTML, PDF, spreadsheets). The major features include:
Task hierarchy and dependencies Gantt chart Resource load chart Generation of PERT chart PDF and HTML reports MS Project import/export Exchange data with spreadsheet applications WebDAV based groupwork [10]
32
Tracking Mobile
Our project planning is based on mobile-D methodology. We will try to follow it during all the project.
Conclusion
In this section, we talked about the methodology we will follow during the project from its beginning to its realization and test.
33
Tracking Mobile
I.
Project requirements
I.1. Actors
The actors of our application are: The Mobile User (or the tracked user), he is the proprietary of the GSM. The Web User (or the web administrator), he is the supervisor of the application; he can view and follow tracks in real time.
34
Tracking Mobile
II.
Requirement analysis
In this part we will present the different use cases of our application then analyze each of
them.
II.1.
Choice of methodology
A method of analysis and design provides a methodology and ratings standards helping to develop quality software. It is essential to achieve a common understanding of the different parts of an application. Modeling is the designing of software applications before coding. Modeling is an Essential Part of large software projects, and helpful to medium and even small projects as well. A model plays the analogous role in software development that blueprints and other plans (site maps, elevations, physical models) play in the building of a skyscraper. Using a model, those responsible for a software development project's success can assure themselves that business functionality is complete and correct, end-user needs are met, and program design supports requirements for scalability, robustness, security, extendibility, and other characteristics, before implementation in code renders changes difficult and expensive to make. Surveys show that large software projects have a huge probability of failure - in fact, it's more likely that a large software application will fail to meet all of its requirements on time and on budget than that it will succeed. If you're running one of these projects, you need to do all you can to increase the odds for success, and modeling is the only way to visualize your design and check it against requirements before your crew starts to code. 35
Tracking Mobile
So we used Unified Modeling Language (UML) which is a standardized general-purpose modeling language in the field of software engineering. The standard is managed, and was created by, the Object Management Group. UML includes a set of graphical notation techniques to create visual models of softwareintensive systems.
Figure 15 UML
II.2.
36
Tracking Mobile
The diagram shows the use case for the application. There are 2 actors, 8 use cases which represent for different action what actors can do with the system.
II.2.1.
Mobile application
In the following table we will describe the use case set options Name Summary Actors Preconditions Basic course Set options Allow the user to set GPS options The tracked person The user is logged 1. The user choose the option menu 2. The user enter the server URL 3. The user adjust the GPS refresh period 4. The user validate the options Alternative course Exceptions Post conditions N/A E1 the entered URL is not valid 2. the system shows an error message The options have been saved
Table 8 Use case: Set options
37
Tracking Mobile
Show Position Show Position Showing actual GPS coordinates on the mobile application The tracked person The user is logged 1. The user choose the Show Position menu 2. The system get coordinates (position) from the GPS 3. The coordinates appears on the screen
Send position Send position Sending GPS coordinates to the server using mobile data communication The tracked person The user is logged The position is shown 1. The user choose the Show Position menu 2. The system get coordinates (position) from the GPS 3. The coordinates appears on the screen 4. The user select Send position 5. The system establish a GPRS connection 6. The system send the position
38
Tracking Mobile
II.2.2.
Web application
II.2.2.2. Use case descriptions II.2.2.2.1. Name Summary Actors Preconditions Basic course Follow tracks in real time Follow tracks in real time Showing tracks on the map in real time The Web user The user is logged 1. The user select the options Real time track 2. The system extract tracks from database every 2seconds 3. The tracks are shown on the map Alternative course Exceptions Post conditions E2. There are no tracks in the database 2. There are no tracks shown on the map N/A N/A
Table 11 Use case: Follow tracks in real time
39
End Of Year Project II.2.2.2.2. Name Summary Actors Preconditions Basic course Search for a track
Tracking Mobile
Search for a track The web user can specify the characteristics of the track and view it on the map The Web user The user is logged 1. The user select the option search for a track 2. The user specify the track characteristics 3. The user specify the tracked person 4. The system extract tracks from database 5. The track is shown on the map
E2. There are no tracks in the database 2. There are no tracks shown on the map N/A N/A
Table 12 Use case: Search for a track
II.3.
This diagram shows the classes without attributes or methods that we will use in the conception section, it consists to see the whole working of the application
40
Tracking Mobile
II.4.
State machine
UML state machine, known also as UML state chart, is an object-based variant of Harelstate chart adapted and extended by the Unified Modeling Language. UML state machines overcome the main the limitations of traditional finite state machines while retaining their main benefits. UML state charts introduce the new concepts of hierarchically nested states and orthogonal regions, while extending the notion of actions. UML state machines have the characteristics of both Mealy machines and Moore machines. They support actions that depend on both the state of the system and the triggering event, as in Mealy machines, as well as entry and exit actions, which are associated with states rather than transitions, as in Moore machines. [11]
Conclusion
In this chapter we specified the functional and nonfunctional requirements of our application which extends over two main areas which are Mobile application and Web application.
41
Tracking Mobile
Chapter 4 Design
Introduction
A design method defines the procedure to follow to establish a robust, reliable and scalable application. In this chapter, we will present the different design stages of our application and use some UML diagrams to model these steps.
I. General Design
I.1. System context Description
UML includes a set of graphical notation techniques to create visual models of software-intensive systems. To design the operation of our application, we must study its interaction with outside. Our application has two parts: The first one is the mobile application which will connect to a GPS. The second one is the web site which will receive information from mobile side and will be able to draw a real-time track and search for tracks So now we are able to draw the context diagram of the application must identify actors. I.1.1. Context diagram A System Context Diagram (SCD) in software engineering and systems engineering are diagrams that represent the actors outside a system that could interact with that system. This diagram is the highest level view of a system, similar to Block diagram, showing a, possibly software-based, system as a whole and its inputs and outputs from/to external factors. [12] In our application, we distinguish two diagrams context located below:
Web Server
Tracking Mobile: Mobile application
Mobile user
GPS (JSR179)
42
Tracking Mobile
I.1.2. Activity diagram After presenting the context of our application, we will illustrate, in this part, activity diagrams that describe functionalities of the application, and give an overview of all modules of our application. Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system. An activity diagram shows the overall flow of control. This diagram presents the activity of the mobile side.
43
Tracking Mobile
44
End Of Year Project The next diagram presents the activity of the web side.
Tracking Mobile
45
Tracking Mobile
In the application we used the ModelViewController (MVC) which is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" (the application logic for the user) from input and presentation (GUI), permitting independent development, testing and maintenance of each. Model: collects the classes which are persistent classes like position and tracks View: renders the model into a form suitable for interaction, typically a user interface element. Multiple views can exist for a single model for different purposes. Controller: receives input and initiates a response by making calls on model objects. Service: contains the application services like the connection to the GPS Utils: contains the utilities used to send on the GPRS and checking the GPS device
46
Tracking Mobile
II.1.
Sequence diagram
A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes called Event-trace diagrams, event scenarios, and timing diagrams. This diagram presents the Sequence of the mobile side.
47
Tracking Mobile
II.2.
Class diagram
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships between the classes. II.2.1. MIDlet
48
Tracking Mobile
This class is the main class of the application, it contains the abstract method of a MIDlet to run or destroy the application. This class instantiates the controller of the application to run all services and it allows the display II.2.2. Package: Controller
This package contains the class called Controller, it is used to control all the inputs/outputs of the application. It must use a singleton pattern to have only one instantiated Controller, contains a method like goTo(UI) which is used to command the view package.
49
Tracking Mobile
This package View contains all the human interface of the application, we see classes like LoginUI, PostionUI, StartUI All of these classes will use method done by the controller.
50
Tracking Mobile
This package contains all persistent classes like the position information and tracks This information will be sent to the web server to be drawn on maps. II.2.5. Package: Utils
51
Tracking Mobile
This package contains classes that the application will use externally; GpsUtil will check the presence of the Jsr179 and HttpUtil will make the GPRS connection between the mobile side and the web side. II.2.6. Package: Service
The JSR package contains the class DeviceJSR179 which will connect to the JSR179 and collects all the information (Qualified Coordinates) about the position, speed and date. This class uses the singleton pattern to instantiate only one device For the next extension of our work, we prepared the service package with the design pattern factory which is an object-oriented design pattern to implement the concept of factories. Like other creational patterns, it deals with the problem of creating objects (products) without specifying the exact class of object that will be created. The factory method design pattern handles this problem by defining a separate method for creating the objects, which subclasses can then override to specify the derived type of product that will be 52
Tracking Mobile
created. More generally, the term factory method is often used to refer to any method whose main purpose is creation of objects. used to make a factory to create a device connected to the GSM (internal or external GPS).
II.3.
An Entity Relationship Diagram (ERD) is a snapshot of data structures. ERDs show entities in a database and relationships between tables within that database. It is essential to have one of these if you want to create a good database design. The patterns help focus on how the database actually works with all of the interactions and data flows, although another useful tool is a Data Flow Diagram (DFD) which more directly describes this. [17]
Position: contains information about a position collected by the GPS and sent by the mobile. Web_admin: contains login and password to the admin authentication.
Conclusion
In this section we have presented the detailed design of our application. In the next chapter we will pass to the technical details of the development, the working environment and the test of the application.
53
Tracking Mobile
Chapter 5 Implementation
Introduction
This section represents the accomplishment phase of the project. We will first present our work environment, then, we will outline the different steps of the realization of the application.
I.
Work environment
To accomplish this project, we have used many resources. We will detail them in the following.
I.1.1.1.
Java Platform, Micro Edition, or Java ME, is a Java platform designed for mobile devices and embedded systems. Target devices range from industrial controls to mobile phones and set-top boxes. Java ME was formerly known as Java 2 Platform, Micro Edition (J2ME). Java ME was designed by Sun Microsystems; the platform replaced a similar technology, Personal Java. Originally developed under the Java Community Process as JSR 68, the different flavors of Java ME have evolved in separate JSRs. Sun provides a reference implementation of the specification, but has tended not to provide free binary
54
Tracking Mobile
implementations of its Java ME runtime environment for mobile devices, rather relying on third parties to provide their own. Java ME devices implement a profile. The most common of these are the Mobile Information Device Profile aimed at mobile devices, such as cell phones, and the Personal Profile aimed at consumer products and embedded devices like set-top boxes and PDAs. Profiles are subsets of configurations, of which there are currently two: the Connected Limited Device Configuration (CLDC) and the Connected Device Configuration (CDC). [18]
I.1.2.1.
PHP
PHP stands for Hypertext Preprocessor and is a server-side language. This means that the script is run on your web server, not on the user's browser, so you do not need to worry about compatibility issues. PHP is relatively new (compared to languages such as Perl (CGI) and Java) but is quickly becoming one of the most popular scripting languages on the internet. [19] Why PHP? The source code availability (PHP is licensed GNU LPG); The simplicity of scripting 55
End Of Year Project The ability to include PHP script in an HTML page
Tracking Mobile
The ease of interfacing with databases (many Database Management System (DBMS) are supported, such as Oracle) Integration in many Web servers (Apache, Microsoft IIS)
I.1.2.2.
MySQL
The MySQL database is an open source system that offers a range of features useful for our application. MySQL DBMS is powerful and used by many companies A server database MySQL is very fast, reliable and easy to use; it runs on most operating systems like Unix, Linux and Windows NT/2000/XP.
The MySQL software has the advantage of being free and highly adapted to the Web. For these reasons it is the DBMS used by most web hosts to store data. [20]
I.1.2.3.
JavaScript
JavaScript is a scripting language embedded in an HTML document. Indeed, this programming language improves HTML in order to run some commands on the client side. JavaScript was used to develop our web application with Google map API.
AJAX (Asynchronous Java And XML ) a set of commonly used Web technologies such as:
XHTML, CSS, DOM and JavaScript, XML and XMLHttpRequest. The heart of Ajax is mainly based on XMLHttpRequest, originally developed by Microsoft that allows playback of asynchronous resources on a Web server. He can be used to partially modify the page displayed by the browser and save the updated without reloading the entire page. For example the contents of a form field can be changed without having to reload the page with the title, images, menu
56
Tracking Mobile
I.1.2.5.
XML
XML is not a language, but a format that allows languages definition. The XHTML is an XML language; it is also a standardized form of HTML.
XML is a general language data formatting. This language has the advantage of being easily transportable. The main advantages of XML: [21] Simplicity: Information coded in XML is easy to read and understand, plus it can be processed easily by computers. Openness: XML is a W3C standard, endorsed by software industry market leaders. Extensibility: There is no fixed set of tags. New tags can be created as they are needed. Self-description: In traditional databases, data records require schemas set up by the database administrator. XML documents can be stored without such definitions, because they contain meta data in the form of tags and attributes. Contains machine-readable context information: Tags, attributes and element structure provide context information that can be used to interpret the meaning of content, opening up new possibilities for highly efficient search engines, intelligent data mining, agents, etc.
This is a major advantage over HTML or plain text, where context information is difficult or impossible to evaluate. Separates content from presentation: XML tags describe meaning not presentation. The motto of HTML is: "I know how it looks", whereas the motto of XML is: "I know what it means, and you tell me how it should look." The look and feel of an XML document can be controlled by XSL style sheets, allowing the look of a document (or of a complete Web site) to be changed without touching the content of the document. Multiple views or presentations of the same content are easily rendered. Supports multilingual documents and Unicode: This is important for the internationalization of applications. Facilitates the comparison and aggregation of data: The tree structure of XML documents allows documents to be compared and aggregated efficiently element by element.
57
Tracking Mobile
Can embed multiple data types: XML documents can contain any possible data type - from multimedia data (image, sound, video) to active components (Java applets, ActiveX).
Can embed existing data: Mapping existing data structures like file systems or relational databases to XML is simple. XML supports multiple data formats and can cover all existing data structures.
Current location - current latitude, longitude, altitude, direction, and speed of the phone, and methods to convert it to text.
Landmark proximity - a store of landmarks can be stored on the phone's memory, and the current location can be added as a landmark.
58
Tracking Mobile
Address data - the nearest landmark's textual details, such as postal address, phone number, country, and the building and its URL.
Location listeners - for dynamic location-based applications that will be triggered by when the current location changes.
I.3.1.1.
Visual Paradigm for UML is a Unified Modeling Language (UML) design tool that supports all UML diagrams, SysML diagrams and entity relationship diagram. Visual Paradigm for UML provides extensive use case modeling features including full function UML use case diagram, flow of events editor, use case/actor grid and activity diagram generation. Visual Paradigm for UML produces system documentation in PDF, HTML and MS Word formats. Developer can design system documentation with template designer. System analyst can estimate the consequences of changes with impact analysis diagrams, such as matrix and analysis diagram. Visual Paradigm for UML generates Java code. [23]
I.3.1.2.
The NetBeans IDE Bundle for Java ME is a tool for developing applications that run on mobile devices; generally mobile phones, but this also includes entry-level PDAs, and Java Card, among others. The NetBeans IDE comes bundled with the latest Java ME SDK 3.0 which supports both CLDC and CDC development. One can easily integrate third-party emulators for a robust testing environment. You can download other Java platforms, including the Java Card Platform 3.0, and register them in the IDE. [24] I.3.2. Software environment for Web application development
I.3.2.1.
Easy PHP
Launched in 1999, EasyPHP was the first and only WAMP software bundle available. EasyPHP installs web server services onto the Windows computer and allows quick-and-easy 59
Tracking Mobile
development of PHP and MySQL on a localhost (also known as 127.0.0.1). The package includes an Apache server, a MySQL database, and the PHP extension. [25]
I.3.2.2.
Adobe Dreamweaver
Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a web development application originally created by Macromedia, and is now developed by Adobe Systems, which acquired Macromedia in 2005. Recent versions have incorporated support for web technologies such as CSS, JavaScript, and various server-side scripting languages and frameworks including ASP, ColdFusion, and PHP. [26]
II.
Realization
The overall architecture of our project is mainly composed of two major phases. The first
is the mobile part. The second phase is reserved for the web part. This section is divided into two parts. In the first one we will talk about the mobile application and in the second one, we will pass to the web application.
II.1.
Mobile application
Due to the mobile phone technology progress, we have now the opportunity to have a phone with integrated GPS, we decided to exploit this technology and develop a mobile application that uses this type of device. After receiving the GPS coordinates, the mobile application will establish a GPRS connection to send HTTP requests to the server and save them in the MySQL database. This information contains: date, time, speed, the position of the tracked person (latitude, longitude). And there is some screenshots to explain explicitly the work our application step by step:
60
Tracking Mobile
To start with the mobile application you must logon. A form with two Textboxes (username & password) used to authenticate and this authentication will send later the username of each track to the web server.
Once you are logged on, you will have the main menu, its a List containing GPS Position, Options and Exit
61
Tracking Mobile
If you click on the Option from the main menu you will be redirected to the option form where you can modify and save your configuration such as the URL of the web server, the refresh period of collecting information about position from the GPS device and finally the login and password
And if you click on the GPS Position on the main menu you will be redirected to a form which allows you to see information about your position collected for a GPS device such as latitude, longitude, altitude, speed, and the time. And each position is sent to the web server to be shown on the web site.
62
Tracking Mobile
II.2.
Web application
The administrator has to login to access the web application. After that he will be able to view and follow different tracks of each tracked person, and manage them (editing or deleting). How to get positions from database? A good solution is to have A back-end script such as PHP, generating the XML file as required: parameters are passed to this back-end script to refine which points are returned and this script will return an XML document containing only points in that area. Example of XML document:
And a JavaScript front end. Very basic, allowing interaction on pages and the map display.
The web site is a human interface which will be used by the administrator so he must authenticate to the server with a cool and attractive input boxes
63
Tracking Mobile
Once the administrator is logged on, he will be redirected to the menu web page with to links to let him the choice of what he wants to do.
If he chooses a Real-time tracking he will see a popup to choose the name of the tracked person.
64
Tracking Mobile
The administrator enter the name of the tracked person, and he will see a map showing real time the moving of the person and each point shows the speed, altitude and other information.
65
Tracking Mobile
Or if the second link which is Search for a track is chosen, also a popup will be shown to enter criteria of the search such as the start date, end date and the name of the tracked person, dates are entered with an attractive calendar to facilitate the input of dates.
66
Tracking Mobile
The administrator enter the name of the tracked person and two dates, and he will see a map showing tracks made by the selected person between those two dates and for each point track he will see the speed, altitude and other information. And also he can do another searches.
67
Tracking Mobile
Conclusion
In this chapter we presented the work environment and required tools of our application. We have also detailed the different steps of the project realization.
68
Tracking Mobile
Tracking Mobile
Besides, we can add other features when needed. For example, due to the fact that some peoples cant afford a mobile phone with integrated GPS, we can solve this problem, by extending the same mobile application with the use of an external GPS and a Bluetooth connection. We can also improve our application by adding a real time tracking. And so on this application is very extensible.
70
Tracking Mobile
software development project, 2. Define and agree the goals and scope for the software development project, and 3. Plan the project regarding environment, personnel and process issues.
Table 3 : explore phase tasks Steps Stakeholder Establishment Scope Definition Project Establishment Tasks Client establishment Stakeholder group establishment Determine initial requirements Project initial planning Environment selection Personal allocation Architecture line definition Process establishment
Table 13 Mobile-D Explore
Initialize: The goals of the Initialize phase pattern are to: 1. Gain a good overall understanding of the product for the project team based on initial requirements and architecture line descriptions.
71
Tracking Mobile
2. Prepare physical, technical and human resources as well as customer communication, project plans and all critical development issues so that they all are in full readiness for implementing requirements selected by the customer during forthcoming project phases.
Table 4 : Initialize phase tasks Steps Project setup Tasks set-up the physical and technical resources for the project as well as the environment for project monitoring train the project team as necessary, Establish the project specific ways to communicate with the customer group. Architecture line planning, Initial requirement analyses Conduct the planned checks of critical development issues Solve open issues if possible without writing source code.
Table 14 Mobile-D initialize
Productionize: The goals of the Productionize phase are to: 1. Implement the customer prioritized functionality to the product. 2. Focus on the crucial core functionality by implementing them in the early increment to allow multiple enhancement cycles.
72
Tracking Mobile
Table 5 : Productionize phase tasks Steps Planning day Tasks Analyze requirements Iterations planning Acceptance tests generation Acceptance test review Documentation Reduced test development Pair programming Continue integration Refactoring; improve current software Inform client System integration Pre-release test Acceptance test Verify if this iteration was good
Table 15 Mobile-D productionize
Working day
Release day
Stabilize: The goals of the Stabilize phase pattern are to: 1. Finalize the implementation of the product. 2. Enhance and ensure the quality of the product. 3. Finalize the documentation of the product. In this phase, there are 4 steps: Planning day, working day, documentation wrap-up,
release day. Planning day, working day, release day are the same as in productionize phase.
73
Tracking Mobile
The purpose or the documentation wrap-up step is to finish the conception documentation, UI and software architecture. We must ensure that documents made at this step are short, useful, comprehensive and coherent with the source code.
System test & fix: The goals of System Test & Fix are to: 1. Test the system based on the documentation produced in the project 2. Provide information of found defects 3. Allow the project team to plan fix for the found defects 4. Fix the defects 5. Produce as error free system as possible There are 4 steps: one for system test, and three for correction. The purpose of the system test step is to identify a software default and produce
74
Tracking Mobile
The three steps to correct defaults are a normal iteration similar to productionize phase.
75
Tracking Mobile
[5]
[12]
[13]
[14]
[15]
[16]
Tracking Mobile
Entity relationship diagram http://it.toolbox.com/wiki/index.php/Entity_Relationship_Diagram , last visit on February 2010. J2ME tutorial http://developers.sun.com/mobility/midp/articles/wtoolkit/ , last visit on March 2010. PHP http://www.webdotdev.com/nvd/content/view/1039/211/ , last visit on March 2010. MySQL http://www.mysql.fr/, last visit on March 2010. XML http://www.softwareag.com/xml/about/xml_ben.htm , last visit on March 2010. Location API for JavaMe http://java.sun.com/javame/reference/apis.jsp, last visit on March 2010. Visual Paradigm for UML http://www.visual-paradigm.com/product/vpuml/ , last visit on March 2010. Netbeans http://netbeans.org/, last visit on March 2010. EasyPHP http://www.easyphp.org/, last visit on March 2010. Adobe Dreamweaver http://www.adobe.com/fr/products/dreamweaver/, last visit on March 2010.
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
77