You are on page 1of 24

1 Introduction

1.1 Statement of Problem


The key distinguishing aspects of software are speed, affordability, and backup. Manual system
and handling takes a long time and is expensive, with no assurance of backup or reliability.
These three aspects are critical to the company's success. For customer management, a user-
friendly database application is required to conduct the CRUD operations for storing data in a
database in line with the use case design, as well as to enable easy, fast, and harmless access to
customer data records and proficiently manage them.

1.2 Proposed System and Current System:


Rather of this suggested structure, all of the highlights in the current framework are performed
physically or using a word processor. The maintenance of all records is somewhat hazy in today's
system administration centers, which often preserve client and item data in word records,
accounting worksheets, or paper registers despite providing various forms of help to their
customers.

Repetitive information, such as client name and address, account data, and personal assignment
distribution, causes problems. When a consumer uses a certain type of administration, the
invoice is physically calculated, which takes time. Moreover, ill-advised help isn't completed on
regular and after-hours errands. Finance estimates are thus generated improperly, making
difficultly for everyone to accomplish the task.

The successive protests by consumers about not getting opportune administrations is one more
issue regularly experienced by the business that has been settled in the proposed customer
management project. This is a consequence of the representatives' unseemly plans for getting
work done and how the records are kept.

The owner is expected to screen the progression of clients consistently. Acquiring data and
records about the situation with administrations in this present circumstance is basically
troublesome. Each of this makes the proprietor the essential individual responsible for dealing
with the entire working framework, and subsequently, the occupation is not generally
disseminated reasonably among those accountable for running the help community. The ongoing
framework misses the mark on fundamental foundation to oversee HR, including representative
information, participation, accounting, client data, and so on.

A system with a vital application in the proposed arrangement of client record management can
likewise work in an organization with the least amount of programming changes. The proposed
framework plan and the current framework don't altogether contrast with each other.

1.3 Objective
The objectives of this project are:
a. To improve accessibility and comfort for customers records.
b. Creating systems with appropriate architecture and OOP principles.
c. To make system integration more dependable and secure.
d. Making it simple for the business administration to quickly and easily look for the
customer's data.

2 Hardware and Software Requirements


2.1 Hardware Requirements
● Processor : 1 GHz; Recommended 2GHz or more

● Hard Drive : 32 GB; Recommended 64 GB or more

● RAM : 1 GB; Recommended 4 GB or above

● Monitor : Standard color monitor

● Keyboard : Standard keyboard

● Mouse : Standard mouse

2.2 Software Requirements


● Operating System : Windows 7

● User interface : Java


● Database : My SQL

● Documentation Tool : MS Office

3 Backup and Recovery


During the primary data failure, the backup's aim is to create a replica of the data that can be
recovered. Primary data loss may arise from hardware or software disputes, data corruption, or a
malicious attack (virus or malware), data deletion accident, or other human-caused instance.
Backup copies allow an organization to recover from an unanticipated disaster by restoring data
to an earlier point in time. To safeguard in contradiction of primary data failure or corruption, it
is essential to save a replica of the data on a other media.

4 Design and Implementation


4.1 Use Case Diagram
Utilizing actors and use cases, the Use Case Diagram portrays the system's practicality and
requirements. Use Cases signify the amenities and purposes that a structure must offer. Use cases
illustrate high-level functionality and the way a user could access the system. The crucial
concepts of Unified Modeling Language (UML) modeling are use-cases. It portrays the dynamic
behavior of a real-world system. It mimics the way a variable and the factor communicate in
order for it to function (Walker, 2022). 
Figure 1: Use Case Diagram

This graphic above gives an overview of the project's use cases. A user is generalized into two
actors in this case. The administrator can do all CRUD activities in the database, while the
viewer can simply read the data. A user must be logged into the software before doing any
activity. Because CRUD activities are only available to authorized users, a login action is
necessary before performing any activity, as illustrated in the figure. The database provider gives
database access, while the authenticator is the program's authentication module for the login
procedure.

4.2 Database Design and E-R Diagram


Entity Relationship Diagram (ERD) are also known as ER diagrams and Entity Relationship
Models. An ERD illustrates the relationships between entities in a database, such as persons,
things, or concepts. An ER diagram may depict the logical assembly of databases by stipulating
the entities, their properties, and the interfaces between them. This is essential for engineers who
need to either describe prevailing database or sketch up a concept for a fresh database
(SmartDraw, 2022).
Figure 2: ER Diagram

