software business proposal

174
1 [APPLICATION DEVELOPMENT] SCJ 2103 Subject : Application Development [SCJ 2103] Lecturers: 1. Prof. Dr. Ghazali Sulong 2. Assoc. Prof. Dr. Mohd Shafry Mohd Rahim 3. Dr. Mohd Murtadha Mohamad

Upload: mamazura

Post on 12-Jul-2016

18 views

Category:

Documents


9 download

DESCRIPTION

Software Business proposal

TRANSCRIPT

Application development

Subject : Application Development [SCJ 2103]Lecturers: 1. Prof. Dr. Ghazali Sulong2. Assoc. Prof. Dr. Mohd Shafry Mohd Rahim3. Dr. Mohd Murtadha Mohamad

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.

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 Sulong2. Assoc. Prof. Dr. Mohd Shafry Mohd Rahim3. 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 Proposal101.1Introduction101.1.1Description101.1.2Objectives111.1.3Scope111.2Modules121.3Scope of Works131.3.1Roles and Responsibilities131.3.2Project Estimates161.3.3Project Plan161.3.4Project deliverables161.4Software Requirements161.5Work Schedule172.Software Requirement Specification (SRS)192.1Introduction202.1.1Purpose202.1.2Document Conventions202.1.3Scope212.1.4Reference222.2Overview222.3Overall Description232.3.1System Perspective232.3.2System Features242.3.3User Classes and Characteristics262.3.4Operating environment272.3.5Constraints272.3.6System modules29Use Cases29a)Update customer details29b)View order30c)View stock31d)Update Order32e)Process order33f)Update details34g)View Catalogue35h)Place order36i)Register37j)Make Payment382.3.7Sequence Diagram392.3.8Activity Diagram412.3.9Functional requirement432.3.10Non-functional requirement473.Graphical User Interface (GUI)503.1Introduction503.1.1Purpose503.1.2Scope503.1.3Overview513.2Overall Description543.2.1User Interface Model543.3Specific GUI Flow Diagram554.Software Design Description (SDD)644.1Introduction654.1.1Purpose654.1.2Scope654.1.3Overview664.2Technical platform664.2.1Hardware Requirements664.2.2System software674.2.3System interface674.2.4Design language704.3System Architecture704.4Software Domain Design724.4.1Structure724.4.2Classes744.5Activity and sequence diagrams785.Database Design Documentation (DDD)975.1Introduction975.1.1Purpose975.1.2Scope975.2General Information985.2.1System Overview985.2.2Entity Relationship Diagram (ERD)995.2.3Project References1065.2.4 Acronyms and Abbreviations1065.2.5 Points of Contact1075.3Database Identification and Description1075.3.1Naming Conventions1075.3.2Database Identification1075.3.3System Using the Database1085.3.4Relationship with Other Database1085.4Schema Information1086.Appendices1356.1Work Schedule- Gantt Chart1356.1Meeting Minutes1356.1Company Registration Certificate Copy135 6.1 Source Codes135

List of Tables

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

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

List Of Figures

Figure 1: Proposed Business Process Model11Figure 2: Overall Use Case Diagram23Figure 3: Context diagram24Figure 4: Use Case Update Customer Details29Figure 5: Use Case View Order30Figure 6: Use Case View Stock31Figure 7: Use Case Update Order32Figure 8: Use Case Process Order33Figure 9: Use Case Update Details34Figure 10:Use Case View Catalogue35Figure 11:Use Case Place Order36Figure 12: Use Case Register37Figure 13: Use Case Make Payment38Figure 14: Sequence Diagram Guest Process39Figure 15: Sequence Diagram Customer Process39Figure 16: Sequence Diagram Administrator Process40Figure 17: Activity Diagram Guest Process41Figure 18: Activity Diagram Customer Process42Figure 19: Overall Web Page GUI51Figure 20: Customer Page GUI52Figure 21: Guest Page GUI53Figure 22: Registration GUI Diagram56Figure 23: Administrator GUI Diagram58Figure 24: Catalogue GUI Diagram59Figure 25: Purchasing GUI Diagram61Figure 26: Inventory Status GUI Diagram63Figure 27: System Interface GUI67Figure 28: System Architecture71Figure 29: Class Diagram72Figure 30: State Diagram73Figure 31: Sequence Diagram For Register78Figure 32: Activity Diagram For Register80Figure 33: Sequence Diagram For Login81Figure 34: Activity Diagram For Login83Figure 35: Sequence Diagram For Catalogue84Figure 36: Activity Diagram for Catalogue85Figure 37: Sequence Diagram for Add to Cart86Figure 38: Activity Diagram for Add to Cart87Figure 39: Sequence Diagram for Checkout & Payment88Figure 40: Activity Diagram for Checkout & Payment90Figure 41: Sequence Diagram for Report91Figure 42: Activity Diagram for Report92Figure 43: Sequence Diagram for Order Status93Figure 44: Activity Diagram for Order Status94Figure 45: Sequence Diagram for feedback95Figure 46: Activity Diagram for feedback96Figure 47: Entity Relationship Diagram (ERD)99Figure 48: Logical Database Design132Figure 49: Package Diagram133Figure 50: Deployment Diagram133

