You are on page 1of 93

AN e-POST OFFICE SYSTEM

ABSTRACT
The e-Post Office is the shopping portal of the world renowned postal service on the Internet and an additional distribution channel. It sells Stamps, Post Cards, Packets, Cartons and has services like courier, registering for electricity vendors, selling mobile cards, etc. Under this website many products and services can be ordered. The e-Post Office is expanded permanently through new products and services in order to offer a product portfolio corresponding to the market. The e-Services offer new flexibility through ePacket, the PICKUP order for packages over the Internet as well as the online forwarding and storage orders. The customers can have a payment alternative through credit card. In order to use the load writing procedure, the customer registers itself in the e-PostOffice and receives a login for its purchases name. This Project mainly includes selling of products and offering services just as a normal Post Office but with greater efficiency.

CONTENTS
Chapter Page No.

1. Introduction----------------------------------------------------------------------------1 1.1 About Organization----------------------------------------------------------2 1.2 Mission------------------------------------------------------------------------3 1.3 Vision--------------------------------------------------------------------------3 1.4 Objectives---------------------------------------------------------------------4 2. Feasibility Analysis-------------------------------------------------------------------6 2.1 Feasibility study---- ---------------------------------------------------------7 2.2 Economic Feasibility--------------------------------------------------------7 2.3 Operation Feasibility--------------------------------------------------------8 2.4 Technical Feasibility--------------------------------------------------------8 3. About Software------------------------------------------------------------------------9 3.1 MVC Architecture----------------------------------------------------------10 3.2 PHP---------------------------------------------------------------------------12 3.3 Postgresql--------------------------------------------------------------------14 3.4 Javascript--------------------------------------------------------------------17 3.5 HTML------------------------------------------------------------------------20 4. System Analysis----------------------------------------------------------------------22 4.1 Business case and Vision--------------------------------------------------22 4.2 Software requirements specifications------------------------------------29 4.3 User Requirements Documents-------------------------------------------38

5. System Design-------------------------------------------------------------------------44 5.1 High level design document-----------------------------------------------45 5.2 Logic database design------------------------------------------------------57 6. Testing----------------------------------------------------------------------------------65 7. Forms and Reports-------------------------------------------------------------------71 8.Conclusion------------------------------------------------------------------------------86 9. Table of cross reference-------------------------------------------------------------88 10. Bibliography-------------------------------------------------------------------------89

INTRODUCTION

About Organization
The Department of Posts comes under the Ministry of Communications and Information Technology. The Postal Service Board, the apex management body of the Department, comprises the Chairman and three Members. The three members of the Board hold portfolios of Operations & Marketing , Development and Personnel respectively. The Joint Secretary and Financial Advisor to the Department is a permanent invitee to the Board. The Board is assisted by a senior staff officer of the Directorate as Secretary to the Board . Deputy Directors General , Directors and Assistant Directors General provide the necessary functional support for the Board at the Headquarters. For providing postal services, the whole country has been divided into twenty two postal circles. Each Circle is co-terminous with a State except for Gujarat Circle ( which also administers the Union Territories of Daman & Diu and Dadra & Nagar Haveli), Kerala Circle (which includes the Union Territory of Lakshdweep), Maharashtra Circle (which has within its jurisdiction the State of Goa), North East Circle (which comprises six North Eastern States- Arunachal Pradesh, Manipur, Meghalaya, Mizoram, Nagaland & Tripura), Punjab Circle (which has within its administrative jurisdiction ,the Union Territory of Chandigarh ), and Tamilnadu Circle ( which also administers the Union Territory of Pondicherry ).Each of these Circles is headed by a Pr. Chief Postmaster General or Chief Postmaster General. Each Circle is further divided into Regions comprising field units , called Divisions (Postal / RMS Divisions). Each Region is headed by a Postmaster General .In the Circles and Regions there are other functional units like Circle Stamp Depots, Postal Stores Depots and Mail Motor Service etc.

Mission
To provide high quality mail, parcel and related services in India and throughout the world ; to be recognized as an efficient and excellent organization exceeding the expectations of the customers, employees and the society; to perform the task by:

Total dedication to understanding and fulfilling customer's needs Total devotion to providing efficient and reliable services , which customers consider to be value for money. Total commitment to providing challenging and rewarding career for every employee. Total recognition of the responsibilities as a part of the social, industrial and commercial life of the country Total enthusiasm to be forward looking and innovative in all areas.

Our Vision
India Post shall be a socially committed, technology driven, professionally managed and forward looking organization.

To provide high quality mail, parcel and related services in India and throughout the world;to be recognized as an efficient and excellent organization exceeding the expectations of the customers, employees and the society; to perform the task by:

Total dedication to understanding and fulfilling customer's needs Total devotion to provide efficient and reliable services, which customers consider to be value for money.

Total commitment to provide challenging and rewarding career for every employee. Total recognition of the responsibilities as a part of the social, industrial and commercial life of the country. Total enthusiasm to be forward looking and innovative in all areas.

Quality Policy
India Post aims to provide high quality mail, parcel and related services in India and throughout the world and to be recognized as an efficient and excellent organization exceeding the expectations of the customers, employees and the society; to perform the task by: Total dedication to understand and fulfill customer's needs. Total devotion to providing efficient and reliable services as per well laid service quality norms,which customers consider to be value for money. Each outlet of Department of Posts would strive to serve the customers as per the quality norms.

Objectives of this Citizens Charter


This Citizens Charter is adopted at the Headquarters of the Department of Posts to serve as a guideline charter for the post offices across the country for them to formalize and state our commitment towards improvement of our services with a customer focus. It is framed on the basis of careful analysis of customer feedback and suggestions received in structured surveys carried out by the

Department during June - December, 2006.

Our Services
The Department of Posts provides various services depending on customer requirements to extend the benefit of its huge network in the area of Communication Services(Letters, Postcards etc.), Transportation Services (Parcels, Logistics Post), Financial Services (Savings Bank, Money Order,

International Money Transfer Service, Public Private Partnership for extending financial service outreach through the post office network, Postal Life Insurance) and Premium Value added Services (like Speed Post, Business Post, Retail Post). We provide the communication, transportation and Banking Services in all places in the country. We provide our premium services in identified locations as per customer requirements and infrastructure availability.

