Barcode 1

64
1. INTRODUCTION Cargo services are one of the busy businesses where daily many customers sends goods from one county, state to other county. In order to deliver goods in given time management system must be computerized and reduce manual work and provide better quality. 1.1 PURPOSE The main purpose of the project is too easily tracking the cargoes with help of a barcode which is attached to the cargoes. The customer is provided with the bar code number through which he can check for the status of the package sent. 1.2 SCOPE The proposed ‘Barcode Labeler’ System includes all the factors of the existing system but in more efficient way. Proposed system is developed in C#.NET under MS SQL SERVER 2005 as back end and 2D barcode algorithm is used for the implementation .Only authorized users can enter in to the system on entering the correct User name and Password. So unauthorized users cannot access system. 1.3 OVERVIEW The barcode label system allows users to read barcode labels as input through barcode scanner ,the software allows administrator to permit authorised users only . The users needs to log in to the software to use the software. Barcode Based Cargo 1 Tracking System

Transcript of Barcode 1

Page 1: Barcode 1

1. INTRODUCTIONCargo services are one of the busy businesses where daily many customers sends

goods from one county, state to other county. In order to deliver goods in given time

management system must be computerized and reduce manual work and provide

better quality.

1.1 PURPOSEThe main purpose of the project is too easily tracking the cargoes with help of a

barcode which is attached to the cargoes. The customer is provided with the bar code

number through which he can check for the status of the package sent.

1.2 SCOPEThe proposed ‘Barcode Labeler’ System includes all the factors of the existing system

but in more efficient way. Proposed system is developed in C#.NET under MS SQL

SERVER 2005 as back end and 2D barcode algorithm is used for the

implementation .Only authorized users can enter in to the system on entering the correct

User name and Password. So unauthorized users cannot access system.

1.3 OVERVIEWThe barcode label system allows users to read barcode labels as input through barcode

scanner ,the software allows administrator to permit authorised users only . The users

needs to log in to the software to use the software.

The barcode printing is another feature of the software ,which prints out and stores the

barcode for future use.

Processes Involves

Access Management process to allow access to users of various courier

services.

Courier company information setup and maintenance process.

Routes Information setup and maintenance process.

Packages tracking number setup process.

Discrepancy notification process.

Customer package tracking process.

Data Archiving and backup Process.

Barcode Based Cargo 1Tracking System

Page 2: Barcode 1

2. TECHNOLOGIES USEDTechnologies used are .NET technology and structure is the ASP.NET set of

technologies. These web development technologies are used in the making of

websites and net services working on the .NET infrastructure.

2.1 INTRODUCTION TO .NET FRAMEWORKThe .NET Framework is a new computing platform that simplifies application

development in the highly distributed environment of the Internet. The .NET

Framework is designed to fulfill the following objectives: To provide a consistent

object-oriented programming environment whether object code is stored and executed

locally, executed locally but Internet-distributed, or executed remotely.

To provide a code-execution environment that minimizes software deployment

and versioning conflicts.

To provide a code-execution environment that guarantees safe execution of

code, including code created by an unknown or semi-trusted third party.

To provide a code-execution environment that eliminates the performance

problems of scripted or interpreted environments.

To make the developer experience consistent across widely varying types of

applications, such as Windows-based applications and Web-based

applications.

To build all communication on industry standards to ensure that code based on

the .NET Framework can integrate with any other code.

The .NET Framework has two main components:

The common language runtime.

The .NET Framework class library.

The common language runtime is the foundation of the .NET Framework. You can

think of the runtime as an agent that manages code at execution time, providing core

services such as memory management, thread management, and Remoting, while also

enforcing strict type safety and other forms of code accuracy that ensure security and

robustness. In fact, the concept of code management is a fundamental principle of the

runtime. Code that targets the runtime is known as managed code, while code that

does not target the runtime is known as unmanaged code. The class library, the other

main component of the .NET Framework, is a comprehensive, object-oriented

collection of reusable types that you can use to develop applications ranging from

Barcode Based Cargo 2Tracking System

Page 3: Barcode 1

traditional command-line or graphical user interface (GUI) applications to

applications based on the latest innovations provided by ASP.NET.

2.2ASP.NET2.2.1 Server Application DevelopmentServer-side applications in the managed world are implemented through runtime

hosts. Unmanaged applications host the common language runtime, which allows

your custom managed code to control the behavior of the server. This model provides

you with all the features of the common language runtime and class library while

gaining the performance and scalability of the host server.

The following illustration shows a basic network schema with managed code running

in different server environments. Servers such as IIS and SQL Server can perform

standard operations while your application logic executes through the managed code.

2.2.2Server-Side Managed CodeASP.NET is the hosting environment that enables developers to use the .NET

Framework to target Web-based applications. However, ASP.NET is more than just a

runtime host; it is a complete architecture for developing Web sites and Internet-

distributed objects using managed code. Both Web Forms and XML Web services use

IIS and ASP.NET as the publishing mechanism for applications, and both have a

collection of supporting classes in the .NET Framework.

XML Web services, an important evolution in Web-based technology, are distributed,

server-side application components similar to common Web sites. However, unlike

Web-based applications, XML Web services components have no UI and are not

targeted for browsers such as Internet Explorer and Netscape Navigator. Instead,

XML Web services consist of reusable software components designed to be

consumed by other applications, such as traditional client applications, Web-based

applications, or even other XML Web services. As a result, XML Web services

technology is rapidly moving application development and deployment into the highly

distributed environment of the Internet.

If you have used earlier versions of ASP technology, you will immediately notice the