Software Proposal

IntroductionTheBakeryHouze.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.

DescriptionNowadays 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).

Figure 1: Proposed Business Process Model

ObjectivesBelow 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

ScopeThe 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.

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

ModuleDescription

Registration 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.

Administrator 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)

Catalogue 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

Purchasing 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.

Inventory Status This module will show the movement of products. Admin will monitor the product inventory level.

Scope of WorksRoles and Responsibilities The following table describes each portion of our project that needs to be done.

RoleResponsibilityParticipants

Project Manager 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.Azura

Quality Assurance Manager 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.Faizah

Software Engineer Coordinate system development tasks to include design, integrationand 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 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.Julianawati

Database Administrator 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 technologies.Asyraf

System Administrator

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 situationsAzura/Asyraf

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

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

Milestone NameDeliverables

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 DocumentationEstablish Report

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

No.Deliverables

1Project Proposal Document

2Software Requirements Specification (SRS)

3Graphical User Interface Documentation (GUID)

4System Design Document (SDD)

5Database Design Document (DDD)

6Minutes Of Meeting

7Source Code

8User Manual

9Final Project Report

Software RequirementsSoftwareRecommendedMinimum

PHP*5.2 +4.3.10

MySQL**4.1.x +3.23

Supported Web Servers:

Apache***(with mod_mysql, mod_xml,and mod_zlib)2.x +1.3

Microsoft IIS****76

Work ScheduleOverall 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: - Requirements Analysis System Analysis System Design Module Development Integration testing System Testing Documentation

TheBakeryHouze System Development

Month

No.FasaSept 2012Oct 2012Nov 2012Dec 2012

1Requirements Analysis

2System Analysis

3System Design

4Module Development

5Integration Testing

6System Testing

7Documentation

Table 1: Planned Work Schedule

Software Requirement Specification (SRS)

Revision History

DateVersionDescriptionAuthor

15-October-20121.0SRS formatAzura

16-October-20121.0Change Use cases, sequence diagramFaizah

17-October-20121.0Update Introduction and Overview PartAzura

18-October-20121.0Update overview, overall description, system perspective, system features, user classes and characteristics, operating environment, constraintsAzura

19-October-20121.0Update Functional Requirements and Non Functional RequirementsAzura

19-October-20121.0Update System Modules: User case, sequence diagram, activity flow, use case flow of eventsFaizah

20-October-20121.0Compile and checking the SRS consistency and integrityAzura/Faizah

12-December-20122.0Revised SRSAzura/Faizah

[Application development]SCJ 2103

541 IntroductionPurposeTo 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

Document ConventionsAbbreviatonsDescriptions

e-TBH- TheBakeryHouze Online System

CASE- Computer Aided Software Engineering

GUI- Graphical User Interface

UAT- User Acceptance Test

FS- Functional Specification

NFS- Non Functional Specification

SRS- System Requirement Specification

SLA- 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

ScopeThis 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 availabilityBetter component design to get better performance at peak timeAdvertisement 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 : ActorFor this system, the main actors are as follow:- Level Class User

1. Guest

2. Customer

3. Administrator

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).

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.

Manage Customer DatabaseManage Employee DatabaseManage Product DatabaseLog inView Customer DetailManage Transaction DatabaseView Feedback ReviewAdministrator

