Design the required data structures using uml class diagrams

Assignment Help Other Subject
Reference no: EM133126460

COIT20256 Data Structures and Algorithms - Central Queensland University

Objectives

The purpose of this assessment item is to assess your skills attributable to the following learning outcomes and your achievement of the expected graduate attributes of advanced level communication, knowledge, cognitive, technical, and creative skills, and self- management.
• Design and implement appropriate data structures for application development
• Analyse, develop and implement software solutions with the focus on data structures and algorithms
• Apply classes, inheritance, polymorphism, and exception handling

Assessment task

Your task in this assessment is to analyse the given problem, model, and design the required data structures using UML class diagrams. You will be implementing the software solution, applying efficient algorithms, inheritance, polymorphism, and exception handling. The topics required for this assessment task are from Weeks 1-5. Your Java Application should have an interactive Graphical User Interface (GUI) using JavaFX GUI components. You should also write a report, as specified in this document, demonstrating your conceptual knowledge. You will be required to use the topics learnt in the pre-requisite unit Introduction To Programming.

Problem
An Australian aerospace company has decided to enter the space race. It is setting up a start up company to explore the possibilities of designing and manufacturing space vehicles that can be launched into space and to re-enter earth's atmosphere by using renewable energy. The new start up, Aussie Space Xploration (ASX) is seeking to hire new engineering recruits to carry out the research and development in its new R&D facility that is currently located in Rockhampton. ASX has commenced the recruitment process by advertising for applicants to fill positions for their aerospace, mechanical and electronics engineering departments. The recruitment division will have administration staff to register incoming recruit details. These recruit details are then accessed by the management staff who will assign the applicants to one of the three engineering departments. Due to the popularity of this recruitment drive, the response from recruits from all over Australia and worldwide have been overwhelming. In order to facilitate this recruitment drive and record keeping, ASX has approached you and your team to develop a software to keep track of the registration of each recruit's application and how staff manages these records. At this stage, you and your team only need to develop a prototype. The prototype is called ASX-Alpha. This prototype is to provide a proof-of- concept to allow stakeholders to determine if they should invest a larger sum of money for a more complete software. You will be developing the prototype in two stages. The current prototype, ASX-Alpha, will be a desktop application which will be later updated to a web- based application, ASX-Web (i.e. details in Assignment 2), enabling online registration to be carried out. In the first stage, ASX-Alpha should have a graphical user interface that enables staff registration, and recruit registration. The collected data will be saved to text files.

In the second stage, ASX-Alpha (Assignment 1) will be extended with more functionality and re-designated as ASX-Web (Assignment 2). ASX-Web should be extended to enable the management staff to login, verify recruit details, and to assign different engineering departments to each recruit. Additional reports should also be generated. The data collected at the initial stage will be loaded and all the data should be recorded in a database.

In this Assignment 1, you will be focusing on the first stage development of ASX-Alpha which is a desktop Java application with a GUI. ASX-Alpha should enable three main functions as detailed below.

1. Staff Registration
a) Administration staff
Administration staff will be responsible for collecting and recording the personal details of each recruit, which include, but not limited to recruit's qualification, and date of interview.
ASX-Alpha should enable registration of staff details so that they can later login and use the system.
The details required of administration staff includes:
• Full name
• Address
• Phone number (should contain 10 digits).
• Email address
• Username
• Password (should be 10 characters long and should contain both capital and small letters.)
• staffId
• Position type
An administration staff can be full-time, part-time, or volunteer.
b) Management staff
Management staff will be responsible for verifying the details of recruits before assigning each recruit to the appropriate engineering department. ASX-Alpha should enable registration of the management staff so that they can login and use the system.
In addition to the details as detailed for the administration staff in the above section (a), excluding the position type, management staff details should also include:
• Management level
Senior manager, Mid manager and Supervisor.
• Branch
Management staff can be located on Rockhampton, Bundaberg, Cairns or Mackay.

2. Recruit Registration
Recruit registration is carried out by staff members. Recruits do not have access or interact directly with ASX-Alpha. Only staff members will collect the details of each applicant and register the recruit's information on their behalf.

The following details are to be collected by the administration staff and registered into the system:
• Full name
• Address
• Phone number (should contain 10 digits).
• Email address
• Interview Date (which can be suggested and confirmed)
• Highest Qualification level. This should be either Bachelors, Masters or PhD. Only one applies.
• The management staff will determine the suitability of each recruit and assign each recruit to one of the engineering department: aerospace, mechanical or electronics. Only one applies.
• Location of the engineering department assigned: can be located on Rockhampton, Bundaberg, Cairns or Mackay.

