CMSC203 Assignment 1 to 6 solutions

$140.00

Original Work ?
Category: You will Instantly receive a download link for .ZIP solution file upon Payment

Description

5/5 - (1 vote)

CMSC203 Assignment 1 Wi-Fi Diagnosis

We all need internet connectivity in this age of lockdowns.  What steps should you go through when you do not have connectivity?

Assignment Description

 

Build an application that will step through some possible problems to restore internet connectivity.  Assume that your computer uses wi-fi to connect to a router which connects to an Internet Service Provider (ISP) which connects to the Internet.

Concepts tested by this assignment

 

  • Creation of a driver class
  • Pseudo-code
  • Java fundamentals, including decision structures
  • Following a flow-chart
  • Command-line processing

 

 

 

 

Classes

 

 

 

  • Class – WiFiDiagnosis
  • Source code – WiFiDiagnosis.java

 

 

Assignment Details

 

 

 

  • Write a program based on the following flow-chart
  • This class should contain a main method.
  • The diagnosis will be based on the following flow-chart:

 

Prompt the user at each step, and if they respond that the step they took fixed the problem, exit the program.

You are required to run the application from the command line and from an IDE (like Eclipse). Take screenshots of two runs of your program with different inputs, one from the command line and one from your IDE.

Examples/Sample Runs

 

 

 

 

 

 

If you have a problem with internet connectivity, this WiFi Diagnosis might work.

 

First step: reboot your computer

Are you able to connect with the internet? (yes or no)

no

Second step: reboot your router

Now are you able to connect with the internet? (yes or no)

no

Third step: make sure the cables to your router are plugged in firmly and your router is getting power

Now are you able to connect with the internet? (yes or no)

yes

Checking the router’s cables seemed to work

 

 

If you have a problem with internet connectivity, this WiFi Diagnosis might work.

 

First step: reboot your computer

Are you able to connect with the internet? (yes or no)

yes

Rebooting your computer seemed to work

 

 

If you have a problem with internet connectivity, this WiFi Diagnosis might work.

 

First step: reboot your computer

Are you able to connect with the internet? (yes or no)

no

Second step: reboot your router

Now are you able to connect with the internet? (yes or no)

no

Third step: make sure the cables to your router are plugged in firmly and your router is getting power

Now are you able to connect with the internet? (yes or no)

no

Fourth step: move your computer closer to your router

Now are you able to connect with the internet? (yes or no)

no

Fifth step: contact your ISP

Make sure your ISP is hooked up to your router.

Deliverables

 

 

 

 

 

 

Deliverables / Submissions and Deliverable format:

 

Design: pseudo-code (algorithm)

Implementation:

The Java application must compile and run correctly, otherwise Project grade will be 0.

The deliverables will be packaged as follows. Two compressed files in the following formats:

  • zip, a compressed file in the zip format, with the following:
    • Source Code: WiFiDiagnosis.java
    • Word document that includes (use provided template):
      • Final Design: revised pseudo-code from initial design if necessary
      • Test Plan (test cases, for each test case provide screenshot of the running application)
      • Screenshots:
          • One screenshot of the application running from the command prompt.
          • One screenshot of the application running in your IDE.
          • Screen shot of Java file (WiFiDiagnosis.java) in your GitHub repository
  • Lessons Learned: Provide answers to the questions listed below:
          • Write about your Learning Experience, highlighting your lessons learned and learning experience from working on this project.
          • What have you learned?
          • What did you struggle with?
          • What would you do differently on your next project?
          • What parts of this assignment were you successful with, and what parts (if any) were you not successful with?
          • Provide any additional resources/links/videos you used to while working on this assignment/project.
  • FirstInitialLastName_Assignment1_Moss.zip, a compressed file containing one or more Java files (This folder should contain Java source file only):
  • Source Code: WiFiDiagnosis.java
      • Documentation within a source code should include
        • comments for each method.
        • additional Comments to clarify a code.
        • one block comment at the top of each program containing the course name, the project number, your name, the date, and platform/compiler that you used to develop the project, for example:

 

/*

* Class: CMSC203

* Instructor:

* Description: (Give a brief description for each Class)

* Due: 2/14/2022

* Platform/compiler:

* I pledge that I have completed the programming assignment independently.

I have not copied the code from a student or any source.

I have not given my code to any student.

Print your Name here: __________

*/

 

 

Grading Rubric

 

 

 

CMSC203 Grading Rubric – Template Possible total Grade: 100 Points Earned:
Name
TESTING
Project must compile. If it doesn’t compile 0
Project must run. If it’s run time error 0
Follows assignment document instructions 25
Passes private instructor tests 75
Possible Sub-total 100
REQUIREMENTS  (Subtracts from TESTING total)
Documentation:
   Documentation within a source code is missing or incorrect
Header comments at the top of the program are missing -5
Comments for each method are missing -5
Additional comments should be provided to clarify a code -5
Description of what class is missing -5
    Design: Pseudocode/algorithm missing or incorrect -5
    Javadoc is mission (if Applicable) -5
    Required output screenshots are missing -5
    Lessons Learned are missing or incomplete -10
    MOSS zip file is missing -5
    GitHub screenshot is missing -5
Programming Style:
     Incorrect use of indentation, naming convention, etc: -5
          see coding/style standards
     User interface
Not clear to user how data is to be entered -4
Output is not easy to understand -4
Design:
  Does not follow the given flow-chart -6
  Does not print application header -4
  Does not print the Programmer’s name at the end -4
 
Possible decrements: -82
Possible total grade: 100 Points Earned:

 CMSC203 Assignment 2 Random Number Guesser

 

Assignment Description

 

Build an application that will receive a guess and report if your guess is the random number that was generated.  Your application will narrow down the choices according to your previous guesses and continue to prompt you to enter a guess until you guess correctly.

Notice that if you divide the choices in half each iteration, you will need at most log2(100) ~ 7 guesses.

You will use the utility class RNG.java.

Concepts tested by this assignment

 

 

  • A driver and a utility class
  • Pseudo-code
  • Java fundamentals, including decision structures, loops
  • Selection control statements
  • Repetition control statements
  • Input validation loops (in RNG.java)
  • Relational and logical operators
  • Random number generation (in RNG.java)

 

Classes

 

 

Data Element Class – RNG

  • Provided
  • This file will generate a random number between 1 and 100
  • Note that the method “rand” is a static method, so the java file does not need to be instantiated to use it. Call rand with the following: RNG.rand(100) to generate a random number between 0 and 99.
  • Thank youStudy this class. You will want to use four methods from this class: rand, resetCount, getCount and inputValidation.

 