Our Commitment to Customers:


We will treat our customers with courtesy and a helpful attitude. We will provide services as per quality specifications drawn out taking customer expectations and infrastructure availability into account. We will make basic postal and financial services available and accessible to all citizens of the country. We will take good care of our customers and respond to their inquiries and complaints promptly.

FEASIBILITY ANALYSIS

Feasibility Study:
A feasibility study is defined as an evaluation or analysis of the potential impact of a proposed project or program. A feasibility study is conducted to assist decision-makers in determining whether or not to implement a particular project or program. The feasibility study is based on extensive research on both the current practices and the proposed project/program. The feasibility study will contain extensive data related to financial and operational impact and will include advantages and disadvantages of both the current situation and the proposed plan. The feasibility study is conducted to assist the decision-makers in making the decision that will be in the best interest of the e-post office system. Feasibility study should be performed on the basis of various criteria and parameters. The various feasibility studies are

Economic Feasibility Operational Feasibility Technical Feasibility

Economic Feasibility:
An economic feasibility test focuses on returns and costs of a proposed plan in both the short and long-term. An economic feasibility study (EFS) should consider investment and operating costs, the time value of money, risk and uncertainty, quality of available data, and the sensitivity of assumptions. An economic feasibility study should demonstrate the net benefit of the proposed course of action in the context of direct and indirect benefits and costs to the organization and to the general public as a whole. This product is highly economically feasible for the environments (Linux), the front end

(PHP), the back end (Postgres), for the Open source Software which we can easily download without economic effort. This product is designed in such a way that reduces the economic expenses when compared to the manual process.

Operational Feasibility:
It refers to the feasibility of the product to be operational. Some products may work efficiently at design phase and implementation phase but may fail in the real time environment. It includes the study of additional human resource required and their technical expertise. Our product is highly operational and feasible because of its user friendliness, graphical user Interface and it is developed in such a way, it makes even the novices feel comfortable in using it

Technical Feasibility:
It refers to whether the software that is available in the market fully supports the present application. It studies the pros and cons of using particular software for the development and its feasibility. It also studies the additional training needed to be given to the people to make the application work. Our product is highly technically feasible for it is developed by taking into account all the possible future enhancements.

ABOUT SOFTWARE

MVC ARCHITECTURE: Introduction:


Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present lots of data to the user, one often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface do not impact the data handling, and that the data can be reorganized without changing the user interface. The model-viewcontroller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller. ArchitectureofMVC

It is common to split an application into separate layers: presentation (UI), domain, and data access. In MVC the presentation layer is further separated into View and Controller. MVC encompasses more of the architecture of an application than is typical for a design pattern.

10

