You are on page 1of 136

[APPLICATION DEVELOPMENT]

Subject : Application Development [SCJ 2103]


Lecturers:
1. Prof. Dr. Ghazali Sulong
2. Assoc. Prof. Dr. Mohd Shafry Mohd Rahim
3. Dr. Mohd Murtadha Mohamad

[APPLICATION DEVELOPMENT]

PREFACE

This final report is made tu fulfil requirements for Application Development subject.
E-TBH is developed for the use of The Bakery Houze itself. It is developed to overcome the
problem of high customer demands which prefer to purchase online.

The system is

developed with the use of prototype approach, while the analysis and design is object
oriented used as developing metadology. Apart from that, the system is using Prestathop with
PHP (Hypertext Preprocessor) programming language. The system caters for various online
tasks like management of purchase, stock monitoring and many more. It is hope that the
system will help The Bakery Houze in its management to achieve their vision and mission.

[APPLICATION DEVELOPMENT]
ACKNOWLEDGEMENT

We would like to thank below lecturers from Malaysia Technology University (UTM) for their
valuable comments during the development of our system.

1. Prof. Dr. Ghazali Sulong


2. Assoc. Prof. Dr. Mohd Shafry Mohd Rahim
3. Dr. Mohd Murtadha Mohamad

And finally, we would like to thank to our families and friends for all the support and
encouragement.

Table of Contents
1.

Software Proposal...................................................................................................10

[APPLICATION DEVELOPMENT]
1.1

Introduction.............................................................................................................10

1.

Description..........................................................................................................10

21.

Objectives............................................................................................................ 11

31.

Scope.................................................................................................................. 11

1.2

Modules.................................................................................................................. 12

1.3

Scope of Works.......................................................................................................13

1.3

Roles and Responsibilities..................................................................................13

21.3

Project Estimates................................................................................................16

31.

Project Plan.........................................................................................................16

41.3

Project deliverables.............................................................................................16

1.4

Software Requirements...........................................................................................16

1.5

Work Schedule........................................................................................................17

2.

Software Requirement Specification (SRS).............................................................19

2.1

Introduction.............................................................................................................20

12.

Purpose............................................................................................................... 20

2.1

Document Conventions.......................................................................................20

32.1

Scope..................................................................................................................21

42.1

Reference............................................................................................................ 22

2.2

Overview.................................................................................................................22

2.3

Overall Description..................................................................................................23

12.3

System Perspective.............................................................................................23

2.3

System Features.................................................................................................24

32.

User Classes and Characteristics........................................................................26

42.3

Operating environment........................................................................................27

52.3

Constraints.......................................................................................................... 27

62.3

System modules..................................................................................................29

Use Cases......................................................................................................................... 29
a)

Update customer details..........................................................................................29

b)

View order............................................................................................................... 30

c)

View stock............................................................................................................... 31

d)

Update Order.......................................................................................................... 32

e)

Process order..........................................................................................................33

f)

Update details.........................................................................................................34

g)

View Catalogue.......................................................................................................35

h)

Place order.............................................................................................................. 36

[APPLICATION DEVELOPMENT]
i)

Register................................................................................................................... 37

j)

Make Payment........................................................................................................38

72.3

Sequence Diagram..............................................................................................39

82.3

Activity Diagram..................................................................................................41

92.3

Functional requirement........................................................................................43

12.30

Non-functional requirement.................................................................................47

3.

Graphical User Interface (GUI)................................................................................50

3.1

Introduction.............................................................................................................50

13.

Purpose............................................................................................................... 50

23.1

Scope..................................................................................................................50

3.1

Overview.............................................................................................................51

3.2
13.2

Overall Description..................................................................................................54
User Interface Model...........................................................................................54

3.

Specific GUI Flow Diagram.....................................................................................55

4.

Software Design Description (SDD)........................................................................64

4.1

Introduction.............................................................................................................65

14.

Purpose............................................................................................................... 65

24.1

Scope..................................................................................................................65

34.1

Overview.............................................................................................................66

4.2

Technical platform...................................................................................................66

14.2

Hardware Requirements......................................................................................66

24.

System software..................................................................................................67

34.2

System interface..................................................................................................67

4.2

Design language.................................................................................................70

4.3

System Architecture...............................................................................................70

4.4

Software Domain Design.........................................................................................72

14.

Structure.............................................................................................................. 72

24.

Classes...............................................................................................................74

4.5

Activity and sequence diagrams..............................................................................78

5.

Database Design Documentation (DDD).................................................................97

5.1

Introduction.............................................................................................................97

15.

Purpose............................................................................................................... 97

25.1

Scope..................................................................................................................97

5.2
15.2

General Information................................................................................................98
System Overview................................................................................................98

[APPLICATION DEVELOPMENT]
25.

Entity Relationship Diagram (ERD).....................................................................99

5.2.3 Project References................................................................................................106


5.2.4

Acronyms and Abbreviations................................................................................106

5.2.5 Points of Contact...................................................................................................107


5.3

Database Identification and Description................................................................107

15.3

Naming Conventions.........................................................................................107

25.3

Database Identification......................................................................................107

35.

System Using the Database..............................................................................108

45.3

Relationship with Other Database.....................................................................108

5.4

Schema Information..............................................................................................108

6.

Appendices...........................................................................................................135
6.1

Work Schedule- Gantt Chart..............................................................................135

6.1

Meeting Minutes................................................................................................135

6.1

Company Registration Certificate Copy.............................................................135

6.1
135

Source Codes

[APPLICATION DEVELOPMENT]
List of Tables

Table 1: Planned Work Schedule..............................................................................18


Table 2: Some of tables in DB..................................................................................107
Table 3: List Of All DB Tables...................................................................................108

List Of Figures

[APPLICATION DEVELOPMENT]
Figure 1: Proposed Business Process Model........................................................................11
Figure 2: Overall Use Case Diagram.....................................................................................23
Figure 3: Context diagram.....................................................................................................24
Figure 4: Use Case Update Customer Details....................................................................29
Figure 5: Use Case View Order..........................................................................................30
Figure 6: Use Case View Stock..........................................................................................31
Figure 7: Use Case Update Order......................................................................................32
Figure 8: Use Case Process Order....................................................................................33
Figure 9: Use Case Update Details....................................................................................34
Figure 10:Use Case View Catalogue.................................................................................35
Figure 11:Use Case Place Order........................................................................................36
Figure 12: Use Case Register............................................................................................37
Figure 13: Use Case Make Payment..................................................................................38
Figure 14: Sequence Diagram Guest Process...................................................................39
Figure 15: Sequence Diagram Customer Process.............................................................39
Figure 16: Sequence Diagram Administrator Process........................................................40
Figure 17: Activity Diagram Guest Process........................................................................41
Figure 18: Activity Diagram Customer Process..................................................................42
Figure 19: Overall Web Page GUI.........................................................................................51
Figure 20: Customer Page GUI.............................................................................................52
Figure 21: Guest Page GUI...................................................................................................53
Figure 22: Registration GUI Diagram....................................................................................56
Figure 23: Administrator GUI Diagram..................................................................................58
Figure 24: Catalogue GUI Diagram.......................................................................................59
Figure 25: Purchasing GUI Diagram.....................................................................................61
Figure 26: Inventory Status GUI Diagram.............................................................................63
Figure 27: System Interface GUI...........................................................................................67
Figure 28: System Architecture.............................................................................................71
Figure 29: Class Diagram.....................................................................................................72
Figure 30: State Diagram......................................................................................................73
Figure 31: Sequence Diagram For Register..........................................................................78
Figure 32: Activity Diagram For Register...............................................................................80
Figure 33: Sequence Diagram For Login..............................................................................81
Figure 34: Activity Diagram For Login..................................................................................83
Figure 35: Sequence Diagram For Catalogue......................................................................84
Figure 36: Activity Diagram for Catalogue............................................................................85
Figure 37: Sequence Diagram for Add to Cart....................................................................86
Figure 38: Activity Diagram for Add to Cart.........................................................................87
Figure 39: Sequence Diagram for Checkout & Payment....................................................88
Figure 40: Activity Diagram for Checkout & Payment.........................................................90
Figure 41: Sequence Diagram for Report..........................................................................91
Figure 42: Activity Diagram for Report...............................................................................92
Figure 43: Sequence Diagram for Order Status..................................................................93
Figure 44: Activity Diagram for Order Status.......................................................................94
Figure 45: Sequence Diagram for feedback.......................................................................95
Figure 46: Activity Diagram for feedback............................................................................96
Figure 47: Entity Relationship Diagram (ERD).....................................................................99

[APPLICATION DEVELOPMENT]
Figure 48: Logical Database Design..................................................................................132
Figure 49: Package Diagram..............................................................................................133
Figure 50: Deployment Diagram........................................................................................133

1. Software Proposal

[APPLICATION DEVELOPMENT]
1.1 Introduction
TheBakeryHouze.com is conceptualized as an online shopping site where internet
visitors can expect to find various delicious bakery choices. Users coming to the site can
order products cart sold by TheBakeryHouze.com through a shopping cart. For ease of use,
the site will have search capabilities to assist visitors in finding relevant information
throughout. Other interactive features will include a chat room, message board and online
polls which all no-cost back-end solutions. It is the intent that the host for the site will have
the ability to provide auto-response email to visitors who shop online. Overall goals of the
look and feel will be to keep the interface simple, easy to navigate, and content oriented,
without being overwhelming. The aesthetic should convey TheBakeryHouze.com as
trustworthy, professional, knowledgeable, caring and friendly. As TheBakeryHouze.com is a
start-up, there is a goal of keeping costs to a minimum while not sacrificing functionality.

1.1.1

Description

Nowadays internet gives the big impact and support for the online shop. In the
modern life nowadays more client are prefer to use online shop to save their cost , time and
energy. The online shop services give much accommodation to client just on the tip of finger.
Therefore we came out with this idea to support the online shop with varieties services in
online food shop with homemade bakery. This website is intend to offer

online bakery

business .We are specific food in bakery category such as biscuits, cakes and bread with
variety taste and choices. TheBakeryHouze.com is the one of service that easy to deal with
and a fast serve too. This service provided to consumer who is busy and no time to deal with
people for face to face and they want to provide food for their event and occasion. With the
online service, the consumer can make an order anytime and anywhere when they free to do
so. Therefore, this website helps these people to save their time and energy. Besides, the
online food shop also provide the fast delivery service for the immediately event such as
meeting and Hi-Tea party. We also provides a service to send a delivery to who you want to
such as parent, friends and your love with greeting card and sweet greets.

Existing Systems Process Flow

Here is a flow chart of the process used in TheBakeryHouze system. The business process
model is B2C (business-to-customer).
10

[APPLICATION DEVELOPMENT]

Figure 1: Proposed Business Process Model

1.1.2

Objectives

Below are main objectives of TheBakeryHouze.com:

To supply fresh homemade bakery for event and occasion such as party, meeting and
others.

To ease the consumer to make order anytime and everywhere they want to.

To ease the consumer to buy bakery products anytime at their convenience

To accommodate consumer to request for the delivery to any nearby locations

1.1.3

Scope

The central concept of the application is to allow consumer to shop virtually using the
Internet and allow them to buy products of their desire from the TheBakeryHouze.com.
Below are the identified scopes which define the boundary of the project and to ensure that
the objectives can be achieved, namely:

Research and analysis carried out on online Bakery shoppe system and business
model.

The system is developed which allows the web-based management of users to


process.

Target consumer is the owner of the bakery shoppe and their customers.

11

[APPLICATION DEVELOPMENT]

1.2 Modules
TheBakeryHouze will be developed in simple, user friendly interface and easy to use.
The system was developed based on these modules:

Module

Description

Registration

Administrator

