Car Rental Software And Basic Functions

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

2.1 INTRODUCTION

"A literature review is a discussion of published information (journals, magazines, online resources) in a particular subject area, and sometimes information in a particular subject area within a certain time period." – The Writing Center, 2011.

This Literature Review has been broken down into two segments namely the Domain Research and the Technical Research. These are known as the secondary research as knowledge is acquired indirectly about the system, that is, online resources, research papers are used to gain knowledge about the similar systems, their functioning and the technologies being used. The research may have been made by experts, or university students for their final year projects for comparisons. Since technologies change very fast, a maximum age of the published resource has to be established. In other words, a resource must have been published a maximum of six years in order to be get more precise and accurate information.

2.2 DOMAIN RESEARCH

"Domain Research emphasizes on the functional environment of current systems, and the gaps identified in the research about current systems, together with the technologies being involved in the new system to make up for the gaps that have not been catered for in previous researches." – The Writing Center, 2011

For ORAC, the first part of conducting the domain research consists of identifying the gaps and problems that were not taken into consideration when designing the website for the online car rental systems and the second one consists of going deeper into the advanced concepts to be incorporated in the system to be built and the benefits they will bring to the system in covering the gaps identified.

2.2.1 Car Rental Software and Basic Functions

A Car Rental System is about renting cars to the public under terms and conditions, complying with the law. A car rental software consists of all the functions and procedures which allow a company to rent cars in the proper way via a computer application, in order to facilitate and quicken rental procedures. Throughout the years, car rental businesses kept innovating and finding new marketing strategies, together with following the technological pace so that their business remains profitable. In this paperless and fast-going era, time is an expensive factor for every human being and whichever business provides excellent customer services, it grows the fastest. Nowadays, online car rental is increasingly and progressively gaining acceptance as the favoured mode of renting cars for travellers (MD, 2010). The reason for this is the easiest and quickest way of renting a car from your home is the Internet. Car rental started as a manual process in the 1900’s itself. Hertz, a car rental company which started in the 1918 progressed steadily with time and introduced the first car rental computerised system in the year 1972 in order to make car rental process faster in the company, followed by its website which was introduced in the year 1996 and recently in 2012, launched its online car rental system (Hertz, 2012). It is a big concern for all companies to be competent everyday on the market so as not to make losses in the business.

Coming to the functions of an Online Car Rental System, the basic requirements for a normal fully functional system is the customer management to store details of the customers, the staff management to have login details of the staff and the vehicle management for keeping details of the vehicles. The customer has to register before booking a car and then choose the car of his choice and performs reservation for the particular car. The diagram below illustrates the current booking process of an existing online car rental system, Hertz (Hertz, 2012):

C:\Users\mshamneez1\Desktop\Flowchart.jpg

Figure : Diagram showing current process for car booking (Source: Author)

2.2.2 Problems Associated with Existing Car Rental Systems

In order to find out the gaps that the previous research have left, conference papers, journals and signed websites were thoroughly analysed and the data was compiled in the following paragraphs, identifying the gaps and the disadvantages linked to them. Existing car rental systems, namely, Hertz (Hertz, 2012), EasyRentPro (EasyRentPro, 2013), Green Matrix Car Rental (CarRentalSelangor, 2013), JM Car Rental and Tour (CarRentalMalaysia, 2012), along with some other known car rental systems have been compared and the following gaps were identified:

Interface Design

"To design is much more than simply to assemble, to order, or even to edit; it is to add value and meaning, to illuminate, to simplify, to clarify, to modify, to dignify, to dramatize, to persuade, and perhaps even to amuse." - Paul Rand, 2011.

The feel and look of a website is a major factor in determining how many users would like to use it. The interface has to be simple in an orderly manner and the user should be asked the minimum information as far as possible, which is a lacking factor in most websites. Hertz’s Interface allows the user to book a car without any need to register as a member but during the booking process, the user has to compulsorily register. This is a messy way of registration which is not reliable to be used also.

Weak Security and Losses in Business

"If you spend more on coffee than on Web application security, you will be hacked."

– Richard Clarke, White House Cyber Security Advisor

