Page 135 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 135
Unit 11: Domain Analysis
Design a software to support a computerized banking network including both human Notes
cashiers and automatic teller machine (ATM) shared by consortium of banks. Each bank
provides its own computer to maintain its own account and process transaction against
them. Cashier stations are owned by individual banks and communicate directly with
their own bank’s computer. Human cashier enter account and transaction data
ATM communicates with central computer. It accepts cash card, interacts with user,
communicate with central system to carry out transaction, dispense cash and prints receipt.
The system requires appropriate recordkeeping and security provisions. The system must
handle concurrent access to same account correctly.
Bank provides their own s/w and you have to design s/w for ATM. The cost of shared
system will be apportioned to banks according to no. of customers with cash card.
11.1.2 Keeping the Right Classes
Redundant Classes
If two classes express the same concept, keep the most descriptive name.
Example: Customer describe person taking an airline flight, passenger is more
descriptive. Here Customer and user are redundant. We retain Customer
Irrelevant Classes
If class has little or nothing to do with problem eliminate it.
Here Cost is outside the scope of ATM s/w
Vague Classes
A class should be specific.
Some tentative class may have ill defined boundaries
Attributes
Names that describe individual objects are attributes.
Example: Account data describes account. ATM dispenses cash & receipts that are
peripheral to problem; so treat it as attribute
Operation
If a name describes operation applied to object; then it is not a class
Example: Telephone call is a sequence of actions involving a caller & telephone network
so call is a part of state model not a class
Roles
One physical entity corresponds to several classes.
LOVELY PROFESSIONAL UNIVERSITY 129