SIKKIM MANIPAL UNIVERSITY PROJECT REPORT SAMPLE

                                                          

                                                                                  REPORT

                                                                                        ON

                                                        “ONLINE CAB SCHEDULING SYSTEM

 

 

Submitted in partial fulfillment of the requirements for qualifying

 

Bachelor of Computer Application

BCA

 

 

 

   SUBMITTED BY

  NAME                                     :  …………………………       

 

 ENROLLMENT NO              :  ………………………….                   

                        

 UNDER SUPERVISION OF:   …………………………….

                         

                       

                                       

 

 

 

 

                                                          “ONLINE CAB SCHEDULING SYSTEM

 

 

 

Under Supervision of     :

Submitted By:

Name                          : ……………………….          

Programme                :  BCA

Enrolment No.           : …………………..

 

 

BONAFIDE CERTIFICATE

 

Certified that this project report titled “ONLINE CAB  SCHEDULING SYSTEM” is the bonafide work of “………………………..………. <NAME OF THE CANDIDATE with REG.NO>.…………” who carried out the project work under my supervision.

SIGNATURE

 

ABSTRACT

ONLINE CAB SCHEDULING SYSTEM is software which is helpful for Cab travelers, who wants to travel by Cab all over different routes. This system provide different routes for passengers,  passengers can also have a look over how many trips are their available for specific route and what is the time table for different traveling. Passengers can book his ticket for his travel by Cab with a specific route and for a specific day.

This system is useful for passenger who wants to know about Cab routes for Travelling between two or many places, how much it will cost and how much time it would take for traveling. This system is also useful for employees like Cab drivers and conductors who are working for this system they can know about his work status information and his working time table with their route information he has to follow over his work.

ONLINE CAB SCHEDULING SYSTEM is built to provide facilities to those who are interested in knowing about Cab Travelling and their routes. This system provide information regarding all available routes and their time table. If any user wants to know about available seats for specific date this system help him/her for this type of information.

Employees are also facilitated by providing them work status report and their work time table report. In this system all information regarding employees maintained by project manager and work allocation is done by this system manager.

ONLINE CAB SCHEDULING SYSTEM is work between passengers and working employees this system is used for benefiting Cab travelers and to provide detailed information regarding Cab routes and availability of seats.

 

 

DECLARATION

I hereby declare that this project work titled “ONLINE CAB SCHEDULING SYSTEM is my original work and no part of it has been submitted for any other degree purpose or published in any other from till date.

 

 

 

 

ONLINE CAB SCHEDULING SYSTEM

 

CONTENTS                                                                          

 

BONAFIDE CERTIFICATE                                                                                iii

ABSTRACT                                                                                                           iv      

DECLARATION                                                                                                   v

 

 
 
1.       INTRODUCTION
1.1.   Overview of the System                                                                         3                                                                 
1.2.   Objectives and Organization of the report                                           4                                                 
1.3.  Proposed System                                                                                    
 
2.     REQUIREMENT SPECIFICATION
      2.1   Software & Hardware Requirements                                                   11
      2.2   Data Flow Diagram                                                                             

      2.3  CONTEXT LEVEL DFD  Diagrams                                                  

      2.4  E-R Diagram                                                                                        

 
3.  SYSTEM DESIGN
 
      3.1   Use Case Diagrams                                                                             
      3.2   Data Modeling                                                                                     
      3.3   Modules                                                                                               
4. IMPLEMENTATION

5. RESULTS                                                                                                      

   5.1 Input  and  Output  Screen  Snapshots                                                   54

 6.  Limitations and future application of the project                                    63                                                             
 
 7.  Conclusion                                                                                                   
 8.  Bibliography                                                                                               

 

 

 

 

LIST OF FIGURES

 

Figure No.                      Description

  1. Passenger

2             Employees

  1. ER Diagram
  2. Use Case Diagrams
  3. Sequence Diagrams
  4. Reserve Ticket
  5. Work Status Report for Employees
  6. Ticket Status Report
  7. Cancelation of Ticket
  8. Time Sheet for Employees

 

LIST OF TABLES

 

Table No.                       Description

1          Employees

2          Route

3          Cab

4          Ticket

5              Passenger

6         Work Status

 


CHAPTER 1 INTRODUCTION

1.1 Overview of the System

 ONLINE CAB SCHEDULING SYSTEM is software which is helpful for Cab travelers, who wants to travel by Cab all over different routes. This system provide different routes for passengers,  passengers can also have a look over how many trips are their available for specific route and what is the time table for different traveling. Passengers can book his ticket for his travel by Cab with a specific route and for a specific day.

This system is useful for passenger who wants to know about Cab routes for Travelling between two or many places, how much it will cost and how much time it would take for traveling. This system is also useful for employees like Cab drivers and conductors who are working for this system they can know about his work status information and his working time table with their route information he has to follow over his work.

In this software a project manager works for managing Cab routes, employees and passengers details. He can add a Cab and its details including Cab route details. Project manager allocate work between employees and manage time between multiple routes.

There are mainly four modules in this software:

 

  • Cab Management
  • Route Management
  • Employee Management
  • Passenger Management

In Cab module a project manager add or delete a Cab details to the database. He can set the details of the route and the timing. Cab details add total number of available seats, reserved seats and total seating capacity and the route in which the Cab is going to be are added.

Route Management module deals with the route management of the Cab. A project manager can add the route and if he wants he can change it or delete that route. Route modules contain time table for different routes and their related stoppage.

Employee management module is work over maintaining employees details. Employee details of any Cab can add to the database and this is helpful to the Cab operators to provide all work status report and working route and time table report to the employees working with this system.

The passenger module mainly used to give advantage for the passengers.  This module is helpful for the passengers to get details of the route and the details of the Cab which have trip to that route. He can also get the information of the number of seats available in a particular day. This system is useful for reserving tickets for specific route and for a specific date. Details of every passenger are stored in the system.

 

1.2 Objectives and Organization of the report

ONLINE CAB SCHEDULING SYSTEM is built to provide facilities to those who are interested in knowing about Cab Travelling and their routes. This system provide information regarding all available routes and their time table. If any user wants to know about available seats for specific date this system help him/her for this type of information.

Employees are also facilitated by providing them work status report and their work time table report. In this system all information regarding employees maintained by project manager and work allocation is done by this system manager.

ONLINE CAB SCHEDULING SYSTEM is work between passengers and working employees this system is used for benefiting Cab travelers and to provide detailed information regarding Cab routes and availability of seats.

 


Category of the Project

This project is a “Web Application”. It uses the concept of OOPs, RDBMS and Multimedia for Conferencing and Internet technologies.

The Project aims at creating a website using java and MySQL for a web based platform. It uses some features of servlet, applet, JSP and JDBC as well, to speed up a few sections of this project.

 

  1. The User’s layer: tools and languages used à J2EE (JSP, Java Server Faces), HTML, DHTML, and JavaScript

Editor:Eclipse

There is a front end which is web-pages which are displayed before the user and user directly interact with the software. Web pages are developed by using various design tools like Flash, Photo Shop etc and documentation languages like HTML and DHTML.

 

  1. The Presentation layer: tools and languages used à JSP, SERVLET, JavaServer Faces

