You are on page 1of 34

i

ii

Table of Contents
Introduction......................................................................................................................................3

Introduction to CSS.........................................................................................................................3

Existing system review....................................................................................................................4

Statement of problem.......................................................................................................................4

Objectives........................................................................................................................................4

Scopes..............................................................................................................................................5

Limitations.......................................................................................................................................5

Research methodology.....................................................................................................................5

Feasibility analysis.......................................................................................................................5

Software development methodology...............................................................................................6

Functional and Nonfunctional requirement.....................................................................................7

 Use Case Diagram...............................................................................................................8

 Class Diagram.....................................................................................................................9

 Activity Diagram...............................................................................................................10

Hardware and software requirement..............................................................................................14

Data collection...............................................................................................................................26

Backup and recovery.....................................................................................................................27

Testing strategies...........................................................................................................................28

Conclusion.....................................................................................................................................30
1

Acknowledgement
This report was produced in accordance with the standards defined by the Asia Pacific
University of Technology and Innovation as part of the prerequisites for the BSc IT degree
(APU). First off, we want to express my gratitude to the Lord Buddha Education Foundation
(LBEF) and the college and university at APU for providing me with the opportunity to expand
our knowledge and develop our talents.
For this job to be finished and considered acceptable, a lot of guidance and help were required.
We are grateful to our professor Dr. RN Thakur for his guidance, encouragement, and advice,
which made it simpler for us to complete my work.
Lastly, we would like to thank our faculty members who have explicitly or implicitly supported
us by presenting key info which was helpful to acquire the final consequence of our task. To
acquire the most accurate material for analysis and to come to the best conclusion, we searched
through numerous research sources, websites, and publications.

Yours sincerely,
3rd semester BSc IT
Executive summary
One of the better courses on our syllabus, "Object-Oriented Programming with Java," is
the subject of the assignment that is being presented here. We are needed to build and implement
a "Courier Service System" in accordance with the specifications of our assignment. We
successfully built, designed, and operated the courier service system in accordance with the
criteria. Java, an object-oriented programming language, is used to create the intended system.
By demonstrating their use on our own system, we were able to effectively explain the idea of
object-oriented programming.
According to necessity, our developed System interacts with two different sorts of end users:
"Managing Staff" and "Delivery Staff."
Delivery Staff will oversee delivery management while Managing Staff will oversee user
Account administration, order management, feedback management, and report management. To
the authorization and verification processes, they both must log in. We have succinctly explained
and supported the system's aims, goals, and features. It has been made clear what equipment and
software are needed to run the application. Additionally, we discussed the Java Object-Oriented
2

Programming idea and used its basics when developing the new system. We have described the
system's goal in detail. Through numerous internal processes, every element of the proposed
framework is verified and authenticated. The report provided also includes a few executed
screenshots.
Overall, to complete the work, we acquired all the necessary information about the system, and
by using these techniques, we learned a great deal of innovative things. We now hope that the
system will be successfully implemented and we will achieve the set goals.
3

Introduction
A programming worldview known as item situated programming (OOP) depends on the thoughts
of classes and items. It is utilized to arrange programming into direct, reusable classes of code
diagrams, which are then used to fabricate unmistakable occasions of articles. The item situated
programming dialects JavaScript, C++, Java, and Python are a couple of models (Doherty, n.d.).
The benefits are OOP depicts complicated objects as replicable, straightforward structures;
multiple programs can use reusable OOP objects. Polymorphism enables class-specific behavior,
Classes frequently include all relevant information to them, making them easier to troubleshoot
and Encapsulation ensures information security and protection (Doherty, n.d.).
Java has long been one of the widely used programming languages. Java is oriented toward
objects. However, because it supports basic data types, it is not regarded as fully object-oriented
(like int, char, etc.) The Java source code is first converted to java bytecode (machine-
independent code). The Virtual Machine for Java (JVM) then executes the byte code regardless
of the architecture. C/C++ and Java have similar syntax. However, Java does not offer primitive
programming features like pointers. Java codes are also usually written as classes and objects.
Java is used in many diverse types of applications, including business applications, client-server
applications, desktop applications, online apps, and mobile apps (Android is Java-based). Same
way for the courier service system we have used Java as a programming language.

Introduction to CSS
With the advent of internet courier services, delivery procedures have gotten simpler. In this
project, we are creating a Java program that records every aspect electronically. The goal of a
courier service system is to get a product to its specified location while properly and
methodically providing personal and other information. It is a widespread practice used
nowadays to manage consumer items. Organizations that offer dispatch administration assist
clients with moving their items, supplies, or papers to individuals who live in different urban
areas. Clients can rapidly move their rundown of products and things to individuals or different
countries with the assistance of the messenger administration. This makes individuals' lives
agreeable and basic. Along these lines, our messenger administration framework will help people
4