Catalogue

Purchasing

Each guest will fill the necessary information through the online
registration form to be a registered customer (returning customer).
This facilitates the customers an easy way to do payment process as
their details information being kept in the database.
Registered customer will able to view all transaction history.
This module will control, administer and manage user profile, sales
information, review feedback, product details and inventory flow.
The administrator can view stock and ensure that the products sell are
always available.
They also can ensure that information received by the customer is
accurate.
The administrator will also update the status of the products purchased.
(payment confirmed, delivered)

This module will display all the products for sale by category.
Each of the products displayed will be given a description details
Customers can choose the product based on the category with various
brand at different prices.
Guest can choose products and insert to their shopping cart before
login.
Guest will only need to login(returning customer) or create new account
(if new customer) during payment process

This module will list the items purchased and the payment process.
Purchasing module provides payment options through Internet Banking
either direct debit or credit card.
For the delivery process, customers can decide whether the products to
be sent to the registered address or other address.

12

[APPLICATION DEVELOPMENT]
Inventory Status

This module will show the movement of products.


Admin will monitor the product inventory level.

1.3 Scope of Works


1.3.1

Roles and Responsibilities

The following table describes each portion of our project that needs to be done.
Role
Project Manager

Quality Assurance

Responsibility

Analyzes and documents current processes

and workflow.
Creates project plans and schedules.
Assigns task responsibilities to project team

members.
Manages internal and external client

expectations.
Tracks progress of projects.
Identifies, assesses and minimizes project

risks to successful project completion.


Tests products and processes to establish

functionality and effectiveness.


Determine what modifications are needed

after testing.
Designs, develops and reviews test

processes.
Develops and plans change

implementation.
Documents results and observations after

inspections and audits.


Coordinate system development tasks to

Manager

Software Engineer

include design, integration and formal

testing.
Oversees all transitions into production.
Develop and complete actions in system
specifications, technical and logistical

requirements and other disciplines.


Create and maintain programmatic and
technical documentation to insure efficient

13

Participants
Azura

Faizah

Julianawati

[APPLICATION DEVELOPMENT]

Database

planning and execution.


Manage and document system

configurations.
Develops new applications from beginning

to end.
Maintains existing applications.
Innovates data visualization and

presentation techniques.
Creates code that meets system standards.
Analyzes methods to efficiently address

software system requirements.


Design and document database

architecture. Data Modeling.


Design Data Warehousing and Business

Intelligence platform.
Build database scheme, tables, procedures

and permissions.
Set up data sharing and disk partitioning.
Develop database utilities and automated

reporting
Create shell scripts for task automation.
Create, test and execute data management

languages.
Analyze and sustain capacity and

performance requirements.
Analyze, consolidate and tune database for

optimal efficiency.
Monitor systems and platforms for

availability.
Oversee backup, clustering, mirroring,

replication and failover.


Restore and recover corrupted databases.
Install and test upgrades and patches.
Implement security and encryption.
Provide 24/7 support for critical situations.
Evaluate and recommend new database

Administrator

technologies.

14

Asyraf

[APPLICATION DEVELOPMENT]
System

Create, test and execute data management

languages.
Analyze and sustain capacity and

performance requirements.
Analyze, consolidate and tune database for

optimal efficiency.
Monitor systems and platforms for

availability.
Oversee backup, clustering, mirroring,

replication and failover


Restore and recover corrupted databases
Install and test upgrades and patches
Implement security and encryption
Provide 24/7 support for critical situations

Administrator

1.3.2

Azura/Asyraf

Project Estimates

The time frame and effort estimates are the basis of this project schedule.
1.3.3

Project Plan

The table below is a list of major milestone for e-TBH and detail activities on every
project phases.
Milestone Name

Deliverables

1. Software Requirements

Establish SRS Ducument

2. Software Design

Establish detail GUI, SDD and DDD

3. Development, Test and Integration

Prototype and Application Demo

4. Final Report and Documentation

Establish Report

1.3.4 Project deliverables


Over the course of this project, several different documents will be delivered:
15

[APPLICATION DEVELOPMENT]

No.

Deliverables

Project Proposal Document

Software Requirements Specification (SRS)

Graphical User Interface Documentation (GUID)

System Design Document (SDD)

Database Design Document (DDD)

Minutes Of Meeting

Source Code

User Manual

Final Project Report

1.4 Software Requirements


Software
PHP*
MySQL**

Recommended

Minimum

5.2 +

4.3.10

4.1.x +

3.23

Supported Web Servers:


Apache***
(with mod_mysql,
mod_xml,
and mod_zlib)
Microsoft IIS****

2.x +

1.3

1.5 Work Schedule


Overall project length is expected to be between 19 and 20 weeks worth of work, depending
upon the number of revisions required, and is contingent on the clients provision of content
and availability for approval. All attempts will be made, however, to accomplish the dateline.
Should a date fail to be met, the timeline below will be revised to reflect the change. Work
Schedule is very important to ensure that all phases of the development takes place within
the time specified and the system can be completed on schedule system development. The
phases involved are: 16

[APPLICATION DEVELOPMENT]

Requirements Analysis
System Analysis
System Design
Module Development
Integration testing
System Testing
Documentation

TheBakeryHouze System Development


Month
No.

Fasa

Requirements
Analysis

System Analysis

System Design

Sept 2012

Oct 2012

Module
Development

Integration Testing

System Testing

Documentation
Table 1: Planned Work Schedule

17

Nov 2012

Dec 20

[APPLICATION DEVELOPMENT]

2. Software Requirement Specification (SRS)


Revision History

Date

Version

15-October-2012

1.0

16-October-2012

1.0

17-October-2012

1.0

Description
SRS format
Change Use cases,
sequence diagram
Update Introduction and
Overview Part

Author
Azura
Faizah

Azura

Update overview, overall


description, system
perspective, system
18-October-2012

1.0

features, user classes


and characteristics,
operating environment,
constraints

18

Azura

[APPLICATION DEVELOPMENT]

Update Functional
19-October-2012

1.0

Requirements and Non

Azura

Functional Requirements

Update System Modules:


19-October-2012

1.0

User case, sequence

Faizah

diagram, activity flow,


use case flow of events

Compile and checking


20-October-2012

1.0

the SRS consistency and

Azura/Faizah

integrity
12-December-2012

2.0

Revised SRS

19

Azura/Faizah

2.1 Introduction
2.1.1

Purpose

To obtain a thorough and detailed understanding of the system requirements and to


break it down into function and nonfunctional requirement which are then clearly defined.
During SRS, it serves as an input to the design specification (parent document to
subsequent documents), design constraints, and other factors necessary. Its also
providing the foundation for all future design and development efforts. Upon completion,
this document will act as a common point of reference for system expectations.

Project ID

E_TBHS_V1.0

Project Name

E-TheBakeryHouze System (e-TBH)

Brief Description of Project

A web based application for online bakery shop

2.1.2

Document Conventions

Abbreviaton
s
e-TBH
CASE
GUI
UAT
FS
NFS
SRS
SLA

Descriptions
- TheBakeryHouze Online System
- Computer Aided Software Engineering
- Graphical User Interface
- User Acceptance Test
- Functional Specification
- Non Functional Specification
- System Requirement Specification
- Service Level Agreement

PHP

- Hypertext Pre-processor is general-purpose server-side


scripting language originally designed for web development to
produce dynamic web pages.

HTTP

- Hypertext Transfer Protocol is a transaction oriented


client/server protocol between a web browser & a Web Server.

HTTPS

- Secure Hypertext Transfer Protocol is a HTTP over SSL


(secure socket layer).

TCP/IP

- Transmission Control Protocol/Internet Protocol, the suite of


communication protocols used to connect hosts on the Internet.
TCP/IP uses several protocols, the two main ones being TCP
and IP

2.1.3

Scope

This system specifically developed for use in TheBakeryHouze that would automate
its bakery product sales. Below are the identified system scopes:
Initial functional requirements will be:

Browsing through the Internet browser to see the items that are there in by category.

Adequate searching mechanisms for easy and quick access to particular products and
services.

Secure registration and profile management facilities for Customers.

Creating a Shopping cart so that customers can shop n no. of items and checkout finally
with the entire shopping carts.

Regular updates to registered customers of the e-TBH about new arrivals.

Uploading Most Purchased Items in each category of products in the e-TBH.

Maintaining database of regular customers of different needs.

e-TBH Administrator are responsible for internal affairs like processing orders, assure
home delivery, getting customer's delivery-time feedback, updating order's status and
answering client's queries online.

Feedback mechanism, so that customers can give feedback for the product or service
which they have purchased. Also facility rating of individual products by relevant
customers.

Adequate payment mechanism and gateway for all popular credit cards, cheques and
other relevant payment options, as available from time to time.

Initial non functional requirements will be:

Secure access of confidential data (users details). SSL can be used.

24 X 7 availability

Better component design to get better performance at peak time

Advertisement space where it will effectively catch the customers attention and as a
source of revenue.

More payment gateways.

Dynamic price model by which prices can be changed based on demand and supply

Level Class User : Actor


For this system, the main actors are as follow:Level Class User
1. Guest

2. Customer
3. Administrator

2.1.4

Reference

IEEE SRS Format,-IEEE, IEEE Guide to Software Requirements


Specifications,ANSI/IEEE STD 830-1984.
G. Kotonya, I. Sommerville, Requirements Engineering: Processes and
Techniques, John Wiley, 1999.
Summerville, 2007. Software Engineering, 10th Edition, Addison Wesley
-Roger S.Pressman, Software Engineering A Practitioners Approach
(Fifth Edition).

2.2 Overview
Our group proposed to develop online bakery shop system which will be able to
provide a web based application that would make searching, viewing and selection of
product easier. In this hectic life, nowadays people are always on the go. They are
always searching for the way to save their time. These people are the target audience
for our business. This system was developed to provide another form of competition to
the seller. This system will provide more choices for consumers to purchase our
products online. Thus e-TBH should be user-friendly, quick to learn and reliable
software for the above purpose, Below is an overall proposed system flow for e-TBH
system.

Log in

Manage Customer Database

View Customer Detail

Manage Employee Database

Manage Transaction Database

Manage Product Database

View Feedback Review

Log in

register

View order

View catalogue

Make payment

purchase

Register, View, Update ID Customer

Views Catalogues & info item

Figure
Overall Use
Add/Update/Remove catalogue
and2:
information
item

Case Diagram
Choose item and view item cart

2.3 Overall Description


Manage/ Organize/ Arrange address customer form

Administrator
2.3.1 System Perspective

Provide address form send item

Guest
Customer

e-TBH System

address form for delivery


Context diagram below shall describe theFillsystem
perspective for e-TBH

Approve/ decline payment transaction

Make payment transaction


Approve purchase

Provide reference no.

Check status item

Figure 3:Context diagram

2.3.2

System Features
Given below is a summarized overall functional requirement base on user
level category:
Customers: Guest

Visiting /browsing the Site:


Guest can visit the site without registration.

Choosing and comparing products:


Guest can view all available products and can compare them and make a
choice for purchasing products.

Purchasing:
Guest can purchase any product through valid credit card/FPX.

Giving Feedback to Customer Care:


Guest can give feedback to the 24X7 Customer Care Service centre about
their impression for the site and services.

Registration:
Guest can register as new customer by signing up and give related details.

Customers: Returning Customer

Login:
Customer must have a valid username and password to log in as
customer into the site.

View and edit Own Details:


Customer can view/edit his personal details, payment details, and details
about services provided.

Choosing and comparing products:


Customer can view all available products and can compare them and
make a choice for purchasing products.

Purchasing:
Customer can purchase any product through valid credit card/FPX.

Giving Feedback to Customer Care:


Customer can give feedback to the 24X7 Customer Care Service center
about their impression for the site and services.

Logout:
Customer must logout from the site after purchasing process completed.

Administrator

Database Management:
E-TBH Owner can control the database and keep track of all records of
customers and Administrator details.

Advertising the Site:


E-TBH Owner will responsible for making advertisements for the site.

Consulting with Administrator:


E-TBH Owner can consult with the Administrator regarding products
quality and advertisements.
View Customer Details:
Administrator can view the personal details of the customer.

Managing Sales to Customers:


Administrator will responsible for properly allocating the selected product
according to the customers choice and delivering product to the customer.

View Product Stocks:


Administrator can keep track of each product items stocks for selling
purpose.

Product Stock Management:


Administrator will responsible for managing stocks of each product items.

Regulating Payments:
Administrator can keep track of all the payment transactions made by the
customers and update the payment information.

Consulting with Banks:

Administrator will responsible for contacting the banks for the validation of
the account number provided by the customer while purchasing and make
the transaction from the given account.
1. Getting Feedback from the Customers:
Administrator will responsible for receiving complaints, queries and
feedback from the customers.
2. Providing Solutions to Customers:
Administrator will provide feasible solutions to the customers on their
complaints and queries.

2.3.3

User Classes and Characteristics


User classes

Guest
The person who visit e-TBH System. Among activities that they can
access are register to be a customer, browse catalogue, give
feedback.

Customer
The person who has can access to e-TBH System. Among activities
that they can access are login into system and purchase product,
update their account details, browse catalogue, give feedback.

System Administrator
The person who are allow to manipulate all data in the system. S/He
also responsible to create and give access level to all system's users.

User characteristics

2.3.4

The user should be familiar with the online purchasing related


Terminology like Shopping cart/Checking out/Transaction etc.
The user should be familiar with the Internet.

Operating environment
Software Requirement

Microsoft Visio
Microsoft Project
Joomla Virtualmart, PrestaShop, PHP web language

Macromedia Dreamweaver
Others

Operation System / Server

Mac or Windows as platform


Apache as Web Server
MYSQL database

Hardware Requirements

CPU 2.0 MHZ


RAM 16 GB
Hard disk 500 GB

Network Requirements

2.3.5

LAN (Local Area Network) connection


Internet Gateway/ Internet Access & Browser

Constraints

There is no maintainability of back up so availability will get affected.


Limited to HTTP/HTTPS.
No multilingual support

The information of all the users must be stored in a database that is

accessible by the staff at e-TBH System.


The users access the e-TBH System from any computer that has Internet

browsing capabilities and an Internet connection.


Administrator must enter Username and Password to access into the e-

TBH System.
The design of the e-TBH should be modular to simplify the design and

implementation of expansions and replacements.


All functions and options of the e-TBH should be available in the least

amount of clicks, while maintaining a certain amount of structure.


The used programming language will be PHP.
The use of frameworks is enabling and allowed.

2.3.6

System modules

2.3.6.1.

Use Case

Figure 4: Use Case Update Customer Details


a)

Update customer details


Brief Description:

This use case describes how admin view and edit customer details.

Actors
Admin

Pre-conditions
There is an access to the bakery system.

Post-conditions
Admin performed update customer details.

Flow of events
Basic flow
1. The use case begins when admin click the update
customer details button to update.
2. Two options will be displayed :1. Add/delete customer details
3. View customer details.
4. If admin click add/delete customer details, customer details
will be displayed
5. System will display a message This detail has been
updated.
6. After it been updated, admin can view and print the details.
7. The use case end successfully
b) View order

Figure 5: Use Case View Order

Brief Description
This use case describes how admin can view order and print.

Actors
Admin

Pre-conditions

There is an access to the bakery system.

Post-conditions
Admin view the order.

Flow of events
Basic flow
1. The use case begin when admin click the view order
2. The system will display the status of the application.
3. Admin click Print to print out the order details.
4. Admin click close
5. The use case ends successfully
Alternative Flow
1. No existing records.
2. If there is no existing record, the system will display the
message No records found.
3. No response from system.
4. If there is still no response, system shall display message
Network unavailable, try again later. The use case ends
with an indication of the failure.

c) View stock

Figure 6: Use Case View Stock

Brief description
This use case allow admin to approve /reject order when the stocks
are available or not.

Actors
Admin

Pre-conditions
Admin access the stock menu screen

Post-conditions
Admin approve/reject order after viewing the stock available.

Flow of Events
Basic flow
1. The use case begin when admin click the view stock link to
system that will display Stock status including the status
stock available and update order.
2. Admin will update the order by clicking the stocks available

d) Update Order

Figure 7: Use Case Update Order

Brief description
This use case allows admin to update customer order after
checking stock.

Actors
Admin

Pre-conditions

Admin access the order menu screen

Post-conditions
Admin confirm and update all the orders. Admin can also print
the orders.

Flow of Events.
Basic flow
1. The use case begins when Admin click the update report
link.
2. System will display order generated and admin can view,
update and print before sent it to be processed.
3. The use case ends successfully.
Alternate flow
1. If no response from system, system shall display the
message Network unavailable try later . The use case ends
with an indication of failure.

e) Process order

Figure 8: Use Case Process Order

Brief description
This use case allow admin to add confirmed order to cart .

Actors
Admin

Pre-conditions
Admin access the process order menu screen

Post-conditions
Admin add queue of order to shopping cart so that the
transaction can be completed

Flow of Events
Basic flow
1. The use case begin when admin process order link to
shopping cart.
2. It will display the process going and results whether
successful or not at the end.
3. Admin click close.
4. The use case ends successfully.
Alternate flow
1. When the process unsuccessfully system will ask admin to
reprocess whether not complete or network unavailable at
that time.

f) Update details

Figure 9: Use Case Update Details

Brief description
This use case allow customer that registered to update their details

Actors
Customer

Pre-conditions
There is an access to the bakery system

Post-conditions

Customer performed update customer details

Flow of events.
Basic flow
1. The use case begins when customer click the update customer
details button to update.
2. Two options will be displayed :-view/edit details
Print details
If customer click view/edit details, customer details will be
displayed
System will display a message This detail has been updated
after edited new.
After it been updated, admin can view and print the details.
The use case end successfully

3.
4.
5.
6.
7.

g) View Catalogue

Figure 10:Use Case View Catalogue

Brief description
This use case allow customer to view catalogue when
shopping.

Actors
Customer

Pre-conditions
Admin access the catalogue.

Post-conditions
Customer can shop with viewing the catalogue given and
status of the goods.

Flow of Events.

Basic flow
1. The use case begin when customer click the catalogue
link to system that will display goods selling.
2. Customer will place an order to goods interested.

h) Place order

Figure 11:Use Case Place Order

Brief Description
This use case describes how customer can order goods.

Actors
Customer

Pre-conditions
There is an access to the bakery system.

Post-conditions
Customer place and view the order.

Flow of events.
Basic flow

1. The use case begin when customer click to order.


2. The system will display the order menu.
3. Customer can update their order.
4. Customer also can print the order details.
5. Customer click close
6. The use case ends successfully

i)

Register

Figure 12: Use Case Register

Brief Description
This use case describes how guest want to register as customer in the
bakery system.

Actors
Guest

Pre-conditions
There is an access to the bakery system.

Post-conditions
Guest register new and can edit their profile.

Flow of events.
Basic flow

1.

The use case begin when guest want to register as


customer.
2. The guest can register as new customer
3. The new customer can edit their profile from time to time.

j)

Make Payment

Figure 13: Use Case Make Payment

Brief Description
This use case describes how customer confirmed their order by
paying to the bakery

Actors
Customer

Pre-conditions
There is an access to the bakery system.
Customer already login to the bakery system

Post-conditions
Customer verified their order and transaction and can print their
details.

Flow of events.
Basic flow

1. The use case begin confirmed their order and make


transaction
2. Transaction successful
3. They can print their purchase details for future
reference.

2.3.7

Sequence Diagram

2.3.7.1.

Sequence Diagram for Guest Process

Figure 14:Sequence Diagram Guest Process

2.3.7.2.

Sequence Diagram for Customer Process

Figure 15: Sequence Diagram Customer Process

2.3.7.3.

Sequence Diagram for Administrator Process

Figure 16:Sequence Diagram Administrator Process

2.3.8

Activity Diagram

2.3.8.1.

Activity Diagram for Guest Process

Guest Customer
Browse page content and function menu
Display item Catalogue and view detail
Enter POB System

Check Status order

Select item in catalogue list

Enter References no.

View Add To Cart

References no.
invalid
Add/Change/Remove item In Add To Cart
Order failed

Display detail status order


Checkout

Activity complete

Register

Not registered

Fill Billing /select Shipping Address


Fill mandatory field with a * sign
If shipping item in another address
Choose Shipping Method
Purchase failed

Provide reference no.

Choose Payment Method

Purchase complete

Figure 17:Activity Diagram Guest Process

2.3.8.2.

Activity Diagram for Customer Process

Guest Customer
Browse page content and function menu
Display item Catalogue and view detail
Enter POB System

Check Status order

Select item in catalogue list

Enter References no.

View Add To Cart

References no.
invalid
Add/Change/Remove item In Add To Cart
Order failed

Display detail status order


Checkout

Activity complete

Register

Not Registered

Fill Billing /select Shipping Address


If shipping item in another address

Fill mandatory field with a * sign

Choose Shipping Method


Purchase failed

Provide reference no.

Choose Payment Method

Purchase complete

Figure 18: Activity Diagram Customer Process

2.3.9

Functional requirement

2.3.9.1.

User requirement

Guest

Able to browse Content Page & Function Menu


- Guest can browse and navigate the site which displays
product categories, how of order, payment method and
other function menu.

Able to view/Selects Item At Catalogue Session


- Guest can view all lists the products in category with detail
information.
- Guest able to choose products in catalogue when they find
the product that they want to purchase by clicking Add To
Cart button on the product detail page.

Able To Views/Add/Remove Add To Cart


- Guest can view all selected products and add new product to
purchase.
- Guest can remove the product from the shopping cart list
before they do payment process.

Able To Do Payment Or Checkout To Confirm Purchase


- Guest must complete all mandatory fields with a * sign or else
an error message will displayed. Incorrect information may
cause a delay in processing order.
- Guest must compulsory to :
o Key in the billing details every time purchasing process
is done.
o Key in the shipping address for delivery purpose.
o Select the shipping method option; delivery or Currier
service.
o Select payment method; via Credit Card or Online
Banking (FPX). Payment information must accurate and
valid.
- Guest can view order summary description on purchase
product.

Able To Provided Reference No.