registerView cataloguepurchaseLog inView order Make paymentcustomer

Figure 2: Overall Use Case Diagram

Overall DescriptionSystem PerspectiveContext diagram below shall describe the system perspective for e-TBH

Add/Update/Remove catalogue and information item AdministratorManage/ Organize/ Arrange address customer formGuestCustomer e-TBH SystemRegister, View, Update ID CustomerViews Catalogues & info itemChoose item and view item cartProvide address form send itemFill address form for delivery Make payment transactionApprove/ decline payment transactionProvide reference no.Check status itemApprove purchase

Figure 3:Context diagram

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.

User Classes and Characteristics User classes GuestThe person who visit e-TBH System. Among activities that they can access are register to be a customer, browse catalogue, give feedback. CustomerThe 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 AdministratorThe 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 characteristicsThe 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 LAN (Local Area Network) connection Internet Gateway/ Internet Access & Browser

ConstraintsThere 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.

System modules 1. 2. 2.1. 2.2. 2.3. 2.3.1. 2.3.2. 2.3.3. 2.3.4. 2.3.5. 2.3.6. Use Case

Figure 4: Use Case Update Customer DetailsUpdate customer detailsBrief Description:This use case describes how admin view and edit customer details. ActorsAdmin Pre-conditionsThere is an access to the bakery system. Post-conditionsAdmin performed update customer details. Flow of eventsBasic flow1. The use case begins when admin click the update customer details button to update.2. Two options will be displayed :-1. Add/delete customer details3. View customer details.4. If admin click add/delete customer details, customer details will be displayed5. 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

View orderFigure 5: Use Case View Order

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

Actors Admin

Pre-conditionsThere is an access to the bakery system.

Post-conditions Admin view the order.

Flow of eventsBasic flow1. The use case begin when admin click the view order2. The system will display the status of the application. 3. Admin click Print to print out the order details.4. Admin click close5. The use case ends successfully

Alternative Flow1. 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.

View stock

Figure 6: Use Case View Stock

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

ActorsAdmin

Pre-conditionsAdmin access the stock menu screen

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

Flow of EventsBasic flow1. 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

Update Order Figure 7: Use Case Update Order

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

ActorsAdmin

Pre-conditions Admin access the order menu screen

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

Flow of Events.Basic flow1. 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 flow1. If no response from system, system shall display the message Network unavailable try later . The use case ends with an indication of failure.

Process order

Figure 8: Use Case Process Order

Brief descriptionThis 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 EventsBasic flow1. 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 flow1. When the process unsuccessfully system will ask admin to reprocess whether not complete or network unavailable at that time.

Update details

Figure 9: Use Case Update Details

Brief descriptionThis 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 flow1. The use case begins when customer click the update customer details button to update.2. Two options will be displayed :--view/edit details3. Print details4. If customer click view/edit details, customer details will be displayed5. System will display a message This detail has been updated after edited new.6. After it been updated, admin can view and print the details.7. The use case end successfully

View CatalogueFigure 10:Use Case View Catalogue

Brief descriptionThis use case allow customer to view catalogue when shopping.

ActorsCustomer

Pre-conditions Admin access the catalogue.

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

Flow of Events.Basic flow1. 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.

Place order

Figure 11:Use Case Place Order

Brief DescriptionThis use case describes how customer can order goods.

ActorsCustomer

Pre-conditionsThere is an access to the bakery system.

Post-conditionsCustomer place and view the order.

Flow of events.Basic flow1. 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 close6. The use case ends successfully

Register Figure 12: Use Case Register

Brief DescriptionThis use case describes how guest want to register as customer in thebakery system.

ActorsGuest

Pre-conditionsThere is an access to the bakery system.

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

Flow of events. Basic flow1. 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.

Make PaymentFigure 13: Use Case Make Payment

Brief DescriptionThis use case describes how customer confirmed their order bypaying to the bakeryActors CustomerPre-conditions There is an access to the bakery system. Customer already login to the bakery system

Post-conditionsCustomer verified their order and transaction and can print their details.Flow of events. Basic flow1. The use case begin confirmed their order and make transaction2. Transaction successful 3. They can print their purchase details for future reference.

