Week8_Test Plan Instructions: The Test Plan for each project includes the Pseudocode, Flowchart, Goals and Objectives, Functional Requirements, and Test Matrix including Actual Output column. Below t


Week8_Test Plan

Instructions:

The Test Plan for each project includes the Pseudocode, Flowchart, Goals and Objectives, Functional Requirements, and Test Matrix including Actual Output column.  Below the table are screenshots verifying the actual output for each case.

Note:  Your programming projects should be submitted in the Revel environment for grading.

Week 8 Notes:   Objects and Classes, Chapter 9

For Week 8, we have Chapter 9, with Projects 1 and 3. 

Tasks:     (1) Discussion, (2) Quizzes and Projects 1 and 3,  and (3)  Test Plans for  Projects 1 and 3

Each Test Plan has 5 parts, in order:  (1) Pseudocode, (2) Flowchart, (3) Goals & Objectives, (4) Functional Requirements, the (5) Test Matrix/table (simplified) with Output (screenshots from your own output).   Your Output also appears under Actual Output in your table.   Please make it clear that all 5 tasks are covered for each of your projects to ensure proper grading for you.

All tasks in our Test Plan are for Design and planning, before we write any code, except for the Actual Output, which permits us to complete the test matrix/table, verifying that our program works as expected.

Our Projects this Week

What are Objects?  Why bother with them?! 

We can reuse much of our code, saving time and megabucks for our company, if we use Objects.  Imagine writing a large program for a company’s Human Resources department, with Adding, Editing, Deleting… everything we might ever want to do with this program.  We sell it at a large price to that company.   Other companies would also like us to do that same great job for them.  We can use nearly all the same code.  We called it our Employee “class” in Java, to represent an Employee “object.”  Writing reuseable code is expected of programmers everywhere.

We are normally writing TWO JAVA FILES – one is the Object (“class” in Java, with no main method) and one is the tester file (with main).  Once we have created both files, we can RUN the tester file only.  It will automatically find the class file located in the same path with your tester.

See full Instructions in our textbook for each of our two projects.

Chapter 9:  Project 1   

Sample run: 

The area of a rectangle with width 4.0 and height 40.0 is 160.0

The perimeter of a rectangle is 88.0

The area of a rectangle with width 3.5 and height 35.9 is 125.64999999999999

The perimeter of a rectangle is 78.8

NOTE:   We may see the sample run and imagine that we’re calculating area and perimeter of a rectangle in our usual way.    This NOT the case.  We are using a completely different way of writing our code this time. See our new Chapter 9 material, and you’ve got this!

Chapter 9:  Project 3  

Sample run:

Enter the number of rows and columns in the array: 3 4

Enter the array:

23.5 35 2 10

4.5 3 45 3.5

35 44 5.5 9.6

The largest element is 45, located at (1, 2)

NOTE:  Looks like something we’ve done before – maybe in Chapter 8?     Trust me, this will not be the same program, although we can use some of that same code.   We will write a Location class, with attributes (variables) and behaviors/actions (methods).   It has no main method.   Then we will write our tester class, with the main method, to get user input and to create the output by using the Location class.

Another Object Example:

 One “object” we may want to write is the Dog class.   We think about what attributes a dog has – name, breed, color, sex, birthday, etc.   What behaviors/actions does a dog have?    Eat, sleep, run, play, swim, etc.   You’re ready to write your Dog class.  It has no main method.  This class can be reused for other purposes. 

Testing your class:  this includes the main method and sometimes other methods as well.   You may have 3 Dogs with names, breeds, etc defined.   You may then compare age to see the youngest and oldest, for example, or to compare other attributes for breeding, for showing, for purchase.