improvements that ASP.NET and Web Forms offers. For example, you can develop

Web Forms pages in any language that supports the .NET Framework. In addition,

your code no longer needs to share the same file with your HTTP text (although it can

continue to do so if you prefer). Web Forms pages execute in native machine

Barcode Based Cargo 3Tracking System

Page 4: Barcode 1

language because, like any other managed application, they take full advantage of the

runtime. In contrast, unmanaged ASP pages are always scripted and interpreted.

ASP.NET pages are faster, more functional, and easier to develop than unmanaged

ASP pages because they interact with the runtime like any managed application.

The .NET Framework also provides a collection of classes and tools to aid in

development and consumption of XML Web services applications. XML Web

services are built on standards such as SOAP (a remote procedure-call protocol),

XML (an extensible data format), and WSDL ( the Web Services Description

Language). The .NET Framework is built on these standards to promote

interoperability with non-Microsoft solutions.

For example, the Web Services Description Language tool included with the .NET

Framework SDK can query an XML Web service published on the Web, parse its

WSDL description, and produce C# or Visual Basic source code that your application

can use to become a client of the XML Web service. The source code can create

classes derived from classes in the class library that handle all the underlying

communication using SOAP and XML parsing. Although you can use the class

library to consume XML Web services directly, the Web Services Description

Language tool and the other tools contained in the SDK facilitate your development

efforts with the .NET Framework.

If you develop and publish your own XML Web service, the .NET Framework

provides a set of classes that conform to all the underlying communication standards,

such as SOAP, WSDL, and XML. Using those classes enables you to focus on the

logic of your service, without concerning yourself with the communications

infrastructure required by distributed software development.

Finally, like Web Forms pages in the managed environment, your XML Web

service will run with the speed of native machine language using the scalable

communication of IIS.

2.2.3Active Server Pages.NETASP.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.

World-Class Tool Support.

Barcode Based Cargo 4Tracking System

Page 5: Barcode 1

Power and Flexibility.

Simplicity.

Manageability.

Scalability and Availability.

Customizability and Extensibility.

Security.

2.3 ADO.NET ADO.NET is an evolution of the ADO data access model that directly addresses user

requirements for developing scalable applications. It was designed specifically for the

web with scalability, statelessness, and XML in mind.

ADO.NET uses some ADO objects, such as the Connection and Commandobjects,

and also introduces new objects. Key new ADO.NET objects include the DataSet,

DataReader, and DataAdapter.

The important distinction between this evolved stage of ADO.NET and previous data

architectures is that there exists an object -- the DataSet-- that is separate and distinct

from any data stores. Because of that, the DataSetfunctions as a standalone entity.

You can think of the Data Set as an always disconnected record set that knows

nothing about the source or destination of the data it contains. Inside a DataSet, much

like in a database, there are tables, columns, relationships, constraints, views, and so

forth.

A Data Adapter is the object that connects to the database to fill the DataSet. Then, it

connects back to the database to update the data there, based on operations performed

while the DataSetheld the data. In the past, data processing has been primarily

connection-based. Now, in an effort to make multi-tiered apps more efficient, data

processing is turning to a message-based approach that revolves around chunks of

information. At the center of this approach is the DataAdapter, which provides a

bridge to retrieve and save data between a DataSet and its source data store. It

accomplishes this by means of requests to the appropriate SQL commands made

against the data store.

The XML-based DataSet object provides a consistent programming model that works

with all models of data storage: flat, relational, and hierarchical. It does this by having

no 'knowledge' of the source of its data, and by representing the data that it holds as

collections and data types. No matter what the source of the data within the DataSet

Barcode Based Cargo 5Tracking System

Page 6: Barcode 1

is, it is manipulated through the same set of standard APIs exposed through the

DataSetand its subordinate objects.

While the DataSethas no knowledge of the source of its data, the managed

provider has detailed and specific information. The role of the managed provider is to

connect, fill, and persist the DataSetto and from data stores. The OLE DB and SQL

Server .NET Data Providers (System.Data.OleDb and System.Data.SqlClient) that are

part of the .Net Framework provide four basic objects: the Command,Connection,

DataReader and DataAdapter. In the remaining sections of this document, we'll walk

through each part of the DataSet and the OLE DB/SQL Server .NET Data Providers

explaining what they are, and how to program against them.

The following sections will introduce you to some objects that have evolved,

and some that are new. These objects are:

Connections:For connection to and managing transactions against a database.

Commands: For issuing SQL commands against a database.

Data Readers: For reading a forward-only stream of data records from a SQL

Server data source.

Data Sets: For storing, Remoting and programming against flat data, XML

data and relational data.

Data Adapters: For pushing data into a Data Set, and reconciling data against a

database.

When dealing with connections to a database, there are two different options: SQL

Server .NET Data Provider (System.Data.SqlClient) and OLE DB .NET Data

Provider (System.Data.OleDb). In these samples we will use the SQL Server .NET

Data Provider. These are written to talk directly to Microsoft SQL Server. The OLE

DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB

underneath).

2.4 C# .NETC#, pronounced c sharp, is a computer language used to give instructions that tell the

computer what to do, how to do it, and when to do it. This is a universal language that

is used on many operating systems, including Microsoft Windows. C# is one of the

languages used in the Microsoft .NET Framework.

The Microsoft .NET Framework is a library of objects that create or draw things on

the computer.

Barcode Based Cargo 6Tracking System

Page 7: Barcode 1

The programs we will write are meant to give instructions to the computer about what

to do, when to do something, and how to do it. You write these instructions in an easy

