Software Engineering Assignment





Berta’s Pizzeria Website (BPW)

Application Design Document

v1.0


Software Engineering Assignment 1

http://beyondprophecy.blogspot.com/




<Author’s name>

CS 405 Software Engineering

Grantham University

<date>



Contents

1Introduction 3

1.1Purpose 3

1.2Project schedule 3

The following Gantt chart displays the project schedule, tasks, and milestones 3

<Insert a scaled down image of your Gantt chart here> 3

The following PERT chart depicts the project’s critical path. 3

<Insert a scaled down image of your PERT chart here> 3

1.3Scope 3

1.4Document Usage 3

2Design Overview 4

2.1Description of Problem 4

2.2Requirements and use cases 4

2.2.1 Requirements 4

R5.4 Authorized employees shall have the ability to create custom reports that contain fields selected from a predetermined list of data fields. 4

2.2.2 High-level use cases 5

<Add high-level use cases> 5

2.2.3 High-level use case diagrams 5

2.3Technologies 5

2.4Architecture 5

2.4.1General Design 5

2.4.2Architecture Characteristics 5

2.3.4Design stupid objects 6

2.3.5User Interface / Business Layer Separation 6

3Class diagram 6

3.1Design class diagram 6

The following class diagram shows the relevant classes and associations of the BPW design. 6

<Paste your class diagram here> 6

3.2Data implementation 6

5 References 7



  1. Introduction


This Application Design Document has been created to outline the proposed application design for a website for Berta’s Pizzeria website, BPW. The BPW is intended to offer online pizza ordering to Berta’s customers. By designing the BPW, <your name> will include capabilities for customer registration, and ordering from Berta’s online menu. This document and the design artifacts listed herein comply Agile Unified Process (AUP).


    1. Purpose

The aim of this application Design Document is to provide a description of how we will construct BPW. This artifact ensures that the BPW design fulfills the specified requirements. The Application Design Document contains a description of the application architecture, design, and database design.


    1. Project schedule

The following Gantt chart displays the project schedule, tasks, and milestones
<Insert a scaled down image of your Gantt chart here>

Figure 1 Gantt Chart


The following PERT chart depicts the project’s critical path.
<Insert a scaled down image of your PERT chart here>

Figure 2 Pert chart


    1. Scope

This document’s scope is to record the design of the Berta’s Pizzeria Website to guide stakeholders in an agile development effort.


    1. Document Usage

Developers may use this document to create concrete instances of objects and interactions modeled here.



  1. Design Overview


    1. Description of Problem

Berta’s Pizza has historically faced many challenges and shortcomings competing with local Pizza restaurants in terms of receiving delivery and takeout orders.


    1. Requirements and use cases
      1. Requirements

Description: Customers must register to use the site. Customers may order a small, medium or large sized pizza and select up to 3 toppings. Customers may choose delivery or carry-out and may add beverages and side items to their orders.

Website Requirements

R1. Customer registration

R1.1 The customer shall enter their registration information into a website registration form

R1.2 After a customer clicks the “Submit” button, the system shall store a cookie on the customer’s computer and send a verification email to the customer.

R1.3 The customer shall click the link in the verification email to verify their email address to finalize their registration.

R2. Customer order

R2.1 Customers shall have the ability to select pizza size

R2.2 Customers shall have the ability to select up to three pizza toppings

R2.2 The customer shall have the ability to add side items

R2.3 The customer shall have the ability to add beverages

R2.4 The customer shall have the ability to choose delivery or carryout


R3. Customer checkout

R3.1 The customer shall have the ability to review the order

R3.2 The customer shall have the ability to change the order and checkout again

R3.3 The customer shall have the ability to confirm the order

R3.4 The customer shall have the ability to enter payment information

R3.5 The website shall encrypt and store the customer’s payment information

R3.6 The customer shall have the ability to submit the order

R3.7 The system shall transfer the order to Berta’s order fulfillment system

R3.8 The system shall archive the order after submitting it to Berta’s system


R4. The website system processes the customer credit card

R4.1 The system shall send the customer's payment information to the processor through a secure internet connection

R4.2 The system shall process the payment and return an order confirmation number to the customer


R5. Berta’s website maintenance

R5.1 Authorized employees shall have the ability to add or remove menu categories

R5.2 Authorized employees shall have the ability to add or delete menu items

R5.3 Authorized employees shall have the ability to access automated reports

R5.4 Authorized employees shall have the ability to create custom reports that contain fields selected from a predetermined list of data fields.
      1. High-level use cases

<Add high-level use cases>
      1. High-level use case diagrams


<Add high-level use cases diagrams for each high-level use case>


    1. Technologies

The proposed website will utilize Host Gator website hosting and use cPanel for website management.

A LAMP stack, a Linux, Apache, MySQL, and PHP/Python/Perl web platform, will host the BPW. Additionally, BPW is compliant with all internal Host Gator network security protocols and policies as well as industry regulatory policies.


    1. Architecture


      1. General Design

The following sequence diagram shows interactions between actors and relevant objects representing the BPW online order system, menu maintenance, and reporting.

<Paste your sequence diagram here>

Figure 3 Domain model


The following domain model shows conceptual classes that model the BPW online order system, menu maintenance, and order fulfillment



<insert the domain model here>

Figure 4 Domain model




      1. Architecture Characteristics
        1. Design for change

<How will your design apply this principle?>


        1. Separation of concerns


<How will your design apply this principle?>



        1. High cohesion

<How will your design apply this principle?>


      1. Low coupling


<How will your design apply this principle?>


      1. Design stupid objects


<How will your design apply this principle?>

      1. User Interface / Business Layer Separation

<What patterns or principles will your design use to separate the UIs from business objects?>




  1. Class diagram


    1. Design class diagram

The following class diagram shows the relevant classes and associations of the BPW design.
<Paste your class diagram here>

Figure 5 Class diagram



    1. Data implementation



The following image is a data table that will store data for an object described in this design document.


<Paste an image of a data table definition>

Figure 6 Data table




5 References


Kung, David. (2014). Object-Oriented Software Engineering: An Agile Unified Methodology. McGraw-Hill Higher Education