Java
Java
ii
Table of Contents
Introduction......................................................................................................................................3
Introduction to CSS.........................................................................................................................3
Statement of problem.......................................................................................................................4
Objectives........................................................................................................................................4
Scopes..............................................................................................................................................5
Limitations.......................................................................................................................................5
Research methodology.....................................................................................................................5
Feasibility analysis.......................................................................................................................5
Class Diagram.....................................................................................................................9
Activity Diagram...............................................................................................................10
Data collection...............................................................................................................................26
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.
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).
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;
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
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 5: Delivery Staff Activity Diagram
13
Figure 6: Customers Activity Diagram
14
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.*.
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.)
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.
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.
Encapsulation
Encapsulation is the process of combining (wrapping) code and information into a single entity.
20
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
It is the management staff dashboard from where the user can manage order, manage user,
manage report and feedback.
25
Through this page, we can see the number of users connected to the system.
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
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.
collection/
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
methodology/
Kissflow, Inc. (2022, August 22). Rapid Application Development (RAD) | Definition, Steps &
development/rad/rapid-application-development/
https://scand.com/company/blog/functional-vs-non-functional-requirements/
https://www.techtarget.com/searchsoftwarequality/definition/rapid-application-
development
Team, C. (2022, March 13). What Is Software Testing? Codecademy News. Retrieved September
Vadapalli, P. (2022, April 18). What is Feasibility Analysis? Explained. upGrad Blog. Retrieved
explained/