Editor: Eclipse

At this layer all the services related with presentations like format check, mailing interface,   parsing, deployment descriptor etc. this layer is developed in java using servlet, JSP.

 

III. The Integration Level: tool/technology used àJDBC 3.0

JDBC Type 4 Driver is used.

This tier is dedicated for database connectivity and connection management with the database. This is tier is developed in java and the components to be used JDBC 2.0.

 

  1. The Data Resources level: [MySQL Community Server 5.0]

At the back end, there is a data base which maintains data. This is to be developed in MySQL. In this server tables are created and all primary key –foreign key constraints are implemented. The data base follows all the integrity constraints.

Platform used:  Microsoft Windows 2000 Advanced Server

Features of Windows 2000 Advanced Server which may contribute to this project

  • This is server edition and contains all the features of server.
  • Easy to use and configure different components of the system.
  • Provide good base to develop enterprise software.
  • Provide multi-user facilities to distribute and reintegrate different components of the project easily.

Architecture implemented: Java 2 SDK Enterprise Edition 1.3

 

Advantage

I have designed the given proposed system in the JSP, SERVLETS to automate ONLINE CAB SCHEDULING SYSTEM.

The following steps that give the detailed information of the need of proposed system are:

Performance: During past several decades, the records are supposed to be manually handled for all activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the Cab Agencies, the computerized system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of the company.

Efficiency: The basic need of this website is efficiency. The website should be efficient so that whenever a new user submit his/her details regarding ticket reservations, cancellations etc. the website is updated automatically. This record will be useful for other users instantly.

Control: The complete control of the project is under the hands of authorized person who has the password to access this project and illegal access is not supposed to deal with. All the control is under the administrator and the other members have the rights to just see the records not to change any transaction or entry.

Security: Security is the main criteria for the proposed system. Since illegal access may corrupt the database. So security has to be given in this project.

 

Project Category

 

  1. I. The User’s layer: tools and languages used à JSP, HTML, and DHTML.

Editors: – Eclipse IDE

There is a front end which is web-pages which are displayed before the user and user directly interact with the software. Web pages are developed by using various design tools like Flash, Photo Shop etc and documentation languages like HTML and DHTML.

  1. The Presentation layer: tools and languages used à JSP, SERVLET

Editor: Eclipse IDE

At this layer all the services related with presentations like format check, mailing interface,   parsing, deployment descriptor etc. this layer is developed in java using servlet, JSP.

III. The Integration Level: tool/technology used àJDBC Type 4

JDBC Type 4 Driver (Pure Java implementation) is used.

This tier is dedicated for database connectivity and connection management with the database. This is tier is developed in java and the components to be used JDBC 2.0.

  1. The Data Resources level: [MySQl]

At the back end, there is a data base which maintains data. This is to be developed in MySQL. In this server tables are created and all primary key –foreign key constraints are implemented. The data base follows all the integrity constraints.

 

Cabiness Intelligence

Gain deeper insight into your Cabiness with integrated, comprehensive analysis and reporting for enhanced decision making.

 

High Availability

Ensure Cabiness continuity with the highest levels of system availability through technologies that protect your data against costly human errors and minimize disaster recovery downtime.

 

Performance and Scalability

Deliver an infrastructure that can grow with your Cabiness and has a proven record in handling today’s large amounts of data and most critical enterprise workloads.

Security

Provide a secure environment to address privacy and compliance requirements with built-in features that protect your data against unauthorized access.

Manageability

Manage your infrastructure with automated diagnostics, tuning, and configuration to reduce operational costs while reducing maintenance and easily managing very large amounts of data.

Developer Productivity

Build and deploy critical Cabiness-ready applications more quickly by improving developer productivity and reducing project life cycle times.

Drawbacks of Current Manual- System

  • The current manual system has a lot of paper work and it does not deal with exact details.
  • To maintain the records of candidates and companies manually, is a Time-consuming job.
  • With the increase in database, it will become a massive job to maintain the database.
  • Requires large quantities of file cabinets, which are huge and require quite a bit of space in the office, which can be used for storing records of previous claims.
  • Lack of security for the records, anyone disarrange the records of your system.

THE NEED OF NEW SYSTEM

  1. Problem of Reliability: Current system is not reliable. It seems to vary in quality from one month to the next. Some times it gives good output, but some times the output is worst.
  2. Problem of Accuracy: There are too many mistakes in reports.
  3. Problem of timeliness: In the current system the reports and output produced is mostly late and in most of the cases it is useless because it is not on time.
  1. Problem of Validity: The output and reports mostly contains misleading information. The customer’s information is sometimes not valid.
  2. Problem of Economy: The current system is very costly. We have to spend lots of money to keep the system up and going, but still not get the desired results.
  3. Problem of Capacity: The current system is suffering from problem of capacity also. The staff for organization is very less and the workload is too much. Few peoples cannot handle all the work.

 

1.3 Proposed System

 

  1.  Details: The new proposed system stores and maintains all the online users etc.
  2. Calculations: The new proposed system updates tables and other information automatically and it is very fast and accurate.
  3. Registers: There is no need of keeping and maintaining accounts and information manually. It remembers each and every record and we can get any report at any time.
  4. Speed: The new proposed system is very fast with 100% accuracy and saves time.
  5. Manpower: The new proposed system needs less manpower. Less people can do the large work.
  6. Efficiency: The new proposed systems complete the work of many people in less time.
  7. Past details: The new proposed system contains the details of each enquiry done by visitor.
  8. Reduces redundancy: The most important benefit of this system is that it reduces the redundancy of data within the data.
  9. Work load: Reduces the work load of the data store by helping in easy updates of the products and providing them with the necessary details together with financial transactions management.
  10. Easy statements: Month-end and day-end statement easily taken out without getting headaches on browsing through the day end statements.

 

 

Need

I have designed the given proposed system in the JSP, SERVLETS to automate the process The following steps that give the detailed information of the need of proposed system are:

 

  • Performance: During past several decades, the records are supposed to be manually handled for all activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the Company system, the computerized system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of the company.

 

  • Efficiency: The basic need of this website is efficiency. The website should be efficient so that whenever a new user submits his/her details the website is updated automatically. This record will be useful for other users instantly.

 

  • Control: The complete control of the project is under the hands of authorized person who has the password to access this project and illegal access is not supposed to deal with. All the control is under the administrator and the other members have the rights to just see the records not to change any transaction or entry.

 

  • Security: Security is the main criteria for the proposed system. Since illegal access may corrupt the database. So security has to be given in this project.


CHAPTER 2 REQUIREMENT SPECIFICATION

 

2.1 Software & Hardware Requirements

 

Hardware Requirements:

 

Processor    :   Pentium

Speed          :   233 MHz

Hard Disk   :  250 GB

RAM           : 512 MB

 

Software Requirements:

 

Operating System      :    Windows NT

Language                   :    JAVA (JSP, JDBC, J2EE)

Backend                     :    My SQL

 

The need of today’s software development is competence in a GUI based front-end tool, which can connect to Relational Database engines. This gives the programmer the opportunity to develop client server based commercial applications.

 

FRONT END

