Cargo Manager
Cargo Manager
ABSTRACT
OBJECTIVE :
1
Cargo Manager
INDEX
S. N CONTENTS
1. INTRODUCTION
2. ANALYSIS
3. DESIGN APPROACH
4. PROJECT MODULES
5. IMPLEMENTATION
4.2 TESTING
6. OUTPUT SCREENS
7. CONCLUSION
8. FUTURE ENHANCEMENTS
9. BIBILIOGRAPHY
2
Cargo Manager
3
Cargo Manager
INTRODUCTION:
CARGOMANAGER requires user entry of container and product
dimensions, together with information on weight and orientation constraints. In-built
database facilities for up to 50 containers and 4000 products are provided so that input
into these screens can be carried out with minimal effort. If information for a particular
product code is already held in the 4000 product database then this is automatically
entered into the appropriate fields.
The first of these will attempt to pack as much of the cargo using
any of the packing methods available to CARGOMANAGER. This may be a loading
from the floor or from the end of the container. The second and third options are self
explanatory and the one most appropriate to the practical circumstances should be
selected.
4
Cargo Manager
5
Cargo Manager
SYSTEM ANALYSIS:
Unconstrained Demand
Most cargo customers, unlike passengers, are more concerned with speed
and reliability than with routings. That gives the cargo carrier an opportunity to route
shipments away from congested bottlenecks and give a better spread of revenues across
the network.
For example, a booking request comes through the reservation center to
ship between a hub airport and major destination. The route is consistently oversold, so
6
Cargo Manager
the bid rate is high. The router will evaluate alternative feasible routes which meet both
the shipper’s requirements and the carrier’s business rules.
System Specifications
7
Cargo Manager
Hardware Requirements:-
Pentium-IV (Processor).
256 MB Ram
Hard disk 40 GB
Microsoft Compatible 101 or more Key Board
Software Requirements: -
8
Cargo Manager
INTRODUCTION:
9
Cargo Manager
UML Diagrams:
10
Cargo Manager
Actor:
A coherent set of roles that users of use cases play when interacting with the use
`cases.
Use case:
A description of sequence of actions, including variants, that a system
performs that yields an observable result of value of an actor.
UML stands for Unified Modeling Language. UML is a language for specifying,
visualizing and documenting the system. This is the step while developing any product
after analysis. The goal from this is to produce a model of the entities involved in the
project which later need to be built. The representation of the entities that are to be used
in the product being developed need to be designed.
There are various kinds of methods in software design:
11
Cargo Manager
USECASE DIAGRAMS:
Use case diagrams model behavior within a system and helps the
developers understand of what the user require. The stick man represents what’s called
an actor.
Use case diagram can be useful for getting an overall view
of the system and clarifying that can do and more importantly what they can’t do.
The purpose is to show the interactions between the use case and actor.
To represent the system requirements from user’s perspective.
An actor could be the end-user of the system or an external system.
USECASE DIAGRAM:
12
Cargo Manager
SEQUENCE DIAGRAM:
13
Cargo Manager
14
Cargo Manager
COLLABORATION DIAGRAM:
15
Cargo Manager
CLASS DIAGRAM:
Class is nothing but a structure that contains both variables and methods. The
Class Diagram shows a set of classes, interfaces, and collaborations and their relating
ships. There is most common diagram in modeling the object oriented systems and are
used to give the static view of a system. It shows the dependency between the classes
that can be used in our system.
The interactions between the modules or classes of our projects are shown below.
Each block contains Class Name, Variables and Methods.
CLASS:
A description of set of objects that share the same attributes, operations,
relationships, and semantics
16
Cargo Manager
17
Cargo Manager
The DFD takes an input-process-output view of a system i.e. data objects flow
into the software, are transformed by processing elements, and resultant data objects flow
out of the software.
A context-level DFD for the system the primary external entities produce
information for use by the system and consume information generated by the system. The
labeled arrow represents data objects or object hierarchy.
18
Cargo Manager
Identify and label each process internal to the system with Rounded circles.
A process is required for all the data transformation and Transfers. Therefore,
never connect a data store to a data Source or the destinations or another data
store with just a Data flow arrow.
Make sure the names of the processes accurately convey everything the
process is done.
Identify all data flows for each process step, except simple Record retrievals.
19
Cargo Manager
DATAFLOW DIAGRAMS:
Database:
User
registrationn
Booking
cargo
Status
Customer
id
20
Cargo Manager
user registration
User
User registration details
Booking cargo
User
Booking cargo details
21
Availab
e
Quantiti
Cargo Manager
E-R Diagrams:
The Entity-Relationship (ER) model was originally proposed by Peter in 1976
[Chen76] as a way to unify the network and relational database views. Simply stated the ER
model is a conceptual data model that views the real world as entities and relationships. A basic
component of the model is the Entity-Relationship diagram which is used to visually represents
data objects. Since Chen wrote his paper the model has been extended and today it is commonly
used for database design For the database designer, the utility of the ER model is:
it maps well to the relational model. The constructs used in the ER model can easily be
transformed into relational tables.
it is simple and easy to understand with a minimum of training. Therefore, the model can
be used by the database designer to communicate the design to the end user.
In addition, the model can be used as a design plan by the database developer to
implement a data model in a specific database management software.
A many-to-many (M:N) relationship, sometimes called non-specific, is when for one instance of
entity A, there are zero, one, or many instances of entity B and for one instance of entity B there
are zero, one, or many instances of entity A. The connectivity of a relationship describes the
mapping of associated
22
Cargo Manager
ER Notation
There is no standard for representing data objects in ER diagrams. Each modeling
methodology uses its own notation. The original notation used by Chen is widely used in
academics texts and journals but rarely seen in either CASE tools or publications by non-
academics. Today, there are a number of notations used, among the more common are Bachman,
crow's foot, and IDEFIX.
All notational styles represent entities as rectangular boxes and relationships as lines
connecting boxes. Each style uses a special set of symbols to represent the cardinality of a
connection. The notation used in this document is from Martin. The symbols used for the basic
ER constructs are:
entities are represented by labeled rectangles. The label is the name of the entity. Entity
relationships are represented by a solid line connecting two entities. The name of the
attributes, when included, are listed inside the entity rectangle. Attributes which are
cardinality of many is represented by a line ending in a crow's foot. If the crow's foot is
existence is shown by the bar (looks like a 1) next to the entity for an instance is required.
Optional existence is shown by placing a circle next to the entity that is optional
23
Cargo Manager
PROJECT MODULES
MODULES:
24
Cargo Manager
ADMINISTRATOR MODULE
LOGIN MODULE
USER MODULE
MODULE DESCRIPTION
ADMINISTRATOR MODULE :
LOGIN MODULE :
USER MODULE :
This module will provide inbox for the user to view the messages
from the administrator. It also provides to view the status of your cargo. This module
also provides to cancel the cargo.
25
Cargo Manager
The .NET Framework has two main components: the common language runtime and
the .NET Framework class library. The common language runtime is the foundation
of the .NET Framework. You can think of the runtime as an agent that manages code
at execution time, providing core services such as memory management, thread
management, and remoting, while also enforcing strict type safety and other forms of
code accuracy that ensure security and robustness. In fact, the concept of code
management is a fundamental principle of the runtime. Code that targets the runtime
26
Cargo Manager
is known as managed code, while code that does not target the runtime is known as
unmanaged code. The class library, the other main component of the .NET
Framework, is a comprehensive, object-oriented collection of reusable types that you
can use to develop applications ranging from traditional command-line or graphical
user interface (GUI) applications to applications based on the latest innovations
provided by ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by unmanaged components that load the
common language runtime into their processes and initiate the execution of managed
code, thereby creating a software environment that can exploit both managed and
unmanaged features. The .NET Framework not only provides several runtime hosts,
but also supports the development of third-party runtime hosts.
27
Cargo Manager
With regards to security, managed components are awarded varying degrees of trust,
depending on a number of factors that include their origin (such as the Internet,
enterprise network, or local computer). This means that a managed component might
or might not be able to perform file-access operations, registry-access operations, or
other sensitive functions, even if it is being used in the same active application.
The runtime enforces code access security. For example, users can trust that an
executable embedded in a Web page can play an animation on screen or sing a song,
but cannot access their personal data, file system, or network. The security features of
the runtime thus enable legitimate Internet-deployed software to be exceptionally
featuring rich.
The runtime also enforces code robustness by implementing a strict type- and
code-verification infrastructure called the common type system (CTS). The CTS
ensures that all managed code is self-describing. The various Microsoft and third-
party language compilers generate managed code that conforms to the CTS. This
means that managed code can consume other managed types and instances, while
strictly enforcing type fidelity and type safety.
28
Cargo Manager
While the runtime is designed for the software of the future, it also supports
software of today and yesterday. Interoperability between managed and unmanaged
code enables developers to continue to use necessary COM components and DLLs.
The .NET Framework class library is a collection of reusable types that tightly
integrate with the common language runtime. The class library is object oriented,
providing types from which your own managed code can derive functionality. This
not only makes the .NET Framework types easy to use, but also reduces the time
associated with learning new features of the .NET Framework. In addition, third-party
components can integrate seamlessly with classes in the .NET Framework.
29
Cargo Manager
that support a variety of specialized development scenarios. For example, you can use
the .NET Framework to develop the following types of applications and services:
Console applications.
Scripted or hosted applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.
For example, the Windows Forms classes are a comprehensive set of reusable types
that vastly simplify Windows GUI development. If you write an ASP.NET Web Form
application, you can use the Web Forms classes.
30
Cargo Manager
For example, the .NET Framework provides simple properties to adjust visual
attributes associated with forms. In some cases the underlying operating system does
not support changing these attributes directly, and in these cases the .NET Framework
automatically recreates the forms. This is one of many ways in which the .NET
Framework integrates the developer interface, making coding simpler and more
consistent.
The following illustration shows a basic network schema with managed code
running in different server environments. Servers such as IIS and SQL Server can
perform standard operations while your application logic executes through the
managed code.
31
Cargo Manager
ASP.NET is the hosting environment that enables developers to use the .NET
Framework to target Web-based applications. However, ASP.NET is more than just a
runtime host; it is a complete architecture for developing Web sites and Internet-
distributed objects using managed code. Both Web Forms and XML Web services
use IIS and ASP.NET as the publishing mechanism for applications, and both have a
collection of supporting classes in the .NET Framework.
If you have used earlier versions of ASP technology, you will immediately
notice the improvements that ASP.NET and Web Forms offers. For example, you can
develop Web Forms pages in any language that supports the .NET Framework. In
addition, your code no longer needs to share the same file with your HTTP text
(although it can continue to do so if you prefer). Web Forms pages execute in native
machine language because, like any other managed application, they take full
advantage of the runtime. In contrast, unmanaged ASP pages are always scripted and
interpreted. ASP.NET pages are faster, more functional, and easier to develop than
unmanaged ASP pages because they interact with the runtime like any managed
application.
The .NET Framework also provides a collection of classes and tools to aid in
development and consumption of XML Web services applications. XML Web
32
Cargo Manager
For example, the Web Services Description Language tool included with
the .NET Framework SDK can query an XML Web service published on the Web,
parse its WSDL description, and produce C# or Visual Basic source code that your
application can use to become a client of the XML Web service. The source code can
create classes derived from classes in the class library that handle all the underlying
communication using SOAP and XML parsing. Although you can use the class
library to consume XML Web services directly, the Web Services Description
Language tool and the other tools contained in the SDK facilitate your development
efforts with the .NET Framework.
If you develop and publish your own XML Web service, the .NET Framework
provides a set of classes that conform to all the underlying communication standards,
such as SOAP, WSDL, and XML. Using those classes enables you to focus on the
logic of your service, without concerning yourself with the communications
infrastructure required by distributed software development.
Finally, like Web Forms pages in the managed environment, your XML Web service
will run with the speed of native machine language using the scalable communication
of IIS.
33
Cargo Manager
Enhanced Performance.
ASP.NET is compiled common language runtime code running on the server. Unlike
its interpreted predecessors, ASP.NET can take advantage of early binding, just-in-
time compilation, native optimization, and caching services right out of the box. This
amounts to dramatically better performance before you ever write a line of code.
Because ASP.NET is based on the common language runtime, the power and
flexibility of that entire platform is available to Web application developers.
The .NET Framework class library, Messaging, and Data Access solutions are all
seamlessly accessible from the Web. ASP.NET is also language-independent, so you
can choose the language that best applies to your application or partition your
application across many languages. Further, common language runtime
interoperability guarantees that your existing investment in COM-based development
is preserved when migrating to ASP.NET.
Simplicity.
ASP.NET makes it easy to perform common tasks, from simple form submission and
client authentication to deployment and site configuration. For example, the
ASP.NET page framework allows you to build user interfaces that cleanly separate
application logic from presentation code and to handle events in a simple, Visual
34
Cargo Manager
Basic - like forms processing model. Additionally, the common language runtime
simplifies development, with managed code services such as automatic reference
counting and garbage collection.
Manageability
35
Cargo Manager
Language Support
The Microsoft .NET Platform currently offers built-in support for three
languages: C#, Visual Basic, and JScript.
The ability to create and use reusable UI controls that can encapsulate
common functionality and thus reduce the amount of code that a page
developer has to write.
The ability for developers to cleanly structure their page logic in an orderly
fashion (not "spaghetti code").
The ability for development tools to provide strong WYSIWYG design
support for pages (existing ASP code is opaque to tools).
`ASP.NET Web Forms pages are text files with an .aspx file name
extension. They can be deployed throughout an IIS virtual root directory tree.
When a browser client requests .aspx resources, the ASP.NET runtime parses
and compiles the target file into a .NET Framework class. This class can then be
used to dynamically process incoming requests. (Note that the .aspx file is
compiled only the first time it is accessed; the compiled type instance is then
reused across multiple requests).
36
Cargo Manager
ASP.NET supports two methods of authoring dynamic pages. The first is the
method shown in the preceding samples, where the page code is physically declared
within the originating .aspx file. An alternative approach--known as the code-behind
method--enables the page code to be more cleanly separated from the HTML content
into an entirely separate file.
In addition to (or instead of) using <% %> code blocks to program dynamic
content, ASP.NET page developers can use ASP.NET server controls to program
Web pages. Server controls are declared within an .aspx file using custom tags or
intrinsic HTML tags that contain a runat="server" attributes value. Intrinsic HTML
tags are handled by one of the controls in the System.Web.UI.HtmlControls
namespace. Any tag that doesn't explicitly map to one of the controls is assigned the
type of System.Web.UI.HtmlControls.HtmlGenericControl.
Server controls automatically maintain any client-entered values between round trips
to the server. This control state is not stored on the server (it is instead stored within
37
Cargo Manager
1. ASP.NET Web Forms provide an easy and powerful way to build dynamic
Web UI.
2. ASP.NET Web Forms pages can target any browser client (there are no script
library or cookie requirements).
3. ASP.NET Web Forms pages provide syntax compatibility with existing ASP
pages.
4. ASP.NET server controls provide an easy way to encapsulate common
functionality.
5. ASP.NET ships with 45 built-in server controls. Developers can also use
controls built by third parties.
6. ASP.NET server controls can automatically project both up level and down
level HTML.
7. ASP.NET templates provide an easy way to customize the look and feel of list
server controls.
8. ASP.NET validation controls provide an easy way to do declarative client or
server data validation.
Crystal Reports
38
Cargo Manager
Crystal Reports for Visual Basic .NET is the standard reporting tool for Visual
Basic.NET; it brings the ability to create interactive, presentation-quality content —
which has been the strength of Crystal Reports for years — to the .NET platform.
With Crystal Reports for Visual Basic.NET, you can host reports on Web and
Windows platforms and publish Crystal reports as Report Web Services on a Web
server.
To present data to users, you could write code to loop through record sets and
print them inside your Windows or Web application. However, any work beyond
basic formatting can be complicated: consolidations, multiple level totals, charting,
and conditional formatting are difficult to program.
With Crystal Reports for Visual Studio .NET, you can quickly create complex
and professional-looking reports. Instead of coding, you use the Crystal Report
Designer interface to create and format the report you need. The powerful Report
Engine processes the formatting, grouping, and charting criteria you specify.
Report Experts
Using the Crystal Report Experts, you can quickly create reports based on your
development needs:
Choose from report layout options ranging from standard reports to form letters, or
build your own report from scratch.
Display charts that users can drill down on to view detailed report data.
Calculate summaries, subtotals, and percentages on grouped data.
Show TopN or BottomN results of data.
Conditionally format text and rotate text objects.
39
Cargo Manager
Relational Database
There are different ways to organize data in a database but relational databases
are one of the most effective. Relational database systems are an application of
mathematical set theory to the problem of effectively organizing data. In a relational
database, data is collected into tables (called relations in relational theory).
When organizing data into tables, you can usually find many different ways to
define tables. Relational database theory defines a process, normalization, which
ensures that the set of tables you define will organize your data effectively.
Client/Server:-
In a client/server system, the server is a relatively large computer in a central
location that manages a resource used by many people. When individuals need to use
the resource, they connect over the network from their computers, or clients, to the
server.
40
Cargo Manager
41
Cargo Manager
Scalability
The same database engine can be used across platforms ranging from laptop
computers running Microsoft Windows® 95/98 to large, multiprocessor servers
running Microsoft Windows NT®, Enterprise Edition.
Data warehousing
SQL Server includes tools for extracting and analyzing summary data for online
analytical processing (OLAP). SQL Server also includes tools for visually designing
databases and analyzing data using English-based questions.
Databases
A database in Microsoft SQL Server consists of a collection of tables that contain
data, and other objects, such as views, indexes, stored procedures, and triggers,
defined to support activities performed with the data. The data stored in a database is
usually related to a particular subject or process, such as inventory information for a
manufacturing warehouse.
SQL Server can support many databases, and each database can store either
interrelated data or data unrelated to that in the other databases. For example, a server
can have one database that stores personnel data and another that stores product-
related data. Alternatively, one database can store current customer order data, and
another; related database can store historical customer orders that are used for yearly
reporting. Before you create a database, it is
important to understand the parts of a database and how to design these parts to
ensure that the database performs well after it is implemented.
42
Cargo Manager
Normalization theory:
Relations are to be normalized to avoid anomalies. In insert, update and delete
operations. Normalization theory is built around the concept of normal forms. A
relation is said to be in a particular form if it satisfies a certain specified set if
constraints. To decide a suitable logical structure for given database design the
concept of normalization, which are briefly described below.
43
Cargo Manager
Middleware Technology
Activex Data Objects.Net Overview
ADO.NET is an evolution of the ADO data access model that directly
addresses user requirements for developing scalable applications. It was designed
specifically for the web with scalability, statelessness, and XML in mind.
ADO.NET uses some ADO objects, such as the Connection and Command objects,
and also introduces new objects. Key new ADO.NET objects include the Dataset,
Data Reader, and Data Adapter.
A Data Adapter is the object that connects to the database to fill the Dataset.
Then, it connects back to the database to update the data there, based on operations
performed while the Dataset held the data. In the past, data processing has been
primarily connection-based. Now, in an effort to make multi-tiered apps more
efficient, data processing is turning to a message-based approach that revolves around
chunks of information. At the center of this approach is the Data Adapter, which
provides a bridge to retrieve and save data between a Dataset and its source data
store. It accomplishes this by means of requests to the appropriate SQL commands
made against the data store.
44
Cargo Manager
Dataset is, it is manipulated through the same set of standard APIs exposed through
the Dataset and its subordinate objects.
While the Dataset has no knowledge of the source of its data, the managed
provider has detailed and specific information. The role of the managed provider is to
connect, fill, and persist the Dataset to and from data stores. The OLE DB and SQL
Server .NET Data Providers (System.Data.OleDb and System.Data.SqlClient) that are
part of the .Net Framework provide four basic objects: the Command, Connection,
Data Reader and Data Adapter. In the remaining sections of this document, we'll walk
through each part of the Dataset and the OLE DB/SQL Server .NET Data Providers
explaining what they are, and how to program against them. The following sections
will introduce you to some objects that have evolved, and some that are new. These
objects are:
When dealing with connections to a database, there are two different options: SQL
Server .NET Data Provider (System.Data.SqlClient) and OLE DB .NET Data
Provider (System.Data.OleDb). In these samples we will use the SQL Server .NET
Data Provider. These are written to talk directly to Microsoft SQL Server. The OLE
DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB
underneath).
Connections
Connections are used to 'talk to' databases, and are represented by provider-
specific classes such as SQLConnection. Commands travel over connections and
45
Cargo Manager
result sets are returned in the form of streams which can be read by a Data Reader
object, or pushed into a Dataset object.
Commands
Data Readers
Datasets
The Dataset object is similar to the ADO Record set object, but more powerful, and
with one other important distinction: the Dataset is always disconnected. The Dataset
object represents a cache of data, with database-like structures such as tables,
columns, relationships, and constraints. However, though a Dataset can and does
behave much like a database, it is important to remember that Dataset objects do not
interact directly with databases, or other source data. This allows the developer to
work with a programming model that is always consistent, regardless of where the
source data resides. Data coming from a database, an XML file, from code, or user
input can all be placed into Dataset objects. Then, as changes are made to the Dataset
they can be tracked and verified before updating the source data. The Get Changes
method of the Dataset object actually creates a second Dataset that contains only the
changes to the data. This Dataset is then used by a Data Adapter (or other objects) to
update the original data source. The Dataset has many XML characteristics, including
the ability to produce and consume XML data and XML schemas. XML schemas can
46
Cargo Manager
be used to describe schemas interchanged via Web Services. In fact, a Dataset with a
schema can actually be compiled for type safety and statement completion.
The Data Adapter object works as a bridge between the Dataset and the source data.
Using the provider-specific SqlDataAdapter (along with its associated SqlCommand
and SqlConnection) can increase overall performance when working with a Microsoft
SQL Server databases. For other OLE DB-supported databases, you would use the
OleDbDataAdapter object and its associated OleDbCommand and OleDbConnection
objects. The Data Adapter object uses commands to update the data source after
changes have been made to the Dataset. Using the Fill method of the Data Adapter
calls the SELECT command; using the Update method calls the INSERT, UPDATE
or DELETE command for each changed row. You can explicitly set these commands
in order to control the statements used at runtime to resolve changes, including the
use of stored procedures. For ad-hoc scenarios, a Command Builder object can
generate these at run-time based upon a select statement. However, this run-time
generation requires an extra round-trip to the server in order to gather required
metadata, so explicitly providing the INSERT, UPDATE, and DELETE commands at
design time will result in better run-time performance.
Client-side Script(JAVASCRIPT):-
47
Cargo Manager
JavaScript:
JavaScript is a new scripting language for WebPages. Scripts written with java
script can be embedded into your HTML pages. With java script you have many
possibilities for enhancing your HTML page with interesting elements. For example you
are able to respond to user-initiated events quite easily. Some effects that are now
possible with java script were some time ago only possible with CGI. So you can create
really sophisticated pages with the helps of java script on the Internet.
The first browser to support java script was the Netscape Navigator 2.0 of course
the higher versions do have java script as well. You might know that java does not run
on all Netscape Navigators 2.0 (or higher versions) versions. But this is not true for java
script -although there are some problems with the different versions.
The Mac version for example seems to have many bugs. In the near future there
are going to be some other browsers, which support java script. The Microsoft Internet
explorer 3.0 is going to support java script. JavaScript enabled browsers are going to
spread soon - it is worth learning this new technique now. You might realize that is really
easy to write Java Script scripts. We have to know is some basic techniques and some
work-around for problems you might encounter. Of course we need a basic.
Understanding HTML before reading this tutorial you can find many really good online
resources about HTML. Best you make an online search about ‘html’ at yahoo if you
want to get informed about HTML. Now I want to show some small scripts so you can
learn how they are implemented into HTML-documents and to show which possibilities
you have with the new scripting language. The following is a very small script, which
will only print a text into an HTML document.
<html>
48
Cargo Manager
<head>
My first JavaScript
</head>
<body><br>
This is a normal HTML document
<br>
<script language=”JavaScript”>
Document.write (“this is a java script”)
</script><b r>
Backing HTML again
</body>
</html>
If you are using a java script enabled-browser at the moment then you will have the
possibility to see this script working. If your browser doesn’t support Java Script then this
output might be some kind of strange…
This is a normal HTML document
This is java script!
Back in HTML again.
Functions
Functions are bet declared between the <Head> tag of HTML page. Functions are called
by user-initiated events. Seems reasonable to keep the functions between the <Head>
tags. They are loaded first before a user can do anything that might call a function.
Scripts can be placed between inside comment fields to ensure that older browser do not
display the script itself.
49
Cargo Manager
<html>
<head>
<script language=”JavaScript”>
function pushbutton (){
alert (“Hello!”);
}
</script>
</head>
<body>
<form>
<input type=”button” name=”Button1” value=”push me” onclick=”pushbutton ()”>
</form>
</body>
</html>
If we want to test this one immediately and you are using a Java Script enabled
browser then please go ahead and push the button.
This script will create a button and when you press it a window will pop up saying
“hello!”. In fact we have a lot of possibilities just by adding functions to our scripts.
The common browsers transmit the form information by either method: here’s the
complete tag including the GET transmission method attribute for the previous form
Example
Input elements.
50
Cargo Manager
Use the <input> tag to define any one of a number of common form elements including
text fields multiple choice lists click able images and submission buttons. There are
many attributers for this tag only that types and name attributes are required for each
element, each type of input element uses only a subset of the followed attributes.
Additional <input> attributes may be required based upon which type of the form
element you specify.
Submit button:
The submit button (<input type=submit> ) does what its name implies, settings in motion
the form’s submission to the server from the browser. We many have more than submit
buttons will be added to the parameter list the browser sends along to the server.
Example
< Input type =”submit”>
<Input type=”submit” value=”submit” name=”name”>
Reset button:
The reset button if firm <input> button is nearly self- explanatory; it lets the user reset
erase or set to some default value all elements in the form. By default the browser
displays a reset button worth the label “reset”. We can change that by specifying a value
attribute with tour own button label.
51
Cargo Manager
DATABASE MODELS
ADO.NET and accessing the database through applets and ADO.NET API via an
intermediate server resulted server resulted in a new type of database model which is
different from the client-server model. Based on number of intermediate server through
the request should go it is named as single tire, two tire and multi tire architecture
Single Tier
In a single tier the server and client are the same in the sense that a client program
that needs information (client) and the source of this type of architecture is also possible
in java, in case flat files are used to store the data. However this is useful only in case of
small applications. The advantage with this is the simplicity and portability of the
application developed.
Server and
client
Database
In two tier architecture the database resides in one machine and client in different
machine they are connected through the network. In this type of architecture a database
management takes control of the database and provides access to clients in a network.
52
Cargo Manager
This software bundle is also called as the server. Software in different machines,
requesting for information are called as the clients.
Server
Client
Database
Client
In the three-tier architecture, any number servers can access the database that
resides on server. Which in turn serve clients in a network. For example, you want to
53
Cargo Manager
access the database using java applets, the applet running in some other machine, can
send request only to the server from which it is down loaded. For this reason we will need
to have a intermediate server which will accept the requests from applets and them to the
actual database server. This intermediate server acts as a two-way communication
channel also. This is the information or data from the database is passed on to the applet
that is requesting it. This can be extended to make n tiers of servers, each server carrying
to specific type of request from clients, however in practice only 3 tiers architecture is
popular.
C# Language
C# (pronounced C Sharp) is a multi-paradigm programming language that encompasses
functional, imperative, generic, object-oriented (class-based), and component-oriented
programming disciplines. It was developed by Microsoft as part of the .NET initiative
and later approved as a standard by ECMA (ECMA-334) and ISO (ISO/IEC 23270). C#
is one of the 44 programming languages supported by the .NET Framework's Common
Language Runtime.
C# is intended to be a simple, modern, general-purpose, object-oriented programming
language. Anders Hejlsberg, the designer of Delphi, leads the team which is developing
C#. It has an object-oriented syntax based on C++ and is heavily influenced by other
programming languages such as Delphi and Java. It was initially named Cool, which
stood for "C like Object Oriented Language". However, in July 2000, when Microsoft
made the project public, the name of the programming language was given as C#. The
most recent version of the language is C# 3.0 which was released in conjunction with
the .NET Framework 3.5 in 2007. The next proposed version, C# 4.0, is in development.
History:-
In 1996, Sun Microsystems released the Java programming language with Microsoft soon
purchasing a license to implement it in their operating system. Java was originally meant
to be a platform independent language, but Microsoft, in their implementation, broke
their license agreement and made a few changes that would essentially inhibit Java's
platform-independent capabilities. Sun filed a lawsuit and Microsoft settled, deciding to
create their own version of a partially compiled, partially interpreted object-oriented
programming language with syntax closely related to that of C++.
54
Cargo Manager
During the development of .NET, the class libraries were originally written in a
language/compiler called Simple Managed C (SMC). In January 1999, Anders Hejlsberg
formed a team to build a new language at the time called Cool, which stood for "C like
Object Oriented Language".Microsoft had considered keeping the name "Cool" as the
final name of the language, but chose not to do so for trademark reasons. By the time
the .NET project was publicly announced at the July 2000 Professional Developers
Conference, the language had been renamed C#, and the class libraries and ASP.NET
runtime had been ported to C#.
C#'s principal designer and lead architect at Microsoft is Anders Hejlsberg, who was
previously involved with the design of Visual J++, Borland Delphi, and Turbo Pascal. In
interviews and technical papers he has stated that flaws in most major programming
languages (e.g. C++, Java, Delphi, and Smalltalk) drove the fundamentals of the
Common Language Runtime (CLR), which, in turn, drove the design of the C#
programming language itself. Some argue that C# shares roots in other languages.
Features of C#:-
By design, C# is the programming language that most directly reflects the underlying
Common Language Infrastructure (CLI). Most of C#'s intrinsic types correspond to
value-types implemented by the CLI framework. However, the C# language specification
does not state the code generation requirements of the compiler: that is, it does not state
that a C# compiler must target a Common Language Runtime (CLR), or generate
Common Intermediate Language (CIL), or generate any other specific format.
Theoretically, a C# compiler could generate machine code like traditional compilers of
C++ or FORTRAN; in practice, all existing C# implementations target CIL.
Some notable C# distinguishing features are:
There are no global variables or functions. All methods and members must be
declared within classes. It is possible, however, to use static methods/variables
within public classes instead of global variables/functions.
Local variables cannot shadow variables of the enclosing block, unlike C and C+
+. Variable shadowing is often considered confusing by C++ texts.
C# supports a strict Boolean data type, bool. Statements that take conditions, such
as while and if, require an expression of a boolean type. While C++ also has a
boolean type, it can be freely converted to and from integers, and expressions
such as if(a) require only that a is convertible to bool, allowing a to be an int, or a
pointer. C# disallows this "integer meaning true or false" approach on the grounds
that forcing programmers to use expressions that return exactly bool can prevent
certain types of programming mistakes such as if (a = b) (use of = instead of ==).
In C#, memory address pointers can only be used within blocks specifically
marked as unsafe, and programs with unsafe code need appropriate permissions to
run. Most object access is done through safe object references, which are always
either pointing to a valid, existing object, or have the well-defined null value; a
reference to a garbage-collected object, or to random block of memory, is
55
Cargo Manager
Categories of datatypes
CTS separates datatypes into two categories:
Value types
Reference types
Value types are plain aggregations of data. Instances of value types do not have
referential identity nor a referential comparison semantics - equality and inequality
comparisons for value types compare the actual data values within the instances, unless
the corresponding operators are overloaded. Value types are derived from
56
Cargo Manager
System.ValueType, always have a default value, and can always be created and copied.
Some other limitations on value types are that they cannot derive from each other (but
can implement interfaces) and cannot have a default (parameterless) constructor.
Examples of value types are some primitive types, such as int (a signed 32-bit integer),
float (a 32-bit IEEE floating-point number), char (a 16-bit Unicode codepoint), and
System.DateTime (identifies a specific point in time with millisecond precision).
In contrast, reference types have the notion of referential identity - each instance of
reference type is inherently distinct from every other instance, even if the data within
both instances is the same. This is reflected in default equality and inequality
comparisons for reference types, which test for referential rather than structural equality,
unless the corresponding operators are overloaded (such as the case for System.String). In
general, it is not always possible to create an instance of a reference type, nor to copy an
existing instance, or perform a value comparison on two existing instances, though
specific reference types can provide such services by exposing a public constructor or
implementing a corresponding interface (such as ICloneable or IComparable). Examples of
reference types are object (the ultimate base class for all other C# classes), System.String (a
string of Unicode characters), and System.Array (a base class for all C# arrays).
Both type categories are extensible with user-defined types.
Features of C# 2.0
New features in C# for the .NET SDK 2.0 (corresponding to the 3rd edition of the
ECMA-334 standard) are:
Partial class
Partial classes allow implementation of a class to be spread between several files, with
each file containing one or more class members. It is primary useful when parts of a class
are automatically generated. For example, the feature is heavily used by code-generating
user interface designers in Visual Studio.
file1.cs:
public partial class MyClass
57
Cargo Manager
{
public void MyMethod1()
{
// Manually written code
}
}
file2.cs:
public partial class MyClass
{
public void MyMethod2()
{
// Automatically generated code
}
}
Generics
Generics, or parameterized types, or parametric polymorphism is a .NET 2.0 feature
supported by C#. Unlike C++ templates, .NET parameterized types are instantiated at
runtime rather than by the compiler; hence they can be cross-language whereas C++
templates cannot. They support some features not supported directly by C++ templates
such as type constraints on generic parameters by use of interfaces. On the other hand, C#
does not support non-type generic parameters. Unlike generics in Java, .NET generics use
reification to make parameterized types first-class objects in the CLI Virtual Machine,
which allows for optimizations and preservation of the type information.
Static classes
Static classes are classes that cannot be instantiated or inherited from, and that only allow
static members. Their purpose is similar to that of modules in many procedural
languages.
Anonymous delegates
Anonymous delegates provide closure functionality in C#. Code inside the body of an
anonymous delegate has full read/write access to local variables, method parameters, and
class members in scope of the delegate, excepting out and ref parameters. For example:-
58
Cargo Manager
Nullable types
Nullable value types (denoted by a question mark, e.g. int? i = null;) which add null to the
set of allowed values for any value type. This provides improved interaction with SQL
databases, which can have nullable columns of types corresponding to C# primitive
types: an SQL INTEGER NULL column type directly translates to the C# int?.
Nullable types received an eleventh-hour improvement at the end of August 2005, mere
weeks before the official launch, to improve their boxing characteristics: a nullable
variable which is assigned null is not actually a null reference, but rather an instance of
struct Nullable<T> with property HasValue equal to false. When boxed, the Nullable instance
itself is boxed, and not the value stored in it, so the resulting reference would always be
non-null, even for null values. The following code illustrates the corrected flaw:
int? i = null;
object o = i;
if (o == null)
Console.WriteLine("Correct behaviour - runtime version from September 2005 or later");
else
Console.WriteLine("Incorrect behaviour - pre-release runtime (from before September 2005)");
When copied into objects, the official release boxes values from Nullable instances, so
null values and null references are considered equal. The late nature of this fix caused
some controversy , since it required core-CLR changes affecting not only .NET2, but all
dependent technologies (including C#, VB, SQL Server 2005 and Visual Studio 2005).
59
Cargo Manager
BOOKING TABLE
FEASIBILITY STUDY:
Feasibility
study is
NAME NOT / NOTNULL TYPE
conducted once
customername NOTNULL VARCHAR2(10)
emailid NOTNULL VARCHAR2(10) the problem is
address NOTNULL VARCHAR2(10)
clearly
Tyoeofmeterial NOTNULL VARCHAR2(10)
productname NOTNULL VARCHAR2(10) understood.
noofproducts NOTNULL VARCHAR2(15) Feasibility study
source NOTNULL VARCHAR2(20)
destination NOTNULL VARCHAR2(10) is a high level
destinationaddress NOTNULL NUMBER(10,2)) capsule version of
the entire system analysis and design process. The objective is to determine quickly at a
minimum expense how to solve a problem. The purpose of feasibility is not to solve the
problem but to determine if the problem is worth solving.
60
Cargo Manager
The system has been tested for feasibility in the following points.
1. Technical Feasibility
2. Economical Feasibility
3. Operational Feasibility.
1. Technical Feasibility
The project entitles "Courier Service System” is technically feasibility
because of the below mentioned feature. The project was developed in Java which
Graphical User Interface.
It provides the high level of reliability, availability and compatibility. All
these make Java an appropriate language for this project. Thus the existing
software Java is a powerful language.
2. Economical Feasibility
61
Cargo Manager
3. Operational Feasibility
Implementation:
The system can be implemented only after thorough testing is done and if 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 evaluation of
change over methods a part from planning. Two major tasks of preparing the
implementation are education and training of the users and testing of the system.
The more complex the system being implemented, the more involved will be the
62
Cargo Manager
TESTING:
1. The first includes unit testing, where in each module is tested to provide its
correctness, validity and also determine any missing operations and to verify whether the
objectives have been met. Errors are noted down and corrected immediately. Unit testing
is the important and major part of the project. So errors are rectified easily in particular
module and program clarity is increased. In this project entire system is divided into
several modules and is developed individually. So unit testing is conducted to individual
modules.
63
Cargo Manager
2. The second step includes Integration testing. It need not be the case, the
software whose modules when run individually and showing perfect results, will also
show perfect results when run as a whole. The individual modules are clipped under this
major module and tested again and verified the results. This is due to poor interfacing,
which may results in data being lost across an interface. A module can have inadvertent,
adverse effect on any other or on the global data structures, causing serious problems.
3. The final step involves validation and testing which determines which the
software functions as the user expected. Here also some modifications were. In the
completion of the project it is satisfied fully by the end user.
Correction
Adaptation
Enhancement
64
Cargo Manager
Prevention
Correction:
Even with the best quality assurance activities is lightly that the customer
will uncover defects in the software. Corrective maintenance changes the software
to correct defects.
Corrective Maintenance
Adaptive Maintenance
Perfective Maintenance or Enhancement
Preventive Maintenance or reengineering
Only about 20 percent of all maintenance work are spent "fixing mistakes". The
remaining 80 percent are spent adapting existing systems to changes in their
external environment, making enhancements requested by users, and
reengineering an application for use.
ADAPTATION:
Over time, the original environment (E>G., CPU, operating system, business
rules, external product characteristics) for which the software was developed is likely to
change. Adaptive maintenance results in modification to the software to accommodate
change to its external environment.
ENHANCEMENT:
As software is used, the customer/user will recognize additional functions that will
65
Cargo Manager
provide benefit. Perceptive maintenance extends the software beyond its original function
requirements.
PREVENTION :
66
Cargo Manager
System Testing is an important phase. Testing represents an interesting anomaly for the
software. Thus a series of testing are performed for the proposed system before the
system is ready for user acceptance testing.
A good test case is one that has a high probability of finding an as undiscovered
error. A successful test is one that uncovers an as undiscovered error.
Testing Objectives:
Testing Principles:
67
Cargo Manager
The primary objective for test case design is to derive a set of tests that has the
highest livelihood for uncovering defects in software. To accomplish this objective two
different categories of test case design techniques are used. They are
White-box testing:
White box testing focus on the program control structure. Test cases are derived
to ensure that all statements in the program have been executed at least once during
testing and that all logical conditions have been executed.
Block-box testing:
Black box testing is designed to validate functional requirements without regard to the
internal workings of a program. Black box testing mainly focuses on the information
domain of the software, deriving test cases by partitioning input and output in a manner
that provides through test coverage. Incorrect and missing functions, interface errors,
errors in data structures, error in functional logic are the errors falling in this category.
Testing strategies:
A strategy for software testing must accommodate low-level tests that are
necessary to verify that all small source code segment has been correctly implemented as
well as high-level tests that validate major system functions against customer
requirements.
68
Cargo Manager
Testing fundamentals:
Testing is a process of executing program with the intent of finding error. A good
test case is one that has high probability of finding an undiscovered error. If testing is
conducted successfully it uncovers the errors in the software. Testing cannot show the
absence of defects, it can only show that software defects present.
Information flow for testing flows the pattern. Two class of input provided to test
the process. The software configuration includes a software requirements specification, a
design specification and source code.
Test configuration includes test plan and test cases and test tools. Tests are
conducted and all the results are evaluated. That is test results are compared with
expected results. When erroneous data are uncovered, an error is implied and debugging
commences.
Unit testing:
Unit testing is essential for the verification of the code produced during the
coding phase and hence the goal is to test the internal logic of the modules. Using the
detailed design description as a guide, important paths are tested to uncover errors with in
the boundary of the modules. These tests were carried out during the programming stage
itself. All units of ViennaSQL were successfully tested.
Integration testing :
Integration testing focuses on unit tested modules and build the program structure
that is dictated by the design phase.
System testing:
System testing tests the integration of each module in the system. It also tests to
find discrepancies between the system and it’s original objective, current specification
69
Cargo Manager
Acceptance Testing:
This testing is done to verify the readiness of the system for the implementation.
Acceptance testing begins when the system is complete. Its purpose is to provide the end
user with the confidence that the system is ready for use. It involves planning and
execution of functional tests, performance tests and stress tests in order to demonstrate
that the implemented system satisfies its requirements.
Test coverage Analyzer – records the control paths followed for each test case.
Timing Analyzer – also called a profiler, reports the time spent in various regions of the
code are areas to concentrate on to improve system performance.
Coding standards – static analyzers and standard checkers are used to inspect code for
deviations from standards and guidelines.
Test Cases:
Test cases are derived to ensure that all statements in the program have been
executed at least once during testing and that all logical conditions have been executed.
Using White-Box testing methods, the software engineer can drive test cases that
Guarantee that logical decisions on their true and false sides.
Exercise all logical decisions on their true and false sides.
Execute all loops at their boundaries and with in their operational bounds.
70
Cargo Manager
71
Cargo Manager
Home page
72
Cargo Manager
About Us
73
Cargo Manager
Contact Us
74
Cargo Manager
Register page
75
Cargo Manager
Login page
76
Cargo Manager
Search Page
77
Cargo Manager
Price Finder
78
Cargo Manager
Banned Products
79
Cargo Manager
Administrator Page
80
Cargo Manager
81
Cargo Manager
Confirmation Details
82
Cargo Manager
Cancel Requestlist
83
Cargo Manager
Status Report
84
Cargo Manager
Feedback List
85
Cargo Manager
User Module
86
Cargo Manager
Customer Details
87
Cargo Manager
Inbox
88
Cargo Manager
Status
89
Cargo Manager
90
Cargo Manager
Feedback
91
Cargo Manager
Change Password
92
Cargo Manager
Password Recovery
93
Cargo Manager
Status Report
94
Cargo Manager
95
Cargo Manager
CONCLUSION:
The package was designed in such a way that future modifications can be
done easily. The following conclusions can be deduced from the
development of the project.
96
Cargo Manager
97
Cargo Manager
FUTURE ENHANCEMENTS:
This application avoids the manual work and the problems concern with it.
It is an easy way to obtain the information regarding the various products information
that are present in the Super markets.
Well I and my team members have worked hard in order to
present an improved website better than the existing one’s regarding the information
about the various activities. Still ,we found out that the project can be done in a better
way. Primarily, when we request information about a particular product it just shows the
company, product id, product name and no. of quantities available. So, after getting the
information we can get access to the product company website just by a click on the
product name .
The next enhancement that we can add the searching option.
We can directly search to the particular product company from this site .These are the
two enhancements that we could think of at present.
98
Cargo Manager
99
Cargo Manager
BIBLIOGRAPHY
The following books were referred during the analysis and execution phase of the
project
C# COOK BOOK
O reilly Publications
WEBSITES:
www.google.com
www.microsoft.com
100