Driver Class RandomNumberGuesser

  • Student created.
  • This is the driver class for RNG that contains a main method.
  • The driver is responsible to:
    • print a header.
    • ask the user for an initial guess of the Random Number between 0 and 100.
    • Print out the result for that guess using the methods from the RNG class.
    • Allow user to give another guess between the previous low and high guesses.
    • Display the number of guesses.
    • When user guesses correctly, ask if the user wants to try another round.
    • Print the Programmer’s name at the end.
    • Refer to the program sample run for more clarification.
  • Data Validation. The following data is validated by the RNG method inputValidation:
    • Guesses must be an integer between the previous low guess and high guess.
    • There should be an attribute named randNum.
    • There should be attributes named nextGuess, highGuess, and lowGuess.
  • Add any necessary methods to modularize your code.

 

Assignment Details

 

Your program should respond like the following sample runs:

== Example Run 1 (one iteration) ===========

== Example Run 2 (one iteration, one guess over the limit) ===========

== Example Run 3 (two iterations) ===========

Take screenshots of runs of your program based on your Test Plan. Your runs should include feedback on previous low and high guesses, at least one example of a guess not within the previous low and high guesses, and an example of a second try with a new random number.  You use Eclipse. Store your files in the repo you created in GitHub in Lab 1 and take a screenshot.

 

Good Faith Attempt

 

 

To satisfy the “Good Faith Attempt” (see Blackboard) your code must compile, run, and print the output.

Note that the GFA is not graded, so you must submit your totally working code by the submission deadline to have a non-zero grade.

 

Test Plan

 

Test your program with at least 3 test cases. Make sure your tests cover all the possible scenarios.

Test Case # Input   Expected Output

 

Actual Output

 

 

Did the test pass?

 

1  

 

2
3
Pseudocode

 

 

 

Write the pseudo code for Assignment 2 based on the Assignment 2 Description given to you. Refer to the Pseudocode Guideline on how to write Pseudocode.

 

 

 

Deliverables

 

 

Deliverables / Submissions and Deliverable format:

 

Design: pseudo-code (algorithm)

Implementation:

The Java application must compile and run correctly, otherwise Project grade will be 0.

The deliverables will be packaged as follows. Two compressed files in the following formats:

  • zip, a compressed file in the zip format, with the following:
    • Source Code: RandomNumberGuesser.java and RNG.java
    • Word document that includes (use provided template):
      • Final Design: pseudo- code (revised from initial design if necessary)
      • Test Plan (test cases, for each test case provide screenshot of the running application)
      • Screenshots:
          • One screenshot of the application running from the command prompt.
          • One screenshot of the application running in your IDE.
          • Screen shots of Java files (RandomNumberGuesser.java and RNG.java) in your GitHub repository
  • Lessons Learned: Provide answers to the questions listed below:
          • Write about your Learning Experience, highlighting your lessons learned and learning experience from working on this project.
          • What have you learned?
          • What did you struggle with?
          • What would you do differently on your next project?
          • What parts of this assignment were you successful with, and what parts (if any) were you not successful with?
          • Provide any additional resources/links/videos you used to while working on this assignment/project.
  • FirstInitialLastName_Assignment1_Moss.zip, a compressed file containing one or more Java files (This folder should contain Java source files only):
  • Source Code: java and RNG.java
  • Documentation within a source code should include:
        • comments for each method.
        • additional Comments to clarify a code.
        • one block comment at the top of each program containing the course name, the project number, your name, the date, and platform/compiler that you used to develop the project, for example:

 

/*

* Class: CMSC203

* Instructor:

* Description: (Give a brief description for each Class)

* Due: 2/23/2021

* Platform/compiler:

* I pledge that I have completed the programming assignment independently.

I have not copied the code from a student or any source.

I have not given my code to any student.

Print your Name here: __________

*/

Grading Rubric

 

 

 

CMSC203 Grading Rubric – Template Possible total Grade: 100 Points Earned:
Name
TESTING
Project must compile. If it doesn’t compile 0
Project must run. If it’s run time error 0
Follows assignment document instructions 25
Passes private instructor tests 75
Possible Sub-total 100
REQUIREMENTS  (Subtracts from TESTING total)
Documentation:
   Documentation within a source code is missing or incorrect
Header comments at the top of the program are missing -5
Comments for each method are missing -5
Additional comments should be provided to clarify a code -5
Description of what class is missing -5
    Design: Pseudocode/algorithm missing or incorrect -5
    Javadoc is mission (if Applicable) -5
    Required output screenshots are missing -5
    Lessons Learned are missing or incomplete -10
    MOSS zip file is missing -5
    GitHub screenshot is missing -5
Programming Style:
     Incorrect use of indentation, naming convention, etc: -5
          see coding/style standards
     User interface
Not clear to user how data is to be entered -4
Output is not easy to understand -4
Design:
  Does not follow the given flow-chart -6
  Does not print application header -4
  Does not print the Programmer’s name at the end -4
 
Possible decrements: -82
Possible total grade: 100 Points Earned:

 

CMSC203 Assignment 3 encryption

In cryptographyencryption is the process of encoding a message or information in such a way that only authorized parties can access it and those who are not authorized cannot. In an encryption scheme, the intended information or message, referred to as plaintext, is encrypted using an encryption algorithm – a cipher – generating ciphertext that can be read only if decrypted.

 

The Enigma machines were a family of portable cipher machines with rotor scramblers that became Nazi Germany‘s principal crypto-system. It was broken by the Polish General Staff’s Cipher Bureau in December 1932, with the aid of French-supplied intelligence material obtained from a German spy.

Enigma machine used by Nazi Germany

during World War II

Assignment Description

 

Write a Java program to encrypt and decrypt a phrase using two similar approaches, each insecure by modern standards.

 

The first approach is called the Caesar Cipher and is a simple “substitution cipher” where characters in a message are replaced by a substitute character.

 

The second approach, due to Giovan Battista Bellaso (b 1505, d 1581), uses a key word, where each character in the word specifies the offset for the corresponding character in the message, with the key word wrapping around as needed.

 

Concepts covered by this assignment

 

  • Using loops
  • String and character processing
  • ASCII codes

 

Classes

 

Data Manager class – CryptoManager

  • Implement each of the methods specified in this file. This version as provided will print error messages in the console, because they are just the skeletons.

Each of the methods are static, so there is no need to create an instance of the Data Manager.