JSP programming tools are complete programming environments. It allows programmers to build a GUI program using the various on-screen controls such as buttons, text, menus, boxes etc. These controls are placed on a form and then the processing details related with each control are filled in.

In the Cabiness world, competitive strategies have become the order of the day to improve quality, cut costs and provide a high response customer service base. Most organizations today need to be market driven and do a lot of value addition to their products and services. This naturally calls for rational decision making, which requires information. Information Technology or IT provides that effective channel to support and implement this strategy. Client/Server is the technology that empowers the desktop, thus setting a trend for the way successful organizations will use technology in the next decade.

Introduction to JSP
Adding dynamic content via expressions

As we saw in the previous section, any HTML file can be turned into a JSP file by changing its extension to .jsp.  Of course, what makes JSP useful is the ability to embed Java.  Put the following text in a file with .jsp extension (let us call it hello.jsp), place it in your JSP directory, and view it in a browser.

<HTML><BODY>Hello!  The time is now <%= new java.util.Date() %></BODY></HTML>

Notice that each time you reload the page in the browser, it comes up with the current time.

The character sequences <%= and %> enclose Java expressions, which are evaluated at run time.

This is what makes it possible to use JSP to generate dyamic HTML pages that change in response to user actions or vary from user to user.

Exercise:  Write a JSP to output the values returned by System.getProperty for various system properties such as java.version, java.home, os.name, user.name, user.home, user.dir etc.

Scriptlets

We have already seen how to embed Java expressions in JSP pages by putting them between the <%= and %> character sequences.

But it is difficult to do much programming just by putting Java expressions inside HTML.

JSP also allows you to write blocks of Java code inside the JSP.  You do this by placing your Java code between <% and %> characters (just like expressions, but without the = sign at the start of the sequence.)

This block of code is known as a “scriptlet”.  By itself, a scriptlet doesn’t contribute any HTML (though it can, as we will see down below.)  A scriptlet contains Java code that is executed every time the JSP is invoked.

Here is a modified version of our JSP from previous section, adding in a scriptlet.

<HTML><BODY><%    // This is a scriptlet.  Notice that the “date”    // variable we declare here is available in the    // embedded expression later on.    System.out.println( “Evaluating date now” );    java.util.Date date = new java.util.Date();%>Hello!  The time is now <%= date %></BODY></HTML>

If you run the above example, you will notice the output from the “System.out.println” on the server log.  This is a convenient way to do simple debugging (some servers also have techniques of debugging the JSP in the IDE.  See your server’s documentation to see if it offers such a technique.)

By itself a scriptlet does not generate HTML.  If a scriptlet wants to generate HTML, it can use a variable called “out”.  This variable does not need to be declared.  It is already predefined for scriptlets, along with some other variables.  The following example shows how the scriptlet can generate HTML output.

<HTML><BODY><%    // This scriptlet declares and initializes “date”    System.out.println( “Evaluating date now” );    java.util.Date date = new java.util.Date();%>Hello!  The time is now<%    // This scriptlet generates HTML output    out.println( String.valueOf( date ));%></BODY></HTML>

Here, instead of using an expression, we are generating the HTML directly by printing to the “out” variable.  The “out” variable is of type javax.servlet.jsp.JspWriter.

Another very useful pre-defined variable is “request”.  It is of type javax.servlet.http.HttpServletRequest

A “request” in server-side processing refers to the transaction between a browser and the server.  When someone clicks or enters a URL, the browser sends a “request” to the server for that URL, and shows the data returned.  As a part of this “request”, various data is available, including the file the browser wants from the server, and if the request is coming from pressing a SUBMIT button, the information the user has entered in the form fields.

The JSP “request” variable is used to obtain information from the request as sent by the browser.  For instance, you can find out the name of the client’s host (if available, otherwise the IP address will be returned.)  Let us modify the code as shown:

<HTML><BODY><%    // This scriptlet declares and initializes “date”    System.out.println( “Evaluating date now” );    java.util.Date date = new java.util.Date();%>Hello!  The time is now<%    out.println( date );    out.println( “<BR>Your machine’s address is ” );    out.println( request.getRemoteHost());%></BODY></HTML>

A similar variable is “response”.  This can be used to affect the response being sent to the browser.  For instance, you can call response.sendRedirect( anotherUrl ); to send a response to the browser that it should load a different URL.  This response will actualy go all the way to the browser.  The browser will then send a different request, to “anotherUrl”.  This is a little different from some other JSP mechanisms we will come across, for including another page or forwarding the browser to another page.

Exercise:  Write a JSP to output the entire line, “Hello!  The time is now …” but use a scriptlet for the complete string, including the HTML tags.

Mixing Scriptlets and HTML

We have already seen how to use the “out” variable to generate HTML output from within a scriptlet.  For more complicated HTML, using the out variable all the time loses some of the advantages of JSP programming.  It is simpler to mix scriptlets and HTML.

Suppose you have to generate a table in HTML.  This is a common operation, and you may want to generate a table from a SQL table, or from the lines of a file.  But to keep our example simple, we will generate a table containing the numbers from 1 to N.  Not very useful, but it will show you the technique.

Here is the JSP fragment to do it:

<TABLE BORDER=2><%    for ( int i = 0; i < n; i++ ) {        %>        <TR>        <TD>Number</TD>        <TD><%= i+1 %></TD>        </TR>        <%    }%></TABLE>

You would have to supply an int variable “n” before it will work, and then it will output a simple table with “n” rows.

The important things to notice are how the %> and <% characters appear in the middle of the “for” loop, to let you drop back into HTML and then to come back to the scriptlet.

The concepts are simple here — as you can see, you can drop out of the scriptlets, write normal HTML, and get back into the scriptlet.  Any control expressions such as a “while” or a “for” loop or an “if” expression will control the HTML also.  If the HTML is inside a loop, it will be emitted once for each iteration of the loop.

Another example of mixing scriptlets and HTML is shown below — here it is assumed that there is a boolean variable named “hello” available.  If you set it to true, you will see one output, if you set it to false, you will see another output.

<%    if ( hello ) {        %>        <P>Hello, world        <%    } else {        %>        <P>Goodbye, world        <%    }%>

It is a little difficult to keep track of all open braces and scriptlet start and ends, but with a little practice and some good formatting discipline, you will acquire competence in doing it.

Exercise:  Make the above examples work.  Write a JSP to output all the values returned by System.getProperties with “<BR>” embedded after each property name and value.  Do not output the “<BR>” using the “out” variable.

JSP Directives

We have been fully qualifying the java.util.Date in the examples in the previous sections.  Perhaps you wondered why we don’t just import java.util.*;

It is possible to use “import” statements in JSPs, but the syntax is a little different from normal Java.  Try the following example:

<%@ page import=”java.util.*” %><HTML><BODY><%    System.out.println( “Evaluating date now” );    Date date = new Date();%>Hello!  The time is now <%= date %></BODY></HTML>

The first line in the above example is called a “directive”.  A JSP “directive” starts with <%@ characters.

This one is a “page directive”.  The page directive can contain the list of all imported packages.  To import more than one item, separate the package names by commas, e.g.

<%@ page import=”java.util.*,java.text.*” %>

There are a number of JSP directives, besides the page directive.  Besides the page directives, the other most useful directives are include and taglib.  We will be covering taglib separately.

