Assignment Overview - You are required to design and develop a small console application in any Object-Oriented Programming Language. Completion of this assignment requires an understanding of:
- Analysis and design techniques, including the development of use cases and UML diagrams - specifically, use case diagrams, class diagrams, and sequence diagrams.
- Object-oriented programming, focusing on polymorphism and the use of interfaces.
Learning Outcomes Assessed - The following course learning outcomes are assessed by completing this assessment:
- Understand the significance of detailed project planning and control, good communication and documentation and the use of appropriate tools in order to provide a quality product.
- Understand the distinction between software engineering and programming, and thus the distinction between a software configuration and a program.
- Understand the methods and techniques involved in designing, implementing and maintaining an information system, in particular using an object-oriented approach.
- Demonstrate skills in designing and implementing an information system.
Assessment Details - Ana, the owner of Delicious Pizza and Pasta, is opening a takeaway shop for selling Pizza and Pasta to the customers. She wants to offer some packages to the interested customers to promote her business. To do so, she is offering the following packages:
Packages for Pizza -
1 large Pizza 12 AUD
2 large Pizzas 22 AUD
N large pizzas (For N>=3) N*10 AUD and the customer will receive 1 garlic bread for every three pizzas
[For example, if a customer is interested to buy 10 large pizzas, Ana will provide 3 complimentary garlic breads for 100 AUD]
Packages for Pasta -
1 large Pasta 8 AUD
2 large Pasta 15 AUD
M large Pasta (For M>=3) M*7 AUD and the customer will receive 1.25 Liter soft drinks for every 3 Pasta
[For example, if a customer is interested to buy 6 large Pasta, Ana will provide 2 complimentary 1.25-liter soft drinks for 42 AUD]
Special Offer -
For every 3 Pizzas AND 3 Pasta, Ana will give a small box of Baklava (a famous dessert item) in addition to garlic bread and 1.5-liter soft drinks.
You have agreed to design and develop a small console program for Ana, enabling her to select the appropriate item and the package, and calculate the corresponding cost. Once an order is processed, the program will return to the menu and ready to commence another order. This payment information should display:
- total payment amounts received for pizza order.
- total payment amounts received for pasta order.
- total amount of pizzas and pasta sold in that session.
A session indicates the duration Ana is using the program after opening it. There is no need for this data to persist once the program has stopped running.
Ana wants the system to be flexible so that she can include additional items and packages at a later date without having to rewrite the entire program. This means you will need to use an interface for processing payments, and polymorphism for the various food item classes, so that the new and different packages may be added at a later date with minimal updates to the code. She asked that you provide her with some documentation before you commence coding so that she is able to verify that the program you intend to code will address her requirements. She would like to see the use cases to summarize the requirements in written format, as well as use case diagrams, class diagrams and sequence diagrams.
Attachment:- Software Analysis and Design.rar