* Define the problem
Capture a booking for a taxi via the company web site and validate it's a valid booking, send a confirmation to the user regarding the booking ideally via SMS if mobile number is provided requesting user to reply to confirm the validity of the booking. Where no mobile number is provided human interaction will be required to follow up with the user as the final confirmation step. At the same time the steps required to make an online booking should not be complicated but simple and easy for anyone to use.
* Business needs of,
The organisation - Provide efficient service to customers, reduce data entry labour required in capturing bookings into the system and processing them. Introduce new automated services which will not increase overheads for the organisation but add value to the customers such as enquiry facilities, printing receipts, obtaining an quote for a booking.
End-user(s) - Ease of use with minimal data entry, steps required to making and confirming a booking, variety of services offered such as indicative price for the trip, any additional surcharges that may be applicable, payment methods available, reminder service of the taxi arrival time.
* Scope to designing a solution
The prototype developed will concentrate on a home page, making a booking, mandatory field validation, view available fleet functionality and a contact us form for the public accessible web site.
The admin interface of the web site which will perform adding new fleet information, confirming new bookings and viewing the newly recieved bookings, cancellations, replying to enquiries is not implemented on this assignment.
* Design methodology
MVC - Due to the distributed nature of web applications use of model-view-controller design pattern is desirable. This will allow for easier system development and maintenance, isolating business logic, presentation functionality and also will allow specialised skills to be utilised in developing these aspects.
There are models for each of the entities of the system, bookings, taxis & contact us enquiries. They perform the mapping of data with the objects and database. The enforcing of business logic validation. A controller is set up for each function booking, taxi and contact us which performs the functions of adding a new booking, updating or showing a list of available bookings.
Agile methods - Design and development through iterative approaches, involvement of user throughout the development process. Due to the nature of the rails framework each requirement will be modeled and discussed with the user before progressing to the next function.
Business Systems Design Issues
* Ruby on Rails as the development framework
It's quick, suited for web sites with dynamic content generated from databases. However since it's a new technology available support may be limited and experienced technical staff may be limited. Another aspect is the level of recent release of RoR and the availability of supporting gems which would help efficient development of the project and help implement important functionality such as secure user authentication, sms facilities etc.
A very good user authentication ruby gem which is known as restful authentication is unavailable in rails 2.0. This ruby gem would have helped in implementing the admin web interface of the taxi booking system.
Server Design Issues
* Server systems
Mongrel - web server provided with rubyonrails, suited for development environment.
SQLite 3 - will be used as the development database.
apache - web server would be used as the production web server for this application.
mySQL - will be used as the production database.
* Database design
A relational database design will be suited for this application.
The implemented model uses a bookings table, taxis table & a comments table.
As part of the admin functionality once a booking has been confirmed it will be required to update the bookings table with the new status.
Project Management Techniques
* Time, cost, quality and risk management
Development time is significantly shortened due to the nature of rails framework and it's supporting gems. Cost is lower due to utilising open source components in this project. Integrated testing functionality of the framework, adhering to standards established from the open source communities would definitely help increase quality of this project. However rails being relatively new technology availability experienced people, availability of compatible supporting ruby gems, other software modules & the nature of new rails releases pose a significant risk.
Pilot Study - Implemented Project
Home page

Booking page

View taxis page

Contact us page





