The include directive is used to physically include the contents of another file.  The included file can be HTML or JSP or anything else — the result is as if the original JSP file actually contained the included text.  To see this directive in action, create a new JSP

<HTML><BODY>Going to include hello.jsp…<BR><%@ include file=”hello.jsp” %></BODY></HTML>

View this JSP in your browser, and you will see your original hello.jsp get included in the new JSP.

Exercise:  Modify all your earlier exercises to import the java.util packages.

JSP Declarations

The JSP you write turns into a class definition.  All the scriptlets you write are placed inside a single method of this class.

You can also add variable and method declarations to this class.  You can then use these variables and methods from your scriptlets and expressions.

To add a declaration, you must use the <%! and %> sequences to enclose your declarations, as shown below.

<%@ page import=”java.util.*” %><HTML><BODY><%!    Date theDate = new Date();    Date getDate()    {        System.out.println( “In getDate() method” );        return theDate;    }%>Hello!  The time is now <%= getDate() %></BODY></HTML>

The example has been created a little contrived, to show variable and method declarations.

Here we are declaring a Date variable theDate, and the method getDate.  Both of these are available now in our scriptlets and expressions.

But this example no longer works!  The date will be the same, no matter how often you reload the page.  This is because these are declarations, and will only be evaluated once when the page is loaded!  (Just as if you were creating a class and had variable initialization declared in it.)

Exercise:  Modify the above example to add another function computeDate which re-initializes theDate.  Add a scriptlet that calls computeDate each time.

Note: Now that you know how to do this — it is in general not a good idea to use variables as shown here. The JSP usually will run as multiple threads of one single instance. Different threads would interfere with variable access, because it will be the same variable for all of them. If you do have to use variables in JSP, you should use synchronized access, but that hurts the performance. In general, any data you need should go either in the session object or the request object (these are introduced a little later) if passing data between different JSP pages. Variables you declare inside scriptlets are fine, e.g. <% int i = 45; %> because these are declared inside the local scope and are not shared.


My SQL

  • Introduction
  • My SQL is a fast, easy-to-use RDBMS being used for many small and big businesses. My SQL is developed, marketed, and supported by My SQL AB, which is a Swedish company. My SQL is becoming so popular because of many good reasons:
  • MySQL is released under an open-source license. So you have nothing to pay to use it.
  • MySQL is a very powerful program in its own right. It handles a large subset of the functionality of the most expensive and powerful database packages.
  • MySQL uses a standard form of the well-known SQL data language.
  • MySQL works on many operating systems and with many languages including PHP, PERL, C, C++, JAVA, etc.
  • MySQL works very quickly and works well even with large data sets.
  • MySQL is very friendly to PHP, the most appreciated language for web development.
  • MySQL supports large databases, up to 50 million rows or more in a table. The default file size limit for a table is 4GB, but you can increase this (if your operating system can handle it) to a theoretical limit of 8 million terabytes (TB).
  • MySQL is customizable. The open-source GPL license allows programmers to modify the MySQL software to fit their own specific environments.

What is SQL Used for:

1. Scalability and Flexibility

The MySQL database server provides the ultimate in scalability, sporting the capacity to handle deeply embedded applications with a footprint of only 1MB to running massive data warehouses holding terabytes of information. Platform flexibility is a stalwart feature of MySQL with all flavors of Linux, UNIX, and Windows being supported. And, of course, the open source nature of MySQL allows complete customization for those wanting to add unique requirements to the database server.

2. High Performance

A unique storage-engine architecture allows database professionals to configure the MySQL database server specifically for particular applications, with the end result being amazing performance results. Whether the intended application is a high-speed transactional processing system or a high-volume web site that services a billion queries a day, MySQL can meet the most demanding performance expectations of any system. With high-speed load utilities, distinctive memory caches, full text indexes, and other performance-enhancing mechanisms, MySQL offers all the right ammunition for today’s critical business systems.

3. High Availability

Rock-solid reliability and constant availability are hallmarks of MySQL, with customers relying on MySQL to guarantee around-the-clock uptime. MySQL offers a variety of high-availability options from high-speed master/slave replication configurations, to specialized Cluster servers offering instant failover, to third party vendors offering unique high-availability solutions for the MySQL database server.

4. Robust Transactional Support

MySQL offers one of the most powerful transactional database engines on the market. Features include complete ACID (atomic, consistent, isolated, durable) transaction support, unlimited row-level locking, distributed transaction capability, and multi-version transaction support where readers never block writers and vice-versa. Full data integrity is also assured through server-enforced referential integrity, specialized transaction isolation levels, and instant deadlock detection.

5. Web and Data Warehouse Strengths

MySQL is the de-facto standard for high-traffic web sites because of its high-performance query engine, tremendously fast data insert capability, and strong support for specialized web functions like fast full text searches. These same strengths also apply to data warehousing environments where MySQL scales up into the terabyte range for either single servers or scale-out architectures. Other features like main memory tables, B-tree and hash indexes, and compressed archive tables that reduce storage requirements by up to eighty-percent make MySQL a strong standout for both web and business intelligence applications.

6. Strong Data Protection

Because guarding the data assets of corporations is the number one job of database professionals, MySQL offers exceptional security features that ensure absolute data protection. In terms of database authentication, MySQL provides powerful mechanisms for ensuring only authorized users have entry to the database server, with the ability to block users down to the client machine level being possible. SSH and SSL support are also provided to ensure safe and secure connections. A granular object privilege framework is present so that users only see the data they should, and powerful data encryption and decryption functions ensure that sensitive data is protected from unauthorized viewing. Finally, backup and recovery utilities provided through MySQL and third party software vendors allow for complete logical and physical backup as well as full and point-in-time recovery.

The design document that we will develop during this phase is the blueprint of the software.  It describes how the solution to the customer problem is to be built. Since solution to complex problems isn’t usually found in the first try, iterations are most likely required.  This is true for software design as well.  For this reason, any design strategy, design method, or design language must be flexible and must easily accommodate changes due to iterations in the design. Any technique or design needs to support and guide the partitioning process in such a way that the resulting sub-problems are as independent as possible from each other and can be combined easily for the solution to the overall problem. Sub-problem independence and easy combination of their solutions reduces the complexity of the problem. This is the objective of the partitioning process. Partitioning or decomposition during design involves three types of decisions: –

Define the boundaries along which to break;

Determine into how money pieces to break; and

Identify the proper level of detail when design should stop and implementation should start.

Basic design principles that enable the software engineer to navigate the design process suggest a set of principles for software design, which have been adapted and extended in the following list:

Free from the suffer from “tunnel vision.” A good designer should consider alternative approaches, judging each based on the requirements of the problem, the resources available to do the job.

The design should be traceable to the analysis model. Because a single element of the design model often traces to multiple requirements, it is necessary to have a means for tracking how requirements have been satisfied by the design model.

Physical Design

The design phase focuses on the detailed implementation of the system recommended in the feasibility. Emphasis is on translating performance specifications into design specifications. The design phase is a transition from user-oriented document to a programmer-oriented document.

 

  1. Design Methodology:

Design Methodology is a way to transform the “art” of system analysis and design into an “engineering – type” discipline. It explains the relationship amongst various modules and programs with in the system. It standardizes the approach to analysis and design, simplifies design by segmentation, improves documentation and subsequent maintenance and enhancements.

The following structured diagram can appropriately represent the relationship between various modules.

 

  1. Design Overview:

In analyzing  the present  system a great deal of information was collected during  the  investigation and feasibility phases through list of problems and requirements, interview reports, questionnaires, onsite observations, manuals and determining potential solutions.

It is important to record this information in an unambiguous, concise manner which will be clear and accessible to  others, and  which  can be used by other  analysts  and designers  involved in developing the system. Structured techniques help us to record the information in this way, using diagrams and minimum amount of the text.

Structured  analysis  is a  set of  techniques  and graphical tools  that  allow  the  analyst  to  develop  a new kind of  system  specification  that  are  easily understandable to the user. The traditional  approach of  organizing data  through flowcharts support  future  developments and simplify communication with the user  but  focus  on  the  cost/benefit and feasibility analysis, project  management,  hardware and software selection, and personal considerations. In contrast, structured analysis considers new goals and structured tools for analysis, which provide the basis for design and implementation.

 

  1. Process Modeling:

System design goes through two phases of development: logical and physical. Logical implementation represented by Data Flow Diagram shows the logical flow of a system and defines the boundaries of the system it describes the input (source), outputs (destinations), data bases (data stores), and procedures (data flows) – all in the format that meets the user’s requirements. The logical implementation of the whole project can be represented as under through Data Flow Diagrams (DFD).

 

2.2 Data Flow Diagram

Data flow diagrams are the most commonly   used way of documenting the processing of the candidate system. As their name suggest they are a pictorial way of representing the flow of data into, around, and out of the system. They are easily understandable and are less prone to misinterpretation than textual description. A complete set of DFDs provides a compact top – down representation of the system, which makes it easier for the user and the analyst to envisage the system as a whole.

DFDs are constructed using four major components:

  • External entities – represents the sources of the data that enter the system or the recipients of the system that leave the system.

for example – passenger is the usual receiver of information and supplier of data during form filling.

  • Data stores – represent the stores of the data within the system example: computer files, databases or in the manual system files, etc. data stores can not be linked directly by data flows either to each other or to external entities without an intervening process to transform them.
  • Processes – represent activities in which data is manipulated by being stored or retrieved or transformed in some way.

Process names are generally unambiguous and convey as much meaning as possible without being too long. Example: verify data, acquired time schedule etc.

Data flows – represents the movement of data between other components.

Data flow diagrams are used to describe how the system transforms information.  They define how information is processed and stored and identify how the information flows through the processes.

  1. Bubbles: – A circle or bubble represents that transform data from once form to another by performing some tasks with the data.
  2. Data store:-A data store is place where data is held temporarily from one transaction to next or is stored permanently.
  • External Entity:-Which defines a source or destination of system data also called an external entity Based on the working process of the proposed system Data Flow Diagram (DFD) is a model, Which gives the insight into the information domain and functional domain at the same time can be drown using OMT symbols, DFD is refined into different levels. The more refined DFD is details of the system are incorporated. In the process of creating a DFD, we decompose the system into different functional subsystems. The DFD refinement results in a corresponding refinement of data.

 

2.3 CONTEXT LEVEL DFD  Diagrams

 

0 level Data Flow Diagram:

The data flow diagram is pictorial representation of the flow of data in a system. It identifies data flow data stores and functions and sources.

Dataflow diagram show The flow of data and flow of logics involved.

DFD  show the passage of data through the system. It focuses on the processes that transform incoming data flows into outgoing data flows

Passenger Data Flow Diagram:

Below data flow diagram is used to show how user of this system interact with this system. Firstly passenger take a look for available route time table, after checking time table passenger go for checking availability of seats for required route, after this passenger go for reservation for seats on a specific route. If passenger request is right than seat will be reserved and passenger details would send to passenger data base and than to Ticket data base after that ticket status report will be generated, if request is not valid than passenger will be send back previous page.

Figures-1 Passenger

Cab

 

 


Employees Data Flow Diagram:

Cab DB

 Figures-2 Employees

 

This above diagram is used to show data flow from employees to their output results. In this firstly employees has to login to the system by using his unique ID number if this number is valid than employee can access his time sheet and his work status report which information is provided by the stored data base of the system.

 

These above diagram shows flow of input data and than process data by system and produce output by processing input data. Above two diagrams show student and faculty member activity between the system.

 

 


ER-Diagram

 

Entity relationship diagram is a high-level conceptual model. This diagram describes data as a collection of entities, relationships and attributes.

 

ER-Diagrams are composed of:

  • Rectangles representing entity sets.
  • Ellipses representing attributes.
  • Diamonds representing relationship sets.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.4 E-R Diagram for ONLINE CAB SCHEDULING SYSTEM:

CAB

Figures-3 ER Diagram

 

In above diagram we represent Route, Employees, Cab, Ticket and Passenger as entities and their relationship by using diamond shape, numbers associated with these entities represent their relationship status if they are in many to many, one to many or one to one relationship with each other. In ER-Diagram we represent attributes which are in ellipse form, these are used to represent character sticks hold by entities. Above diagram we have Cab_ID, Cab_no, A_seat, R_seat, T_seat and Colour in ellipse form these are attributes of Cab entity and use for specifying character sticks of Cab. All other attributes associated with entities are used for representing specification of that entity.

 

In our ER-Diagram we have follow it relationship between Route and Employees, Employees and Cab has Operate relationship this relationship contain many to many association, Passenger and Ticket have Book Ticket relationship and contain one to many association. Route and Cab have many to many relationship with ‘follow it’  relation name. Such kind of other relationships are there and this system follow all the such relationships while creating data base over this system.

 

This all attributes, entities and their relationships are formed as ER-Diagram.

 

Feasibility Study

Whatever we think need not be feasible .It is wise to think about the feasibility of any problem we undertake. Feasibility is the study of impact, which happens in the organization by the development of a system. The impact can be either positive or negative. When the positives nominate the negatives, then the system is considered feasible. Here the feasibility study can be performed in two ways such as technical feasibility and Economical Feasibility.

 

Technical Feasibility:

We can strongly says that it is technically feasible, since there will not be much difficulty in getting required resources for the development and maintaining the system as well. All the resources needed for the development of the software as well as the maintenance of the same is available in the organization here we are utilizing the resources which are available already.

 

 

Economical Feasibility

Development of this application is highly economically feasible .The organization needed not spend much more for the development of the system already available. The only thing is to be done is making an environment for the development with an effective supervision. If we are doing so, we can attain the maximum usability of the corresponding resources .Even after the development, the organization will not be in a condition to invest more in the organization .There fore, the system is economically feasible.

 

INPUT DESIGN

Input design is the process of converting user-oriented input to a computer based format. Input design is a part of overall system design, which requires very careful attention.

In this system main input needed is as following:

  1. Passengers Request for Reservation.
  2. Passengers Request for Route Time table.
  3. Ticket ID number for knowing Ticket Status Report.
  4. Employees ID for accessing Employees Status Report.

 