Sequence Diagram 2.3.7. Sequence Diagram for Guest Process

Figure 14:Sequence Diagram Guest Process

Sequence Diagram for Customer ProcessFigure 15: Sequence Diagram Customer Process

Sequence Diagram for Administrator Process

Figure 16:Sequence Diagram Administrator Process

Activity Diagram2.3.8. Activity Diagram for Guest Process

Not registeredGuest Customer Enter POB SystemBrowse page content and function menuDisplay item Catalogue and view detailRegister Select item in catalogue list View Add To CartAdd/Change/Remove item In Add To CartCheckoutFill Billing /select Shipping AddressChoose Shipping MethodIf shipping item in another address Choose Payment MethodProvide reference no.Purchase completeCredit Card Invalid FaPurchase failedCheck Status orderEnter References no.References no. invalidOrder failedDisplay detail status orderActivity completeFill mandatory field with a * signFigure 17:Activity Diagram Guest Process Activity Diagram for Customer Process

Not RegisteredGuest Customer Enter POB SystemBrowse page content and function menuDisplay item Catalogue and view detailRegister Select item in catalogue list View Add To CartAdd/Change/Remove item In Add To CartCheckoutFill Billing /select Shipping AddressChoose Shipping MethodIf shipping item in another address Choose Payment MethodProvide reference no.Purchase completeCredit Card Invalid FaPurchase failedCheck Status orderEnter References no.References no. invalidOrder failedDisplay detail status orderActivity completeFill mandatory field with a * sign

Figure 18: Activity Diagram Customer Process

Functional requirement2.3.9. User requirementGuest 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 : Key in the billing details every time purchasing process is done. Key in the shipping address for delivery purpose. Select the shipping method option; delivery or Currier service. 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; 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 : Select the shipping method option; delivery or Currier service. 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; 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. Reporting on activities related on stock such as total sales and stock inventory may be issued by the day, date, month or year.

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

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. E-TBH shall provide details for various analysis reports

The prototype of E-TBH is required to be operational by 2nd 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.

Non-functional requirementThis 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.

Graphical User Interface (GUI)

2 IntroductionPurposeThis 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.

ScopeE-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.

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

3. 3.1. 3.1.1. 3.1.2. 3.1.3. Overall web pageFigure 19: Overall Web Page GUI

PRODUCTSHOPPING CART

HOMEPAGE

SHOW CARTCONTACT US

Customer page

HOMEPAGE

Figure 20: Customer Page GUIPRODUCT CATEGORYCHECKOUT ORDERLOGIN PAGE

Guest page

HOMEPAGE

PRODUCT CATEGORY

SHOW CART

REGISTER

LOGIN

CHECKOUT ORDER

Figure 21:Guest Page GUI

Overall DescriptionUser Interface Model3.2. 3.2.1. User Interface Model For Guest Customer Screen PageThis 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.

User Interface Model For Customer Screen PageThis 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.

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

Specific GUI Flow Diagram3.2.2. 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 DiagramDescription Flow 1

Figure 22:Registration GUI DiagramUser 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 DiagramFigure 23:Administrator GUI Diagram

Description Flow 1Admin login interface.

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

Catalogue GUI DiagramBrief 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 DiagramFigure 24: Catalogue GUI Diagram

Description Flow 1User can select the products by the category that been given.

Description Flow 2

List of products andtheir price will be shown.

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

Description Flow 4User 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 DiagramBrief 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 DiagramFigure 25: Purchasing GUI Diagram

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

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

Description Flow 3User choose payment method

Description Flow 4user 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 DiagramFigure 26:Inventory Status GUI Diagram

Description Flow 1

Admin login to administrator site

Description Flow 2Admin monitor the product inventory level

Software Design Description (SDD)

Revision History

DateVersionDescriptionAuthor

04/11/20121.0Initial draftAzuraAshrafFaizah

13/11/20121.0AmendmentAzuraAshrafFaizah

13/12/20122.0AmendmentAzura

3 IntroductionPurposeTo 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.0Project Name : E-TheBakeryHouze System (e-TBH)Brief Description of Project : A web based application for online bakery shop

ScopeThis 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

OverviewOur 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.

