Class-responsibility-collaborator (CRC) modeling is a means to identify and organize classes relevant to system requirements. CRC model is a collection of index cards and it consists of three parts:
Classes : It is a collection of similar objects.
- Entity classes or business classes are obtained directly from statement of the problem. The information contained in these classes are important to users but they do not display themselves.
- Boundary classes are used to create interface which user sees and interacts with as software is used.
- Controller classes are designed to manage creation or update of entity objects, instantiation of boundary objects, communication between objects and validation of data.
Responsibility : something that a class knows or does. Some guidelines that can be applied for allocating responsibilities to classes are:
- System intelligence should be distributed across classes to best address the needs of the problem.
- Each responsibility should be stated as generally as possible.
- Information and the behavior related to it should reside within the same class.
- Information about one thing should be localized with a single class not distributed across multiple classes.
- Responsibilities should be shared among related classes when appropriate.
Collaborator : another class that the class interacts with to fulfill the responsibilities.
- It takes one of two forms : a request for information or a request to do something.
- If a class cannot fulfill all of its obligations itself, then a collaboration is required.
- Collaboration identifies relationship between classes.
Showing posts with label Class Responsibility Collaborator. Show all posts
Showing posts with label Class Responsibility Collaborator. Show all posts
Friday, July 22, 2011
Introduction to Class-Responsibility-Collaborator (CRC) Modeling
Posted by
Sunflower
at
7/22/2011 01:23:00 PM
0
comments
Labels: Class Responsibility Collaborator, Classes, Collaboration, CRC, Identify, Index Cards, Information, Interface, Modeling, Problems, Request, Responsibility, Software, Users
![]() | Subscribe by Email |
|
Subscribe to:
Posts (Atom)