- Guest will receive an order reference number every time after
purchasing process completed;
o Example: (Thank you for your purchase; reference
number# is: 100000009)

Able to Check Status Order


- Guest would be able to keep track of current purchases and
knows update status order with details accordance with key
in exactly reference number.
- The system will display an error massage when invalid
reference no. entered.

Customer

Able to Register As a Customer

Guest can be a registered customer by register their username


and password at login page.
The system will display an error massage when customer
entered invalid username or password. The system will match
the username and password entered with existing registered
username and password in the database.
Customer is given a provision to check and update their
personal information.
The system will display the main page after customer
successful login.

Able to Browse Content Page & Function Menu


Customer can browse and navigate the site which displays
product categories, how of order, payment method and other
function menu.

Able to view/Selects Item At Catalogue Session


Customer can view all lists the products in category with detail
information.
Customer able to choose products in catalogue when they find
the product that they want to purchase by clicking Add To
Cart button on the product detail page.

Able to Views/Add/Change/Remove Item In Add To Cart


Customer can view all selected products and add new product
to purchase.
Customer can edit the quantity of products purchased in the
shopping cart.
Customer can remove the product from the shopping cart list
before they do payment process.

Able To Do Payment Or Checkout To Confirm Purchase


Customers information detail will appear once they are ready
to confirm the purchase.

Customer can change the delivery/shipping address before


they proceed to payment process
Customer must compulsory to :
o Select the shipping method option; delivery or Currier
service.
o Select payment method; via Credit Card or Online
Banking (FPX). Payment information must accurate and
valid.
Customer can view order summary description on purchase
product.
Able To Provided Reference No.
Customer will receive an order reference number every time
after purchasing process completed;
o Example: (Thank you for your purchase; reference
number# is: 100000009)

Able to Check Status Order


Customer would be able to keep track of current purchases and
knows update status order with details accordance with key-in
exactly reference number.
If customer enters an invalid reference no. , the system will
display an error massage.

Able to view Transaction History


Customer would be able to keep track of current purchases and
knows update status order with details accordance with key-in
exactly reference number.
If customer enters an invalid reference no. , the system will
display an error massage.

Administrator

Able to do Product Update and Stock Inventory

Administrator can add a new product or update stock


inventory to existing products.
Each new or added stock is given automatically serial
number by the system to facilitate the calculation and
delivery of the product.
Administrator can remove the product or stop the sale of a
product if the product is not available anymore in the
market.
Stocks are updated automatically by the system each when
the purchase and delivery transactions are success.
Administrator can monitor stock by seeing a warning alert if
the stock has decreased.

Able to Manage Purchasing Transaction


Administrator can manage transactions status for products
either in there serve list, sold list and delivery list.
Administrator can update the status of the product
(reserve /sold/delivery) in the purchasing process.

Able to Modify and Update User Interface


Administrator can modify and update system interface.
Administrator can add/remove the advertisement/
announcement in the system interface.

Able to Manage Customer Database Profile


Administrator can reset customers password if requested
by the customer.

Able to View and Generate Report


Administrator can generate reports through a system such
as sales transactions, stock, number of visitors, total
customer etc.
Administrator can choose the type of statistical report
required such as in table format, charts format and etc.

Able to Manage Customer Care/Feedback


Administrator will provide feedback to the customer base
on the customer review and related issue on products,
purchasing, etc

2.3.9.2.

Reporting on activities related on stock such as total sales


and stock inventory may be issued by the day, date, month
or year.

System requirements

E-TBH will provide a range of services available only to the


system administrator. This are primarily:
View and edit other customer profiles
View and update stock level
Manage order
Manage delivery
Manage payment
Manage catalogue
Manage website

E-TBH will support the management of purchase and delivery

E-TBH will keep track of all sales and payment transactions. ETBH shall provide details for various analysis reports

The prototype of E-TBH is required to be operational by 2 nd


December 2012

User Interface:
The user interface will be html. Users will access E-TBH via
standard Web Browsers such as Internet Explorer
E-TBH wills primarily an end-user system. Users will use
the system within the constraints of the permission
assigned by the administrator

Account:
Users (customer) will log onto e-TBH via accounts which
they will created. They need to create an account before
can proceed to purchase product.

Services:
Users will have access to range of services determined by
the permissions associated with the account the use. The
permission will be set by administrator.
When users access E-TBH, they will presented with Web
pages, and all the services available to them

Communication:
Users will communicate with E-TBH mainly via html
interface
User input to E-TBH will be via html interface
E-TBH out to the user will be via html interface, email and
print. The print output will mainly be purchased and
payment made. The email output will be messages from
the systems and other output.

2.3.10 Non-functional requirement


This section lists all of those requirements that relate to, or affect, the
usability of the System.
Usability Designs for Ease-of-Use

The user interface of the E-TBH shall be designed for ease-of-use and
shall be appropriate for a computer-literate user community with user
guided on the System. Better component design to get better
performance at peak time.
Performance

Response Time
The information is refreshed every two minutes. The system shall
respond to the guest/ customers in not less than two seconds from
the time of the request submittal.

System Administrator/User Response


The system shall take as less time as possible to provide service
to the administrator or the user.

Capacity
The system is capable of handling 250 customers at a time.
Resource Utilization
The resources are modified according the user requirements and also
according to the course application by the users.

Reliability
The system has to be very reliable due to the importance of data and the
damages incorrect or incomplete data can do.

Mean Time between Failures (MTBF)


The system will be developed in such a way that it may fail once
in a year.

Mean Time to Repair (MTTR)


Even if the system fails, the system will be recovered back up
within an hour or less.

Accuracy
The accuracy of the system is limited by the accuracy of
the speed at which the user of the system

Access Reliability
The system shall provide 100% access reliability.

Availability
The system shall have be operational 24 hours a day and 7 days a week
with an availability of 99.99%. (SLG service level guarantee)

Security
The system is expected to achieve the following application security
benchmark:

Every user account is protected with a personal password.


Nobody except the specific user should be able to log into that
account and change personal information. Secure access of
confidential data (users details). SSL can be use
The application is capable of defending itself from SQL-injection
technique.
User authentication is being done by sending cookies to
customer end. Cookie is a token that store information on a web
browser.
Admin console can only be accessed by certain IP address.

3. Graphical User Interface (GUI)


3.1 Introduction
3.1.1

Purpose

This graphical user interface (GUI) document will show the module of
TheBakeryHouze.com virtual mart and will provided the overall description for the
flow of each module.
3.1.2

Scope

E-TheBakeryHouze (e-TBH) is s an online web-based application system develops


to encourage customer can purchase transactions online without using manually
method and make purchase transaction with systematic way to avoid the delay
inconvenient through requested. This system will help user to get full information
about each items including displayed a description of the item managed by store.
Through this system user can purchase item related their needed and interested,
know the status of item availability and view item catalogue via online. Item request
function is also provided by the administrator for example creates user id and
password for user, manage purchase item details, manage purchase transaction.

3.1.3

Overview

Three stage (overall web pages, customer pages, guest pages)

3.1.3.1.

Overall web page


Figure 19: Overall Web Page GUI
PRODUCT

SHOPPING

HOMEPAG

SHOW

3.1.3.2.

CONTACT

Customer page

3.1.3.3.
HOMEPAG

LOGIN

Figure 20: Customer Page GUI


PRODUCT

CHECKOUT

3.1.3.4.

Guest page
HOMEPAG

PRODUCT

SHOW

REGISTER
LOGIN

CHECKOUT ORDER

Figure 21:Guest Page GUI

3.2 Overall Description


3.2.1

User Interface Model

3.2.1.1.

User Interface Model For Guest Customer Screen Page

This user interface model is generally to show the overall what the system would look like for
an ordinary customer access level. An user (guest customer) able to make all transaction on
item etc. view, select, buy, payment on the product, view the cart without create their user id
and password.

Visiting /browsing the Site:


Guest can visit the site without registration.
Choosing and comparing products:
Guest can view all available products and can compare them and make a choice for
purchasing products.
Purchasing:
Guest can purchase any product through valid credit card/FPX.
Giving Feedback to Customer Care:
Guest can give feedback to the 24X7 Customer Care Service centre about their
impression for the site and services.
Registration:
Guest can register as new customer by signing up and give related details.

3.2.1.2.

User Interface Model For Customer Screen Page

This user interface model is generally to show the overall what the system would look like for
regular customer access level. Customer need a login when create their user id and
password through e-TBH system for make purchasing item.
Login:
Customer must have a valid username and password to log in as customer into the site.
View and edit Own Details:
Customer can view/edit his personal details, payment details, and details about services
provided.
Choosing and comparing products:
Customer can view all available products and can compare them and make a choice for
purchasing products.
Purchasing:
Customer can purchase any product through valid credit card/FPX.
Giving Feedback to Customer Care:
Customer can give feedback to the 24X7 Customer Care Service center about their
impression for the site and services.
Logout:
Customer must logout from the site after purchasing process completed.

3.2.1.3.

User Interface Model For Admin Officer Screen Page

This user interface model is generally to show the overall what the system would look like for
admin officer access level. Admin Officer can manage all user record, manage stock record,
view percentage sales product, manage latest info and promotion product, manage payment
process and generate report for record.

Database Management:
Admin can control the database and keep track of all records of customers details.
View all details:
Admin can control, administer and manage user profile, sales information, review
feedback, product details and inventory flow.
Advertising the Site:
Admin will responsible for making advertisements for the site.
Managing Sales to Customers:
Admin will responsible for properly allocating the selected product according to the
customers choice and delivering product to the customer.
View Product Stocks:
Admin can keep track of each product items stocks for selling purpose.
Regulating Payments:
Admin can keep track of all the payment transactions made by the customers and update
the payment

3.3 Specific GUI Flow Diagram


3.3.1

Modules

Registration GUI Diagram


Brief Description

Each guest will fill the necessary information through the online registration form to be
a registered customer (returning customer).
This facilitates the customers an easy way to do payment process as their details
information being kept in the database.
Registered customer will able to view all transaction history.

GUI Flow Diagram


Description Flow 1

Figure 22:Registration GUI Diagram


User will click on the create an account link

Description Flow 2
User will fill the form with
their personal information.

Then user will click create


account button and proceed
to the next step

Description Flow 3

User will login using the username and password that has been registered.
Description Flow 4

Appear if login as
customer

Administrator GUI Diagram


Brief Description

This module will control, administer and manage user profile, sales information,
review feedback, product details and inventory flow.
The administrator can view stock and ensure that the products sell are always
available.
They also can ensure that information received by the customer is accurate.
the administrator will also update the status of the products purchased. (payment
confirmed, delivered)

GUI Flow Diagram


Figure 23:Administrator GUI Diagram

Description Flow 1
Admin login interface.

Description Flow 2
admin can configure the content of the system.

Catalogue GUI Diagram


Brief Description

This module will display all the products for sale by category.
Each of the products displayed will be given a description details
Customers can choose the product based on the category with various brand at
different prices.
Guest can choose products and insert to their shopping cart before login.
Guest will only need to login(returning customer) or create new account (if new
customer) during payment process

GUI Flow Diagram


Figure 24: Catalogue GUI Diagram
Description Flow 1
User can select the products by the category that been given.

Description Flow 2
List of products and
their price will be shown.

Description Flow 3
User can click on the products picture to view on large image.

Description Flow 4
User click on the view to show more description of the product and proceed to cart.

View button

Description Flow 5

user click add to cart to


make the purchasing.

Purchasing GUI Diagram


Brief Description

This module will list the items purchased and the payment process.
Purchasing module provides payment options through Internet Banking either direct
debit or credit card.
For the delivery process, customers can decide whether the products to be sent to
the registered address or other address.

GUI Flow Diagram


Figure 25: Purchasing GUI Diagram
Description Flow 1

User can view the products that have been selected for purchasing by click on the show cart
link.

Description Flow 2
User can review the selected item and can choose whether wanted to continue shopping or
proceed to payment

Description Flow 3
User choose payment method

Description Flow 4
user confirming order by click the button

Inventory Status GUI Diagram

Brief Description
This module will show the movement of products.
Admin will monitor the product inventory level.
When the stock is below 5 units, an alert function will showed. **

GUI Flow Diagram


Figure 26:Inventory Status GUI Diagram

Description Flow 1

Admin login to administrator site

Description Flow 2
Admin monitor the product inventory level

4. Software Design Description (SDD)


Revision History

Date

Version

Description

Author

04/11/2012

1.0

Initial draft

13/11/2012

1.0

Amendment

13/12/2012

2.0

Amendment

Azura
Ashraf
Faizah
Azura
Ashraf
Faizah
Azura

4.1 Introduction
4.1.1

Purpose

To obtain a thorough and detailed understanding of the system requirements and to


break it down into function and nonfunctional requirement which are then clearly defined.
During SRS, it serves as an input to the design specification (parent document to subsequent
documents), design constraints, and other factors necessary. Its also providing the
foundation for all future design and development efforts. Upon completion, this document will
act as a common point of reference for system expectations.
Project ID : E_TBHS_V1.0
Project Name : E-TheBakeryHouze System (e-TBH)
Brief Description of Project : A web based application for online bakery shop

4.1.2

Scope

This system specifically developed for use in TheBakeryHouze that would automate
its bakery product sales. Below are the identified system scopes:
1.1.2.1 Initial functional requirements will be: * Browsing through the Internet browser to see the items that are there in by category.
* Adequate searching mechanisms for easy and quick access to particular products and
services.
* Secure registration and profile management facilities for Customers.
* Creating a Shopping cart so that customers can shop n no. of items and checkout finally
with the entire shopping carts.
* Regular updates to registered customers of the e-TBH about new arrivals.
* Uploading Most Purchased Items in each category of products in the e-TBH.
* Maintaining database of regular customers of different needs.
* e-TBH Administrator are responsible for internal affairs like processing orders, assure home
delivery, getting customer's delivery-time feedback, updating order's status and answering
client's queries online.
* Feedback mechanism, so that customers can give feedback for the product or service
which they have purchased. Also facility rating of individual products by relevant customers.

* Adequate payment mechanism and gateway for all popular credit cards, cheques and other
relevant payment options, as available from time to time.
1.1.2.2 Initial non functional requirements will be: * Secure access of confidential data (users details). SSL can be used.
* 24 X 7 availability
* Better component design to get better performance at peak time
* Advertisement space where it will effectively catch the customers attention and as a source
of revenue.
* More payment gateways.
* Dynamic price model by which prices can be changed based on demand and supply

4.1.3

Overview

Our group proposed to develop online bakery shop system which will be able to
provide a web based application that would make searching, viewing and selection of
product easier. In this hectic life, nowadays people are always on the go. They are always
searching for the way to save their time. These people are the target audience for our
business. This system was developed to provide another form of competition to the seller.
This system will provide more choices for consumers to purchase our products online. Thus
e-TBH should be user-friendly, quick to learn and reliable software for the above purpose,
Below is an overall proposed system flow for e-TBH system.

4.2 Technical platform


4.2.1

Hardware Requirements
* CPU 2.0 MHZ
* RAM 16 GB
* Hard disk 500 GB
1.2.1.2 Operation System / Server
* Mac or Windows as platform
* Apache as Web Server

* MYSQL database

4.2.2

System software
* Microsoft Visio
* Microsoft Project
* PrestaShop, PHP web language
* Macromedia Dreamweaver
* Others

4.2.3

System interface

Figure 27: System Interface GUI

Homepage

Product

Shopping Cart

Contact Us

4.2.4

Design language

Software
PHP*
MySQL**

Recommended

Minimum

5.2 +

4.3.10

4.1.x +

3.23

Supported Web Servers:


Apache***
(with mod_mysql,
mod_xml,
and mod_zlib)
Microsoft IIS****

2.x +

1.3

4.3 System Architecture


This (e-TBH) system is developing base on the web-based model as Architectural
Design Approach (ADA). This architecture allows centralize server manage all the activities
perform by the system and store all data notices in the database.

All users (except for guest customer- system will give a temporary id (guest id) create
by the system) must have their user ID and password when they want to perform any
activities through the system. Administrator will identify and set the user access profile base
on what level of activities they are authorized. This security level access can minimize and
prevent any user to perform illegal activities, errors and misuse of the system.

This model is suitable because provide all customers can make all transaction via
online, everywhere and every time. Basically, (e-TBH) operation will start with request from
customer or customer shopped to buy products. Once the shopping carts activities done,
customer will perform checkout activities to confirm payment through frontend banking
system. Customer transaction will be monitored at admin user level (employee). By using this
model, the distribution of data is update in real-time and directly to the main server.

DATABAS
E
MYSQL

Figure 28: System Architecture

4.4 Software Domain Design

4.4.1

Structure

4.4.1.1.

Class Diagram

Figure 29: Class Diagram

4.4.1.2.

State diagram

Figure 30: State Diagram

4.4.2

Classes

4.4.2.1.

Class Descriptions

1) User
This class handles all user actions. The User class is the super class of
Customer and Administrator. It includes the private methods to verify the login of
the user. The verifyLogin() method is called when the user clicks the "Sign In"
button on the Web form. It returns true if the login is successful, false if it is not.
2) Administrator
This class handles the Administrator actions. It inherits all the User class
responsibilities and its functions. It has a functions createDepartment(),
createCategory(), createProduct() are called when the administrator has to
create/add a new department or category or product respectively to the catalog.
Similarly,
operations
like
deleteDepartment(),
deleteCategory()
and
deleteProduct() are called when deleting a department/category/product
respectively from catalog. For these delete operations to be valid there should be
atleast one department, category and product already existing in the Catalog.
Also, the editCatalogDetails() method enables administrator to edit and update
the product details.
Conditions for createProduct Operation
* Purpose: To enable Administrator to create and add new products to the catalog.
* Pre Condition: Administrator must be logged in to be able to create a new
product. Also, the department and/or category to which the new new product is to
be associated should exist in catalog.
* Post Condition: Product will be added to the corresponding department and/or
category.
* Input: Administrator will enter the name and necessary details to create a new
product and click "Add" button to complete the action.
* Output: After the action, the changes to the catalog will be updated and saved
and a message will be displayed accordingly.
3) Customer
This class handles the customer actions. It inherits all the User class
responsibilities and its functions. The updateProfile() method is called when
customer wants to edit, update and save his/her personal information on the
website for future use. But to update profile,customer must register and login
through the Register and Login Webpage which uses the register() and login()
methods. Also, the search() function is called when customer searches for some
product and enters some Key-Words in the text-box on Search.aspx page.
Conditions for Login Operation

