Taxi Tracking System 2013 Supervision By Dr. Jad Najjar Work Team Ahmad Imair Anwar Jabr Areej Qados Eid Al-quram Khaled Thabatah Naimeh Hirbawi Saif Al-mashayekh Abstract Our project was done by a global team , which was a new experience for its members . the team consists of 7 members with different skills and from different areas in Palestine. It was appointed someone whose job is to manage the team and to distribute tasks to the members team . Some of the meetings had been managed either face to face or through Skype. In the beginning we done some research that related to the Palestinian society's need for this kind of project , by asking some questions on some offices taxi and what are the challenges they faced. Introduction The main goal of our project is to design a program that uses the GPS technology to serve the taxi companies, by providing data that highlight automotive traffic conditions including traffic analysis (congestion and accident detection) , travel time estimation, and the exact location of the passengers and taxis . All of these information will help taxi companies to save money and time that takes to reach the passenger. Taxis will be installed with a GPS. Which leads to occur cooperation between the main office and its taxi by knowing the exact location of each taxi and its availability to take passengers. Passengers requiring a taxi can either call or send an SMS and receive an immediate answer . System Overview Taxis play an important role as a transportation alternative in many cities. In developed countries, taxis tend to be used as a substitute for private vehicles by passengers who use the service for convenience reasons or because they do not want to own a car. In developing countries, taxis are often used to supplement inadequate pub lice transport systems based on buses or trains. But the role played by taxis can be as diverse as one can think. So we intend to provide a project to service this important role. Taxi tracking system is an Android Phone Cab Reservation application. The main objective of the project is to provide an easy to use and handy mobile application to the android users which enables them to reserve a cab from one location to any location in the state of Palestine. The application generated Confirmation Number makes the application more reliable. The users can keep track of their reservations, the amount they have spent for each ride and the cab's current status. Additionally, the user can also see where he/she is currently located, see a route of the cab from the source to the destination point, set reminders for a future pickup, send confirmation details to his email id and send an SMS to his mobile phone. System tracking The tracking of our system consists of many scenarios, these scenarios builds on Available technology, or used technology, the tracking of taxi car are by GPS OR GSM, but there is a problem in Palestine there no GPS, And the using of cellular phone is high expensive, we guess that GPS available , the scenario starts when customer call for taxi or request taxi throw internet website , here taxi system will select the nearest taxi to customer, and alert the taxi driver for The customer's request, Either through Wireless communication device or Electronic screen, then taxi driver Confirms the request, and go to customer, taxi reaches customer, reporting about destination, by deliver request ,and after billing system via (cash, check, visa, E-cards), taxi driver report to system about situation and his current location. This scenario repeated as request delivered and searching for request if available, else taxi will go back taxi parking until next request. GPS tracking receiver, calculate every move in second/ munities, as this receiver sent it location to GPS System, throw radio signals, these records will stored in a Memory, in Taxi tracing System, taxi system manages the request of taxi by customer, and taxi location, by review the stored data about taxi system, here the taxi system play Important role, it should implement shortest path, to select nearest taxi to customer, This is not only, also an algorithms for detect the nearest taxi if it process a request, and soon will finished assign request, and will be nearest for customer, how!, When customer request a taxi, the system searches in all his nearest taxi, Even if they were busy, it checks if there is taxi Will end soon his request, and by Compare available taxi and which ends soon time expected to reaches customer, it sends nearest one to customer and this process repeated every request for taxi. By combining taxi location that have stored in the memory with customer location here more than algorithms works for determinations of which taxi and why and how, these algorithms making a prediction that Almost True. Taxi system contains of many algorithms that implemented to not just calculate shortest path for nearest taxi also calculate shortest path to reach destination, and also other algorithm to determine which taxi to be sanded, taxi system provide an service For owners of taxi offices, that increasing the Profits by minimizing costs. These algorithms works together to provide an intelligent taxi system, these application are exists in the main server of taxi system, that runs All the time, and may be for 24/7 service. The system builds to works with Geographical area like Ramallah or Nablus, Jerusalem, by dividing area to subareas to make dealing more efficient, for example dividing Ramallah according Residential quarter, like Masyoun, Balou, the system will have power to control a large number of customers and taxis that works in city. Here complexity arises as dividing areas to subareas here we increasing the level of programming the system and building the algorithms, to keep system connected together. Also the tracking system provides other information about the speed of taxi, and Compliance with laws , and current for any taxi. GPS system GPS is actually a GPS receiver which means Global Positioning System, GPS is used many applications to define the location, in our project Taxi tracking system use GPS to define the location of the Taxi to send it to the customer in less time as possible, and. Taxi information can be viewed on electronic maps via the Internet to the Taxi manager. Major component of the GPS based tracking are: 1. GPS tracking device: which placed in Taxi and captures the GPS location information and the speed of the taxi Also we can get other information but in this project we need only these ones. 2. GPS tracking server: The tracking server has receiving data from the GPS tracking unit, and storing it, then serving this information on demand to the user. 3. User interface: The UI uses to access information and view Taxi data in details by Taxi manager. 4. Distance Calculation: This is an important usage of vehicle tracking to calculate the distance travel Our Project is depending on GPS technology and GSM services , and the capability of these devices actually decide the final capability of the whole Taxi tracking system Now we will talk about A GPS navigation device which receives (GPS) signals to decide the device's location by providing latitude and longitude information, and also calculate altitude. GPS devices can provide : 1- Maps, including streets maps, which displayed format via text or in a graphical format. 2- Directions (turn-by-turn navigation) of a Taxi via text or speech, By this feature we can the taxi driver arrive to customer in less time . 3- Traffic congestion maps (either historical or real time data) and by this feature we can suggested alternative directions for the Taxi driver. 4- Information on nearby amenities such as restaurants, GAS stations, Also GPS can give information about: Roads or paths available, Roads or paths that might be taken to get to the destination. if some roads are busy ,the best route to take. The location of food, fuel or other needs. the shortest route between the two locations. How GPS work: A GPS tracker contains GPS module to receive the GPS signal and then calculate the coordinates for the Taxi. Then send it to data loggers which contains large memory to store the coordinates, data pushers additionally contains the GSM/GPRS modem to transmit this information to a central computer either via SMS or via GPRS in form of IP packets. Then these information is appear in User interface via diagram to be easy for user to read. In our project we use two kind of GPS : The first one GPS Phones as we assume that the customer use smart phones so we can define his location when he sending to the manager SMS of phone call. The second one we will use GPS tracking device in Taxi and then as we mention can define the location of the Taxi and choose the shorter route and avoid the traffic congestion to ensure that Taxi will arrive the customer in less time System Design System Design is to create a technical solution that satisfies the functional requirements for the system and create a design that will correctly and completely implement the requirements. The objective of the design phase: 1. Create the high-level design description. 2. Identify major components. 3. Find the Relationship between components. 4. Find all the entity of the project 5. Descript the entity by defining the attribute for each entity. 6. Design will correctly and completely implement the requirements Tools used in design: 1: CMAP Cmap tools: lets us construct, navigate, share and criticize knowledge models represented as concept maps. We used this tool to view and discuss initial ideas and put some notes on ideas and design we've built. It helps us to make order out of our information they are a step in the direction of making sense of all the material that we are trying to relate. We can often grasp ideas much more quickly than by reading them in an article or book. This visual mode of presenting information makes it easily comprehensible in a short time. 2: Skype We use this tool as a communication tool between video, voice and text chat, Skype keeps us connected with the entire team for free. Group calling puts us in touch with up to 9 other people at once. We use Skype Groups to ask questions, make project announcements and, sometimes, banter back and forth. It really improves how the team works together. 3: gliffy (http://www.gliffy.com) We use this tools do create and design system diagram. Gliffy can create many different types of charts that can be created quickly and can be edited, saved, printed, or shared. This particular website can help us understand the difference on the different kinds of charts and how to use them properly. This website allows us to easily drag and drop the different elements to create the chart and even allows for Venn diagrams to be created. Why We Use Gliffy? 1. 2. 3. 4. 5. 6. It's online. Use many types of shapes and colors. Upload own pictures. Use pictures from the Internet. Share and collaborate with others (Help full as the need for global team). Easy to use. 4: Microsoft word We use this tool as a tool to build our documentation. There are many powerful features available in Microsoft Word to make it easier to use and build our documentation. It allows easy and textual input. Microsoft word also has a large variety of formatting choices. It also has self explanatory discourse boxes and menu options. System Architecture The system is supposed to be layered into two layers: a. The system back end; that accepts requests from end users, and forward responses to them according to pre-defined business rules. b. The smart phone or web that sends requests into the back end and accepts responses. The back end application, or the server, is thought to be the business decision maker that calculates requests and send responses to customers according to the available resources. The responses are supposed to be the best scenario responses according to the available information to the back end server and according to the business rules. For the front end application, it supposed to serve three types of end users: a. The system management module, this is the control panel of the system that shows information about requests, customers, available taxi, taxi in trouble, etc…. This supposed to be web application. b. The taxi driver module, this module that synchronizes the requests and the status of the taxi. This supposed to be smart phone application. c. The customer module, this is the module that customer can send his/her willing to order a taxi in the simplest and fastest way possible. This is supposed to be smart phone and web application. The following diagram shows the general system architectural model: Figure 1: Call For Taxi System Architecture 1. Use Cases 1.1User Management The user management service is a very important module, since it identifies the basis for the “know your customer” business principle. Since this application is supposed to support smart phone customers, authentication is done through the mobile phone directly. Mobile number validation is done only through smart phone application. Other authentication is possible through a web interface. We can think of FaceBook authentication also. o Add customer user 1. Add Customer User Preconditions 1. User has valid mobile number that accepts SMS messages. Post conditions 1. Transaction logging. Actors 1. Customer Basic Flow of Events The customer chooses to install the smart phone application During installation, the application asks customer for registration. If customer chooses to register, the application asks for: o User mobile number (required, default from phone) o User name (required, can be any name) o User email (optional) o User picture (optional) The mobile application sends the authentication request into the back end server, and asks customer to authenticate the mobile number by the received SMS code. The back end server sends an SMS to authenticate the mobile number, and asks containing a code. The customer, enters the received code by SMS into the mobile application The mobile application sends the code into the back end server. The back end server authenticates the user mobile number. 2. ER Diagram We use ER diagram to represent data object and their relationship. Data object can represented as entity which can be define as thing had uniquely identified .We mean something that has number of different properties. The entity properties defined as attribute to descript the instance or to make reference to another instance in other table. Entities may related one another this related must representing the number of occurrences of objects in a given relationship (one to one, one to many, many to many) Risk Estimation The following table lists the most important risks that could affect the implementation of the project during this stage; other risks could appear in later project stages. On the hand, current listed risks may disappear, become more risky or less risky during project implementation. The probability of the risk is rated between (1 and 5) 1 is least probability to happen, 5 is the most probability to happen. Impact is also rated between (1 and 5) with 1 as the least impact and 5 with the most impact on the project. P*I is the product of multiplying Probability with Impact in order to get a measurable risk value. Mitigation column lists possible mitigation plans to eliminate or reduce the risk total impact on the project, mitigations are not prioritized; listed randomly. Ris k# Description Type Probabilit Impac (P*I Mitigation y t ) (P) (I) R1 Lack of Functional 3 available GPS maps for Palestine 5 15 R2 Inaccurate Political time estimation due to Israeli 4 8 2 1. Build our own maps 2. Assign third party supplier to develop maps 3. Use different way other than maps 1. Add variance in ways with checkpoints. 2. Use checkpoints R3 People Cultural attitude to use such service 2 4 8 R4 Product Cultural misuse by customers 2 2 4 R5 3G Technolog 4 availability y for customers Political 4 16 R6 Team Global experience in Team working as a virtual team members 4 3 12 R7 Team Technolog 2 experience in y development of such projects 4 8 R8 Driver’s attitude towards system 5 10 Cultural the 2 different ways if possible. 1. Product campaigns 2. Lower prices when ask for taxi using the product. 1. Validate customer identity by registration 1. Use other ways to send GPS location 1. Add extra time to plan 2. Add more frequent meetings 3. Provide more clear documentati on 1. Training for team member 2. Experience sharing 1. Train driver how to use the system. 2. System Automatical R9 Project Functional 4 Documentatio Global n not clear Team 5 20 ly react when driver not react 1. Provide clear and detailed project documentation Lesson from our course 1. The experience of the Global team has been a new experience for all members of the team, which was a good experience. 2. Communication were either face-to-face or via Skype and there was some of the problems faced by the team in terms of the inability of all the team to be present at all the meetings which were held, but was solved by sending an email or calling to inform them of the results of the meetings . 3. Ease of coordination because the manager of the team distributed certain tasks commensurate with their skill, which facilitated the complete the project. 4. One of the most important lessons we have learned is working as virtual teams, And how to communicate others, also how managements should be for virtual teams, models of virtual teams, global teams, another lesson is learning about SLA: Service Level Agreement, and how each project should have this agreement. 5. This experience must adopt in our University for the great benefit for students because we still suffer from Occupation and barriers, so students need long time to reach the university. 6. It is suitable for our culture that students (males and females) can meet any time to do the work. Conclusion In this Research we provide a software engineering of Taxi tracking System, we present an abstraction of our works on this project was a distributed Team work, our work was on taxi tracking system, which is needed in Palestine, and we talk about the scenarios of that customer can get taxi either throw android/IPhone or by calling/ sending SMS, also we discuss the availability of GPS tracking and how data of locations in GPS stored and re-used , also a list of tools used for works on project, we discuss the System Architecture and dividing the system into layers, the ER diagrams are also listed, and finally a list of Risk Estimation.