The importance of having security in your system is an important factor if payment is being done online. Of all the websites referred to in this document, only two of them integrated the payment feature, namely Green Matrix Car Rental (CarRentalSelangor, 2013) and JM Car Rental and Tour (CarRentalMalaysia, 2012). But it is a matter of great concern that no HTTPS method has been used in any website of them which endangers the credentials of the users and the account details of the company which is open to hack. Financial Hacking is a very common issue in Malaysia. Cyber Security of Malaysia states that hacking has increased to 100% in the country and it of major importance to have a strong security feature in any business dealing with credentials of banks and other users (CyberMalaysia, 2013). Manay systems have already been hacked and companies went bankrupt which is another major issue. It is most recommended to users not to effect payment in systems without the HTTPS feature for the payment system.

Public Safety and Law Implications

"The safety of the people shall be the highest law." - Marcus Tullius Cicero, 2007 

In any business, the transactions should be carried out in compliance with the law. It is noticed that in all the analysed websites, including Hertz (Hertz, 2013), that there is no proof of verifying the authentication of the person booking the vehicle in terms of license validity and identity, therefore difficult to prevent frauds and criminals from accessing the system. It is a must to verify these essential factors beforehand, as renting a car to a person without license is against the law and endangering lives of the public. If measures are not included, road accidents are already on the increase and it will be difficult to have control on the criminals. Secondly, if road accidents occur, the company staff need to go to the court and will be charged for going against the law and renting a vehicle to people without proper documents.

Time Constraints for Delivery

The time for booking on the above mentioned websites are a minimum of two to three days booking prior to the date of delivery. This is a major disadvantage for users since in case of emergency a car is required, they will not be able to receive it on time. It discourages the users to make use of a system that is not being profitable/advantageous to them. Customer Service is given importance to a greater extent in this era, and once gone, dissatisfied customers do not come back again.

2.2.3 Email Activation Link

The Email Activation Link allows users to verify their emails through their inbox, reducing the risk of spams trying to access their system (Pradeep G., 2007). It is a secured process whereby the system sends email to the user and the user has to click on the links in order to confirm their registration. The process of sending activation list by emails is shown in the diagram below:

http://www.troubleshooters.com/lpm/201202/images/email_arch_personal.png

Figure : Process of a system sending email to Steve, a new user of a system

