Description
Class Student
Class
Department
(you figure out the private data needed)
(you figure out the private data needed)
Constructors
+Student(firstName : String, lastName : String, id : String)
+Student(firstName : String, lastName : String, id : String, csc110 : Boolean, csc142 : Boolean, csc143 : Boolean)
Accessors
+getFirstName() : String
+getLastName() : String
+getID() : String
+getCSC110() : Boolean
+getCSC142() : Boolean
+getCSC143() : Boolean
+getBalance() : Double
+toString() : String
Mutators
+setCSC110(csc110 : Boolean)
+setCSC142(csc142 : Boolean)
+setCSC143(csc143 : Boolean)
Constructors
+Department()
+Department(totalStud110 : Integer, totalStud142 : Integer, totalStud143 : Integer, totalBalance : Double)
Accessors
+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.