* Purpose: This is implemented to enable user authentication. A valid user


account must be used for an existing customer.
* Pre Condition: The customer should be registered with website and should have
a valid userid and password.
* Post Condition: Customer will be able to browse through the website.
* Input: The customer can login to the system by entering his user name and
password.
* Output: The system will verify that the login name matches the login password. If
the user name or password is invalid, the appropriate error message will be
indicated and the user will be requested to re-enter user name and password. If
the user inputs are valid, the main page will be displayed.
4) Category
This class has all different categories for the corresponding departments.
This class has a private method called getProductsInCategory which is used get
all the products bellonging to a particular category and department. A category
can belong to one or more departments. Also, a category can contain zero or
more products.
5) Product
This class represents collection of products of a particular category and/or
department. The displayProduct() and getProductDetails() method are called
when the user clicks on a product or on the "Search" button on the Search.aspx
Web form. The displayProduct() method is used to retrive image of the product
and getProductDetails() method retrives its details as a data set whenever a
customer clicks on the product. A product can belong to one or more departments
and/or categories.
6) ShoppingCart
ShoppingCart class has all the products that are added by a customer to
buy. The addCartItem() and deleteCartItem() methods are called when customer
performs actions like "Add to Cart" and "Delete" of products on the
ShoppingCart.aspx Webpage. The updatequantity() method is called when
Customer clicks "Update" button on ShoppingCart.aspx Webpage to increase or
decrease the number of products in the cart. Also, viewCartDetails() method is
called when customer clicks on the "View Details" button to see a summary of the
cart. It will display the summary only when cart is not empty, else it will display
"Your Cart is empty."
Conditions for addCartItem Operation

* Purpose: This is implemented so the customer can add products to shopping


cart while searching or browsing catalog.
* Pre Condition: The customer must be logged in to add a product to the cart.
* Post Condition: Product will be added to the shopping cart.
* Input: When customer finds the products he wants, he adds them to the
shopping cart by clicking on the "Add to Cart" button.
* Output: Product will be added to the shopping cart and the system will store and
keep track of the information of products that have been added into shopping
cart..
Conditions for Checkout Operation
* Purpose: To allow customer to buy the products added to the shopping cart.
* Pre Condition: Customer must be logged in and must have atleast one item in
shopping Cart to be able to checkout and place the order.
* Post Condition: Customer will be succesfully checked out and will be able to edit
his profile information and place order.
* Input: When the customer finishes shopping, he requests to checkout by clicking
"checkout" button on Cart.aspx page.
* Output: If the payment information of this customer already exists, the system
prompts the customer to review or input a new one. If the credit card is valid, the
order form will be processed by the system and checkout is complete.
7) Orders
This class will store all information regarding the orders made by each
customer. The placeOrder() method is called when customer clicks on the "Place
Order" button on the Order.aspx Web form. It returns true if the order is placed
successfully, false if it is not. The "Place Order" button will be enabled only when
customer has a valid shopping cart and has entered valid personal, billing and
shipping details. Conditions for placeOrder Operation
* Purpose: To allow customer to place an Order for buying the products added to
the shopping cart.
* Pre Condition: Customer must be logged in and must have atleast one item in
shopping Cart to be able to place the order Also, customer should have correct
profile information and valid Credit Card details entered into the system.
* Post Condition: Customer will be succesfully able to place the order.

* Input: When the customer finishes shopping, he requests to place an order by


clicking "Place Order" button on Order.aspx page.
* Output: If the profile information, payment information the credit card of this
customer is valid, the order form will be processed by the system and order is
placed.

8) ShippingInfo
This class handles the shipping information regarding every customer and
their orders. The updateShippingInfo() method is called when customer edits
his/her shipping Information and clicks the "Update" button on Profile.aspx
Webpage.
9) OrderDetail
This Class handles details regarding every order that the customer makes.
The calcPrice() method is called to calculate the total amount of the order placed.
The method also calculates the total amount of the order including the shipping
charges once the customer has selected the shipping region.
10) CartItem
A CartItem object indicates the quantity, unitcost, subtotal amount of the
product selected by a customer. When a customer performs a product selection
and clicks "Add to Cart" button, a new cartItem object is created and added to the
cart. The calcPrice() method is called to calculate the total amount of the items
added to cart.

4.5 Activity and sequence diagrams


4.5.1

Register

Figure 31: Sequence Diagram For Register

4.5.2

Flow Of Event

Use Case begins when the guest is registered as customer into the system for
registered customer.
4.5.3

Basic Flow

a) Customer
Customers must enter their user ID and password for registering into system,
thus the system can check, verifies and validate theuser ID and password.
Customers will be able to insert personal detail and update info for their account.
Information of the customer can store into the database for record.
The system validates the account information availability from the System
Administrator database.
b) Employee
Employee must enter user ID and password into system with verify and
validate by system administrator.
Employees are given the rights to complete the task, depends on the employee
authorization level profile.
Information are stored into database for record.
4.5.4

Alternative Flow

An appropriate and error message is displayed to the user.


The system will then prompt for the user to insert the info details again. The actor can
type or key in an availability/not overlap name or password or fulfill a mandatory field
or choose to cancel the operation, at which point the use case ends.
4.5.5

Precondition
The user must key-in the user ID, password &detail info for register
part.

4.5.6

Post condition

If the use case was successful, the user is ready to use the system as the
registered customer

4.5.7

Activity Diagram

Figure 32: Activity Diagram For Register

4.5.8

Login

Figure 33: Sequence Diagram For Login


4.5.9

Brief Description

This use case describes how a user logs into the eTBH System. The main
actors for this use case are Guest Customer, Registered Customer and Admin:
Administrator, Employee.
4.5.10 Flow of Events
The use case begins when the user open into ETBH System
4.5.11 Basic Flow

The user opens the system.


The user enters user id and password.
The system validates the password.
If the password is incorrect, the alternative flow 4.3 will be followed.
The user login to the system successfully.
The system displays the Main Form and the use case ends.