The methods are described below.

  • public static boolean isStringInBounds (String plainText)
  • This method determines if a string is within the allowable bounds of ASCII codes according to the LOWER_RANGE and UPPER_RANGE characters.
  • The parameter plainText is the string to be encrypted.
  • The method returns true if all characters are within the allowable bounds, false if any character is outside.
  • public static String caesarEncryption (String plainText, int key)
  • This method encrypts a string according to the Caesar Cipher.
  • The parameter plainText is an uppercase string to be encrypted.
  • The parameter integer key specifies an offset and each character in plainText is replaced by the character the specified distance away from it.
  • The method returns the encrypted string.
  • If the plainText is not in bounds, the method returns:
    • The selected string is not in bounds, Try again.
  • public static String caesarDecryption (String encryptedText, int key)
  • This method decrypts a string according to the Caesar Cipher.
  • This is the inverse of the caesarEncryption method.
  • The parameter encryptedText is the encrypted string to be decrypted, and key is the integer used to encrypt the original text.
  • The integer key specifies an offset and each character in encryptedText is replaced by the character “offset” characters before it.
  • The method returns the original plain text string.
  • public static String bellasoDecryption (String plainText, String bellasoStr)
  • This method encrypts a string according to the Bellaso Cipher.
  • Each character in plainText is offset according to the ASCII value of the corresponding character in bellasoStr, which is repeated to correspond to the length of plaintext. The method returns the encrypted string.
  • public static String bellasoDecryption(String encryptedText, String bellasoStr)
  • This method decrypts a string according to the Bellaso Cipher.
  • Each character in encryptedText is replaced by the character corresponding to the character in bellasoStr, which is repeated to correspond to the length of plainText.
  • This is the inverse of the bellasoDecryption method.
  • The parameter encryptedText is the encrypted string to be decrypted,
  • The parameter bellasoStr is the string used to encrypt the original text.
  • The method returns the original plain text string.

Add additional methods if you wish to make your logic easier to follow.

 

GUI Driver class – FXDriver and FXMainPane

A Graphical User Interface (GUI) is provided.  Be sure that the GUI will compile and run with your methods. The GUI will not compile if your method headers in CryptoManager.java are not exactly in the format specified.  When you first run the application, your methods will all throw exceptions, which will be caught by the GUI and printed out in the console.

The GUI takes care of capitalizing your input strings.

Do not modify the GUI.

 

JUnit Test

Two JUnit test files have been provided; CryptoManagerGFATest and CryptoManagerTestPublic.

Once your methods are implemented, run each JUnit test.  Ensure that the JUnit tests all succeed.

You must create another JUnit test file, named CryptoManagerTestStudent to test every public method of the CryptoManager class, except setUp and tearDown methods.

You can take a look at provided CryptoManagerTestPublic and create similar test cases, however your test string values must be different.

 

Assignment Details

 

Since our specified range does not include lower-case letters, the GUI (provided) will change strings to upper case.  You can find the ASCII table at https://www.asciitable.com/, or many other places on the Internet.

Caesar Cipher:

The first approach is called the Caesar Cipher and is a simple “substitution cipher” where characters in a message are replaced by a substitute character.  The substitution is done according to an integer key which specifies the offset of the substituting characters.  For example, the string ABC with a key of 3 would be replaced by DEF.

If the key is greater than the range of characters we want to consider, we “wrap around” by subtracting the range from the key until the key is within the desired range.  For example, if we have a range from space (‘ ‘) to ‘_’ (i.e., ASCII 32 to ASCII 95), and the key is 120, we note that 120 is outside the range.  So, we subtract 95-32+1=64 from 120, giving 56, which in ASCII is the character ‘8’.  If the key is even higher, we can subtract the range from the key over and over until the key is within the desired range.

Giovan Battista Bellaso:

The second approach, due to Giovan Battista Bellaso (b 1505, d 1581), uses a key word, where each character in the word specifies the offset for the corresponding character in the message, with the key word wrapping around as needed.

So, for the string ABCDEFG and the key word CMSC:

  • The key word is first extended to the length of the string, i.e., CMSCCMS.
  • Then A is replaced by ‘A’ offset by ’C’, i.e., ASCII 65+67=132. The range of the characters is also specified, and again we’ll say ‘ ‘ to ‘_’ (i.e., ASCII 32 to ASCII 95). The range is then 95-32+1=64.  In our example, the offset is “wrapped” by reducing 132 by the range until it is the allowable range.  132 is adjusted to 132-64=68, or character ‘D’ in the encrypted phase.
  • Then the same logic is applied to the second letter of the plain text ‘B’ shifted by the second letter of the key word ‘M’. This results in the character ‘O’ as the second letter in the encrypted phase, and so on.
  • In each approach, if the resulting integer is greater than 95 (the top of our range), the integer is “wrapped around” so that it stays within the specified range.
  • The result is “DOVGHSZ”.

Your program will implement several methods that are specified in the file “CryptoManager.java”.  A Graphical User Interface is provided, as well as a test file, that you should use to make sure your methods work correctly.  Be sure to follow the naming exactly, as the tests will not work otherwise.

There are several features of Java that we have not yet covered in class.  Just follow the syntax specified in this document and in the file CryptoManager.java.  First, the required methods are “static”, which just means that they are available from the class even if an instance has not been created.  To call a static method, for example, “public static void myMethod();” the syntax is CryptoManager.myMethod();.  Another feature that may be useful in this project is the method charAt(i) on a string, which returns a character at position i of a string (zero-based).  So “thisString”.charAt(3); would return the char ‘s’.

Examples

 

Deliverables

 

Deliverables / Submissions and Deliverable format:

  • The Java application must compile and run correctly, otherwise project grade will be zero.
  • The detailed grading rubric is provided in the assignment rubric excel file.
  • Your source code should contain proper indentation and documentation.
  • Documentation within a source code should include
    • additional Comments to clarify a code, if needed
    • class description comments at the top of each program containing the course name, the project number, your name, the date, and platform/compiler that you used to develop the project, for example:

/*

* Class: CMSC203

* Instructor:

* Description: (Give a brief description for each Class)

* Due: MM/DD/YYYY

* Platform/compiler:

* I pledge that I have completed the programming

* assignment independently. I have not copied the code

* from a student or any source. I have not given my code

* to any student.

Print your Name here: __________

*/

 

Design