The goal of designing input data is to make enter easy, logical and free from errors as possible. The format in which the data fields are entered should be given in the input form .Here data entry is online it makes use of processor that accepts commands and data from the operator through a key board. The input required is analyzed by the processor. It is then accepted or rejected.

 


Input and Output Design Diagram:

ONLINE CAB SCHEDULING SYSTEM

Output Design

 

Outputs from computer systems are required primarily to communicate the results of processing to users. They are also used to provide a permanent copy of these result for latter consultation .Computer output is the most important and direct source of information to the users. Designing computer output should proceed in an organized well throughout the manner. The right output must be available for the people who find the system easy to use.

Main Outputs for this system are as following:

  1. Ticket Status report.
  2. Employee Work Status report
  3. Employee Work Time table
  4. Route Time table
  5. Available Seat report

 

The outputs have been defined during the logical design stage.

CHAPTER 3 SYSTEM DESIGN

3.1 Use Case Diagrams

Use case diagram describes the interaction between the system and users. This shows which actor performs which action so that it is a graphical representation of actor and their associative actions.

 

 

Above use case diagram specifies who is going to do which work for the system, so that it specifies actor and action diagram.

 

Figures-4 Use Case Diagrams

 

 

 

Sequence Diagrams

 

Sequence Diagram is used to show object interaction in a time-based sequence of what happened first, what happened next and so on. Below diagram show how a user intract with system and one by one what happened in the system.

Employees Login :

 

Figures-5 Sequence Diagrams

 


Reserve Ticket:

 

 

 

 

 

 

Figures-6 Reserve Ticket

 

 

 

 

 

 

 

 

 

 

 

 

 

Work Status Report for Employees:

:CabDB

 

Figures-7 Work Status Report for Employees


Collaboration Diagrams

 

A Collaboration diagram is an interaction diagram that shows the order of messages that implement an operation or a transaction. These below diagrams show objects, their links, and their messages. Sequence diagrams and collaboration diagrams are alternate representations of an interaction.

 

Ticket Status Report:

 

 

11: Return Cab Details
CabDB

Figures-8 Ticket Status Report

 

Cancelation of Ticket:

Cab DB

 

Figures-9 Cancelation of Ticket

 


Time Sheet for Employees:

Cab DB
 
 

Figures-10 Time Sheet for Employees

Data Dictionary

Data dictionary is maintained for holding required information regarding specific object, topic or any kind of real world entity. A Data Dictionary a repository of the elements in a system. As the name suggests, these elements center around data and the way they are structured to meet user requirements and organization needs. In a data dictionary we will find a list of all elements composing the data flowing through a system.

 

 

3.2 Data Modeling

The general theme behind a database is to handle information as an integrated whole. A database is a collection of interrelated data stored with minimum redundancy to serve many users quickly and effectively. After designing input and output, the analyst must concentrate on database design or how data should be organized around user requirements. The general objective is to make information access, easy quick, inexpensive and flexible for other users.

During database design the following objectives are concerned:-

 

  • Controlled Redundancy
  • Data independence
  • Accurate and integrating
  • More information at low cost
  • Recovery from failure
  • Privacy and security

 

1.Table Name: Employees

Column Name Description Data Type(Size) Constraint
Name Employee name   Varchar2(15) Not null
Address Employee address Varchar2(15) Not null
Contact Employee contact no Number Not null
Design Designation of employee Varchar2(15) Not null
Emp_ID Employee ID number Varchar2(15) Primary key
Join_D Employee work join date Varchar2(15) Not null
Salary Employee salary Number Not null

 

2.Table Name: Route

Column Name Description Data Type(Size) Constraint
Route_ID Route ID number Varchar2(15) Primary key
Cab_Code Cab Code for route Varchar2(15) Not null
T_time Total time taken by this route Varchar2(15) Not null
Start_T Route start time Varchar2(15) Not null
Reach_T Reach time for route Varchar2(15) Not null
T_cost Total cost for this route Number Not null

 

3.Table Name: Cab

Column Name Description Data Type(Size) Constraint
Cab_ID Cab Id number   Varchar2(15) Primary key
Cab _no Cab number Varchar2(15) Not null
          A_seat Available seats Number Not null
R_seat Reserve seats Number Not null
T_seat Total no of seats Number Not null
Colour Cab color Varchar2(15) Not null

 

4.Table Name: Ticket

Column Name Description Data Type(Size) Constraint
Name Passenger name   Varchar2(15) Not null
No_seat Book Seat number Varchar2(15) Not null
T_ID Ticket ID no Number Primary key
Route_ID Route Id no Varchar2(15) Reference(route)
T_cost Ticket total cost Number Not null
Date Ticket for date Varchar2(15) Not null

 

5.Table Name: Passenger

Column Name Description Data Type(Size) Constraint
Name Passenger name   Varchar2(15) Not null
Address Passenger address Varchar2(15) Not null
Contact Passenger contact no Number Not null
T_ID Reserved ticket ID Varchar2(15) Not null
Sex Passenger Sex Varchar2(15) Not null

 


6.Table Name: Work Status

Column Name Description Data Type(Size) Constraint
Emp_ID Employee ID no   Varchar2(15) Reference(Employee)
S_date Start date from Varchar2(15) Not null
E_date Schedule end date Varchar2(15) Not null
Cab_ID Cab ID no Varchar2(15) Reference(Cab)
Start_T Route start time Varchar2(15) Not null
Reach_T Route reach time Varchar2(15) Not null
Route_ID Route id no Varchar2(15) Reference(Route)

 

Above table shows how data base maintained in our ONLINE CAB SCHEDULING SYSTEM. All above tables are interrelated with each other so that we can retrieve associative data from tables. These tables are maintained in back end of system so that only authorized persons work on this data base.

 

3.3 Modules

“A modularization consists of well-defined manageable units with well defined interfaces among the units”

Desirable property of modular system include

  1. Each module is a well defined sub-system.
  2. Single, well – defined purpose of each module.
  • Modules can be separately compiled and stored in a library.
  1. Modules can use other module.
  2. Modules should be easier to use than to build.
  3. Modules should be simpler from outside then from inside.

 

Design constraints to be observed during modularization are:-

Coupling: “Coupling is a measure of the degree of interdependence between software modules”.

Two modules with high coupling are strongly inter connected and thus dependent on each other.

Two modules with low coupling are not dependent on one another.

Cohesion: “Cohesion is a measure of the degree to which the elements of a module are functionally related”.

A strongly cohesive module implements functions, which is related to one feature of the solution and requires little interaction with other module.

 

No. Of Modules of Project:

A modularization consists of well-defined manageable units with well defined interfaces among the units.

Module description

There are Four Modules in this project, these MODULES are:-

  1. LOGIN MASTER
  2. TICKET RESERVATION MODULE
  3. TICKET CANCELLATION
  4. PASSENGERS REQUEST FOR RESERVATION.
  5. PASSENGERS REQUEST FOR ROUTE TIME TABLE.
  6. TICKET ID NUMBER FOR KNOWING TICKET STATUS REPORT.
  7. EMPLOYEES ID FOR ACCESSING EMPLOYEES STATUS REPORT.
  8. REGISTRATION MASTER
  9. ROUTES AVAILABLE
  10. LOGIN MASTER