Technical platform Hardware Requirements* CPU 2.0 MHZ* RAM 16 GB* Hard disk 500 GB1.2.1.2 Operation System / Server* Mac or Windows as platform* Apache as Web Server* MYSQL database

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

System interface

Figure 27: System Interface GUI

Homepage

Product

Shopping Cart

Contact Us

Design languageSoftwareRecommendedMinimum

PHP*5.2 +4.3.10

MySQL**4.1.x +3.23

Supported Web Servers:

Apache***(with mod_mysql, mod_xml,and mod_zlib)2.x +1.3

Microsoft IIS****76

System ArchitectureThis (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.

DATABASEMYSQLFigure 28: System Architecture

Software Domain DesignStructure4. 4.1. 4.2. 4.3. 4.4. 4.4.1. Class Diagram

Figure 29: Class DiagramState diagram

Figure 30: State Diagram

Classes4.4.2. Class Descriptions1) UserThis 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) AdministratorThis 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) CustomerThis 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) CategoryThis 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) ProductThis 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) ShoppingCartShoppingCart 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) OrdersThis 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) ShippingInfoThis 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) OrderDetailThis 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) CartItemA 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.

Activity and sequence diagrams Register

Figure 31: Sequence Diagram For Register

Flow Of EventUse Case begins when the guest is registered as customer into the system for registered customer.

Basic Flowa) 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.

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.

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

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

Activity Diagram

Figure 32: Activity Diagram For Register

Login

Figure 33: Sequence Diagram For Login

Brief DescriptionThis 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.

Flow of EventsThe use case begins when the user open into ETBH System

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.

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.

Special RequirementsThere is no special requirement associated with this use case

PreconditionsThe user must know and confirm the username &password.

Post conditionsIf the use case was successfully, the user ready to use the system.

Activity Diagram

Figure 34: Activity Diagram For Login

Catalogue

Figure 35: Sequence Diagram For Catalogue

Flow Of EventThe process begins when the user enters information on search criteria provided.

Basic Flow1. Customer use search function using handy Search Tool which specific product type2. 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 item5. The customer able to select preferred item to make a request purchase6. The user request item to the system successfully.

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.

Precondition NonePost conditionsCustomer 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.

Activity Diagram

Figure 36: Activity Diagram for Catalogue

Add To Cart

Figure 31: Sequence Diagram for Add to CartFigure 37: Sequence Diagram for Add to Cart

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

Basic Flow1. The user access into add to cart portion in the system.2.The user selects each item for review and other transaction.3.The user allows to add, change and remove item has chosen in add to cart.4. User need to confirm that item in add to cart5.The user request item to the system successfully.

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

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

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

Activity Diagram

Figure 38: Activity Diagram for Add to Cart

Checkout & Payment

Figure 39: Sequence Diagram for Checkout & Payment

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.

Basic Flow1. Customer access in Checkout menu2. Confirm and ready to purchase with enter detail information3. Customer must complete all mandatory fields with a * sign4. Customers compulsory would have to enter the billing details when a purchase is made5. 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 Credit1. 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.

Alternative flow None

PreconditionOption payment method must be made directly by the system site.

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

Activity Diagram

Figure 40: Activity Diagram for Checkout & Payment

Report

Figure 41: Sequence Diagram for Report

Flow Of EventUse Case begins when the user wants to display the report Basic Flow1. Users will select the report menu2. List of reports according to the specifications will be displayed3. Users are required to select required report4. The system will issue a confirmation message whether to print the report or not5. The report will be printed if the user select the 'yes'

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

PreconditionList report is displayed according to the specifications is needed

Post conditionThe report will be printed into hardcopy form

Activity Diagram

Figure 42: Activity Diagram for Report Order Status

Figure 43: Sequence Diagram for Order Status

Flow Of EventUse Case begins when the user wants to display and trace of purchases and knows latest status order

Basic Flow1. Users will select the status order menu2. key-in a correct reference number for each searching item3. View item list of status order as requested

Flow AlternativeThe system will display an error massage if user insert an invalid reference number.

PreconditionUser must enter correct reference number to make knows status order.

Post conditionDisplay update status item according enter a valid reference number.

Activity Diagram

Figure 44: Activity Diagram for Order Status

Feedback

