Andhra University College of Engineering (A) Department of Computer Science and Systems Engineering
Andhra University College of Engineering (A) Department of Computer Science and Systems Engineering
Andhra University College of Engineering (A) Department of Computer Science and Systems Engineering
CERTIFICATE
PROBLEM STATEMENT
1.1PROBLEM DEFINITION
People when transfer their packages using any courier service want to know
whether their package has been delivered to the desired destination or not, if not
at what time it will be delivered and its current status. Taking all this information
manually is time consuming process. To handle these activities, include various
paper work from management side also.
1
1.2EXISTING SYSTEM
The courier system involves a lot of the employees at the office. The data for a
particular courier maintained in a proper file. An employee summarizes all the
data of the courier in a register, this work requires a high-level of attention since
it must be taken care that no wrong entry goes into the register. This repetitive
work may lead to errors in the entry thus resulting in the wrong entry of courier
packed data. Since the data is maintained in the registers, the modification of data
can't be done easily. The previous information must be erased and overwritten or
a new page must be allocated so that both the old and new information can be
written on the same page. The summarizing of the data i.e. preparation of an up
to data report is very complex, it requires a lot of hard work and searching through
the different register to condense the data for presentation.
2
1.3PROBLEMS IN EXISTING SYSTEM
From the client side, the entire work was achieved manually, and they manageall
their billing and services manually. Because of the manual system there are
somany problems occurred in the existing system:
There is need for a courier management system that can overcome the limitations
of the existing courier system.
3
1.4PROPOSED SYSTEM
The system we provide leads to an error free, secure, cost effective and fast
management system. The proposed system solves the problems in existing system
i.e., reduces the manual work for managing the information about customers,
courier, delivery, payments etc. This system has many modules. The login section
deals with login facility for admin, employees and customers. While taking
ordering form customers, it will collect details like customer name, customer
address, email, mobile number and recipient address with contact information.
During billing, a tracking ID is generated. Through this tracking ID, customer
will be able to track the whereabouts of courier. The status of courier will be
provided after placing order. Customer can also place courier by contacting our
agents thorough the contact number give in our website.The system maintains a
Database to store and help in data handling issues like courier details etc.
4
CHAPTER 2
2.1 INTRODUCTION
Purpose
Document Conventions
5
Other Text Explanations
Clients: The clients of the system will get a clear idea of the software and
hardware requirements to be engaged in the system.
Users:The users of the system will get a clear idea of how to use the software for
automation of different activities.
Project Scope
This era is a data driven era and people are mostly trying to automate their
business for better and faster results. As the people are depending largely on the
online services for their needs, it is getting very difficult for the companies with
a huge number of customers to provide service to their customers. The automation
of business activities and services can make the both companies and their
customers satisfied. And it is also difficult to depend on manual ways to provide
6
service to this vast number of customers. The main aim of this project is to
computerize and automate the maintenance of courier management.This system
will be designed to make the job easy for organization. The main part of system
will handle the main objects like route designing and time scheduling. A sub part
will be provided for agents to communicate with main software.
7
2.2 OVERALL DESCRIPTION
Product Perspective
Application server is where the main logic and codes of all the functionalities
resides which is easy to maintain if there is any action of upgradation of the
system or updating the system software required it is easy because only
updating software at the application server is enough to update the whole
system.
Product Features
The users can easily handle the shipment transportations to different places and
the payments that are made by customers. The different components of system
include Route Handler, Scheduler which are responsible for route design and time
scheduling by accessing information of transport system details from database.
And the tracer, tracks the shipment position and updates the details to database
whenever required. The general users (customers) can easily register account and
place their request for courier service. The Route handler uses sophisticated and
efficient algorithms to generate the best route for transportation of courier from
source to destination by considering the constraints. The tracker provides users
with the information about the whereabouts of package. The payments of
customers are managed by the software by redirecting to payment portal. The
central database, stores all the data and can be accessed for report generation.
9
User Classes and Characteristics
Administrators: They are the core users and are able to add new users to the
system and manage their details and they can also make changes to database
information. They can update the detailed information about the transport system
and time slots. They can also get the overall report of the user accounts, courier
information and payment transactions.
Specific Users (employees): They login at the specific level and this is to get
access to the database at a specific level. They can view shipments status in the
system. They can also manage the courier transportation. They carefully look
after the all the shipment transportations from source to destination and detect the
problems during the transportation. They are responsible for addressing the
customer complaints and resolving them.
Operating Environment
Software Requirements
Each user must keep their password as confidential. General users can only access
the info about their accounts and orders. Specific users can access shipment
details. Only administrator can make changes to the specific information in
database, like transport system and time slots. As a central database is used, it
should be provided with the capability of backup and recovery if any damage
occurs. Providing concurrent access to server and avoiding conflicts even in the
times of overload to system should be taken care of. The components of software
should be designed in such a way that they should be capable of working error
free by interacting with each other and accessing database as different copies of
software are working from different places. To make it clear, as the different
components of software, like Route handler and scheduler will be working from
11
different places and share a common database, synchronization mechanisms
should be provided to avoid conflicts between the during the route design and
time schedule. The users who are accessing the services remotely should be
connected to software first then software must provide required services by
interacting with server.
User Documentation
The Online Courier Management System will be provided with user manual for
the administrator and specific users to understand the operations of software
system. A help menu will be provided in software system to get the information
about any specific aspect of software system operations. General users can access
the help from anywhere about the process of registration and steps and
precautions that need to be followed during the use of services provided by the
Online Courier Management System. Tutorials can be accessed if any one faces
difficulty with understanding user interface.
The Online Courier Management System is being developed assuming that the
data provided by the clients is appropriate for the algorithms used in Route
handler and Scheduler. The transport system data and the time slots available
should be carefully updated to the database server so that the components of the
system can work appropriately and efficiently. The Online Courier Management
System uses a central database to store data and to manage the different services
for clients. If the central database server crashes or faces any problem, then it
would directly affect the whole software and leads to the termination of service
until and unless an alternate central database server is provided with backup
data.The database server is assumed to be capable of handling multiple
concurrent accesses from different users with synchronization techniques
12
wherever required. The system depends on a 24/7 high-speed internet connection
to provide services to users. In the initialization process of the Courier
Management System Software, the basic information about transport system and
time slots available should be updated to the central database so that Route
handler and Scheduler can do their job as needed.
13
2.3 SYSTEM FEATURES
System Authentication
System makes sure that fraudulent behavior from users is prohibited and only
authenticated users can access data and make changes to data depending on their
authentication level.
Management
System provides effective ways for handling the details of customers, employees
and courier.
The whole management process is automated for the ease of organization and
their customers.
Tracking
System stores tracking status of courier so users can track the transit status of
their courier. These updates about the whereabouts of the shipments are uploaded
to database by a system software component called Tracker and it is responsible
for providing shipment status check service to users.
Payment handling
14
Route designing and scheduling
System uses sophisticated and efficient algorithms to design routes and time
schedule for packages to travel in the best path and provides the employees with
different ways for transporting the courier from source to destination.
15
2.4 EXTERNAL INTERFACE REQUIREMENTS
User Interfaces
Login Screen: This is for the Administrator and users to get into the software. It
requires a user name and password.
Reports: This utility is used to generate reports of the login and account details of
the users.
User Login (Client Side): The user has to give a username and password by which
he or she can access the services.
User Account: This enables the user to view the account status of their account.
Hardware Interfaces
The data is stored in the structured data format and a traditional database system
can be used with a simple ER model schema. The server is directly connected to
the main software system. Also the admin has the access to the database for
accessing the account details, payments report, courier details, and transportation
system details.
The user access to the database in the server is only read only whereas it is
read/write for administrator.
16
Software Interfaces
A central database system is maintained for the storage and management of the
data that is necessary for the software. A Linux based operating system is used
on the server side and any latest version windows or Linux operating system can
be used on client side. As the database is centralized, the software components
from different places share the data in the database. Especially the information
about available transport system and time slots is used as global data and shared
in a specific manner among different copies of software and hence it should be
provided with the synchronization access to avoid errors during route design and
schedule design.
Communications Interfaces
17
2.5 NON-FUNCTIONAL REQUIREMENTS
Performance Requirements
The performance of the system should be adequate for the users even if there are
thousands of users concurrently accessing the services. Unfortunately, if the
system failure occurs then the recovery process should be initialized and services
should be revived as soon as possible and the backup data must be loaded so that
the previous state of system can be re-spawned.
Safety Requirements
The whole information that is being used for the automation of the Courier
Management services is centralized. There may be situations where this data can
be damaged or lost because of some physical damage to database or any other
kind of damage. So, the backup of data should be created periodically. An
alternate central database system service should be provided as an insurance to
avoid termination of services during the current database system failure which is
not recoverable.
Security Requirements
The login facility of the system ensures only authorized users can access it, thus
provides security. The system should not be compromised with fraudulent
behaviour of the scammers.
Accessibility:
18
Availability:
Correctness:
The designed route and time schedule for the shipment transportation should be
valid and accurate.
Maintainability:
System provides the capability to backup data and keep log of all errors.
Flexibility:
The software should be flexible for changes in data size and service expansion.
Reliability:
19
CHAPTER 3
DESIGN DOCUMENT
3.1CONTEXT DIAGRAM
20
3.2 UNIFIED MODELLING LANGUAGE(UML) DIAGRAMS
Use case diagrams are a set of use cases, actors, and their relationships. They
represent the use case view of a system. A use case represents a particular
functionality of a system. Hence, use case diagram is used to describe the
relationships among the functionalities and their internal/external controllers.
These controllers are known as actors.
1. User ( customer)
2. Employee
3. Admin
1. Log in
2. Update profile
3. Registration
4. Send courier
5. Make payment
6. View status
7. Cancel courier
1. Log in
2. Update profile
3. Update courier status
21
4. Manage courier
5. Manage customer
1. Log in
2. Update profile
3. Manage courier
4. Manage customer
5. Manage shipment
6. Manage employee
22
Use Case Diagram
23
Class Diagram
Class diagrams are the most common diagrams used in UML. Class diagram
consists of classes, interfaces, associations, and collaboration. Class diagrams
basically represent the object-oriented view of a system, which is static in nature.
Active class is used in a class diagram to represent the concurrency of the system.
Class diagram represents the object orientation of a system. Hence, it is generally
used for development purpose. This is the most widely used diagram at the time
of system construction.
Number of classes: 4
1. Customer
2. Employee
3. Courier
4. Admin
Class is represented by a rectangle that includes the class name, its attributes, its
operations.
Customer Class:
Attributes:
2.custId – Customer Id
Operations:
24
2.login() : to enter login credentials
Employee Class:
Attributes:
2.empId – Employee Id
Operations:
Courier Class:
Attributes:
1.courierId – Courier Id
Admin Class:
Attributes:
1.adminId – Admin Id
Operations:
Customer class has relationship with Employee and Courier classes. Both
relationships are bidirectional association. Customer and Courier is one to many
relationship. Customer and Employee is one to one relationship. Employee has
relationship one to one with customer, many to many with courier and many to
one with admin classes with bidirectional association with all three classes.
Courier class has relationship with customer, employee and admin classes with
bidirectional association. Many to many relationship with employee, many to one
relationship with customer and admin classes. Admin class has relationship one
to many with employee, courier and customer classes with bidirectional
association.
26
Class Diagram
27
Object Diagram
Object diagram represents an instance of a class diagram. The basic concepts are
similar for class and object diagrams. They also represent the static view of a
system but this static view is a snapshot of the system at a particular moment.
They are used to render a set of objects and their relationships as an instance.
Here the object diagram is a snapshot of the system at one particular moment.
Customer details:
Employee details:
Courier details:
Admin details:
28
Object Diagram
29
Sequence Diagram
A sequence diagram is an interaction diagram. From the name, it is clear that the
diagram deals with some sequences, which are the sequence of messages flowing
from one object to another. Interaction among the components of a system is very
important from implementation and execution perspective. Sequence diagram is
used to visualize the sequence of calls in a system to perform a specific
functionality.
Customer enters login credentials in to the system. System stores the credentials
to database.Database checks whether the credentials of customer correct or not.If
correct, it sends valid response to system.Then system response is success to the
customer.That is, customer successfully login in to the system.Customer sends
request courier to system.System asks for to enter details and courier
details.Customer enter the details in to the system.System stores the details in
database.An ID is generated by database for the details and returns the ID to the
system.System returns the order details to the customer (summary of order and
for confirmation).Customer makes the payment for the order.System creates a
payment portal.System enter the details, after entering system destroys the details
(eg: card details).Payment portal return the success message to system after
successful payment.And payment portal is destroyed means portal is
closed.System stores the payment details in database.Database generates the
payment receipt and send it to the system.System confirms the order by
generating confirmation receipt to the customer.
30
Sequence Diagram
31
Collaboration Diagram
Number of objects: 4
1. Customer
2. System
3. Payment portal
4. Database
32
15. Database sends payment receipt to system.
16. System sends order confirmation message to customer.
Collaboration Diagram
33
State chart Diagram
Statechart diagram describes the flow of control from one state to another state.
States are defined as a condition in which an object exists and it changes when
some event is triggered. The most important purpose of Statechart diagram is to
model lifetime of an object from creation to termination.
Statechart diagrams are also used for forward and reverse engineering of a
system. However, the main purpose is to model the reactive system.
From initial or start state the user can either go to register state (if new user) or
logged in state (already registered). From register state on successful registration
user goes to logged in state. From logged in state on request courier user goes to
enter courier info state. At this state by entering courier details user goes to next
state i.e. make payment. At this state user enters payment details. On successful
payment user goes to courier transit state which is the next state. Here courier
received by agent undergoes transitions to two states either courier delivered on
successful delivery or courier returned on failed delivery i.e. no receiver at
destination. After this is the final or end state.
34
Statechart Diagram
35
Activity Diagram
Start
1. Sign in
2.Check details
I. if No return to action 1.
3. Select option
I. Send courier
3. Make payment
4. Payment Success
36
ii. if yes then continue
5. Confirmation
1.Track Courier
2. Enter Courier ID
3. Valid Id
1. Cancel courier
2. Enter courier ID
3. Valid Id
4. Choose reason
38
Component Diagram
Customer
Courier
Employee
Admin
Database
39
Component Diagram
40
Deployment Diagram
Deployment diagrams are a set of nodes and their relationships. These nodes are
physical entities where the components are deployed. Deployment diagrams are
used for visualizing the deployment view of a system. This is generally used by
the deployment team.
User(Customer)
Employee
Admin
41
Deployment Diagram
42
3.3 DATABASE DESIGN
The entity Relationship Diagram (ERD) depicts the relationship between the data
objects. The ERD is the notation that is used to conduct the date modelling
activity the attributes of each data object noted is the ERD can be described resign
a data object descriptions.
The set of primary components that are identified by the ERD are
The primary purpose of the ERD is to represent data objects and their
relationships.
Entity-Relationship(E-R) Diagram
43
Normalizationof Data Tables
Insertion anomaly: Inability to add data to the database due to absence of other
data.
44
Update anomaly: Data inconsistency resulting from data redundancy and partial
update.
Normal Forms
These are the rules for structuring relations that eliminate anomalies.
A relation is said to be in first normal form if the values in the relation are atomic
for every attribute in the relation. By this we mean simply that no attribute value
can be a set of values or, as it is sometimes expressed, a repeating group.
3. Every non key attribute is fully functionally dependent on full set of primary
key.
Transitive Dependency :If two non key attributes depend on each other as well as
on the primary key then they are said to be transitively dependent.
The above normalization principles are applied to decompose the data in multiple
tables thereby making the data to be maintained in a consistent state.
45
Tables
The Online Courier Management System implements Oracle in the backend and
thus the database schema is defined and modified through Oracle SQL. The
Online Courier Management System consist of tables for Customers, Couriers,
Employees, Admin, Shipments
Customer
Courier
Admin
46
Employee
Shipment
47
Normalizing the Tables
After normalizing the tables using 1NF, 2NF, 3NF and BCNFwe observe there is
no need to divide the tables. Therefore the tables after normalization are in the
form given below
Customer
Courier
Admin
Employee
Shipment
48
3.4USER INTERFACE
Home Page
49
Admin login
This is the screenshot of Admin login. Admin log in to the system with his/her
username and password.
50
Admin Privileges
This is a screenshot of the Admin privileges. Some of them are Add an employee,
Employee details, Payslip, View salary details, Manage customer, Manage
shipment, Report to customer, View query of customer etc.
51
Employee registration
52
Employee details
In this section by selecting the employee id, details of a particular employee can
be retrieved. Employee details can also be updated using update option.
Employee details can be deleted after an employee resigns by selecting delete
option. View all gives details of all employees.
53
Employee privileges
This shows the Employee Privileges like view employee details, update profile,
update courier status, check customers, check couriers, view salary details etc.
54
Courier privileges
These are the privileges of a courier. They are booking details, incoming details,
non delivered details, delivery details, pickup centre, company details etc.
55
Payslip
This gives the Payslip details of Employees. Employees need to provide their id
and date of birth. Payslip is generated with their name, salary, advances,
incentives and net salary.
56
Query to customer/admin
Customer can pose a query by providing their id, name, date, time and query and
click submit. Admin can answer these queries by contacting the customers. In the
same way queries can be asked to customers also.
57
Courier booking
This is a screenshot for booking a courier. It includes several fields like id, date,
time, booked by(name), city, area, state, weight, amount, source address i.e. from
address, and destination address i.e. to address. Both Address has fields name,
address, phone number.
58
View courier details
This gives the details of the courier. By entering the courier ID details of courier
can be retrieved.
59
Customer privileges
This shows the privileges of the customer. They include book a courier, view
booked couriers, view status of courier, view customer details, query to admin.
60
View customer details
61
About Us
Contact Us
TESTING
Software testing is a critical element of software quality assurance and represents
the ultimate service of specification design and coding. The increasing visibility
of software failure and motivating forces for well planned, through testing.
A good test case is one that has a high probability of finding an as yet
undiscovered error
The above objectives imply a dramatic change in view point. They move counter
to the commonly held view that a successfully, it will uncover errors in the
software.As a secondary benefit, testing demonstrates that software functions
appear to be working according to the specification and that performance
requirements appear to have been met. In addition, data collected as testing is
conducted provides a good indication of software.
Testing can’t show the absence of defects it can only show that the software errors
are present. It is important to keep this started in mind as testing is being
conducted.
63
4.2 TESTING PRINCIPLES
Before applying methods to design effective test cases, a software engineer must
understand the basic principles that guide software testing
• Testing should begin “in small” and progress towards testing “inlarge”
64
4.3 TYPES OF TESTING
It focuses on the program control structure. Test cases are derived to ensure that
all the statements in the program have been executed at least once during testing
and that all logical conditions have been exercised. In this testing the functions
are checked for correct execution. If the already trained character is added to
training set it gives error. If a new character is added it adds it to training set.
Condition Testing
It is a test case design method that exercises the logical conditions contained in a
module. The condition testing focuses on testing each condition in the operation.
65
4.4 SYSTEM TESTING
System testing is the important phase of testing. This phase is used to test the
satisfaction of functional and non-functional requirements that were in
Requirements Analysis Document. The tests included in this phase are as follows:
2. Performance test:
In this test we need to test the achievement of design goals stated in System
Design document.
3. Volume test:
When a large text is given as input for the system, it takes more time to train.
4. Timing test
Timing test is implemented to estimate the average time taken to process and
display the result.
66
4.5 TEST CASES
Some of the Test Cases of the proposed system are given below.
67
Test Case: Pressing Log-in button without specifying any details
68
Test Case: Check response when customer requests courier pickup
69
Test Case: Check Delivery status
70
Test Case: Check Courier details
71