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
   130   131   132   133   134   135   136   137   138   139   140