4.5.12 Alternative Flows

An appropriate message is displayed to the user.


The system will then prompt for the user to input the password again. The actor
can type in a new name or password or choose to cancel the operation, at which
point the use case ends.

4.5.13 Special Requirements


There is no special requirement associated with this use case
4.5.14 Preconditions
The user must know and confirm the username &password.
4.5.15 Post conditions
If the use case was successfully, the user ready to use the system.

4.5.16 Activity Diagram

Figure 34: Activity Diagram For Login

4.6 Catalogue


Figure 35: Sequence Diagram For Catalogue
4.6.1

Flow Of Event

The process begins when the user enters information on search criteria
4.6.2

provided.

Basic Flow

1. Customer use search function using handy Search Tool which specific
product
type
2. The system will find item linked the existing item in the database.
3. Results of the search item will be displayed.
4. The customer can view the items has selected in their category within view detail
information item
5. The customer able to select preferred item to make a request purchase
6. The user request item to the system successfully.

4.6.3

Alternative Flow

Not the enter in search criteria- The system will display all the information if not
included the search criteria
Incomplete Information- The system will display an error message if not info is found
in the database.

4.6.4

Precondition

4.6.5

None
Post conditions
Customer able to view and select item in catalogues when find item want to
purchase with online.
If the use case was successfully, the user ready to purchase item in the
system.

4.6.6

Activity Diagram

Figure 36: Activity Diagram for Catalogue

4.7 Add To Cart

Figure 31: Sequence Diagram for Add to Cart


Figure 37: Sequence Diagram for Add to Cart
4.7.1

Flow Of Event
Use Case begins when the customer enter add to cart menu for ready to
purchase online in

4.7.2

Basic Flow
1.
2.
3.
4.
5.

4.7.3

The user access into add to cart portion in the system.


The user selects each item for review and other transaction.
The user allows to add, change and remove item has chosen in add to
cart.
User need to confirm that item in add to cart
The user request item to the system successfully.

Alternative Flow
An appropriate message is displayed to the user when customer makes some
amendment function in that particular item.

4.7.4

Precondition

The user select an each item, option to do some changes and select confirm
item.

4.7.5 Post condition


If the use case was successful, a request user is successful and save in the database
system.
4.7.6

Activity Diagram

Figure 38: Activity Diagram for Add to Cart

4.8 Checkout & Payment

Figure 39: Sequence Diagram for Checkout & Payment

4.8.1

In Flow Of Event
Use Case begins when users enter checkout menu consist with
decide to choose prefer method etc. billing/shipping module, the
shipping method, the payment module and so on.

4.8.2

Basic Flow

1. Customer access in Checkout menu


2. Confirm and ready to purchase with enter detail information
3. Customer must complete all mandatory fields with a * sign

4. Customers compulsory would have to enter the billing details when a purchase is
made
5. Customers must fulfill enter the shipping address to delivery purpose within exist address
or another address.
6. Must select shipping method option; COD or Courier service
7. Customer has select payment method provided;
a) Online Banking (FPX)
1. Users can make the payment module menu and choose.
2. Payment options.
3. Users are required to enter confirm value in selective bank at Payment gateway.
b) Card Credit
1. Users can make the payment module menu and choose.
2. Payment options.
3. Users are required to enter credit card no with security code.
4. The system will issue a confirmation message.
5. The system will issue a confirmation message.
4.8.3

Alternative flow
None

4.8.4

Precondition
Option payment method must be made directly by the system site.

4.8.5

Post condition
Slip the report will be displayed into payment form and stored in the
database.

4.8.6

Activity Diagram

Figure 40: Activity Diagram for Checkout & Payment

4.9 Report

Figure 41: Sequence Diagram for Report


4.9.1

Flow Of Event
Use Case begins when the user wants to display the report

4.9.2

Basic Flow
1. Users will select the report menu
2. List of reports according to the specifications will be displayed
3. Users are required to select required report
4. The system will issue a confirmation message whether to print the
report or
not
5. The report will be printed if the user select the 'yes'

4.9.3

Flow Alternative
If users select the 'no', the system will not generate the selected report

4.9.4

Precondition
List report is displayed according to the specifications is needed

4.9.5

Post condition
The report will be printed into hardcopy form

4.9.6

Activity Diagram

Figure 42: Activity Diagram for Report

4.10 Order Status

Figure 43: Sequence Diagram for Order Status


4.10.1 Flow Of Event
Use Case begins when the user wants to display and trace of purchases and
knows latest status order
4.10.2 Basic Flow
1. Users will select the status order menu
2. key-in a correct reference number for each searching item
3. View item list of status order as requested
4.10.3 Flow Alternative
The system will display an error massage if user insert an invalid reference
number.
4.10.4 Precondition
User must enter correct reference number to make knows status order.
4.10.5 Post condition
Display update status item according enter a valid reference number.

4.10.6 Activity Diagram

Figure 44: Activity Diagram for Order Status

4.11 Feedback

Figure 45: Sequence Diagram for feedback

4.11.1 Flow Of Event


Use Case begins when the user will enter feedback based on related problem,
products, service and so on
4.11.2 Basic Flow
1. Users will select the feedback/customer menu
2. User need to key-in a feedback and review based on related issue at
the system.
3. User must confirm a feedback entered before submit form.
4.11.3 Flow Alternative
The system will display an error massage if users cancel for feedback request.
4.11.4 Precondition
User must type feedback text into single form
4.11.5 Post condition
Display feedback by customer for response info by admin.

4.11.6 Activity Diagram

Figure 46: Activity Diagram for feedback

5. Database Design Documentation (DDD)

5.1 Introduction
5.1.1

Purpose

Database Design Document (DDD) is a reference document that describes the


structure of the database design. In addition, it shows how a database is developed
by showing the relationship between the relevant data in the form of logical
relationships.
Basically, the latest system will refer to this document if the improvement is needed.
Therefore, developers should refer to this document to ensure that any errors,
changes or enhancements to upgrade the system can be implemented correctly. This
document will be updated if there are any changes to the previous design. DDD is
also a control document used to ensure system data is stored correctly.
5.1.2

Scope

The scope of database design generally consists of 2 main steps which will be carried
out by the database designer that are:

Determine the relationships between the different data elements.

Identify a logical structure upon the data on the basis of the relationships.

TBH system use MySQL database to store the data. Below are the data for eTBH
System:
Main Data Area
1. System
2. Products
3. Customer
4. Sales

Sub Data Area


Administration/Configuration/LayoutSystem/SystemLogs/ etc;
Catalogue/Category/Inventory/Gallery/Index/Query/ etc;
Group /Entity/Address/Review /ShoppingCart/ etc;
Rules/Order /Quote/TransactionsSetup/ etc.

5.2 General Information


5.2.1

System Overview

eTBH System is a B2C e-commerce website that enables online purchases of bakery.
Customers do not need to sign into make a purchase. Customers who wish to make
repeat purchases are encouraged to become registered customers in order to enjoy
the other facilities such as special discount or promotion. In addition, their information
is also easily accessible as it is stored in the database.

For non-registered customers or guest, add to cart information is stored in their


computer cache. Guest is allowed to do one time purchase. Successful purchasing
transaction record will be stored in the database.
Customers who use the credit card and internet banking service payments will be
linked directly to the bank system database. eTBH system does not store any
customers account information except details of the purchasing transaction.

5.2.2

Entity Relationship Diagram (ERD)

Below is entity relationship diagram (ERD) for eTBH system that describes the
relationship between entities and their tables. Each entity has its own attribute, and the
main concern is the primary key of each entity and table. The primary keys are the
linkage between tables and the foreign key will be the references of the other tables.

Figure 47: Entity Relationship Diagram (ERD)

5.2.3

Project References

References to database design referred:

5.2.4

www.uml.org

www.visualcase.com

Acronyms and Abbreviations

eTBH

5.2.5

The Bakery Houze system

DD

Database Design

ERD

Entity Relationship Diagram

NC

Naming Conventions

B2C

Business to Customer

Points of Contact

Azura Awang - azura.awang@gmail.com


Julianawati Jaafar - errinanatasya@yahoo.com
Faizah Johari - faizahjohari@hotmail.com
Asyraf Anwari Bin Rusli neslosuam @gmail.com

5.3 Database Identification and Description


5.3.1

Naming Conventions

This section will refer to database naming convention (NC) for TBH system.
Basically, naming convention is a rule in naming the TBH system identifiers. By using
standard naming conventions our developer and programmer can code their
programs much easier. Those codes also can easily read by themselves and for
other programmers if any changes to the system. Readability of programming code
is important because it means less time is spent trying to figure out what the code
does, leaving more time to fix or modify it.

5.3.2

Database Identification

Data identification describes a real information resource that is important to the


application. Below is the description for table of data base on data requirements for TBH
application:
Table 2: Some of tables in DB

Table Name

1. ps_profile

2. ps_customer
3. ps_cart
4. ps_product
5. ps_orders

Description
(What is it?)
To store eTBH
owner and
employee data as
administrator user
To store customer
details
To store
purchasing details
To store product
details
To store payment
detail

Ownership
(Who is
responsible for
it?)
eTBH owner as
Super Admin
Super Admin/Admin:
eTBH
Owner/Employee
Admin:
Employee
Super Admin:
eTBH owner
Admin:
Employee

Data
characteristics
(How is it
measured and
how big or small
can it be?)
Total of employee

Total customer
Shopping cart
Stock inventory
Checkout :
Guest/customer

5.3.3

System Using the Database

This database design is meant for The Bakery Houze Online System. This system is still
under construction referring to the ecommerce web application development tools. The
system is considered as a prototype level version.

5.3.4

Relationship with Other Database

This system will communicate with bank and credit card front end system database for
payment process in Checkout module.

5.4 Schema Information

Information schema views provide an internal, system table-independent view of the SQL
Server metadata. Information schema views enable applications to work correctly
although significant changes have been made to the underlying system tables. The
overall schema structure is simple and direct. Each entity has attributes and primary key.
The table below may describe the table structure for eTBH system:
Table 3: List Of All DB Tables
ps_access
Field

Type

Null

id_profile

int(10)

No

id_tab

int(10)

No

view

int(11)

No

add

int(11)

No

edit

int(11)

No

delete

int(11)

No

Default

Comments

MIME

ps_address
Field

Type

Null

Default

id_address

int(10)

No

id_country

int(10)

No

id_state

int(10)

Yes

NULL

id_customer

int(10)

No

Comments

MIME

id_manufacture
r

int(10)

No

id_supplier

int(10)

No

alias

varchar(32)

No

company

varchar(32)

Yes

lastname

varchar(32)

No

firstname

varchar(32)

No

address1

varchar(128
)

No

address2

varchar(128
)

Yes

NULL

postcode

varchar(12)

Yes

NULL

city

varchar(64)

No

other

text

Yes

NULL

phone

varchar(16)

Yes

NULL

phone_mobile

varchar(16)

Yes

NULL

date_add

datetime

No

date_upd

datetime

No

active

tinyint(1)

No

deleted

tinyint(1)

No

NULL

ps_carrier
Field

Type

Null

Default

id_carrier

int(10)

No

id_tax

int(10)

Yes

name

varchar(64)

No

url

varchar(255
)

Yes

NULL

active

tinyint(1)

No

deleted

tinyint(1)

No

shipping_handlin
g

tinyint(1)

No

range_behavior

tinyint(1)

No

is_module

tinyint(1)

No

Null

Default

Comments

MIME

ps_carrier_group
Field

Type

id_carrier

int(10)

No

id_group

int(10)

No

ps_carrier_lang

Comments

MIME

Field

Type

Null

id_carrier

int(10)

No

id_lang

int(10)

No

delay

varchar(128
)

