Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Construct a table with columns, for the controller, expert and creator patterns

ID: 3578586 • Letter: C

Question

Construct a table with columns, for the controller, expert and creator patterns and rows for the design principles presented in Chapter 6. Mark an x in intersecting cells to indicate which patterns support which design principles. Provide explanations to justify results.

The problem: Berta's Pizzeria needs a website where customers may order pizzas.

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

Website Requirements

R1. Customer registration

R1.1 The customer shall enter their 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 sides

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 fulfilment 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 remove 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 contains fields selected from a predetermined list of data fields

Explanation / Answer

Customer Registration

<!DOCTYPE html>

<html xmlns="http://www.rb.3/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>First Name</td>
<td><asp:TextBox ID="txtfname" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>last Name</td>
<td><asp:TextBox ID="txtlname" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Address</td>
<td><asp:TextBox ID="txtaddress" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Phone</td>
<td><asp:TextBox ID="txtphone" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Password</td>
<td><asp:TextBox ID="txtpassword" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>Email</td>
<td><asp:TextBox ID="txtemail" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td></td>
<td><asp:Button ID="btnsubmit" runat="server" Text="Submit" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>

Customer Order

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="order.aspx.cs" Inherits="chegg.order" %>

<!DOCTYPE html>

<html xmlns="http://www.rb.3/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>Pizza Size</td>
<td>
<asp:RadioButtonList ID="rblpizza" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Table">
<asp:ListItem Text="Small" Value="Small"></asp:ListItem>
<asp:ListItem Text="medium" Value="medium"></asp:ListItem>
<asp:ListItem Text="Regular" Value="Regular"></asp:ListItem>

</asp:RadioButtonList>
</td></tr>
<tr>
<td>Pizza Topping</td>
<td>
<asp:RadioButtonList ID="rbltopping" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Table">
<asp:ListItem Text="Veggies" Value="veggies"></asp:ListItem>
<asp:ListItem Text="meats" Value="meats"></asp:ListItem>
<asp:ListItem Text="Cheese" Value="cheese"></asp:ListItem>

</asp:RadioButtonList>
</td></tr>
<tr>
<td>Pizza Sides</td>
<td>
<asp:RadioButtonList ID="rblsides" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Table">
<asp:ListItem Text="Pasta" Value="pasta"></asp:ListItem>
<asp:ListItem Text="Breads" Value="breads"></asp:ListItem>
<asp:ListItem Text="Dips" Value="dips"></asp:ListItem>

</asp:RadioButtonList>
</td></tr>
<tr>
<td>Pizza beverages</td>
<td>
<asp:RadioButtonList ID="rblbeverages" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Table">
<asp:ListItem Text="coke" Value="coke"></asp:ListItem>
<asp:ListItem Text="fanta" Value="fanta"></asp:ListItem>
<asp:ListItem Text="sprite" Value="sprite"></asp:ListItem>

</asp:RadioButtonList>
</td></tr>
<tr>
<td>Pizza beverages</td>
<td>
<asp:RadioButtonList ID="rbldeliver" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Table">
<asp:ListItem Text="Delivery" Value="delivery"></asp:ListItem>
<asp:ListItem Text="Carryout" Value="carryout"></asp:ListItem>
  
</asp:RadioButtonList>
</td></tr>
  
</table>
</div>
</form>
</body>
</html>