(Author: http://www.troubleshooters.com/lpm/201202/201202.htm)

2.2.4 Short Messaging Service (SMS) Application Programming Interface (API)

In this system, the SMS API is basically to introduce a way of verifying phone numbers of users of a system. The provides a verification code via SMS which needs to be input in the system in order to verify user’s input phone number (Chao G., 2012). It is a good way of finding out whether users provide their proper contact number in case of emergency contact. The website uses the telecommunication network in order to send the verification code to the user. The diagram below shows the process of sending SMS to the users and the back end principles.

http://www.txtimpact.com/images/sms-gateway-connectivity.gif

Figure : Diagram showing external process to send SMS to users

(Source: http://www.txtimpact.com/sms-gateway-message-gateway.asp)

Sending SMS from the website

Figure : Diagram showing internal process of sending SMS

(Source: http://www.h-sms.com/web_integration.php)

2.2.5 Real Time Notification System

A Real Time Notification System has the purpose of alerting the staff of the company as soon as a customer is registered for verification and approval on the spot. It is a method to reduce the time taken for the approval process. As such a car can be booked on the spot by the client. The diagram below shows the real time notification process for Ebay:

Figure : Process for Ebay Notification System

(Source: https://www.x.com/devzone/articles/ebay-platform-notifications-part-ii-parsing)

2.2.6 Document Upload Feature

In this system, the Document Upload feature allows the user to upload the Passport and IC Copy so that it can be verified by the staff. It is a simple plugin added to the codes that makes it easy for the user to upload the document without any trouble just by using a button. The general process for Document Upload is as follows:

http://www.dominoguru.com/pages/xpage_fileupload_extlib_dialog_tutorial.html/$file/xpage_home_process_diagram.png

Figure : General Document Upload Processes

(Source: http://www.dominoguru.com/pages/xpage_fileupload_extlib_dialog_tutorial.html)

2.2.7 Instant Payment Notification – Paypal Configuration

"Instant Payment Notification (IPN) is PayPal's message service that sends a notification when a transaction is affected. Once IPN is integrated, sellers can automate their back office so they don’t have to wait for payments to come in to trigger order fulfilment." – Paypal, 2013.

Paypal is a company that provides the best and most secure methods of payment and can be integrated in any system to introduce flexibility in the process of making payment (Paypal, 2013). The user must create an account and effect the payment for the required transaction. In order to integrate this system, the Sandbox application under developer’s section is used and the codes are readily available to the developer as soon as all the details are given. The figure below shows how the payment system works:

https://cms.paypal.com/cms_content/ES/es_ES/images/developer/IPNOverview.gif

Figure : Instant Payment Notification for Paypal

(Source:https://www.x.com/developers/paypal/documentation-tools/ipn/integration-guide/IPNIntro)

2.3 TECHNICAL RESEARCH

"Technical Research is applied research oriented toward engineering disciplines (but not to a specific product or process) and aimed at developing tools and test equipment and procedures, and at providing solutions to specific technical problems." – Business Dictionary, 2013.

The technical research for ORAC consists of finding out about different methodologies, programming languages, software architectures, databases, project management tools and interface design. At the end of every research, a justification is given for the option chosen.

2.3.1 Methodology

"A methodology is a  system of broad principles or rules which specific methods or procedures may be derived to infer or solve different problems within the scope of a particular subject. Unlike an algorithm, a methodology is a set of practices." – Business Dictionary, 2013.

The methodologies chosen to be evaluated are the System Development Life Cycle (SDLC), Rational Unified Process and James Martin’s Rapid Application Development (RAD).

System Development Life Cycle (SDLC)

"SDLC is a methodology used by IT analysts in order to develop high quality software system which meets both the customer and the real world requirements, considering all associated characteristics of pros and cons of software testing, analysis and maintenance." – Tutor, 2012.

The SDLC Methodology consists of five main stages which are shown in the diagram on the following page:

sdlc image

Figure : Stages in the SDLC

(Source: http://www.sdlc.ws/what-is-sdlc/)

The different stages of the SDLC are described below:

Analysis

During the analysis stage, the project idea is discussed after carrying out the feasibility study to see whether the project is worth the cost and time involvement by considering the different factors such as cost and time. Data gathering methods are used to find out about specific problems and constraints after which the requirements are listed in details.

Design

The design stage is where all the requirements are converted into graphical mode. It consists of two main parts, the logical and physical design. All the processes will be shown through logical design on Data Flow Diagrams and will enable the stakeholders to have a better idea about the system while the physical design consists of designing the user interfaces for the system.

Development

Development Stage is where the user converts all the logical designs and physical designs into the software. Coding in specific programming languages is done in parts and at the end of the different module coding, the system is converted into a fully functional system.

Testing

Testing is the stage where the coded system is tested using different data sets to detect and remove errors from the program coding. During this process, the user requirements are checked against the source code to see whether all the requirements have been met and also the interface to be in stability with the coding.

Finalisation

In the finalisation stage, evaluation of the system is performed, and maintenance is a regular process to be carried out in order to keep the system up to date with the daily user requirements. Enhancement features can also be added in due course.

Advantages of SDLC:

Maximum management control is allowed as there is formal review at the end of each phase.( Ralph M. S., 2011)

Maximum system documentation is created in the approach. (John S., 2008)

Formal Documentation ensures that system requirements can be traced back to stated business needs. ( Ralph M. S., 2011)

It produces middle products that can be reviewed to see whether they meet the users’ requirements and conforms with the standards.(John S., 2008)

Disadvantages of SDLC:

Document is costly and time consuming to create and maintain. (John S., 2008)

Often users are misunderstood. ( Ralph M. S., 2011)

Not much flexibility for use of iteration, which can reduce manageability if used. ( Ralph M. S., 2011)

Lack of user involvement in the process as users appear only twice during whole process.

Scope may sometimes be too broad or too narrow.

Rational Unified Process

"The Rational Unified Process is an iterative methodology designed as an object oriented and web-enabled program development methodology by Rational Software Corporation, a division acquired by IBM, since 2003 " – Rajeev L., 2007.

The Rational Unified Process is used for delivering project in a maximum performance manner. The stages of RUP are shown in the diagram below and described in the following paragraphs.

http://www.devarticles.com/images/thetenessofrup_1.jpg

Figure : Rational Unified Process Model Diagram

(Source: http://www.devarticles.com/c/a/Development-Cycles/The-Ten-Essentials-of-RUP/)

Figure : Two dimensions of RUP

(Source:http://perso.enstimac.fr/~journeau/GSI/MDP-info/Pr%E9sentation%20RUP/WhatIstheRationalUnifiedProcessJan01.pdf)

The Rational Unified Process works on the four following stages. It is important to note that since the process is iterative, the process repeats itself several times until all the requirements are met and the system is of high quality.

Conception

This is the initial stage where all the requirements are gathered and a feasibility study is conducted. It is also the stage where cost of the project, resources required and profitability is analysed. Priorities and risks are also pointed out before the start of the project.

Elaboration

The elaboration stage helps to determine whether the project plan, architecture and vision are good enough in order to achieve the goal and if it is still not good, then it should be aborted or reconsidered very seriously (Masoud K., 2010). This stage includes deeper requirements understanding, architecture consideration, risk mitigation and development case refinement. In other words, this process defines and baselines the architecture of the system so as to provide a stable basis for design and implementation.

Construction

At this stage, the complete product is developed at a cost-efficient level, i.e. at an operational level that can be deployed to the stakeholders. The objective is to iteratively develop a product that is ready to transition in the user community (Masoud K., 2010). Together with the system, it is important to give out the user manual, so that users can understand the functioning of the system.

Transition

The last stage of the RUP is the transition phase. At this level, the purpose is to transition the software product to the user community (Masoud K., 2010). Once product is deployed to user, issues usually come up and new releases have to be developed and problems corrected. The objective is to improve future project performance through the lessons learned (Masoud K., 2010).

Advantages of RUP:

It gives a complete methodology with an accurate document.

It can resolve problems/risks associated with client’s continuously changing requirements, which makes use of a change request form (PM Expert, 2009).

Development time required is less due to reuse of components.

Online tutorials and training are available for this process (PM Expert, 2009).

Disadvantages of RUP:

Team members should be expert in their fields in order to be able to do development under this kind of methodology.

The development done using RUP is very disorganized and complex.

When new technologies are introduced, the reuse of components will become obsolete (PM Expert, 2009)

The time taken to develop a whole stable system is very long.

James Martin’s Rapid Application Development (RAD)

"The James Martin’s RAD is named as such because it was developed by James Martin (born 1933) in the 1980’s (CaseMaker Inc., 2007), British Information Technology Consultant and Author."

This methodology is defined as an approach to building a computer system that uses Computer Assisted Software Engineering Tools (CASE Tools) and techniques together with user-driven prototyping under a strictly given time limit (CaseMaker Inc., 2007). The main objective of RAD is to provide software of quality, even though developed in a small amount of time. The RAD uses automated tools, i.e., software in order to automatically generate the system diagrams, called UML Diagrams to restructure the building up of information systems.

The RAD involves four essential aspects namely Methodology, People, Management and Tools as shown in the diagram below:

Figure : Essential Aspects of RAD

(Source: http://www.casemaker.com/download/products/totem/rad_wp.pdf)

Methodology

The RAD development path faces the challenges that are normally encountered with other methodologies, directly by providing ways of developing systems faster, while minimising cost and maximising quality. It combines the best accessible techniques and specifies the order of tasks, thus making the techniques more operative.

The structure of RAD thus, allows the developers to build up the specifically required system that the user really needs. The four major stages of RAD are as follows:

http://www.devfaction.com/Images/RAD.png

Figure : Stages of RAD

(Source: http://www.devfaction.com/Services.aspx)

Requirements Planning

It is the Concept Definition stage, where the business functions, processes and data subject areas are translated into the scope and objectives of the system (Barbara T., 2010). The requirements are analyses for conflicts and after requirements finalisation, the user design is started.

User Design

Known as Functional Design Stage, workshops are used to model the system’s processes and data to be able to build a working prototype of critical system components using automated tools so that system can be clearly understood by both project team and stakeholders (CorePartners, 2007). Before going to the construction phase the project team should focus more on efforts in order to improve the prototype before every start of the cycle.

Construction

Also called the Development stage, the system is being built with all the specified requirements to provide a system performing all of the activities being carried out in the actual system so that the project can be incorporated. The CASE Tools, that may be already in the development software or external, are used to automatically generate the system diagrams and the interfaces also sometimes, which saves a great deal of time.

Cutover/Implementation

Upon completion of system building, the Implementation/Deployment stage is where the different types of testing are carried out, training sessions are given to users of new system and finally system is launched.

People

In RAD methodology, interaction with stakeholders of systems is often. In order to create a system of quality, constant interaction is made between stakeholders and developer so as to avoid misunderstanding before moving ahead in each phase. Excellent tools are fast, but it does not necessarily means that they guarantee success. In order to achieve success in any IT project, stakeholders need to be involved in every stage to avoid conflicting requirements. Thus both the developer and the stakeholders must be highly motivated to work in a team. It allows a person to play different roles at a time. Communication is essential in developing a system and is of great need to give a product of quality.

Management

The management should dedicate itself entirely to the RAD process so as to manage the change in culture (CaseMaker Inc., 2007). The management has to keep off the obstacles and problems that become a handicap in the fast development course in order not to lack back in limited time given. Dedication from a good management is ideal to fasten the process of system building.

Tools

Tools used in order to fasten the system building process are automated and also includes human techniques that help to achieve goals of high quality, as well as high speed (CorePartners, 2007). A fundamental principle in RAD is to use help of diagrams wherever clear thinking is required which makes it a lot simpler to understand both requirements and functioning. CASE Tools help the building up of system through use of simple tools to draw UML Diagrams.

Advantages of RAD:

The primary advantage of RAD is a faster development, with a high quality of product in less time.

Although RAD may compromise in case of scalability and range of features, it gives a product of higher quality by meeting all the user requirements and providing an error-free software.

RAD involves maximum user interaction which gives a great customer satisfaction at the end of the project.

RAD gives time boxing facilities, whereby different versions of the product can be launched with time and with more features of the software.

RAD involves all the stakeholders and the development team which gives a better collaboration and understanding of the user expectations.

Due to the iterative approach of the methodology and user feedback available at every stage, risk of failure is eliminated from the project.

RAD promotes a better documentation by using written test cases.

Usability of Components increases the development speed.

Disadvantages of RAD:

If any of the parties do not have the will to collaborate, this methodology will not work.

The methodology works only if the project has existing prototypes in order to ease the process.

This methodology is not useful is projects if highly complex, unique and large.

Justification of Choice

After studying the different methodologies existing, the conclusion is that James Martin’s RAD is the best methodology, hybrid with minor changes made on the side of the developer in order to develop ORAC. The main reasons being, the high quality project delivered in a limited amount of time. RAD consists of simplifying the developer’s tasks and the cost to bear. Another reason for choosing RAD, is that the software being used for building up ORAC supports RAD Tools and provides full flexibility of generating the required diagrams for the project.

2.3.2 Programming Language

"A Programming Language is language designed to communicate instructions to a computer."

The programming languages that can be used in order to build up the website are Java, PHP and C#. All the three languages are popular for building websites. Below are the explanations of the features, advantages and disadvantages of the three languages.

Java Programming

Java is a programming language and computing platform which was released by the Sun Microsystems in 1995 (Oracle, 2013). Java is an object oriented language similar to C++, but removes language features that cause common programming errors. It is a general purpose software, that have features to make it useful for the development of software applications and web applications. Java has a lot of advantages and disadvantages which are described in the following sections.

Advantages of Java:

Java is platform-independent: It means that Java programs can run on any operating system that has the Java Virtual Machine (JVM) installed on it.

Java is robust: It has a strong memory distribution and programmed garbage assembly mechanism. (Dinesh T., 2012)

Java has good performance: The latest version of JVM uses adaptive and just in time compilation for improved performance.

Java uses object oriented that makes the code reusable, which saves both memory and time. (Rose India, 2010)

Java is secure: It is among the first programming languages that implemented security in its design.

Disadvantages of Java:

Java is mainly a single-paradigm language and even the look of GUI applications is vastly different from other applications

Java is relatively unformed. Although the language itself is not likely to change intensely, we can expect substantial fluctuations in the Java API and related technology. (James K., 2008)

Java lacks support in writing generic data about structures and methods.

Hypertext Preprocessor, PHP

PHP is the most commonly used scripting language on the web (Ashutosh P., 2011). It was introduced in 1994 by the developer Rasmus Lerdorf by introducing a simple set of Common Gateway Inteface (CGI) binaries written in C (PHP.Net, 2013). The most advantageous feature of PHP is that it can be easily integrated in HTML, the reason due to which most developers choose to use this language for their development. It is known as the finest and most effective tool for development because of its open source nature (Bakul S., 2008).

Advantages of PHP:

PHP is open source software and provides online help and code snippets, which makes it a cost effective and most used.

Since PHP is a server side technology, the user doesn’t need a special browser or plugin to view the system.

PHP offers many level of security for malicious attacks.

PHP doesn’t use a lot of system memory, therefore it runs fast and doesn’t slow down other processes.

The connective abilities are advantageous because PHP use a modular system of extensions to interface with a variety of libraries (Designer’s Playground, 2011).

PHP is highly compatible with web servers, thereby supporting it to be easily installed across different platforms. (Web Design, 2011)

PHP is easier to learn compared to other scripting languages as it libraries are more user friendly.

It runs faster on any browser and can easily integrate AJAX, and other Java components.

Lots of hosting services already have PHP installed and ready to use, therefore it doesn’t require any special configuration.

PHP can be used with many different databases, such as MySQL, MSSQL, PGSQL and many others.

Disadvantages of PHP:

PHP is not specialised in creating desktop applications.

PHP is vulnerable as it uses open source and all codes are available. IT can be used by hackers to explore the weakness of the libraries.

C#

C# is an object-oriented language, introduced by Microsoft in the year 2000, which aims to combine the computing power of C++ combined with contained features similar to Java (Margaret Rouse, 2007). It is designed to work with Microsoft .Net’s platform in order to facilitate exchange of services and information on the web, enabling developers to build portable applications. C# encourages companies to build their own version of the language (Margaret R., 2007).

Advantages of C#:

C# language is proposed to be a modern, simple, general-purpose and object-oriented programming language.

C# provides operator overloading which is not available in VB.NET (Jimmy, 2012)

C# is based on reflection mechanism which is biggest advantage of C#.

C# allows user to access memory directly by using unsafe code blocks.

Many classes and functions are predefined and thus do not need to be defined again.

C# is a very powerful programming language as it combines both characteristics of C++ and Java.

Disadvantages of C#:

The major disadvantage of C# is the platform dependency. C# only works with Windows and not any other platform.

In order to use C#, a license need to be bought from Microsoft which makes it payable compared to other languages like PHP which offers almost same facilities as a free language.

Apart from MSDN, it is difficult to find online help for C#.

Justification of Choice:

The programming language chosen to develop ORAC is PHP as it has far more advantages than any other programming language. PHP is a very flexible and specialised language for building up online applications. Another advantage is that RAD Tools can be applied when using PHP which makes coding simpler and faster. The reason for choosing PHP is also that PHP is open source software whereby online help is available, as well as, it supports different types of databases.

2.3.3 Client-Side Scripting

It is the set of instructions that runs on the web browser of the user accessing the in order to display the interface of the system. Nowadays, we have other libraries, like JQuery which form part of the JavaScript libraries but is more flexible than JavaScript. The research has been carried upon JQuery and JavaServer Pages (JSP) technology to find out which one is the most suitable to be worked with.

JQuery

"Released in 2006, JQuery is a cross browser javaScript Library, simplifying client side scripting of HTML." – Web Definitions, 2010.

It can produce dynamic web pages together with flash like webpages. Currently JQuery rule over 55% of websites (Sufyan U., 2012). It has simplified the JavaScript Library which has made it easier to use.

Advantages of JQuery:

The major advantage is the ease of use. Compared to standard JavaScript and its other libraties, JQuery requires less lines of code to do the same function.

It has a strong open source community, i.e., amount of online help obtained is relatively high.

JQuery allows you to create Ajax templates at ease; Ajax enables a smoother interface where actions are carried out without the need of refreshing the page.

JQuery has a lot of extendable and reusable plugin which user can create on his own and applied in different projects (Sarinmall, 2012).

Library of JQuery includes cool effects and animations that can be implemented in the websites.

JQuery UI offers features such as dialog boxes and date pickers which are ready to use.

JQuery gives complete support to CSS3 selector requirements.

Disadvantages of JQuery:

Functionality can be limited; While JQuery has an inspiring library in terms of size, conditional on how much customization you require on your website, functionality can be limited, thus using raw JavaScript is inevitable in some cases(Sarinmall, 2012).

The JQuery JavaScript file should be present on the disk in order to run JQuery commands.

JavaServer Pages (JSP) Technology

"JavaServer Pages (JSP) technology offers a shortened, quick way to generate vibrant web content. JSP technology enables rapid development of web-based applications that are server- and platform-independent." – Oracle, 2013.

This component is a type of Java servlet that is planned to fulfil the role of an interface for a web application in Java. Web programmers write JSPs as text files that combine HTML or XHTML code, XML elements, and embedded JSP commands and action.

Advantages of JSP:

JSP pages can easily mix static design, including HTML or XML pieces, with code that produces dynamic content.

JSP pages are compiled dynamically when requested into servlets. When desired, JSP pages can also be precompiled (XZYWS, 2011).

Developers offer tailored JSP tag libraries that authors can access using XML-like syntax (XZYWS, 2011).

Web authors are allowed to modify the fixed template portions of pages without affecting the logic of the application. Likewise, developers are allowed to make logical changes without affecting the parts that use the logic.

The dynamic part of JSP is written in JAVA which makes it easier to use.

Disadvantages of JSP:

The implementations of JSP issue usually issue poor diagnostics.

JSP takes double the amount of disk space to hold the page.

When a page is run for the first time, it takes time because it has to be compiled on the server.

Justification of Choice

For the client side programming, after thorough research JQuery has proved to be more advantageous than JSP. The main reasons being JQuery has simplified client side scripting to a level further than any other JavaScript libraries. The coding of a web page is simplified such that it uses a single line of code to do the same job as a normal library which takes three lines. JQuery is also fully compatible with the features of PHP since both are libraries contained in the Netbeans IDE.

2.3.4 Software Architecture – Client Server Technology

The software architecture to be used to develop ORAC is the client-server technology. The reason is that the client-server technology. Under the client server architecture, a server is used to host the application and the clients are workstations that are used to access the online application as shown in the diagram below. Since it is a website, the clients will be the users to access the website for information while the web server will be present at the location of the company hosting the website (WISEGEEK, 2013).

http://images.wisegeek.com/web-servers-and-computers.jpg

Figure : Client-Server Architecture

(Source: http://www.wisegeek.com/what-is-client-server-architecture.htm)

2.3.5 Database

Database is the collection of information so that it can be easily managed, accessed and updated. Databases are often used depending on the flexibilities they offer in order to use the information stored. In order to store the information collected from the websites, two database development software have been analysed in details to understand their features, benefits and weaknesses, namely MySQL Workbench and Postgre SQL as discussed in the following sections.

MySQL Workbench

MySQL Workbench is an open source product of Oracle which is an integrated tool for SQL development, for server administration, database design and creation, security management and acts as a server as well as database maintenance (Oracle, 2013).

It is a complete package that allows the developer to use in order to create and maintain the database.

Advantages of MySQL Workbench:

MySQL is open source software and online help is readily available.

It uses a fast thread based memory allocation which makes processes faster.

MySQL implements in built hash tables, which are used as temporary tables (MySQL, 2013).

In a client/server networked environment, it runs the server as a different program for use, and as a library that can be linked into individual applications (MySQL, 2013).

MySQL database gives opportunity to tailor the database specifically to the system needs.

Changes can be made to the database structure without affecting the website itself(MySQL, 2013).

Disadvantages of MySQL Workbench:

MySQL doesn’t provide full support for foreign keys as it is a fully relational database software (Adam H., 2008).

MySQL also lacks support for stored procedures (Adam H., 2008).

Postgre SQL

PostgreSQL can easily store and retrieve information using SQL statements. It is a relational database management system that was developed by a team of n=volunteers around the world. It is open source software, controlled by the PostgreSQL Global Development Group (PostgreSQL, 2013).

Advantages of PostgreSQL:

Postgre SQL provides high power and flexibility for database development.

It is able to create set-returning functions, together with custom data types and custom operators.

PostgreSQL supports multiple procedural languages and extensions such as tree and integer array support permitting for a degree of optimization and customization (Emily M., 2011)

Disadvantages of Postgre SQL:

Postgre SQL has a high degree of complexity.

It also has high rate of maintenance issues (Emily M., 2011).

It has a small user community and apparently it is not the fastest (TuxRadar, 2012).

Justification of Choice

In comparison to PostgreSQL, MySQL is more advisable to use as most developers opt for them due to their simplicity and required functions they use. It is still a fact that PostgreSQL has a lot of issues and lack of support together with the complexities that are not suitable for the building of ORAC. MySQL Workbench to the contrary has been a stable database platform which offers all the tools to facilitate developer’s tasks by providing automated means of generating diagrams and has always been a good choice when the programming language is PHP.

2.3.6 Model View Controller (MVC) Pattern

Introduced in the year 1979, by a Norwegian, Xeroc Parc, the Model View Controller pattern was used to give the user the impression of interacting directly with the data and was earlier used in GUI applications (Catron F., 2009). The diagram below shows the MVC pattern concept:

Figure : MVC Concept

(Source: http://www.slideshare.net/funkatron/intro-to-mvc-development-in-php)

The model represents knowledge, i.e., the business functionalities. The view represents visual representation of the model, i.e., the interfaces of the application and the controller is the link between the user and the system where it is responsible for intercepting the user’s input.

When MVC pattern is applied to PHP, it makes the coding simple by separating the model view and controllers. In ORAC, the MVC pattern will be applied in the codes.

Advantages of using MVC:

Different views can be generated using MVC for the same model to provide different user interfaces.

It enables multiple views to be operational at the same time.

Changes made to the views do not affect the application logic.

Testing of the codes is much easier when MVC is used.

Disadvantages of using MVC:

Changes to the views and models in parallel require a change in the controllers.

It is complex to use when frequent model changes require many change notifications (PHP Experts, 2009).

2.3.7 Interface Design

The Interface design of a system is an important aspect of websites. Neat and appreciable websites attract more people than messy ones. So, in order to build a successful website, there are guidelines to follow properly (Fadeyev D., 2009). There are eight factors to consider when building a website which are as follows:

Clarity

Clarity is the most important factor in an interface. It is important that the information is clearly displayed on the website, so that users do not get confused while using it. If users find it difficult to find the related information required, then they may probably not visit your page again.

Concise

Clarity is good, but over-clarity, meaning, adding every little detail about everything adds mass to the interface makes readers take too much time to read. It is important for the developer to be concise about the amount of information he’s displaying on the page. If a feature can be explained in one line rather than three, then it is better to write the one line. It saves valuable time of users go through the website.

Familiarity

Many developer’s on working to make website intuitive. By intuitive it means that a website once seen by a user can be already understood by the user naturally. One principle to follow is to identify the things that are familiar to the user before designing the website.

Responsiveness

Responsive means that the website should work fast and should provide some form of feedback to the user about what is happening if some things take time to load. It can be in the form of a progress bar, which waits for the whole page to load then it disappears.

Consistent

Interface should be consistent in the sense that they should not change on every page. A consistent web page allows user to develop a usage pattern that is easy to remember in due course.

Attractive

Attractive refers to a website being enjoyable by the users. A simple website is good, but an attractive website is satisfying. Also, aesthetics should be used in control and to highlight function. Polishing the interface to a level is good but it doesn’t mean to load it with superfluous eye-candy (Fadeyev D., 2009).

Efficient

Efficiency of a website means how much time the user takes to reach its required page, A good interface is that which lets people easily accomplish what they are required to do rather than giving them a continuous list of features.

Forgiving

An interface that is forgiving lets the user undo an action that has been done by mistake. All humans make mistakes and a simple Undo button can make a website forgiving.

The above mentioned factors have to be in any website in order to be liked. People like things which are suitable and easy for them to use. If a website cannot make their life easy, it is of no use to them.

2.5 SUMMARY

This section contains deep research about the technologies and software to be used for different processes during the building up of the system. The justification of every software to be used and methodology chosen have also been given in details. The next section talks about the primary research for ORAC.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now