IT 106 George Mason University ACME Bakery IT Problem Solving Project 2 parts to assignment:
1st part: solution design
2nd part: solution Implementation
– must use JOptionPane class for input/output
question and full instructions is attached
this is the last assignment! Only part 1 is due in 3 days on sunday. Part 2 you can do by next week Programming Assignment 7/8
Scenario:
ACME bakery has decided to take on a project to update their retail storefront based on a budget they
have. They need your help to evaluate various bids against the project budget. These bids have been
provided by exactly ten different contractors. In order to perform the evaluation, the bakery owner
would like to avoid the lowest bid and the highest bid gathered.
Create a modular solution to enable the bakery owner to first enter their budget for the storefront
remodel project. Then, the solution should allow bakery owner to enter each bid, one at a time, until all
bids have been entered. If the owner makes a mistake and input an invalid bid, she should be provided
with an error message and a chance to enter the bid again. Once all bids have been entered, the average
bid should be determined, not inclusive of the lowest or highest bid. Print a well-formatted report that
lists all bids entered (inclusive of the lowest and highest bid), all bids factored into the average (not
inclusive of the lowest and highest bid), the average bid (not inclusive of the lowest and highest bid),
and a list of all bids (not inclusive of the lowest and highest bid) that are equal to or less than the project
budget to show the bakery owner which bids she can afford based on her budget.
Other Requirements:
Your solution must be designed as a modular solution using modules other than a mainline, with
each module performing only one task. The mainline should contain only a very minimal amount
of logic, calling modules instead.
Your solution must demonstrate the concept of arrays.
Your solution must not import any Java library other than JOptionPane, including java.util.Arrays
Your solution must contain appropriate validation. Try to think about what might be considered
appropriate as you are designing your solution beyond what has already been explicitly
provided.
Your solution may not use any functions or language constructs not covered in this class
Part 1: Solution Design
1) Create a defining diagram that shows the input, processing, and output
2) Create a structure diagram/hierarchy chart grouping processes from the defining diagram into
modules to help you determine what modules you will need (You need to do this, but you do
not need to turn it in as part of the grade)
3) Create a modular solution algorithm using pseudocode
4) Show testing using the desk checking table method, to include test data, expected results, and a
desk checking table. Make sure your desk checking considers multiple cases including both valid
and invalid test data to prove your algorithm will work in all cases
Upload a Word document containing only items above to Blackboard.
Grading Criteria
Requirement
Points
Defining Diagram with input, processing, and output
40
Efficient Solution Algorithm
40
Thorough Desk Checking Table including test data and expected results
20
Part 2: Solution Implementation
Write a well-documented, efficient Java program that implements the algorithm you identified. Include
appropriate documentation as identified in the documentation expectations document.
Note: You must use the JOptionPane class for input/output. Additionally, if you use System.exit as
shown in the textbook, it may only be used as the absolute last line in the program. You may not use
System.exit, or any variant that exits the program in the middle of the program. The program should be
designed to only exit once the algorithm has finished.
Upload the .java file of the final program to Blackboard. Be careful that you do not submit a .class file
instead of a .java file.
Your program must successfully compile using jGrasp. Partial credit is available. Any final program that
does not compile, for any reason, will receive an automatic zero. Other IDEs often place in additional
code that you are unaware of, doing too much of the work for you. You are strongly discouraged from
using IDEs other than jGrasp.
Grading Criteria
Requirement
Points
Implementation of Java Program, using efficient practices where appropriate, such as the use
of constants, good variable names, no redundant code, etc.
70
Appropriate objective-style documentation
10
Appropriate intermediate comments
20
Purchase answer to see full
attachment
LDR 3302-21.01.01-1A24-S1, Organizational Theory and Behavior Unit III Essay Top of Form Bottom of Form…
Chapter 9 What are teratogens? Give 5 examples. Define each of these stages: Germinal, embryonic,…
You are a Financial Analyst that has been appointed to lead a team in the…
You are familiar with the ANA Code of Ethics and have a growing understanding of…
This week’s discussion will focus on management decision-making and control in two companies, American corporation…
Mary Rowlandson felt that the man who eventually came to own her, Quinnapin, was “the…