Figure 45: Sequence Diagram for feedback

Flow Of EventUse Case begins when the user will enter feedback based on related problem, products, service and so on

Basic Flow1. Users will select the feedback/customer menu2. 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.

Flow AlternativeThe system will display an error massage if users cancel for feedback request.

PreconditionUser must type feedback text into single form

Post conditionDisplay feedback by customer for response info by admin.

Activity Diagram

Figure 46: Activity Diagram for feedback

Database Design Documentation (DDD)

4 IntroductionPurposeDatabase 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. ScopeThe 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 AreaSub Data Area

1. SystemAdministration/Configuration/LayoutSystem/SystemLogs/ etc;

2. ProductsCatalogue/Category/Inventory/Gallery/Index/Query/ etc;

3. CustomerGroup /Entity/Address/Review /ShoppingCart/ etc;

4. SalesRules/Order /Quote/TransactionsSetup/ etc.

General InformationSystem OvervieweTBH 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.

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)

Project ReferencesReferences to database design referred: www.uml.org www.visualcase.com

Acronyms and Abbreviations

eTBH The Bakery Houze systemDD-Database Design ERD-Entity Relationship DiagramNC-Naming ConventionsB2C-Business to CustomerPoints of Contact Azura Awang - [email protected] Julianawati Jaafar - [email protected] Faizah Johari - [email protected] Asyraf Anwari Bin Rusli neslosuam @gmail.com

Database Identification and Description Naming ConventionsThis 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.

Database IdentificationData 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 DBTable Name

Description(What is it?)Ownership(Who is responsible for it?)Data characteristics(How is it measured and how big or small can it be?)

1. ps_profileTo store eTBH owner and employee data as administrator usereTBH owner as Super AdminTotal of employee

2. ps_customerTo store customer detailsSuper Admin/Admin:eTBH Owner/EmployeeTotal customer

3. ps_cartTo store purchasing detailsAdmin:EmployeeShopping cart

4. ps_productTo store product detailsSuper Admin:eTBH ownerStock inventory

5. ps_ordersTo store payment detailAdmin:EmployeeCheckout :Guest/customer

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.

Relationship with Other Database

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

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 Tablesps_accessFieldTypeNullDefaultCommentsMIME

id_profileint(10)No

id_tabint(10)No

viewint(11)No

addint(11)No

editint(11)No

deleteint(11)No

ps_addressFieldTypeNullDefaultCommentsMIME

id_addressint(10)No

id_countryint(10)No

id_stateint(10)YesNULL

id_customerint(10)No0

id_manufacturerint(10)No0

id_supplierint(10)No0

aliasvarchar(32)No

companyvarchar(32)YesNULL

lastnamevarchar(32)No

firstnamevarchar(32)No

address1varchar(128)No

address2varchar(128)YesNULL

postcodevarchar(12)YesNULL

cityvarchar(64)No

othertextYesNULL

phonevarchar(16)YesNULL

phone_mobilevarchar(16)YesNULL

date_adddatetimeNo

date_upddatetimeNo

activetinyint(1)No1

deletedtinyint(1)No0

ps_carrierFieldTypeNullDefaultCommentsMIME

id_carrierint(10)No

id_taxint(10)Yes0

namevarchar(64)No

urlvarchar(255)YesNULL

activetinyint(1)No0

deletedtinyint(1)No0

shipping_handlingtinyint(1)No1

range_behaviortinyint(1)No0

is_moduletinyint(1)No0

ps_carrier_groupFieldTypeNullDefaultCommentsMIME

id_carrierint(10)No

id_groupint(10)No

ps_carrier_langFieldTypeNullDefaultCommentsMIME

id_carrierint(10)No

id_langint(10)No

delayvarchar(128)YesNULL

ps_carrier_zoneFieldTypeNullDefaultCommentsMIME

id_carrierint(10)No

id_zoneint(10)No

ps_cartFieldTypeNullDefaultCommentsMIME

id_cartint(10)No

id_carrierint(10)No

id_langint(10)No

id_address_deliveryint(10)No

id_address_invoiceint(10)No

id_currencyint(10)No

id_customerint(10)No

id_guestint(10)No

recyclabletinyint(1)No1

gifttinyint(1)No0