in sending their items to proposed objections with all essential data. There are two diverse ways
that end clients can draw in with the proposed framework: the first is through the "Overseeing
Staff" and the second is through the "Conveyance Staff." The Overseeing Staff oversees
managing reports, user accounts, orders, and feedback. In a comparable manner, delivery staff
will oversee both individual profile management and delivery. For the sake of authorization and
verification, they are all obliged to login.
People now want to follow technical improvements in their daily lives because e-commerce is
expanding so quickly. As a result, courier services are more focused services that allow
customers to package their goods and send them from a single place to a global network.

Existing system review


It is crucial to understand the specifics of the limitations and issues with the current systems to
successfully set up an online courier service system since those issues may be used to teach
developers about how to fix issues and create successful systems.
In the current system, consumers handle deliveries using a third-party application rather than
their own web system for courier services. The entire process will be digitized using the system
we have designed, saving user’s time, and ensuring that data is maintained in an organized
manner.

Statement of problem
Excel had a manual billing mechanism that made it difficult to keep track of user records. It was
harder to recover information and required more human effort under the old system because
there was no adequate system in place to manage all these tasks.

Objectives
 To help a website that provides courier services handle user accounts, orders, reviews,
and reports by managing employees and delivery.
 To effectively handle the data to reduce the additional labor and paperwork.
 To deliver the goods at any time, from any location, and to view all their courier's
information at any moment.
5

Scopes
 The primary feature of our product is the ability to supply online courier services to
consumers, enabling them to send their packages to the correct recipient.
 The system is accessible by numerous users at once.
 The user can view their details and check out our prices.
 The system will have three different sorts of users: administrators, delivery personnel,
and customers.
 The administrator can control user accounts, orders, feedback, and reports.
 The entire process will be digitized, saving the user time in the end.

Limitations
 It requires some time.
 It takes a code compiler to make the application work.
 Keeping track of the courier information is tough.
 Digital citizens are required to use it.

Research methodology
Research methodology is the "how" a certain piece of research is conducted in
practice. More specifically, it deals with the methodical methods a researcher
employs when designing a study to guarantee accurate outcomes that meet the goals
and objectives of the investigation (Jansen, 2022).
Here, research methods have been used to identify the project's requirements. The
construction of the digital courier service system has considered the following several
operations.

Feasibility analysis
A project's financial, technological, and legal components, as well as the project's
time schedule, are all evaluated as part of the feasibility study to determine how likely
it is that the project will succeed.
The goal of a feasibility analysis, also referred to as a feasibility study, is to weigh the
advantages and disadvantages of a current or proposed business fairly and logically,
6

potential risks, the resources needed to carry out operations, and the likelihood that
the venture will succeed.
A comprehensive view of the budget needed and the potential returns is provided by a
feasibility analysis. A feasibility analysis is not only limited to estimating financial
gains. Depending on the project's target audience and the sector to which it belongs, it
may be utilized for further objectives (Vadapalli, 2022).
Operational feasibility
The examination of how well the business concept might function for the
organization. It entails examining how the public may feel about the project as well as
how they might respond to it (Vadapalli, 2022).
Technical feasibility
The examination of a certain solution or idea's logic and applicability, as well as the
available technology resources and implementation skills (Vadapalli, 2022).
Economic feasibility
This assesses the cost-effectiveness of a project or enterprise. It is accomplished by
looking at the necessary budget and predicting the revenues from a specific project
(Vadapalli, 2022).
Schedule feasibility
Assessing the project's deadline and its viability for completion (Vadapalli, 2022).

Software development methodology


A development strategy called Rapid Application Development puts an emphasis on
quick feedback and rapid prototyping over lengthy development and test cycles.
Rapid application development enables developers to swiftly iterate and update
software without having to start from nothing each time. This ensures that the final
product is much more quality-focused and meets the needs of the end consumers
(Kissflow, Inc, 2022).
RAD frequently uses object-oriented programming techniques, which naturally
encourage software reuse. Visual programming environments include the most well-
known object-oriented programming languages, C++, and Java, which are frequently
referred to as enabling quick application development (Silverthorne, 2019).
7

Functional and Nonfunctional requirement


Functional requirements are used in software development to specify the tasks every part of a
program, or the entire application, must do. Data input, system behavior, and data output make
up a function. It can do any activity, including calculations, data manipulation, business
operations, user interface, and more.
What an application must or must not do after receiving some data is referred to as a functional
requirement. Utilitarian necessities are pivotal because they frame how the framework ought to
work for programmers. The framework will not work on the off chance that it does not meet the
important utilitarian prerequisites (Puzhevich, 2021).
The exhibition models and quality attributes of programming, like framework usefulness,
viability, security, and, not set in stone by non-utilitarian prerequisites.
Non-useful prerequisites indicate HOW the framework performs something, while practical
necessities determine WHAT the framework does (Puzhevich, 2021).
The following are some of our system's crucial functional requirements:
 Admin (Managing Staff) can search for a specific user, if necessary, after logging in with