3. Enter and Save Data
During the staff registration process allow the user to click an appropriate ‘Enter Data Button', for example Enter Admin Staff Details. This should add the entered data to an ArrayList.
Include a ‘Save Data Button', for example ‘Save Applicants Submission' to write the entered data to a file.
You should save all the Admin Staff and Management Staff data to a file named ‘staff.csv' which is a text file that stores the attribute values separated by commas. You use an overloaded toString() method to format the attribute values separated by commas. Save all the Recruits' data to a file named ‘recruits.csv'. You can open the files outside of your IDE and ensure that the correct data are saved.
During the first run of the program the save method should create the file as the file may not exist. But this should be done after checking that the file does not exist. During the subsequent runs the entered data should be appended to the file so that data already written to the files do not get overwritten and lost.

Data Structures
You may follow the class design given below. You should read the specification carefully and design the classes using UML class diagrams and include the attributes with correct data types and all the methods, clearly indicating public or private. Clarify your doubts during the design stage so that your implementation can be less error prone and faster to complete.
All classes should have a default constructor, parameterised constructor, copy constructor, accessor mutator (get, set) methods, and properly written toString() methods. Include other methods as needed. This doesn't apply to the JavaFX classes for the GUI.
i) Person class
You can see that many attributes are repeated across Admin staff, Management staff and Recruits. It can be a good design to create an abstract Person class and include the repeated attributes and have associated methods that can be derived in other subclasses.
ii) Staff class
This class can be an extension of the Person class to include attributes common to Admin Staff and Management staff. There is no need to create a generic staff object and therefore this can also be an abstract class. This class can have the attributes - e.g. username, password, and staffId.
Override the inherited methods as required. Ensure that the source code is re-used and not repeated unnecessarily leading to redundant code.
iii) AdminStaff
This class can be derived from the Staff class to include all the attributes of an Admin staff.
iv) ManagementStaff
The management staff should have all the required fields inherited from Staff, plus Management Level and Branch.
Include appropriate attributes and methods.
v) Recruits
This class can be derived from the Person class and include additional attributes to store any additional fields that you require.
Hints and tips:
a) Refer to Week 3 Lecture and tutorial solutions, and the Textbook chapter on Polymorphism for the correct implementation of polymorphic behaviour.
b) You use the LocalDate class from Java.time.LocalDate for storing dates. Many of the methods from the Date class from Java.util.Date are truncated.
vi) DataFile class
This class is for implementing the file operations to open and store the values in the appropriate files named ‘staff.csv' and recruits.csv' The initially stored data from the corresponding ArrayLists should be written to this file.
Use specific file handling exceptions for various checked exceptions related to file operations.
You are encouraged to use enum type. For example,
vii) enum GENDER
Create an enum type GENDER to store male, female and other gender identifying values as constants.
viii) enum MANAGEMENT_LEVEL, i.e. Senior manager, Mid manager and Supervisor.
And so on for other fields that you can determine to be constants.

ix) JavaFX classes
The standard classes required include the main class to create the Stage and launch, the controller to initialize GUI components, handle events, and validate user entries, the .fxml file for the layout design of GUI components, and the .css file for formatting.
You can use appropriate filenames for these files.
Graphical User Interface
The GUI should have the necessary components to enable the user to execute all the functions as provided in Section 2.1 above. You may use the guidelines provided below for your GUI design and implementation. Variations to the provided guidelines are acceptable if it meets the user requirements. Follow the User Interface design guidelines learnt in Week 4 and design the GUI to meet chosen aspects of an easy-to-use user interface that provides informative error messages, and clear instructions.
You can have a GUI with multiple tabs for enabling the user to enter and save data of staff, and recruits' data.
i) Staff Registration
Use this tab to enable the user to enter details of Admin Staff or Management Staff. It is better to separate the set of buttons to enter data for the two categories of staff which will be collected in ArrayLists<> and a Save Button to write the entered data to the file.
You can use Labels, TextFields, ComboBox or ListView, and Buttons as required. Display error message if the user hasn't entered the Phone number correctly.
Display error message if the user hasn't entered the password correctly
ii) Recruit Registration
Use this tab to enable Admin Staff to enter and save details of recruits. This tab also can have the necessary controls to enter username and password by the Admin Staff and Login to enter data.
Use appropriate controls such Labels, TextFields, ComboBoxes, Radio Buttons and DatePicker to enable entry of data.