The graphic above depicts the database design for this project. The schema has two entities. The
user object has properties such as id, username, password, and role. The type of user will be
determined by the role, such as administrator or viewer. An administrator can change the records
in the customer table, and yet a viewer only see them. This prevents unauthorized access to and
alteration of the database. The customer entity has properties such as an id, a name, a username,
an email address, a phone number, and an address. For a positive implementation, every attribute
must be filled. The primary key that may uniquely define each record in both entities is the id
property. These two entities have a one-to-many connection. A user can see or change one or
more client information.

4.3 CRUD Operation


The abbreviation CRUD (create, read, update, and delete) discusses to the four utilities requisite
to develop a persistent storage application. Organizations that manage client data, accounts,
payment information, condition data, and other archives necessitate data storage hardware and
apps that enable permanent storage. This information is often stored in a database, which is
basically a structured collection of data that can be accessed automatically. There are several
database kinds, including hierarchical databases, graph databases, and object-oriented databases.
A relational database is the most commonly used type of database, consisting of data table and
linked to other tables with corresponding info via a keyword system that consist of primary keys
and foreign keys.
4.3.1 Create
In this action, a new row of records is added to a table. To do so, use the command INSERT
INTO. Following the INSERT INTO keyword at the top of the statement, the table name,
column names, and values to be inserted are stated.

Figure 3: Inserting new record in customer table


First, a SQL query is produced and saved in the query string variable. Because the values to be
saved are stored as '?' in the query, they may be changed afterwards, and the code appears
simpler and crisper. Then we use conn.connect() to connect to the database, in which conn is the
object of MysqlConnect. The query is then turned to a prepared statement, which enables to
change the value of row data in the '?' in the query. Statements can be used to do this. set*(index,
data), where * denotes the data type (String, Boolean, Long etc.). The statement is then
processed, and the number of rows impacted is saved in a variable to determine whether or not
the action was successful. If the operation is successful, true is returned; otherwise, false is
returned.

Figure 4: Prepared Statement and MysqlConnect Objects

4.3.2 Read
It is analogous to a search function that enables to get records and read their values. The
SELECT keyword will simply display all of the records in that table without modifying it in any
way.
Figure 5: Reading data from database

The query, such as the create operation, is written first, then translated to a prepared statement,
then the statement is performed. The result is then retrieved and returned, where it may be used
elsewhere.

4.3.3 Update
An existing table record can be updated. This enables to modify existing database entries. Before
running UPDATE, supply the destination table and the columns that will be updated. In some
circumstances, the rows and their associated values are also required.
Figure 6: Updating existing record in database

The column name is set to fresh data from the form and altered when the id matches during the
update procedure. The prepared statement is created and run. The rows of impacted data are then
examined, and a value larger than zero indicates that the data has been appropriately updated.

4.3.4 Delete
The delete command can be used to remove a record from the table. SQL has a delete function
that enables to deletion of one or more records from the database at once. Hard (permanent
delete) and soft (temporary delete) deletion may be supported by some relational database
systems.

Figure 7: Deleting a customer record from database


A delete statement is written to delete a record from a table, and the record to be deleted is
identified by the id column. If the record is successfully deleted, the software returns true;
otherwise, it returns false.

4.4 Programming Language Justification


Because it is an object-oriented programming (OOP) language, Java is one of the most
extensively used programming languages. OOP has a comprehensive modular architecture that
simplifies the solution of difficult issues. Software engineering is assisted by its modular design,
which allows programmers to write reusable code.

Furthermore, in Java programming, classes that specify data attributes and actions (specified by
methods written in the class) can be utilized to generate objects. Java also has built-in packages,
best practices, and features such as abstraction, encapsulation, inheritance, and polymorphism
that make it easier to code. Java programming is exceptionally vigorous because Java objects do
not necessitate any exterior references.

Java was selected for this project because:

● It provides a wide range of APIs and highly scalable alternatives that function well in a

number of settings.

● Some of the external libraries required for this project, such as the rs2xml and MYSQL

connector, were easily found on the internet. This demonstrates that java resources are
readily available.

● Java can be developed in a number of integrated development environments, each of

which provides powerful tools for automating a large portion of the development process.

● Java has a big user base. Because the majority of the difficulties that surfaced throughout

the project had already been identified and addressed in the community, any issues that
developed during the project were efficiently managed.
4.5 Screenshots

Figure 8: Login Panel

Figure 9: Invalid Login Panel


Figure 10: Admin Panel

Figure 11: User Panel

Figure 12: Create Panel


Figure 13: Update Panel

Figure 14: Delete Panel


5 Network Topology
Topo meaning "location" and logy meaning "study" in computer networks is applied to elucidate
the way a network is actually associated with the logical drift of info in the network. A topology
outlines the way devices are allied and interact via communication lines (AfterAcademy, 2020).

Network topology labels the physical and logical layout, virtual form, or composition of a
network. Simultaneously, a network can have one physical topology and numerous logical
topologies (AfterAcademy, 2020). There are six major forms of physical topology in a computer
network, which are as follows:

5.1 Mesh Topology


In this topology, every device is interconnected to every other node in the network via a
specialized point-to-point link which exclusively conveyances data for the two systems that are
associated to it. When there are n network devices, every unit must be associated to (n-1)
network devices. n(n–1)/2 would be the integer of associations in n-device mesh
design(Chaitanya Singh, 2021).

Figure 9: Mesh Topology Network (Junaid Rehman, 2019)


Benefits:
i. No data traffic complications since the link is devoted among two devices.
ii. This architecture is stable and robust since the damage of one assembly does not impact
other network devices.
iii. It is secured since there is a point-to-point link, avoiding unsolicited access.
iv. Error diagnosis is simple.
Drawbacks:
i. The amount of cables needed to link each system is time-consuming and problematic.
ii. As each device must converse with other devices, the figure of I/O ports necessary is
enormous.
iii. Scalability difficulties, because a unit cannot be linked to a large number of devices via a
dedicated point to point connection.

5.2 Star Topology


In this topology, every network device is associated to a central device hub. As mesh topology,
star topology does not permit straight association between devices; instead, a device need to
connect through a hub. When one device needs to transfer data to another, it first transmit the
data to the hub, then the hub transmits the data to the preferred device (Chaitanya Singh, 2021).

Figure 10: Star Topology Network (Junaid Rehman, 2019)


Benefits:
i. There is no chance of data collisions.
ii. It is less expensive as each device need only one I/O port and can be linked to hub.
iii. While adding or removing devices there will be no instabilities.
Drawbacks:
i. When the network switch fails, the nodes are unable to communicate with the network.
ii. This architecture is more costly than linear bus topology 
iii. When the hub has issues, everything fails and none can task in absence of hub.

5.3 Bus Topology


Every device are linked to it the primary cable through drop lines in bus topology. A device
known as a tap attaches the drop line to the primary cable. Since all data is transferred across the
main cable, the quantity of drop lines and the extent of the main cable are fixed (Chaitanya
Singh, 2021).

Figure 11: Bus Topology Network (Junaid Rehman, 2019)

Benefits:
i. Simple connection as each cable must be connected to a primary cable.
ii. Necessitates less wires compared to Mesh and Star topologies.
Drawbacks:
i. Complexity in identifying faults.
ii. The figure of nodes associated through main cable is fixed making no scalability.

5.4 Ring Topology


It is a network design in which each device is linked to two other devices on either side by an RJ-
45 cable or a coaxial cable. This results in a circular ring of linked devices, hence is the name.

Figure 12: Ring Topology Network (Junaid Rehman, 2019)

Benefits:
i. Easy installation.
ii. Management is streamlined and easy to add or take out an unit.
Drawbacks:
i. The whole network fails when a link falls as the data cannot transmit ahead .
ii. All data transfers in a ring making high data traffic.
5.5 Hybrid Topology
Hybrid topology is the synthesis of two or more topologies, for instance, it is a blend of star and
mesh topology.

Figure 13: Hybrid Topology Network (Junaid Rehman, 2019)

Benefits:
i. We can pick the topology based on our needs. For instance, if scalability is a issue, we
can apply star topology than bus technology.
ii. Scalable because we can associate more computer networks with prevailing networks
with varied topologies.
Drawbacks:
i. It is tough to spot flaws.
ii. Installation is complex.
iii. As the architecture is complex, maintenance is expensive.
6 Network Programming Libraries
The creation of programs that run on several devices (computers) that are all linked together via
a network is referred as network programming.

The J2SE APIs' java.net package includes assembly of classesaand interfaces that offer low-level
communication points, permitting to design applications that are focused on deciphering the
problem.

The java.net package supports two most used network protocols.

● TCP is an abbreviation for Transmission Control Protocol, enables consistent

communication among two programs. It is commonly used in conjunction with the


Internet Protocol, whichlis stated to as TCP/IP.

● UDP is an abbreviation of User Datagram Protocol, which is a connectionless

protocollthat permits data packetsato be transferred among programs.

6.1 Socket Programming


Sockets are used to communicate among two computers through TCP. On its end of the
communication, a client application makes a connection then attempts to associate that socket
toaserver. On its end of lthe communication, thelserver acquires a socket object once the
connection is recognized. The client andlserver can now exchange information by writing toland
readinglfrom the socket (TutorialsPoint, 2022).

The Socketlclass signifies a socket, whereas the java.netlclass represents a network.


ServerSocket class allows the server software to listen forlclients and make connections. When
initiating a TCP link amid different computers using sockets, the following stages occur:

● The server creates a ServerSocketlobject and specifies the portlnumber on which

communication will take place.

● The server calls the ServerSocket class's accept() function. This procedure pauses for a

client to associate to thelserver on the indicated port.


● Afterlthe server has completed waiting, the client generates a Socket object and specifies

the serverlname and portlnumber to connect to.

● The Socket class's constructor tries to associate the clientlto the supplied server andlport

number. If link is recognized, the client is now in possession of a Socket object that may
communicate with the server.

● The accept() function on the server provides a referencelto alnew socketlon thelserver

that is associated to thelclient's socket.

After the associates have been created, communication can take place via I/O streams.lEach
socket has anlOutputStream as well as an InputStream. The client'slOutputStream is linked to the
server'slInputStream, and the server's OutputStream is linked to the client's InputStream.

Because TCP is altwo-way communicationlprotocol, data may be transferred in both directions


at the sameltime. The relevant classes listed below provide a comprehensive set of techniques for
implementing sockets (TutorialsPoint, 2022).

Socket Client Sample


The following client program GreetingClient associates to a serverlusing a socketland sends a
greeting,land then pauses for a response
6.2 URL Processing
A Uniform Resource Locator (URL) is a network-based referencel(or address) to alresource. As
a result, a URL might indicate the "location" of alwebpage or web-basedlapplication. A URL is
just alString that specifies the label of a resource whichlcan be files, databases, apps, and so on.
A resource name is made up of a host machinelname, a filename, a portlnumber, and other
details. It can also include a protocol identification (e.g., http, ftp) (Lanthier, 2017).

The URL class in JAVA is defined in the java.net package. We may make our own URL objects
by doing the following:
Another method for creating a URL is to separate it into its constituent components:

The URL class also has methods for extracting the various components of a URL object
(protocol, host, file, port, and reference). Here's an example of what you can get access to. It is
important to note thatlthis example merely manipulates alURL object and does not attempt to get
any web pages:

Here is the output:


7 Conclusion
The major goal of this project was to create a Java application for a business where customers'
data could be interacted with and maintained in order to retain a clean record of the customers.
The application was created using NetBeans IDE utilizing the JAVA programming language and
file management for data storage.

One of the most difficult issues in the creation of this software project was implementing a read
and update function in the system. Because all of the data is contained in the database, changing
the specific data proved extremely difficult.

All of the requirements for the system have been satisfied. The validations and notifications
make the system more efficient for all users to utilize. The system's straightforward design and
forms make it more user-friendly. 
8 References
AfterAcademy. (2020, January 19). AfterAcademy. Retrieved from AfterAcademy:
https://afteracademy.com/blog/what-is-network-topology-and-types-of-network-topology
Chaitanya Singh. (2021, June). BeginnersBook. Retrieved from BeginnersBook:
https://beginnersbook.com/2019/03/computer-network-topology-mesh-star-bus-ring-and-
hybrid/#:~:text=There%20are%20five%20types%20of,%2C%20Bus%2C%20Ring
%20and%20Hybrid.
Junaid Rehman. (2019, June). ITRelease: Learn about IT beyond the distance. Retrieved from
ITRelease: Learn about IT beyond the distance: https://www.itrelease.com/2019/06/what-
is-bus-topology-with-example/
Lanthier, M. (2017). Chapter 12 - Network Programming. Canada: Carleton University.
SmartDraw. (2022). Entity Relationship Diagram (ERD). Retrieved from SmartDraw, LLC:
https://www.smartdraw.com/entity-relationship-diagram/
TutorialsPoint. (2022). TutorialsPoint: Java - Networking. Retrieved from TutorialsPoint:
https://www.tutorialspoint.com/java/java_networking.htm
Walker, A. (2022, June 25). Guru99. Retrieved from UML Use Case Diagram: Tutorial with
EXAMPLE: https://www.guru99.com/use-case-diagrams-example.html#:~:text=An
%20example%20of%20a%20use%2Dcase%20diagram,-Following%20use
%20case&text=Each%20actor%20interacts%20with%20a,are%20remaining%20in
%20the%20system.

You might also like