Model The domain-specific representation of the information on which the application operates. It is a common misconception that the model is another name for the domain layer. Domain logic adds meaning to raw data (e.g., calculating if today is the user's birthday, or the totals, taxes and shipping charges for shopping cart items).Many applications use a persistent storage mechanism (such as a database) to store data. MVC does not specifically mention the data access layer because it is understood to be underneath or encapsulated by the Model. View Renders the model into a form suitable for interaction, typically a user interface element. MVC is often seen in web applications, where the view is the HTML page and the code which gathers dynamic data for the page. Controller Processes and responds to events, typically user actions, and may invoke changes on the model. Though MVC comes in different flavors, control flow generally works as follows: The user interacts with the user interface in some way (e.g., user presses a button) A controller handles the input event from the user interface, often via a registered handler or callback. The controller accesses the model, possibly updating it in a way appropriate to the user's action (e.g., controller updates user's shopping cart).[1] A view uses the model to generate an appropriate user interface (e.g., view produces a screen listing the shopping cart contents). The view gets its own data from the model. The model has no direct knowledge of the view. (However, the observer pattern can be used to allow the model to indirectly notify interested parties potentially including views of a change.) The user interface waits for further user interactions, which begins the cycle anew.

Functioning:
In GUIs, views and controllers often work very closely together. For example, a controller is responsible for updating a particular parameter in the model which is then displayed by a

view. Each controller-view pair is associated with only one model; however a particular model can have many view-controller pairs.

11

Briefly, the model contains a pointer to view the object(s). when a manipulator method is called for the model, the model automatically broadcasts a notify message to all the associated views. This alerts the views that something has changed in the model and causes them to re-draw themselves, first obtaining the new data from the model with an update method.

PHP: Introduction:
Recursive acronym for PHP is Hypertext Preprocessor is an open-source server-side scripting language for creating dynamic Web pages for e-commerce and other Web applications. PHP offers a simple and universal solution for easy-to-program dynamic Web pages. The intuitive interface allows programmers to embed PHP commands right in the HTML page and also offers excellent code performance. The combination PHP-Apache-Linux features instantaneous access times, with even greater performance boosts achieved by caching data structures on the server.What distinguishes PHP from something like client-side javascript is that the code is executed on the server

12

Applications:
There are three main areas where PHP scripts are used.

Server-side scripting:
This is the most traditional and main target field for PHP. Three things are needed to make this work. (a)The PHP parser(CGI or server module) (b)A web server (c)web browser PHP program can derive the output with a web browser, viewing the PHP page through the server.

Command line scripting:


A PHP script can be made to run without any server or browser. We only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron(on *nix or linux) or Task Scheduler(on windows).These scripts can also be used foe simple text processing tasks.Using command line scripting, many time consuming tasks like taking backup of entire website and databases, transferring files to another server through ftp, and many more can be accomplished.

Writing Desktop applications:


PHP is probably not the very best language to create a desktop application with a graphical user interface, but if you know PHP very well, and would like to use some advanced PHP

features in your client-side applications you can also use PHP-GTK to write such programs. you can also have the ability to write cross-platform applications this way. PHP-GTK is an extension to PHP, not available in the main distribution. PHP offers excellent connectivity to most of the common databases including Oracle, Sybase, MySQL, ODBC etc and offers integration with various external libraries, which allow the developer to do anything from generating PDF documents to parsing XML.PHP is the natural choice for developers on Linux machines running Apache server software, but runs equally well on any other UNIX or windows Netscape or Microsoft web server software.

13

POSTGRESQL :
Introduction:
PostgreSQL is a free software object-relational database management system (ORDBMS), released under a BSD-style license. It offers an alternative to other database systems. Similarly to other free software projects such as Apache, GNU/Linux, and MediaWiki, PostgreSQL is not controlled by any single company, but relies on a global community of developers and companies to develop it.

Overall Architecture

The front-end of PostgreSQL is a typical client-server architecture, while the back-end is a mixed architecture of layered and pipeline design.

Sub-system descriptions:
Libpq is responsible for handling the communication with the client processes: establishing connection to postmaster; obtaining postgre server thread for the operational session. It forwards users operation requests to the back-end. The operation request is forwarded on an as-is basis.

14

The server side is composed of two sub-systems: the postmaster and the postgre server. The postmaster is responsible for accepting incoming connection request from client, performing authentication and access control on client request, and establishing client to postgre server communication. The postgre server handles all queries and commands from client. PostgreSQL is a process per-user model, which means that one client process can be connected to exactly one server process. Since the postmaster controls incoming all requests from clients and invokes new postgres without network connection, one implication of this architecture is that the postmaster and the postgres always run on the same machine (i.e. the database server), while the front-end (client) application can run anywhere. Because of this, the scalability of PostgreSQL is limited and PostgreSQL is usually used in relatively small database application. Storage Manager is responsible for general storage management and resource control in

the back-end, including shared buffer management,file management, consistency control and lock manager.

Advantages:
This is a brief list of PostgreSQL's advantages.

Features
PostgreSQL has most features present in large commercial DBMS's, like transactions, subselects, triggers, views, foreign key referential integrity, and sophisticated locking. It has also have some features they don't have, like user-defined types, inheritance, rules, and multi-version concurrency control to reduce lock contention.

Performance
PostgreSQL runs in two modes. Normal fsync mode flushes every completed transaction to disk, guaranteeing that if the OS crashes or loses power in the next few seconds, all your data is safely stored on disk. In this mode, we are slower than most commercial databases, partly because few of them do such conservative flushing to disk in their default modes. In no-fsync mode, we are usually faster than commercial databases, though in this mode, an OS crash could cause data corruption. We are working to provide an intermediate mode that suffers less performance overhead than full fsync mode, and will allow data integrity within 30 seconds of an OS crash.

15

In comparison to MySQL or leaner database systems, we are slower on inserts/updates because we have transaction overhead. Of course, MySQL doesn't have any of the features mentioned in the Features section above. We are built for flexibility and features, though we continue to improve performance through profiling and source code analysis. We handle each user connection by creating a Unix process. Backend processes share data buffers and locking information. With multiple CPU's, multiple backends can easily run on different CPU's.

Reliability

The PostgreSQL Team realize that a DBMS must be reliable, or it is worthless. It strives to release well-tested, stable code that has a minimum of bugs. Each release has at least one month of beta testing, and the release history shows that it can provide stable, solid releases that are ready for production use. It believes it compares favorably to other database software in this area.

Support
PostgreSQL's mailing list provides a large group of developers and users to help resolve any problems encountered. While them cannot guarantee a fix, commercial DBMS's don't always supply a fix either. Direct access to developers, the user community, manuals, and the source code often make PostgreSQL support superior to other DBMS's. There is commercial per-incident support available for those who need it. We suggest DBExperts.

Price
PostgreSQL is free for all use, both commercial and non-commercial. You can add our code to your product with no limitations, except those outlined in our BSD-style license stated above.

16

JAVASCRIPT: Introduction:
JavaScript was designed to add interactivity to HTML pages. Javascript is a popular client side scripting language used for controlling objects on the web page. Its code is embedded and sent to the client's browser int the HTML. As long as the client does not make a new request from the server, javascript will stay

and run on the client. In the same way, javascript's effects stay on the client side until submission to the server. Thats why it's client- side. And we cannot access client machine's resources like file system or data sources. Thats why it's called scripting language, not programming. Javascript deals with objects on the web page only. Javascript is Netscape's cross-platform,object oriented scripting language.Javascript consists a core set of objects, such as Array,Date and Math,and a core set of language elements such as operators,control structures,and statements.Core javascript can be extended for a variety of purposes by supplementing it with additional objects.

JavaScript is a scripting language - a scripting language is a lightweight programming language A JavaScript is lines of executable computer code A JavaScript is usually embedded directly in HTML pages JavaScript is an interpreted language (means that scripts execute without preliminary compilation) Everyone can use JavaScript without purchasing a license JavaScript is supported by all major browsers, like Netscape and Internet Explorer

17

Architecture of JavaScript Applications:

Illustrations:
Client-side javascript extends the core language by supplying objects to control a browser(Navigator or another web browser)and its Document Object Model(DOM).Server-side javascript extends the core language by supplying objects relevant to running javascript on a server .For example, server-side extensions allow an application to communicate with a relational database,provide continuity of information from one invocation to another of the application,or perform file manipulations on a server. Javascript helps us in creating applications that run over the Internet. Client applications run in a browser,such as Netscape Navigator,and server applications run on Netscape Enterprise Server. Using Javascript,dynamic HTML pages that process user input and maintain relevant data using special objects,files and relational databases can be created.

18

Features:
JavaScript gives HTML designers a programming tool - HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax! Almost anyone can put small "snippets" of code into their HTML pages

JavaScript can put dynamic text into an HTML page - A JavaScript statement like this: document.write("<h1>" + name + "</h1>") can write a variable text into an HTML page JavaScript can react to events - A JavaScript can be set to execute when something happens, like when a page has finished loading or when a user clicks on an HTML element JavaScript can read and write HTML elements - A JavaScript can read and change the content of an HTML element JavaScript can be used to validate data - A JavaScript can be used to validate form data before it is submitted to a server, this will save the server from extra processing

19

HTML:
Hypertext Markup language is designed to specify the logical organization of a document,with important hypertext extensions. This choice was made because the same HTML document may be viewed by many different browsers , of very different abilities. HTML stands for Hyper Text Markup Language An HTML file is a text file containing small markup tags The markup tags tell the Web browser how to display the page An HTML file must have an htm or html file extension An HTML file can be created using a simple text editor

Thus,for example,HTML allows you to mark selections of text as tiles or paragraphs, and then leaves the interpretation of these marked elements up to the browser. For example,one browser may indent the beginning of a paragraph,while another may leave only a blank line. HTML instructions divide the text of a document into blocks called elements. These can be divided into two broad categories- those that define how the BODY of the document is to be displayed by the browser and those that define information about the document,such as the title or relationships to other documents. The detailed rules for HTML(the names of the tags/elements,how they are used)are defined using another language known as standard generalized markup language,or SGML.

20

Working Of The Project Using HTML,JavaScript and PHP:

Agglomeration of Javascript and PHP Server sends HTML including Javascript to the client. Client fills the given form. Javascript checks for errors and warns the user. Client corrects form. Client sends the form back to the server.

PHP: Server sends HTML to the client. Client fills the form. Client sends the form back to the server.. PHP checks the form and finds the error. Server sends HTML and error message to the client. Client corrects the form ands ends and sends that data to the server.

21

SYSTEM ANALYSIS

22

Business Case and Vision

Introduction:
This document collects, defines and analyzes high-level needs, and features of the An e-Post Office System. It focuses on the capabilities of on-line postal System and why these exist a need for such a system. The details of how An e-Post Office fulfills the needs are detailed in the Features List, User Requirements Documents (URD), and Software Requirements Specifications Document (SRS).

Purpose:
The purpose of this document is to present a convincing business case, to define the executive overview of requirements of the system in terms of the needs of the end users, and to set up the vision. The primary target audience includes Administration, Customers, and Inventory.

Scope:
This e-Post Office system will be developed by the Software Engineering Division of IEG. This system will allow the customers to effectively utilize the services provided by the system. It helps customer to buy or order goods related to postal department and also utilize the services such as courier, registering for electricity vendors, selling mobile cards, etc.

23

Positioning:
Context diagram

Customer

e-Post Office System

Inventory

Administration

The e-Post Office system consists basically of three components. The customer, inventory and the administration. The customer is the most important component of the system. Different products and services are displayed on the website for the customer to access his needs. The inventory consists of number of goods available for the customer to purchase or order. It also gives an account of the business transactions performed by the customer and displays the total money in credit or debit. The administration process is taken care by the owner of the system. He governs the needs and supples the goods required by the customer. He also looks into any problems faced by the customer.

24

Problem statement:
The e-Post Office System is newly introduced into the markets. With the growing demand in

the e-business more and more products are being introduced in the system. Due to increase in the activities of the system load of the Manual system became more and it was decided to maintain the system on the computer. The problem of Improving the predictability, honoring commitments, efficiency, automation and control of Affects The impact of which is the entire system. Administration, customers and inventory. Unable to know what to commit and how to satisfy the customer. Unable to make decision regarding customer needs. A successful solution would Improve predictability, help the Administration fulfill commitments, recognize potential problems upfront, capture organization memory and expertise

Stakeholders:
Following Categories of stakeholders have been identified for An e-Post Office System. End Users:

Administrators Customer Inventory

25

Developers:

Software Engineering Division and Coding Team, IEG.

Maintenance Personnel: Evaluators and Approvers:

Software Engineering Division and Coding Team, IEG.

Administrators customers Mentors

End User Profiles:


Administrators: Description Individuals or groups who are interested in blending business and technical expertise of organization to Type Responsibilities meet the organization goals and market expectations Organization focused user Preparing the various goods and services requested by the customer and delivering them to the Success Criteria customer. To make the availability of various goods and services to the customer at the door step. To satisfy the customer. Involvement Requirements Specifies

26

Customer:
Description Persons who is placing the order.

Type Responsibilities Success Criteria Involvement

Registered customers Place the orders and pay bill on line. To utilize the services provided by system unto the maximum extent. Requirements Specifier

Vision of the project:


The system offers a variety of services in a variety of areas such as postal and general requirements of the customer. The e-Post Office is the shopping portal of the world renowned postal service on the Internet and an additional distribution channel. It sells Stamps, Post Cards, Packets, Cartons and has services like courier, registering for electricity vendors, selling mobile cards, etc. Under this website many products and services can be ordered , that are also available in a "normal" branch. The product prices are identical with the prices of their normal branches.

Scope of Initial Release:


The entities that perform action will be the actors for the e-Post Office System are Website Administrator Accountant Record administrator Customers

27

The primary business flows in the system are:

Manage the services provided by the system. Manage and update the records of the customers To introduce new services and goods as per the customer needs.

Limitations:
Initial releases have limited functionalities and usability. Full-fledged system will have the functionalities listed and be extensible and usable.

28

Software Requirements Specification


Overview:
The Software Requirements Specification (SRS) begins the translation process that converts

the software requirements into the language the developers will use. The SRS draws on the use-cases from the User Requirement Document (URD) and analyzes the situations from a number of perspectives to discover and eliminate inconsistencies, ambiguities, and omissions before development progresses significantly under mistaken assumptions. 1) Problem/Requirement Analysis The process is order and more nebulous of the two, deals with understand the Problem, the goal and constraints. 2)Requirement Specification Here, the focus is on specifying what has been found giving analysis such as representation, specification languages and tools, and checking the specifications are addressed during this activity. The Requirement phase terminates with the production of the validate SRS document. Producing the SRS document is the basic goal of this phase.