to understand English format, using words we will study. This means that a regular

instruction uses normal text with alphabetic characters, numbers, and non-readable

symbols. Normally, you can write your instructions using any text editor such as

Notepad, WordPad, WordPerfect, or Microsoft Word, etc. When writing your

instructions, there are rules your must follow and suggestions you should observe.

The group of instructions used by your program is also referred to as code. To assist

you with writing code, Microsoft Visual C# 2008 includes a text editor referred to as

the Code Editor. This is the window that displays when you have just created a

console application. Besides the Code Editor, the integrated development interface

(IDE) of the Microsoft Visual C# 2008 is made of various parts, which we will review

when necessary.

2.5 SQL SERVERA database management, or DBMS, gives the user access to their data and

helps them transform the data into information. Such database management systems

include dBase, paradox, IMS, SQL Server and SQL Server. These systems allow

users to create, update and extract information from their database.

A database is a structured collection of data. Data refers to the characteristics

of people, things and events. SQL Server stores each data item in its own fields. In

SQL Server, the fields relating to a particular person, thing or event are bundled

together to form a single complete unit of data, called a record (it can also be referred

to as raw or an occurrence). Each record is made up of a number of fields. No two

fields in a record can have the same field name.

3. SYSTEM ANALYSIS

Barcode Based Cargo 7Tracking System

Page 8: Barcode 1

Understanding the properties and requirements of a new system is more

difficult and requires creative thinking and understanding of existing running system

is also difficult, improper understanding of present system can lead diversion from

solution.

3.1 SECTION OVERVIEW After analyzing the requirements of the task to be performed, the next step is

to analyze the problem and understand its context. The first activity in the phase is

studying the existing system and other is to understand the requirements and domain

of the new system. Both the activities are equally important, but the first activity

serves as a basis of giving the functional specifications and then successful design of

the proposed system. Understanding the properties and requirements of a new system

is more difficult and requires creative thinking and understanding of existing running

system is also difficult, improper understanding of present system can lead diversion

from solution. The activities are equally important, but the first activity serves as a

basis of giving the functional specifications and then successful design of the

proposed system.

3.2 EXISTING SYSTEMCargo tracking has become a major issue these days as many small and medium sized

courier services have come into the market. The current issue is that all the major

couriers use RFID and hand held devices to track each and very package from source

to destination at every step

.But, unfortunately, most of the small and medium courier services are unable to

afford such systems and so when there is a missing package, it becomes a very tedious

and time consuming process to track the whereabouts. It is also important for the

customer to have the option of tracking the package and it is not currently available

with small and medium sized courier services.

3.2.1 Disadvantages System failure can cost more delays.

Scratched or crumpled barcodes may cause problems.

Data must be coded in the barcode.

In laser scanning, durability and cost.

Barcode Based Cargo 8Tracking System

Page 9: Barcode 1

3.3 PROPOSED SYSTEMThere is a need for a web based application that uses bar coding to track the cargo that

can be used by small and medium courier services. Each of the courier services use a

series of bar codes that can be attached to the cargo so that it is scanned at each of the

locations while it is transported to the destination.

As it is a web based application, it can also be used by the customers to access and

track the status of their packages using the tracking number of the package.

3.3.1 Advantages Barcodes are a fast and reliable method of inputting data.

They can be read even when they are on curvedsurfaces or upside down and a

'checksum' digit is included in the code to check if it has been read.

When you read a barcode, you have control over how and where your data

goes.

You can perform any modification on the barcode data before sending it to the

computer or translating the data.

Barcode Based Cargo 9Tracking System

Page 10: Barcode 1

4. SYSTEM DESIGNSystem design usually involves the architecture, components, modules, interfaces, and

data for a system to satisfy specified requirements. If the system requirements have

been specified and analysed, system design is the first activity that is build and

verifies the software. It includes system specifications, components, and data flow

diagrams.

4.1 SYSTEM SPECIFICATIONS4.2.1 Processes Involved

Access Management process to allow access to users of various courier

services

Courier company information setup and maintenance process

· Routes Information setup and maintenance process

Packages tracking number setup process

Discrepancy notification process

Customer package tracking process

Data Archiving and backup Process

4.2 SYSTEM COMPONENTSThe system components consists of seven modules which involved in it so, the system

can be enhancement.

4.2.1 Modules Involved Access management Module: This module is used by the system Admin to

provide access to various courier company users to access the application.

Courier company Information setup and maintenance Module: This

module allows appropriate company users to setup and maintain the data

related to the courier company.

Routes Setup and maintenance Module:This module allows appropriate

courier users to setup and maintain the information related to various routes

that are serviced by the couriers, along with the intermediate destinations.

Packages tracking number setup Module: This module allows courier

companies to setup tracking numbers to the packages that need to be couriered

along with the source and destination details.

Barcode Based Cargo 10Tracking System

Page 11: Barcode 1

Discrepancy notificationModule: This module allows application to

automatically warn the user scanning the bar code, in case there is a

discrepancy in route followed by the package. It also allows users to specify

alternate routes when required.

Customer Package tracking Module: Allows customers to track their

packages based on the tracking number on-line.

Data Archiving and CleanupModule: Allows Admin users to

Archive/Cleanup old data on the system.

4.3 DATA FLOW DIAGRAMSA data flow diagram is graphical tool used to describe and analyze movement

of data through a system. These are the central tool and the basis from which the

other components are developed. The transformation of data from input to output,

through processed, may be described logically and independently of physical

components associated with the system. These are known as the logical data flow

