You have been asked to develop a pizza ordering application. Here is the information your manager just shared with you about this software development project.
The pizza ordering application allows customers with a web browser to order pizza for home delivery. To place an order, a customer would search to find items to purchase (specialty pizzas, sodas, desserts, salads, etc.), and then add items one at a time to a shopping cart. They could also view a page that showed the daily special. The customer could search again for more items if they wanted. They would also have the option to build their own pizza with as many toppings as they liked. When all items were chosen, the customer would see the cost of their order, and also be prompted to provide a delivery address for that specific order. If not paying with cash, the customer would provide credit or debit card information for use on the current order. The system should have an option for customers to register with the pizza shop. They could then save their name, address information and e-mail address, so that they wouldn’t have to enter this information every time they placed an order. If they didn’t want to save their personal details on the site, they could register their e-mail address only, which would let them receive coupons and updates on special promotions.
To complete this assignment, make assumptions as needed--just be sure to document any assumptions you make.
Milestone #1 (75 points):
1.Identify the following information about the pizza ordering application:
a.Purpose or goal of the system
b.Primary user(s) of the system
2.Assume the role of the customer. Identify 10 user requirements in user story format “As a (role), I want (feature), so that I can (justification/benefit).”
3.Identify 5 functional requirements and 2 or more non-functional requirements using the “shall” format from Chapter 4.
4.Identify 5 use case scenarios and create a simple use case UML diagram for each.
Milestone #2 (50 points):
i.Complete a UML activity diagram that provides a high level overview of the major processes that characterize the pizza ordering application.
ii.Assume a Test Driven Development approach. Identify 5 or more failing tests and what you would do to make them pass. These tests will form the basis of your unit testing strategy.