Dynamic data structures and file processing

Assignment Help JAVA Programming
Reference no: EM132310794

Assignment - Dynamic Data Structures & File Processing

Objectives

• Continue to develop a Java GUI application using more than one Java class
• Read and/or write from/to text files
• Use search algorithms and/or sort algorithms
• Use ArrayList or LinkedList or any other dynamic data structure

Background

Friendly Student Accommodation (FSA) is a real estate agent that rents individual rooms and whole properties to students. They manage various types of rental properties, ranging from wooden houses to apartment units in city skyrises. You have been hired by FSA to develop a Java GUI application to help manage their business.

This proposed software will allow FSA staff to enter the details of newly acquired rental properties into the application. FSA staff will be able to manage these rental properties, such as changing their rental prices, the inclusions that come with these rental properties, and so on. The application will also create periodic backups of the properties stored within.

There are 2 categories of rentals that FSA manages.

1. Room Rental
a. These are rooms inside whole properties that are rented to individual students.
b. For example, a house has 5 rooms within and they can be rented to 5 different students separately.
2. Whole Rental
a. These are rental properties that are rented as a whole to a student.

Develop a Java GUI application using Swing components to implement the application.

You are allowed to continue work on this assignment by yourself or in pairs.

Requirements

We are moving onto Phase 2, which requires changes to be made to what we have now.

Phase 1 (Assignment 1) - Complete
1. Enter 1 rental property into the application
2. Edit and update the details of this rental property
3. Display a list of previously entered rental properties in the system (should only display the 1 entered earlier)
4. Exit the software safely

Phase 2 (Assignment 2)
1. Enter the more than 1 rental property into the application
2. Retrieve the details of rental properties previously entered
3. Edit and update the details of rental properties previously entered
4. Deleting rental properties from the application
5. Display a list of available rental properties in the system
6. Output the list of available rental properties into a file

Assignment 2 Tasks

For Assignment 2, you need to enter more than 1 rental property into the application.

1. Enter more than 1 rental property into the application

To be able to enter and store more than 1 rental property, you will need to use a dynamic data structure to store them. An ArrayList or LinkedList of Rental objects will work for this phase.

Back in Phase 1, you created an object (for Room or Whole property respectively) to store the details that the user entered into the application. What you should do for this phase is to take this same object and add it to your ArrayList or LinkedList.

When the user enters another Room or Whole property into your application, construct another and add it to the same list.

2. Retrieve the details of rental properties previously entered

This is similar to the previous task. In Phase 1, you extracted the stored details from the 1 object you had in the application.

For this phase, you will need to:
- Look into your list
- Find the required rental property object
- (Same as back in Phase 1) extract the stored details within and display on your GUI

There are several ways that you can design this into your GUI.
For all the following options, you will need to use the GUI interface you developed back in Phase 1 for editing the details of the 1 entered rental property.

GUI Option 1 (related to Task 3)
- Disable editing on all the fields.
- Add the following navigation buttons to the buttons to your screen
o [Next] (or >)
o [Previous] (or <)
- When this screen first loads, the details of the first Room or Whole property will be loaded into the fields.
- When the user clicks the [Next] button, the details of the next property in your list will be loaded into the fields.
- When the user clicks the [Previous] button, the details of the previous property in your list will be loaded into the fields.

Something to think about
This option is easy to use but it may take a long time to get to a specific rental property, especially if there are many rental properties
You can add [First] & [Last] buttons to speed this up

GUI Option 2 (related to Task 3)
- The same as GUI Option 1 but instead of using navigation buttons, use one of the following
o Use a JComboBox to select which rental property you want to view
» The combo box should be populated with the RentalID of each entered rental property
» This option is easy to navigate directly to the rental property you want to view
» Might potentially be a problem if you have too many rental properties entered into the application
o Use a JTextField. Let users enter the RentalID of the rental property they want to view. Your application will then search the rental properties in the list and display the details if found
» Easiest to implement, GUI-wise
» Requires additional code for searching
» Users might enter incorrect or non-existing RentalID
• How will you manage this?

GUI Option 3
- Come up with your own design.
- Please remember to check with your tutor before attempting this option.

3. Edit and update the details of rental properties previously entered

This is basically an extension of Task 2.

If you went with GUI Option 1 or 2, you can add an [Edit] and [Save] button to the same GUI interface.

When users click the [Edit] button, the relevant GUI fields will have their editing functionality turned on. Users can then make changes and click [Save] to save the changes.

If you went with any other GUI design, you can still use this design above if it suits. If you are going to use any other design, remember to make it easy for the user to understand and use.


4. Deleting rental properties from the application

This requirement can be implemented similarly to Task 3.

You can add a [Delete] button to your view/editing screen to allow users to delete the current rental property from your application.

Deletion confirmation
Deleting data is usually considered a major action in most applications. Make sure you implement some form of confirmation by the user before permanently deleting the relevant data from the application.

