CECS 277
LAB ASSIGNMENT 3
Assigned date: Monday 9/18
Due date: Monday 10/2
40 points


Objectives

Prelab

Problem 1 [ 15 points] - Checking Wednesday, September 20.

Discover classes and methods for generating a student report card that lists all classes, grades, and the grade point average for a semester. Produce a set of CRC cards, a UML diagram, and a set of javadoc comments. Implement the code.

Problem 2 - [5 points] Consider the following problem description:

Customers order products from a store. Invoice are generated to list the items and quantities ordered, payment received, and amounts still due. Products are shipped to the shipping address of the customers, and invoices are sent to the billing address.

Draw an UML diagram

Problem 3 - [3 points] - Draw an UML diagram for the Quiz, Questions, and Choice Question classes.

Problem 4 - [17 points] The invoice-printing system program has an unfortunate flaw - it mixes "application logic" (the computation of total charges) and presentation (the visual appearance of the invoice) . To appreciate this flaw, imagine the changes that would be necessary to draw the invoice in HTML for presentation on the Web. Reimplement the program, using a separate InvoiceFormatter class to format the invoice. That is, the Invoice and LineItem methods are no longer responsible for formatting. However, they will acquire other responsibilities, because the InvoiceFormatter class needs to query them for the values that it requires. Link to the zip file section 3 that contains all the files needed for the invoice system.