Yes

Default

Comments

MIME

NULL

ps_carrier_zone
Field

Type

Null

id_carrier

int(10)

No

id_zone

int(10)

No

Default

Comments

MIME

ps_cart
Field

Type

Null

Default

id_cart

int(10)

No

id_carrier

int(10)

No

id_lang

int(10)

No

id_address_deliver
y

int(10)

No

id_address_invoice

int(10)

No

id_currency

int(10)

No

id_customer

int(10)

No

id_guest

int(10)

No

recyclable

tinyint(1)

No

gift

tinyint(1)

No

gift_message

text

Yes

NULL

date_add

datetime

No

date_upd

datetime

No

Comments

MIME

ps_cart_discount
Field

Type

Null

id_cart

int(10)

No

id_discoun
t

int(10)

No

Default

Comments

MIME

ps_cart_product
Field

Type

Null

id_cart

int(10)

No

id_product

int(10)

No

id_product_attribut

int(10)

Yes

Default

NULL

Comments

MIME

e
quantity

int(10)

No

date_add

datetime

No

ps_category
Field

Type

Null

Default

id_categor
y

int(10)

No

id_parent

int(10)

No

level_depth

tinyint(3)

No

active

tinyint(1)

No

date_add

datetime

No

date_upd

datetime

No

Comments

MIME

Comments

MIME

ps_category_group
Field

Type

Null

id_categor
y

int(10)

No

id_group

int(10)

No

Default

ps_category_lang
Field

Type

Null

Default

id_category

int(10)

No

id_lang

int(10)

No

name

varchar(128
)

No

description

text

Yes

link_rewrite

varchar(128
)

No

meta_title

varchar(128
)

Yes

NULL

meta_keywords

varchar(255
)

Yes

NULL

meta_descriptio
n

varchar(255
)

Yes

NULL

Comments

MIME

NULL

ps_category_product
Field

Type

Null

id_categor
y

int(10)

No

id_product

int(10)

No

Default

Comments

MIME

position

int(10)

No

ps_contact
Field

Type

Null

Default

id_contact

int(10)

No

email

varchar(128
)

No

position

tinyint(2)

No

Null

Default

Comments

MIME

Comments

MIME

ps_contact_lang
Field

Type

id_contact

int(10)

No

id_lang

int(10)

No

name

varchar(32
)

No

descriptio
n

text

Yes

NULL

ps_country
Field

Type

Null

Default

id_country

int(10)

No

id_zone

int(10)

No

iso_code

varchar(3
)

No

active

tinyint(1)

No

contains_states

tinyint(1)

No

need_identification_numbe
r

tinyint(1)

No

Comments

MIME

ps_country_lang
Field

Type

Null

id_country

int(10)

No

id_lang

int(10)

No

name

varchar(64
)

No

Default

Comments

MIME

ps_currency
Field

Type

Null

id_currency

int(10)

No

name

varchar(32)

No

Default

Comments

MIME

iso_code

varchar(3)

No

sign

varchar(8)

No

blank

tinyint(1)

No

format

tinyint(1)

No

decimals

tinyint(1)

No

conversion_rat
e

decimal(13,6
)

No

deleted

tinyint(1)

No

ps_customer
Field

Type

Nul
l

Default

id_customer

int(10)

No

id_gender

int(10)

No

id_default_group

int(10)

No

secure_key

varchar(32
)

No

-1

email

varchar(12
8)

No

passwd

varchar(32
)

No

last_passwd_gen

timestamp

No

CURRENT_TIMESTA
MP

birthday

date

Yes

NULL

lastname

varchar(32
)

No

newsletter

tinyint(1)

No

ip_registration_newsle
tter

varchar(15
)

Yes

NULL

newsletter_date_add

datetime

Yes

NULL

optin

tinyint(1)

No

firstname

varchar(32
)

No

dni

varchar(16
)

Yes

NULL

active

tinyint(1)

No

deleted

tinyint(1)

No

date_add

datetime

No

date_upd

datetime

No

Commen
ts

MIM
E

ps_customer_group
Field

Type

Null

Default

Comments

MIME

id_custome
r

int(10)

No

id_group

int(10)

No

ps_date_range
Field

Type

Null

id_date_rang
e

int(10)

No

time_start

datetime

No

time_end

datetime

No

Default

Comments

MIME

ps_delivery
Field

Type

Null

Default

id_delivery

int(10)

No

id_carrier

int(10)

No

id_range_price

int(10)

Yes

NULL

id_range_weigh
t

int(10)

Yes

NULL

id_zone

int(10)

No

price

decimal(17,2
)

No

Comments

MIME

ps_discount
Field

Type

Null

Default

id_discount

int(10)

No

id_discount_type

int(10)

No

id_customer

int(10)

No

id_currency

int(10)

No

name

varchar(32)

No

value

decimal(17,2
)

No

0.00

quantity

int(10)

No

quantity_per_user

int(10)

No

cumulable

tinyint(1)

No

cumulable_reductio
n

tinyint(1)

No

date_from

datetime

No

date_to

datetime

No

minimal

decimal(17,2
)

Yes

NULL

active

tinyint(1)

No

Comments

MIME

ps_discount_category
Field

Type

Null

id_categor
y

int(11)

No

id_discount

int(11)

No

Default

Comments

MIME

Default

Comments

MIME

ps_discount_lang
Field

Type

Null

id_discoun
t

int(10)

No

id_lang

int(10)

No

description

text

Yes

NULL

ps_discount_quantity
Field

Type

Null

id_discount_quantit
y

int(10)

No

id_discount_type

int(10)

No

id_product

int(10)

No

id_product_attribute

int(10)

Yes

quantity

int(10)

No

value

decimal(17,2
)

No

Default

Comments

MIME

NULL

ps_discount_type
Field
id_discount_typ
e

Type
int(10)

Null

Default

Comments

MIME

No

ps_discount_type_lang
Field

Type

Null

id_discount_typ
e

int(10)

No

id_lang

int(10)

No

name

varchar(64
)

No

ps_employee

Default

Comments

MIME

Field

Type

Nul
l

Default

id_employee

int(10)

No

id_profile

int(10)

No

lastname

varchar(32)

No

firstname

varchar(32)

No

email

varchar(128
)

No

passwd

varchar(32)

No

last_passwd_ge
n

timestamp

No

CURRENT_TIMESTAM
P

stats_date_from

date

Yes

NULL

stats_date_to

date

Yes

NULL

active

tinyint(1)

No

Comment
s

MIME

ps_feature
Field
id_feature

Type

Null

int(10)

Default

Comments

MIME

No

ps_feature_lang
Field

Type

Null

id_feature

int(10)

No

id_lang

int(10)

No

name

varchar(128
)

Yes

Default

Comments

MIME

NULL

ps_feature_product
Field

Type

Null

id_feature

int(10)

No

id_product

int(10)

No

id_feature_valu
e

int(10)

No

Default

Comments

MIME

Default

Comments

MIME

ps_feature_value
Field

Type

Null

id_feature_valu
e

int(10)

No

id_feature

int(10)

No

custom

tinyint(3)

Yes

NULL

ps_feature_value_lang
Field

Type

Null

id_feature_valu
e

int(10)

No

id_lang

int(10)

No

value

varchar(255
)

Yes

Default

Comments

MIME

NULL

ps_group
Field

Type

Null

Default

id_group

int(10)

No

reduction

decimal(17,2
)

No

0.00

price_display_metho
d

tinyint(4)

No

date_add

datetime

No

date_upd

datetime

No

Comments

MIME

ps_group_lang
Field

Type

Null

id_group

int(10)

No

id_lang

int(10)

No

name

varchar(32
)

No

file_name

varchar(255)

Default

Yes

Comments

MIME

NULL

ps_image
Field

Type

Null

Default

id_image

int(10)

No

id_product

int(10)

No

position

tinyint(2)

No

cover

tinyint(1)

No

Comments

MIME

ps_image_lang
Field

Type

Null

id_image

int(10)

No

id_lang

int(10)

No

legend

varchar(128

Yes

Default

NULL

Comments

MIME

)
ps_image_type
Field

Type

Null

Default

id_image_typ
e

int(10)

No

name

varchar(16
)

No

width

int(10)

No

height

int(10)

No

products

tinyint(1)

No

categories

tinyint(1)

No

manufacturers

tinyint(1)

No

suppliers

tinyint(1)

No

scenes

tinyint(1)

No

Comments

MIME

ps_message
Field

Type

Null

id_message

int(10)

No

id_cart

int(10)

Yes

id_customer

int(10)

No

id_employe
e

int(10)

Yes

id_order

int(10)

No

message

text

No

private

tinyint(1)

No

date_add

datetime

No

Default

Comments

MIME

Comments

MIME

NULL
NULL

ps_message_readed
Field

Type

Null

id_message

int(10)

No

id_employe
e

int(10)

No

date_add

datetime

No

Default

ps_meta
Field
id_meta

Type
int(10)

Null
No

Default

Comments

MIME

page

varchar(64
)

No

ps_meta_lang
Field

Type

Null

Default

id_meta

int(10)

No

id_lang

int(10)

No

title

varchar(128
)

Yes

NULL

descriptio
n

varchar(255
)

Yes

NULL

keywords

varchar(255
)

Yes

NULL

Comments

MIME

ps_module
Field

Type

Null

id_module

int(10)

No

name

varchar(64
)

No

active

tinyint(1)

No

Default

Comments

MIME

ps_module_country
Field

Type

Null

id_module

int(10)

No

id_country

int(10)

No

Default

Comments

MIME

ps_module_currency
Field

Type

Null

id_module

int(10)

No

id_currenc
y

int(11)

No

Default

Comments

MIME

ps_module_group
Field

Type

Null

id_module

int(10)

No

id_group

int(11)

No

ps_order_detail

Default

Comments

MIME

Field

Type

Nul
l

Default

id_order_detail

int(10)

No

id_order

int(10)

No

product_id

int(10)

No

product_attribute_id

int(10)

Yes

product_name

varchar(255
)

No

product_quantity

int(10)

No

product_quantity_in_sto
ck

int(10)

No

product_quantity_refund
ed

int(10)

No

product_quantity_return

int(10)

No

product_quantity_reinjec
ted

int(10)

No

product_price

decimal(20,
6)

No

0.000000

product_quantity_discou
nt

decimal(20,
6)

No

0.000000

product_ean13

varchar(13)

Yes

NULL

product_reference

varchar(32)

Yes

NULL

product_supplier_refere
nce

varchar(32)

Yes

NULL

product_weight

float

No

tax_name

varchar(16)

No

tax_rate

decimal(10,
3)

No

0.000

ecotax

decimal(17,
2)

No

0.00

discount_quantity_appli
ed

tinyint(1)

No

download_hash

varchar(255
)

Yes

NULL

download_nb

int(10)

Yes

download_deadline

datetime

Yes

0000-00-00
00:00:00

Comment
s

MIM
E

NULL

ps_order_discount
Field

Type

Null

id_order_discoun
t

int(10)

No

id_order

int(10)

No

Default

Comments

MIME

id_discount

int(10)

No

name

varchar(32)

No

value

decimal(17,2
)

No

0.00

ps_order_history
Field

Type

Null

id_order_histor
y

int(10)

No

id_employee

int(10)

No

id_order

int(10)

No

id_order_state

int(10)

No

date_add

datetime

No

Default

Comments

MIME

ps_order_message
Field

Type

Null

id_order_messag
e

int(10)

No

date_add

datetime

No

Default

Comments

MIME

ps_order_message_lang
Field

Type

Null

id_order_messag
e

int(10)

No

id_lang

int(10)

No

name

varchar(128
)

No

message

text

No

Default

Comments

MIME

ps_order_slip
Field