Important sub module

  1. User-id and password update master
  2. User-id checker
  3. Login status manager
  4. TICKET RESERVATION MODULE

Important sub module

  1. View Ticket Booking Details
  2. Timing
  3. Ticket cancellation facility
  4. REGISTRATION MASTER

Important sub module

  1. User first register himself
  2. Then he can see user menu form
  3. User registration form is available
  4. ROUTES MASTER

Important sub module

  1. View Route details
  2. Add Route details
  3. Cabes available at a particular route.
  4. EMPLOYEE DETAILS

Important sub module

  1. View Drivers and Conductor’s Timings details
  2. Add Employee details
  3. Drivers available at a particular route for a particular No..

Process Logic of each module

 Project Plan, Design & Approach

Phase 1: Requirement Gathering and Analysis

Gather system requirements and prepare a System Requirement Specification document.

After collect the information it is analyzed that the available resources can fulfill all the requirements. And it also be examined that what resource will be used.

Phase 2: System Design

Make a detailed analysis of the system and prepare a System Design Document on the basis of SRS.

Phase 3: Prepare UTC & STC for testing the software

Prepare Unit Test Cases document. This document will be used to verify whether the functional requirements of the system have been met.

Phase 4: Develop the software

Develop the planned system.

Phase 5: Test the software using the prepared UTC/STC and Rework if needed

Run your software programs using the respective UTC to verify & test the software.

Phase 6: Demonstrate the S/W to users & Implement it

Scheduling  

CHAPTER 4 IMPLEMENTATION

COST ESTIMATION OF THE PROJECT

Cost in a project is due to the requirements for software, hardware, and human resources. Hardware resources are computer time, terminal time and memory required for the project. Software resources include the tools and compilers needed during development. The bulk of cost of software development is due to human resources needed. Cost estimates are determined in terms of person-months (PM).

Total No. Of Persons Involved In This Project:

  1. Administrator

 

  1. Senior Programmer

 

  1. Junior Programmers

 

  1. On line Users.

Since this Project will complete in 4 months

 

COST ESTIMATE: (Salary of Project Manager + Salary of Senior Programmer + 2 * Salary of  Junior Programmer) * 2

GANTT & PERT CHART

GANT CHART

Gantt charts mainly used to allocate resources to activities. The resources allocated to activities include staff, hardware, and software. Gantt charts (named after its developer Henry Gantt) are useful for resource planning. A Gantt chart is special type of bar chart where each bar represents an activity. The bars are drawn along a timeline. The length of each bar is proportional to the duration of the time planned for the corresponding activity.

Gantt chart is a project scheduling technique. Progress can be represented easily in a Gantt chart, by coloring each milestone when completed. The project will start in the month of March and end after 4 months at the end of June.

 

Pert Chart

 PERT (Project Evaluation and Review Technique) charts consist of a network of boxes and arrows. The boxes represent activities and the arrows represent task dependencies.

PERT chart represents the statistical variations in the project estimates assuming a normal distribution. Thus in a PERT chart instead of making a single estimate for each task, pessimistic, likely, and optimistic estimates are also made. The boxes of PERT charts are usually annotated with the pessimistic, likely, and optimistic estimates for every task. Since all possible completion times between the minimum and maximum durations for every task have to be considered, there are many critical paths, depending on the permutations of the estimates for each task. This makes critical path analysis in PERT charts very complex. A critical path in a PERT chart is shown by using thicker arrows. The PERT chart representation of the companies problem of Figure A. is shown in Figure B.

 

Task ES EF LS LF ST
Specification Part 0 15 0 15 0
Design Database Part 15 60 15 60 0
Design GUI Part 15 45 90 120 75
Code Database Part 60 165 60 165 0
Code GUI Part 45 90 120 165 75
Integrate and Test 165 285 165 285 0
Write User Manual 15 75 225 285 210

 

 

Figure  A : Different Tasks for the ONLINE CAB SCHEDULING SYSTEM are shown in above table.

FIGURE B :PERT chart representation of the ONLINE CAB SCHEDULING SYSTEM.

PERT charts are a more sophisticated form of activity chart. In activity diagrams only the estimated task durations are represented. Since the actual durations might vary from the estimated durations, the utility of the activity diagrams is limited.

 

SECURITY AND VALIDATION CHECKS

Software’s Vulnerability to Attack

Software development is not yet a science or a rigorous discipline, and the development process by and large is not controlled to minimize the vulnerabilities that attackers exploit.

The security of software is threatened at various points throughout its life cycle, both by inadvertent and intentional choices and actions taken by “insiders”—individuals closely affiliated with the organization that is producing, deploying, operating, or maintaining the software, and thus trusted by that organization—and by “outsiders” who have no affiliation with the organization. The software’s security can be threatened

  • during its development: A developer may corrupt the softwareintentionally or unintentionallyin ways that will compromise the software’s dependability and trustworthiness when it is operational.
  • during its deployment (distribution and installation): If those responsible for distributing the software fail to tamperproof the software before shipping or uploading, or transmit it over easily intercepted communications channels, they leave the software vulnerable to intentional or unintentional corruption. Similarly, if the software’s installer fails to “lock down” the host platform, or configures the software insecurely, the software is left vulnerable to access by attackers.
  • during its operation: Once COTS and open source software has gone operational, vulnerabilities may be discovered and publicized; unless security patches and updates are applied and newer supported versions (from which the root causes of vulnerabilities have been eliminated) are adopted, such software will become increasingly vulnerable. Non-commercial software and open source software (OSS) may also be vulnerable, especially as it may manifest untrustworthy behaviors over time due to changes in its environment that stress the software in ways that were not anticipated and simulated during its testing.
  • during its sustainment: If those responsible for addressing discovered vulnerabilities in released software fail to issue patches or updates in a timely manner, or fail to seek out and eliminate the root causes of the vulnerabilities to prevent their perpetuation in future releases of the software, the software will become increasingly vulnerable to threats over time. Also, the software’s maintainer may prove to be a malicious insider, and may embed malicious code, exploitable flaws, etc., in updated versions of the code.

The Challenge of Building Secure Software

  1. Dependability: Dependable software executes predictably and operates correctly under all conditions, including hostile conditions, including when the software comes under attack or runs on a malicious host.
  2. Trustworthiness: Trustworthy software contains few if any vulnerabilities or weaknesses that can be intentionally exploited to subvert or sabotage the software’s dependability. In addition, to be considered trustworthy, the software must contain no malicious logic that causes it to behave in a malicious manner.
  3. Survivability (also referred to as “Resilience”): Survivable—or resilient—software is software that is resilient enough to (1) either resist (i.e., protect itself against) or tolerate (i.e., continue operating dependably in spite of) most known attacks plus as many novel attacks as possible, and (2) recover as quickly as possible, and with as little damage as possible, from those attacks that it can neither resist nor tolerate.

Software Assurance

The main objective of software assurance is to ensure that the processes, procedures, and products used to produce and sustain the software conform to all requirements and standards specified to govern those processes, procedures, and products. Software security and secure software are often discussed in the context of software assurance. Software assurance in its broader sense refers to the assurance of any required property of software.