ROLE OF SRS:
The Purpose of the Software Requirement Specification is to reduce the communication gap between the clients and the developers. Software Requirement Specification is the medium though which the client and user needs are accurately specified. It forms the basis of software development. A good SRS should satisfy all the parties involved in the system.

29

Introduction:
This Software Requirements Specification provides a complete description of all the functions and specifications of the Internet services in the departments of e-post office. This is fully

secured project. The buyers and sellers who will use this system, should utilize this system according to their services and works. This is an online Internet system.

Purpose:
The purpose of this document is to describe all external requirements for the Internet System. It also describes the interfaces for the system.

Scope:
This document is the only one that describes the requirements of the system. It is meant for the use by the developers, and will also by the basis for validating the final delivered system. Any changes made to the requirements will have to go through a formal change approval process. The developer is responsible for asking for clarifications, where necessary, and will not make any alterations without the permission of the client. Some of the special services are given to the some authorized persons. The information is collected from the post office. Some of the authorized persons create new database entry, update an existing database entry. The data will be held in an Access database on the departmental server.

30

Interface Requirements:
This section defines the parameters that the software product must follow while interacting with the outside world.

User Interfaces:

Lo Re Me Or Ca Co hel Err

gin screen

gistration screen

nu selection screen

der entry screen

talog Information screen

