Click here to load reader
Upload
aditya9453
View
857
Download
24
Embed Size (px)
DESCRIPTION
The project “Online Courier & Cargo System” delivery status and notification system is being developed for the need of company running simultaneously courier & cargo service this is specially meant for their frontline user service information. This is one of the best efforts by us to prove that how Internet can be helpful in tire service industry. Where inquiries are always in queue. This system however is a snap shot of the whole scenario for the booming service industry.
Citation preview
dContents
Original Copy of the Approved Proforma…………………………………....3Project Synopsis………………………………………………………………..4-40Guide’s Bio-data………………………………………………………………..41-42Certificate of Originality……………………………………………………….43Letter from Project Manager………………………………………………….44Project Report…………………………………………………………………..45Preface…………………………………………………………………………..46Acknowledgement................................................................................................47Candidate’s Declaration………………………………………………………..48Company Profile………………………………………………………………..49-50
Introduction to the Projects About Project………………………………………………………………..51 Module Description…………………………………………………………52
Project Objective Introduction……………………………………………………………….....54-56 Project Category……………………………………………………………..57-58
Tools & Platform Used…………………………………………………………59-60
System Analysis Introduction…………………………………………………………………..62 Working Process of System ………………………………………….……...62-63 Software Requirement Specification………………………………………...64 Feasibility Study………………………………………………………….….65-67 H/W & S/W Requirement…………………………………………………....68 Time Schedule…………………………………………………………….…69 Reasons for using these tools…………………………………………….….70-75
System Design Introduction……………………………………………………………….….77-79 DFD of the Project……………………………………………………………81-83 ER Diagram…………………………………………………………………..84 Flow Diagram………………………………………………………………...85
Database Design………………………………………………………………...86-94
Project modules Introduction…………………………………………………………………...96-104 My module…………………………………………………………………....105
Screen shots............................................................................................................106-120
Program Code…………………………………………………………………....121-147
System Testing Testing Methodology…………………………………………………………..149 Black-Box Testing…………………………………………………………..…150 White Box Testing……………………………………………………………..151 Control Structure Testing………………………………………………………152 Testing Strategy………………………………………………………………...152-153
System Implementation………………………………………………………......154-157Limitations of the project………………………………………………………...158Future Scope of the Project....................................................................................160Bibliography……………………………………………………………………….163
2
3
4
1. Title of the Project.
2. Introduction.
5
3. Objectives of the Project.
4. Input to the Project.
5. Output of the project.
6. Process logic.
7. Project modules.
8. Table structure.
9. Limitations of the project.
10. Tools/Platforms, Languages to be used.
11. Minimum system requirements.
12. Are you doing this project for any Industry/Client?
13. Security.
14. Scope of Future Application.
6
Introduction
About project:
The project “Online Courier & Cargo System” delivery status and notification
system is being developed for the need of company running simultaneously courier &
cargo service this is specially meant for their frontline user service information. This
is one of the best efforts by us to prove that how Internet can be helpful in tire service
industry. Where inquiries are always in queue. This system however is a snap shot of
the whole scenario for the booming service industry.
This basically deals with the queries of user for a company simultaneously running its
courier & cargo service where the users having booked some cargo or couriers or both
for delivery can view the status online about where there booked courier or cargo.
How much more time it will take to reach the place, and whether received it in
7
original state. And many other queries such as the reason of blockage, queries with
the user care officers regarding handling etc. there is a user satisfaction guest book
where user should put some notes about our service user complaint register.
As the domain in of the system is to a bigger area so the best and convenient way is
internet as this is the best way to satisfy the user queries. A website can prove the best
interface between the user and the company.
With the advent of the Internet technologies wavered. Every year millions
more people around are using internet interact in more ways than ever before to date
the find old classmates check of medical elements and cures to react and express and
interactive view of the news also gives live sales, HELP Online and maximum hit
mostly in the service industries. This is an instance to show that how internet can be
the best deal with the fast growing network of optical fiber making micro broadband
and economical to access the Internet. Whether in the modern or Information retrieval
term. The extract of all these whether the data access retrieval and our goal is placed
in a well ordered by using it’s technologies on net. We will not loose our data whether
it is user or service provider. So comp is now helpful in many other cases too:-
Fast retrieval of information around the globe by browsing the net.
Easy access by sitting home to most of the work places.
Easy database access with the invaluable functions of online entertainment and
jobs and placements.
Through this portal we have tried to automate the process of an instance of user
care industry service a web based support for a cargo and courier to provide
automates service regarding their courier (packets and parcels) delivery status.
8
Objectives of the Project
The objective of the project “Online courier delivery status Information & notification
system” Is to deal with the queries of manger. How much more time it will take to
reach the place, and whether received in original state. Queries among the officers
regarding handling etc. User satisfaction guest book where user should put some notes
about service and other suggestions. User complaint registers to help us get a better
feedback for our failures as a hospitable interface.
The major objectives of this project are as follows:
Providing an interactive interface for the user query for online status of the
packets booked. (Current Status) using the net technology under the
framework A.S.P.NET with vb.net. After all interface has a lot to do when
proper interaction and attraction is necessary.
Helping the user to search his specific booked packet & parcel as where it is?
Which intermediate office, when it will move from here, reasons for delay,
when it will reach the destination?
9
Online updating of packet & parcel status through intermediate and end office
regarding truck no, status, reloading of cargo from one truck to another truck
etc.
Providing Secured Environment for secured data access whatever necessary.
Retrieval of data from database using easy buttons links and interfaces in a
very fast and efficient manner.
On-line updating of all type of data. Updating data using web based interfaces
and with the help of buttons & links in an easy & convenient way.
Developing a viable candidate system that fulfills the following requirements
Faster and accurate information retrieval.
Easy registration.
Login dependent information updating.
Correct and consistent maintenance of data and its quick retrieval.
Minimizing the page download time hence less investment.
Improving the switches button and hyperlink so that the candidate
could find all the queries they need at the first sight.
Maintaining the fast download of the page by using the flavors of
cookies.
Smooth transition and easy access to the pages not requiring much
training to the end user.
The overall objective:
System helps to bring the company and its user round the globe more closely
to each other so that one should have the perfect services.
10
Input to the project
User Information:
Booking details of Courier & Cargo.
Suggestions and Queries to administrator.
Administrator Information:
Creation information of all Offices, trucks, Users, routes, route map.
Creation of Network (create country, state, & cities).
11
Output of the project
User:
Status of Courier & Cargo.
Status of Lot.
Status of Trucks.
Administrator:
Search the status of Courier & Cargo.
View complaints and suggestions of User and Offices.
12
Process Logic
Online Courier & Cargo System Processes in the following manner:
This website contains information about user function such as Booking the couriers
and cargo, Loading the collection of lots in the selected truck or container (in case of
cargo), Loading the container(s) in the truck (in case of cargo) etc. as well as
administrator function such as Office Registration, Creating User, Viewing
suggestions and complaints of user, Adding new Cities, State and Countries, View the
Status of Container and Truck etc.
The project Online Courier & Cargo System delivery status and notification system
is being developed for the need of company running simultaneously courier & cargo
service this is specially meant for their frontline customer service information. This is
one of the best efforts by us to prove that how Internet can be helpful in tire service
industry.
DFD of the Project
At zero and one level the border scenario of the whole portal is considered and at
second level an instance of this project is shown. Each break-up has been numbered
as per the rule of DFD. Here we attempted to incorporate all the details of the system.
13
0 Level DFD:
This is the context level DFD of the proposed system. The whole system has been
depicted in the way so that the information flow continuity should not be lost in the
next level. The purposed system is shown as a whole process and the inputs and
outputs are shown with incoming and outgoing arrow from the system.
1st Level DFD:
This DFD shows all the processes together with all the data stores (tables). It shows
the true data flow i.e. how data is actually flowing in the system. Data is coming from
which table and going into which table is clearly shown by this understanding the
whole system. The application developer will fall back upon this DFD during the
development phase.
14
0 Level DFD
Online courier & cargo booking delivery status information & notification system
Web panel display
Registration display
Login Display
Status display
Delay
Office Registration
Response display
Action display
Web Panel
Customer query
Delay
Status Search
Staff Login
Customer Complaints
Process action
Process Response
Display Success/failure
Reg. Information
Login Success/failure
Display Status
Show delay
Site Data Upload
Reg. Data
User id & pwd
Process status search
Calculate distance &time
Process query Process Complaint
15
16
The Company Database
Web Panel
Updating
Web panel displayOffice Reg.
Process Office Reg.
Reg. DisplayCheck Candidate
Staff Login
Process user id & pwdStatus search
Process Search id Process
current office
Status
Delay
Process Route
Process Distance & time
Update reasons
Delay
Customer query
Update new query
Response Handler
Response display
Customer Complaints
Update new query
Response handler
Action Display
Data upload
UpdateCheck administor
User id and pwd
Input Booking Id
Route Data
Updating
UpdatingQuery Update
Response
Response
Response update
Distance & Date
Delay reasons
Status Data
Data
Check Office status
Valid id msg.
17
LEVEL 1 D.F.D
E-R Diagram
18
Administrator
Admin_id Password
Provides
User
User_idpassword
Creates
Office Container Routes
Name Address
Office_id
City_id
Office_bearer
Container_id
Container_at
Distance
Delivery_status
Base_city_idty_id
Destination_city_id
Booked
Courier Cargo
Detailes_of_courier
Detailes_of_cargo
Flow Diagram
Project Modules
The proposed website will have its main page and will be mainly divided into
partially dependent and partially independent modules as-
1. Login master
Courier Booking
User
Admin
Office Reg.
Courier booking lot link
Lot
Suggestion
Loading/unloading truck
Route MapRoute Detail
Truck Route 2
City
State
Country
Container Lot
Truck
Status Information
Other Network
Network Transfer
Truck Route
Source/Destination
Loading/unloadingcontainer
19
2. Registration master
3. Courier & cargo differentiation master
4. Courier status notification marker
5. The page design maker
6. Delivery status notification system for courier
7. Courier booking detail master
8. The site master (control panel)
9. Customer query handler master
10. The validations master
11. The other network courier – handling master
12. Cargo status notification marker
13. Delivery status notification system for cargo
14. Cargo booking detail master
15. The other network cargo- handling master
20
Table Structure
The normalized form of the table with their structure is describe as under-
Table 1: Login
Field Name Data Type Description Key Constraint
User_id Varchar Userid(unique) Primary key
Office_id Integer Officeid Foreign Key
Password Varchar Password -
Table 2: Administration login
Field Name Data Type Description Key Constraint
User_id Varchar Userid(unique) Primary key
Password Varchar Password -
Password Varchar Password -
Table 3: Office registration
Field Name Data Type Description Key Constraint
Office_id Integer Office id Primary key
Name Varchar Candidate name -
Address1 Varchar Permanent address -
Address2 Varchar Temporary address -
Phone1 Varchar Phone(residence) -
Phone2 Varchar Phone(office) -
Cell Varchar Mobile -
e-mail Varchar e-mail id -
Country_id Integer country to which
belong
Foreign key
State_id Integer State Foreign key
City_id Numeric - Foreign key
Registration date Date Registration date -
Handles Varchar Courier, cargo -
Table 4: courier booked detail
21
Field Name Data Type Description Key Constraint
Booked_by_user_id Varchar Office Foreign key
Booking_no Nvarchar Booking no.
unique
Primary key
Booked_item Varchar Item name -
Booked_weight Integer Weight -
Handling_description Varchar About handling the
cargo
-
Lot_id Integer Container id Foreign key
Booking_date Date -
Receive_date Date Receiving date -
Receive_at Varchar Userid of receiving
office
Foreign key
Whether Varchar Courier/cargo -
Table 5: lot status
Field Name Data Type Description Key Constraint
Office_id Integer Booking office id Foreign key
Lot_id Numeric Booking no. unique Primary key
Lot_status Varchar Office_if of office -
Reason_of_stay Varchar Through which
passing
-
When_moved Varchar - -
Table 6 Lot detail
22
Field Name Data Type Description Key Constraint
Lot_id Numeric Container_id Foreign key
Booking_id Numeric Booking id booked
for special lot
Foreign key
Office_id Varchar Office lot made -
Dispatch_date Date Date of dispatch -
Table 7: Route detail
Field Name Data Type Description Key Constraint
Base_city_id Numeric - Foreign key
Distintion_city_id Numeric - Foreign key
Current_delivery_status Integer Time take -
Average_speed Integer Speed -
Distance Numeric Distance in k.m. -
Table 8: Route map
Field Name Data Type Description Key Constraint
Base_city_id Numeric City_id Foreign key
Distintion_city_id Numeric City_id Foreign key
Original_ via Integer Cities -
Currently_via Integer Cities -
Reason_route_change Varchar reason -
Table 9: Loading unloading packet
23
Field Name Data Type Description Key Constraint
Office_id Numeric Booking id of lot
unloaded
Foreign key
Booking_id_unloaded Numeric New lot made with
that booked packet
Foreign key
Lotid_loaded Numeric From unloaded Foreign key
Lotid_unloaded Numeric - Foreign key
Office_id Numeric - Foreign key
Reason Varchar Unloading reason -
Table 10: Login status master
Field Name Data Type Description Key Constraint
Login_id Varchar User id Foreign key
Login_time Date/time Login time Foreign key
Logout_time Date/time Logout time Primary key
Table 11: Country services
Field Name Data Type Description Key Constraint
Country_id Numeric Country_id Foreign key
country Varchar Country -
Table 12: State services
Field Name Data Type Description Key Constraint
State_id Numeric **Country id Foreign key
Country_id Numeric - -
State Varchar - -
Table 13: City services
Field Name Data Type Description Key Constraint
State_id Numeric Country id Foreign key
Country_id Numeric - Foreign key
City_id Integer - Primary key
city Varchar - -
24
Table 14: Lot loading unloading
Field Name Data Type Description Key Constraint
Lot_id Integer - Foreign key
Destroyed_at Integer Office -
New_lot_id Integer Track load Foreign key
reason Varchar - -
Table 15: Country Services
Field Name Data Type Description Key Constraint
Booking_no Nvarchar Booking Number Foreign key
Customer_name Varchar - -
Address Varchar - -
Complaint_against Varchar - -
Complaint_regarding Varchar - -
Complaint_detail Varchar - -
Date Datetime - -
Action_taken Varchar - -
By Varchar Administrator id Foreign key
Against Varchar Office id Foreign key
Action_details Varchar - -
Date_action Datetime - -
Table 16: Suggestion Register
Field Name Data Type Description Key Constraint
Booking_id Integer Booking id Foreign key
Suggestion Varchar Suggestion -
To_office_id Integer - Foreign key
Responce Varchar Suggestion -
Date_suggest Datetime - -
Date_responded Datetime - -
25
Table 17: Other Network Colaboration
Field Name Data Type Description Key Constraint
Network_id Integer Booking id Foreign key
Company_name Varchar Suggestion -
Company_office Integer - Foreign key
Website Varchar Suggestion -
Customer_care_no Datetime - -
Whether_collaborated Datetime - -
Date_collaboration Date - -
Whether_handles Varchar Courier/cargo -
Table 18: Other Network Courier Transfer
Field Name Data Type Description Key Constraint
Network_id Integer Boking id Foreign key
Office_id Numeric Suggestion -
Lot_id Numeric Lot -
New_network_lot_id Varchar Courier company
transfer
-
Date_transfer Date Date booked -
Office_id_received Numeric - -
Date_received Date - -
Table 19 Truck Details
Field Name Data Type Description Key Constraint
Office_id Integer User id of office Foreign key
Truck_id Numeric - Primary key
Truck_no Varchar - -
Drivers Varchar - -
Truck_status Varchar Office id of office
at which staying
-
Reason_of_stay Varchar - -
When_moved Datetime - -
26
Table 20: Container
Field Name Data Type Description Key Constraint
Container_id Numeric Container id Primary key
Office_bearer Integer Offince id Foreign key
Container_at Integer Office id Foreign key
Table 21: Truck Container Mapping
Field Name Data Type Description Key Constraint
Truck_id Numeric - Foreign key
Container_id Numeric - Foreign key
Booking_date Date - -
Booked_base_office Varchar Office id Foreign key
Whether_unload_truck Char Yes/No -
Unloading_date Date - -
Whether_unloaded_container Char Yes/No -
Cdate Date Unloaded
container date
-
Table 22: Loading Unloading Container
Field Name Data Type Description Key Constraint
Office_id Varchar - Foreign key
Container_id_unloaded Integer Container id from
which cargo
unloaded
Foreign key
Container_id_loaded Integer Container id from
which cargo
loaded
-
Reason Varchar Unloading reason -
27
Table 23: Truck Loading Unloading
Field Name Data Type Description Key Constraint
Truck_id Integer - Foreign key
Unloaded_at Integer Office -
Loaded_to Integer Truck loaded Foreign key
reason varchar - -
Table 24: Other Network Cargo Transfer
Field Name Data Type Description Key Constraint
Network_id Integer Bookingid Foreign key
Office_id Numeric Suggestion -
Lot_id Numeric Lot -
Net_network_lot_id Varchar Courier company
Transferred
-
Date_transfer Date Date booked -
Office_id_received Numeric - -
Date_received Date - -
Limitations of the Project
Though this project is very useful and has several advantages over a manual system.
Use of this no doubt will result in faster processing and a better service but has some
limitations also. These limitations include
We do not have online transactions.
This application can run on the Web server and SQL server.
End user cannot directly interact with the dynamic performance of this project.
28
Tools/Platforms, Languages to be used:
For the undergoing project, following tools are used:
Platform Windows
Operating System Windows XP professional with Service
Pack 2
Framework ASP.Net FRAMEWORK 2.0
Front-End Tool Visual Studio 2005
Scripting Language C#, HTML
Interface HTML, Photoshop, Visual Studio
Server Internet Information Server
29
Back-End Tool SQL Server 2000
Technology ASP.NET
HARDWARE:
Processor Intel Pentium 2.4 GHZ
Memory 256 M.B., D.D.R. RAM
Network Adapter Ethernet Adapter
Modem 56kpbs Voice Fax Data
Secondary Storage Samsung/Seagate Hard disk (40 G.B)
Reasons for using these tools:
What is ASP.NET
ASP.NET is a programming framework built on the common language runtime that
can be used on a server to build powerful Web applications. ASP.NET offers several
important advantages over previous Web development models:
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.
World-Class Tool Support: The ASP.NET framework is complemented
by a rich toolbox and designer in the Visual Studio integrated development
environment. WYSIWYG editing, drag-and-drop server controls, and
30
automatic deployment are just a few of the features this powerful tool
provides.
Power and Flexibility: 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 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: ASP.NET employs a text-based, hierarchical configuration
system, which simplifies applying settings to your server environment and
Web applications. Because configuration information is stored as plain text,
new settings may be applied without the aid of local administration tools. This
"zero local administration" philosophy extends to deploying ASP.NET
Framework applications as well. An ASP.NET Framework application is
deployed to a server simply by copying the necessary files to the server. No
server restart is required, even to deploy or replace running compiled code.
Scalability and Availability: ASP.NET has been designed with
scalability in mind, with features specifically tailored to improve performance
in clustered and multiprocessor environments. Further, processes are closely
monitored and managed by the ASP.NET runtime, so that if one misbehaves
(leaks, deadlocks), a new process can be created in its place, which helps keep
your application constantly available to handle requests.
31
Customizability and Extensibility: ASP.NET delivers a well-factored
architecture that allows developers to "plug-in" their code at the appropriate
level. In fact, it is possible to extend or replace any subcomponent of the
ASP.NET runtime with your own custom-written component. Implementing
custom authentication or state services has never been easier.
Security: With built in Windows authentication and per-application
configuration, you can be assured that your applications are secure.
What is ASP.NET?
ASP 3.0 is the latest version of ASP, but there will never be an ASP 4.0 version.
ASP.NET is the next generation ASP, but it's not an upgraded version of ASP.
ASP.NET is an entirely new paradigm for server-side ASP scripting.
ASP.NET is a part of the .NET Framework. Microsoft spent three years rewriting
ASP.NET from the ground up, and ASP.NET is not fully backward compatible with
ASP 3.0.
.NET Framework
The .NET Framework is the infrastructure for the Microsoft .NET platform.
The .NET Framework is an environment for building, deploying, and running Web
applications and Web Services.
The .NET Framework contains a common language runtime and common class
libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced
standard services that can be integrated into a variety of computer systems.
The .NET Framework provides a feature-rich application environment, simplified
development and easy integration between a number of different development
languages.
The .NET Framework is language neutral. Currently it supports C++, C#, Visual
Basic, and JScript (Microsoft's version of JavaScript).
32
Microsoft's Visual Studio.NET is a common development environment for the .NET
Framework.
New in ASP .NET
Better language support
Programmable controls
Event-driven programming
XML-based components
User authentication, with accounts and roles
Higher scalability
Increased performance - Compiled code
Easier configuration and deployment
Not fully ASP compatible
Microsoft Introduces C#
C# is Microsoft's new programming language for the .NET platform. It combines
some of the best features of modern programming languages such as Java, C++ or
Visual Basic. C# is an object-oriented language with single inheritance but multiple
interfaces per class. It supports component-based programming by properties (smart
fields), events and delegates (enhanced function pointers). C# is fully interoperable
with other .NET languages such as VB.NET, Eiffel.NET or Oberon.NET.
C# is designed to be a platform-independent language in the tradition of Java. It's
syntax is similar to C and C++ syntax, and C# is designed to be an object-oriented
language. There are, for the most part, minor variations in syntax between C++ and
C#. Main has no return type, there are no semicolons after class names, there are some
(to C++ programmers) strange decisions regarding capitalization - such as the
capitalisation of Main. Other a few differences, the syntax is often the same. This
decision is reasonable, in light of the fact that C syntax has been used with several
other languages - notably Java.
Similar to Java, C# does not support multiple inheritance; instead it provides Java's
solution: interfaces. Interfaces implemented by a class specify certain functions that
33
the class is guaranteed to implement. Interfaces avoid the messy dangers of multiple
inheritance while maintaining the ability to let several classes implement the same set
of methods.
Another helpful feature of C# is garbage collection. Therefore, it is unnecessary to
include a destructor for each class unless a class handles unmanaged resources; if so,
it's necessary to release control those resources from within the class (The Finalize
function is used to clear up these unmanaged resources; it can even be abbreviated
with the same syntax as a C++ destructor). Of course, C# also provides direct access
to memory through C++ style pointers, but these pointers are not garbage collected
until specificially released by the programmer.
C#, as part of the .NET framework, is compiled to Microsoft Intermediate Language
(MSIL), which is a language similar to Java's bytecode. MSIL allows C# to be
platform independent and runs using just in time compiling. Therefore programs
running under .NET gain speed with repeated use.
Furthermore, because the other languages that make up the .NET platform (including
VB and COBOL) compile to MSIL, it is possible for classes to be inherited across
languages. The MSIL, like bytecode, is what allows C# to be platform independent.
C# Advantages:
XML documentation generated from source code comments. (This is coming
in VB.NET with Whidbey (the code name for the next version of Visual
Studio and .NET), and there are tools which will do it with existing VB.NET
code already.)
Operator overloading - again, coming to VB.NET in Whidbey.
Language support for unsigned types (you can use them from VB.NET, but
they aren't in the language itself). Again, support for these is coming to
VB.NET in Whidbey.
The using statement, which makes unmanaged resource disposal simple.
34
Explicit interface implementation, where an interface which is already
implemented in a base class can be reimplemented separately in a derived
class. Arguably this makes the class harder to understand, in the same way that
member hiding normally does.
Unsafe code. This allows pointer arithmetic etc, and can improve performance
in some situations. However, it is not to be used lightly, as a lot of the normal
safety of C# is lost (as the name implies). Note that unsafe code is still
managed code, i.e. it is compiled to IL, JITted, and run within the CLR.
SQL Server 2000
SQL Server 2000 only works on Windows-based platforms, including Windows 9x,
Windows NT, Windows 2000 and Windows CE.
In the case of SQL Server, authentication is handled by comparing credentials
provided by a connecting user with set of entries stored in the sysxlogin table of the
SQL server master database (to get familiar with its content, you might want to use
sysloging view, presenting data in a more friendly format). The way these credentials
are provided depends on the authentication mode, which can be set to one of the
following:
35
Minimum System Requirements
Hardware requirement:
Processor : Pentium IV 2.4 GHZ.
Memory : 256 MB RAM
Hard Disk : 10 GB
Keyboard
Monitor
Software requirement:
The minimum requirement for the application to run is given below:
Front End :
ASP.NET
C#
Back End :
SQL Server 2000
Operating System :
WINDOW XP with SP2, WINDOW 2000
36
Are you doing this project for any Industry/Client?
Yes, this project is developed by Infowave IT Solution at Noida for the marketing courier companies.
My Role: I worked as a trainee cum programmer. My responsibilities included
development of web portal having “Login Master, Registration Master, Courier &
Cargo differentiation Master, Courier status notification master” modules which
handles the functionality of the web portal. I worked under one senior
programmer.
Name & address of the industry
INFOWAVE IT SOLUTIONJ 41/42, 1ST FLR, SEC-18, NOIDA.
NEAR RADISSON HOTEL.
PH: - 9911517542
37
Security
Physical Security
The Divisional/Central Security Administrator shall be responsible for the physical security of the system
Their responsibilities shall include
Maintenance of security of Database Servers by keeping it locked and prohibiting entry of any unauthorized person to prevent thefts and other untoward incidents
Access to the database server shall be protected by password and only the System Administrator shall be aware of the same.
Maintenance of multiple power supply connections for uninterrupted power supply.
Database Security SQL Server authentication: In this case, SQL Server requires that a user
specifies a name and password at the time when connection is attempted. The
login name and one-way hash of the password need to match one of entries in
the sysxlogin table for the login attempt to be successful.
Windows authentication: With built in Windows authentication and per-
application configuration, you can be assured that your applications are secure.
38
Scope of Future Application
It is highly likely that the scope will change as the web application moves forward the
web process model should be incremental. This allows development team to freeze
the scope for one increment so that an operation web application of the preceding
increment but once the second increment commence, scope is again frozen
temporarily. This approach enables the web application team to work with having to
accommodate continual stream of change be still recognized. The continuous
evolutions characteristics of most web application. Beside that the following basic
quality in the software always safeguards the future scope of the software.
39
40
41
42
43
Preface
This project “Online Courier & Cargo System” has been developed
keeping in mind the heights “Information Technology has reached” and
when everything is powered with computers does make a great difference.
This website contains information about user function such as Booking the
couriers and cargo, Loading the collection of lots in the selected truck or
container (in case of cargo), Loading the container(s) in the truck (in case
of cargo) etc. as well as administrator function such as Office Registration,
Creating User, Viewing suggestions and complaints of user, Adding new
Cities, State and Countries, View the Status of Container and Truck etc.
44
The project online courier & cargo System delivery status and
notification system is being developed for the need of company running
simultaneously courier & cargo service this is specially meant for their
frontline customer service information. This is one of the best efforts by us
to prove that how Internet can be helpful in tire service industry.
This report is written as a text for the partial fulfillment of the BCA
program pursuing for INDIRA GANDHI NATIONAL OPEN
UNIVERSITY (IGNOU).
Acknowledgement
I would like to take this opportunity to thanks everybody who guided me and
extended possible help for the successful completion of the project “Online Courier
& Cargo System”. This work would not have been a reality without the permission
of management of Infowave IT Solution, which gave me the opportunity to work in a
professional environment.
I am indebted to Mr. Sunil Kumar Sharma, Team Leader, to whom I owe the
success of this project, for his whole hearted corporation and guidance, which helped
me in overcoming the teething problems of an industrial environment and carrying on
the project work smoothly.
45
I am thankful to all the members of my team involved in the development of project. I
am also indebted to my friends whose moral support always inspired me to come out
with the best.
Last but not the least, my project would not have seen the light of the day without the
blessings of my parents which was a constant help in the times of need.
ANIRBAN DUTTA BCA VI
SemesterI.G.N.O.UNew Delhi
Candidate’s Declaration
I, Anirban Dutta declare that the work which is being presented by me in this project
entitled “Online Courier & Cargo System” in partial fulfillment of the requirement
for the Bachelor Of Computer Application by Indira Gandhi National Open
university, Delhi is an authentic record of my own work carried out from November
to March 2008 under the supervision of Mr. Sunil Kumar Sharma, Team Leader of
Infowave IT Solution.
Anirban Dutta
46
BCA VI Semester I. G.N.O.U.
New Delhi
Company Profile
INFOWAVE IT SOLUTION:
INFOWAVE IT SOLUTION is a company based in New Delhi. The Company’s
motto is to develop software products for “Automating Business Operation” and
market the same world wide.
It is a software company which focuses on delivering the best and most cost-effective
solutions to our clients in areas such as e-shopping, healthcare, and payroll, Income
Tax, etc. We provide offshore software development services (“off sourcing”) for
companies.
Using proven methods of documentation, design, testing, implementation and most
importantly, communication, ANNIK is one of the few Indian companies that truly
47
understand the business of providing offshore and remote services. We have offices in
the New Delhi and Pune.
The Company currently have customers in India, US, Hong Kong and Singapore but
is looking to expand in other countries too.
Mr. Sandeep, CEO and CTO of the Company believes in “Trust and Quality”. He is
Engineer in Electronics and communication from reputed Organization. Prior to
starting and company, he was worked with the testing team of leading Software and
Telecommunication companies.
WE HAVE BRANCHES AT
DELHI:
D 18, 2ND FLR, CENTRAL MARKET,
OPP. METRO SHOES. LAJPAT NAGAR 2.
ND-24 PH: - 011-41722331
K2, 1ST FLR, CENTRAL MARKET,
LAJPAT NAGAR 2. ND-24
PH:-011-46573287
MOHALI:
S.C. F 26 2ND FLR, PHASE 3B-2.
PH: - 0172-3244106, 09356252524
48
NOIDA:
J 41/42, 1ST FLR, SEC-18, NOIDA.
NEAR RADISSON HOTEL.
PH: - 9911517542
49
Introduction to the Project
About project:
The project “online courier & cargo System” delivery status and notification system
is being developed for the need of company running simultaneously courier & cargo
service this is specially meant for their frontline user service information. This is one
of the best efforts by us to prove that how Internet can be helpful in tire service
industry where inquiries are always in queue. This system however is a snap shot of
the whole scenario for the booming service industry.
This basically deals with the queries of user for a company simultaneously running its
courier & cargo service where the users have booked some cargo or couriers or both
for delivery, can view the status online about where they booked courier or cargo.
How much more time it will take to reach the place, and whether received it in
original state. And many other queries such as the reason of blockage, queries with
the user care officers regarding handling etc. There is a user satisfaction guest book
where user should put some notes about our services in user complaint register.
As the domain in of the system is to a bigger area so the best and convenient way is
internet as this is the best way to satisfy the user queries. A website can prove the best
interface between the user and the company.
With the advent of the Internet technologies wavered. Every year millions
more people around are using internet interact in more ways than ever before to date
the find old classmates check of medical elements and cures to react and express and
50
interactive view of the news also gives live sales, HELP Online and maximum hit
mostly in the service industries. This is an instance to show that how internet can be
the best deal with the fast growing network of optical fiber making micro broadband
and economical to access the Internet whether in the modern or Information retrieval
term. The extract of all these, whether the data access retrieval and our goal is placed
in a well ordered by using it’s technologies on net. We will not loose our data whether
it is user or service provider. So comp is now helpful in many other cases too:-
Fast retrieval of information around the globe by browsing the net.
Easy access by sitting home to most of the work places.
Easy database access with the invaluable functions of online entertainment and
jobs and placements.
Through this portal we have tried to automate the process of an instance of user
care industry service a web based support for a cargo and courier to provide
automates service regarding their courier (packets and parcels) delivery status.
Modules Description:
The project is based on the online courier & cargo delivery status and notification
system. There are total 15 modules:
1. Login master
2. Registration master
3. Courier & cargo differentiation master
4. Courier status notification marker
5. The page design maker
6. Delivery status notification system for courier
7. Courier booking detail master
8. 8’ The site master (control panel)
9. User query handler master
10. The validations master
11. The other network courier – handling master
12. Cargo status notification marker
51
13. Delivery status notification system for cargo
14. Cargo booking detail master
15. The other network cargo- handling master
52
Project Objective
The objective of the project “Online courier delivery status Information & notification
system” is to deal with the queries of manger.
How much time will it take to reach the place, and whether received in
original state.
Queries among the officers regarding handling etc.
User satisfaction guest book where user should put some notes about service
and other suggestions.
User complaint registers to help us get a better feedback for our failures as a
hospitable interface
.
The major objectives of this project are as follows:
Providing an interactive interface for the user query for online status of the
packets booked. (Current Status) using the net technology under the
framework A.S.P.NET with C#. After all interface has a lot to do when proper
interaction and attraction is necessary.
Helping the user to search his specific booked packet & parcel as where it is?
Which intermediate office, when it will move from here, reasons for delay,
when it will reach the destination?
Online updating of packet & parcel status through intermediate and end office
regarding truck no., status, reloading of cargo from one truck to another truck
etc.
Providing Secured Environment for secured data access whatever necessary.
Retrieval of data from database using easy buttons links and interfaces in a
very fast and efficient manner.
On-line updating of all type of data. Updating data using web based interfaces
and with the help of buttons & links in an easy & convenient way.
53
Developing a viable candidate system that fulfills the following requirements
Faster and accurate information retrieval.
Easy registration.
Login dependent information updating.
Correct and consistent maintenance of data and its quick retrieval.
Minimizing the page download time hence less investment.
Improving the switches button and hyperlink so that the candidate
could find all the queries they need at the first sight.
Maintaining the fast download of the page by using the flavors of
cookies.
Smooth transition and easy access to the pages not requiring much
training to the end user.
The overall objective:
System to bring the company and its users round the globe more closely to
each other so that one should have the perfect services.
54
Project Category
The undergoing project falls under internet technologies and RDBMS
(Relational Database Management System) category. Since the project is mainly
responsible for the creation of the portal with the online database at backend. As we
know that, the internet is huge client server architecture. The client is the web
browser; it is requesting a web based data, a file, or whatever, from some computer
somewhere – anywhere – in the world. The server is a computer that holds the
information you want.
ASP.NET is the rich programming framework for building web based
applications. It offers outstanding support for both developers and administrators
providing improved ease-of-used, tools support, reliability scalability, administration
and security how it works?
ASP.NET is a programming framework build on the common language run
time that can be used on the sever to built powerful web applications. ASP.NET offers
several important advantages over previous web development modules.
We know that database is a respiratory for stored operational data. Database
environment and common data are available and used by several users. Instead of
each program or user to manage it’s own data. The data across applications are shared
by all authorized users with help of database software managing the data as an entity.
The general concept behind the database is to handle information as an
integrated whole. A database is a collection of inter related data stored with the
minimum redundancy to serve many users quickly and effectively. The general
objective is to make information easy quick expressive and flexible for the user. In
database design specific objectives are considered.
Ease of learning and use
More information at low cost
Accuracy and integrity
55
Recovery from failure
Performance
In this way SQL Server 2000 is one of the leading RDBMS in the world.
It is characterized by the quick retrieval of information from huge tables. The
quality allows it to cater to the ever changing business needs of the present
age. It supports 4th generation language, SQL there by making it easier for the
user to grasp it, a development language where complicated procedures,
functions etc can be used.
56
TOOLS / PLATFORM USED
For the undergoing project, following tools are used:
57
Platform Windows
Operating System Windows XP professional with SP-2
Framework ASP.Net FRAMEWORK 2.0
Front-End Tool Visual Studio 2005
Scripting Language C#, HTML
Interface HTML, Photoshop, Visual Studio
Server Internet Information Server
Back-End Tool SQL Server 2000
Technology ASP.NET
HARDWARE:
Processor Intel Pentium 2.4 GHZ
Memory 256 M.B., D.D.R. RAM
Network Adapter Ethernet Adapter
Modem 56kpbs Voice Fax Data
Secondary Storage Samsung/Seagate Hard disk (40 G.B)
58
System Analysis
System analysis is the first step towards the software building process. The purpose of
system analysis is to understand the system requirements, identify the data, functional
and behavioral requirements and building the models of the system for better
understanding of the system.
In the process of system analysis one should first understand that what the present
system, what is does, is how it work (i.e. processes). After analyzing these points we
become able to identify the problems the present system is racing. Upon evaluating
59
current problems and desired information (input and output to the system). The
analyst looks towards one or more solutions. To begin with the data objects,
processing, functions and behavior of the system are defined in details. After this, a
module forms three different aspects of the system data, function and behavior. The
module created during the system analysis process helps in better understanding of
data and control flow, functional processing, operational behavioral and information
content.
Working Process of the System:
The system contains the following main processes:
The system contains many simultaneous processes. We have optimized the
processes to make the whole system working as a one. This system has developed in a
way to provide a single dynamic interface for all the processes. User logins into the
user page of the site and can book, search, make queries, submit complaints and
suggestions. The status of the particular booking can be searched by entering the
Booking No or Concern Lot No in which booking is sent. He can also search for the
particular Cargo Carrier may it be container or truck by their corresponding unique
numbers which are carrying the particular item with the enquired Booking no.
The system needs updating at different stages and from different offices
including end offices of the company regarding couriers and cargo so a user
dependent candidate validation and information updating system is necessary and is
included in the user login area apart from the administration area who have all the
right of users including additional rights of creating new entitles or users as per the
requirement of the company.
The User Creation and Login:
User Login:
Each end office is provide with the User Id through which they can upload the
information regarding the packet details, cargo details and status as the system is user
dependent (only for updating) so proper user Id and password based user system is
60
provided to accomplish the fact whether and however the system is to maintain the
user status and specific user enable service for security and privacy reasons.
Based on the login , User is provided with a control panel
Only administrator has right to create User Id and Password and distribute
them to the concern managers.
Administrator can any time change the User Id and Password of the
User/Manager for security reasons as the User navigation area of the portal is
strictly private for the company.
Office Registration:
Office registration is attached with the master mode of the service and can be
done by the administrator only.
Office registration form asks for Name, address and other information the
branch office of the company.
Office registration is important, as based on the registered existing office the
users and other entities of the companies like Cargo Carrier etc are linked.
Status Enquiry of Cargo and Courier:
User uploads the information of each booked courier and cargo before
dispatching from his office which generates the unique booking no, by which courier
or cargo can be traced by any user over the network through the portal. Couriers are
sent in lots and Cargo through containers and containers through truck. The status of
the dispatched Courier can be searched by:-
Tuck No
Container No
Lot No
Booking No
Each search will provide the status along with the rest 3 corresponding entities
information. This makes the search very convenient for the user. The results of
the search are dynamic and changes as per adding lot, loading containers with
lots and loading the truck with container or lots and finally unloading the
truck.
Submitting the Complaints and Suggestions:
61
The user can submit the complaints and suggestions from his login. These
suggestions and complaints can be viewed by administrator and thus acted upon.
Software Requirement Specification:
The SRS (Software Requirement Specification) is very important art of the
software building process, which describes the actual user level requirement from
technical point of view i.e. what the user exactly wants? The objective of preparing
the SRS is to represent the requirements of the software in such a manner that
ultimately leads to successful software implementation. It is the result of the analysis
process of the software development. It should contain all the data, the software is
going to process, the function it will provide the behavior it will exhibit. SRS is
defined in IEEE standard. IEEE recommended practice for SRS.
Feasibility study
Feasibility study is the determination whether or not a project is worth doing.
The process followed in making this is called feasibility study. When the developer is
building any system, he/she should make sure that the system he/she is going to build
is feasible.
Since the feasibility study may lead to commitment of large resources, it
becomes necessary that it should be conducted competently and that no fundamental
errors of judgment are made.
Preliminary investigation examines project feasibility; the likelihood the
system will be useful to the organization. Three important test of feasibility are
described below.
62
Technical feasibility
Operational feasibility
Economical feasibility
In feasibility study, we check the durability, reliability, operability,
compatibility etc. of the system. A feasibility study is a preliminary study undertaken
to determine and document a project's viability. The results of this study are used to
make a decision whether to proceed with the project, or table it. If it indeed leads to a
project being approved, it will - before the real work of the proposed project starts -
be used to ascertain the likelihood of the project's success. It is an analysis of possible
alternative solutions to a problem and a recommendation on the best alternative. It, for
example, can decide whether an order processing be carried out by a new system
more efficiently than the previous one.
Economical feasibility study:
This involves questions such as whether the firm can afford to build the system,
whether its benefits should substantially exceed its costs, and whether the project has
higher priority and profits than other projects that might use the same resources. This
also includes whether the project is in the condition to fulfill all the eligibility criteria
and the responsibility of both sides in case there are two parties involved in
performing any project.
In this study, we analysis the cost of different parts related with software. It
may be either manpower cost or cost of hardware or software.
Manpower cost:
63
Here the manpower cost is reduced as the work can now be done by lesser
number of powers. If work is done by greater number of manpower, the cost will
increase, so manpower should be low.
In this project there are six peoples. And one is team leader.
Hardware and Software cost:
Hardware and Software cost will be added in the total cost, because whole
project is designed and developed at the administrator site.
Justification:
Justification for any capital outlay is that it will increase profit, reduce
expenditure, or improve quality of a service which in turn may be expected to provide
profits proposed or developing system must be justified by cost and benefit criteria to
ensure that effort is concentrated on projects which wil give the best return at the
earliest opportunities.
The technique of cost benefit analysis is often used as a basis for assessing
Economis Feasibility. The factors for evaluation are:
Cost of operation of the existing and proposed system.
Cost of development of the proposed system.
Value of the proposed system.
Economic Feasibility Study plays a very important role in a development of
software.
Technical Feasibility study:
64
This involves questions such as whether the technology needed for the
system exists, how difficult it will be to build, and whether the firm has enough
experience using that technology. The assessment is based on an outline design of
system requirements in terms of Input, Output, Fields, Programs, and Procedures.
This can be qualified in terms of volumes of data, trends, frequency of updating,
etc. In order to give an introduction to the technical system.
Technical Feasibility is concerned with the availability and capability of
hardware, software and people.In Technical Feasibility Study we studied on
those facts that are covering the whole technological facts such as:
Hardware requirement specification
Software requirement specification
Technology used
What software technology should be opted so as to develop the project
efficiently.
Hardware requirement:
A computer should be available that is powerful enough to handle the proposed
system. DBMS systems usually consume more computer power because of its
data structure, security, rule and index pointers to the records. These take more
machines processing time. Now almost any system is technically feasible.
minimum requirement for the application to run is given below:
Processor : Pentium IV 2.4 GHZ.
Memory : 256 MB RAM
Hard Disk : 10 GB
Keyboard
Monitor
Software requirement:
65
According to convenience of the system, the system developer should decide
which computer languages or software he/she is going to use for the proposed
project. The developer should keep in mind that the software or languages
he/she is going to use should be easily available, efficient, portable and the
database languages which he uses, should be preferably Relational Database
Language (RDBMS). In case of software the languages used to build the
system are very popular languages namely ASP.Net with C#.
The minimum requirement for the application to run is given below:
Front End :
ASP.NET
C#
Back End :
SQL Server 2000
Operating System :
WINDOW XP, WINDOW 2000
Since, in the request clarification, it was found that the main need was for better
response on the throughput from the system. The assessment of technical feasibility
must be based on an out line design of system requirements in terms of inputs,
outputs, files, programs, procedures and staff. This evaluation determines whether the
technology needed for proposed system is available or not and how it can be
integrated with the organization.
Time Schedule:
The cumulative distribution of time for the various phases of the lifecycle (inclusive
of all the increments) was done by the Project Leader, as depicted in the table below:
Phase Time
Analysis 5 weeks
66
Design 4 weeks
Coding 8 weeks
Testing 5 weeks
Table: Distribution of Time amongst Lifecycle Phases
Reasons for using these tools:
What is ASP.NET
ASP.NET is a programming framework built on the common language runtime that
can be used on a server to build powerful Web applications. ASP.NET offers several
important advantages over previous Web development models:
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.
World-Class Tool Support: The ASP.NET framework is complemented
by a rich toolbox and designer in the Visual Studio integrated development
environment. WYSIWYG editing, drag-and-drop server controls, and
automatic deployment are just a few of the features this powerful tool
provides.
67
Power and Flexibility: 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 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: ASP.NET employs a text-based, hierarchical configuration
system, which simplifies applying settings to your server environment and
Web applications. Because configuration information is stored as plain text,
new settings may be applied without the aid of local administration tools. This
"zero local administration" philosophy extends to deploying ASP.NET
Framework applications as well. An ASP.NET Framework application is
deployed to a server simply by copying the necessary files to the server. No
server restart is required, even to deploy or replace running compiled code.
Scalability and Availability: ASP.NET has been designed with
scalability in mind, with features specifically tailored to improve performance
in clustered and multiprocessor environments. Further, processes are closely
monitored and managed by the ASP.NET runtime, so that if one misbehaves
(leaks, deadlocks), a new process can be created in its place, which helps keep
your application constantly available to handle requests.
Customizability and Extensibility: ASP.NET delivers a well-factored
architecture that allows developers to "plug-in" their code at the appropriate
68
level. In fact, it is possible to extend or replace any subcomponent of the
ASP.NET runtime with your own custom-written component. Implementing
custom authentication or state services has never been easier.
Security: With built in Windows authentication and per-application
configuration, you can be assured that your applications are secure.
What is ASP.NET?
ASP 3.0 is the latest version of ASP, but there will never be an ASP 4.0 version.
ASP.NET is the next generation ASP, but it's not an upgraded version of ASP.
ASP.NET is an entirely new paradigm for server-side ASP scripting.
ASP.NET is a part of the .NET Framework. Microsoft spent three years rewriting
ASP.NET from the ground up, and ASP.NET is not fully backward compatible with
ASP 3.0.
.NET Framework
The .NET Framework is the infrastructure for the Microsoft .NET platform.
The .NET Framework is an environment for building, deploying, and running Web
applications and Web Services.
The .NET Framework contains a common language runtime and common class
libraries - like ADO.NET, ASP.NET and Windows Forms - to provide advanced
standard services that can be integrated into a variety of computer systems.
The .NET Framework provides a feature-rich application environment, simplified
development and easy integration between a numbers of different development
languages.
The .NET Framework is language neutral. Currently it supports C++, C#, Visual
Basic, and JScript (Microsoft's version of JavaScript).
69
Microsoft's Visual Studio.NET is a common development environment for the .NET
Framework.
New in ASP .NET
Better language support
Programmable controls
Event-driven programming
XML-based components
User authentication, with accounts and roles
Higher scalability
Increased performance - Compiled code
Easier configuration and deployment
Not fully ASP compatible
Microsoft Introduces C#
C# is Microsoft's new programming language for the .NET platform. It combines
some of the best features of modern programming languages such as Java, C++ or
Visual Basic. C# is an object-oriented language with single inheritance but multiple
interfaces per class. It supports component-based programming by properties (smart
fields), events and delegates (enhanced function pointers). C# is fully interoperable
with other .NET languages such as VB.NET, Eiffel.NET or Oberon.NET.
C# is designed to be a platform-independent language in the tradition of Java. It's
syntax is similar to C and C++ syntax, and C# is designed to be an object-oriented
language. There are, for the most part, minor variations in syntax between C++ and
C#. Main has no return type, there are no semicolons after class names, there are some
(to C++ programmers) strange decisions regarding capitalization - such as the
capitalization of Main. Other a few differences, the syntax is often the same. This
decision is reasonable, in light of the fact that C syntax has been used with several
other languages - notably Java.
Similar to Java, C# does not support multiple inheritance; instead it provides Java's
solution: interfaces. Interfaces implemented by a class specify certain functions that
70
the class is guaranteed to implement. Interfaces avoid the messy dangers of multiple
inheritance while maintaining the ability to let several classes implement the same set
of methods.
Another helpful feature of C# is garbage collection. Therefore, it is unnecessary to
include a destructor for each class unless a class handles unmanaged resources; if so,
it's necessary to release control those resources from within the class (The Finalize
function is used to clear up these unmanaged resources; it can even be abbreviated
with the same syntax as a C++ destructor). Of course, C# also provides direct access
to memory through C++ style pointers, but these pointers are not garbage collected
until specifically released by the programmer.
C#, as part of the .NET framework, is compiled to Microsoft Intermediate Language
(MSIL), which is a language similar to Java's byte code. MSIL allows C# to be
platform independent and runs using just in time compiling. Therefore programs
running under .NET gain speed with repeated use.
Furthermore, because the other languages that make up the .NET platform (including
VB and COBOL) compile to MSIL, it is possible for classes to be inherited across
languages. The MSIL, like byte code, is what allows C# to be platform independent.
C# Advantages:
XML documentation generated from source code comments. (This is coming
in VB.NET with Whidbey (the code name for the next version of Visual
Studio and .NET), and there are tools which will do it with existing VB.NET
code already.)
Operator overloading - again, coming to VB.NET in Whidbey.
Language support for unsigned types (you can use them from VB.NET, but
they aren't in the language itself). Again, support for these is coming to
VB.NET in Whidbey.
The using statement, which makes unmanaged resource disposal simple.
71
Explicit interface implementation, where an interface which is already
implemented in a base class can be reimplemented separately in a derived
class. Arguably this makes the class harder to understand, in the same way that
member hiding normally does.
Unsafe code. This allows pointer arithmetic etc, and can improve performance
in some situations. However, it is not to be used lightly, as a lot of the normal
safety of C# is lost (as the name implies). Note that unsafe code is still
managed code, i.e. it is compiled to IL, JITted, and run within the CLR.
Conclusion:
C# is a modern, object-oriented language that enables programmers to quickly and
easily build solutions for the Microsoft .NET platform. The framework provided
allows C# components to become XML Web services that are available across the
Internet, from any application running on any platform.
The language enhances developer productivity while serving to eliminate
programming errors that can lead to increased development costs. C# brings rapid
Web development to the C and C++ programmer while maintaining the power and
flexibility that those developers call for.
SQL Server 2000
SQL Server 2000 only works on Windows-based platforms, including Windows 9x,
Windows NT, Windows 2000 and Windows CE.
In the case of SQL Server, authentication is handled by comparing credentials
provided by a connecting user with set of entries stored in the sysxlogin table of the
SQL server master database (to get familiar with its content, you might want to use
sysloging view, presenting data in a more friendly format). The way these credentials
72
are provided depends on the authentication mode, which can be set to one of the
following:
SQL Server authentication: in this case, SQL Server requires that a user
specifies a name and password at the time when connection is attempted. The
login name and one-way hash of the password need to match one of entries in
the sysxlogin table for the login attempt to be successful.
Windows authentication: in this case, SQL Server does not prompt a
user for credentials, but instead it uses an access token assigned at the time the
user logged on using a Windows account. This can be a token generated by the
Windows operating system on which SQL Server was installed (in case of a
local user account) or by a Windows NT 4.0 or Active Directory domain, (if a
user domain account is used). The token contains a security identifier (SID)
which uniquely identifies the user, as well as SIDs of local (or domain) groups
that the user is a member of. SQL compares all of the SIDs stored in the token
against entries in the sysxlogin table and, depending on the outcome; it grants
or denies login privileges. Presence of a matching entry is not sufficient
though for logon to be allowed, since with Windows authentication, it is
possible to not only grant login privileges to a specific SID but also deny them
(denying rights will always take precedence over granting them). This means
that you can, for example, grant login privileges to a Windows group, but still
deny access to SQL server to some of its members.
SQL Server creates two default logins (entries in the sysxlogin table) at the
installation time, granted the highest possible level of administrative privileges. The
first one is the SA login, allowing access using SQL Server authentication, the second
is the BUILTIN Administrators, representing SID of the local Administrators
Windows group on the SQL Server computer and allowing every member of this
group to access the server via Windows authentication.
73
74
System Design
System design phase starts after the software requirements have been analyzed and
specified. System design is the first of the three technical activities: Design, code and
test that is required to build and verify the software.
A design methodology is a systematic approach to create a design by application of a
set techniques and guidelines. Some desirable properties for a software system design
are as follows:
Verifiability
Completeness
Consistency
Efficiency
Traceability
Simplicity/Understandability
The system design considerations are:
The design objective that include practicality, efficiency, security etc.
The constraints, which include the hardware, software, budget, time,
scale and the interface with all other systems.
The processing techniques, which include batch processing, real time
processing and on-line processing.
There are three methodologies for designing which are as follows:
(i) Top – down:
75
The top – down approach starts from the highest-level component of the hierarchy
and proceeds through to lower levels. It starts by identifying the major components of
the system, decomposing them into lower level components and iterating until desired
level of details is achieved.
This approach of designing the system might be best if the designer has detail
idea about the whole “Courier & Cargo System” project to be developed. In
this methodology designer start with a front or top form, often called MAIN PAGE,
for the project and work branching off from there.
The advantage of the top-down approach is that form can be changed to affect the
look and feel of the whole project because all forms are designed according to the top
form look and feel.
(ii) Bottom-up:
A bottom-up approach starts from the lowest level of component hierarchy and
proceeds through progressively higher levels to top levels components. This design
approach starts with designing the most basic or primitive components and proceed to
higher-level components that use this lower level components.
This approach is adopted when the designer hasn’t a good idea about the layout of
final project, but know how specific forms look and work. It might be that working
from these specific forms to the top forms is the way to proceed. This is particularly
true if there are, already, existing forms as a result of development of some other
project made by some one having the same concept.
If there are no forms from which the designer has to start, then he can begin by
designing leave forms that accomplish specific objectives and then linking them
together through intermediate forms to the top forms. The advantage of this design is
that the designer is not constrained by the style of top forms in the leaf form.
(iii) Incremental/In times:
76
Similar in ways to both the top-down and bottom-up approaches, the
Incremental/ In time approach develops forms "just in time" when they are
needed. It may be the case that an initial top form is needed and specific leaf forms
that implement particular objectives. These are created and linked together with
understanding that later, intermediate forms may be needed. This works well if
the client wants very quickly have a working project that will grow
incrementally, rather than being developed all at once.
The “Courier & Cargo System” Project has been designed by following the down
approach as well as Incremental/In time approach. Design step produces a data
design, an architectural design and a procedural design. In the data design
phase information domain model created during analysis phase is transformed
into the data structure. In the architectural design the relationship among major
structural components of the “Courier & Cargo System” Project are defined. In
the procedural design major structural components transformed into a procedural
description of the software.
DFD Of The Project
At zero and one level the border scenario of the whole portal is considered and at
second level a instance of this project is shown. Each break-up has been numbered as
per the rule of DFD. Here we attempted to incorporate all the details of the system.
0 Level DFD:
77
This is the context level DFD of the proposed system. The whole system has been
depicted in the way so that the information flow continuity should not be lost in the
next level. The purposed system is shown as a whole process and the inputs and
outputs are shown with incoming and outgoing arrow from the system.
1st Level DFD:
This DFD shows all the processes together with all the data stores (tables). It shows
the true data flow i.e. how data is actually flowing in the system. Data is coming from
which table and going into which table is clearly shown by this understanding the
whole system. The application developer will fall back upon this DFD during the
development phase.
0 Level DFD
78
Online courier & cargo booking delivery status information & notification system
Web panel display
Registration display
Login Display
Status display
Delay
Office Registration
Response display
Action display
Web Panel
Customer query
Delay
Status Search
Staff Login
Customer Complaints
Process action
Process Response
Display Success/failure
Reg. Information
Login Success/failure
Display Status
Show delay
Site Data Upload
Reg. Data
User id & pwd
Process status search
Calculate distance &time
Process query Process Complaint
79
The Company Database
Web Panel
Updating
Web panel displayOffice Reg.
Process Office Reg.
Reg. DisplayCheck Candidate
Staff Login
Process user id & pwdStatus search
Process Search id Process
current office
Status
Delay
Process Route
Process Distance & time
Update reasons
Delay
Customer query
Update new query
Response Handler
Response display
Customer Complaints
Update new query
Response handler
Action Display
Data upload
UpdateCheck administor
User id and pwd
Input Booking Id
Route Data
Updating
UpdatingQuery Update
Response
Response
Response update
Distance & Date
Delay reasons
Status Data
Data
Check Office status
Valid id msg.
80
LEVEL 1 D.F.D
E-R Diagram
81
Administrator
Admin_id Password
Provides
User
User_idpassword
Creates
Office Container Routes
Name Address
Office_id
City_id
Office_bearer
Container_id
Container_at
Distance
Delivery_status
Base_city_idty_id
Destination_city_id
Booked
Courier Cargo
Detailes_of_courier
Detailes_of_cargo
Flow Diagram
Courier Booking
User
Admin
Office Reg.
Courier booking lot link
Lot
Suggestion
Loading/unloading truck
Route MapRoute Detail
Truck Route 2
City
State
Country
Container Lot
Truck
Status Information
Other Network
Network Transfer
Truck Route
Source/Destination
Loading/unloadingcontainer
82
83
Table Structure
The normalized form of the table with their structure is describe as under-
Table 1: Login
Field Name Data Type Description Key Constraint
User_id Varchar Userid(unique) Primary key
Office_id Integer Officeid Foreign Key
Password Varchar Password -
Table 2: Administration login
Field Name Data Type Description Key Constraint
User_id Varchar Userid(unique) Primary key
Password Varchar Password -
Password Varchar Password -
Table 3: Office registration
Field Name Data Type Description Key Constraint
Office_id Integer Office id Primary key
Name Varchar Candidate name -
Address1 Varchar Permanent address -
Address2 Varchar Temporary address -
Phone1 Varchar Phone(residence) -
Phone2 Varchar Phone(office) -
Cell Varchar Mobile -
e-mail Varchar e-mail id -
Country_id Integer country to which
belong
Foreign key
State_id Integer State Foreign key
City_id Numeric - Foreign key
Registration date Date Registration date -
Handles Varchar Courier, cargo -
Table 4: courier booked detail
84
Field Name Data Type Description Key Constraint
Booked_by_user_id Varchar Office Foreign key
Booking_no Nvarchar Booking no.
unique
Primary key
Booked_item Varchar Item name -
Booked_weight Integer Weight -
Handling_description Varchar About handling the
cargo
-
Lot_id Integer Container id Foreign key
Booking_date Date -
Receive_date Date Receiving date -
Receive_at Varchar Userid of receiving
office
Foreign key
Whether Varchar Courier/cargo -
Table 5: lot status
Field Name Data Type Description Key Constraint
Office_id Integer Booking office id Foreign key
Lot_id Numeric Booking no. unique Primary key
Lot_status Varchar Office_id of office -
Reason_of_stay Varchar Through which
passing
-
When_moved Varchar - -
Table 6 lot detail
85
Field Name Data Type Description Key Constraint
Lot_id Numeric Container_id Foreign key
Booking_id Numeric Booking id booked
for special lot
Foreign key
Office_id Varchar Office lot **maid -
Dispatch_date Date Date of dispatch -
Table 7: Route detail
Field Name Data Type Description Key Constraint
Base_city_id Numeric - Foreign key
Destination_city_id Numeric - Foreign key
Current_delivery_status Integer Time take -
Average_speed Integer Speed -
Distance Numeric Distance in k.m. -
Table 8: Route map
Field Name Data Type Description Key Constraint
Base_city_id Numeric City_id Foreign key
Distintion_city_id Numeric City_id Foreign key
Original_ via Integer Cities -
Currently_via Integer Cities -
Reason_route_change Varchar reason -
Table 9: Loading unloading packet
86
Field Name Data Type Description Key Constraint
Office_id Numeric Booking id of lot
unloaded
Foreign key
Booking_id_unloaded Numeric New lot made with
that booked packet
Foreign key
Lotid_loaded Numeric From unloaded Foreign key
Lotid_unloaded Numeric - Foreign key
Office_id Numeric - Foreign key
Reason Varchar Unloading reason -
Table 10: Login status master
Field Name Data Type Description Key Constraint
Login_id Varchar User id Foreign key
Login_time Date/time Login time Foreign key
Logout_time Date/time Logout time Primary key
Table 11: Country services
Field Name Data Type Description Key Constraint
Country_id Numeric Country_id Foreign key
country Varchar Country -
Table 12: State services
Field Name Data Type Description Key Constraint
State_id Numeric **Country id Foreign key
Country_id Numeric - -
State Varchar - -
Table 13: City services
Field Name Data Type Description Key Constraint
State_id Numeric Country id Foreign key
Country_id Numeric - Foreign key
City_id Integer - Primary key
city Varchar - -
87
Table 14: Lot loading unloading
Field Name Data Type Description Key Constraint
Lot_id Integer - Foreign key
Destroyed_at Integer Office -
New_lot_id Integer Track load Foreign key
reason Varchar - -
Table 15: Country Services
Field Name Data Type Description Key Constraint
Booking_no Nvarchar Booking Number Foreign key
Customer_name Varchar - -
Address Varchar - -
Complaint_against Varchar - -
Complaint_regarding Varchar - -
Complaint_detail Varchar - -
Date Datetime - -
Action_taken Varchar - -
By Varchar Administrator id Foreign key
Against Varchar Office id Foreign key
Action_details Varchar - -
Date_action Datetime - -
Table 16: Suggestion Register
Field Name Data Type Description Key Constraint
Booking_id Integer Booking id Foreign key
Suggestion Varchar Suggestion -
To_office_id Integer - Foreign key
Responce Varchar Suggestion -
Date_suggest Datetime - -
Date_responded Datetime - -
88
Table 17: Other Network Colaboration
Field Name Data Type Description Key Constraint
Network_id Integer Booking id Foreign key
Company_name Varchar Suggestion -
Company_office Integer - Foreign key
Website Varchar Suggestion -
Customer_care_no Datetime - -
Whether_collaborated Datetime - -
Date_collaboration Date - -
Whether_handles Varchar Courier/cargo -
Table 18: Other Network Courier Transfer
Field Name Data Type Description Key Constraint
Network_id Integer Boking id Foreign key
Office_id Numeric Suggestion -
Lot_id Numeric Lot -
New_network_lot_id Varchar Courier company
transfer
-
Date_transfer Date Date booked -
Office_id_received Numeric - -
Date_received Date - -
Table 19 Truck Details
Field Name Data Type Description Key Constraint
Office_id Integer User id of office Foreign key
Truck_id Numeric - Primary key
Truck_no Varchar - -
Drivers Varchar - -
Truck_status Varchar Office id of office
at which staying
-
Reason_of_stay Varchar - -
When_moved Datetime - -
89
Table 20: Container
Field Name Data Type Description Key Constraint
Container_id Numeric Container id Primary key
Office_bearer Integer Offince id Foreign key
Container_at Integer Office id Foreign key
Table 21: Truck Container Mapping
Field Name Data Type Description Key Constraint
Truck_id Numeric - Foreign key
Container_id Numeric - Foreign key
Booking_date Date - -
Booked_base_office Varchar Office id Foreign key
Whether_unload_truck Char Yes/No -
Unloading_date Date - -
Whether_unloaded_container Char Yes/No -
Cdate Date Unloaded
container date
-
Table 22: Loading Unloading Container
Field Name Data Type Description Key Constraint
Office_id Varchar - Foreign key
Container_id_unloaded Integer Container id from
which cargo
unloaded
Foreign key
Container_id_loaded Integer Container id from
which cargo
loaded
-
Reason Varchar Unloading reason -
90
Table 23: Truck Loading Unloading
Field Name Data Type Description Key Constraint
Truck_id Integer - Foreign key
Unloaded_at Integer Office -
Loaded_to Integer Truck loaded Foreign key
reason varchar - -
Table 24: Other Network Cargo Transfer
Field Name Data Type Description Key Constraint
Network_id Integer Bookingid Foreign key
Office_id Numeric Suggestion -
Lot_id Numeric Lot -
Net_network_lot_id Varchar Courier company
Transferred
-
Date_transfer Date Date booked -
Office_id_received Numeric - -
Date_received Date - -
91
Project Modules
The proposed website will have its main page and will be mainly divided into
partially dependent and partially independent modules as-
1. Login master
2. Registration master
3. Courier & cargo differentiation master
4. Courier status notification master
5. The page design maker
6. Delivery status notification system for courier
7. Courier booking detail master
92
8. The site master (control panel)
9. Customer query handler master
10. The validations master
11. The other network courier – handling master
12. Cargo status notification marker
13. Delivery status notification system for cargo
14. Cargo booking detail master
15. The other network cargo- handling master
These modules with their sub modules are describe below-
1. LOGIN MASTER:
Login master is the specific module, which only has to deal with the updating
of the database. Two types of user can login administrator and the employee.
It checks for a valid candidate when the user enters his user id password and
link to the correct page and link to the registration page. It is divided into
following functions.
(a)USER ID CHECKER:
As user id rules the system for updating (control panel). So his uniqueness and
type of his user id know a person whether he is master or one of the employee.
As it is to provide the viable candidate system, so the user id is being validated
with password in different cases to validate the genuinely of the candidate.
(b) THE LOGIN STATUS MASTER:
This module keeps the status of who and when logged in and for which
purpose and for how much time.
2. REGISTRATION MASTER:
As this module is only accessible through administrator password. So this has
not much to do directly.
This modules deal with the different state of registration as-
93
a. Registration form display
b. Client’s does validation being handles by validation master
c. Unique user id checker (checks that the user id being entered by the
candidate is unique or no)
d. Auto user id generator (user id field by taking the email id of the user
if it is unique or suggest by combining it will some number).
3. COURIER AND CARGO DIFFERENTIATION MASTER:
This module checks the booking id as of courier and cargo, and act according
with that. This module differentiates the data as well as process the credential
regarding to that, this module handles to and from data from the intermediate
process.
4. COURIER STATUS NOTIFICATION MASTER:
This module handles the query of customer and displays the result according to
that customer is asked to enter the booked id in the specified input area.
On the basis of input the detail regarding where material exactly is shown.
This module contains the following sub modules-
(a) QUERY HANDLER:
This module handles to and from the courier and cargo differentiation master
searches the data in the database, which through different conversion through
numbers of tables shows the result regarding where exactly the cargo is?
The booking id is first searched into the courier booked table. Each booking id
has a unique number associated with the different offices and also with the
courier.
On the basis of that booking id, matched with the lot id, and then with the medium
and after that medium halted at which station. These statuses are shown.
5. THE PAGE DESIGN MASTER:
94
This module is specially meant for auto style sheet generator by using XML. The
document object modeling basically deals with the development of a common
model for display to have a better interface and look. DTD (the document type
declaration) helps the generated page to be validated with tile DTD object and file
inserted into, so that tile generated should follow the rules and regulation defined
in the document type declaration.
Simply one is validating the page so that strict entry should be made to avoid any
failure and redundancy in the database.
The style sheet generation through XSL has lot to do and much work is their when
you defined and generalize an instances of the tag defined to display in a common
attractive and impulsive format.
Here in some pages CSS is being used and for some common XSL will be used
for the generation of fully formatted and fully validated web pages.
6. DELIVERY STATUS NOTIFICATION SYSTEM FOR
COURIER:
This module deals with the delivery status whether the following courier has been
delivered to the destination or not, how much time it will take to reach the
destination.
It has following sub modules-
(a)DISTANCE CALCULATOR:
It takes the data from the route table that specifies distance between the current
city (the city through which tile courier is passing and the destination).
(b)TIME CALCULATOR:
An average time is calculated on the basis of the average time taken to reach the
two adjoining city subsequently to the destination.
(c) DELEVERED STATUS:
It checks the current status if the current status of the courier gives the
destination address and after taking the received detail. It display whether the
courier is on its way or delivered successfully.
95
7. THE SITE MASTER:
The site maintenance master is the main and the biggest module handling
the updating of all type of information regarding the courier & cargo system. It
can only be accessed through user id and password, as it deals with the work
related the date necessary to keep the site working.
A menu is displayed asking for to update the instance of the site a user wants,
as the size of the module directly depend upon the table design and updating.
A special control panel is design to use for uploading of data in different table.
This is done through a site master account and the employee account.
It includes the following sub modules-
(a)COUNTRY SERVICE ENTRY:
i) country in which true courier & cargo service is available(only administrator)
ii) Other network collaboration for cargo
iii) Other network collaboration for courier
iv) Other network services country
(b) STATE ENTRY:
The state in which the courier service is available (only administrator)
(c) CITY ENTRY:
The city in which the service is available (only administrator).
(d)OFFICE ENTRY:
Offices, their address and other credentials (only administrator).
(e) ROUTE MASTER:
Distance and time taken between each city, shortest route between two
destinations (only administrator) and other entries to keep the site working.
8. BOOKING DETAILS FOR COURIER :
96
Courier booked, source office, destination office, lot, container, truck details,
date dispatched etc regarding booking of new courier with a unique id.
It includes the following sub modules-
(a)COURIER STATUS :
This specially deals with the updating at intermediate office about the truck
number that passed through office.
(b)LOADING UNLOADING DETAILE :
This deals with the loading and unloading courier from one truck to another
truck or one container to another container and other entries to keep the site
working.
9. BOOKING DETAILS FOR CARGO :
Cargo booked, source office, destination office, container, truck detail, date
dispatched etc regarding booking of new courier with a unique id.
It includes the following sub modules-
(a)CARGO STATUS :
This specially deals with the updating at intermediate office about the truck
number that passed through office.
(b)LOADING UNLOADING DETAILE :
This deals with the loading and unloading cargo from one truck to another
truck or one container to another container and other entries to keep the site
working.
10.CUSTOMER QUERY HANDLER MASTER :
This module specially deals with the handling of query of the customer. This
module has following sub modules –
97
(a)CUSTOMER QUERY HANDLING :
This module generates a input form through which customer can directly
interact with tile intermediate office where there courier & cargo is! Through
different function and tables.
(b)CUSTOMER COMPLAINT REGISTER :
Customer can directly enter the complaint regarding end office, and the
response is sending through the head office. This complaint is only viewable
through administrator account.
11.THE VALIDATION MASTER :
This basically deals with the validation of different entries done during form
building process. This module specially uses the client side validation
scripting from java script and server side scripting from vb.net to make the
system robust reliable and error free. This module as specially integrated with
the different page and forms checks all the discrepancies such as incorrect
email, date of birth, address, etc to finally deal with the any wrong entries
being done by the user . it validates as well Is suggests for correct input.
This module has the different sub modules depending upon the above modules
find forms.
i. CARGO UPDATE VALIDATION MASTER :
Deal with the validation regarding the updating of product.
ii. REGISTRATION VALIDATION MASTER :
Deals with the discrepancies in registration process etc.
iii. COURIER UPDATE VALIDATION MASTER :
Deals with the validation regarding the updating of courier and its status.
12.THE OTHER NETWORK COURIER HANDLING
MASTER :
98
This module deals specifically with the handling of packet to other
network for future delivery and their status mapping with their server to
our server.
This part of module simply tries to correct to their server automatically to
retrieve the details with the no being mapped with the original booking id,
this helps the customer to remember only one booking id but track the
status of the courier while it travels through other network to.
13.CARGO STATUS NOTIFICATION MARKER :
This modules handles the query of customer and display the result
according to that customer is asked to enter the booked id in the specified
input area. On the basis of input the detail regarding where there material
exactly is shown.
This modules contains the following sub modules-
(a)QUERY HANDLER :
This modules handles the query of the customer searches the data in
the database, through number of tables shows the result regarding
where exactly the cargo is?
The booking id is first searched in to the cargo booked table. Each
booking id has unique number associated with the different offices and
also with the cargo. On the basis that booking id, matched with the
container, and then with the truck, and after that true halted at which
station. The status is shown.
14.DELIVERY STATUS NOTIFICATION SYSTEM FOR
CARGO:
This system deals with the delivery status whether the following cargo has
been delivered to the destination or not or how much time it will take to
reach the destination.
99
It has following sub modules-
(a) DISTANCE CALCULATOR:
It takes the data from the route table that specifies distance
between the places then calculates the distance between the current cargo
(the city through which the cargo is passing and the destination).
(b)TIME CALCULATOR:
An average time is calculated on the basis of the average time
taken to reach the two adjoining city subsequently to the destination
average truck halt time and a time in day returned.
(c) DELEVERED STATUS:
It checks the current status if the current status of the cargo
gives the destination address and after taking the received detail. it display
whether the cargo is delivered successfully or not?.
15.THE OTHER NETWORK CARGO HANDLING MASTER :
This modules deal specifically with the handling of cargo or container to
other network for future delivery and their status mapping with their server
to our server.
This part of module simply tries to connect to their server automatically to
retrieve the details with the number being mapped with the original
booking id. This helps the customer to remember only one booking id, but
track the status of the courier while it travels through other network to.
100
My Module
Administrator Module:
Administrator Login Form
Administrator Page after login
Create new office
Create container.
Create truck
Create network
Create route form
Create route map form
Create city form
Search booking status form
User Module:
User login form
User page after login
Booking form
Finally unloading the truck and the container to concern destination office and make it
free to reuse for another dispatch.
101
102
Home Page
103
Administrator Login Form
Administrator Page After Login
104
Create New Office
105
Create Container
106
Create Truck
107
Create Network
108
Create Route Form
109
Create Route Map Form
110
Create City Form
111
Search Booking Status Form
112
User Login Form
113
User Page After Login
114
Booking Form
115
116
ADMINISTRATOR LOGIN FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class AdminForm : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; protected void Page_Load(object sender, EventArgs e) {
117
lblMessage.Text = ""; }
protected void btnLogin_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("select * from AdminLogin", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { if (txtAdminId.Text == dr[1].ToString() && txtPassword1.Value == dr[2].ToString() && txtPassword2.Value == dr[3].ToString()) { Response.Redirect("AdminArea.aspx");
} else { lblMessage.Text = "You are Not a authorized user"; }
} } catch (Exception ex) { lblMessage.Text = ex.Message; } finally { con.Close(); } } protected void btnLogOut_Click(object sender, EventArgs e) { Response.Redirect("Index.htm"); }}
CREATE NEW OFFICE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class OfficeRegistration : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) {
}
118
public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; protected void btnNext_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); con.Open(); try { SqlCommand cmd = new SqlCommand("insert into OfficeRegistration(Name,Address1,Address2,Phone1,Phone2,Cell,EMail,CountryId,StateId,CityId,RegDateDay,RegDateMonth,RegDateYear,Handles)values(@Name,@Address1,@Address2,@Phone1,@Phone2,@Cell,@EMail,@CountryId,@StateId,@CityId,@RegDateDay,@RegDateMonth,@RegDateYear,@Handles)", con);
cmd.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@Address1", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Address2", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Phone1", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@Phone2", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Cell", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@EMail", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@CountryId", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@StateId", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@CityId", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@RegDateDay", SqlDbType.NVarChar,50 )); cmd.Parameters.Add(new SqlParameter("@RegDateMonth", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@RegDateYear", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@Handles", SqlDbType.NVarChar, 50));
cmd.Parameters["@Name"].Value = txtname.Text; cmd.Parameters["@Address1"].Value = txtaddress1.Text; cmd.Parameters["@Address2"].Value = txtaddress2.Text; cmd.Parameters["@Phone1"].Value = txtphone1.Text; cmd.Parameters["@Phone2"].Value = txtphone2.Text; cmd.Parameters["@Cell"].Value = txtcell.Text; cmd.Parameters["@EMail"].Value = txtemail.Text; cmd.Parameters["@CountryId"].Value = txtcountry.Text; cmd.Parameters["@StateId"].Value = txtstate.Text; cmd.Parameters["@CityId"].Value = txtcity.Text; cmd.Parameters["@RegDateDay"].Value = cboregDate.SelectedItem.Text.ToString(); cmd.Parameters["@RegDateMonth"].Value = cboregMonth.SelectedItem.Text.ToString();
119
cmd.Parameters["@RegDateYear"].Value = cboregYear.SelectedItem.Text.ToString(); cmd.Parameters["@Handles"].Value = txthandlers.Text; cmd.ExecuteNonQuery();
} catch (Exception ex) { Response.Write(ex.Message); } finally { con.Close(); } Response.Redirect("AdminLogin.htm"); } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("Index.htm"); }
protected void Button1_Click1(object sender, EventArgs e) {
}}
CREATE CONTAINER CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class Container : System.Web.UI.Page{
public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; public DataSet ds = new DataSet(); public DataSet dsContainer = new DataSet(); public long ID = 1; public int checkflag = 0;
protected void btnSave_Click(object sender, EventArgs e) {
120
lblMessage.Text = cboOfOffice.Text; SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("insert into Container(OfOfficeId,ContainerNo,Description)values(@OfOfficeId,@ContainerNo,@Description)", con);
cmd.Parameters.Add(new SqlParameter("@OfOfficeId", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@ContainerNo", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.NVarChar, 50)); cmd.Parameters["@OfOfficeId"].Value =int.Parse( cboOfOffice.SelectedValue); cmd.Parameters["@ContainerNo"].Value = txtContainerNo.Text; cmd.Parameters["@Description"].Value = txtCDescription.Text; con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; Response.Redirect("Container.aspx"); txtCDescription.Text = ""; txtContainerNo.Text = "";
} catch (Exception ex) { if (ex.Message == "Violation of PRIMARY KEY constraint 'PK_Container'. Cannot insert duplicate key in object 'Container'. The statement has been terminated") { lblMessage.Text = "You can add duplicate value of Container No"; } else { lblMessage.Text = ex.Message; } } finally { con.Close(); } }
public void fill() { cboOfOffice.Items.Clear(); SqlConnection con = new SqlConnection(str); try {
121
SqlDataAdapter da = new SqlDataAdapter("Select * from OfficeRegistration", con);
da.Fill(ds, "OfficeRegistration"); foreach (DataRow dr in ds.Tables["OfficeRegistration"].Rows) { cboOfOffice.Items.Add(dr[1].ToString()); } } catch (Exception ex) { Response.Write(ex.Message); }
} }
CREATE TRUCK CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class Truck : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; protected void Page_Load(object sender, EventArgs e) {
} protected void btnSave_Click(object sender, EventArgs e) {
string str = "Server = (local);Database = CourierService;Integrated Security = SSPI";
SqlConnection con = new SqlConnection(str); con.Open(); try { SqlCommand cmd = new SqlCommand("insert into Truck(OfOfficeId,description,TruckNo,Driver,AtOfficeId,Reason_Of_Stay,Moved_Date,Moved_Month,Moved_Year)values(@OfOfficeId,@Description,@T
122
ruckNo,@Driver,@AtOfficeId,@Reason_Of_Stay,@Moved_Date,@Moved_Month,@Moved_Year)", con);
cmd.Parameters.Add(new SqlParameter("@OfOfficeId", SqlDbType.BigInt,8)); cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@TruckNo", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Driver", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@AtOfficeId", SqlDbType.BigInt,8)); cmd.Parameters.Add(new SqlParameter("@Reason_Of_Stay", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Moved_Date", SqlDbType.VarChar,50)); cmd.Parameters.Add(new SqlParameter("@Moved_Month", SqlDbType.VarChar,50)); cmd.Parameters.Add(new SqlParameter("@Moved_Year", SqlDbType.VarChar,50));
cmd.Parameters["@OfOfficeId"].Value = int.Parse(cboOfOffice.SelectedValue); cmd.Parameters["@Description"].Value = txtDescription.Text.ToString(); cmd.Parameters["@TruckNo"].Value = txtTruckNo.Text.ToString(); cmd.Parameters["@Driver"].Value = txtdrivername.Text.ToString(); cmd.Parameters["@AtOfficeId"].Value =int.Parse(cboOfficeAt.SelectedValue); cmd.Parameters["@Reason_Of_Stay"].Value = txtReasonOfStay.Text.ToString(); cmd.Parameters["@Moved_Date"].Value = cboMoveDate.SelectedItem.Text; cmd.Parameters["@Moved_Month"].Value = cboMoveMonth.SelectedItem.Text; cmd.Parameters["@Moved_Year"].Value = cboMoveYear.SelectedItem.Text; cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; Response.Redirect("http://localhost:1088/CargoSevice/Truck.aspx"); } catch (Exception ex) { if (ex.Message == "Violation of PRIMARY KEY constraint 'PK_Container'. Cannot insert duplicate key in object 'Truck No'. The statement has been terminated") { } else { Response.Write( ex.Message); } } finally {
123
con.Close(); } }
protected void btnUpdate_Click(object sender, EventArgs e) { string str = "Server = (local);Database = CourierService;Integrated Security = SSPI";
SqlConnection con = new SqlConnection(str); con.Open(); SqlCommand cmd = new SqlCommand("update Truck set description =@description,TruckNo=@TruckNo,Driver=@Driver,AtOfficeId=@AtOfficeId,Reason_Of_Stay=@Reason_Of_Stay,Moved_Date=@Moved_Date,Moved_Month=@Moved_Month,Moved_Year=@Moved_Year where TruckNo=@TruckNo)", con);
cmd.Parameters.Add(new SqlParameter("@OfOfficeId", SqlDbType.BigInt, 8)); cmd.Parameters.Add(new SqlParameter("@Description", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@TruckNo", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Driver", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@AtOfficeId", SqlDbType.BigInt, 8)); cmd.Parameters.Add(new SqlParameter("@Reason_Of_Stay", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Moved_Date", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Moved_Month", SqlDbType.VarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Moved_Year", SqlDbType.VarChar, 50));
cmd.Parameters["@OfOfficeId"].Value = int.Parse(cboOfOffice.SelectedValue); cmd.Parameters["@Description"].Value = txtDescription.Text.ToString(); cmd.Parameters["@TruckNo"].Value = txtTruckNo.Text.ToString(); cmd.Parameters["@Driver"].Value = txtdrivername.Text.ToString(); cmd.Parameters["@AtOfficeId"].Value = DBNull.Value ; cmd.Parameters["@Reason_Of_Stay"].Value = txtReasonOfStay.Text.ToString(); cmd.Parameters["@Moved_Date"].Value = cboMoveDate.SelectedItem.Text; cmd.Parameters["@Moved_Month"].Value = cboMoveMonth.SelectedItem.Text; cmd.Parameters["@Moved_Year"].Value = cboMoveYear.SelectedItem.Text;
cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; Response.Redirect("http://localhost:1088/CargoSevice/Truck.aspx"); }
124
Response.Write(ex.Message); } con.Close();
}
CREATE NETWORK CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class Network : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI";
protected void btnAdd_Click1(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("insert into Network(CompanyName,CompanyOffice,Website,CostumerCareNo,WhetherCollaborated,ExpDate,ExpMonth,ExpYear,Whether_handles)values(@CompanyName,@CompanyOffice,@Website,@CostumerCareNo,@WhetherCollaborated,@ExpDate,@ExpMonth,@ExpYear,@Whether_handles)", con);
cmd.Parameters.Add(new SqlParameter("@CompanyName", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@CompanyOffice", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@Website", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@CostumerCareNo", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@WhetherCollaborated", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ExpDate", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ExpMonth", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ExpYear", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Whether_handles", SqlDbType.NVarChar, 50));
125
cmd.Parameters["@CompanyName"].Value = txtCompanyName.Text; cmd.Parameters["@CompanyOffice"].Value = txtCompanyOffice.Text; cmd.Parameters["@Website"].Value = txtWebSite.Text; cmd.Parameters["@CostumerCareNo"].Value = txtCNumber.Text; if (rblCollabated.Items[0].Selected == true) { cmd.Parameters["@WhetherCollaborated"].Value = "Yes"; } else { cmd.Parameters["@WhetherCollaborated"].Value = "No";
}
cmd.Parameters["@ExpDate"].Value = cboDateExp.Text; cmd.Parameters["@ExpMonth"].Value = cboExpMonth.Text; cmd.Parameters["@ExpYear"].Value = cboExpYear.Text; cmd.Parameters["@Whether_handles"].Value = cboHandles.Text; txtCompanyName.Text = ""; txtCompanyOffice.Text = ""; txtWebSite.Text = ""; txtCNumber.Text = ""; con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; } catch (Exception ex) { if (ex.Message == "Violation of PRIMARY KEY constraint 'PK_Container'. Cannot insert duplicate key in object 'Container'. The statement has been terminated") { lblMessage.Text = "You can add duplicate value of Country"; } else { lblMessage.Text = ex.Message; } } finally { con.Close(); } } }
126
CREATE ROUTE FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class RouteDetail : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI";
protected void Page_Load(object sender, EventArgs e) {
} protected void btnModify_Click(object sender, EventArgs e) {
} protected void btnSave_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); con.Open(); try { SqlCommand cmd = new SqlCommand("insert into Route_Details(RouteNo,BaseCity_Id,DestinationCity_Id,Origin,Destination,AverageSpeed,Distance)values(@RouteNo,@BaseCity_Id,@DestinationCity_Id,@Origin,@Destination,@AverageSpeed,@Distance)", con);
cmd.Parameters.Add(new SqlParameter("@RouteNo", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@BaseCity_Id", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@DestinationCity_Id", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@Origin", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@Destination", SqlDbType.NVarChar,50)); cmd.Parameters.Add(new SqlParameter("@AverageSpeed", SqlDbType.Decimal)); cmd.Parameters.Add(new SqlParameter("@Distance", SqlDbType.Decimal)); cmd.Parameters["@RouteNo"].Value = int.Parse(txtRouteno.Text); cmd.Parameters["@BaseCity_Id"].Value = int.Parse(cboOrigin.SelectedValue); cmd.Parameters["@DestinationCity_Id"].Value = int.Parse(cboDestination.SelectedValue);
127
cmd.Parameters["@Origin"].Value = cboOrigin.SelectedItem.Text; cmd.Parameters["@Destination"].Value = cboDestination.SelectedItem.Text; cmd.Parameters["@AverageSpeed"].Value = decimal.Parse( txtAverageSpeed.Text); cmd.Parameters["@Distance"].Value = decimal.Parse(txtDistance.Text); cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; Response.Redirect("RouteDetail.aspx");
} catch (Exception ex) { Response.Write(ex.Message); } finally { con.Close(); } } protected void btnSearch_Click(object sender, EventArgs e) {
}}
CREATE ROUTE MAP FORM CODE
using System;
128
using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class RouteMap : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; protected void Page_Load(object sender, EventArgs e) {
} protected void btnGo_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); try { btnAdd.Visible = true; SqlCommand cmd = new SqlCommand("select Origin,Destination from Route_Details where Id='" + cboRouteNo.SelectedValue + "' ", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { lblOrigin.Text = dr[0].ToString(); lblDestinaion.Text = dr[1].ToString(); } }
catch (Exception ex) { Response.Write(ex.Message ); }
finally { con.Close(); }
} protected void btnAdd_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("insert into Route_Map(RouteMapNo,Origin,Destination,OriginalyVia,CurrentlyVia,Reason_RouteChange,RouteDetailId)values(@RouteMapNo,@Origin,@Destination,@OriginalyVia,@CurrentlyVia,@Reason_RouteChange,@RouteDetailId)", con);
cmd.Parameters.Add(new SqlParameter("@RouteMapNo", SqlDbType.NVarChar, 50));
129
cmd.Parameters.Add(new SqlParameter("@Origin", SqlDbType.NVarChar , 50)); cmd.Parameters.Add(new SqlParameter("@Destination", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@OriginalyVia", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@CurrentlyVia", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Reason_RouteChange", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@RouteDetailId", SqlDbType.BigInt,8));
cmd.Parameters["@RouteMapNo"].Value = txtRouteMapNo.Text; cmd.Parameters["@Origin"].Value = lblOrigin.Text; cmd.Parameters["@Destination"].Value = lblDestinaion.Text; cmd.Parameters["@OriginalyVia"].Value = txtOriginallyVia.Text; cmd.Parameters["@CurrentlyVia"].Value = txtCurrentlyVia.Text; cmd.Parameters["@Reason_RouteChange"].Value = txtReasonChange.Text; cmd.Parameters["@RouteDetailId"].Value = int.Parse(cboRouteNo.Text); con.Open(); cmd.ExecuteNonQuery(); lblMessage.Text = "Saved"; Response.Redirect("RouteMap.aspx");
txtRouteMapNo.Text = ""; lblOrigin.Text = ""; lblDestinaion.Text = ""; txtOriginallyVia.Text = ""; txtCurrentlyVia.Text = ""; txtReasonChange.Text = ""; } catch (Exception ex) { if (ex.Message == "Violation of PRIMARY KEY constraint 'PK_Container'. Cannot insert duplicate key in object 'Container'. The statement has been terminated") { lblMessage.Text = "You can add duplicate value of Country"; } else { lblMessage.Text = ex.Message; } } finally { con.Close(); }
130
btnAdd.Visible = false; lblDestinaion.Text = " "; lblOrigin.Text = " "; }
protected void btnSearch_Click(object sender, EventArgs e) {
}}
CREATE CITY FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class City :System.Web.UI.Page{
131
public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; public DataSet ds = new DataSet(); protected void Page_Load(object sender, EventArgs e) {
}
protected void btnAddCity_Click(object sender, EventArgs e) {
SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("insert into City(City,StateId,CountryId)values(@City,@StateId,@CountryId)", con);
cmd.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@StateId", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@CountryId", SqlDbType.BigInt));
cmd.Parameters["@City"].Value = txtCity.Text; cmd.Parameters["@StateId"].Value = int.Parse(cboState.SelectedValue); cmd.Parameters["@CountryId"].Value = int.Parse(cboCountry.SelectedValue);
con.Open(); cmd.ExecuteNonQuery(); txtCity.Text = ""; txtCity.Focus();
} catch (Exception ex) { if (ex.Message == "Violation of PRIMARY KEY constraint 'PK_Container'. Cannot insert duplicate key in object 'Container'. The statement has been terminated") { } else { } } finally { con.Close(); } }}
132
SEARCH BOOKING STATUS FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class ASearchByBookingNo : System.Web.UI.Page{
public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; public string LotId; protected void Page_Load(object sender, EventArgs e) {
} protected void btnSearch_Click(object sender, EventArgs e)
133
{ SqlConnection con = new SqlConnection(str);
try { SqlCommand cmd = new SqlCommand("select LotId from BookingLotLink where BookingId = '" + cboBookingNo.SelectedValue + "'", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read()) { LotId = dr[0].ToString(); }
cmd.ExecuteNonQuery();
dr.Close();
}
catch (Exception ex) {
}
finally { con.Close();
}
try { SqlCommand cmd = new SqlCommand("select Origin,Destination,CurrentlyVia,RouteMapNo,Name,TruckNo,LotNo from TruckRouteView where status = 0 and LotId = '" + LotId + "'", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read()) { lblOrigin.Text = dr[0].ToString(); lblDestination.Text = dr[1].ToString(); lblCurrentlyVia.Text = dr[2].ToString(); lblRouteMap.Text = dr[3].ToString(); lblOffice.Text = dr[4].ToString(); lblStatus.Text = "Lot is not Delivered"; lblTruckNo.Text = dr[5].ToString(); lblContainterNo.Text = "--"; lblLotNo.Text = dr[6].ToString(); }
134
cmd.ExecuteNonQuery();
dr.Close();
}
catch (Exception ex) {
}
finally { con.Close();
}
try { SqlCommand cmd = new SqlCommand("select Origin,Destination,CurrentlyVia,RouteMapNo,Name,ContainerNo,TruckNo,LotNo from TruckContainerRouteView where status = 0 and LotId = '" + LotId + "'", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read()) { lblOrigin.Text = dr[0].ToString(); lblDestination.Text = dr[1].ToString(); lblCurrentlyVia.Text = dr[2].ToString(); lblRouteMap.Text = dr[3].ToString(); lblOffice.Text = dr[4].ToString(); lblStatus.Text = "Lot is Not Delivered"; lblContainterNo.Text = dr[5].ToString(); lblTruckNo.Text = dr[6].ToString(); lblLotNo.Text = dr[7].ToString();
}
cmd.ExecuteNonQuery();
dr.Close();
}
catch (Exception ex) {
}
135
finally { con.Close();
} }}
USER LOGIN FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page {
public string str = "Server = (local);Database = couriercargo;Integrated Security = SSPI";
public string User1 = "Vishal"; protected void Page_Load(object sender, EventArgs e) { lblMessage.Text = ""; } protected void Button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str); try { SqlCommand cmd = new SqlCommand("select * from UserLogin", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); int flag = 0; while (dr.Read()) {
136
if (txtuserid.Text == dr[1].ToString() && txtpassword.Value == dr[2].ToString() ) { Session.Timeout = 30; Session["Login"] = txtuserid.Text ; flag = 1; Response.Redirect("ClientArea.aspx");
}
if (flag == 0) { lblMessage.Text = "You are Not a authorized user"; }
} } catch (Exception ex) { lblMessage.Text = ex.Message; } finally { con.Close(); } } protected void Button2_Click(object sender, EventArgs e) {
}}
137
BOOKING FORM CODE
using System;using System.Data;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Data.SqlClient;
public partial class FrmBooking : System.Web.UI.Page{ public string str = "Server = (local);Database = CourierService;Integrated Security = SSPI"; protected void cboExpMonth_SelectedIndexChanged(object sender, EventArgs e) { }
public void Submit()
{ SqlConnection con = new SqlConnection(str); try {
SqlCommand cmd = new SqlCommand("insert into Booking ( Booked_by_UserId,Booked_Item,Booked_Weight,OfficeId_Recv,OfficeId_Send,ExpReceiveDate,ExpReceiveMonth,ExpReceiveYear,ActualReceiveDate,ActualReceiveMonth,ActualReceiveYear,Origin_CityId,Destination_CityId,Whether)values(@Booked_by_UserId,@Booked_Item,@Booked_Weight,@OfficeId_Recv,@OfficeId_Send,@ExpReceiveDate,@ExpReceiveMonth,@ExpReceiveYear,@ActualReceiveDate,@ActualReceiveMonth,@ActualReceiveYear,@Origin_CityId,@Destination_CityId,@Whether)", con);
cmd.Parameters.Add(new SqlParameter("@Booked_by_UserId", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Booked_Item", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Booked_Weight", SqlDbType.NVarChar, 50));
138
cmd.Parameters.Add(new SqlParameter("@OfficeId_Recv", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@OfficeId_Send", SqlDbType.BigInt)); cmd.Parameters.Add(new SqlParameter("@ExpReceiveDate", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ExpReceiveMonth", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ExpReceiveYear", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ActualReceiveDate", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ActualReceiveMonth", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@ActualReceiveYear", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Origin_CityId", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Destination_CityId", SqlDbType.NVarChar, 50)); cmd.Parameters.Add(new SqlParameter("@Whether", SqlDbType.NVarChar, 50));
cmd.Parameters["@Booked_by_UserId"].Value = txtUserId.Text; cmd.Parameters["@Booked_Item"].Value = txtItem.Text; cmd.Parameters["@Booked_Weight"].Value = txtWeigth.Text; cmd.Parameters["@OfficeId_Recv"].Value = int.Parse(cboOfficeR.SelectedValue); cmd.Parameters["@OfficeId_Send"].Value = int.Parse(cboOfficeS.SelectedValue); cmd.Parameters["@ExpReceiveDate"].Value = cboDateExp.Text;
cmd.Parameters["@ExpReceiveMonth"].Value = cboExpMonth.Text;
cmd.Parameters["@ExpReceiveYear"].Value = cboExpYear.Text; cmd.Parameters["@ActualReceiveDate"].Value = cboRecvDate.Text; cmd.Parameters["@ActualReceiveMonth"].Value = cboRevMonth.Text; cmd.Parameters["@ActualReceiveYear"].Value = cboRecvYear.Text; cmd.Parameters["@Origin_CityId"].Value = int.Parse(cboOrigin.SelectedValue);
cmd.Parameters["@Destination_CityId"].Value = int.Parse(cboDestination.SelectedValue);
cmd.Parameters["@Whether"].Value = cboWhether.SelectedItem.Text;
con.Open();
139
cmd.ExecuteNonQuery(); Label1.Text = "Booked Thankyou !"; } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { con.Close(); }
try {
SqlCommand cmd1 = new SqlCommand("select max([ID]) from Booking", con); con.Open(); object BookingId = cmd1.ExecuteScalar();
Label1.Text = " This Item is Booked ! Booking No is " + BookingId.ToString();
} catch (Exception ex) { Label1.Text = ex.Message; } finally { con.Close(); }
} protected void btnUpdate_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection(str);
int flag = 0;
try { SqlCommand cmd = new SqlCommand("select UserId,OfOffice from ManagerDetail where UserID = '" + txtUserId.Text + "'", con); con.Open(); SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read()) { //OfficeId = dr[1].ToString(); flag = 1; } else
140
{ flag = 0;
}
} catch (Exception ex) {
Label1.Text = ex.Message; }
finally { con.Close(); }
if (flag == 0) { Label1.Text = "This User Id does'nt exit.Please enter the valid UserId"; } else { Submit(); } } protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) {
} protected void Page_Load(object sender, EventArgs e) {
}}
141
Testing
142
Testing Methodology:
Software testing is critical element of software quality assurance and represents the
ultimate review of specification, design and coding. It is used to detect errors. Testing
is a dynamic method for verification and validation, where the system to be tested is
executed and the behavior of the system is observed.
Testing Objectives:
1. Testing is a process of executing a program with the intent of finding
an error.
2. A good test case is one that has a high probability of finding an as-yet-
undiscovered error.
3. A successful test is one that uncovers an as-yet-undiscovered error.
4. The above objectives imply a dramatic change in viewpoint. They
move counter to the commonly held view that a successful test is one
in which no errors are found. Our objective is to design tests that
systematically uncover different classes of errors and do so with a
minimum amount of time and effort.
If testing is conducted successfully (according to the objectives stated above), it will
uncover errors in the software.
Testing cannot show the absence of defects, it can only show that software errors are
present.
Testing Technique:
The techniques followed throughout the testing of the system are as under
Black-Box Testing:
Black box testing focuses on the functional requirements of the software. That is,
Black Box testing enables the software engineer to derive sets of input conditions that
will fully exercise all functional requirements for a program. Black Box Testing is not
143
an alternative to white-box techniques. Rather, it is a complementary approach that is
likely to uncover a different class of errors than white-box methods.
Black-Box Testing attempts to find errors in the following categories:
1. Incorrect or missing functions.
2. Interface errors.
3. Errors in data structures or external data base access.
4. Performance errors.
5. Initialization and termination errors.
Unlike White Box Testing, which is performed early in the testing process, Black Box
Testing tends to be applied during later stages of testing. Because Black Box Testing
purposely disregards control structure, attention is focused on the information domain.
Tests are designed to answer the following questions:
1) How is functional validity tested?
2) What classes of input will make good test cases?
3) Is the system particularly sensitive to certain input values?
4) How are the boundaries of a data class isolated?
5) What data rates and data volume can the system tolerate?
6) What effect will specific combinations of data have on system
operation?
By applying black box techniques, we derive a set of test cases that satisfy the
following criteria:
Test cases that reduce, by a count that is greater than one, the number
of additional test cases that must be designed to achieve reasonable
testing.
Test cases that tell us something about the presence or absence of
classes of errors, rather than errors associated only with the specific
test at hand.
144
White-Box Testing:
White Box Testing knowing the internal workings of a product tests can be conducted
to ensure that internal operations are performed according to specifications and all
internal components have been adequately exercised.
Using white box testing methods the test cases that can derived are:
(1) All independent paths with in a module have been exercised at least
once.
(2) Exercise all logical decisions on their true and false sides.
(3) Execute all loops at their boundaries and within their operational
bounds.
(4) Exercise internal data structures to ensure their validity.
Control Structure Testing
1) Condition Testing :
Condition testing is a test case design method that exercises the logical conditions
contained in a program module. If a condition is incorrect then at least one component
of the condition is incorrect. Therefore types of errors in a condition include the
following.
Boolean operator error
Boolean variable error
Boolean parenthesis error
Relational operator error
Arithmetic expression error
2) Loop Testing :
Loops are the corner stone for the vast majority of all algorithms implemented in
software. Loop testing is a white-box testing technique that focuses exclusively on the
validity of loop constructs. Four different classes of loops:
Simple Loops
Nested Loops
145
Concatenated Loops
unstructured Loops
3) Dataflow Testing :
The dataflow testing method selects test paths of a program according to the location
of definitions and uses of variables in the program. In this testing approach, assume
that each statement in a program is assigned a unique statement number and that each
function does not modify its parameters or global variables.
It is useful for selecting test paths of a program containing nested if and loop
statement. This approach is effective for error detection. However, the problems of
measuring test coverage and selecting test paths for data flow testing are more
difficult than the corresponding problems for condition testing.
Testing Strategies
A strategy for software testing integrates software test case design methods into a well
planned series of steps that result in the successful construction of software. A
software testing strategy should be flexible enough to promote a customized testing
approach.
Unit Testing:
Unit testing focuses verification efforts on the smallest unit of software design. It is
white box oriented. Unit testing is essentially for verification of the code produced
during the coding phase and hence the goal is to test the internal logic of the module.
Others consider a module for integration and use only after it has been unit tested
satisfactorily.
(1) The module interface is tested to ensure that information properly
flows in and out of program.
(2) Local data structure is examined to ensure that data stored temporarily
maintain its integrity.
(3) Boundary conditions are tested to ensure that modules operate properly
at boundary limits of processing.
(4) All independent paths are exercised to ensure all statements in a
module have been executed at least once.
146
(5) All error-handling paths are tested.
Integration Testing:
Integration testing focuses on design and construction of the software architecture.
For example: - We followed a systematic technique for constructing the program
structure that is “putting them together”- interfacing at the same time conducting tests
to uncover errors. We took unit tested components and build a program that has been
dictated by design.
Validation Testing:
It is achieved through a series of Black Box tests. An important element of validation
process is configuration review. It is intended for all the elements are properly
configured and cataloged. It is also called AUDIT.
System Testing:
The last high-order testing step falls outside the boundary of software engineering and
into tile broader context of computer system engineering. Software, once validated,
must be combined with other system element (e.g., hardware, people, and database).
System testing verifies that all elements mesh properly and that overall system
function/performance is achieved.
It is a series of different tests whose primary purpose is to fully exercise the
computer-based system. Although each test has a different purpose all work to verify
that system elements have been properly integrated and perform allocated functions.
147
System implementation
Putting a planned system into action. The stage of systems development in which
hardware and software are acquired, developed and installed, the system is tested and
documented, people are trained to operate and use the system, and an organization
converts to the use of a newly developed system.
Process of installing a new computer system.
148
To ensure that a system's implementation takes place as efficiently and with as little
disruption as possible, a number of tasks are necessary. These include ordering and
installing new equipment, ordering new stationery and storage media, training
personnel, converting data files into new formats, drawing up an overall
implementation plan, and preparing for a period of either parallel running.
The resources that Imaging Solutions applies to an Enterprise Content Management
system implementation depend on the scope and complexity of the system. During
implementation all necessary software and hardware is obtained and the system is
staged where the components are configured according to the System Design
Specification and tested.
Systems can be staged at our facility or at the customer’s site if required. If staged at
Imaging Solution’s offices, they are shipped to the client site once the configuration is
complete. A final test is performed on all components and system training is
commenced. Once the system training is complete, the system is rolled out into
production. On-site support can also be provided to handle post-implementation
issues and questions.
The process of planning, designing, and implementing computer system is called a
project. It is directed by a project manager who uses available resources to produce
system for the organization. It takes an effective manager resource, schedule the
events, establish standards, and complete the project on time, within budget, and with
successful results.
With parallel running, the new system is introduced alongside the existing
system. With parallel running both systems (manual and computer, or old
computer and new computer system) will be in operation at the same time. This
has the advantage that the results from the new system can be compared with
those of the old system.
149
Project management:
Project management is a technique used by a manager to ensure successful
completion of a project. It includes the following functions;
Estimating resource requirements
Scheduling tasks and events
Providing for training and site preparation
Selecting qualified staff and supervising their work
Monitoring the project’s program
Documenting
Periodic evaluating
Contingency planning
From these functions, we can see that project management is a specialized area. It
involves the application of planning, organization, and control concepts to critical,
one-of-a-kind projects. It also uses tools and software packages for planning and
managing each project.
Project organization:
The project team:
The term team is used here to mean a group of people with similar skills and sharing a
common activity. Some of the questions a project manager may ask are: what
comprises the project team? Who should be on it? What skills must they have? For
large projects, a project team is staffed by systems analysts, programmers, prime
150
user(s), hardware/software suppliers, and even subcontractors. The staff may retain
for the duration of the project.
The skills expected of a project team are the same skills required in computer system
development projects:
Systems analysis
Detailed system design
Program design
System testing
Conversion
Cost justification
Planning and estimating
Hardware/software experience
Leading teams
151
Limitations of the Project
152
Though this project is very useful and has several advantages over a manual system.
Use of this no doubt will result in faster processing and a better service but has some
limitations also. These limitations include
We do not have online transactions.
This application can run on the Web server and SQL server.
End user cannot directly interact with the dynamic performance of this project.
153
Future Scope of the Project
It is highly likely that the scope will change as the web application moves forward the
web process model should be incremental. This allows development team to freeze
the scope for one increment so that an operation web application of the preceding
154
increment but once the second increment commence, scope is again frozen
temporarily. This approach enables the web application team to work with having to
accommodate continual stream of change be still recognized. The continuous
evolutions characteristics of most web application. Beside that the following basic
quality in the software always safeguards the future scope of the software.
Extensibility:
This software is extended in a way that its original developer may not expect.
The following principal enhances extensibility like hide data structure. Avoid
traversing multiple links or methods, avoid age statement on object type and
distinguish public and private operations.
Portability:
Since it is an internet based application, so its portability and usability depends
upon the client connected with the internet. The interface designed that is the web
page designing which one of the major part of web application because it is the first
impression regardless of the value of its contents interface should must grab a
potential user immediately.
Project manager:
To plan, and control the project team’s effort, the project manager expected to have
unique qualities:
Flexibility and adaptability to changing situations. Ability to communicate and
persuade people affected by the project as well as those working on it about changes
or enhancements to incorporate into the plan. Commitment to planning the system
development aspect of the project and ability to minimize the risks when assessing
different approaches to develop a project. Understanding technical problems and
design details. Understanding the motivations and interests of members of the project
staff and the ability to implement ways to improve job satisfaction.
Implementation phase
The following steps were carried out in implementation phase.
155
Conduct Training: The training was conducted for the employees of
the company to make them familiar with the system.
Bug fixing and documentation: Any errors that occurred were solved
and documented.
Install the system: The system was then installed.
156
Bibliography
We referred some books which had provides us with much of guidance to
develop the code for the website. There are a few good books and websites that we
referred to develop asp, css, JavaScript and HTML codes.
Apart from codes these books and websites had provides us with few good
techniques and methodologies to develop the website. There are a list of few books
and websites that we referred are:
BOOKS:
C# Professional By Wrox Publication
ASP.Net By Wrox Publication
157
SQL SERVER 2000 In Techmedia, 21 Days
SITES FOR REFERENCE
www.google.com
www.aspcode.net
http://msdn2.microsoft.com/en-us/asp.net/default.aspx
158