create two supplier classes that interact with each other Program Solution

You’ll create two supplier classes that interact with each other (through a “has a” relationship). Here are UML Class Diagrams for the objects you are to create. Pay attention to the diagram notation indicating whether methods are public (+) or private (-); ask questions if you need clarification. Understanding the model is of critical importance here.

Class Student
(you figure out the private data needed)
(you figure out the private data needed)

+Student(firstName : String, lastName : String, id : String)

+Student(firstName : String, lastName : String, id : String, csc110 : Boolean, csc142 : Boolean, csc143 : Boolean)


+getFirstName() : String

+getLastName() : String

+getID() : String

+getCSC110() : Boolean

+getCSC142() : Boolean

+getCSC143() : Boolean

+getBalance() : Double

+toString() : String



+setCSC110(csc110 : Boolean)

+setCSC142(csc142 : Boolean)

+setCSC143(csc143 : Boolean)


+Department(totalStud110 : Integer, totalStud142 : Integer, totalStud143 : Integer, totalBalance : Double)


+getTotalCSC110 () : Integer

+getTotalCSC142 () : Integer

+getTotalCSC143 () : Integer

+getTotalStudents() : Integer

+getTotalBalance() : Double

+getTotalGr110() : Integer

+getTotalGr142() : Integer

+getTotalGr143() : Integer

+toString() : String

Other Methods

+addStudent(newStudent : Student) : void
3   Constraints and Assumptions

•       Create no static methods except for the test methods.

•       Mark each instance variable and each method as either public or private; follow the UML where it gives guidance and make smart decisions where it doesn’t.

•       Use exactly the method names shown. Look carefully at the parameter data types and the return data types; they give you clues.

•       Department’s addStudent method maintains the appropriate total students of each group and the total balance.

•       Department’s getTotalGr… methods calculate how many groups need for each class (28 students in the class).

•       The toString method should do their best to summarize the state of the object instance in questions; include newlines in the strings to make the result displayable and attractive.

•       Create a test method for each class that checks every constructor and every method except toString.

•       One credit equals 5, and one credit costs $110.

•       Throw an IllegalArgumentException if any of these preconditions are violated:

o A first name, last name, and ID can't be empty.

o Total students of each group can't be negative.
Powered by