ntact Information screen

p screen

or Messages

Hardware Interfaces Server configuration:


Minimum 1GB Hard Disk P-III processor or equivalent RAM 256 MB Windows or Linux with Apache preloaded Client Configuration: PHP.ini , HTTPD.conf,

PG_HBA.conf, PostGresSQL.conf A terminal with Internet Explorer and a Printer Operating System -- Red Hat Linux9 31

Software Interfaces Language


Database Network

-- PHP5 --PostgresSQl -- LAN

Communications Interfaces

Presenting Internet,LAN,WAN connectivities. The protocols required to communicate is TCP/IP and HTTP.

Functional interfaces of the project


Functional Requirements are those that refer to the functionality of the system about the services it will provide to the user. Nonfunctional Requirements pertain to other information needed to produce the correct system and are detailed separately. Following is a list of functionality of the system. Users of the system : Customer is the user of the system. An administrator of the website is the super user. When the user types in the URL of the website, a Welcome page is shown which has a menu on the left hand side, a banner at the top and any related links to other sites. This site contains an online catalog for the user. User has to login to Welcome Page before ordering anything. Login functionality should check the authenticity of the user from the database.

32

Menu should contain following screens


Registration Screen If the user is not registered, then registration screen should be available

Stamps and Bulk Stamps Order This screen will show all the types of Stamps with their values and minimum quantity that should be ordered. On selecting any one of the Stamp type, user is shown the columns for the quantity to be entered. After entering the quantity, price is automatically set by the system based on the product price data. On adding to catalog,inventory check is made and appropriate action is taken. Letter Order This Screen will show different types of letter which can be ordered online. Provide an image for each type of letter. On selecting any one of the Letter type, user is shown the columns for the quantity to be entered. After entering the quantity, price is automatically set by the system based on the product price data. On adding to catalog,inventory check is made and appropriate action is taken. Catalog Information This screen contains the information about the orders for the user. It gives total value of the order together with individual items ordered. On ordering, the validation about users credit is made. Credit information can be kept in the database for the sake of simplicity. Once the order is accepted, inventory is updated and shipment entry is made in the database. Once the shipment is done, shipment status is updated.

Terms and Conditions A Brief text on the website explaining terms and conditions and printable copy of it. Contact Information Contact information regarding the office addresses with phones and faxes are provided on this screen

33

Nonfunctional Requirements
Performance Requirements System can withstand even though many no. of users requested the desired service. As we are keeping College level server of the College Information System And access is given to the only registered users of college who requires the services of Registration, Library ,accountants etc., it can withstand the load. By incorporating a robust and proven RDBMS (postgreSQL) into the system, reliable performance and integrity of data is ensured. There must be a power backup for server system

Safety & Reliability Requirements

Security Requirements

Sensitive data is protected from unwanted access by users appropriate technology and implementing strict user-access criteria.

Software Quality Attributes

Menu-Driven Programs with user friendly interface with simply hyper links. It is very easy to use. Backup mechanisms are considered for maintainability of the software as well as database. As it is object oriented, re usability exists. As project is based on MVC architecture, testability exists.

34

State Transition Diagram

35

Activity Diagram

36

Class Diagram:

37

Sequence Diagram

38

User Requirements Document


Overview :
An e-Post Office System is an application of the online Postal Service to the both private and business customers. Its target user group mainly consists of general public.

Customer

Purpose

The Government is planning to implement every operation of Post Office as online (i.e couriers, telegram and delivers) for their general public. The inventory information is an initiative step that automates whole postal service and serves as a better information generator during the on line processing.

Scope

Release 1 focuses on: Customer personal information Product information Inventory details Administrator information

39

General Requirements :

System in Context

An e-Post Office System is an independent system.This is a Web based application performs various operations of the Post Office. Takes data from the customers. Interact with the database for the data storing. Includes business logic that support inventory, payroll and Customer details.

Registration Process Product Details Odering products of

User

D A T A B A S E

Inventory Management

Accountancy

fig : System In Context

40

User Characteristics

The user types are Private customers and Business customers. The Administration has the higher authority and involve in decision making. Interaction with Customers, etc. The Private customers roles are: Registration process, Ordering of products and using the services provided

Constraints System-Wide Requirements (Received)

N/A The system will process exceptions in a consistent fashion. If the exception is a user error that can be corrected: The system displays an error message with an explanation of the mistake. The system allows the user to correct the mistake without starting over. If the exception is a rule violation that cannot be corrected: The system displays an informational message explaining the constraint to the user. The system will allow viewing the Customers record when the customer id is known. The system will allow viewing the accounting information only to the administrator. The system will automatically calculate the total amount puchased by the customer.

Rules

System-Wide Requirements (Derived):


Detailed Requirements Functional Requirements Based on the Business case and vision, following use cases have been identified for the first release.

41

UseCase Diagrams:
Registration Process :

42

Ordering Process:

Billing System:

43

Technical Requirements:

Operational Environment To run the project in the production mode, one web server and database server is needed and one operating system either Linux or Windows.. Development Environments Requires PHP parser and remaining same as Operational Environment.

44

SYSTEM DESIGN

45

High Level Design Document


