Write programs using object-oriented conventions in accordance with industry standard best practices Scenario
Competency
In this project, you will demonstrate your mastery of the following competency:
- Write programs using object-oriented conventions in accordance with industry standard best practices
Scenario
You work for Global Rain, a software engineering company that specializes in custom software design and development. As a junior software developer, you are part of a software development team at Global Rain that collaborates to create software solutions for entrepreneurs, businesses and government agencies around the world.
Your Global Rain software development team has been asked to develop a menu-driven system for the Luxury Ocean Cruise Outings company. This company coordinates cruise bookings for luxury ship owners and cruise lines. As a returning customer for Global Rain, Luxury Ocean Cruise Outings has requested a simple menu-based system to perform core functions that are essential to its daily operations.
Other developers on your team have made progress on this project and have already created different classes for the software application. Your supervisor has asked you to complete several tasks to meet the customer’s needs.
Directions
The Luxury Ocean Cruise Outings company has provided Global Rain with a software specification document that details a menu-driven software application. Other developers on your software development team have already begun this project by creating the Ship, Cruise, Passenger, and Driver classes. You will modify the classes by including attributes and their proper data structures, writing methods to perform required functionality and behavior, and making sure that your program performs input validation and exception handling.
Before you get started with your assigned tasks, complete the following pre-work to understand your client’s needs, set up your development environment, and become familiar with the work that has already been completed. Refer to the Supporting Materials for relevant files to complete your pre-work.
- Review the specification document, which will provide you with an overview of your client’s needs. Pay special attention to the relationships between the system’s different components.
- Open the Virtual Lab by clicking on the link in the Virtual Lab Access module. Then open your IDE. Upload the package of .java class files into your IDE and compile the code. Although the program is not complete, it will compile without error. This will help you test your development environment and ensure it is ready to start coding.
- Read through the code for each class. You will get clear directions in the project guide on how to modify and complete the code. This will help you understand what code has been created, and may give you ideas for the methods you must complete to meet the software requirements.
- Once you have completed your pre-work, you are ready to begin your assigned tasks on the menu-driven software application. Follow the project guide in the Supporting Materials section, which will take you step-by-step through completing the software application’s menu system.
What to Submit
To complete this project, you must submit the following:
Note: All class files must be submitted because the entire package of files is required for the application to run.
Driver.java Class File
Submit your modified Driver.java class file. Be sure to include in-line comments for all your changes and additions.
Cruise.java Class File
Submit your modified Cruise.java class file. Be sure to include in-line comments for all your changes and additions.
Ship.java Class File
Submit the Ship.java class file, even though you were not required to make changes to it for this project.
Passenger.java Class File
Submit the Dog.java class file, even though you were not required to make changes to it for this project.
Supporting Materials
The following resource(s) may help support your work on the project:
Luxury Ocean Cruise Outings System Specification Document
Review the system specification document, provided by Luxury Ocean Cruise Outings, to complete the menu-driven software application.
Luxury.zip (Class Files)
Review the code in each class file to understand what code has been created and what code you will create. The Ship and Passenger classes have been fully coded and do not require changes. The Driver and Cruise classes have been partially coded and require changes. All classes are required for the Luxury Ocean Cruise Outings app.
Uploading Files to Eclipse Tutorial
You will write, test, and run each class file in an IDE. Review this tutorial to learn how to upload the zipped folder, which contains all your class files, into your IDE.
Downloading Files from Eclipse Tutorial
You will write, test, and run your class files using an IDE. Review this tutorial to learn how to save and export files from your IDE. Important: Do not change the names of any class files.
Project Three Guide
Follow this guide, which will take you step-by-step through creating the software application’s menu for Luxury Ocean Cruise Outings.
The following rubric will be used to assess Project Three. Familiarize yourself with this document as you work on the project, and return to this rubric before you submit Project Three to make sure you’ve included everything you need to be successful.
Project Three Rubric
CriteriaExemplary Proficient Needs Improvement Not Evident ValuePart One: Print Cruise Methodn/aCreates a method within a class that produces easy-to-read output of all class variables, and meets all the client’s specifications (100%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include functionality, syntax, or logic (55%)Does not attempt criterion (0%)16.67Part Two: Print Ship List Methodn/aModifies a method that provides easy-to-read output that displays details of an object (100%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include functionality, syntax, or logic (55%)Does not attempt criterion (0%)16.67Part Three: Add Ship Methodn/aCreates a method that instantiates an object, includes all class variables, and updates an array (100%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include functionality, syntax, or logic (55%)Does not attempt criterion (0%)16.67Part Four: Add Cruise Methodn/aCreates a method that prompts the user for input, ensures that entered input meets all specifications, and updates an array (100%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include functionality, syntax, or logic (55%)Does not attempt criterion (0%)16.67Part Five: Main Methodn/aModifies the main method within a class to include a loop and maps user input to the specified functionality (100%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include functionality, input validation, syntax, or logic (55%)Does not attempt criterion (0%)16.67Industry Standard Best PracticesExceeds proficiency in an exceptionally clear, insightful, sophisticated, or creative manner (100%)Demonstrates industry standard best practices including naming conventions, input validation, exception handling, and in-line comments (85%)Meets some “Proficient” criteria, but with major errors; areas for improvement may include appropriate naming conventions or inclusion of in-line comments (55%)Does not attempt criterion (0%)16.65Total:100%