COMP5028 Object Oriented Analysis and Design Semester 2, 2004 1 Laboratory session Eight Storie Dixson 432 A,B Wednesday Sep 22, 2004 School of Information Technologies The University of Sydney SOLUTION Objective • Practice the Test-driven development • In Week 7 and week 8 lecture, we introduced a payroll case study. Seven major use cases have been identified as the goal of the deliverable in this iteration. We have done initial analysis and realized a few use cases in the lecture. Several Java code fragments have been given as well. Your objective this week is to realize two more use cases, and to refine the design object model accordingly. Tasks A. Draw a static and dynamic model for Delete Employee use case. List detailed attribute and operations in the concrete transaction class. Name: Delete an Employee Actor: Clerk Basic flow of event 1. Clerk input the employee ID he(she) wants to delete 2. System find the employee and delete it Alternative flow 2a. if the employee ID is not a valid one, system prompt an error message Postcondition: the appropriate employee record is deleted COMP5028 Object Oriented Analysis and Design Semester 2, 2004 2 Figure 1. Static and dynamic model for delete employee use case B. Draw a static and dynamic model for “Post Time Card” use case. List detailed attributes and operations in the concrete transaction class. Name: Post Time cards Actor: Employee (Clerk) Basic flow of event 1. Clerk input the employee ID, date and number of hour the employee worked 2. System find the employee 3. System creats a TimeCard class and associate with the employee object Alternative flow 2a. if the employee ID is not a valid one, system prompt an error message 2b. if the employee is not hourly employee, system prompt an error message Postcondition: the timecard is created and associated with the employee COMP5028 Object Oriented Analysis and Design Semester 2, 2004 3 COMP5028 Object Oriented Analysis and Design Semester 2, 2004 4 C. Refine the object model in week 8 lecture Figure 8.12 by adding all known attributes and operations to those entity classes, you need to add a few more entity class as well