In todays busy world, most people move around using their own form of private transportation. In this case, those private transportations are identified as automobiles which are also known as cars. Due, to the huge number of people using this form of transportation, many roads are often pilled up with a huge volume of traffic causing traffic jams. Traffic jams does not provide any positive effects, instead it only provides negative effects such as loss of precious time. At times, traffic jams could also cause headaches and stress, or in worse cases car break downs and accidents.
Traffic jams maybe avoided, providing users know where and when exactly is the jam and alternate routes to by pass the jam. Since the problem and the solution have been identified, once implemented the system would be able to provide users with best routes to by pass the jam.
With the implementation of this system, users, whereby in this case would be the traffic road users such as drivers, would be able to find out which roads are jammed and also the best alternate route to be taken to bypass the jam on real time basis. This not only helps users to avoid the jam but also all other mishaps that could happen when a user gets caught in a jam as mentioned above.
Ultimately, this system would not only help users who use the system but also users who do not use the system. This is because when a user uses the system, that user is automatically re-directed to an alternate route. This helps users on the jammed road by reducing the number of cars pilled up enabling them to dismiss faster.
A great benefit of this system would be that users who do not know their routes could input their location and destination and just follow the route given on the map. This enables user to reach their destinations even tough they do not know the route.
One of the main challenges I foresee in developing the system is creating a map which is able to be modified by the system itself depending on the users input. Another tough challenge would be to enable mobile access to the system. In this case, the map would need to be downloaded into a mobile device using available technology such as WAP. Lastly, an algorithm that best suits my system would also be needed. This algorithm would provide the best route based on user input and traffic conditions. Therefore, I would also need to do much research on creating such a map, on how does WAP work, and also on algorithms
Brief Description of Project Objectives
(i.e. scope of proposal and deliverables)
The main objective of the system would be to help road users avoid traffic jams and also reach their destinations using the best possible route.
To solve the problem as stated in section B, I would develop a system which would allow users to input their current location and desired destination which would then provide them with a map displaying the best route. This will enable the users to follow the best route and avoid traffic jams if any.
However, not all users would be able to access the system via a desktop computer equipped with internet connection as they may be at places that does not have such facilities or they may already be traveling on the road. Therefore, this system would also be designed to enable users to access the system via a mobile device. With such technology implemented, users would be able to access the system from any place and at any given point of time.
Due to the many types of mobile devices available, which consist of many different specifications, some mobile devices may not be compatible to operate with the system. The system to be developed would not be set to be compatible with all models and only compatible for the model it is designed on or models similar to it.
Brief description of the resources needed by the proposal
(i.e. hardware, software, access to information / expertise, user involvement etc.)
In order to complete this project, several resources would be required.
Firstly, in terms of hardware, I would most definitely be required to use a computer and a mobile device. The computer would be used to develop and access the system. Meanwhile the mobile device would be used to only access the system. The computer that I have chosen to use in developing this system is the NEC Versa E680 (notebook). As for the mobile device, a research would be conducted to find out which model would best fit in terms of compatibility and financial to this project.
In terms of software, the programming tools may vary depending on which language I choose to develop the system. The selection on language would be done once a research has been conducted to see which language would best suit me and the system. Currently, the two best candidates for the language to be used are J2ME and ASP.Net. However for documentation purposes I would be using Microsoft Office 2003 inclusive of Microsoft Project together with Rational Rose Enterprise.
I would also need to interview a technical person, who would be able to demonstrate and provide relevant information. Unfortunately, until this current point of time I have not been able to identify such a person. However, I would visit some telecommunication companies such as Maxis in search of a technical person with relevant knowledge
To enhance my own knowledge in technical issues, programming skills and other relevant criteria’s, enormous amounts of white-papers, journals, books and the internet would also be utilized.
Through out the design and development of the system, user involvements are also needed. This would be to get feedbacks from the users which would enable the system to be acceptable by users. User involvements are also very much important during the testing and evaluation stage of the system.
Academic research being carried out and other information, techniques being learnt.
(i.e. what are the names of books you are going to read / data sets you are going to use)
At the moment, several research areas have been identified. This areas consists of WAP technology, algorithms, and creating maps that are able to be modified by the system itself based on user input.
Based on WAP technology, I would need to conduct a research on how WAP works and how could it be implemented into my system.
For the algorithms, I would need to do some research, experiments and design an algorithm that is best for the system.
A severe research would also need to be done on the language that I would use to develop the system. I would need to learn and master the language in an allocated time.
On developing a map that is able to modify itself based on users input, I would need to conduct a heavy research to learn its methods and later on design it.
Lastly, I would also need to conduct a research on existing similar system.
For the above research areas, several books and websites have been identified as my reference :
Websites :
http://openwave.com
http://wapforum.com
http://wirelessinanutshell.com
http://java.sun.com
http://www.jpbdbkl.gov.my/eng/
Books :
ASP.Net : Tips, Tutorials, and Code by Scott Nitchell, Steve Walther, Doug Seven, Donny Mack, Chris Payne, Billy Anders, Adam Nathan and Dan Whalin
XML for ASP.Net by Dan Wahlin
Beginning with WAP, WML & WML Scripts by Wei Meng Lee, Soo Mee Foo, Karli Watson, Ted Wugofski
Wireless Java Programming with J2ME by Yu Feng and Dr. Jun Zhu
ASP.Net development with Macromedia Dreamweaver MX by Ryan Parnell, Joel Martinez
Brief description of the development plan for the proposed project.
(i.e. which software methodology and why, the major areas of functions to be developed and the order in which developed)
I will be doing this project using the Rational Unified Process (RUP) because based on the research I have conducted, this methodology would best suite me and the system.
To justify, the functions of my system have already been identified, and if any changes was to be made, it would only be made minor change. Due to these factors, RUP would be suitable as it requires about 80% of the functions identified and still allows small changes to be made later on.
Another important factor that leads me to this choice of methodology is because of its predefined phases, and its iteration development technique. Based on the iteration development technique, I would be able to divide my system into several iteration and work on them independently and later combine it all at the end. This feature would also enable me to conduct a risk analysis, which allows me to reduce the risks involved in developing the system.
Another factor that leads me to this choice of methodology is its output whereby I would be able to view a small but significant physical layout of the system at the beginning stages.
Based on the duration given for this project, I have allocated approximately 3½ months for research and the remaining time is allocated for the coding and testing phases.
However, if ever I am able to complete my research before the allocated time is due, I would move on to the next phase which is the coding phase. This, in the end would enable me to spend more time to spend on all the other phases involved.
Brief description of the evaluation and test plan for the proposed project.
(i.e. what is the success criteria and how will be evaluated & implementation will be tested, indicate the estimated size of the demonstration/test database)
To determine if the project is successful, two criteria’s should be considered. The main criteria would be if the system is able to provide users with a map showing them the best route based on their input. The second criteria is if users are able to obtain the map via a mobile device.
To test if the system works accordingly, a series of test are to be carried out as listed below:
1) Functionality Testing
This testing basically ensures that the features of this system works without any bugs or set backs.
2) Validation Check
This testing is used to check and avoid any possibility of users input to be
non-valid.
3) Compatibility testing
This testing is carried to see which mobile device would be able to access the system.
4) User Acceptance
This testing is carried out to check if users are able to interact with the system.
In order to evaluate the system, I intend on asking randomly picked users to use the system. Approximately 20 users would interact with the system and the system would be evaluated based on the users feedback.