September 2005
Intermediate to advanced
240 pages
6h 28m
English
Let us look at the classes we have developed so far. Figure 7-1 gives the overall picture, and the listing in Example 7-1 gives the details.
class CDRelease
CommonString title
UPCCode upc_code
CDCategory category
Days base_rental_period( )
Dollars get_rental_fee( )
class CDDisc
CDRelease cd_release
PhysicalID physical_id
Rental current_rental
start_rental(Customer the_renter)
end_rental( ) //
class PhysicalID
class CDCategory
class Rental
Customer renter
Timestamp start_time
Timestamp end_time
Days base_rental_period
Boolean is_overdue( )
class CDDiscCollection
CDDisc find_by_physical_id(PhysicalID a_physical_id)
CDDisc [] find_by_cd_release(CDRelease a_cd_release)
// Standard collection operations:
add(CDDisc a_cd_disc)
remove (CDDisc a_cd_disc)
class CustomerID
class Customer
CustomerID customer_id
CommonString name
class CustomerCollection
Customer find_by_customer_id(CustomerID a_customer_id)
// Standard collection operations
add(Customer customer_to_add)
remove(Customer a_customer_id) // Check to see no current rentals
|
We have two use cases that we are developing: Checkout_a_CDDisc and Checkin_a_CDDisc. Figure 7-2 gives an overall sequence diagram for the Checkout_a_CDDisc case.

Likewise, Figure 7-3 gives a sequence diagram ...