their password.
 Customers must be able to register on the system.
 Admin can edit, add, and remove order data.
 The administrator can also control client feedback.
8

 Delivery personnel can view order specifics and modify order status.
 Customers must be able to examine the detailed information in the system.
The following are some crucial non-functional needs for the system:
 Customers will have access to the system around-the-clock so they can send packages
in case of an emergency.
 Each frame has its own functionality, such as a logout, reset, and back button, to
facilitate user interaction with the application.

 Software Development
 Use Case Diagram
 Unified Modeling Language (UML) behavior diagram that is used to capture and
analyze the various requirements of a system. This application diagram describes the
relationships between the system and the various actors and use cases. The actor
depicts and explains the processes that each actor follows and how the actors use it.
9

 The following diagram shows the Use case diagram for our Courier Service System;

 Figure 2: Use Case Diagram of CSS

 Class Diagram
 Class diagram is defined as the model that describe the static structure of different
aspect of the system like defines relationship among attributes and methods of a class,
collections of association, classes, and constraints (TutorialsPoint, 2021).
 Class Diagram is also known as structural diagram. The main purpose of making
class diagram is to view static model of an application. It provides conceptual model
of the application in term of their relationship (Horstmann, 2010).
 Following is the class diagram for Online Courier Service System;
10

 Figure 3: Class Diagram of Courier Service System

 Activity Diagram
 The activity diagram is a crucial following diagram essential components of the
system throughout graphical form, including all the sequences of progressive tasks
and actions. Business logic is carried from one function to some other, that could be
serial, simultaneous, or have a few endpoints. Whereas an activity diagram includes
various activities to interact using multiple aspects including a branch node, join
node, decision node, initial node, merged node, and so on (Techopedia, 2011).

11

 The goal of a process flow is to encapsulate the dynamic behavior and transform into
a deployable computer system utilizing forward as well as enhancing existing
techniques. Although the activity diagram appears to be a flowchart, it shows diverse
system flows such as synchronous, parallel, single, and so forth.


12

 Figure 4: Managing Staff Activity Diagram






 Figure 5: Delivery Staff Activity Diagram
13



 Figure 6: Customers Activity Diagram

14

Hardware and software requirement


The following hardware is needed to operate this courier management system:
• Hard Drive: 120GB;
 CPU: Intel Core i5;
 Minimum RAM: 1 GB
 Ethernet for internet
The following software elements are needed to execute this courier management system:
 Windows OS
 Apache NetBeans
In Java, related classes are grouped together in packages. A directory in a folder structure comes
to mind. By using packages, we can reduce name conflicts and create more dependable code
(Java Packages, n.d.).

Figure 2: Package
15

Header files
It depends on how the Java application is written and which class is implemented and as to
which header files are used. There are several commonplace operations, such as data
manipulation. However, you must import classes, which are done on top of the classes, if you
want to move into further implementation. The JDK has several standard import packages,
including java.util.* and java. Math.*.

Figure 3: Header files using import

Class- FrmDelivery
The classes and objects in Java, along with their characteristics and methods, are the foundation
of everything. For instance, an automobile is an object in the actual world. The car contains
characteristics like weight and color, as well as functions like drive and brake.
A class functions as an object constructor or an object creation "blueprint." (Java Classes and
Objects, n.d.)

Figure 4: Class FrmDelivery


16

Constructor
A constructor is a chunk of Java code that is comparable to a method. When a class instance is
created, it is called. Storage for the item is created in the memory when the constructor is called.
The method is a unique kind that is employed to create the object.
The new () keyword calls at most one constructor each moment an object is created.
If the class doesn't have a constructor, it uses a default constructor. In this situation, the Java
compiler comes with a default constructor. (Java Constructor - Javatpoint, n.d.)

Figure 5: Constructor

Abstract method
Abstraction is the display of key characteristics while concealing implementation-specific
information.

Figure 6: Abstract method


17

Polymorphism is the study of an object's several forms.

Figure 7: Polymorphism using Override


18

File handling
Users can deal with files in Java thanks to the File Class. The package java.io contains this File
Class. By first constructing an object of the class and then entering the file name, the File class
can be used.

Figure 8: File Handling


19

Figure 9: Exception using Try Catch

Figure 10: Interface

Encapsulation
Encapsulation is the process of combining (wrapping) code and information into a single entity.
20

