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...


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.



CRICOS Provider No. 00103D ITECH7201 Assignment 1 1607 V2.docx Page 2 of 3

Assessment Details

Matthew is a small business owner who is establishing a loyalty rewards scheme for his regular clients.  He also wants to reward his staff for their work by offering them discounted purchases through his business.  His plan is to offer no discount to clients who are not offered the loyalty rewards scheme, a 5% discount to his regular clients and 10% discount to his employees.

You have agreed to design and develop a small Java console program for Matthew, enabling him to select the type of customer making the purchase and determine and track the appropriate discounts.  For standard clients, no additional charges are required.  For loyalty customers’ payments, the program will calculate the 5% discount and display the updated total of the sale.  For employees, the program will calculate the 10% discount and display the updated total of the sale.  Once the sales have been completed, the program will provide options to enter another sale (standard, loyalty, staff), or to display the current payments received.  These payments should be broken down into standard sales, loyalty sales, staff sales, total discounts given and total product sales (using the discounted values where appropriate).  There is no need for this data to persist once the program has stopped running.

Matthew wants the system to be flexible so that he can include additional functionality 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 payment classes, so that new, different payment types may be added at a later date with minimal updates to the code.  He asked that you provide him with some documentation before you commence coding, so that he is able to verify that the program you intend to code will address his requirements.  He would like to see use cases to summarize the requirements in written format, as well as use case diagrams, class diagrams and sequence diagrams





Oct 07, 2019
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here