Raju
Raju
Raju
Index
1. Introduction
1.1 Introduction to Company
1.2 Introduction to Project
1.3 Introduction to Modules
2. Analysis
2.1 Identification of Need
2.2 Feasibility Study
2.3 Problem Specification
2.4 Requirement Specification
2.4.1
Client requirements
2.4.2
Hardware requirements
2.4.3
software requirements
3. Selected Software
4. Design
4.1 Software Paradigm
4.2 Normalization
4.3 Data Dictionary
4.4 Relationship Diagram
4.5 E-R Diagrams
4.6 Data Flow Diagrams.
5. Output Screens (Forms)
customers what they want, rather than what we think they should have. The quality effort is
backed up by results. We aspire to be a global leader in IT services and part of this mindset is to
be a complete IT-solutions and services provider. At LOGIC SYSTEMS, target is to set new
benchmarks in productivity, customer satisfaction, employee satisfaction, and provide 'zerodefect' solutions. It is this urge to excel that drives us to search for new and better solutions that
will support in every aspect of business strategy.
Why Us
Our Corporate Philosophy is
Give a solution which is an amalgamation of expertise and the clients needs
We began with a vision of meeting the massive requirements for IT talent and services in a world
moving into an information-based economy. We are a team of software professionals with
experience in providing robust and optimally designed IT-Solutions. We have successfully executed
projects in various industry segments and have a wealth of experience and expertise in project and
resource management. By partnering with LOGIC SYSTEMS, you are dealing with an Indian
Company with the Quality and Cost benefit advantages of an international corporation. Our
objective is to anticipate and respond to the changing needs of our customers and fulfill their
expectations better than our competitors.
We build lasting, high quality customer relationships in diverse domains - from e-commerce to
corporate companies. We enhance the growth and profits of our clients by delivering effective and
economical IT-Solutions on schedule.
BACKGROUND
It is without doubt, that growth of any nation is affected by information technology more than any
other and also Indians have proved to be the best analytical minds world over. To maintain this
status an urgent need is to keep pace with the state of art technologies and generate world-class
professionals. The industry has been seized with the problem of shortage of computer professionals
in various fields, while several individuals with high computer skill-set and analytical outlook are
unable to be profitably employed. This is partly due to the non-standardized methodologies, models
being learnt and used by these individuals. For the well informed and well trained, the availability
of new technologies represents a real push for enhancing the quality in all departments improving
the productivity and hence profitability. Considering the need of the hour LOGIC SYSTEMS has
formulated a unique program for assisting thousands of such aspiring software professionals to
prove their mettle and be a part of winning team.
INTRODUCTION TO ONLINE TAXICAB SERVICE
Our vision is to make taxicab reservation process anywhere in Andhra Pradesh as hassle-free as
possible; and our mission is to help our statewide clientele get a taxicab anywhere in Andhra
Pradesh from anywhere around the state. We are virtually open 24/7/365.
The OTS Reservation System allows you to choose any taxicab company listed on our system to
provide you with the required transportation service. If we determine that the taxicab company of
your choice is not readily available to meet your needs, the system will be manipulated overriding
your choice to engage a taxicab company that is able and willing to afford you with the required
quality service at the time and place you need it. OTS works with well over all taxicab companies
statewide to cover multiple areas spanning through all districts of the state and we persistently
strive to expand our service coverage area. This Project was done in offline and can also be placed
in online to serve the customers.
Requirement Analysis:
Requirement Analysis is the first technical step in software engineering process. It
is at this point that a general statement of software scope is refined into concrete specification that
becomes the foundation for all software engineering activities that follow.
Analysis must focus on information, functional and behavioral domains of the
problem. To better understand what is required, models are created and the problem is partitioned.
Design
System design is the transformation of the analysis model into a system design
model. During system design, developers define the design goals of the project and decompose
the system into smaller subsystems that can be realized by individual teams.
Implementation
After all the design activities were implemented correctly and completely, we will
be having the use-cases, class interfaces and designing goals with us. The next step is to
implement them to resolve them into a system by developing the code. The code generation
should be done in a systematic manner. The process will be explained in this phase.
Coding
In this phase we put the some of the sample code for this project
Testing
This phase is the important phase. In this we test the system for different types of input. So
that finally the system is error free.
Screens
In this phase we put the screens which are come from the system at run time.
Conclusion
This phase explains the future modifications, extensibility of the system etc.
Bibliography
In this phase we write the book name, author, publisher and year of publishing which we
were referred for clarifying the out doubts.
An overview of existing system:
The system which is existing and adopted till now is, the customer going to the travel
agency and booking the cab according to the requirement. For that they need to know all the
travel agencies near to their place, which is a time taking process i.e, suppose a user need to book
the cab he need to know the travel agency details and also the prices they render on him. It is all
time consuming process. The travel agencies should specify all the details the user needs.
An overview of proposed system :
As the scope of the network is increased a lot, we can make our taxi management online so
that users can book the taxi from their nearer internet centers.
We make the travel agency as online by providing the details like customer form.
Customer form deals with the concepts like details abut the taxi management, reservation of the
cab, how to contact us.
For the reservation , we provide a reservation form for the client where he fills his details.
After filling, he sends the message to reserve and we provide the bill to the customer. This is done
only when the car is free, if not it prompts the customer to select another car.
The customers can also send the comments or suggestions to our travel agency and we
will respond to him. The received mails will be in our inbox and the sent over replies will be in
the outbox options. We will provide all the details like cars, employees etc in the net. We can add
new cars, new employees and new bookings etc.
Robustness:
Java is robust, that the code is well behaved and needed when the solid
application that will not bring down a system when a user stumbles across a home page with
small animation. Java is designed for creating highly reliable software. It provides extensive
compile time checking, followed by second level of runtime checking. Language features guide's
programmers towards reliable programming habits. The memory management model no
pointers or pointer arithmetic eliminates entire classes of programming errors that bedevil C and
C++ programmers.
Secure:
Java is a secure, has to protect the client against the unintentional attacks
and protects against intentional ones as well. Java is designed to operate in distributed
environment, which means that security is of paramount importance. With security features
designed into language and run-time systems, Java lets us construct application that cannot be
included from outside. In networked environment, application written in Java is secure from
intrusion by unauthorized code attempting to get behind the scenes and create viruses or invalid
file systems.
Architectural-neutral:
Java is designed to support applications that will be developed into heterogeneous
networked environment. In such environments, application must execute a top variety of O.S. and
interoperate with multiple programming language interfaces. To accommodate the diversity of
operating environments, Java compiler generates byte codes; an architectural neutral intermediate
format designed to transport code efficiency to multiple hardware and software platforms. The
interpreted nature of Java solves both the binary distribution and version problems. The same Java
language programs will run on any platform. Thus, a platform independent means that program
can run on any computer system. Java programs can run on any computer system for which a Java
virtual machine has been installed.
Portable:
Java is portable, that it can run on any machine that has Java interpreter ported to
it. Architecture neutrality is just one part of a truly portable system.
Java takes portability a stage then by being strict in its definition of the basic language Java
puts a stake in the ground and the behavior of its basic DataTips and the behavior of its arithmetic
operators. The programs are the same on every platform; there are no data types incompatibilities
across hardware and software architectures. The architecture neutral and portable language
environment of Java is known as the Java virtual machine. It is the specification of an abstract
machine for which Java language compilers can generate code. Specific hardware and software
platforms then provide the concrete realization of the virtual machine.
Multithreaded:
Multithreading is the ability of one program to be more than one thing at once,
example printing while getting a fax. Java language provides the threads class, and the run time
system provides monitor and condition lock primitives. Thread implementations on the major
platforms differ widely and makes no efforts to be platform independent in this regard. Only the
code calling multithreading remains across machines. Java offloads the implementation of
multithreading to the underlying O.S.
High Performance:
Performance is always a consideration. Java achieves interior performance by
adapting a scheme by which the interpreter can run at full speed without needing to check the run
time environment. The automatic garbage collector runs a low priority background thread,
insuring a high probability that memory is available when required, leading to better performance.
Applications requiring a large amount of computing power can be designed such that compute
intensive section can be rewritten in native machine code as required and interface with Java
environment. In general the users perceive interactive applications respond quickly ever through
they are interpreted.
The environment takes over many of the error prone tasks from the programmer
such as pointers and memory management. The following packages contain the core classes and
interfaces that make up the language API. Java language package features include strings, objects
and math functions. Some of the classes within the java.lang package provide keys to
programming in Java., others are simply wrapper classes, which provide a means of very basic
data types like char, int, float, etc., as objects.
Java awt:
A very important that contains all classes for the GUI components for constructing
the layouts. This allows the users to make selections, type inputs, read outputs and otherwise use
the mouse in relation to the content. An AWT (Abstract Windowing Tool kit) provides an abstract
layer enabling one to port. Java applications easily from one window system to another. This
library contains for basic interface components such as events, fonts, buttons, and scroll bars etc.
javax.swing:
Swing is the next generation GUI tool kit that sun Microsystems is developing to
enable enterprise development in Java by enterprise development we mean that programmers can
use swing to create large-scale Java applications with a wide array of powerful components.
Swing is not an acronym. The name represents the collaborative choice of its
designers when the project was kicked off in late 1996. Swing is actually part of a large family of
Java products known as JFC (Java Foundation Classes). When released the swing 1.0 libraries
contain nearly 250 classes and 80 interfaces. Swing builds on the event model introduced in 1.1
series of jdks. Swing is actually built on top of core 1.1 and 1.2 awt libraries. Records swing does
not contain any platforms specific code. In fact if you have jdk1.2 on your platform then the
swing classes will already be available and there is nothing to download.
Swing contains twice the number of graphical components as its immediate
predecessor awt1.1. Swing depends extensively on event handling mechanism of awt1.1.
Swing features:
Swing provides many features for those planning to write large-scale applications
in Java. They are
Pluggable look and feels:
One of the most exciting aspects of the swing classes is the to dictate to look and feel of
the each of the components. Swing is capable of emulating several look and feels and currently
includes support for windows and UNIX motives. Swing comes with a default look and feel
called metal, which was developed while the swing class where in the beta release phase. This
look and feel combines some of the best graphical elements in todays look and feel and even
adds a few surprises of its own.
A variety of new components, such as table's trees, sliders, progress bars, internal frames
and text components.
Swing components contain support for replacing there with an arbitrary number of
concentric borders.
Swing components can have tool tips placed over them. A tool kit is a textual popup that
shortly appears when the mouse cursor resets inside the components painting region. Tool
tips can be used to give more information about the component in question.
You can arbitrarily bind the keyboard events to components, defining how they will react
to keystrokes under the given conditions.
There is additional debugging support for the rendering of your own lightweight swing
component.
Swings:
The swing components examined include buttons, labels, toggle buttons, combo boxes, list
boxes, scrollbars, slides, text, scroll panes, tables, and toolbars. Common functionality shared
across these components and others like borders, tool, tips and icons is also possible.
Scroll Panes:
The JScrollPane component is an interesting component. It acts as a container for one
component. Providing scrolling support for that component, if it is larger than the space available
within the JScrollPane.
TextFields:
JTextField implements that old favorite a single line text input box.
TextAreas:
The JTextArea component, as its name suggests, is used when larger amounts of text need to be
input or more often, just displayed.
Tool Bar:
The JToolBar component offers a potentially dragabble container to place a component in.
Menu Bars:
The main purpose of the JMenuBar class is to group together a collection of JMenu
instances.
Menus:
The main purpose of the JMenu class is to group together a collection of JMenuItems and other
sub menus.
CheckBoxMenuItems:
The JCheckBoxMenuItem class incorporates an on/off state. Which is depicted graphically in a
menu using a check mark or other graph to that effect.
Pop-Up-Menus:
The JPopUpMenu class is a subclass of JComponent. We construct and populate a pop-up
just as regular Menu. The difference is that pop-up cant be attached to menu bar. Instead, it is
displayed on some other component.
Dialogs:
Swing provides a common way of displaying message pop-up or any other dialogs and
prompting for user input from model dialog boxes.
Trees:
Swings provide a hierarchical display component with JTree. The data model for a tree is
TreeModel and is made up of many Tree Node objects.
Layouts:
The arrangement of the components on the panel is specified by setting the layout
managers such as border layouts, Flow, Grid, Grid Bag etc.,
Tool Tips:
Swings provide another facility to display the text when the user rests the mouse over a
particular component.
UNIFIED MODELING LANGUAGE
Why We Model ?
A successful software organization is one that consistently deploys quality software that
meets the needs of its user. An organization that can develop such software in a timely and
predictable fashion with an efficient and effective use of resources is one that has a sustainable
business.
Modeling is a central part of all the activities that lead up to the deployment of good
software. We build models to communicate the desired structure and behavior of our system to
visualize and control the systems architecture.
A model is a simplification of reality. We build model so that we can better understand the
system we are developing ,we cant comprehend complex system in its entirety.
The choice of what models to create has a profound influence on how a problem is
attacked and how a solution is shaped. Every model may be expressed at different levels of
precision. The best models are connected to reality. No single model is sufficient. Every nontrivial
system is best approached through a small set of nearly independent models.
INTRODUCTION TO UML
The Unified Modeling Language ( UML ) is a standard and appropriate language for writing
software blueprints and for modeling systems ranging from enterprise information systems to
distributed web based applications and even to hard real time embedded systems.
Documenting includes:
Requirements
Architecture
Design
Source code
Project plans
Tests
Prototypes
Releases
The UML addresses the documentation of a systems architecture and all of its details like
expressing requirements and modeling the activities of project planning and release
management.
UML can be effectively used for domains such as :
Enterprise information systems
Banking and financial services
Telecommunications
Transportations
Distributed Web-based services
CONCEPTUAL MODEL
The conceptual model of UML requires learning three major elements: the UML`s basic
building blocks, the rules that dictate how those building blocks may be put together, and
some common mechanism that apply through out the UML.
Class :- Class is a description of a set of objects that share the same attributes,
operations, relationships and semantics. A class implements one or more interfaces. It is
graphically rendered as a Rectangle.
Window
origin
size
open()
close()
move()
chain of
responsibility
Use case: - It is a description of set of sequence of action that a system performs that
yields an observable result of value to a particular actor . It is used to structure behavioral
things in a model and realized by a collaboration. Graphically it is rendered as a ellipse with
a solid lines including only its name.
Place Order
Active class: -It is a class whos objects own one or more process or threads and
therefore can initiate control activity. Its objects represents elements whose behavior is
concurrent with other elements. It is renedered as class with heavy lines.
EventMgr
flush()
suspend()
Node: - A node is physical element that exists at run times and represents a
computational resource, generally having some memory and processing capability. A set of
components reside on a node and migrate from node to node. Graphically it is rendered as a
cube including its name.
server
Behavioral things are the dynamic parts of UML model. These are the verbs of model,
representing behavior over time and space. There are two kinds of behavioral things:
Interaction :- It is a behavior that comprises a set of messages exchanged among a set
of objects within a particular context to accomplish a specific purpose. It is rendered as a
direct line including its name.
display
State machine:- Its a behavior that specifies the sequence of states an object or
an
interaction goes through during its life time in response to events together with its responses
to those events. It is rendered as rounded rectangle.
waiting
business rules
Annotational things are the explanatory parts of UML models. These are the comments
we apply to describe, illuminate, and remark about any element in a model.
Node :- Is simply a symbol for rendering constraints and comments attached to an
element or a collection of elements. Graphically a note is rendered as a rectangle with a dog
eared corner, together with a graphical or textual comment.
return
copy of
self
Relationships in the UML There are four kinds of basic relationships in the UML:
1. Dependency
2. Association
3. Generalization
4. Realization
Dependency is a semantic relationship between two things in which a change to one thing
( the independent thing ) may affect the semantics of the other things (dependent thing ) .
Graphically a dependency is rendered as a dashed line, possibly directed, and occasionally
including a label.
----------------------->
Association is a structural relation ship that describes a set of links, a link being a connection
among objects. Aggregation is a special kind of association representing a structural
relationship between a whole and its parts. Graphically an association is rendered as a solid
line, possibly directed, occasionally including a label and often containing other adornments,
such as multiplicity and role names.
0..1
employer
*
employee
Generalization is a relationship between a general thing and a more specific kind of that thing.
This is an is-a-kind-of relationship. It means that objects of the child may be used anywhere
the parent may appear, but not the reverse. Graphically rendered as a solid line with a hollow
arrowhead pointing to the parent.
-------------------------------
DIAGRAMS IN UML
A class diagram shows a set of classes, interfaces, and collaborations and their
relationships. These diagrams address the static design view of a system.
An object diagram shows a set of objects and their relationships.They represent the
static design or static process view of a system.
A use case diagram shows a set of use cases and actors and their relationships . These
include especially diagrams important in organizing and modeling the behaviour of a system.
Both sequence and collaboration diagrams are kinds of interaction diagrams. An
interaction diagram shows an interaction, consisting of a set of objects and their relationships,
including the messages that may be dispatched among them, it addresses the dynamic view of
a system. A sequence diagram is a interaction diagram that emphasizes the time ordering of
messages. A collaboration diagram is an interaction diagram that emphasizes the structural
organization of the objects that send and receive messages.
A statechart diagram shows a state machine consisting of states, transitions events and
activities. It addresses the dynamic view of a system.
An activity diagram is a special kind of statechart diagram that shows the flow from
activity to activity within a system, they addresses dynamic view of a system that are
especially important in mode ling the function of a system and emphasize the flow of control
among objects.
A component diagram shows the organization and dependencies among a set of
components, they address the static implementation view of a system.
A deployment diagram shows the configuration of the runtime processing nodes and
the components that live on them, they address the static deployment view of an architecture.
4. DESIGN
System design goes through two phases of development:
Logical and physical design.
The design covers the following:
1. Review the current physical system: - its data flows, file content, volumes, frequencies etc.
2. Prepares output specifications: - that is, determines the format content and frequency of
reports, including terminal specifications and locations.
3. Prepares input specifications- format, content and most of the input functions.
This includes determining the flow of the document from the input data source to the actual
input location.
1. Prepares edit, security and control specifications. This includes specifying the rules for
edit correction, backup procedures and the controls that ensure processing and file
integrity.
2. Specifies the implementation plan.
3. Prepares a logical design walkthrough of the information flow, output, input, controls and
implementation plan.
4. Review benefits, costs, target dates and system constraints.
Data Dictionary:
In our data flow diagrams, we give names to data flows, processes and data stores. Although
the names are descriptive of the data, they do not give details. So following the DFD, our interest
is to build some structured place to keep details of the contents of data flows, processes and data
store. A data dictionary is a structured repository of data about data. It is a set of rigorous
definitions of all DFD data events and data Structures. A data dictionary has many advantages.
The most obvious is documentation; it is a valuable reference to any organization. Another
advantage is improving analyst/user communication by establishing consistent definitions of
various elements, terms and procedures. During implementation, it serves as a common base
against which programmers who are working on the system compare their data descriptions. Also
control information maintained for each data element is cross-references in the data dictionary. A
data dictionary is an important step in building, a database. Most data base management systems
have a data dictionary as a standard feature.
Users name
Description
Contents
Constraint
The names given to all these tables as fields are according to the naming and coding standards
followed by the organization.
The tables in the data dictionary are
Cust_inf table
CARMODEL TABLE
BRANCH_MODEL_CARNO TABLE
Distance
Engaged Car
Emp
Comments
Outbox
Data flows:
Data flows model passage of data in the system and are represented by lines joining
system components. An arrow indicates the direction of the flow and the line is labeled by the
name of the data flow, flows of the data in the system can take place
We have no control flows between external entities, so we do not model them. Similarly,
stores are passive and cannot have data flows between themselves.
Process
Name
Data Flow
Entity
Database name
Id
Process show what systems do. This describes how input data is
converted to output data. Each process has a unique name and number. Each process has one or
more inputs and produces one or more outputs.
A file or data store is a repository of data. It contains data that is retained
in the system. Processes can enter data into a data store of retrieve data from the data store. Each
data store has a unique name.
External Entitles are outside the system but they either supply input data
into system or use the system output. They are entities over which the designer has no control.
External entities that supply data into system are sometimes called sources. External entities that
use systems data are sometimes called sinks.
Data flows model the passage of data in the system. The direction of the
flow is indicated by an arrow. Flows of data can be taken place
a) Between two processes
b) From a data store to a process
c) From a process to a data store
d) From a source to a process and
e) From a process to a sink
LEVEL 0:
Online
Taxi Cab
Service
Custom
Admin
Data Base:
A database is a collection of data with some inherent meaning, designed, built and
populated with data for a specific purpose.
A database management system provides flexibility in the storage and retrieval of data.
The DBMS is a bridge between the application program, which determines what data are needed
and how they are processed, and the operating system of the computer, which is responsible for
placing data on the magnetic storage devices. A schema defines the database and a subschema
defines the portion of the database that a specific program will use.
Characteristics:
a)
b)
c)
retaining
d)
e)
Database Administrator:
A database administrator is a block of code loaded into memory, which organizes all
information (database) between the users.
The DBA takes care of the following things:
a) Updating database
b) Retrieving the data
c) Accepting the queries
d) Enforces security
e) Enforces data integrity specifications
f)
g) Optimizing queries
h) Managing system catalogs
Catalog Facility:
A logical description of a relational database represented in the same
manner as pre ordinary data. This is done so that facilities of the relational management system
itself can be used to maintain database description.
Data language:
A relational database management may support many types of languages
for describing data and accessing the database. However there must be at least one language that
was ordinary character strings to support the definition of data, the definition of views, the
manipulation of data, constraints of data integrity information concerning authorization and the
boundaries for recovery of units.
View Updatability:
Any view that can be defined using combination of base tables that are
theoretically updateable is capable being updated by the relational database management system.
Insert, Update, Delete:
Any operand that describes the results of a single retrieval operation is
capable of being changes to be made to application program.
Advantages of normalization:
a) To reduce the redundancy
b) To increase the access specification and storage structure.
First Normal Form:
A relation or a table is said to be in first normal form if and only if all
the underlying domains contain at least atomic values.
Second Normal Form:
A relation or a table is said to be in second normal form if and only if it is
in first normal form and every non-key attribute is fully dependent on the primary key of the
relation.
Third normal Form:
A relation or a table is said to be in third Normal form if it is in
second normal form and every non key attribute is transitively dependent on the primary key
of the relation.
Boyce-codd Normal Form:
A table is in BCNF iff the only determinants are candidate keys. A table
is in BCNF iff every non trivial left irreducible FD has a candidate key as its determinant.
DATABASE DESIGN:
Null? Type
NAME
VARCHAR2(20)
PHNO
VARCHAR2(15)
VARCHAR2(20)
ADDRESS
VARCHAR2(30)
Name
Null? Type
FARE_KM
NUMBER(4)
RENT
NUMBER(4)
Null? Type
VARCHAR2(20)
MODEL
VARCHAR2(20)
CARNO
Null? Type
VARCHAR2(15)
DEST
VARCHAR2(15)
DIST
NUMBER(4)
ENGAGED_CAR TABLE:
Name
Null? Type
CMODEL
VARCHAR2(20)
CARNO
VARCHAR2(13)
SDATE
DATE
RDATE
DATE
BDATE
DATE
PTYPE
VARCHAR2(15)
SCITY
VARCHAR2(20)
DCITY
VARCHAR2(20)
AMT
NUMBER(10,2)
STATUS
NUMBER(2)
Null? Type
NAME
VARCHAR2(30)
DOB
DATE
MAR_STATUS
VARCHAR2(10)
QUAL
VARCHAR2(15)
EXP
NUMBER(3)
SALARY
NUMBER(8,2)
LIC
VARCHAR2(15)
JDATE
DATE
ADDR
VARCHAR2(50)
CITY
VARCHAR2(20)
Null? Type
VARCHAR2(20)
ADDRESS
VARCHAR2(30)
CITY
VARCHAR2(20)
PHONE
VARCHAR2(15)
VARCHAR2(50)
COMENTS
VARCHAR2(300)
CDATE
DATE
STATUS
NUMBER(1)
Null? Type
VARCHAR2(30)
MSG
VARCHAR2(300)
CDATE
DATE
STATUS
NUMBER(2)
Actor
business process as a likely candidate for modeling as the first step in identifying use cases, you
should list the discrete business functions in your problem statement. Each of these business
functions can be classified as a potential use case. Remember that identifying use cases is a
discovery rather than a creation. As business functionality becomes clearer, the underlying use
cases become more easily evident.
A use case is shown as an ellipse in a use case diagram (see the following figure)
Use case
Discovering implicit use cases is possible only with a thorough understanding of all the
business processes of the system through discussions with potential users of the system and
relevant domain knowledge.
The following relationships are shown in a use-case diagram:
1. Communication: The communication relationship of an actor in a use case is shown by
connecting the actor symbol to the use-case symbol with a solid path. The actor is said to
communicate with the use case.
2. Uses: A uses relationship between use cases is shown by a generalization arrow from the use
case.
3. Extends: The extends relationships is used when you have one use case that is similar to
another use case but does a bit more. In essence, it is like a subclass.
Identifying actors:
a) Customer: customer is the person who selects and books the taxi.
b) Administrator: administrator is the person who manages and maintains all the details.
Identifying Use cases:
Reserve a cab
customer
Bill
Calculation
Contact
Company
customer
Login
Administrator
New
Employee
New Car
Administrator
New
Booking
Inbox
Outbox
Administrator
Compose
Contact
Company
Reservation
customer
Bill
Computation
Administrator
<<includes>>
Contact
Company
Reservation
customer
<<extends>>
Bill
Computation
Administrator
Home
Reserve a Cab
customer
Feedback
Bill computation
UseCase Name
Participating
Customer Usecase
Customer
Actors
Entry Condition The customer has a wish to reserve
Flow of Events
Cab.
1. The customer fills his details in
the registration form provided.
2. The customer clicks Reserve
button.
3. If the customer fills all the fields
correctly, then the system prompts
to Bill form. There he pays the bill
and books his car.
4. Other wise, the system displays some
warning or error messages.
Exit Condition
Login
New Bookings
Administrator
New Employee
Entry
Employee Details
Feedback Reply
UseCase Name
Participating
Administrator Usecase
Administrator
Actors
Entry Condition The administrator enters the system with valid
Flow of Events
3.
Employee
details
are
maintained
and
new
employee
details are stored.
4.
5.
Exit Condition
When all the details are updated, the administrator logs out
From the system.
Identifying Associations
a)
User
Information
Receives
Customer
User
b)
Books
Database
Information
Customer
Database
User
Information
c)
Customer
Sends
Mails
Receives
Administrator
d)
User
Administrator
Information
Logs on
Database
e)
User
Administrator
Information
Adds details
Database
Customer
Home
Reserve a
cab
Bill
Database
Retrieve Details
Reserve a Cab( )
Store Details
Issue Bill( )
Administrator
Customer
1. Login( )
2. Add Details ( )
3. Retrieve Details( )
4. Store Details( )
5. Receive Mails( )
6. Reply to Mails( )
Database
Customer
1.Retrieve Details( )
Home
2.Reserve Cab( )
Reserve a Cab
3. Issue Bill( )
Bill
4.Store Details( )
Database
Administrator
5. Receive
Mails( )
6. Reply Mails( )
Customer
3. Retrieve
Details( )
2. Add details( )
Database
4. Store Details
1. Login ( )
Retrieve Details
No
Selection of
another cab
Cab free
yes
Reserve cabs
Issue bills
Store details( )
Administrator
Login
Add Details
From customer
Retrieve Details
database
Store Details
From customer
Receive mails
To customer
Reply mails
Cab free
yes
Retrieve Details
Reserve a cab
No
Selection of another
cab
Issue bill
Store details
Add Details
Login
For
Retrieve Details
Recieve Details
Administrator
module
Store Details
Reply Mails
Issue Bill
Component Diagram
Package Diagram
Aministrator
+Login
+Password
+New Booking()
+New Car Entry()
+New Employ Entry()
+Employee Details()
+Feed Back()
Customer
+Login
+Password
+Reserve Cab()
+Feed Back()
+Bill Computation()
Deployment Diagram
Profile Diagram
TESTING
Testing is a process of analyzing a system or system components to detect the differences
between specified and observed behavior. In other words, testing is a fault detection technique
that tries to create failures or erroneous states in a planned way. This allows the developer to
detect failures in the system before it is released to the customer.
Test Plan:
A Test Plan is a plan prepared by the testers to follow a systematic procedure adapted to
fulfill the process of testing. This includes the order of testing scenarios implemented.
As our system is concerned we follow the below procedures:
1. Point out what to be tested and where to be tested:
Treat the presence of connection to the database to obtain the data.
Check for the completeness of code to run the system.
Decide the portions of code to be tested and not to be tested.
Implemented the test scenarios and check the outputs with the specified ones.
2. Test criteria:
Here we specify the conditions where the system may fail and add them to test conditions
that are to be tested.
3. Test cases:
A test case is a set of input data and expected results that exercises a component with the
purpose of causing failures and detecting faults. A test case has five attributes:
NameName of the test case.
LocationFull path name of executable.
InputInput data or commands.
OracleExpected test results against which the output of the test is compared.
LogOutput produced by the test
Some of the sample test cases for our project, Online Taxi Cab Service, are given below:
Test Case1
Name
Location
Input1
Oracle1
Log1
Input2
Oracle2
Log2
Password is displayed
Test Case2
Name
Location
Input1
Oracle1
Log1
Input2
Oracle2
Log2
Test Case3
Name
Location
Input1
Oracle1
Log1
Input2
Oracle2
Log2
IMPLEMENTATION
Introduction:
Implementation is the stage where the theoretical design is turned into a working system.
The most crucial stage in achieving a new successful system and in giving confidence on the new
systems for the users that it will work efficiently and effectively.
The system can be implemented only after through testing is done and it is found to work
according to the specification. It involves careful planning, investigation of the current system
and its constraints on implementation, design of methods to achieve the change over and an
evolution of change over methods apart from planning.
implementation are education and training of the users and testing of the system.
Software Selected:
About Java Script
JAVA script enables you to embed commands in an HTML page. When a compatible web
browser, such as Netscape Navigator 2 or higher or Internet explorer 3 or higher, downloads the
page, your JAVA script commands are loaded by the web browser as part of the HTML document.
These commands can be triggered when the user clicks page items, manipulates gadgets and
fields in an HTML form, or moves through the page history list.
JAVA script is an interpreted language - the computer must evaluate the program every
time it is run. You embed your JavaScript commands within an HTML page, and any browser that
supports JavaScript can interprets the commands and act on them. JavaScript is powerful and
simple.
Scripting Language:
JavaScript enables Web authors to write small scripts that execute on the users browsers
rather than on the server. An application that collects data from a form and then posts it to the
server can validate the data for completeness and correctness, for example, before sending it to
the server. This can greatly improve the performance of the browsing session because users dont
have to send data to the server until it has been verified as correct.
Another important Web browser scripting languages such as JavaScript comes as a result
of the increased functionality being introduced for Web browsers in the form of Java applets,
plug-ins, Dynamic HTML elements, Active X Controls, and
Web authors can use each of these things to add extra functions and interactivity to a Web page.
Scripting language acts as the glue that binds everything together.
A Web page might use an HTML form to get some user input and then set a parameter for a Java
applet based on that input. It is usually a script that carries out.
Use of JavaScript:
JavaScript provides a fairly complete set of built-in functions and commands, enabling
you to perform math calculations, manipulate strings, play sounds, open new windows and new
URLs, and access and verify user input to your Web forms.
Code to perform these actions can be embedded in a page and executed when the page is
loaded. We can also write functions containing code that is triggered by events you specify. You
can write a JavaScript method that is called when the user clicks submit button of a form, for
example, or one that is activate when the user clicks a hyperlink on the active page.
JavaScript can also set the attributes, or properties, of Web page elements, Active-x
controls, Java applets and other objects present in the browser.
This way, you can change the behavior of plug-ins or other objects without having to rewrite
them. Your JavaScript code could automatically set the text of an Active-X Label Control, for
example, based on what time the page is viewed.
JavaScript commands are embedded in your HTML documents. Embedding JavaScript in
your pages requires only one new HTML element: <SCRIPT> and </SCRIPT>. The <SCRIPT>
element takes the attribute LANGUAGE, which specifies the scripting language to use when
evaluating the script, and SRC, which can be used to load a script from an external source.
The following are some simple rules to help you understand how the language is
structured:
JavaScript is case sensitive.
JavaScript is flexible about statements. A single statement can cover multiple lines, and
you can put multiple short statements on a single line - just make sure to add a semicolon
(;) at the end of each statement.
Braces (the {and} characters) group statements into blocks; A block may be the body of a
function or a section of code that gets executed in a loop or as part of the conditional test.
JavaScript is designed to resemble Java, which, in turn, looks a lot like C and C++. The
difference is that Java was built as a General-purpose object language; JavaScript, on the other
hand, is intended to provide a quicker and simpler language for enhancing Web pages and servers.
windows or Lotus AmiPro for example, have different styles for Headings,
fonts, size and identification. HTML does not have all these.
Based on the platform, exact placement or appearance of any element will change. There
may be or may not be fonts installed. So your formatted text will appear differently on differently
on different machines/platforms.
By separating the structure of the document and its appearance, a program that reads and
understands HTML can make formatting decision based on capabilities of the individual platform.
In addition to providing the networking functions to retrieve documents, web browsers are also
HTML formatters. They parse and format documents and display them on the screen. Different
browsers show data differently.
Advantages:
An HTML document is a small and hence easy to send over the net. It is small because it
does not include format information.
HTML documents are cross platform compatible and device independent. You only need HTML
readable browser to view them. Font names, locations etc are required.
About DBMS (DATABASE MANAGEMENT SYSTEMS)
A DBMS consists of a collection of interrelated date and a set of programs to access that
data and to modify the data. The collection of data is usually referred as the database. The
database contains information about any particular enterprise. The primary goal of a DBMS is to
provide an environment that is both convenient and efficient to use in retrieving and storing
information into the database.
Database systems are designed to manager large bodies of information. The management
of data involves both the definition of the structure for the storage of information and the
provision of mechanisms for the manipulation of information. In addition the database system
must provide for the safety of information stored in the database despite system crashes or
attempts by users, the system must avoid possible anomalous results.
Introduction to oracle
Oracle is comprehensive operating environment that packs h power of mainframe relation
database management system into users microcomputer. It provides a set of functional program
that user can use as tools to build structures and perform tasks. Because applications are
developed on oracle are completely portable to the other versions of the programmer can create a
complex application in a single user, environment and then move it to a multi-user platform.
Users do not have to be an expert to appreciate oracle but the better user understands the program,
the more productively and creatively he can use the tools it provides.
Relational Database Management System
d) Data Blocks
The data files contain all user data in terms of tables, index and views. The log files
contain the information to open and be recovered, of undone after a transaction (Rollback).
The control files contain physical data, media information to open and manage data files.
If the control file is damaged the server will not be able to open or use the database even if the
database is undamaged.
Apache Tomcat
Apache Tomcat is a web container developed at the Apache Software Foundation (ASF).
Tomcat implements the servlet and the Java Server Pages (JSP) specifications from Sun
Microsystems, providing an environment for Java code to run in cooperation with a web server. It
adds tools for configuration and management but can also be configured by editing configuration
files that are normally XML-formatted. Tomcat includes its own internal HTTP server.
Environment
Tomcat is a web server that supports servlets and JSPs. The accompanying Tomcat Jasper
compiler compiles JSPs into servlets.
The Tomcat servlet engine is often used in combination with an Apache HTTP Server or
other web servers. Tomcat can also function as an independent web server. Earlier in its
development, the perception existed that standalone Tomcat was only suitable for development
environments and other environments with minimal requirements for speed and transaction
handling. However, that perception no longer exists; Tomcat is increasingly used as a standalone
web server in high-traffic, high-availability environments.
Tomcat is cross-platform, running on any operating system that has a Java Runtime Environment.
History
Tomcat started off as a servlet reference implementation by James Duncan Davidson, a
software architect at Sun Microsystems. He later helped make the project open source and played
a key role in its donation by Sun to the Apache Software Foundation. The Apache Ant software
build automation tool was developed as a side-effect of the creation of Tomcat as an open source
project.
Davidson had initially hoped that the project would become open sourced and, since most
open source projects had O'Reilly books associated with them featuring an animal on the cover,
he wanted to name the project after an animal. He came up with Tomcat since he reasoned the
animal represented something that could take care of and fend for itself. His wish to see an animal
cover eventually came true when O'Reilly published their Tomcat book with a tomcat on the
cover.
CONCLUSION
Conclusion of the system describes the satisfaction of the users, as well as the description
of the pattern in which the system works and the comments of he client.
The conclusions made by the user as follows:
All the operations present in the system are working as per the requirements
The system is working at a considerable speed and throughput.
The objectives of the project are achieved and satisfactory.
The Look & Feel of the system is efficient.
The references and links present in the system are much helpful for the users of the
system.
BIBLIOGRAPHY
JAVA-2 Complete-Reference
Author
: 1998
: Fairley
Publisher
Year
: 1985
: Steven Holzner
Publisher
: BPB Publications
Year
: 2000