Turn in pseudo-code for each of the methods specified in CryptoManager.java.  Your pseudo-code should be part-way between English and java.  There is no need to spell out all the details of variable declaration, etc., but by the same token, the pseudo-code needs to have enough detail that a competent Java programmer could implement it. Alternately, turn in a UML class diagram specifying the methods and fields.

 

Implementation

Note: Only submit the files that are created/modified by per requirement. DO NOT submit the files that are already provided for you.

 

The deliverables will be packaged as follows. Two compressed files in the following formats:

  • zip, a compressed file in the zip format, with the following:
  • src folder:
    • java
    • java
    • Word document that includes (use provided template):
      1. Pseudocode for each of the methods specified in CryptoManager.java.
      2. Screenshots:
        1. Screen snapshots of outputs from Eclipse based on your Test Plan
        2. Screen shot of src folder files in your GitHub repository
      3. Lessons Learned: Provide answers to the questions listed below:
        1. Write about your Learning Experience, highlighting your lessons learned and learning experience from working on this project.
        2. What have you learned?
        3. What did you struggle with?

 

 

  • FirstInitialLastNamezip, a compressed file containing one or more Java files (This folder SHOULD NOT contain any folders and it SHOULD contain Java source file only that are created/modified by you per requirement.)
  • java
  • java

 

CMSC203 Assignment 4 property management

Assignment Description

 

A property management company manages individual properties they will build to rent, and charges them a management fee as the percentages of the monthly rental amount. The properties cannot overlap each other, and each property must be within the limits of the management company’s plot.  Write an application that lets the user create a management company and add the properties managed by the company to its list. Assume the maximum number of properties handled by the company is 5.

 

Concepts tested by this assignment

 

  • Aggregation
  • Passing object to method
  • Array Structure
  • Objects as elements of the Array
  • Processing array elements
  • Copy Constructor
  • Junit testing
Classes

 

Data Element class – Property.java

The class Property will contain:

  1. Instance variables for property name, city, rental amount, owner, and plot. Refer to JavaDoc for the data types of each instance variable.
  2. toString method to represent a Property object.
  3. Constructors and getter and setter methods. Refer to Javadoc of the Property class. One parameterized constructor will have parameters for property name, city, rent amount, owner, x and y location of the upper left corner of the property’s plot, the plot’s width and its depth. A second constructor will only have parameters for name, city, rental amount, and owner, and will generate a default x, y, width, and depth.

 

Data Element class – Plot.java

The class Plot will contain:

  1. Instance variables to represent the x and y coordinates of the upper left corner of the location, and depth and width to represent the vertical and horizontal extents of the plot.
  2. A toString method to represent a Plot object
  3. Constructors, Refer to Javadoc for Plot class.
  4. A method named overlaps that takes a Plot instance and determines if it is overlapped by the current plot.
  5. A method named encompasses that takes a Plot instance and determines if the current plot contains it. Note that the determination should be inclusive, in other words, if an edge lies on the edge of the current plot, this is acceptable.

Data Structure – An Array of Property objects to hold the properties that the management company handles. This array will be declared as an attribute of the ManagementCompany class.

 

Data Manager class – ManagementCompany.java

This class should not have any output functionality (e.g., no GUI-related or printing related functionality), but should take input, operate on the data structure, and return values or set variables that may be accessed with getters.

It will contain instance variables of name, tax Id, management fee, MAX_PROPERTY (a constant set to 5) and an array named properties of Property objects of size MAX_PROPERTY, as well as two constants MGMT_WIDTH and MGMT_DEPTH, both set to 10; an attribute plot of type Plot that defines the plot of the ManagementCompany Class. Refer to Javadoc for more details.

The class ManagementCompany will contain the following methods in addition to get and set methods:

  1. Constructors (refer to Javadoc for more details)
  2. Method addProperty (3 versions):
    • Method addProperty version 1:
      • Pass in a parameter of type Property object (calls Property copy constructor). It will add the copy of the Property object to the properties
    • Method addProperty version 2:
      • Pass in four parameters of types:
        • String propertyName,
        • String city,
        • double rent,
        • String ownerName.
      • Calls Property 4-arg constructor.
    • Method addProperty version 3:
      • Pass in eight parameters of types:
        • String propertyName,
        • String city,
        • double rent,
        • String ownerName,
        • int x,
        • int y,
        • int width
        • int depth.
      • Calls Property 8-arg constructor.
    • addProperty methods will return the index of the array where the property is added. If there is a problem adding the property, this method will return -1 if the array is full, -2 if the property is null, -3 if the plot for the property is not encompassed by the management company plot, or -4 if the plot for the property overlaps any other property’s plot.
  3. Method totalRent– Returns the total rent of the properties in the properties
  4. Method maxRentPropertyIndex– returns the index of the property within the properties array that has the highest rent amount. This method will be private.
  5. Method maxRentProp– Returns the highest rent amount of the property within the properties For simplicity assume that each “Property” object’s rent amount is different. This method should call the maxRentPropertyIndex method.
  6. Method toString– returns information of ALL the properties within this management company by accessing the “Properties” array. The format is as following example:

List of the properties for Alliance, taxID: 1235

______________________________________________________

Property Name : Belmar

Located in Silver Spring

Belonging to: John Smith

Rent Amount: 1200.0

Property Name: Camden Lakeway

Located in Rockville

Belonging to: Ann Taylor

Rent Amount: 2450.0

Property Name: Hamptons

Located in Rockville

Belonging to: Rick Steves

Rent Amount: 1250.0

______________________________________________________

 

total management Fee: 294.0

 

You may need additional methods to include in this class. Follow the Javadoc files provided.

 

Driver class – (provided)

The provided PropertyMgmDriverNoGui.java is a class that allows you to test the methods of ManagementCompany.java

 

GUI Driver class – (provided)

A Graphical User Interface (GUI) is provided.  Be sure that the GUI will compile and run with your methods. The GUI will not compile if your methods in ManagementCompany.java are not exactly in the format specified.

Do not modify the GUI.

 

JUnit Test

Run the JUnit test file (provided).  Ensure that the JUnit tests all succeed.

Do not modify the JUnit tests.

Implement your tests in ManagementCompanyTestSTUDENT.  These tests should be similar to the Junit tests.

 

Assignment Details

 

Write a Data Element Class named Property that has fields to hold the property name, the city where the property is located, the rent amount, the owner’s name, and the Plot to be occupied by the property, along with getters and setters to access and set these fields. Write a parameterized constructor (i.e., takes values for the fields as parameters) and a copy constructor (takes a Property object as the parameter).  Follow the Javadoc file provided.

 

