This assignment is designed to assess the following learning outcomes.
· Implement object-oriented programs using a modern programming language
· Build interactive software applications using Graphical User Interface components
· Apply self-designed and existing algorithms in problem solutions
· Use complex data structures in software application development
This is an individual assignment.
As part of Assignment 1, you have developed a Java Application for the CQS Solar Power Installers (CQS). CQS has accepted your prototype and has requested you to improve the system by providing the following additional functionalities:
· When the system is started, it should load the data from the relevant file(s) and display the details of the installations that have been already entered into the system (there must be three prestored installation and three preinstalled technician in file). This should include Building Address, start date, end date, and installation design.
· Display the installations that have been performed by a technician chosen by the user.
· Save the data (technicians and installations) in relevant files.
You can continue todevelopthe JavaGUI application that you have created in your Assignment 1. You are also allowed to use the Assignment 1 sample solution that will be released on the Unit web site. If you would like to modify the first part of the application that you have submitted in your Assignment 1, you are free to do so. You can adopt any layout patterns that are suitable for the requirements of the system in this assignment.
Note: During the initial run of your application, your application should read the data from the required file(s). During the subsequent program runs, your application should append all the new data entered by the user into the relevant files.
In order to include these additional changes in the application, you may need to do any or all the following:
· develop additional Java classes
· extend the existing Java classes that you have developed for your Assignment 1
· implement newly created java interface(s)
· Implement file reading and writing.
· Use search algorithms
Note: If you need to make suitable assumptions for the development of the above Java application, please provide them in the form of comments in the test driver file.
You are encouraged to use any layout pattern to implement the user interface. You may need additional controls such as Command Buttons for ‘Load’, and ‘Save’. You may need to use a ComboBox to display the list of Technicians.
1. You mustsubmityourassignmentusingtheMoodleonlinesubmissionsystem.
2. Youmust submit a zip file containing the text file(s)/csv files(s) and all java source codefilesincluding the test driver file (any additional library/jar files used if any).
Assignment 2 Marking criteria
|1||Runswithout any compilation/ run time errors (2). Displays the controls for additional ‘Display’ or Load and ‘Save’ functionalities (1)||3|
|2||Reads and stores the input data from the relevant files into suitable data structure||2|
|3||Allows to select a technician (1) and displays the details of installations performed by that selected technician (2)||3|
|4||Displays the details of all installations in the subsequent runs||2|
|5||Saves/appends the data into the relevant files||3|
|6||Uses Exception handling and provides appropriate error messages||2|
|7||Student usedadditional classes and or java interfaces (3); Used best programming practice (comments, indentation, naming and readability) (2)||5|
|Less late penalty (5% per calendar day)|
|Less Plagiarism penalty|
Note: Iftheprogramdoesnotcompile/run,partialmarksmaybegivenbased on the submitted-sourcecodes.
This section presents information on setting standards and assessing teamwork, setting assessment specific academic integrity guidelines for programming assignments.
1.1 Academic Integrity – getting assistance and source code
This assignment is your chance to obtain the learning outcomes as given under objectives. It is important that you develop skills and deeper understanding of the concepts. You are permitted to use certain resources for completing this assignment as given in the table below. Use of resources outside of what is listed below will be a hurdle in your learning and required development of skills.
The scale of assistance students can get is clearly marked based on the students’ level of mastery and expected learning at various levels.
Note: You can use these as appropriate to the unit you are writing assessments.
The objective is to understand several concepts and apply those concepts to design and build a software solution. At this level you can use the provided materials, online resources for further reading and take assistance from your classmates or teammates to develop deeper understanding of the concepts. You can also sort help to debug the implemented program. But you should implement and test your program on your own.