Introduction:
This document collects, defines and analyzes high-level needs, and features of the An e-Post Office System. It focuses on the capabilities of on-line postal System and why these exist a need for such a system. The details of how An e-Post Office fulfills the needs are detailed in the Features List, User Requirements Documents (URD), and Software Requirements Specifications Document (SRS). The purpose of this document is to present a convincing business case, to define the executive overview of requirements of the system in terms of the needs of the end users, and to set up the vision. The primary target audience includes Administration, Customers, and Inventory. This ePost Office system will be developed by the Software Engineering Division of IEG. This system will allow the customers to effectively utilize the services provided by the system. It helps customer to buy or order goods related to postal department and also utilize the services such as courier, registering for electricity vendors, selling mobile cards, etc.

46

Context Diagram:

Event-driven, Web-based User Interface Storage subsystem Legend Application interface E-postoffice system Business Logic Application layer layer

Data Access

Personal persistent data repository

47

System Description

Customer: Private customer and business customers can order the selected products of the postal service online quickly and comfortably. Can see the no .of transactions performed by him.

Administrator: To Maintain up to date record of inventory details. To maintain the prices of the available stock such as Stamps, Post Cards, Packets, Cartons To offer services like courier, registering for electricity vendors, selling mobile cards, etc.

Scope:
This project is a distributed endeavor that strives to employ languages that promote platform independence and make it possible to support desktop and laptop systems in traditional and wireless networking infrastructures. Efforts must be focused on business logic issues rather than needlessly duplicating user interface software, database software, etc. Its main focus is on the generation of reports at any time.

48

Success Criteria:
This system automates the Managerial functions of an e-post office system with various features with-in less time and effective manner. This system sophisticates the transactions of an e-post office system rather than the manual process. We believe that once the organization choose to use this system will eventually recognize the value and necessity of this system and understand the negative consequences of not using the system. Naturally, this system will be successful.

Constraints:
There must be high end system to load software and to maintain database and to get orders.

Technical Constraints:
Linux/Windows System with Apache server configured for execution of PHP coding. Postgres Sql database is required.

Architectural Requirements :
Portability The system must be easily portable to a wide array of platforms using various

operating systems. Porting the software from one operating system to another should not require more than 5% of the code to be changed. Similarly changing the backend database should not require more than 5% of the code to change. Extensibility/Reuse The software should be extensible in order to add new features without affecting the base modules. The new releases of the system should maximize the reuse of solutions developed in earlier releases.

49

Ease of use The system must be easy to use without requiring users to memorize

commands, special terms, or notations. A new user should not require more than one hour of training to get comfortable using the system.

System Architecture:
We have elected to represent the architecture of this system with a use case view, logical view, package view and architectural patterns.

Use Case View :


Following use cases are selected to be implemented in the first release of College Information System

Registration Process:

50

Ordering Process:

Billing System:

51

Logical View:

User Interface Legend Application Layer Dependency Data Access

Business Logic

52

Package View :

Business Logic :

53

Architectural Analysis:
As MVC Architecture is used for the system, it is easy to maintain quality and business requirements of the user. Utility Tree Speed system. Accuracy As calculations are done by the system itself, high level of accuracy can be maintained up to the desired decimal point. Maintainability System is looking into frequent backup and recovery mechanisms, maintainability is high. Compatibility As it is Client/Server System, an ordinary browser can be used at client side with the minimum requirement specified in SRS. Optimization of Resources As it is automated system so many hard copies need not be maintained so that man power can be reduced. Architectural Decisions: User Interface Business Logic Interactions Issue/Decision: Employ the MVC architecture As it is automated system for post office system , it is definitely faster than the manual

54

Rationale:
MVCs inherent separation of concern encourages many-to-many relationships among the components, which supports reuse. MVC provides a natural set of boundaries which help reduce dependencies and interactions, and thus lowers the difficulty for the evolving group of developers to understand the software. MVC can be used with PHP. Different View components of MVC can be substituted for one another. MVC thus defines an ideal set of boundaries for the switch between the differing user interface libraries of PHP, or the different user interface libraries of the PC. The Model components of MVC help identify the business data to be stored in a database.

Business Logic - Database Interactions :


Issue/Decision The database access is organized as follows: Model classes that exist as data in the database manage their own creation, modification, deletion, and viewing. Model classes are responsible for enforcing constraints about the content of the database. The database constraint-checking mechanisms are not used; However, Model classes can rely on the database executing cascading deletes on all parent-child table relationships. Model classes are responsible for starting and ending database transactions (start, commit/rollback commands).

55

Model classes rely on two translation layers: Broker which creates SQL statements for them and manages the connection with the database system (open, close). The Broker ensures that one connection is shared among all Model classes. Platform-specific data services API. The communication uses plain data structures as parameters to minimize the knowledge about the objects needed in the database access layers.

Rationale:
Isolate SQL knowledge in one place. Allow replacement of the storage mechanism without affecting UI, Control, or Business classes. Minimize portability issues from PHP. User Interface Rules Issue/Decision The user interface will employ the same features across all platforms and programming languages. Since the application is operated in web-based environment..

56

Rationale: Portability and extensibility with reuse both argue in favor of minimizing differences, even at the expense of not using nice-to-have, but non-standard features. Usability is enhanced for the users who may employ the product on different platforms at the same time, or by switching from one to another.

Constraint Verification Pattern:


Issue/Decision The user interaction is organized as follows:

The View and Control classes check constraints on the data at the point of entry. For example, the classes will verify the validity of a date that is entered. The View and Control classes also check specific business constraints by calling the Model classes. For example, if a User name must be unique among a set of objects, the Model classes provide operations that can check this uniqueness.

The Model classes always re-verify all constraints before they permanently store the data in the database. Rationale Allow the user interface to intercept errors as soon as possible before a user enters many erroneous data. Keep the constraint verification logic in one place. Protect the database from corruption even if the View and Control classes fail to call the appropriate checks in the Model.

57

Logical Database Design

Overview:
This document defines what data are stored and how they are organized. Its purpose is to clarify what all developers involved in database access can expect from the database. The Logical Database Design evolves from the conceptual database design represented by the class diagrams in the Software Requirements Specification. It, in turn, is the basis for the Physical Database Design, which takes into account the practical constraints that the Logical Database Design does not (i.e., the limitations of the platform or technology chosen for the software development and deployment). The Logical Database Design presents the data in normalized form. Any denormalization occurs as part of the Physical Database Design.

