Post Office Management System Project .
Post Office Management System Project .
INTERNSHIP REPORT
ON
POST OFFICE MANAGEMENT SYSTEM
PROJECT
BY
KAMAL ACHARYA
(Tribhuvan University)
Date: 2021/10/10
1
Introduction
Speedy and efficient information processing is crucial to our socially and highly
developed technology. Computer can help the intolerable burden of handling the ever
increasing amount or information with government department, public services and
business concerns expected to contain because of their ability to analyze information
as well as to retain, update and reproduce it because of their versality to present it in a
variety of forms. This may also to some extent lead to problems occurring due to
information explosion.
About Project
POST OFFICE works in every walk of our life. Through the automation of this
system one can easily generate the information about the customer available and also
about the old records.
For this efficient software the first and the foremost thing is that all the requirements
should be known before hand and the developer should devote its effort for the
completion of that requirement which are demanded by the customer should be
fulfilled. This system can be used in various education departments and can distribute
the copies of the system among the management and staff members for the required
information of their customer.
This very handy project for any user and includes following features:-
● for the help of user it displays each and every detail about required topics
2
Software Development Life Cycle
The Software Development Life Cycle, as outlined by Edward Yourdon in his book
modern structure analysis (1989) has been followed in this project with minor
modifications. The modified life cycle is shown overleaf.
● Prepare the project charter which will guide about the remainder of the
project
3
3) PRLIMINARY DESIGN – This activity deals with certain design issues,
which are to be finalized in consultation with user. The two most common
design issues of relevance to the user are the automation boundary and
the human machine interface. The output of the activity is the user
implementation model. The major part of the user implementation model is the
specification for the user interface of the proposed system. The user
implementation model is also referred to as the physical model of the proposed
system. The model, in addition to the essential model , defines the following
for the proposed system:
● Automation boundary
● Report layouts
● Menu
4
About the current system
2. It reduces the tedious jobs like reluctant work, long procedures, automated
report generation, up to date information.
3. It will improve the Post Office Management, since all the information is
available whenever required.
9. Better security
10. Economical.
5
Deficiencies of the manual system:
1. Lack of immediate retrieval of information - In manual system, lot of time is
wasted in retrieving information. Much searching is required before required is
found. This wastes a lot of time of the user as well as the person.
3. Prompts updating not possible – Changes are quite natural in all walks of life.
Information and stored data also changes from time to time. These changes
should be incorporated in the working also to keep the information up to date.
However, bringing about changes through the manual system is a slow and
tedious process because of which inaccurate information storage occurs.
4. Unplanned working – The manual system lacks the element of planned working.
Records are not properly maintained. This creates a lot of problems at times like
during information retrieval and storage
6
Goals of the proposed system
8. Reliability – The reliability of the proposed system would be high due to the
above stated reasons. The reason for the increased reliability of the system is
that now there would be proper storage of information, its maintenance would
be well managed and retrieval would be possible in the desired manner.
9. Non Redundant Information – In the new system, utmost care be taken that no
information is repeated, any usage of storage or otherwise. This would assure
economic usage of storage or space and consistency in the data stored. This
will also help make those changes easily as the change would have to be made
only at that very place and no where else.
7
HARDWARE AND SOFTWARE REQUIREMENTS
To make the application smoothly and can be used to its optimum level following
Hardware and Software requirements are required:
128 MB of RAM
8
Tools and Platforms
The Front end is the software which manages the logical representation of data which
Back end manages to manipulate and store data.
9
Introduction
What is java?
Java is a general purpose object oriented programming language . It is the first
programming language that is not tied to any particular hardware or operating system
.The language is based on the concept of an object. Java is highly derived from C++ .
Most striking feature of the language is that it is platform neutral language.
There were five primary goals in the creation of the Java language:
Java tools
In order to write java application or applets ,one need more than a language . The
tools that lets one to write , test , debug programs.
Java features
● Compiler and Interpreted
● Platform independent
● Simple
● Secure
● Familiar
● Portable
● Object-Oriented
● Robust
● Multithreaded
● High performance
● Distributed
● Dynamic
Compiler and Interpreted - There is a java compiler , named javac . The java
compiler takes input source code files (these files typically have the ext.java) and
converts them into compiled bytecode files.The java Interpreter known as javac can
be used to execute java application .The interpreter translates bytecode directly into
program actions.
Platform independent - Java programs can be easily moved from one computer to
another, anywhere and anytime.Changes and upgrades made in operating systems,
processors and system resources will not force any changes in java programs.
Simple - Java is designed to be easy for programmer to learn and use efficiently.
10
Secure- When we use a java compatible web browser, we can safely download java
applets without fear of virus infection. Java achieves this protection by confining a
java program to java execution environment and not allowing it access to other parts
of the computer.
Robust -It provides many safeguards to ensure reliable code. It has strict compile
time and run time checking for data types. Designed as a garbage-collected language
relieving the programmers and also incorpates the concept of exception handling
which captures series errors.
Distributed - It has ability to share both data and programs. Java applications can
open and access remote objects on internet which enables multiple programmers at
multiple remote locations to collaborate and work together on single project.
11
address on the heap). When no references to an object remain, the Java garbage
collector automatically deletes the unreachable object, freeing memory and preventing
a memory leak. Memory leaks may still occur if a programmer's code holds a
reference to an object that is no longer needed—in other words, they can still occur
but at higher conceptual levels.
Comparing Java and C++, it is possible in C++ to implement similar functionality (for
example, a memory management model for specific classes can be designed in C++ to
improve speed and lower memory fragmentation considerably), with the possibly cost
of extra development time and some application complexity. In Java, garbage
collection is built in and virtually invisible to the developer. That is, developers may
have no notion of when garbage collection will take place as it may not necessarily
correlate with any actions being explicitly performed by the code they write.
Depending on intended application, this can be beneficial or disadvantageous: the
programmer is freed from performing low-level tasks but at the same time lose the
option of writing lower level code.
12
are modeled after real-world objects in that they too have state and behavior. A
software object maintains its state in one or more variables. A variable is an item of
data named by an identifier. A software object implements its behavior with methods.
A method is a function (subroutine) associated with an object. In the Java
programming language, an object can specify one of four access levels for each of its
variables and methods.
A class is a blueprint that defines the variables and the methods common to all objects
of a certain kind. After you've created the class, you can create any number of objects
from that class. When you create an instance of a class, the system allocates enough
memory for the object and all its instance variables. Each instance gets its own copy
of all the instance variables defined in the class.
Classes can also define class variables. A class variable contains information that is
shared by all instances of the class .A class can also declare class methods. You can
invoke a class method directly from the class, whereas you must invoke instance
methods on a particular instance.
Inheritance - Inheritance is the process by which objects of one class acquire the
property of objects of another class. Each subclass inherits state .However, subclasses
are not limited to the states and behaviors provided to them by their superclass.
Subclasses can add variables and methods to the ones they inherit from the superclass.
It supports the concept of hierarchical classification it also provides the use of
reusability. .
Polymorphism - This means the ability to take more than one form. An operation
may exhibit different behaviour in different instances. The behaviour depends upon
the types of data used in the operation. It plays an important role in allowing objects
having different internal structures to share external interface.
13
VERSION HISTORY
14
Java SE - Java Database Connectivity (JDBC)
The Java Database Connectivity (JDBC) API is the industry standard for database-
independent connectivity between the Java programming language and a wide range
of databases – SQL databases and other tabular data sources, such as spreadsheets or
flat files. The JDBC API provides a call-level API for SQL-based database access.
JDBC technology allows you to use the Java programming language to exploit "Write
Once, Run Anywhere" capabilities for applications that require access to enterprise
data. With a JDBC technology-enabled driver, you can connect all corporate data
even in a heterogeneous environment.
JDBC Architecture
The JDBC API contains two major sets of interfaces: the first is the JDBC API for
application writers, and the second is the lower-level JDBC driver API for
driver writers. JDBC technology drivers fit into one of four categories.
Applications and applets can access databases via the JDBC API using pure
Java JDBC technology-based drivers, as shown in this figure:
15
Left side, Type 4: Direct-to-Database Pure Java Driver
This style of driver converts JDBC calls into the network protocol used
directly by DBMSs, allowing a direct call from the client machine to the
DBMS server and providing a practical solution for intranet access.
The graphic below illustrates JDBC connectivity using ODBC drivers and
existing database client libraries.
16
Right side, Type 2: A native API partly Java technology-enabled driver
This type of driver converts JDBC calls into calls on the client API for Oracle,
Sybase, Informix, DB2, or other DBMS. Note that, like the bridge driver, this
style of driver requires that some binary code be loaded on each client
machine.
Sun worked with an array of companies in the industry to create and rapidly establish
the JDBC API as the industry-standard, open interface for Java applications to access
databases.
Industry Momentum
Leading database, middleware and tool vendors have been building support for JDBC
technology into many new products. This ensures that customers can build portable
Java applications while choosing from a wide range of competitive products for the
solution best suited to their needs. See the Industry Support page for a list of
companies that are shipping products with support for JDBC technology.
17
Relating JDBC to ODBC -
There is a very close relationship between API and JDBC architecture and (open
database connectivity) ODBC counterparts. The JDBC –ODBC bridge enables you to
access databases using ODBC drivers from JDBC . JDBC –ODBC bridge effectively
translate the JDBC API calls into the corresponding ODBC calls . ODBC drivers are
available for almost all types of databases. JDBC can access almost all databases .
Because of their common ancestry they share some important components:-
Driver
Database
Database
18
The JDBC architecture is based on a collection of java interfaces and classes that together
enable you to connect to data sources , to create and execute SQL statements and to retrieve
and modify data in a database.
Key Features
No Installation
A pure JDBC technology-based driver does not require special installation; it is
automatically downloaded as part of the applet that makes the JDBC calls.
19
applications once and access data anywhere. The JDBC API is included in both
the Java 2 Platform, Standard Edition (J2SE) and the Java 2 Platform, Enterprise
Edition (J2EE), providing server-side functionality for industrial strength
scalability.
20
SQL-STRUCTURED QUERY LANGUAGE
SQL is not a procedural language. It is not used to define complex processes; we
can use SQL to use commands that define and manipulate data. SQL is different from
other languages.
● Data Defination Language (DDL) – DDL statements are used to describe the
tables and the data they contain. The subset of SQL statements used for modeling the
structure (rather than the contents) of a database or cube. The DDL gives you the
ability to create, modify, and remove databases and database objects.
SELECT - SQL statement used to request a selection, projection, join, query, and
so on, from a SQL Server database.
Primary key – Primary key constraints identify the column or set of columns
whose values uniquely identify a row in a table. No two rows in a table can have the
same primary key value. You cannot enter a NULL value for any column in a primary
key.
21
Insert - The Insert logical operator inserts each row from its input into the object
specified in the Argument column. To insert the data into a relation we either specify
a tuple to be inserted or write a query.
Delete - The Delete logical operator deletes from an object rows that satisfy the
optional predicate in the Argument column. We can delete only whole tuples; we
cannot delete values on only particular attributes.
Update - The Update logical operator updates each row from its input in the object
specified in the Argument column. It provides a way of modifying existing data in a
table update statement do not return a result set, they merely modify data in the
database.
If a WHERE :() predicates is present, only those rows that satisfy this predicate are
updated.
If a SET :() predicate is present, it indicates the value to which each updated column
is set.
If a DEFINE :() predicate is present, this lists the values that this operator defines.
Alter - Adds or removes files, file groups, table. Modifies a table definition by
altering, adding or dropping columns and constraints, or by disabling or enabling
constraints and triggers. Can also be used to modify the attributes of files and file
groups, such as changing the name or size of a file.
22
APPLETS
What is an Applet?
Applets are small applications that are accessed on an internet server, transported over
the internet, automatically installed and as a part of web document. It can perform
arithmetic operations, display graphics, play sounds, accept user input, and create
animation and interactive games.
Capabilities
Java applets can be used to build full featured graphical user interface. Applets can
communicate over the internet to a host server and even communicate with other
applets on a form.
Limitation
For java to be truly successful. However, the client security has to be completely
assured because of this security measures place some limitations on java applets. By
default, applets cannot communicate with any server other than the originating server.
Applets also cannot read or write files to the local file system.
Born or initialization state: - Applet enters the initialization state when it is first
loaded. This is achieved by calling the init () method of applet class. The applet is
born. If we want then we can override the initialization more than once in the applet
program.
Running state - Applet enters the running state when the system calls the start ()
method of applet class. This occurs automatically after the applet is initialized. We
can override the start () method to create a thread to control the applet.
Idle or stopped state - An applet becomes idle when it is stopped from running.
Stopping occurs automatically when we leave the page containing running applet. We
can also do so by calling the stop () method explicitly. Stop () method can be
overridden.
23
Dead or destroyed state - An applet is said to be dead when it is removed from
memory. This occurs automatically by invoking the destroy () method when we quit
the browser.
Display state - Applet moves to the display state whenever it has to perform some
output operations on the screen. This happens immediately after the applet enters into
running state. The paint () method is called to accomplish this task. Almost every
applet will have a paint method. We can override this method.
24
Abstract Windowing Toolkit
The windowing package
The AWT is a very portable windowing library. It is a standard part of java
environment and provides all the basic functionality
one would expect to use in a modern windowing system .The AWT defines windows
according to a class hierarchy that adds functionality and specificity with each level.
The AWT package allows you to develop window-like applications. It allows your
applications to run on different windowing systems. The classes in AWT package will
allow you to:-
• Generate Colors.
• Draw graphics.
• Add GUI components like push buttons, scrollbars etc to your applications.
• Handle user input from mouse and keyboard.
• Create Containers.
• Classes like Layout Managers helps in automatically positioning a GUI object
when we add it to the container.
25
SWING
Jframe and Component – Jframe extends the AWT class Frame. It contains
additional features that enable it to support Swing components. JComponent extends
the AWT component and Container classes. It is the top level class for all Swing
components and provides Swing pluggable look and feel.
Here are some of the Swing component classes:
CLASS DESCRIPTION
Abstract Button Abstract super class for Swing buttons.
Button Group Encapsulates a mutually exclusive set of
buttons.
Image Icon Encapsulates an icon.
JApplet The SWING version of APPLET.
JButton The SWING push button class.
JCheckBox The SWING check box class.
JComboBox Encapsulates a combo box .
JLabels The SWING version of a label.
JRadioButton The SWING version of a radio button.
JScrollPane Encapsulates a scrollable window.
JTabbedPane Encapsulates a tabbed window.
JTextField The SWING version of Text field.
JTree Encapsulates a tree based-control.
● Icons – Icons are encapsulated by the Image Icon class, which paints an icon from
an image.
26
● JLabel – Labels are the instances of the JLabel class which extends JComponent.
It can display text or icon. These are passive controls that do not support any
interaction with the user.
3. Further the Swing components can provide pluggable look and feel, which
means that it is easy to substitute another appearance and behavior for an
element.
27
Data Flow Diagram
28
FORMS LAYOUT
29
WELCOME WINDOW
30
USER-ID
31
OPTION WINDOW
32
PARCEL FORM
33
MONEY ORDER FORM
34
SPEED POST FORM
35
REGISTRY FORM
36
E-CARD FORM
37
FORAIGN MAIL
38
DATA BASE DIAGRAM
39
LIMITATIONS
Although I have tried to do the best and try to do well all the things that are possible
in a Payroll System, but still the system contains some of the limitations.
The reason of these limitations is the time constraints. Time is the major problem. I
have to deliver the project in a particular time period. That’s why I have to leave some
topics that actually I want to cover, I am still working on this software and my next
goal is to remove these limitations and develop a more efficient and elegant system.
After removing these and other minor limitations I hope this project will be very
efficient and effective.
40
Conclusion
41
BIBLIOGRAPHY
7. Java2 – CMC
42
Reference
Acharya, Kamal. "STUDENT INFORMATION MANAGEMENT
SYSTEM." Authorea Preprints (2023).
Acharya, Kamal. "Library Management System." Available at
SSRN4807104 (2019).
ACHARYA, KAMAL, et al. "LIBRARY MANAGEMENT SYSTEM."
(2019).
Acharya, Kamal. "Online bus reservation system project report."
Authorea
Preprints (2024).
Acharya, Kamal. "Online bus reservation system project report." (2024).
Acharya, Kamal. “Online Bus Reservation System.” SSRN ElectroNIC
ASIA
Journal (2024): n. pag.
Acharya, Kamal. “Student Information Management System Project.”
SSRN
ElectroNIC ASIA Journal (2024): n. pag.
Acharya, Kamal. “ATTENDANCE MANAGEMENT SYSTEM.”
International
Research Journal of Modernization in Engineering Technology and
Science (2023): n. pag.
Acharya, Kamal. “College Information Management System.” SSRN
ElectroNIC
ASIA Journal (2024): n. pag.
Acharya, Kamal, Attendance Management System Project (April 28,
2024).
Available at
SSRN: https://ssrn.com/abstract=4810251 or
http://dx.doi.org/10.2139/ssrn.4810251
Acharya, Kamal, Online Food Order System (May 2, 2024). Available at
SSRN: https://ssrn.com/abstract=4814732 or
http://dx.doi.org/10.2139/ssrn.4814732
Acharya, Kamal, University management system project. (May 1, 2024).
Availableat
SSRN: https://ssrn.com/abstract=4814103 or
http://dx.doi.org/10.2139/ssrn.4814103
Acharya, Kamal, Online banking management system. (May 1, 2024).
Available at
SSRN: https://ssrn.com/abstract=4813597 or
http://dx.doi.org/10.2139/ssrn.4813597
Acharya, Kamal, Online Job Portal Management System (May 5, 2024).
Available at
43
SSRN: https://ssrn.com/abstract=4817534 or http://dx.doi.org/10.2139/ss
rn.4817534
Acharya, Kamal, Employee leave management system. (May 7, 2024).
Available
at
SSRN: https://ssrn.com/abstract=4819626 or http://dx.doi.org/10.2139/ss
rn.4819626
Acharya, Kamal, Online electricity billing project report. (May 7, 2024).
Available at
SSRN: https://ssrn.com/abstract=4819630 or http://dx.doi.org/10.2139/ss
rn.4819630
44