ZEIT2301 Design of Information Systems Structural Design: CRC Cards School of Engineering and Information Technology UNSW@ADFA Dr Kathryn Merrick Topic 05: CRC Cards  Overview   To look at ways to construct class and object diagrams Class-Responsibility-Collaboration Cards Reference: Text Ch 6. “Discovering” classes  How do you “discover” the:  classes, attributes, and  operations  that are relevant for your problem domain?  Four approaches: 1. 2. 3. 4. Textual analysis Brainstorming Pattern review CRC cards 3 1. Textual Analysis  Perform textual analysis on the Use Case descriptions  Nouns suggest classes  Verbs suggest operations 4 2. Brainstorming  Brainstorm additional candidate classes using common object lists from a similar business domain.    Look for tangible things (patients, doctors, medical records files, etc) Look for events that occur in the business domain (appointments, medical procedures, etc) Look for interactions (e.g. patient paying a bill). The “bill” could be a class. But remember that “paying the bill” is a process (typically a relationship between classes, not a class itself). 5 3. Pattern Review  A pattern is a useful group of collaborating classes that provide a solution to commonly occurring problems.    e.g. many business transactions involve the same type of objects and interactions. So re-use rather than re-invent. Patterns have been developed (and published) for some common business domains (e.g. accounting) Some are high-level business patterns, others are low-level implementation patterns 6 4. CRC cards  Class-Responsibility-Collaboration  CRC cards are used to document the:   responsibilities  collaborations of a class CRC cards help understand/document the classes to be modelled in a class diagram  Note: CRC cards are not part of UML 7 Responsibilities & Collaboration   Responsibilities of a class  Knowing: things an instance of a class knows (i.e. the value of its attributes and its relationships)  Doing: things that instances of a class can do (i.e. execute its operations) Collaboration  Most business functions (i.e. use cases) involve several classes collaborating  An object sends a messages to request a service from another object eg a Patient object requests the creation of an Appointment object 8 A CRC Card - Front 9 CRC Card - Back 10 Exercise Spend a few minutes studying the model on the next slide. Look for: • Attributes • Operations • Relations: • Generalization • Aggregation • Association classes • Note the recursive relationship • Visibility • Multiplicities c 11 Session 2, 2010 Fig 6.2 12
© Copyright 2025