Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Project B

Diploma of IT

IAPP001 - Applications Programming

SEMESTER 03, 2022

Weight: 10%

DUE : Week 10, Friday 11:59pm

ASSESSMENT TASK #3: PROJECT B

TASK DESCRIPTION

This project requires students to write an Object Oriented solution for a given application, using all the concepts taught in the subject.

You may choose to complete this assessment with at most one (1) other person. To work as a pair; you and your partner MUST be in the same tutorial class. You will need to spend approx. 6 hours together working on the assessment (outside of tutorial hours). If you do not intend to spend this time working together – choose to complete the assessment on your own. Both partners must put in an equal amount of work and effort, or the group will be dissolved by the tutor.

Your code will be assessed against the learning outcomes below using techniques taught in the subject.

LEARNING OUTCOMES

1. Demonstrate a working knowledge of lists in Java.

2. Design a good OO solution from a specification.

3. Use inheritance in Java.

4. Construct a GUI interface

BRIEF

This is a take home assessment to evaluate your understanding of object-oriented concepts taught so far in IAPP001. All code must compile and run in BlueJ version 4.1.2 to be marked.

You will use your Project A as the starting point for this project.

You will design a Graphical User Interface to support your application, using the domain classes from Project A.

Your GUI design should outline the main use cases for the application, the basic pane design and situations to handle for the application. You may use a main window and sub windows or a main window with a stacked tab pane.

You will design the windows and panes for your application. You will implement all of the GUI components following your design. You will implement the Observer pattern and test that your solution satisfies the requirements of your application.

The assessment is comprised of three (3) parts: the GUI design, the code and the explanation.

GUI design:

Create your design for the GUI components – think about input needed from the user. Make sure your GUI design shows the GUI layout for your application. You can use paint or word tools to create the design. Make sure each panel/pane has at least 1 button to handle events.

The code:

Copy your project and create a model package. Move all the domain classes to the model package. Add MyObserver and Updater to the model package. Delete the In class and changes all dependencies to use parameters for input. Write your GUI components. Make sure you are using the Observer pattern to refresh each window when the data changes in the models. You need to implement the 4 steps for the observer pattern – all model methods that change data need to call updateViews(). All panels have an implemented update() method etc.

The explanation: (300 words)

Write a detailed explanation of how the user would interact with your GUI to perform each of the usecase tasks. Explain how the observer pattern works by following the flow of control for one of the usecases.

This is an open book assessment. You may use lecture notes and solutions to workshop exercises – however, you cannot use solutions to assessments from a previous or current semester.

Every resource you use (other than subject materials) MUST be documented.

Any student caught using prohibited materials will receive a fail grade for this assessment.

All code submitted for assessment must be written by you (and your partner).

Any attempt to copy, move, alter or reproduce code files will be viewed as misconduct.

As an exception: you may use the Gladiator Prime solution (week 6) as a replacement of your project A if you failed and/or cannot use your own project A as a base for Project B. Please note: If you use Gladiator Prime you can only receive a maximum of a Credit for this project.