Figure 11: Encapsulation using getter setter


21

Application of Three Teir Architecture


The detailed system functionality, access to data, computer data storage, and user interface are
built and maintained as discrete modules on different platforms in a client-server architecture
known as a tier. In this context, a "tier" may alternatively be alluded to as a "layer." The three
layers or tiers are Data Layer, Presentation Layer and Service Layer

Figure 12: Three Teir Architecture

Some UI Snapshots
This is the home page or login page of the system where the management and delivery staff can
login themselves with their username and password.
22

This is the screenshot of the customer delivery report.


23

Figure 12: Customer delivery Report

It is a snapshot of the delivery staff page.


24

Figure 13: Delivery User

It is the management staff dashboard from where the user can manage order, manage user,
manage report and feedback.
25

Figure 14: Manager Dashboard

Through this page, we can see the number of users connected to the system.

Figure 15: User Search


26

Data collection
The methodical course of getting perceptions or estimations is known as information assortment.
Information gathering empowers you to get direct information and exceptional bits of knowledge
into your review challenge, whether you are leading exploration for business, administrative, or
scholastic goals (Bhandari, 2022).
For the courier service system, we have used the qualitative data collection method for its
development and testing phase. We used the Interview as data collection for this project.
To develop a thorough understanding of viewpoints or perceptions about the requirements of the
system. Ask open-ended questions aloud to participants during focus group or individual
interviews for the functional and nonfunctional requirements.
27

Backup and recovery


Any system that needs to be recovered later in case of system failure or other catastrophe must
have a data backup. It is wise to take a backup of your data because we cannot predict when a
catastrophe will strike. When creating this system, we employed Java file processing for this
reason. We have employed error management with a try-catch statement since handling file input
and output is complicated.
Since our system uses txt files for data handling and has no external database attached to it, so
for the back-up are txt files that are shown below.
28

Testing strategies
Software testing is the process of confirming and assessing a software application's or product's
functionality. It is used to cut down on bugs and lower the cost associated with fixing problems
and rolling out updates for a business (Team, 2022).
29
30

Conclusion
Our assignment is titled "COURIER SERVICE SYSTEM," and its requirements state
that we must build and execute a platform for courier service. The aim of this assignment is to
define and comprehend the idea of Java Object-Oriented Development. This solution will enable
management to operate more effectively. Using all the OOP elements, we created a pc
application for the courier service system in accordance with the specifications.
Through this assignment, we can translate our theoretical framework for our study into real-
world situations. Through the course of working on our task, we discovered varied viewpoints on
courier services. It is simpler for us to design a system with the aid of object-oriented
programming.
The courier system that we have developed here will assist customers in delivering their
packages to the designated location at any time, thus assisting users in reducing paperwork and
assisting them in working in a computerized manner. Through this work, we learned the
significance of object-oriented programming in the present and in the future of the IT industry.
To sum up, we used a variety of research techniques to complete our study. Additionally, we
used several websites, books, articles, and journals to get additional information for our task. We
diligently finished our job and made every attempt to make it successful.
31

References
Bhandari, P. (2022, July 21). Data Collection | Definition, Methods & Examples. Scribbr.

Retrieved September 11, 2022, from https://www.scribbr.com/methodology/data-

collection/

Doherty, E. (n.d.). What is object-oriented programming? OOP explained in depth. Educative:

Interactive Courses for Software Developers. Retrieved September 11, 2022, from

https://www.educative.io/blog/object-oriented-programming

Jansen, D. (2022, June 27). What Is Research Methodology? Definition + Examples. Grad

Coach. Retrieved September 11, 2022, from https://gradcoach.com/what-is-research-

methodology/

Kissflow, Inc. (2022, August 22). Rapid Application Development (RAD) | Definition, Steps &

Full Guide. Retrieved September 11, 2022, from https://kissflow.com/application-

development/rad/rapid-application-development/

Puzhevich, V. (2021, October 27). Functional vs Non-Functional Requirements: The Definitive

Guide. SCAND. Retrieved September 11, 2022, from

https://scand.com/company/blog/functional-vs-non-functional-requirements/

Silverthorne, V. (2019, April 30). rapid application development (RAD). SearchSoftwareQuality.

Retrieved September 11, 2022, from

https://www.techtarget.com/searchsoftwarequality/definition/rapid-application-

development

Team, C. (2022, March 13). What Is Software Testing? Codecademy News. Retrieved September

11, 2022, from https://www.codecademy.com/resources/blog/what-is-software-testing/


32

Vadapalli, P. (2022, April 18). What is Feasibility Analysis? Explained. upGrad Blog. Retrieved

September 11, 2022, from https://www.upgrad.com/blog/what-is-feasibility-analysis-

explained/

You might also like