A simple confirmation dialog box works well enough.

You can also consider other creative ways to verify the user's choice. For example, you can ask the user to re-enter the RentalID of the rental property and verify it before deletion.


5. Display a list of available rental properties in the system

This task requires an update to the same function we completed in Phase 1, except instead of displaying the details of 1 rental property, the application will now need to display the details of all the rental properties stored within.

There is no need to sort the output in any order at this stage.

Something to consider
What about the future? Will it make sense to add some sort of sorting to the list of properties?

6. Output the list of available rental properties into a file

Every so often, FSA needs to print out their list of available rental properties. To make things easier for this stage of the development, you were asked to output the list of rental properties in the application to a text file.

The file is to be named FSA_Availability.csv

Data structure of the output file (FSA_Availability.csv)
- Each line represents 1 rental property
- On each line, the individual bits of data are separated using a comma (,)
- This type of file is called a Comma-Separated Value (CSV) file


7. Assignment Report (same as Assignment 1)

You will need to write a report that includes the following:

- Cover page that shows the unit code and name, assignment number, your name and student ID number

- "Screen Shots" section
o Includes screen shots of your running application.

o All relevant screens, error messages, and dialogs should be included.

o Each screenshot should have a description (caption) of the respective screenshot written below.

- "Reflection" section
o In this section, you need to write about the following (paragraphs or in a list)

o What difficulties did you encounter while working on this assignment?
Eg. Took too long to revise file reading/writing

o If you were able to complete all the required tasks
» What do you think contributed to your success?
» Is there anything you can do better in future?

o If you were not able to complete all the required tasks
» Which sections were you not able to complete?
» What reasons do you think prevented you from completing them?
» How can you avoid these in reasons in future?

- "Task Breakdown" section (only needed if assignment was done in a pair)
o Use a table or a list to show how you distributed the work among yourselves

Attachment:- Monthly returns for capm.rar

Reference no: EM132310794

Questions Cloud

What is double dividend effect : Consider two possible tax schemes on natural resources. One levies fixed fee per production amount (for example, per barrel for oil and per tones for iron ore)
Create an input form that accepts user input for a service : ICT705 Data and System Integration University of the Sunshine Coast Australia-Write a report explaining the theory underlining the key concepts.
Will a production possibility curve : Will a production possibility curve expand outward more if the country prefer more consumer goods than capital goods, after 10 years?
Estimate the demand curve : Suggest 2 or 3 ways that you can think of that a firm could use to try to estimate the demand curve for their product.
Dynamic data structures and file processing : COIT11134 - Object Oriented Programming - CQUniversity - develop a Java GUI application to help manage their business - Continue to develop a Java GUI
What factors led to the deindustrialization : What factors led to the deindustrialization of the U.S. Manufacturing Belt in the 1970s and the transformation of Silicon Valley
Basis of a present worth analysis : Which method should be used on the basis of a present worth analysis?
Design a PLMN based on 5G air interface : ME601 Telecommunication Modelling and Simulation Assignment - PLMN Design Based on 5G, Melbourne Institute of Technology, Australia. Design a PLMN
What is the market rate of substitution between goods : A consumer has $300 to spend on goods X and Y. The market prices of these two goods are P(x) =15 and P(y) = 5 (LO2)

Reviews

Write a Review

JAVA Programming Questions & Answers

  Discuss and describe if a company believed

Discuss and describe If a company believed that a nation was preparing to devalue its currency

  Write a java prohram to implement a method

Write a java prohram to Implement a method inPlaceInsertionSort() that takes an array of Clocks as an input.

  Write a program that reads from keyboard a sequence

Write a program that reads from keyboard a sequence of positive integers that is ended with a negative integer. The positive integers are inserted into a sort list of integers when they are read.

  How to start the java program to evaluate the simillarity

I need to get how to start the java program to evaluate the simillarity.

  Write large programs by adding a little bit at a time

The exercise is designed in a special way to show you how you should write large programs by adding a little bit at a time. Please do these steps one at a time.

  Java program for a music social network system

Java program for a Music Social Network system. You can work on this coursework either alone or in a pair with a colleague, not necessarily from the same seminar or lab group

  What is an abstract class and how does it differ from the

question 1 what is an abstract class and how does it differ from a regular class? question 2 why are abstract class

  What is printed out by the following code

What is printed out by the following code

  Creating unified modeling language based diagrams

OMSCS 6310 – Software Architecture & Design Your requirement for this assignment includes creating Unified Modeling Language (UML) based diagrams

  Question 1when you use the mvc pattern the controller

question 1when you use the mvc pattern the controller directs the flow of control toa. the browser and the modelb. the

  Discuss the use of arrays in java programs

Discussion Question: Discuss the use of arrays in Java programs versus the use of regular variables

  You have in your program an arraylist which contains

you have in your program an arraylist that contains employee salaries double type in arbitrary order. you need to

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd