20.02.2013 Views

Connie's Convenience Store - About Peter Coad

Connie's Convenience Store - About Peter Coad

Connie's Convenience Store - About Peter Coad

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Applying Patterns: Establish Problem-Domain Responsibilities Connie’s <strong>Convenience</strong> <strong>Store</strong> 59<br />

Progress at this point<br />

You’ve now selected objects and established responsibilities for the problem domain<br />

objects.<br />

Here’s your progress at this point (Figure 1–38):<br />

ProblemDomain Person<br />

AuthorizedPayment<br />

Cash<br />

CashDrawer<br />

Cashier<br />

Charge<br />

Check<br />

Item<br />

Payment<br />

Person<br />

PromoPrice<br />

Register<br />

ReturnLineItem<br />

Sale<br />

SaleLineItem<br />

Session<br />

<strong>Store</strong><br />

TaxCategory<br />

Cash<br />

cashTendered<br />

Payment<br />

amount<br />

Session<br />

startDate<br />

startTime<br />

endDate<br />

endTime<br />

Check<br />

bankRoutingNumber<br />

accountNumber<br />

amtTendered<br />

1<br />

1 n<br />

name<br />

address<br />

phone<br />

Cashier<br />

number<br />

password<br />

authorizationLevel<br />

currentSession<br />

isAuthorized<br />

assessPerfOverInterval<br />

howManyOverInterval<br />

howMuchOverInterval<br />

1<br />

1<br />

1<br />

n<br />

1 n<br />

number<br />

name<br />

n 1<br />

1<br />

AuthorizedPayment<br />

authorizationCode<br />

authorize<br />

Charge<br />

cardNumber<br />

cardType<br />

expirationDate<br />

Figure 1–38: Progress at this point.<br />

n<br />

Sale<br />

date<br />

time<br />

calcSubTotal<br />

calcDiscount<br />

calcTax<br />

calcTotal<br />

commit<br />

howManyOverInterval<br />

howMuchOverInterval<br />

1-n<br />

1<br />

1<br />

SaleLineItem<br />

quantity<br />

taxStatus<br />

calcSubTotal<br />

howManyOverInterval<br />

1<br />

ReturnLineItem<br />

salePrice<br />

returnPrice<br />

reasonCode<br />

saleDate<br />

n<br />

<strong>Store</strong><br />

getItemForUPC<br />

getCashierForNumber<br />

n<br />

n<br />

Register<br />

howManyOverInterval<br />

howMuchOverInterval<br />

number<br />

description<br />

n<br />

n<br />

1 1<br />

Item<br />

getPriceForDate<br />

howManyOverInterval<br />

howMuchForQty<br />

1<br />

n<br />

1<br />

Price<br />

price<br />

effectiveDate<br />

PromoPrice<br />

expirationDate<br />

n<br />

n n<br />

n 1<br />

CashDrawer<br />

operationalState<br />

position<br />

balance<br />

open<br />

TaxCategory<br />

category<br />

rate<br />

effectiveDate<br />

upc<br />

UPC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!