Write a Data Element Class named Plot that has fields specifying the X and Y location of the upper left corner of each Plot and a depth and width of each Plot.  Notice that the X, Y location is at the upper left, not as in normal Cartesian coordinates, due to the grid system adopted by computer monitors.

 

A driver class is provided that creates rental properties to test the property manager.  A Graphical User Interface is provided using JavaFX which duplicates this driver’s functionality.  You are not required to read in any data, but the GUI will allow you to enter the property management company and each property by hand. A directory of images is provided.  Be sure to place the “images” directory (provided) inside the “src” directory in Eclipse. The images do not need to display in order for the GUI to continue running.

 

Upload the initial files from Blackboard and your final java files to GitHub in your repo from Lab 1, in a directory named CMSC203_Assignment4.

Operation

When driver-driven application starts, a driver class (provided) creates a management company, creates rental properties, adds them to the property manager, and prints information about the properties using the property manager’s methods.

When the GUI-driven application starts (provided), a window is created as in the following screen shots which allows the user to enter applicable data and display the resulting property.  The driver and the GUI will both use the same classes and methods for their operation.

The JUnit test class also tests the same classes as the driver and the GUI.

Examples

 

Expected output from running PropertyMgmDriverNoGui.java

 

Expected output from running with GUI:

 

  PropertyMgmGui.java at startup                                                                           

 

Add Management Co Info (Note Mgmt. Co Plot)

Add property information  – the Plot outline

 

 

Add property information  – successful addition

 

Add property information  – unsuccessful: overlaps

 

Add property information  – unsuccessful: Mgmt Co Plot does not encompass Property Plot

   Note: red rectangle’s width extends to right of window.

 

 

Add property information  – unsuccessful: too many properties

 

Result of “Max Rent” button                                 Result of “Total Rent” button

 

 

 

Result of “List of Properties” button

 

 

Deliverables

 Deliverables / Submissions:

 

Design

  • Turn in a UML class diagram for all classes in a Word document (or .uml file if you use UmlScluptor).
  • Submit pseudo-code for the primary methods specified in ManagementCompany.java, and Plot.java in a Word document. Do not just list what gets read in a printed out, but explain the algorithm being used.

 

Implementation

 

Submit two compressed files containing the follow (see below):

Note: Only submit the files that are modified. DO NOT submit the files that are already provided for you.

Deliverable format: The deliverables will be packaged as follows. Two compressed files in the following formats:

1st zip file: FirstInitialLastName_Assignment4_Complete.zip, a compressed file containing the following:

  • Word document with a name FirstInitialLastName_Assignment4.docx should include:
    • UML Class Diagram for all classes
    • Pseudocode for each of the methods specified in ManagementCompany.java, Property.java, and Plot.java.
    • Screen snapshots of the GUI with several properties (similar to screenshots in Assignment 4 Descriptions
    • Screen snapshot of Junit (display test for each method)
    • Screen snapshot of GitHub submission
    • Lessons Learned
    • Check List
  • doc (a directory) containing your javadoc files for the following classes: Property, ManagementCompany, Plot
  • src (a directory) contains your files:

Property.java, ManagementCompany.java, Plot.java, ManagmentCompanyTestSTUDENT.java

2nd zip file: FirstInitialLastName_Assignment4_Moss.zip, a compressed file containing the following files:

Property.java, ManagementCompany.java, Plot.java, and ManagmentCompanyTestSTUDENT.java   This .zip will not have any folders in it – only .java files.

Notes:

  • Learning Experience: highlight your lessons learned and learning experience from working on this project.
  • What have you learned?
  • What did you struggle with?
  • What will you do differently on your next project?
  • Include what parts of the project you were successful at, and what parts (if any) you were not successful at.
  • GitHub: In your repository (see Assignment0), upload your Word file and java file. You will want to upload these files as contents of a directory so that future uploads can be kept separate. Take and submit a screen shot of the GitHub repository.

 

  • Proper naming conventions: All constants, except 0 and 1, should be named. Constant names should be all upper-case, variable names should begin in lower case, but subsequent words should be in title case. Variable and method names should be descriptive of the role of the variable or method. Single letter names should be avoided.

 

  • Documentation: The documentation requirement for all programming projects is one block comment at the top of the program containing the course name, the project number, your name, the date and platform/compiler that you used to develop the project. If you use any code or specific algorithms that you did not create, a reference to its source should be made in the appropriate comment block. Additional comments should be provided as necessary to clarify the program.

Indentation: It must be consistent throughout the program and must reflect the control structure

 

 

Grading Rubric

See attachment: CMSC203 Assignment 4 Rubric.xlsx

 

Assignment 4 Check List (include Yes/No or N/A for each item)

#   Y/N or N/A Comments
1.       Assignment files:    
  ·       FirstInitialLastName_ Assignment 4_Moss.zip    
  ·       FirstInitialLastName_Assignment4_Complete.zip    
2.       Program compiles    
3.       Program runs with desired outputs related to a Test Plan    
4.       Documentation file:    
  ·       Comprehensive Test Plan    
  ·       Screenshots for each Junit Test    
  ·       Screenshots for each Test case listed in the Test Plan    
  ·       Screenshots of your GitHub account with submitted Assignment# (if required)    
  ·       UML Diagram    
  ·       Algorithms/Pseudocode    
  ·       Flowchart (if required)    
  ·       Lessons Learned    
·       Checklist is completed and included in the Documentation

 CMSC203 Assignment 5 Sales Report

Minnie and Mickey are getting ready to send out Holiday bonuses to their hard-working employees in Retail District #5. The bonuses are calculated based on how much each retail store sold in each category.

The retail store with the highest amount sold in a category will receive $5,000. The retail store with the lowest amount sold in a category will receive $1,000.

All other retail stores in district #5 will receive $2,000. If a retail store didn’t sale anything in a category, or they have a negative sales amount, they are not eligible for a bonus in that category. If only one retail store sold items in a category, they are eligible to receive only the bonus of $5000 for that category.

Assignment Description

 

Create a utility class that manipulates a two-dimensional ragged array of doubles. This utility class will be used to create a Sales Report for Retail District #5. It will accommodate positive and negative numbers. Follow the Javadoc provided.

Create a utility class that will calculate holiday bonuses given a ragged array of doubles which represent the sales for each store in each category. It will also take in bonus amount for the store with the highest sales in a category, the bonus amount for the store with the lowest sales in a category and the bonus amount for all other stores.

These utility classes will be used with an existing GUI class to create a sales report and display holiday bonuses.

Testing of these utility classes will be done with the JUnit tests and the GUI class provided for you.

Concepts tested by this assignment

 

  • Creating classes based on Javadoc
  • Two Dimensional Ragged Arrays
  • Passing arrays to and from methods
  • Creating a Utility class (static methods)
  • JUnit testing
  • Reading from a file
  • Writing to a file
  • Using methods of the utility class within an existing GUI driver class
    • Must follow Javadoc to implement correctly

 

Classes

 

Utility class – TwoDimRaggedArrayUtility

The class TwoDimRaggedArrayUtility will follow the provided Javadoc and will contain the following methods:

  1. Method readFile – pass in a file and return a two-dimensional ragged array of doubles
  2. Method writeToFile – pass in a two-dimensional ragged array of doubles and a file, and writes the ragged array into the file. Each row is on a separate line and each double is separated by a space.
  3. Method getTotal – pass in a two-dimensional ragged array of doubles and returns the total of the elements in the array.
  4. Method getAverage – pass in a two-dimensional ragged array of doubles and returns the average of the elements in the array (total/num of elements).
  5. Method getRowTotal – pass in a two-dimensional ragged array of doubles and a row index and returns the total of that row. Row index 0 is the first row in the array.
  6. Method getColumnTotal – pass in a two-dimensional ragged array of doubles and a column index and returns the total of that column. Column index 0 is the first column in the array. If a row doesn’t contain that column, it is not an error, that row will not participate in this method.
  7. Method getHighestInRow – pass in a two-dimensional ragged array of doubles and a row index and returns the largest element in that row. Row index 0 is the first row in the array.
  8. Method getHighestInRowIndex – pass in a two-dimensional ragged array of doubles and a row index and returns the index of the largest element in that row. Row index 0 is the first row in the array.
  9. Method getLowestInRow – a two-dimensional ragged array of doubles and a row index and returns the smallest element in that row. Row index 0 is the first row in the array.
  10. Method getLowestInRowIndex – a two-dimensional ragged array of doubles and a row index and returns the index of the smallest element in that row. Row index 0 is the first row in the array.
  11. Method getHighestInColumn – pass in a two-dimensional ragged array of doubles and a column index and returns the largest element in that column. Column index 0 is the first column in the array. If a row doesn’t contain that column, it is not an error, that row will not participate in this method.
  12. Method getHighestInColumnIndex – pass in a two-dimensional ragged array of doubles and a column index and returns the index of the largest element in that column. Column index 0 is the first column in the array. If a row doesn’t contain that column, it is not an error, that row will not participate in this method.
  13. Method getLowestInColumn – pass in a two-dimensional ragged array of doubles and a column index and returns the smallest element in that column. Column index 0 is the first column in the array. If a row doesn’t contain that column, it is not an error, that row will not participate in this method.
  14. Method getLowestInColumnIndex – pass in a two-dimensional ragged array of doubles and a column index and returns the index of the smallest element in that column. Column index 0 is the first column in the array. If a row doesn’t contain that column, it is not an error, that row will not participate in this method.
  15. Method getHighestInArray – pass in a two-dimensional ragged array of doubles and returns the largest element in the array.
  16. Method getLowestInArray – pass in a two-dimensional ragged array of doubles and returns the smallest element in the array.

 

Utility class – HolidayBonus

The class HolidayBonus will contain the following methods:

  1. Method calculateHolidayBonus – pass in a two-dimensional ragged array of doubles, and the bonus amount for the store with the highest sales in a category, the bonus amount for the store with the lowest sales in a category and bonus amount for all other stores. It will return an array of doubles which represents the holiday bonuses for each of the stores in the district. The first entry in the returned array [0] will represent the holiday bonus for the store at [0] in the two-dimensional ragged array of doubles. You will be using methods from the TwoDimRaggedArrayUtility when needed.
  2. Method calculateTotalHolidayBonus – pass in a two-dimensional ragged array of doubles, and the bonus amount for the store with the highest sales in a category, the bonus amount for the store with the lowest sales in a category and bonus amount for all other stores. It will return a double which represents the total of all Holiday Bonuses for the District. You will be using methods from the TwoDimRaggedArrayUtility when needed.

 

GUI Application – provided for you

  1. Uses methods of TwoDimRaggedArrayUtility and HolidayBonus
  2. When the Load Sales Data button is selected the sales data is read from a file and displayed on the screen with the sales data as well as the totals for each store and the totals for each category. The largest sales for each category is highlighted in green. The smallest sales for each category is highlighted in red. The holiday bonus for each store is displayed as well as the total of holiday bonuses.
  3. The file contains a row for each store and each double in the row is separated by a space
  4. Student must provide two additional input files and a screenshot of the results of each. Each file will have at least 4 rows and up to 6 numbers on each row. They must represent ragged arrays.

 

JUnit Test

  1. Student will implement and submit TwoDimRaggesArrayUtilityTestSTUDENT.java (Template is provided)
  2. Student will implement and submit HolidayBonusTestSTUDENT.java

 

Assignment Details

 

When GUI application starts (provided), user is shown display of Store Names and Item Names

User selects Load Sales Data to select the file containing the sales data. The application then displays the sales for each store and each item as well as the totals for the store and the totals for the item. The store with the highest sales for each item will be highlighted.

Exit will exit the application.

 

File Format

The file will be in the following format: one store per line, each sales figure is separated by a space.

Examples

 

When application starts:

 

File containing sales data:

 

Result after selecting Load Sales Data:

 

File containing sales data (including negative numbers):

 

Result after selecting Load Sales Data:

 

File containing sales data (including negative numbers):

 

Result after selecting Load Sales Data:

 

Deliverables

 

Deliverables / Submissions:

 

Design: Turn in a UML diagram that includes box that contains pseudo-code for each of the methods specified in TwoDimRaggedArrayUtility and HolidayBonus classes.

.java.  Your pseudo-code should be part-way between English and java.  There is no need to spell out all the details of variable declaration, etc., but by the same token, the pseudo-code needs to have enough detail that a competent Java programmer could implement it.

 

Implementation: Submit a compressed file containing the follow (see below):  The Java application (it must compile and run correctly); Javadoc files in a directory; a write-up as specified below.  Be sure to review the provided project rubric to understand project expectations.  The write-up will include:

  • Test Cases (These are the ones you will use in your STUDENT test methods in the JUnit test)
    • Prepare a test table with a list of test cases (expected versus actual results) that you are testing the application with
  • Finalized UML diagram
  • Any assumptions that you are making for this project
  • In three or more paragraphs, highlights of your learning experience (see notes)

 

Deliverable format: The above deliverables will be packaged as follows. Two compressed files in the following formats:

1st zip file: FirstInitialLastName_Assignment5_Complete.zip, a compressed file containing the following:

  • Word document with a name FirstInitialLastName_Assignment4.docx should include:
    • Finalized UML Class Diagram for all classes
    • Screen snapshots of the GUI with several properties (like screenshots in Assignment 5 Descriptions
    • Screen snapshot of Junit (display test for each method)
    • Screen snapshot of GitHub submission
    • Lessons Learned
    • Check List
  • doc (a directory) containing your javadoc HTML files for your classes:
    • TwoDimRaggedArrayUtility.html
    • HolidayBonus.html
    • TwoDimRaggesArrayUtilityTestSTUDENT.html
    • HolidayBonusTestSTUDENT.html
  • src (a directory) contains your files:
    • TwoDimRaggedArrayUtility.java
    • HolidayBonus.java
    • TwoDimRaggesArrayUtilityTestSTUDENT.java
    • HolidayBonusTestSTUDENT.java

   2nd zip file: LastNameFirstName_Assignment5_Moss.zip, a compressed file containing

the following Java files only:

    • TwoDimRaggedArrayUtility.java
    • HolidayBonus.java
    • TwoDimRaggesArrayUtilityTestSTUDENT.java
    • HolidayBonusTestSTUDENT.java

 

This folder should contain Java source files that you created or edited only.

 

Notes:

  • Learning Experience: highlight your lessons learned and learning experience from working on this project.
  • What have you learned?
  • What did you struggle with?
  • What will you do differently on your next project?
  • Include what parts of the project you were successful at, and what parts (if any) you were not successful at.
  • GitHub: In your repository (see Assignment0), upload your Word file and java file. You will want to upload these files as contents of a directory so that future uploads can be kept separate. Take and submit a screen shot of the GitHub repository.

 

  • Proper naming conventions: All constants, except 0 and 1, should be named. Constant names should be all upper-case, variable names should begin in lower case, but subsequent words should be in title case. Variable and method names should be descriptive of the role of the variable or method. Single letter names should be avoided.

 

  • Documentation: The documentation requirement for all programming projects is one block comment at the top of the program containing the course name, the project number, your name, the date and platform/compiler that you used to develop the project. If you use any code or specific algorithms that you did not create, a reference to its source should be made in the appropriate comment block. Additional comments should be provided as necessary to clarify the program.

Indentation: It must be consistent throughout the program and must reflect the control structure

 

 

Grading Rubric

See attachment: CMSC203 Assignment 5 Rubric.xlsx

 

 

Assignment 5 Check List (include Yes/No or N/A for each item)

#   Y/N or N/A Comments
1.        Assignment files:    
  ·       FirstInitialLastName_ Assignment5_Moss.zip    
  ·       FirstInitialLastName_Assignment5_Complete.zip    
2.        Program compiles    
3.        Program runs with desired outputs related to a Test Plan    
4.        Documentation file:    
  ·       Comprehensive Test Plan    
  ·       Screenshots for each Junit Test    
  ·       Screenshots for each Test case listed in the Test Plan    
  ·       Screenshots of your GitHub account with submitted Assignment# (if required)    
  ·       UML Diagram    
  ·       Algorithms/Pseudocode    
  ·       Flowchart (if required)    
  ·       Lessons Learned    
·       Checklist is completed and included in the Documentation

 

CMSC203 Assignment 6 Bradley Beverage Shop

Bradley shop is a family-owned store that sells beverages.  The store offers 3 types of beverages: Coffee, Alcohol, and Smoothie. The store is open from 8 in the morning to 11 pm in the afternoon.  The owner of the shop likes to automate the order transactions and reports and purchase a software for testing order activities for one month. You are asked to implement this software based on the following requirements.

Assignment Description

 

BevShop (The Data Manager Class)

 

The BevShop offers 3 types of beverages: Coffee, Alcoholic and Smoothie. Beverages can be ordered in 3 different sizes: Small, medium and large. All the beverage types have a base price. In addition there are additional charges depending on the size and specific add-ons for each type of beverage.

 

The BevShop has the following functionality:

  • Create and process orders of different types of beverages
  • Provide information on all the orders
  • Total amount on a specific order
  • Monthly total number of orders
  • Monthly sale report
Concepts tested by this assignment

 

  • Aggregation
  • Searching an ArrayList
  • Selection sort
  • Enumeration
  • Inheritance
  • Interface
  • Polymorphism
  • Abstract classes
  • Overriding methods

 

 

Interfaces

 

 

OrderInterface

This interface is provided for you and is implemented by the Order class.

 

BevShopInterface

This interface is provided for you and is implemented by the BevShop class.

 

Classes

 

 

Enumerated Type – DAY

Create an enumerated type called DAY.  The valid values will be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY.

Enumerated Type – SIZE

Create an enumerated type called SIZE.  The valid values will be SMALL, MEDIUM, LARGE.

Enumerated Type – TYPE

Create an enumerated type called TYPE.  The valid values will be COFFEE, SMOOTHIE, ALCOHOL

 

Data Element – Beverage

Create an abstract class called Beverage with:

  • Instance variables for beverage name, beverage type, size, and constant attributes for the base price ($2.0) and size price (additional $1 to go a size up).
  • A parametrized constructor to create a Beverage object given its name, type and size
  • An abstract methods called calcPrice that calculates and returns the beverage price.
  • An Overridden toString method: String representation for Beverage including the name and size
  • An Overridden equals method: checks equality based on name, type, size of the beverage
  • getters and setters and any other methods that are needed for your design.
  • Use finals to represent constants.

 

Data Element – subclasses of Beverage

Create the following subclasses of Beverage for the 3 types of beverages:

 

Coffee

  • Contains additional instance variables of type boolean to indicate if it contains extra shot of coffee (additional cost of 50 cents) and extra syrup (additional cost of 50 cents).
  • A parametrized constructor
  • An Overridden toString method: String representation of Coffee beverage, including the name , size ,  whether it contains extra shot, extra syrup and the price of the coffee
  • An Overridden calcPrice
  • An Overridden equals method: checks equality based on the Beverage class equals method and additional instance variables for this class.
  • getters and setters and any other methods that are needed for your design.
  • Use finals to represent constants.

Smoothie

  • Contains additional instance variables for number of fruits and boolean variable to indicate if protein powder is added to the beverage. The cost of adding protein is $1.50 and each additional fruit costs 50 cents.
  • A parametrized constructor
  • An Overridden toString method: String representation of a Smoothie drink including the name , size, whether or not protein is added , number of fruits and the price
  • An Overridden equals method: checks equality based on the Beverage class equals method and additional instance variables for this class.
  • An Overridden calcPrice
  • getters and setters and any other methods that are needed for your design.
  • Use finals to represent constants.

 

Alcohol

  • Contains additional instance variable for weather or not it is offered in the weekend. The additional cost for drinks offered in the weekend is 60 cents.
  • A parametrized constructor
  • An Overridden toString method: String representation of a alcohol drink including the name, size, whether or not beverage is offered in the weekend and the price.
  • An Overridden equals method: checks equality based on the Beverage class equals method and additional instance variables for this class.
  • An Overridden calcPrice
  • getters and setters and any other methods that are needed for your design.
  • Use finals to represent constants.

 

Data Element – Customer

Create a class to represent a customer.

  • Instance variables for name and age
  • A parametrized constructor
  • A Copy constructor
  • An Overridden toString method: String representation for Customer including the name and age
  • getters and setters and any other methods that are needed for your design.

 

Data Element – Order

Create a class to represent an order. This class implements two interfaces: OrderInterface and Comparable. 

  • Instance variables for order number, order time, order day and customer and a list of beverages within this order
  • A method to generate a random number within the range of 10000 and 90000
  • A parametrized constructor
  • A method called addNewBeverage that adds a beverage to the order. This is an overloaded method to add different beverages to the order.  Refer to the interface OrderInterface provided for you,
  • An Overridden toString method: Includes order number, time, day, customer name, customer age and the list of beverages (with information of the beverage).
  • Override the compareTo method to compare this order with another order based on the order number. Returns 0 if this order number is same as another order’s order number, 1 if it is greater than another order’s order number, -1 if it smaller than another order’s order number.
  • getters and setters and any other methods that are needed for your design.  Note: The getter method for the customer returns a Deep copy of the customer.
  • Refer to provided OrderInterface interface for additional methods.

 

Data Manager – BevShop

Create a class to represent a beverage shop. This class implements BevShopInterface provided to you.

  • Instance variable for the number of Alcohol drinks ordered for the current order. The current order in process can have at most 3 alcoholic beverages.
  • An instance list to keep track of orders
  • The minimum age to order alcohol drink is 21
  • time, order day and customer and a list of beverages Order within this order
  • An Overridden toString method: The string representation of all the orders and the total monthly sale.
  • Refer to provided BevShopInterface interface for additional methods.

 

Data Structure

  • You will be using an ArrayList within your Order to hold beverages of the order and BevShop class to hold orders.

External Documentation

  • Provide a UML diagram with all classes and their relationships.

Testing

There is no GUI provided for this project. To test your project, you may (recommended but not required) to create your own driver file for each class as you gradually implement code.

  • Ensure that BevShopNoGUITest.java produces the following output:

 

  • Ensure that all the given JUnit tests .java succeed.

 

 

Deliverables

Deliverables / Submissions:

 

GitHub: Upload all input files and all implemented files into GitHub in the repo you created in Assignment 0 in a directory named CMSC203_Assignment6.

 

Design: UML class diagram.

Implementation: Submit a compressed file containing the follow (see below):  The Java application (it must compile and run correctly); a write-up as specified below.  Be sure to review the provided project rubric to understand project expectations.  The write-up will include:

  • UML diagram – latest version
  • Any assumptions that you are making for this project
  • Lessons Learned: highlights of your learning experience (see notes)

 

Deliverable format: The above deliverables will be packaged as follows. Two compressed files in the following formats:

Notice: Only submit the files that you implemented/Modified.

1st zip file: FirstInitialLastName_Assignment6_Complete.zip, a compressed file containing the following:

  • Word document with a name FirstInitialLastName_Assignment6.docx should include:
    • Finalized UML Class Diagram for all classes
    • Screen snapshot of run BevShopNoGUITest output
    • Screen snapshot of Junit (display test for each method)
    • Screen snapshot of GitHub submission
    • Lessons Learned
    • Check List
  • doc (a directory) containing your javadoc HTML files for your classes
  • src (a directory) containing java files you created or modified:

     2nd zip file: LastNameFirstName_Assignment6_Moss.zip, a compressed file containing

the following Java files you created or modified only.

 

 

This folder should contain Java source files that you created or edited only

 

 

Notes:

  • Lessons Learned: highlight your lessons learned and learning experience from working on this project.
  • What have you learned?
  • What did you struggle with?
  • What will you do differently on your next project?
  • Include what parts of the project you were successful at, and what parts (if any) you were not successful at.
  • GitHub: In your repository (see Assignment0), upload your Word file and java file. You will want to upload these files as contents of a directory so that future uploads can be kept separate. Take and submit a screen shot of the GitHub repository.

 

  • Proper naming conventions: All constants, except 0 and 1, should be named. Constant names should be all upper-case, variable names should begin in lower case, but subsequent words should be in title case. Variable and method names should be descriptive of the role of the variable or method. Single letter names should be avoided.

 

  • Documentation: The documentation requirement for all programming projects is one block comment at the top of the program containing the course name, the project number, your name, the date and platform/compiler that you used to develop the project. If you use any code or specific algorithms that you did not create, a reference to its source should be made in the appropriate comment block. Additional comments should be provided as necessary to clarify the program.

Indentation: It must be consistent throughout the program and must reflect the control structure

 

Grading Rubric

See attachment: CMSC203 Assignment 6 Rubric.xlsx

 

 

Assignment 6 Check List (include Yes/No or N/A for each item)

#   Y/N or N/A Comments
1.       Assignment files:    
  ·       FirstInitialLastName_ Assignment6_Moss.zip    
  ·       FirstInitialLastName_Assignment6_Complete.zip    
2.       Program compiles    
3.       Program runs with desired outputs related to a Test Plan    
4.       Documentation file:    
  ·       Comprehensive Test Plan    
  ·       Screenshots for each Junit Test    
  ·       Screenshots for each Test case listed in the Test Plan    
  ·       Screenshots of your java file BevShopNoGUITest run    
  ·       Screenshots of your GitHub account with submitted Assignment# (if required)    
  ·       UML Diagram    
  ·       Lessons Learned    
·       Checklist is completed and included in the Documentation