Professional Documents
Culture Documents
Reservation PDF
Reservation PDF
PROJECT REPORT
ON
Award of degree of
(2008-10)
Submitted By:
BRIJ MOHAN DAMMANI
200852200
Submitted to:
Symbiosis Centre for Distance Learning,
Pune 411016, Maharashtra, India
A project like this takes quite a lot of time to do properly. As is often the case, this
project owes its existence and certainly its quality to a number of people, whose name
does not appear on the cover. Among them is one of the most extra ordinary
programmers it has been my pleasure to work with Mr. Ankur Kaushik, who did more
than just check the facts by offering thoughtful logic where needed to improve the project
as a whole.
We also thank to Mr. Sh. Hardayal Singh (H.O.D. -MCA Deptt. Engineering College
Bikaner) who deserves credit for helping me done the project and taking care of all the
details that most programmers really don’t think about. Errors and confusions are my
responsibility, but the quality of the project is to their credit and we can only thank them.
We are highly thankful and feel obliged to Milan Travels staff members for nice Co-
Operation and valuable suggestions in my project work.
We owe my obligation to my friends and other colleagues in the computer field for their
co-operation and support.
Chapter 1 Introduction
Chapter 10 Conclusion
In the tour detail there is information about bus, who has been taking
customers at their destination, it also contain the detailed information about the
customer, who has been taken from which bus and at what are the number of
members he or she is taking his/her journey.
This section also contain the details of booking time of the seat(s) or
collecting time of the tickets, this section also contain the booking date and the
name of agent which is optional, by which the customer can reserve the seats for
his journey
In Bus no category it contains the details of buses which are old/new. New
buses are added with the details with bus no, from city to the city, type of the bus,
rent of a single seat, if the bus has sleeper than the cost of sleeper, if the cabin has
the facility for sitting than the cost of cabin seats, tour timings of the new bus has
also been stored. How many buses are currently given and available in office?
In seats specification, it gives the list of given issued and currently available
seats and contain the information about seats like sleeper, cabin etc.
The main objective of this project is to provide the better work efficiency,
security, accuracy, reliability, feasibility. The error occurred could be reduced to
nil and working conditions can be improved.
Our project life cycle uses the waterfall model, also known as classic life cycle
model or linear sequential model.
System/Information
Engineering
Analysis Design Code Test
3. Design
4. Code Generation
5. Testing
Once code has been generated, program testing begins. The testing focuses on the
logical internals of the software, ensuring that all statement have been tested, and
on the functional externals; that is, conducting test to uncover errors and ensure
that define input will produce actual results that agree with required results.
6. Support
Before the project can begin, it becomes necessary to estimate the work to be done, the
resource that will be required, and the time that will elapse from start to finish. During
making such a plan we visited site many more times.
Can you show us (or describe) the environment in which the solution will
be used?
After first round of above asked questions. We revisited the site and asked many
more questions considering to final set of questions.
Are our questions relevant to the problem that you need to be solved?
Are we asking too many questions?
Should we be asking you anything else?
3.2.2 Feasibility
Software cost and effort estimation will never be an exact science. Too may
variables—human, technical, environmental, political—can affect the ultimate
cost of software and effort applied to develop it. However, software project
estimation can be transformed a black art to a series of systematic steps that
provide estimates with acceptable risk.
1. Delay estimation until late in the project (since, we can achieve 100%
accurate estimates after the project is complete!)
2. Base estimates on similar projects that have already been completed.
3. Use relatively simple decomposition techniques to generate project cost
and effort estimates.
4. Use one or more empirical models for software cost and effort
estimation.
Unfortunately, the first option, however attractive, is not practical. Cost estimates
must be provided ―Up front‖. However, we should recognize that the longer we
wait, the more we know, and the more we know, the less likely we are to make
serious errors in our estimates.
The second option can work reasonably well, if the current project is quite
similar to past efforts and other project influences (e.g., the customer, business
conditions, the SEE, deadlines) are equivalent. Unfortunately past experience has
not always been a good indicator of future results.
The remaining options are viable approaches the software project estimation.
Ideally, the techniques noted for each option be applied in tandem; each used as
cross check for the other. Decomposition techniques take a ―divide and conquer‖
approach to software project estimation. By decomposing a project into major
functions and related software engineering activities, cost and effort estimation can
be performed in the stepwise fashion.
D = f (vi)
Each of the viable software cost estimation options is only as good as the
historical data used to seed the estimate. If no historical data exist, costing rests on a
very shaky foundation.
Program evaluation and review technique (PERT) and critical path method
(CPM) are two project scheduling methods that can be applied to software
development. These techniques are driven by following information:
Estimates of Effort
A decomposition of the product function
The selection of the appropriate process model and task set
Decomposition of tasks
PERT chart for this application software is illustrated in figure 3.1. The critical
Path for this Project is Design, Code generation and Integration and testing.
Coding
June 10, 2010
Finish
Aug 15, 2010
Documentation and
Report
Aug 1, 2010
Over the past two decades, a large number of analysis modeling methods
have been developed. Investigators have identified analysis problems and their
caused and have developed a variety of modeling notations and corresponding sets
of heuristics to overcome them. Each analysis method has a unique point of view.
However, all analysis methods are related by a set of operational principles:
considered.
Information content represents the individual data and control objects that
constitute some larger collection of information transformed by the software. For
example, the data object, Status declare is a composite of a number of important
pieces of data: the aircraft’s name, the aircraft’s model, ground run, no of hour
flying and so forth. Therefore, the content of Status declares is defined by the
attributes that are needed to create it. Similarly, the content of a control object
called System status might be defined by a string of bits. Each bit represents a
separate item of information that indicates whether or not a particular device is on-
or off-line.
Information flow represents the manner in which date and control change as
each moves through a system. Referring to figure 6.1, input objects are
transformed to intermediate information (data and / or control), which is further
transformed to output. Along this transformation path, additional information may
be introduced from an existing date store ( e.g., a disk file or memory buffer). The
transformations applied to the date are functions or sub functions that a program
must perform. Data and control that move between two transformations define the
interface for each function.
Data/Control
Store
The second and third operational analysis principles require that we build models
of function and behavior.
Input
Processing
And output.
The functional model begins with a single context level model (i.e., the name of
the software to be built). Over a series of iterations, more and more functional
detail is gathered, until a through delineation of all system functionality is
represented.
Problems are often too large and complex to be understood as a whole, for
this reason, se tend to partition (divide) such problems into parts that can be easily
under stood and establish interfaces between the part so that overall function can
be accomplished. The fourth operational analysis principle suggests that the
information, functional, and behavioral domains of software can be partitioned.
Horizontal partitioning:
Acceptance Rejection
Server Side:
Client Side:
80 GB Hard Disk
Software Specification:
Environment: .NET Framework 3.5
Technologies: ASP.NET, C#
Database: MS Access
Software: Visual Studio 2008, Notepad ++
OS: Windows server 2003 R2, Windows XP SP2
Browser: IE7, IE8, FF 3.5
The Internet revolution of the late 1990s represented a dramatic shift in the way
individuals and organizations communicate with each other. Traditional
applications, such as word processors and accounting packages, are modeled as
stand-alone applications: they offer users the capability to perform tasks using data
stored on the system the application resides and executes on. Most new software,
in contrast, is modeled based on a distributed computing model where applications
collaborate to provide services and expose functionality to each other. As a result,
Processing XML
Working with data from multiple data sources
Debugging your code and working with event logs
The functionality that the .NET Class Library provides is available to all .NET
languages, resulting in a consistent object model regardless of the programming
language developer’s use.
The .NET Framework consists of three key elements as show in below diagram
ASP.NET
Window Forms
Web Server Web Form Visual
Studio.NET
Operating System
The CLR is also responsible for compiling code just before it executes. Instead of
producing a binary representation of your code, as traditional compilers do, .NET
compilers produce a representation of your code in a language common to the
.NET Framework: Microsoft Intermediate Language, often referred to as IL. When
your code executes for the first time, the CLR invokes a special compiler called a
Just In Time (JIT) compiler, Because all .NET languages have the same compiled
representation, they all have similar performance characteristics. This means that a
program written in Visual Basic .NET can perform as well as the same program
written in Visual C++ .NET.
The benefits of using the .NET Class Library include a consistent set of services
available to all .NET languages and simplified deployment, because the .NET
Class Library is available on all implementations of the .NET Framework.
3. Unifying components
Until this point, this chapter has covered the low-level components of the .NET
Framework. The unifying components, listed next, are the means by which you
can access the services the .NET Framework provides:
ASP.NET
Windows Forms
Visual Studio .NET
ASP.NET
After the release of Internet Information Services 4.0 in 1997, Microsoft began
researching possibilities for a new web application model that would solve
common complaints about ASP.
. ASP.NET introduces two major features: Web Forms and Web Services.
1. Web Forms
2. Web Services
A Web service is an application that exposes a programmatic interface through
standard access methods. Web Services are designed to be used by other
applications and components and are not intended to be useful directly to human
end users. Web Services make it easy to build applications that integrate features
from remote sources. For example, you can write a Web Service that provides
weather information for subscribers of your service instead of having subscribers
link to a page or parse through a file they download from your site. Clients can
simply call a method on your Web Service as if they are calling a method on a
component installed on their system — and have the weather information
available in an easy-to-use format that they can integrate into their own
applications or Web sites with no trouble.
Introducing ASP.NET
Unlike the ASP runtime, ASP.NET uses the Common Language Runtime (CLR)
provided by the .NET Framework. The CLR is the .NET runtime, which manages
the execution of code. The CLR allows the objects, which are created in different
languages, to interact with each other and hence removes the language barrier.
CLR thus makes Web application development more efficient.
In addition to simplifying the designing of Web applications, the .NET CLR offers
many advantages.
The ASP.NET code is a compiled CLR code instead of an interpreted code. The
CLR provides just-in-time compilation, native optimization, and caching. Here, it
is important to note that compilation is a two-stage process in the .NET
Framework. First, the code is compiled into the Microsoft Intermediate Language
(MSIL). Then, at the execution time, the MSIL is compiled into native code. Only
the portions of the code that are actually needed will be compiled into native code.
This is called Just In Time compilation. These features lead to an overall improved
performance of ASP.NET applications.
Flexibility:
Configuration settings:
Security:
ASP.NET applications are secure and use a set of default authorization and
authentication schemes. However, you can modify these schemes according to the
security needs of an application. In addition to this list of advantages, the
ASP.NET framework makes it easy to migrate from ASP applications.
After you've set up the development environment for ASP.NET, you can create
your first ASP.NET Web application. You can create an ASP.NET Web
application in one of the following ways:
Use a text editor:
In this method, you can write the code in a text editor, such as Notepad, and save
the code as an ASPX file. You can save the ASPX file in the directory
C:\inetpub\wwwroot. Then, to display the output of the Web page in Internet
Explorer, you simply need to type http://localhost/<filename>.aspx in the Address
box. If the IIS server is installed on some other machine on the network,
replace"localhost" with the name of the server. If you save the file in some other
directory, you need to add the file to a virtual directory in the Default WebSite
Characteristics
Pages
ASP.NET pages, known officially as "web forms", are the main building block for
application development. Web forms are contained in files with an ASPX
extension; in programming jargon, these files typically contain static (X)HTML
markup, as well as markup defining server-side Web Controls and User Controls
where the developers place all the required static and dynamic content for the web
page. Additionally, dynamic code which runs on the server can be placed in a page
within a block <% -- dynamic code -- %> which is similar to other web
development technologies such as PHP, JSP, and ASP, but this practice is
generally discouraged except for the purposes of data binding since it requires
more calls when rendering the page.
Note that this sample uses code "inline", as opposed to code behind.
<%@ Page Language="C#" %>
<script runat="server">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sample page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
The current time is: <asp:Label runat="server" id="Label1" />
</div>
</form>
</body>
</html>
Code-behind model
It is recommended by Microsoft for dealing with dynamic program code to use the
code-behind model, which places this code in a separate file or in a specially
designated script tag. Code-behind files typically have names like MyPage.aspx.cs
or MyPage.aspx.vb based on the ASPX file name (this practice is automatic in
Microsoft Visual Studio and other IDEs). When using this style of programming,
the developer writes code to respond to different events, like the page being
loaded, or a control being clicked, rather than a procedural walk through the
document.
The above tag is placed at the beginning of the ASPX file. The CodeFile property
of the @ Page directive specifies the file (.cs or .vb) acting as the code-behind
while the Inherits property specifies the Class the Page derives from. In this
example, the @ Page directive is included in SamplePage.aspx, then
SampleCodeBehind.aspx.cs acts as the code-behind for this page:
using System;
namespace Website
{
public partial class SampleCodeBehind : System.Web.UI.Page
{
protected override void Page_Load(EventArgs e)
{
base.OnLoad(e);
}
}
}
In this case, the Page_Load () method is called every time the ASPX page is
requested. The programmer can implement event handlers at several stages of the
page execution process to perform processing.
User controls
Programmers can add their own properties, methods, and event handlers. An event
bubbling mechanism provides the ability to pass an event fired by a user control
up to its containing page.
Template engine
When first released, ASP.NET lacked a template engine. Because the .NET
framework is object-oriented and allows for inheritance, many developers would
define a new base class that inherits from "System.Web.UI.Page", write methods
here that render HTML, and then make the pages in their application inherit from
this new class. While this allows for common elements to be reused across a site,
it adds complexity and mixes source code with markup. Furthermore, this method
can only be visually tested by running the application - not while designing it.
Other developers have used include files and other tricks to avoid having to
implement the same navigation and other elements in every page.
ASP.NET 2.0 introduced the concept of "master pages", which allow for template-
based page development. A web application can have one or more master pages,
which can be nested. Master templates have place-holder controls, called
ContentPlaceHolders to denote where the dynamic content goes, as well as HTML
and JavaScript shared across child pages.
Child pages use those ContentPlaceHolder controls, which must be mapped to the
place-holder of the master page that the content page is populating. The rest of the
page is defined by the shared parts of the master page, much like a mail merge in a
word processor. All markup and server controls in the content page must be placed
within the ContentPlaceHolder control.
Performance
The ASPX and other resource files are placed in a virtual host on an Internet
Information Services server (or other compatible ASP.NET servers; see Other
Implementations, below). The first time a client requests a page, the .NET
framework parses and compiles the file(s) into a .NET assembly and sends the
response; subsequent requests are served from the DLL files. By default ASP.NET
will compile the entire site in batches of 1000 files upon first request. If the
compilation delay is causing problems, the batch size or the compilation strategy
may be tweaked.
Developers can also choose to pre-compile their code before deployment, eliminating the
need for just-in-time compilation in a production environment.
The most common operation in SQL databases is the query, which is performed
with the declarative SELECT keyword. SELECT retrieves data from a specified
table, or multiple related tables, in a database. While often grouped with Data
Manipulation Language (DML) statements, the standard SELECT query is
considered separate from SQL DML, as it has no persistent effects on the data
stored in a database. Note that there are some platform-specific variations of
SELECT that can persist their effects in a database, such as the SELECT INTO
syntax that exists in some databases.
SQL queries allow the user to specify a description of the desired result set, but it
is left to the devices of the database management system (DBMS) to plan,
optimize, and perform the physical operations necessary to produce that result set
in as efficient a manner as possible. An SQL query includes a list of columns to be
included in the final result immediately following the SELECT keyword. An
asterisk ("*") can also be used as a "wildcard" indicator to specify that all
available columns of a table (or multiple tables) are to be returned. SELECT is the
most complex statement in SQL, with several optional keywords and clauses,
including:
The FROM clause which indicates the source table or tables from which the data
is to be retrieved. The FROM clause can include optional JOIN clauses to join
related tables to one another based on user-specified criteria.
The WHERE clause includes a comparison predicate, which is used to restrict the
number of rows returned by the query. The WHERE clause is applied before the
GROUP BY clause. The WHERE clause eliminates all rows from the result set
where the comparison predicate does not evaluate to True.
The HAVING clause includes a comparison predicate used to eliminate rows after
the GROUP BY clause is applied to the result set. Because it acts on the results of
the GROUP BY clause, aggregate functions can be used in the HAVING clause
predicate.
The ORDER BY clause is used to identify which columns are used to sort the
resulting data, and in which order they should be sorted (options are ascending or
descending). The order of rows returned by an SQL query is never guaranteed
unless an ORDER BY clause is specified.
SELECT *
FROM Book
ORDER BY title;
The example below demonstrates the use of multiple tables in a join, grouping,
and aggregation in an SQL query, by returning a list of books and the number of
authors associated with each book.
JOIN Book_author
ON Book.isbn = Book_author.isbn
GROUP BY Book.title;
Title Authors
---------------------- -------
Pitfalls of SQL 1
(The underscore character "_" is often used as part of table and column names to
separate descriptive words because other punctuation tends to conflict with SQL
syntax. For example, a dash "-" would be interpreted as a minus sign.)
Under the precondition that isbn is the only common column name of the two
tables and that a column named title only exists in the Books table, the above
query could be rewritten in the following form:
FROM Book
However, many vendors either do not support this approach, or it requires certain
column naming conventions. Thus, it is less common in practice.
Data retrieval is very often combined with data projection when the user is looking
for calculated values and not just the verbatim data stored in primitive data types,
or when the data needs to be expressed in a form that is different from how it's
stored. SQL allows the use of expressions in the select list to project data, as in the
following example which returns a list of books that cost more than 100.00 with
an additional sales_tax column containing a sales tax figure calculated at 6% of
the price.
FROM Book
ORDER BY title;
Some modern day SQL queries may include extra WHERE statements that are
conditional to each other. They may look like this example:
FROM Book
ORDER BY title;
E-R DIAGRAM:
BUS RESERVATION
SYSTEM
Give
services
Divided
BUSES
Work
area
Care of
For more details please visit http://techbrij.com
DIFFERENT
examine Full of
Works TYPE OF
BUSES
SLEEPER
OR
WITHOUT DEPARTMENT SEATS
SLEEPER
The following DFD shows how the working of a reservation system could be
smoothly managed:
WORK AREAS
BUSES RESERVED
RECORDS AGENT
DAILY VISITING
ENTRY REC AGENT
We have STARBUS as our database and some of our tables (relation) are
TIMELIST
STARBUS
AGENTBASICINFO
FEEDBACK
PASSANGERIFNO
STATIS
TIMELIST
AGENT_BASIC_INFO
AGENT_ID
AGENT_NAME
AGENT_FNAME
AGENT_SHOP_NAME
AGENT_SHOP_ADDRESS
AGENT_SHOP_CITY
AGENT_PHON_NUMBER
For more details please visit http://techbrij.com
AGENT_MOBIL_NUMBER
AGENT_CURRENT_BAL
In our FEEDBACK table we have fields like name, Email, Phon, Subject,
FEEDBACK
Comment Subject
User_type
Status
PASSANGER
_INFO
C_from
Agent_id
C_time
Amount
Seat_no
Total_seat
TIME_LIST
Bus_number Time
Reach_time
PROCESS LOGIC::
the more they are comfortable with us, the more customers we have visiting
our reservation unit .the above tables and modules facilitates many logics
like:
This webpage is the starting page of the Website. It gives the followings:
Accessed by anyone.
Information about the booking which seat is booked and which
is empty.
Accessed by anyone.
Contains information about name, address and phone number
of the agent.
Accessed by anyone.
Useful for customer
Contain information when to reach the starting point and what should do, in
case when our ticket is lost.
It required user name who forget its password and then click on Next
button.
And also provide link for administration and other.
Administrator Section:
Username
Password
Email
Security Question.
Security Answer.
After click on Create user button it will send you on Agent Basic
Information webpage.
As in the above image the agent’s Basic information web page is displaying:
Name
Father’s Name
Shop Name
Shop City
Shop phone number
Mobile Number
Deposit amount
Agent ID
Name
Shop Name
Shop City
Current Balance
Mobile Number
Feedback List:
System Testing
(1) Internal program logic is exercised using ―White box‖ test case design
techniques.
(2) Software requirements are exercised using ―block box‖ test case
design techniques.
In both cases, the intent is to find the maximum number of errors with the
minimum amount of effort and time.
8.2 Strategies
A strategy for software testing must accommodate low-level tests that are
necessary to verify that a small source code segment has been correctly
implemented as well as high-level tests that validate major system functions
against customer requirements. A strategy must provide guidance for the
practitioner and a set of milestones for the manager. Because the steps of the test
strategy occur at a time when deadline pressure begins to rise, progress must be
measurable and problems must surface as earl as possible.
8.2.1 Unit testing: Unit testing focuses verification effort on the smallest unit of
software design- the software component or module. The unit test is white-box
oriented. The module interface is tested to ensure that information properly flows
into and of the program unit under test the local data structure has been examined
to ensure that data stored temporarily maintains its integrity during all steps in an
algorithm’s execution. Boundary conditions are tested to ensure that the module
operated properly at boundaries established to limit or restrict processing. All
independent paths through the control structure are exercised to ensure that all
statements in a module haven executed at least once.
8.2.4 System testing: System testing is actually a series of different tests whose
primary purpose is to fully exercise the computer-based system. Below we have
described the two types of testing which have been taken for this project.
For security purposes, when anyone who is not authorized user cannot
penetrate this system. When programs first load it check for correct username and
password. If any fails to act according will be simply ignored by the system.
As much time we run our project that is still sort of testing as Musa and Ackerman
said. They have suggested a response that is based on statistical criteria: ―No, we
cannot be absolutely certain that the software will never fail, but relative to a
theoretically sound and experimentally validated statistical model, we have done
sufficient testing to say with 95 percent confidence that the probability of 1000
CPU hours of failure free operation in a probabilistically defined environment is at
least 0.995.‖
Validation checks are useful when we specify the nature of data input. Let us
elaborate what I mean. In this project while entering the data to many text box you
will find the use of validation checks. When you try to input wrong data. Your
entry will be automatically abandoned.
In the very beginning of the project when user wishes to enter into the project, he
has to supply the password. This password is validated to certain string, till user
won’t supply correct word of string for password he cannot succeed. When you try
to edit the record for the trainee in Operation division you will find the validation
checks. If you supply the number (digits) for name text box, you won’t get the
entry; similarly if you data for trainee code in text (string) format it will be simply
abandoned.
System Implementation
Conclusion
Simple editing
Insertion of individual images on each cell
Insertion of individual colors on each cell
Flicker free scrolling
Drop-down grid effect
Placing of any type of control anywhere in the grid
The number of levels that the software is handling can be made unlimited
in future from the current status of handling up to N levels as currently laid
down by the software. Efficiency can be further enhanced and boosted up to
a great extent by normalizing and de-normalizing the database tables used
in the project as well as taking the kind of the alternative set of data
structures and advanced calculation algorithms available.
We can in future generalize the application from its current customized
status wherein other vendors developing and working on similar
applications can utilize this software and make changes to it according to
their business needs.
Faster processing of information as compared to the current system with
high accuracy and reliability.
Automatic and error free report generation as per the specified format with
ease.
Automatic calculation and generation of correct and precise Bills thus
reducing much of the workload on the accounting staff and the errors
arising due to manual calculations.
With a fully automated solution, lesser staff, better space utilization and
peaceful work environment, the company is bound to experience high
turnover.
A future application of this system lies in the fact that the proposed system would
remain relevant in the future. In case there be any additions or deletion of the