3. Coding
Include necessary accessor, mutator methods, constructors, and toString() method for each class. Also, follow good coding practices, using meaningful names, camel case notation for naming, constants as necessary, and include meaningful comments. You can use NetBeans to develop your application. Follow the coding standards given in the Unit website.
Guidance to the level of assistance you can use.

You are expected 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 to develop deeper understanding of the concepts. You can also seek help to debug the implemented program. But you should implement and test your program on your own.

4. Report
You should submit a report containing the following details.

1. UML class diagrams for the classes
Note: UML class diagrams generated using a software tool after completing the coding will not be accepted.

2. Test plan showing input data, expected results, and actual results. Show testing of erroneous entries also.

3. Evidence of testing including screenshots.

4. Write clearly which aspects of the User Interface Design principles you have followed and how did you implement those.

Attachment:- Data Structures and Algorithms.rar

Reference no: EM133126460

Questions Cloud

Implementing the software solution : Your Java Application should have an interactive Graphical User Interface (GUI) using JavaFX GUI components. You should also write a report, as specified
Compute the number of persons : Similarly, compute the number of persons in each health state over three years if people take the drug.
Define what is meant by terms realized and recognized gains : Define what is meant by the terms realized and recognized gains? Can a gain be realized but unrecognized? If so, please provide an example
What is the company pre-money value : If the company has 1.6 million shares outstanding prior to the purchase, what is the company's pre-money value? What is its post-money value
Design the required data structures using uml class diagrams : Design the required data structures using UML class diagrams. You will be implementing the software solution, applying efficient algorithms, inheritance
Write an paragraph applying homelessness : Write an paragraph Applying homelessness through conflict theory
Determine the inventory turnover : Inventory Analysis - A company reports the following: Cost of goods sold $475,230 and Average inventory 67,890. Determine the inventory turnover
Incentive to free-ride off of services : Suppose a golf club manufacturer pressures its online retailers to either sell clubs at the same prices charged by brick-and-mortar stores or risk being cut off
Apply marginal analysis in managerial decisions : 1. Define and apply marginal analysis in managerial decisions by giving an example.

Reviews

Write a Review

Other Subject Questions & Answers

  What activities have you worked on since the last stand-up

What activities have you worked on since the last stand-up and Are there any obstacles that are getting in the way of finishing your work as expected

  Describe the goal as target behaviors

Select a goal-something you would like to change about yourself. Perhaps you would like to stop smoking, control drinking, improve study habits, manage time better, or change eating or exercise habits. It is critical that your goal be measurable, ..

  Steps you are required to take

In 500-750-words, address the Steps you are required to take that are consistent with state statutes, your district's school board policies, faculty handbook, and the student handbook;

  How you can improve quality of the data

How you can improve quality of the data. You must provide some data visualisation using selected software - provide some data visualisation using selected

  What steps might you take to gain the cooperation

Hypothetically speaking, you are assigned to a committee of three to decide on a dress code for Campbellsville University Staff and Faculty.

  Determination of bulk specific gravity of fine aggregate

How would the determination of bulk specific gravity of fine aggregate be affected by the 500g sample being drier than the surface dry condition? Explain.

  Dracula and the metamorphosis explore horrifying fantasy

Dracula and The Metamorphosis explore horrifying fantasy but in very different styles. How do the different styles of the works affect your reading

  Develop mobile deals while avoiding this downward spiral

What could be some of the possible ways to develop mobile deals while avoiding this downward spiral which jeopardizes the economic model of mobile operators

  Describe the population that is being assessed

Clearly delineate the following dimensions before starting the process of community assessment: Describe the population that is being assessed?

  Research on crime scene investigation

Determine the four most important characteristics of an effective criminal investigator and discuss the importance of each characteristic you determined.

  Describe three examples in which databases could be used

Businesses today are extremely reliant on large amounts of data for making intelligent business decisions. Likewise, the data warehouses are often structured in a manner that optimizes processing large amounts of data. Outline the main differences be..

  Women spirituality session six

Quiz for "Women's Spirituality" Session Six.Sister Dorothy Stang used her analogical imagination to grow into particularly vibrant embodiment of spiritual life

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