diagrams. The physical data flow diagrams show the actual implements and

movement of data between people, departments and workstations. A full description

of a system actually consists of a set of data flow diagrams. Using two familiar

notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each

component in a DFD is labeled with a descriptive name. Process is further identified

with a number that will be used for identification purpose. The development of

DFD’s is done in several levels. Each process in lower level diagrams can be broken

down into a more detailed DFD in the next level. The lop-level diagram is often

called context diagram. It consists a single process bit, which plays vital role in

studying the current system. The process in the context level diagram is exploded

into other process at the first level DFD.

The idea behind the explosion of a process into more process is that

understanding at one level of detail is exploded into greater detail at the next level.

This is done until further explosion is necessary and an adequate amount of detail is

described for analyst to understand the process.

Larry Constantine first developed the DFD as a way of expressing system

requirements in a graphical from, this lead to the modular design.

A DFD is also known as a “bubble Chart” has the purpose of clarifying system

requirements and identifying major transformations that will become programs in

Barcode Based Cargo 11Tracking System

Page 12: Barcode 1

system design. So it is the starting point of the design to the lowest level of detail. A

DFD consists of a series of bubbles joined by data flows in the system.

DFD SYMBOLS

In the DFD, there are four symbolsare defines a source(originator) or destination of

system data

An arrow identifies data flow. It is the pipeline through which the information flows

A circle or a bubble represents a process that transforms incoming data flow into

outgoing data flows.

An open rectangle is a data store, data at rest or a temporary repository of data

Data flow

Data Store

CONSTRUCTING A DFD:

Several rules of thumb are used in drawing DFD’s:

Process should be named and numbered for an easy reference. Each name

should be representative of the process.

The direction of flow is from top to bottom and from left to right. Data

traditionally flow from source to the destination although they may flow back

to the source. One way to indicate this is to draw long flow line back to a

Barcode Based Cargo 12Tracking System

Process that transforms data flow.

Source or Destination of data

Page 13: Barcode 1

source. An alternative way is to repeat the source symbol as a destination.

Since it is used more than once in the DFD it is marked with a short diagonal.

When a process is exploded into lower level details, they are numbered.

The names of data stores and destinations are written in capital letters. Process

and dataflow names have the first letter of each work capitalized

A DFD typically shows the minimum contents of data store. Each data store

should contain all the data elements that flow in and out.

Questionnaires should contain all the data elements that flow in and out.

Missing interfaces redundancies and like is then accounted for often through

interviews.

4.3.1 SAILENT FEATURES OF DFD’s:1. The DFD shows flow of data, not of control loops and decision are controlled

considerations do not appear on a DFD.

2. The DFD does not indicate the time factor involved in any process whether the

dataflow take place daily, weekly, monthly or yearly.

3. The sequence of events is not brought out on the DFD.

4.3.2 RULES FOR DFD

1. Fix the scope of the system by means of context diagrams.

2. Organize the DFD so that the main sequence of the actions reads left to right

and Top to bottom.

3. Identify all inputs and outputs.

4. Identify and label each process internal to the system with rounded circles.

5. A process is required for all the data transformation and transfers. Therefore,

6. never connect a data store to a data source or the destinations or another data

store with just a data flow arrow.

7. Do not indicate hardware and ignore control information.

8. Make sure the names of the processes accurately convey everything the

process is done.

9. There must not be unnamed process.

10.Indicate external sources and destinations of the data, with squares.

11.Number each occurrence of repeated external entities.

Barcode Based Cargo 13Tracking System

Page 14: Barcode 1

12.Identify all data flows for each process step, except simple Record retrievals.

13.Label data flow on each arrow.

14.Use details flow on each arrow.

15.Use the details flow arrow to indicate data movements.

16.There can’t be unnamed data flow.

17.A data flow can’t connect two external entities.

4.3.3 LEVELS OF DFDThe complexity of the business system means that it is a responsible to

represent the operations of any system of single data flow diagram. At the top level,

an Overview of the different systems in an organization is shown by the way of

context analysis diagram. When exploded into DFD

They are represented by:

LEVEL-0 : SYSTEM INPUT/OUTPUT

LEVEL-1:SUBSYSTEM LEVEL DATAFLOW FUNCTIONAL

LEVEL-2:FILE LEVEL DETAIL DATA FLOW.

The input and output data shown should be consistent from one level to the next.

LEVEL-0: SYSTEM INPUT/OUTPUT LEVEL

A level-0 DFD describes the system-wide boundaries, dealing inputs to and

outputs from the system and major processes. This diagram is similar to the combined

user-level context diagram.

LEVEL-1: SUBSYSTEM LEVEL DATA FLOW

A level-1 DFD describes the next level of details within the system, detailing

the data flows between subsystems, which make up the whole.

LEVEL-2: FILE LEVEL DETAIL DATA FLOW

All the projects are feasible given unlimited resources and infinite time. It is

both necessary and prudent to evaluate the feasibility of the project at the earliest

possible time. Feasibility and the risk analysis are pertained in many ways. If project

risk is great.

Barcode Based Cargo 14Tracking System

Page 15: Barcode 1

LEVEL-0

Figure 4.1 Context Level Diagram

LEVEL-1

admin Setup usersdetails database

Figure 4.2 Context Level Diagram for Admin

LEVEL-3

Figure 4.3 First Level Diagram for System Admin

4.4 UNIFIED MODELLING LANGUAGE DIAGRAMSThe Unified Modeling Language allows the software engineer to express an

analysis model using the modeling notation that is governed by a set of syntactic

semantic and pragmatic rules.

A UML system is represented using five different views that describe the system from

distinctly different perspective. Each view is defined by a set of diagram, which is as

follows.

Barcode Based Cargo 15Tracking System

Page 16: Barcode 1

User Model View:

This view represents the system from the users perspective. The analysis

representation describes a usage scenario from the end-users perspective.

Structural model view:

In this model the data and functionality are arrived from inside the system. This

model view models the static structures.

Behavior Model View:

It represents the dynamic of behavioral as parts of the system, depicting the

interactions of collection between various structural elements described in the user

model and structural model view.

Implementation Model View:

In this the structural and behavioral as parts of the system are represented as they are

to be built

Environmental Model View:

In this the structural and behavioral aspects of the environment in which the system is

to be implemented are represented

Use case Diagrams represent the functionality of the system from a user’s point of

view. Use cases are used during requirements elicitation and analysis to represent the

functionality of the system. Use cases focus on the behavior of the system from

external point of view.

Actorsareexternal entities that interact with the system. Examples of actors include

users like administrator, bank customer …etc., or another system like central

database.

Barcode Based Cargo 16Tracking System

Page 17: Barcode 1

4.4.1 Class Diagram

Tablemasterprice

+priceid+price+fromcity+tocity

tblOrg

+OrgID+OrgName+StateID+Attribute1CityID+Address+Phone+Email

tblbranchdetails

+BranchID+OrgID+BranchCode+Address+StateID+CityID+CPerson+Email+Mobile+Phone+CreatedOn+Status

tblstate

+stateid+statename

tblcity

+cityid+stateid+cityname

tblcourier

+courierid+couriertype+stateid+fromcityid+tocityid+price+toaddress+courierdate+mobileno+email

Figure 4.4: Class Diagram

Barcode Based Cargo 17Tracking System

Page 18: Barcode 1

Usecase Diagram for Admin,User

Figure 4.5: Usecase Diagram for Admin,User

Barcode Based Cargo 18Tracking System

Page 19: Barcode 1

Sequence Diagram for User,Admin

Figure 4.6: Sequence Diagram for Admin,User

Barcode Based Cargo 19Tracking System

Page 20: Barcode 1

Collaboration Diagram for Admin,User

Barcode Based Cargo 20Tracking System

Page 21: Barcode 1

Figure 4.7: Collaboration Diagram for Admin,User

Statechart Diagram for User,Admin

Barcode Based Cargo 21Tracking System

Page 22: Barcode 1

Figure 4.8: Statechart Diagram for User,Admin

Barcode Based Cargo 22Tracking System

Page 23: Barcode 1

4.5 DATA DICTIONARY:

Table 4.1.tblmasterpiece

Table 4.2.tblecity

Table 4.3.tblcourier

Barcode Based Cargo 23Tracking System

Page 24: Barcode 1

Table 4.4.tblcourierdocs

Table 4.5.tbldocssentpath

Table 4.6.tblmastercities

Table 4.7.tblmastercourier

Barcode Based Cargo 24Tracking System

Page 25: Barcode 1

Table 4.8.tblmasterroutes

Table 4.9.tblmasterusers

Table 4.10.tblmasterstates

Table 4.11.tblorg

Barcode Based Cargo 25Tracking System

Page 26: Barcode 1

5.SYSTEM REQUIREMENTS SPECIFICATIONDeveloping good quality software requires a specific set of requirements whichproject

is being developed.

Basically the requirements are divides into two main categories. They are as follows:

1. Software Requirements.

2. Hardware Requirements.

The above mentioned various type of requirements are essential for any kind of

project being developed.

5.1SOFTWARE REQUIREMENTSThe software requirements play a crucial role in order to develop a good quality

software product. These play vital role in determining the essence of the project.

Table 5.1: Software Requirements

Operating System: Windows XP/ Win 7/Win 8

IDE Microsoft Visual Studio Express

User Interface ASP.Net, HTML, CSS

Client-side Scripting Java Script

Programming Language C#.Net

Web Server IIS

Database SQL Server-2008R2 Express Edition

5.2 HARDWAREREQUIREMENTSTable 5.2: Software Requirements

Content Description

HDD 20 GB Min

40 GB Recommended

RAM 1 GB Min

PROCESSOR Intel Core i3 processor Recommended

Barcode Based Cargo 26Tracking System

Page 27: Barcode 1

6.IMPLEMENTATION6.1 INTRODUCTIONImplementation literally means to put into effect or to carry out. The system

implementation phase if the software deals with the translation of the design

specifications into the source code. The ultimate goal of the implementation is to

write the source code and the internal documentation so that it can be verified easily.

The code and documentation should be written in a manner that eases debugging,

testing and modification. System flow charts, sample run on packages, sample output

etc., is part of the implementation.

An effort was made to satisfy the following goals in order

Clarity and simplicity of the code.

Minimization of hard coding.

Minimization of the amount of memory used.

Through phased implementation we can use our proposed system

6.2. SAMPLE CODEusing System;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Web;

usingSystem.Web.UI;

usingSystem.Web.UI.WebControls;

usingSystem.Data;

usingSystem.Data.SqlClient;

usingSystem.Configuration;

publicpartialclassadmin_frmcourierdtls : System.Web.UI.Page

{

SqlConnectio

ncn=newSqlConnection(ConfigurationManager.ConnectionStrings["constr"].Connecti

onString);

SqlDataAdapter da;

DataTabledt;

SqlCommandcmd;

Barcode Based Cargo 27Tracking System

Page 28: Barcode 1

stringstr = string.Empty;

staticint i=0;

protectedvoidPage_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

FillGrid();

MultiView1.ActiveViewIndex = 0;

}

}

voidfillddl()

{

str = "sp_get_tblcourierdocs";

cmd = newSqlCommand(str, cn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@DocID", 0);

cmd.Parameters.AddWithValue("@Searchby",ddlsearchby.SelectedItem.Text);

cmd.Parameters.AddWithValue("@searchfor", txtsearchfor.Text);

da = newSqlDataAdapter(cmd);

dt = newDataTable();

da.Fill(dt);

if (dt.Rows.Count> 0)

{

GridView1.DataSource = dt;

GridView1.DataBind();

}

else

{

lblerror.Text = "Record(s) Not Found!!!";

}

}

voidFillGrid()

{

str = "sp_get_tblcourierdocs";

Barcode Based Cargo 28Tracking System

Page 29: Barcode 1

cmd = newSqlCommand(str,cn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@DocID", 0);

cmd.Parameters.AddWithValue("@Searchby","");

cmd.Parameters.AddWithValue("@searchfor", "");

da = newSqlDataAdapter(cmd);

dt = newDataTable();

da.Fill(dt);

if (dt.Rows.Count> 0)

{

GridView1.DataSource = dt;

GridView1.DataBind();

}

else

{

lblerror.Text = "Record(s) Not Found!!!";

}

}

protectedvoidBtnaddnew_Click(object sender, EventArgs e)

{

i=1;

MultiView1.ActiveViewIndex = 1;

txtborcodenumber.Focus();

}

protectedvoidBtnsearch_Click(object sender, EventArgs e)

{

if (ddlsearchby.SelectedValue == "ALL")

{

FillGrid();

}

else

{

fillddl();

}

Barcode Based Cargo 29Tracking System

Page 30: Barcode 1

}

protectedvoid GridView1_RowCommand(object sender,

GridViewCommandEventArgs e)

{

if (e.CommandName == "EDT")

{

str = "sp_get_tblcourierdocs";

cmd = newSqlCommand(str,cn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@DocID", e.CommandArgument.ToString());

cmd.Parameters.AddWithValue("@Searchby","");

cmd.Parameters.AddWithValue("@searchfor", "");

da = newSqlDataAdapter(cmd);

dt = newDataTable();

da.Fill(dt);

if (dt.Rows.Count> 0)

{

txtborcodenumber.Text = dt.Rows[0][1].ToString();

Txtrouteid.Text = dt.Rows[0][2].ToString();

Txtroutename.Text = dt.Rows[0][3].ToString();

Txtcustomername.Text = dt.Rows[0][4].ToString();

txtcontactdetails.Text = dt.Rows[0][5].ToString();

txtdatecourired.Text = dt.Rows[0][6].ToString();

ViewState["Id"] = e.CommandArgument.ToString();

i = 2;

MultiView1.ActiveViewIndex = 1;

protectedvoidBtnsave_Click(object sender, EventArgs e)

{

if(i==1)

{

str = "sp_iu_tblcourierdocs";

cmd = newSqlCommand(str, cn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@DocID", 0);

Barcode Based Cargo 30Tracking System

Page 31: Barcode 1

cmd.Parameters.AddWithValue("@barcodenumber",txtborcodenumber.Text);

cmd.Parameters.AddWithValue("@routeid", Txtrouteid.Text);

cmd.Parameters.AddWithValue("@routename",Txtroutename.Text);

cmd.Parameters.AddWithValue("@customername",Txtcustomername.Text);

cmd.Parameters.AddWithValue("@contactdetails",txtcontactdetails.Text);

cmd.Parameters.AddWithValue("@datecouriered",txtdatecourired.Text);

cmd.Parameters.AddWithValue("@status", "True");

da = newSqlDataAdapter(cmd);

dt = newDataTable();

da.Fill(dt);

FillGrid();

BarcodeLib.Barcode.Linear.Linear Bar = newBarcodeLib.Barcode.Linear.Linear();

Bar.Data = txtborcodenumber.Text;

Bar.drawBarcode(Server.MapPath("~/

barcodeimages/"+txtborcodenumber.Text+".jpg"));

}

elseif(i==2)

{

str = "sp_iu_tblcourierdocs";

cmd = newSqlCommand(str, cn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@DocID",ViewState["Id"].ToString());

cmd.Parameters.AddWithValue("@barcodenumber", txtborcodenumber.Text);

cmd.Parameters.AddWithValue("@routeid", Txtrouteid.Text);

cmd.Parameters.AddWithValue("@routename", Txtroutename.Text);

cmd.Parameters.AddWithValue("@customername", Txtcustomername.Text);

cmd.Parameters.AddWithValue("@contactdetails", txtcontactdetails.Text);

cmd.Parameters.AddWithValue("@datecouriered", txtdatecourired.Text);

cmd.Parameters.AddWithValue("@status", "True");

da = newSqlDataAdapter(cmd);

dt = newDataTable();

da.Fill(dt);

FillGrid();

}

Barcode Based Cargo 31Tracking System

Page 32: Barcode 1

}

protectedvoidBtncancel_Click(object sender, EventArgs e)

{

MultiView1.ActiveViewIndex=0;

GridView1.Focus();

}

protectedvoidtxtrouteid(object sender, EventArgs e)

{

}

protectedvoidbtnGenerate_Click(object sender, EventArgs e)

{

Randomrm = newRandom();

txtborcodenumber.Text = rm.Next(100001, 9999999).ToString();

}

}

6.3.1 SAMPLE CODE FOR GET PROCEDURE ALTER procedure [dbo].[sp_get_tblBranchDtls]

(@BranchID int,@searchby nvarchar(50),@searchfor nvarchar(50))

as

begin

if(@BranchID=0 and @searchby='' and @searchfor='')

begin

select

BranchID,OrgID,Branchcode,Address,Stateid,cityid,Cperson,email,mobile,phone,crea

tedon,status from tblBranchDtls

end

else if(@BranchID!=0 and @searchby='' and @searchfor='')

begin

select

OrgID,Branchcode,Address,Stateid,cityid,Cperson,email,mobile,phone,createdon,stat

us from tblBranchDtls where BranchID=@BranchID

end

else if(@BranchID=0 and @searchby!='' and @searchfor!='')

Barcode Based Cargo 32Tracking System

Page 33: Barcode 1

begin

declare @sql nvarchar(1000)

set@sql='select

OrgID,Branchcode,Address,Stateid,cityid,Cperson,email,mobile,phone,createdon,stat

usfromtblBranchID here'+@searchby+' like '+char(39)+'%'+@searchfor+'%'+char(39)

execute (@sql);

end

end

6.3.2 SAMPLE CODE FOR IU PROCEDUREALTER procedure [dbo].[sp_iu_tblBranchDtls]

(@BranchIDint,@OrgIDint,@BranchCodenvarchar(50),@Address

nvarchar(50),@stateidint,@cityidint,@CPersonnvarchar(50),@email

nvarchar(50),@mobilenvarchar(50),@phonenvarchar(50),@createdon

datetime,@status nvarchar(50))

as

begin

if(@BranchID=0)

begin

insertinto

tblBranchDtls(OrgID,BranchCode,Address,StateID,CityID,CPerson,Email,Mobile,Ph

one,CreatedOn,Status)

values

(@OrgID,@BranchCode,@Address,@stateid,@cityid,@CPerson,@email,@mobile,

@phone,@createdon,@status)

end

else

begin

updatetblBranchDtlsset

OrgID=@OrgID,branchcode=@BranchCode,Address=@Address,StateID=@stateid,c

ityid=@cityid,cperson=@CPerson,email=@email,mobile=@mobile,phone=@phone,

createdon=@createdon,status=@status where BranchID=@BranchID

end

end

Barcode Based Cargo 33Tracking System

Page 34: Barcode 1

7. SYSTEM TESTING7.1. INTRODUCTIONTesting is one of the most important phases in the software development activity. In

software development life cycle (SDLC), the main aim of testing process is the

quality; the developed software is tested against attaining the required functionality

and performance.

During the testing process the software is worked with some particular test cases and

the output of the test cases are analyzed whether the software is working according to

the expectations or not.

The success of the testing process in determining the errors is mostly depends upon

the test case criteria, for testing any software we need to have a description of the

expected behavior of the system and method of determining whether the observed

behavior confirmed to the expected behavior.

7.2. LEVELS OF TESTINGSince the errors in the software can be injured at any stage. So, we have to carry out

the testing process at different levels during the development. The basic levels of

testing are Unit, Integration, System and Acceptance Testing.

The Unit Testing is carried out on coding. Here different modules are tested against

the specifications produced during design for the modules. In case of integration

testing different tested modules are combined into sub systems and tested in case of

the system testing the full software is tested and in the next level of testing the system

is tested with user requirement document prepared during SRS.

There are two basic approaches for testing. They are

Functional Testing

In Functional Testing test cases are decided solely on the basis of requirements of the

program or module and the internals of the program or modules are not considered for

selection of test cases. This is also called Black Box Testing.

Structural Testing

In Structural Testing test cases are generated on actual code of the program or module

to be tested. This is called White Box Testing.

Barcode Based Cargo 34Tracking System

Page 35: Barcode 1

7.3. TESTING PROCESSA number of activities must be performed for testing software. Testing starts with test

plan. Test plan identifies all testing related activities that need to be performed along

with the schedule and guide lines for testing. The plan also specifies the levels of

testing that need to be done, by identifying the different testing units. For each unit

specified in the plan first the test cases and reports are produced. These reports are

analyzed.

Test Plan:

Test plan is a general document for entire project, which defines the scope, approach

to be taken and the personal responsible for different activities of testing. The inputs

for forming test plans are

Project plan

Requirements document

System design

Test Case Specification:Although there is one test plan for entire project test cases have to be specified

separately for each test case. Test case specification gives for each item to be tested.

All test cases and outputs expected for those test cases.

Test Case Execution and Analysis:The steps to be performed for executing the test cases are specified in separate

document called test procedure specification. This document specify any specify

requirements that exist for setting the test environment and describes the methods and

formats for reporting the results of testing.

Unit Testing

Unit testing mainly focused first in the smallest and low level modules, proceeding

one at a time. Bottom-up testing was performed on each module. As developing a

driver program, that tests modules by developed or used. But for the purpose of

testing, modules themselves were used as stubs, to print verification of the actions

performed. After the lower level modules were tested, the modules that in the next

higher level those make use of the lower modules were tested. Each module was

tested against required functionally and test cases were developed to test the boundary

values.

Barcode Based Cargo 35Tracking System

Page 36: Barcode 1

Integration Testing

Integration testing is a systematic technique for constructing the program structure,

while at the same time conducting tests to uncover errors associated with interfacing.

As the systeconsists of the number of modules the interfaces to be tested were

between the edges of the two modules. The software tested under this was incremental

bottom-up approach.

Bottom-up approach integration strategy was implemented with the following

steps.

Low level modules were combined into clusters that perform specific software

sub functions.

The clusters were then tested.

System Testing

System testing is a series of different tests whose primary purpose is to fully

exercise the computer based system. It also tests to find discrepancies between the

system and its original

7.4 TEST CASES Table 7.1: Test case for Admin login

Test case#:1 Priority(H,L):High

Test case Objective:Correct Login Details

Test Description: Validate username and password are checked

Requirement Verified: Yes

Test Environment:Google Chrome

Test Setup/ Pre conditions: Normal

Actions Results

User can login into his account Fill login details

Pass: Yes Conditions Pass: Yes

Fail: No

Problems/ Issues: No

Notes: Successfully Executed

Barcode Based Cargo 36Tracking System

Page 37: Barcode 1

Table 7.2: Test case for Barcode generate

Test case#:2 Priority(H,L):High

Test case Objective:Admin allows users to setup the modules for creating Barcode

Test Description:Usertype Admin, generate the barcode.

Requirement Verified: Yes

Test Environment:Google Chrome

Test Setup/ Pre conditions: Normal

Actions Results

Admin generate barcode and

creates unique number to user.

Admin successful generated.

Pass: Yes1 Conditions Pass: Yes

Fail: No

Problems/ Issues: No

Notes: Successfully Executed

Barcode Based Cargo 37Tracking System

Page 38: Barcode 1

7.5 DISCUSSION OF RESULTS Admin Login

Figure 7.1 Admin Login

1. The above page represents the administrator or a company authority Login

page

2. The administrator can have all the accessing rights such as data insertion,

deletion, updating.

Admin Home

Figure 7.2 Admin Home

1. The Home page of Admin where we can use different functions.

2. These page can used to edit and insert.

Barcode Based Cargo 38Tracking System

Page 39: Barcode 1

Profile Status

Figure 7.3 Profile Status

1. The profile status of User and Admin

2. Where you can view the status of them separately.

Edit and Insert

Figure 7.4 Edit and Insert

1. The administrator can have all the accessing rights such as data insertion,

deletion, updating

2. This page shows the admin and user, by selecting search by we can select

either admin or user and even can add new user or admin

Barcode Based Cargo 39Tracking System

Page 40: Barcode 1

State Details

Figure 7.4 State Details

1. The state page shows the details of the states entered for courier purpose.

2. “Add new” button allows us to enter, modify the existing state details.

Edit and Insert of State Details

Figure 7.6 Edit and Insert of State Details

1. “Add new” button allows us to enter the state details.

2. Edit and Insert of state details is done in this window.

Barcode Based Cargo 40Tracking System

Page 41: Barcode 1

City Details

Figure 7.7 City Details

1. This page shows the details of the cities to which courier is to be sent.

2. We can search a particular city using the search button.

Edit and Insert of City Details

Figure 7.8 Edit and Insert of City Details

1. In this page edit and insert of city details can be done.

2. The save button helps us to save the city details in the database.

Barcode Based Cargo 41Tracking System

Page 42: Barcode 1

Profile Status

Figure 7.9 Profile Status

1. This window shows the details of the Admin and User profile

2. The details can be edited using the edit option.

Edit and Insert of Profile Status

Figure 7.10 Edit and Insert of Profile Status

1. In this window new user can be added.

2. The save button allows the edited data to be stored.

Barcode Based Cargo 42Tracking System

Page 43: Barcode 1

User Homepage

Figure 7.11 User Homepage

1. The Home page of User where we can use different functions.

2. These page can used to edit and insert.

Courier files

Figure 7.12 Courier files

1. This window gives the details of the courier details.

2. The update button allows us to update the data.

Barcode Based Cargo 43Tracking System

Page 44: Barcode 1

Barcode Generate

Figure 7.13 Barcode Generate

1. This window helps us to generate the barcode.

2. The save button allows us to save the details.

Barcode Tracker

Figure 7.14 Barcode Tracker

1. This window shows the guest page created

2. The Barcode number created can be tracked from this window.

Barcode Based Cargo 44Tracking System

Page 45: Barcode 1

E-mail Tracker

Figure 7.15 E-mail Tracker

1. This window shows the guest page created

2. The E-mail id given is used to track the courier being sent.

Mobile number Tracker

Figure 7.16 Mobile number Tracker

1. This window shows the guest page created

2. The mobile number is used to track the courier being sent.

Barcode Based Cargo 45Tracking System

Page 46: Barcode 1

8. CONCLUSION AND FUTURE ENHANCEMENT8.1 CONCLUSIONIt is a web based application. Based on the bar code attached to the cargoes the

customer can keep track of cargoes. The customer is provided with the bar code

number through which he can check for the status of the package sent. The bar code is

scanned at each location to update the details/status of the cargo.

8.2 FUTURE ENHANCEMENTThe initial focus of this project was developing a secured integrated system. This

website covers some of the activities needed by an individual for both Courier

Company and user. This project will have a very bright future if the following can be

incorporated:

Updating the software according the user’s needs.

By including a better security for the both the users.

Barcode Based Cargo 46Tracking System

Page 47: Barcode 1

9. REFERENCES Vikas Gupta (2007), “.NET programming in C#, 2005”, BHP publishers.

Roger S Pressman (2002), “Software Engineering”: 5th edition, Tata McGraw-

Hill

Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language

User Guide, Pearson Education.

http://www.google.com

http://www.asp.net/web

http://csharp.net/

http://www.cdac.in/

http://seminarprojects.net/

http://overdrive.com/

Barcode Based Cargo 47Tracking System