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>