Scope:
The database supports the management of Customers Details,Inventory Details,Services Details.

58

Table Definitions : Table Definitions of Customer Registration:


Table No.: Table Name: 1

Registration

Table Description: This table contain the personal information of the customer. Seq. # Column Column Column PK/FK Null/ Remarks Name Description Type ? Not Null 1 fname Firstname Varchar 2 lname Lastname Varchar 3 mailadd Mailing address Varchar 4 permadd Permanent address Varchar 5 zipcode Zipcode Numeric 6 country Country Varchar 7 pnumber PhoneNumber Numeric 8 email Mail Id Varchar PK notnull 9 username Username Varchar Constraints: Primary Key:email Foreign Key: Table No.: Table Name: Table Description: 2

Login

This table contain the username and passwords of registered customers and adminstrator Seq. # Column Column Column PK/FK Null/ Remarks Name Description Type ? Not Null 1 username Username Varchar PK 2 password Password Varcahr 3 id Id Varchar

59

Table Definitions of Product:


Table No.: Table Name: Table Description: Seq. # Column Name 1 sname 2 3 4 sid price quanty Stamp1

Stamps
This table contains information about various stamps ordered. Column Column Type PK/FK Null/ Remarks Description ? Not Null Name of the Varchar(20) Not Null product Unique Varchar(10) Not Null identifier Price Double Not Null Total no. of integer Not Null stamps available

Table No.: Table Name: Table Description: Seq. # Column Name 1 lid 2 3 4 lname price quantity

Letters1

Letters
This table contains information about various letters ordered. Column Column Type PK/FK Null/ Remarks Description ? Not Null Unique Varchar Not Null identifier Name of the Varchar Not Null product Price Double Not Null Total no. of integer Not Null letters available

60

Table No.: Table Name: Table Description: Seq. # Column Name 1 mid 2 3 4 mname price quantity

Mobilecards1

Mobile Cards
This table contains information about various mobilecards ordered. Column Column Type PK/FK Null/ Remarks Description ? Not Null Unique Varchar Not Null identifier Name of the Varchar Not Null product Price Double Not Null Total no. of integer Not Null mobile cards available

Table No.: Table Name: Table Description: Seq. # Column Name 1 carton_id 2 3 4

Cartons1

Cartons

This table contains information about various cartons ordered. Column Column Type PK/FK Null/ Remarks Description ? Not Null Unique Varchar(20) PK Not Null 20 digit identifier alpha numeric number carton_name Name of the Varchar(10) Not Null product price Price integer Not Null quantity Total no. of integer Not Null cartons available

61

Table Definitions For Services :


Table No.: Table Name: Table Description: Seq. # Column Name 1 cid 2 3 cname Price courier1

Courier
This table contains details of couriers available . Column Column Type PK/FK Null/ Remarks Description ? Not Null Unique Varchar Not Null identifier Name of the Varchar Not Null courier Double courier2

Table No.: Table Name: Table Description: Seq. # Column Name 1 userid 2 fromaddress 3 toaddress

Courier1
This table contains details of couriers ordered . Column Column Type PK/FK Null/ Remarks Description ? Not Null userid Varchar(10) Not Null Address Varchar(50) Not Null Destination Double(50) address

Table No.: telegram1 Table Name: telegram Table Description: This table contains details of telegram services . Seq. # Column Column Column Type PK/FK Null/ Remarks Name Description ? Not Null 1 user_id Username Varchar 2 frmadd From address Varchar Not Null 3 toadd To address Varchar Not Null 4 message Message Varchar

62

Table Definitions For Billing:


Table No.: Table Name: Table Description: Seq. # Column Name 1 user_id 2 product_id 3 qty 4 5 6 price total_price datetime bill

bill
This table contains details of all the transactions till now . Column Column Type PK/FK Null/ Remarks Description ? Not Null Userid Varchar(20) Productid Varchar(20) Not Null Total quantity Integer Not Null ordered Double Double Timestamp

Table No.: Table Name: Table Description: Seq. # Column Name 1 user_id 2 product_id 3 qty 4 5 6 price total_price datetime

bill

bill1
This table contains billdetails of mobilecards purchased . Column Column Type PK/FK Null/ Remarks Description ? Not Null Userid Varchar(20) Productid Varchar(20) Not Null Total quantity Integer Not Null ordered Double Double Timestamp

63

Table No.: Table Name: Table Description: Seq. # Column Name 1 user_id 2 product_id 3 qty 4 5 6 price total_price datetime

bill

billstmp
This table contains billdetails of stamps purchased . Column Column Type PK/FK Null/ Remarks Description ? Not Null Userid Varchar(20) Productid Varchar(20) Not Null Total quantity Integer Not Null ordered Double Double Timestamp

Table No.: Table Name: Table Description: Seq. # Column Name 1 user_id 2 product_id 3 qty 4 5 6 price total_price datetime

bill

billltr
This table contains billdetails of letters purchased . Column Column Type PK/FK Null/ Remarks Description ? Not Null Userid Varchar(20) Productid Varchar(20) Not Null Total quantity Integer Not Null ordered Double Double Timestamp

64

Table No.: Table Name: Table Description: Seq. # Column Name 1 user_id 2 product_id 3 qty 4 5 6 price total_price datetime

bill

billctr
This table contains billdetails of cartons purchased . Column Column Type PK/FK Null/ Remarks Description ? Not Null Userid Varchar(20) Productid Varchar(20) Not Null Total quantity Integer Not Null ordered Double Double Timestamp

65

TESTING

66

Introduction: Scope:
This document is designed to conduct test at testing phase. This document is defined at the designing phase itself. The purpose of this is to establish testing condition for testing the efficiency of the project. The tests are conducted by the developers after developing the software. The test cases must be drawn from unit testing, system testing. The system is tested in every aspect. The tests are conducted with respect to every source. The testes are conducted both manually and automated tools.

References:
The references are generated from design stage of the project. Also taken from software requirement specification and logic database design document. The books referred are: Software Engineering Pressman