Type

Null

id_order_slip

int(10)

No

id_customer

int(10)

No

id_order

int(10)

No

shipping_cos
t

tinyint(3)

No

date_add

datetime

No

date_upd

datetime

No

ps_order_slip_detail

Default

Comments

MIME

Field

Type

Null

Default

id_order_slip

int(10)

No

id_order_detail

int(10)

No

product_quantit
y

int(10)

No

Type

Null

Default

Comments

MIME

Comments

MIME

Comments

MIME

ps_order_state
Field
id_order_stat
e

int(10)

No

invoice

tinyint(1)

Yes

send_email

tinyint(1)

No

color

varchar(32
)

Yes

NULL

unremovable

tinyint(1)

No

hidden

tinyint(1)

No

logable

tinyint(1)

No

delivery

tinyint(1)

No

Null

Default

ps_order_state_lang
Field

Type

id_order_stat
e

int(10)

No

id_lang

int(10)

No

name

varchar(64
)

No

template

varchar(64
)

No

ps_orders
Field

Type

Null

id_order

int(10)

No

id_carrier

int(10)

No

id_lang

int(10)

No

id_customer

int(10)

No

id_cart

int(10)

No

id_currency

int(10)

No

id_address_deliver
y

int(10)

No

id_address_invoice

int(10)

No

secure_key

varchar(32)

No

Default

-1

Comments

MIME

payment

varchar(255)

No

module

varchar(255)

Yes

NULL

recyclable

tinyint(1)

No

gift

tinyint(1)

No

gift_message

text

Yes

NULL

shipping_number

varchar(32)

Yes

NULL

total_discounts

decimal(17,2
)

No

0.00

total_paid

decimal(17,2
)

No

0.00

total_paid_real

decimal(17,2
)

No

0.00

total_products

decimal(17,2
)

No

0.00

total_products_wt

decimal(17,2
)

No

0.00

total_shipping

decimal(17,2
)

No

0.00

total_wrapping

decimal(17,2
)

No

0.00

invoice_number

int(10)

No

delivery_number

int(10)

No

invoice_date

datetime

No

delivery_date

datetime

No

valid

int(1)

No

date_add

datetime

No

date_upd

datetime

No

ps_pack
Field

Type

Null

id_product_pac
k

int(10)

No

id_product_item

int(10)

No

quantity

int(10)

No

Default

Comments

MIME

ps_page
Field

Type

Null

id_page

int(10)

No

id_page_typ
e

int(10)

No

Default

Comments

MIME

id_object

int(10)

Yes

NULL

ps_page_type
Field

Type

Null

id_page_typ
e

int(10)

No

name

varchar(255
)

No

Default

Comments

MIME

ps_page_viewed
Field

Type

Null

id_page

int(10)

No

id_date_rang
e

int(10)

No

counter

int(10)

No

Default

Comments

MIME

ps_pagenotfound
Field

Type

Null

id_pagenotfoun
d

int(10)

No

request_uri

varchar(256
)

No

http_referer

varchar(256
)

No

date_add

datetime

No

Default

Comments

MIME

ps_product
Field

Type

Null

Default

id_product

int(10)

No

id_supplier

int(10)

Yes

NULL

id_manufacturer

int(10)

Yes

NULL

id_tax

int(10)

No

id_category_defaul
t

int(10)

Yes

NULL

id_color_default

int(10)

Yes

NULL

on_sale

tinyint(1)

No

ean13

varchar(13)

Yes

NULL

ecotax

decimal(17,2
)

No

0.00

quantity

int(10)

No

Comment
s

MIME

price

decimal(20,6
)

No

0.000000

wholesale_price

decimal(20,6
)

No

0.000000

reduction_price

decimal(17,2
)

Yes

NULL

reduction_percent

float

Yes

NULL

reduction_from

datetime

No

1970-01-01
00:00:00

reduction_to

datetime

No

1970-01-01
00:00:00

reference

varchar(32)

Yes

NULL

supplier_reference

varchar(32)

Yes

NULL

location

varchar(64)

Yes

NULL

weight

float

No

out_of_stock

int(10)

No

quantity_discount

tinyint(1)

Yes

customizable

tinyint(2)

No

uploadable_files

tinyint(4)

No

text_fields

tinyint(4)

No

active

tinyint(1)

No

indexed

tinyint(1)

No

date_add

datetime

No

date_upd

datetime

No

ps_product_attachment
Field

Type

Null

id_product

int(10)

No

id_attachmen
t

int(10)

No

Default

Comments

MIME

ps_product_attribute
Field

Type

Null

Default

id_product_attribut
e

int(10)

No

id_product

int(10)

No

reference

varchar(32)

Yes

NULL

supplier_reference

varchar(32)

Yes

NULL

location

varchar(64)

Yes

NULL

ean13

varchar(13)

Yes

NULL

wholesale_price

decimal(20,6

No

0.00000

Comments

MIME

price

decimal(17,2
)

No

0.00

ecotax

decimal(17,2
)

No

0.00

quantity

int(10)

No

weight

float

No

default_on

tinyint(1)

No

ps_product_attribute_combination
Field

Type

Null

id_attribute

int(10)

No

id_product_attribut
e

int(10)

No

Default

Comments

MIME

Default

Comments

MIME

ps_product_attribute_image
Field

Type

Null

id_product_attribut
e

int(10)

No

id_image

int(10)

No

ps_product_download
Field

Type

Null

Default

id_product_downloa
d

int(10)

No

id_product

int(10)

No

display_filename

varchar(255
)

Yes

NULL

physically_filename

varchar(255
)

Yes

NULL

date_deposit

datetime

No

date_expiration

datetime

Yes

NULL

nb_days_accessible

int(10)

Yes

NULL

nb_downloadable

int(10)

Yes

active

tinyint(1)

No

Comments

MIME

ps_product_lang
Field

Type

Null

id_product

int(10)

No

id_lang

int(10)

No

Default

Comments

MIME

description

text

Yes

NULL

description_shor
t

text

Yes

NULL

link_rewrite

varchar(128
)

No

meta_descriptio
n

varchar(255
)

Yes

NULL

meta_keywords

varchar(255
)

Yes

NULL

meta_title

varchar(128
)

Yes

NULL

name

varchar(128
)

No

available_now

varchar(255
)

Yes

NULL

available_later

varchar(255
)

Yes

NULL

ps_product_sale
Field

Type

Null

Default

id_product

int(10)

No

quantity

int(10)

No

sale_nbr

int(10)

No

date_upd

date

No

Comments

MIME

Comments

MIME

ps_product_tag
Field

Type

Null

id_product

int(10)

No

id_tag

int(10)

No

Type

Null

Default

ps_profile
Field
id_profile

int(10)

Default

Comments

MIME

No

ps_profile_lang
Field

Type

Null

id_lang

int(10)

No

id_profile

int(10)

No

name

varchar(128
)

No

Default

Comments

MIME

ps_range_price
Field

Type

Null

id_range_pric
e

int(10)

No

id_carrier

int(10)

No

delimiter1

decimal(20,6
)

No

delimiter2

decimal(20,6
)

No

Default

Comments

MIME

ps_range_weight
Field

Type

Null

id_range_weigh
t

int(10)

No

id_carrier

int(10)

No

delimiter1

decimal(20,6
)

No

delimiter2

decimal(20,6
)

No

Type

Null

Default

Comments

MIME

Comments

MIME

ps_search_engine
Field
id_search_engin
e

int(10)

No

server

varchar(64
)

No

getvar

varchar(16
)

No

Default

ps_search_index
Field

Type

Null

Default

id_product

int(11)

No

id_word

int(11)

No

weight

tinyint(4)

No

Null

Default

Comments

MIME

Comments

MIME

ps_search_word
Field

Type

id_word

int(10)

No

id_lang

int(10)

No

word

varchar(15
)

No

ps_sekeyword
Field

Type

Null

id_sekeywor
d

int(10)

No

keyword

varchar(256
)

No

date_add

datetime

No

Default

Comments

MIME

ps_state
Field

Type

Null

Default

id_state

int(10)

No

id_country

int(11)

No

id_zone

int(11)

No

name

varchar(64
)

No

iso_code

char(4)

No

tax_behavio
r

smallint(1)

No

active

tinyint(1)

No

Comments

MIME

ps_statssearch
Field

Type

Null

id_statssearc
h

int(10)

No

keywords

varchar(255
)

No

results

int(6)

No

date_add

datetime

No

Default

Comments

MIME

ps_tax
Field

Type

Null

id_tax

int(10)

No

rate

decimal(10,3
)

No

Default

Comments

MIME

Comments

MIME

ps_tax_lang
Field

Type

Null

Default

id_tax

int(10)

No

id_lang

int(10)

No

name

varchar(32
)

No

ps_tax_state
Field

Type

Null

id_tax

int(10)

No

id_state

int(10)

No

Default

Comments

MIME

Default

Comments

MIME

ps_tax_zone
Field

Type

Null

id_tax

int(10)

No

id_zone

int(10)

No

ps_wishlist
Field

Type

Null

id_wishlist

int(10)

No

id_custome
r

int(10)

No

token

varchar(64
)

No

name

varchar(64
)

No

counter

int(10)

Yes

date_add

datetime

No

date_upd

datetime

No

Default

Comments

MIME

Comments

MIME

NULL

ps_wishlist_email
Field

Type

Null

id_wishlist

int(10)

No

email

varchar(128
)

No

date_add

datetime

No

Default

ps_wishlist_product
Field

Type

Null

id_wishlist_product

int(10)

No

id_wishlist

int(10)

No

Default

Comments

MIME

id_product

int(10)

No

id_product_attribut
e

int(10)

No

quantity

int(10)

No

priority

int(10)

No

ps_wishlist_product_cart
Field

Type

Null

id_wishlist_produc
t

int(10)

No

id_cart

int(10)

No

quantity

int(10)

No

date_add

datetime

No

Null

Default

Default

Comments

MIME

ps_profile
Field
id_profile

Type
int(10)

Comments

MIME

No

ps_profile_lang
Field

Type

Null

id_lang

int(10)

No

id_profile

int(10)

No

name

varchar(128
)

No

Default

Comments

MIME

5.4.1

Logical Database Design

Figure 48: Logical Database Design

Figure 49:
Diagram

5.4.2

Package

Physical Database Design

Figure 50: Deployment Diagram

5.4.3

Data Dictionary

5.4.3.1.

Database Detail Description

a. Table ps_orders
Attribute
Id_order

Order ID auto generated by system

Total_paid

Total purchase per transaction

Id_customer
Date_add

Customer username
Date & time purchasing

Id_address_delivery

Delivery address must key in for guest customer and auto


display for member.
Payment method selected by customer for every
successfully purchasing.

payment
Total_paid_real

b. Table ps_product
Attribute
Id_product

Description

Confirm total purchasing have been paid.

Description

Sequence number for product auto generate by system.

Id_supplier

Product supplier number will be key-in by the admin.

Id_manufacture Product manufacture will be key-in by the admin.


weight
price
Date_add

c. Table ps_cart
Attribute
Id_cart
Id_currency
Id_guest
Id_customer

Product weight will be key-in by the admin.


Product price will be key-in by the admin.
Product added (date) to log the date the product was added.

Description
Sequence number for shopping bag auto generate by system.
Currency id will be display for selected product.
Guest id will be display for selected product.
Customer id will be display for selected product.

Id_address_delivery Address for delivery will be display for selected product.


SP_STATUS_CART Cart status to show the status of the order.
Date_add

Date & time purchase to show the date purchasing.

6. Appendices
6.1 Work Schedule- Gantt Chart
6.2 Meeting Minutes
6.3 Company Registration Certificate Copy
6.4 Source Codes

You might also like