An increasingly agreed-upon approach for assuring the security of software is the software security assurance case, which is intended to provide justifiable confidence that the software under consideration (1) is free of vulnerabilities; (2) functions in the “intended manner,” and this “intended manner” does not compromise the security or any other required properties of the software, its environment, or the information it handles; and (3) can be trusted to continue operating dependably under all anticipated circumstances, including anomalous and hostile environmental and utilization circumstances—which means that those who build the software need to anticipate such circumstances and design and implement the software to be able to handle them gracefully. Such circumstances include

  • the presence of unintentional faults in the software and its environment
  • the exposure of the operational software to accidental events that threaten its security
  • the exposure of the software to intentional choices or actions that threaten its security during its development, deployment, operation, or sustainment

Software is more likely to be assuredly secure when security is a key factor in the following aspects of its development and deployment:

  • development principles and practices: The practices used to develop the software and the principles that governed its development are expressly intended to encourage and support the consideration and evaluation of security in every phase of the software’s development life cycle. Some secure development principles and practices for software are suggested later in this article.
  • development tools: The programming language(s), libraries, and development tools used to design and implement the software are evaluated and selected for their ability to avoid security vulnerabilities and to support secure development practices and principles.
  • testing practices and tools: The software is expressly tested to verify its security, using tools that assist in such testing.
  • acquired components: Commercial off-the-shelf (COTS) and OSS components are evaluated to determine whether they contain vulnerabilities, and if so whether the vulnerabilities can be remediate through integration to minimize the risk they pose to the software system.
  • deployment configuration: The installation configuration of the software minimizes the exposure of any residual vulnerabilities it contains.
  • execution environment: Protections are provided by the execution environment that can be leveraged to protect the higher level software that operates in that environment.

practitioner knowledge: The software’s analysts, designers, developers, testers, and maintainers are provided with the necessary information (e.g., through training and education) to give them sufficient security awareness and knowledge to understand, appreciate, and effectively adopt the principles and practices that will enable them


CHAPTER 5 RESULTS

CODE EFFICIENCY

Reviewing of Code efficiency for a module is carried out after the module is successfully compiled and all the syntax errors eliminated. Code efficiency review is extremely cost-effective strategies for reduction in coding errors in order to produce high quality code. Normally, two types of efficiency are carried out on the code of a module –  code optimization and code inspection. The procedure and final objective of these two efficiency techniques are very different as discussed below.

 

OPTIMIZATION OF CODE

Code optimization is an informal code analysis technique. In this technique, after a module has been coded, it is successfully compiled and all syntax errors are eliminated. Some members of the development team are given the code a few days before the optimization meeting to read and understand the code. Each member selects some test cases and simulates execution of the code by hand (i.e. trace execution through each statement and function execution). The main objectives of the optimization are to discover the algorithmic and logical errors in the code. The members note down their findings to discuss these in a optimization meeting where the coder of the module is also present.

Even though a code optimization is an informal analysis technique, several guidelines have evolved over the years for making this naïve technique more effective and useful. Of course, these guidelines are based on personal experience, common sense, and several subjective factors. Therefore are based on personal experience, common sense, and several subjective factors. Therefore, guidelines should be considered as examples rather than as rules to be applied dogmatically. Some of these guidelines are the following:

The team performing the code optimization should not be either too big or too small. Ideally, it should consist of three to seven members.

CHAPTER 6 LIMITATIONS AND FUTURE APPLICATION OF THE PROJECT

SCOPE OF FUTURE APPLICATION

 

It is directly dependent on the lay stone of the project that is we will have to design a system which when the time passes having a better system initially should not become a joke later. The scope of my software is based on the idea of connecting people online The next increment may scope changes suggested by a review of the preceding increment, but once the second increment commences, scope is again frozen temporarily. This approach enable the web application team to work without having to accommodate a continual stream of change but still recognizes the continuous evolution characteristics of most web application.

Besides that, the following basic quality in the software always safeguards the future scope of the software.

Correctness:-

When a program functions correctly according to their specification that it show the quality of correctness to the definition of correctness the specification of the system that determine unambiguous. Whether a program meets the specification

 

Reusability:

Reusability is possible as and when we required in this application. We can update its next version. Reusable software reduces design, coding and testing cost by amortizing effort over several designs. Reducing the amount of code also simplified understanding, which increases the likelihood that the code is correct. We followed up both types of reusability as sharing of newly written code within a project and reuse of previously written code on new projects.

 

Extensibility:

This application software is extended in ways that its original developers may not expect. The following principles enhance extensibility like hiding data structures, avoiding traversing multiple links or methods, avoiding case statements on object type and distinguishing public and private operations.

 

RoCabtness:

Its method is roCabt and it will not fail even if it receives improper parameters. There are some alert pages and messages are flashed out with some dialogue boxes to warn and inform the end user about the current processes going on. It also interacts with the user by alerting them about invalid parameters.

Understandability:

A method is understandable if anyone other than the developer of the method can understand the code (as well as the developer after a time-span).

 

Cost-effectiveness:

Its cost is under the budget and developed within given time period. It is always desirable to aim for a system with a minimum cost subject to the condition that it must satisfy all the requirements.

 

LIMITATIONS

Limitations:

  • Use of crime reporting system may cause certain problems such as danger of hacking personal information such as name, address, account number etc.
  • Online crime reporting can be difficult to learn for a beginner.


CHAPTER 7 CONCLUSION

The Project “Online Cab Scheduling System” Is Based On Managing Cab Travelling On A System. This System Allow The Project Manager To Maintain All Needed Details Regarding Cab Management, Route Management, Passenger Management And Staff Member Management. The System Provides A Graphical User Interface, Which Helps All The Users To Know The Cab Routes And There Related Time Tables. This System Provides Work Status Report For Staff Members Who Work With This System.

This System Gives Advantage By Providing All Information On A Single Click. All Users Who Want To Know Information About Cab Travelling And Those Who Want To Reserve Ticket Are Facilitated By This System. If Any User Want To Know About His Ticket Status Than This Information Is Also Provided By This System.

It Also Generates Reports Which Give Detailed Information About The Ticket Status And Employee’s Status According To This System.

 

Future Enhancements For This Project Can Be Also Created Using Bar-Charts By Which The Performance Of Each Project Can Be Better Analyzed And By Using This Resource Allocation Can Be Done Efficiently.

 

CHAPTER 8 BIBLIOGRAPHY

1) http://www.java2s.com/

2) http://www.javaworld.com/javaworld/jw-01-1998/jw-01-bookreview.html

3) Database Programming with JDBC and Java by O’Reilly

4) Head First Java 2nd Edition

5) http://java.sun.com/javase/technologies/desktop/

 

 PROJECT REVIEW REPORT

  1. Name of the programme :
  2. Name of the Student :
  3. Roll Number :
  4. Guide Name :
  5. Guide Registration Number :
  6. Communication Address :
  7. Contact No :
  8. Title of the Project :
  9. Review Report :

 

 

SNo

 

Particulars

 

 

Progress

(Excellent/Good /

Satisfactory)

Additional

Remarks

 

 

                                                Review – 1
1 Literature Survey
2 Problem Design
3 Overall Performance
                                               Review – 2  
5          Implementation
6          Testing
7          Results
8          Overall Performance

Overall comments:

 

 

Signature of the Guide