gift_messagetextYesNULL

date_adddatetimeNo

date_upddatetimeNo

ps_cart_discountFieldTypeNullDefaultCommentsMIME

id_cartint(10)No

id_discountint(10)No

ps_cart_productFieldTypeNullDefaultCommentsMIME

id_cartint(10)No

id_productint(10)No

id_product_attributeint(10)YesNULL

quantityint(10)No0

date_adddatetimeNo

ps_categoryFieldTypeNullDefaultCommentsMIME

id_categoryint(10)No

id_parentint(10)No

level_depthtinyint(3)No0

activetinyint(1)No0

date_adddatetimeNo

date_upddatetimeNo

ps_category_groupFieldTypeNullDefaultCommentsMIME

id_categoryint(10)No

id_groupint(10)No

ps_category_langFieldTypeNullDefaultCommentsMIME

id_categoryint(10)No

id_langint(10)No

namevarchar(128)No

descriptiontextYesNULL

link_rewritevarchar(128)No

meta_titlevarchar(128)YesNULL

meta_keywordsvarchar(255)YesNULL

meta_descriptionvarchar(255)YesNULL

ps_category_productFieldTypeNullDefaultCommentsMIME

id_categoryint(10)No

id_productint(10)No

positionint(10)No0

ps_contactFieldTypeNullDefaultCommentsMIME

id_contactint(10)No

emailvarchar(128)No

positiontinyint(2)No0

ps_contact_langFieldTypeNullDefaultCommentsMIME

id_contactint(10)No

id_langint(10)No

namevarchar(32)No

descriptiontextYesNULL

ps_countryFieldTypeNullDefaultCommentsMIME

id_countryint(10)No

id_zoneint(10)No

iso_codevarchar(3)No

activetinyint(1)No0

contains_statestinyint(1)No0

need_identification_numbertinyint(1)No

ps_country_langFieldTypeNullDefaultCommentsMIME

id_countryint(10)No

id_langint(10)No

namevarchar(64)No

ps_currencyFieldTypeNullDefaultCommentsMIME

id_currencyint(10)No

namevarchar(32)No

iso_codevarchar(3)No0

signvarchar(8)No

blanktinyint(1)No0

formattinyint(1)No0

decimalstinyint(1)No1

conversion_ratedecimal(13,6)No

deletedtinyint(1)No0

ps_customerFieldTypeNullDefaultCommentsMIME

id_customerint(10)No

id_genderint(10)No

id_default_groupint(10)No1

secure_keyvarchar(32)No-1

emailvarchar(128)No

passwdvarchar(32)No

last_passwd_gentimestampNoCURRENT_TIMESTAMP

birthdaydateYesNULL

lastnamevarchar(32)No

newslettertinyint(1)No0

ip_registration_newslettervarchar(15)YesNULL

newsletter_date_adddatetimeYesNULL

optintinyint(1)No0

firstnamevarchar(32)No

dnivarchar(16)YesNULL

activetinyint(1)No0

deletedtinyint(1)No0

date_adddatetimeNo

date_upddatetimeNo

ps_customer_groupFieldTypeNullDefaultCommentsMIME

id_customerint(10)No

id_groupint(10)No

ps_date_rangeFieldTypeNullDefaultCommentsMIME

id_date_rangeint(10)No

time_startdatetimeNo

time_enddatetimeNo

ps_deliveryFieldTypeNullDefaultCommentsMIME

id_deliveryint(10)No

id_carrierint(10)No

id_range_priceint(10)YesNULL

id_range_weightint(10)YesNULL

id_zoneint(10)No

pricedecimal(17,2)No

ps_discountFieldTypeNullDefaultCommentsMIME

id_discountint(10)No

id_discount_typeint(10)No

id_customerint(10)No

id_currencyint(10)No0

namevarchar(32)No

valuedecimal(17,2)No0.00

quantityint(10)No0

quantity_per_userint(10)No1

cumulabletinyint(1)No0

cumulable_reductiontinyint(1)No0

date_fromdatetimeNo

date_todatetimeNo

minimaldecimal(17,2)YesNULL

activetinyint(1)No0

ps_discount_categoryFieldTypeNullDefaultCommentsMIME

