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

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.ITECH 7201: Software Analysis and Design
CRICOS Provider No. 00103D ITECH7201 Assignment 1 2007.docx Page 1 of 4
Assignment 1
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
Timelines and Expectations
Percentage Value of Task: 20%
Due: Sun, May 10, 2020 – 23:55 (week 7)
Minimum time expectation: 20 hours
Assignment Type: Individual
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]
CRICOS Provider No. 00103D Page 2 of 4
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.
Submission
You are required to submit the assignment before the due date consisting of:
 A Zip file containing the following (submitted via Moodle under the Assignment 1 link)
o A written report comprising:
 Use Cases summarizing the requirements
 UML Diagrams, created in Enterprise Architect, comprising:
 a Use Case Diagram for processing an order
 a Class Diagram of the intended system
 a Sequence Diagram for processing an order
 A short reflection (approximately 200-240 words) of what you have learned, if anything, on this
assignment, particularly relating to requirements design and analysis, UML diagrams and objectoriented programming with interfaces and polymorphism. As an example, if you find that you
CRICOS Provider No. 00103D Page 3 of 4
changed your initial UML diagrams after you had commenced coding, you should explain what
these changes were and explain what you learnt that led to these changes.
o Enterprise Architect file(s) containing your UML Diagrams for the Use Case, Class and Sequence Diagrams
o Your finished program (in any OOP language), addressing the requirements outlined in the Assignment
Details.
Marking Criteria/Rubric
Task Available
Marks
Student’s
Marks
Requirements Analysis and Design
 Use Cases summarizing the requirements of the program 2
 A Use Case Diagram for processing an order 2
 A Class Diagram of the intended system 2
 A Sequence Diagram for processing a customer’s order 2
Development of Code
A complete Java program addressing the requirements outlined in the Assignment
Details section of this specification, including:
 Functionality to process the ordering
1
 Functionality to process the orders of various amount
2
 A progressive payments menu option that displays the total income received
from both the items (pizza & pasta) individually and the total income from all
orders
1
 Code demonstrating the use of an interface and polymorphism to handle item
fires and the various item options available
6
Reflection on Learning
 A short reflection (approximately 200-300 words) of what you have learned, if
anything, on this assignment, particularly relating to requirements design and
analysis, UML diagrams and object-oriented programming with interfaces and
polymorphism.
2
Total 20
Feedback
Marks will be uploaded in fdlGrades and a completed marking guide provided in Moodle within 2 weeks
of assignment submission.
Plagiarism:
Plagiarism is the presentation of the expressed thought or work of another person as though it is one’s
own without properly acknowledging that person. You must not allow other students to copy your work
and must take care to safeguard against this happening. More information about the plagiarism policy
CRICOS Provider No. 00103D Page 4 of 4
and procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.