Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I am looking for some java help for my final project Collection Manager Program. I had completed all the milestones but I am new to

I am looking for some java help for my final project "Collection Manager Program". I had completed all the milestones but I am new to java so don't know how to everything together and also need help in the highlighed part below. It is based on the SteppingStones labs and milestones For this project I am looking for "Ingredient Class" , "Recipe Class" , "RecipeBox" and "Applcation Programming Interface Documentation"....

In this final project, you will create a basic program that will help you manage a collection of items that needs to be organized and managed. Your program must meet the requirements of the provided scenario. The creation of this program demonstrates your competency in the use of fundamental data types and more complex data structures and the creation of methods that utilize typical algorithmic control structures, object instantiation, and class definition. In order to make your program enduring, you will be adding inline comments directed toward software engineers about design decisions to facilitate the programs ongoing maintenance, along with generating application programming interface (API) documentation for your programmatic solution that will be directed toward other software developers

Scenario: You will create a program that will help you manage a collection of recipes.

You will implement three classes: one for the main recipe items, one for the ingredients that are part of the recipe, and one for the entire collection of recipes.

The collection should use a list data structure to store the individual items. Your collection class should include methods like addItem(), printItem(), and deleteItem() that allow you to add, print, or delete items from your collection of items.

Your Ingredient class will model the items that will be stored in each recipe in your collection. You will give it some basic attributes (of numeric or string types) and some basic methods (accessors/mutators, printItemDetails(), etc.). (Variables: ingredientName, ingredientAmount, unitMeasurement, totalCalories, and ArrayList ingredientList)

Your Recipe class will start off similar to your Ingredient class, but you will increase its functionality by modifying it to accept the Ingredient objects, containing all the details stored in an Ingredient class object. You will also expand the Recipe class by adding recipe-specific methods to your Recipe class.

/** * Final Project * * For your Final Project: * * 1. Modify this code to develop a Recipe class: * a. change the void main method createNewRecipe() that returns a Recipe * * 2. FOR FINAL SUBMISSION ONLY:Change the ArrayList type to an * Ingredient object. When a user adds an ingredient to the recipe, * instead of adding just the ingredient name, you will be adding the * actual ingredient including name, amount, measurement type, calories. * For the Milestone Two submission, the recipeIngredients ArrayList can * remain as a String type. * * 3. Adapt the printRecipe() method to print the amount and measurement * type as well as the ingredient name. * * 4. Create a custom method in the Recipe class. * Choose one of the following options: * * a. print out a recipe with amounts adjusted for a different * number of servings * * b. create an additional list or ArrayList that allow users to * insert step-by-step recipe instructions * * c. conversion of ingredient amounts from * English to metric (or vice versa) * * d. calculate select nutritional information * * e. calculate recipe cost * * f. propose a suitable alternative to your instructor * */

Finally, you will also write an application driver class that should allow the user to create a new recipe and add it to the collection. In addition, it should allow the user to see a list of items in the collection and then give the user an option to either see more information about a particular item (by retrieving it from the collection) or edit an item that is already in the collection. Finally, your program should allow the user to delete an item from the collection.

Moreover, you will add documentation to the application that will contain inline comments explaining your design decisions as well as documentation comments that will be used to generate API documentation for your programmatic solution for other software developers.

To prepare for the final project, you will complete a series of six stepping stone assignments and two final project milestones that will help you learn the coding skills required for the project. Separate documentation for these assignments is included in the course resources.

You have been tasked with developing a complete, modular, object-oriented program that will allow for the management of a collection. The scenario provided to you outlines all of the programs requirements. Refer to the provided scenario to make the determinations for all data types, algorithms and control structures, methods, and classes used in your program. Your final submission should be a self-contained, fully functional program that includes all necessary supporting classes. Furthermore, you must provide inline comments in your program design that software engineers would be able to utilize for the ongoing maintenance of your program. Your programmatic solution should also be communicated through application programming interface (API) documentation to other programmers

Specifically, the following critical elements must be addressed:

I. Data Types: Your final program should properly employ each of the following data types that meet the scenarios requirements where necessary: A. Utilize numerical data types that represent quantitative values for variables and attributes in your program. B. Utilize strings that represent a sequence of characters needed as a value in your program. C. Populate a list or array that allows the management of a set of values as a single unit in your program. D. Utilize inline comments directed toward software engineers for the ongoing maintenance of your program that explain your choices of data types you selected for your program.

II. Algorithms and Control Structure: Your final program should properly employ each of the following control structures as required or defined by the scenario where necessary: A. Utilize expressions or statements that carry out appropriate actions or that make appropriate changes to your programs state as represented in your programs variables. B. Employ the appropriate conditional control structures that enable choosing between options in your program. C. Utilize iterative control structures that repeat actions as needed to achieve the programs goal. D. Utilize inline comments directed toward software engineers for the ongoing maintenance of your program that explain how your use of algorithms and control structures appropriately addresses the scenarios information management problem

III. Methods: Your final program should properly employ each of the following aspects of method definition as determined by the scenarios requirements where necessary: A. Use formal parameters that provide local variables in a functions definition. B. Use actual parameters that send data as arguments in function calls. C. Create both value-returning and void functions to be parts of expressions or stand-alone statements in your program. D. Create unit tests that ensure validity of the methods. E. Invoke methods that access the services provided by an object. F. Employ user-defined methods that provide custom services for an object. G. Utilize inline comments directed toward software engineers for the ongoing maintenance of your program that explain the purpose of the methods you implemented in your program

IV. Classes: Construct classes for your program that include the following as required by the scenario where necessary: A. Include attributes that allow for encapsulation and information hiding in your program. B. Include appropriate methods that provide an objects behaviors. C. Create a driver class that instantiates objects for testing the constructed classes. D. Utilize inline comments directed toward software engineers for the ongoing maintenance of your program that explain the decisions you made in the construction of the classes in your program.

V. Produce reference documentation that communicates your application programming interface (API) to other programmers, using a documentation generator (Javadoc, Doxygen, etc.) - Inline comments directed toward software engineers about design decisions to facilitate the program's ongoing maintenance - Application programming interface (API) documentation for your programmatic solution directed toward other software developers

Thanks

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

In the two-factor research design, what is within-group variance?

Answered: 1 week ago