TESTING STRATEGY:
The system test plan tests each and every module of the project implemented. The testing includes black-box testing and white-box testing. The phase of testing includes testing of all the possible inputs and their logic. In this context black-box testing and white-box testing are used to determine the appropriateness of the application implemented. In black-box testing all possible inputs are given to the system for their validity. The lower and upper bounds of the system can be found by this testing. In white-box testing the logical modules are tested under many circumstances. The project is validated based on the white-box testing only. A detailed study of this testing is maintained in the tables below:

67

Test Condition ID Us-01

Description Of Coverage

Expected Results

Covered By Scripts The implementation is in MVC, so all the validations are done in the view program.

It verifies for a valid ID If valid, services are and password for the provided or else denied. user This is tested in program which has many constants to check all the inputs and their data types It verifies for a valid ID If valid, services are and password for the provided or else denied. administrator This is tested in program which has many constants to check all the inputs and their data types

Us-02

The implementation is in MVC, so all the validations are done in the view program.

Integration Test Plan:


It is the phase of software testing in which individual software modules are combined and tested as a group. It follows unit testing and precedes system testing. Integration testing takes as its input modules that have been unit tested,groups them in larger aggregates,and delivers as its output the the integrated system ready for system testing Different incremental integration strategies are topdown integration, bottom-up integration, regression testing.

68

Validation testing:

Testing is a major quality control measure employed during software development. Its basic function is to detect errors. Sub functions when combined may not produce than it is desired. Global data structures can represent the problems. Integrated testing is a systematic technique for constructing the program structure while conducting the tests. To uncover errors that are associated with interfacing the objective is to make test modules and built a program structure that has been detected by design. In a non-incremental integration all the modules are combined in advance and the program is tested as a whole. Here errors will appear in an endless loop function. In incremental testing the program is constructed and tested in small segments where the errors are isolated and corrected.

Test Condition ID Administrator

Description Of Coverage The administrator will be checked for his validity. If he is a valid user then he can use the services provided to him like updating the inventory, viewing all the transactions of various users. The user will login using a unique id and password.

Expected results It refers to viewing and updating the various products inventory in the data base

Covered By Scripts The implementation is in MVC, so all the validations are done in the view program.

User

After getting logged in, the user will use his services like buying the products, telegrams and courier and checking his previous transactions

The implementation is in MVC, so all the validations are done in the view program.

69

Unit Testing:
This is a procedure used to validate the individual modules or units of source code are working properly.(in which each unit (basic component) of the software is tested to verify that the detailed design for the unit has been correctly implemented )( tests the minimal software component and sub-component or modules by the programmers or developers) In a Procedural Design a unit may be an individual program, function, procedure, web page, menu etc. But in Object Oriented Design, the smallest unit is always a Class; which may be a base/super class, abstract class or derived/child class. Here the module will be treated as a black box, which will take some inputs and generate output. Outputs for a given set of input combination are precalculated and are generated by the module.

Test Condition ID View details

Description Of Coverage This module allows the admin to view the details of all the transactions by various users.

Expected results The details includes the various products and services and also the transactions made by the user.

Covered By Scripts The implementation is in MVC, so all the validations are done in the view program. The implementation is in MVC, so all the validations are done in the view program.

Login

The authentication of If the users are valid both the user and admin they are allowed to use will be checked here. their services else denied.

70

Black box testing:

Black box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure. This method of test design is applicable to all levels of software testing: unit, integration, functional testing,system and acceptance . The higher the level, and hence the bigger and more complex the box, the more we're forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, you can't be sure that all existent paths are tested.

71

FORMS AND REPORTS

72

Home Page :

73

Registration Form:

74

Username And Password Form :

75

Admin Log:

76

Stamps Inventory:

77

Courier:

78

Telegram:

79

All Transactions :

80

Customer Login:

81

Stamps :

82

Bill:

83

User Transactions :

84

Credit Card Details:

85

UserFeedBack Form:

86

CONCLUSION

An e-Post Office System is developed by a team in an effort to provide an on line postal services for the user. The vision of e-Post Office is a step towards the greater mission. This module ensures those flexibility and efficiency of the postal services on line. The project is also designed as user friendly as it is easy to use the user interfaces. Sitting at home a common man can view all the services provided to him.

87

TABLE OF CROSS REFERENCE FIGURE


1.1 1.2 1.3 1.4 1.5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9

PAGE No.

Relationship Between Model, View, Controller Objects------------------------------10 State Transition Diagram------------------------------------------------------------------35 Activity Diagram---------------------------------------------------------------------------36 Class Diagram------------------------------------------------------------------------------37 Sequence Diagram-------------------------------------------------------------------------38 HomePage-----------------------------------------------------------------------------------73 Registration Form--------------------------------------------------------------------------74 User name and Password Form----------------------------------------------------------75 Admin Log----------------------------------------------------------------------------------76 Stamps Inventory---------------------------------------------------------------------------77 Courier---------------------------------------------------------------------------------------78 Telegram-------------------------------------------------------------------------------------79 All Transactions-----------------------------------------------------------------------------80 Customer Login-----------------------------------------------------------------------------81

1.6 UseCase Diagram---------------------------------------------------------------------------42

2.10 Stamps---------------------------------------------------------------------------------------82 2.11 Bill-------------------------------------------------------------------------------------------83 2.12 User Transactions--------------------------------------------------------------------------84 2.13 Credit Card Details------------------------------------------------------------------------85 2.14 User FeedBack Form----------------------------------------------------------------------86

88

BIBLOGRAPHY BOOKS:
1. Software Engineering process by Frederick P.Brooks. 2. Essential PHP for web professionals by Christopher Cosentino. 3. Postgresql by Peter Eisentraut. 4. Designing and maintainable software by Dennis Smith. 5. Software Engineering by Roger S.Pressman, Mc Graw Hill, Third Edition.

SITES VISITED:
1 1 1 1

PHP:
www.scitw/v.ac.uk/vjphb/sst/php/ www.dynamic-apps.com/phpintroduction.jsp

JAVA SCRIPT:
11 11 11 11

www.w3schools.com www.wp.netscape.com/eng/mozilla/3.0/handbook/javascript/

POSTGRESQL:
www.pgsql.com www.postgresql.org/docs

89

You might also like