id_categoryint(11)No

id_discountint(11)No

ps_discount_langFieldTypeNullDefaultCommentsMIME

id_discountint(10)No

id_langint(10)No

descriptiontextYesNULL

ps_discount_quantityFieldTypeNullDefaultCommentsMIME

id_discount_quantityint(10)No

id_discount_typeint(10)No

id_productint(10)No

id_product_attributeint(10)YesNULL

quantityint(10)No

valuedecimal(17,2)No

ps_discount_typeFieldTypeNullDefaultCommentsMIME

id_discount_typeint(10)No

ps_discount_type_langFieldTypeNullDefaultCommentsMIME

id_discount_typeint(10)No

id_langint(10)No

namevarchar(64)No

ps_employeeFieldTypeNullDefaultCommentsMIME

id_employeeint(10)No

id_profileint(10)No

lastnamevarchar(32)No

firstnamevarchar(32)No

emailvarchar(128)No

passwdvarchar(32)No

last_passwd_gentimestampNoCURRENT_TIMESTAMP

stats_date_fromdateYesNULL

stats_date_todateYesNULL

activetinyint(1)No0

ps_featureFieldTypeNullDefaultCommentsMIME

id_featureint(10)No

ps_feature_langFieldTypeNullDefaultCommentsMIME

id_featureint(10)No

id_langint(10)No

namevarchar(128)YesNULL

ps_feature_productFieldTypeNullDefaultCommentsMIME

id_featureint(10)No

id_productint(10)No

id_feature_valueint(10)No

ps_feature_valueFieldTypeNullDefaultCommentsMIME

id_feature_valueint(10)No

id_featureint(10)No

customtinyint(3)YesNULL

ps_feature_value_langFieldTypeNullDefaultCommentsMIME

id_feature_valueint(10)No

id_langint(10)No

valuevarchar(255)YesNULL

ps_groupFieldTypeNullDefaultCommentsMIME

id_groupint(10)No

reductiondecimal(17,2)No0.00

price_display_methodtinyint(4)No0

date_adddatetimeNo

date_upddatetimeNo

ps_group_langFieldTypeNullDefaultCommentsMIME

id_groupint(10)No

id_langint(10)No

namevarchar(32)No

file_namevarchar(255)YesNULL

ps_imageFieldTypeNullDefaultCommentsMIME

id_imageint(10)No

id_productint(10)No

positiontinyint(2)No0

covertinyint(1)No0

ps_image_langFieldTypeNullDefaultCommentsMIME

id_imageint(10)No

id_langint(10)No

legendvarchar(128)YesNULL

ps_image_typeFieldTypeNullDefaultCommentsMIME

id_image_typeint(10)No

namevarchar(16)No

widthint(10)No

heightint(10)No

productstinyint(1)No1

categoriestinyint(1)No1

manufacturerstinyint(1)No1

supplierstinyint(1)No1

scenestinyint(1)No1

ps_messageFieldTypeNullDefaultCommentsMIME

id_messageint(10)No

id_cartint(10)YesNULL

id_customerint(10)No

id_employeeint(10)YesNULL

id_orderint(10)No

messagetextNo

privatetinyint(1)No1

date_adddatetimeNo

ps_message_readedFieldTypeNullDefaultCommentsMIME

id_messageint(10)No

id_employeeint(10)No

date_adddatetimeNo

ps_metaFieldTypeNullDefaultCommentsMIME

id_metaint(10)No

pagevarchar(64)No

ps_meta_langFieldTypeNullDefaultCommentsMIME

id_metaint(10)No

id_langint(10)No

titlevarchar(128)YesNULL

descriptionvarchar(255)YesNULL

keywordsvarchar(255)YesNULL

ps_moduleFieldTypeNullDefaultCommentsMIME

id_moduleint(10)No

namevarchar(64)No

activetinyint(1)No0

ps_module_countryFieldTypeNullDefaultCommentsMIME

id_moduleint(10)No

id_countryint(10)No

ps_module_currencyFieldTypeNullDefaultCommentsMIME

id_moduleint(10)No

id_currencyint(11)No

ps_module_groupFieldTypeNullDefaultCommentsMIME

id_moduleint(10)No

id_groupint(11)No

ps_order_det