ITECH7201 Software Engineering: | Good Grade Guarantee!
ITECH7201 Software Engineering: Analysis and Design
You are required to design and develop a small Java console application. Completion of this
assignment requires an understanding of:
• Analysis and design techniques, including development of use cases and UML diagrams –
specifically, use case diagrams, class diagrams and sequencediagrams
• Object-oriented programming, focusing on polymorphism and the use ofinterfaces
Timelines and Expectations
Percentage Value of Task: 20%
Due: Sunday 1 September, 2019 (week 7) @ 23:55
Minimum time expectation: 20 hours
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 qualityproduct
• 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-orientedapproach
• Demonstrate skills in designing and implementing an informationsystem.
Alice and Bob are small business owners who run a Café at Halls Gap in rural Victoria. They are
experiencing an increase of customers over the past year or so – mostly international. They would like
to improve the way that they handle transactions and to have more flexibility in offering different
transactions. Up till now, they did not track individual payments, merely adding the total amount at the
end of the day to determine their total sales. Now, Alice and Bob wants to offer credit card payment
options (both Pay Wave and PIN), to allow for spontaneous purchases where potential customers may
not have cash on hand. Due to the low profit margins on the products and the bank fees charged for the
processing of card payments, a 1.5% surcharge on all MasterCard, and Visa card payments is required to
keep the business profitable; Amex cards require 3%. With different methods for payment now available,
Alice and Bob want an automated method to track both total sales amounts and the total of the card
surcharges collected so that this is more streamlined and less time-consuming to manage.
They would also like to be able to add Bitcoin payments in the near future.
You have agreed to design and develop a small Java console program for them, enabling them to select
either a cash or card payment and enter the total amount of the sale. For cash payments, no additional
charges are required. For card payments, the program will calculate the appropriate surcharge and
display the updated total of the sale so that they may enter this directly into the card payment system.
CRICOS Provider No. 00103D ITECH7201 Assignment 1 1917.docx Page 2 of 3
Marking Criteria/ Marking Criteria/Rubric Marking Criteria/Rubric
Once the sales have been completed, the program will provide options to enter another sale (cash or
card), or to display the current payments received. These payments should be broken down into cash
sales, card sales, card surcharges and total product sales (cash sales plus card sales, not including
card surcharges). There is no need for this data to persist once the program has stopped running.
They want the system to be flexible so that they can include additional functionality at a later date without
having to have the entire program rewritten. 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. They asked that you provide them with
some documentation before you commence coding, so that they are able to verify that the program you
intend to code will address their requirements. They would like to see a Use Case diagram and Use
Cases to summarize the requirements in written format, as well as Class and sequence diagrams.
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 report1 comprising:
Use Cases summarizing the requirements
UML Diagrams, created in Enterprise Architect, comprising:
a Use Case Diagram for processing a purchase
• a Class Diagram of the intended system
• a Sequence Diagram for processing a credit card purchase.
A short reflection (approximately 200-300 words) discussing the importance of
requirements design and analysis, UML diagrams and object-oriented programming
with interfaces and polymorphism. As an example, if you found that you 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
o Your finished Java program, addressing the requirements outlined in the AssignmentDetails.
o You must supply your program source code files and your documentation as a single zip file
named as follows:
Supply your word processed documentation in either Microsoft Word or LibreOffice/OpenOffice formats only –
no proprietary Mac specific formats, please.
Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work.
In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements,
including (but not limited to):
• Incomplete implementation(s)
• Incomplete submissions (e.g. missing files)
• Poor spelling and grammar
You might be asked to demonstrate and explain your work
This link gives you the layout of an academic report: margins, fonts, how to label diagrams and so on as well as how to use
references and the content of the report: abstract, introduction, conclusion and the like.
CRICOS Provider No. 00103D ITECH7201 Assignment 1 1917.docx Page 3 of 3
Marking Criteria/ Marking Criteria/Rubric Marking Criteria/Rubric
Feedback will be given in labs. Marks will be uploaded in fdlGrades and a completed marking
guide provided in Moodle within 2 weeks of assignment submission.
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
and procedure for the university can be found at http://federation.edu.au/students/learning-andstudy/online-help-with/plagiarism.
Requirements Analysis and Design – explain how these were generated
• A Use Case Diagram reflecting the functionality of the system
• Use Cases summarizing the requirements of the program
• A Class Diagram of the intended system
• A Sequence Diagram for processing a customer’s purchase
Development of Code – present the pseudocode in the report
A complete Java program addressing the requirements outlined in the Assignment Details
section of this specification, including:
• Functionality to process cash payments
• Functionality to process card purchases for each card (MasterCard, Visa,
Amex) including display of the total product sales with appropriate surcharge
• A payments received option that displays the total card sales amount, the total
cash sales amount, the total card surcharge amount and the total product sales
amount (card plus cash, not including card surcharges).
• Code demonstrating the use of an interface and polymorphism to handle
payments and the various payment options available
Reflection on Learning
• A short reflection (approximately 200-300 words) discussing the importance of
requirements design and analysis, UML diagrams and object-oriented
programming with interfaces and polymorphism.
QUALITY: 100% ORIGINAL – NO PLAGIARISM.
- **REMEMBER TO PRECISE PAGE NUMBER**
- Hit The Order Button To Order A **Custom Paper**