Class Responsibility Collaborator Modelling

Class Responsibility Collaborator Modelling

After developing  usage scenarios the system classes, their  responsibilities and collaborations are identified. Class responsibility collaborator provides a simple way to identification  and arrangement ( organization ) of class that are  relevant to system  or product requirements. Ambler has described CRC melding as:

A CRC model  is really a collection  of standard index  cards that  represent classes. The cards are divided into three sections.  Along the top of the card you write the name of the  class.  In the body of the card you list  the class responsibilities on the  left and the  collaborators on the right.

In reality the CRC model may make use  of actual  or virtual cards so that an organized representation of classes can be developed. Responsibilities are the attributes and operations that are relevant for the class. Collaborators  are those classes that are needed to provide a responsibility.

Classes As  we know  that the  object can be  external entities, things occurrences or events roles organizational units, places or structures. These are indentified  in the context of a software  problem .all  nouns become  potential objects.

Coad and Yourdon suggested six selection characteristics that should be used as analyst considers each potential object for inclusion  in the  analysis model. The various  selection  characteristics are:

1. Retained Information : Potential objects will be useful during  analysis only if  information about it must  be remembered so that  the3 system functions.

2. Needed Services : Potential objects must have a set  of identifiable operations that can  change the value  of its attributes in some  ways.

3. Multiple Attributes : During  requirements analysis the focus should  be on major information.

4. Common Attributes :A set  of attributes can be  defined for the  potential objects and these attributes  apply  to all occurrences of the  project

5. Common Operations: :A set  of attributes can be  defined for the  potential objects and these attributes  apply  to all occurrences of the  project.

6. Essential Requirements : External entities  that appear in the problem space and produce or consume the information that is essential to the  operation of any solution for  the system will almost  always be defined as objects in the requirements.

To be considered a legitimate  object for inclusion in  the requirements model, a potential  objects should satisfy some  ( or  almost all ) of these characteristics.

Fire smith  has extended this  class types by suggesting some  additions as given below:

  • Device class model external entities.
  • Property classes represent some important property of the problem environment .
  • Interaction classes model interactions that occur among other objects.

In addition objects and classes may be  categorized by a set of characteristics that are tangible ( tangible or intangible  class) inclusive ( atomic or aggregate class) sequence  ( sequential or concurrent class) persistent ( temporary  permanent or transient class) and integrity ( secured or unsecured class).

Using  these class categories the index card might be extended to include the  type of  class and its characteristics as shown in fig 7.20

Responsibilities

Responsibilities  basically consist of attributes and operation  of a class. The attributes are the stable features of a class  be achieve from the statement  of the scope or by  understanding the  nature of the class. The  operations of class exhibit  the behaviour or the  class. Wirfs  Brock and her colleagues suggested some  guideline  for the responsibilities of a class. They are :

1. System  intelligence should  be evenly distributed .

2. Each  responsibility  should be state as general as possible.

3. Information and the behaviour related to it should reside within  the same  class.

4. Information  about  one thing should be localized with  a single  class not distributed  across multiple classes.

5. Responsibility should  be shared among  related classes when  appropriate.

The responsibilities of classes can be fulfilled  in two  ways.

1. A class can  use its own operation  to manipulate its own attributes.

2. A class can collaborate  with other class (discussed in next section)

Collaboration

Wirfs Brock and  her colleagues define collaborations in the followings way:

Collaborations  represent requests  from a client to a server in fulfilment of  a client  responsibility. A collaboration  is the  embodiment of the contract between  the client and the server.........We  say that  an object collaborates with  another objects if to  fulfil a responsibility  it need to seen the other objects any messages. A single collaboration flows  in one  direction representing a request form  the client  to the server. From the client  point  of view each of its collaborations are associated with a particular responsibility  implemented by the  server"

The collaborations are used to identify  relationship between classes. When a set  of classes all collaborate to achieve some requirement they can  be organized into a subsystem.

Collaborations are identified  by deterring whether a class can fulfil each responsibility itself. If cant  then it needs  to interact with   another class. Hence a collaboration.

To  aid in the identification  of collaborators  the analyst can  examine  three different  generic relationship  between  classes given  by wirfs Brock. There  are discussed below one by one

1. The is part of relationship in which  one class is the  part  of another class. For example the class human body is part  of a class human.

2. The has knowledge of relationship is required when one class acquires information form  another  class.

3. The depends  upon  relationship exists in which  tow classes have  a dependency with each other. For  example  human head must  always be connected to human body. So human  head depends upon  human body.

So the  analyst  develops the connections necessary  to identify these relationships. In all case the index card contains  a list  of responsibilities and  the corresponding  collaborations  that enable the responsibilities  to be fulfilled. After developing  a complete CRC   model, the  model is reviewed by  using  the following approach  given by ambler:

1. All participants in the review ( of the CRC model) are given  a subset of the  CRC model index cards. Cards that collaborate should be separated ( i. e. No reviewer should have two cards that collaborate.)

2. All  use case scenarios ( and  corresponding  use case diagrams ) should be organized into categories.

3. The  review leader reader reads the use case deliberately. As the review leader comes to a named object she passes a token  to the person holding  the corresponding  class index card.

4. When  the token is passed the holder of the class  card is asked to describe the responsibilities  noted on the card. The group determined whiter one( or more ) of the  responsibilities satisfies the use case requirement.

5. If the  responsibilities and  collaborations  noted on the index  cards can't  accommodate the  use case modification are made  to the  cards.

When all use cases ( or use case diagrams ) have been reviewed OOA continues.

Latest technology based Software Engineering Online Tutoring Assistance

Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Class Responsibility Collaborator Modelling homework help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Class Responsibility Collaborator Modelling, project ideas and tutorials. We provide email based Class Responsibility Collaborator Modelling homework help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Class Responsibility Collaborator Modelling. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Software Engineering homework help and assignment help services. They use their experience, as they have solved thousands of the software engineering assignments, which may help you to solve your complex issues of Class Responsibility Collaborator Modelling. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.

©TutorsGlobe All rights reserved 2022-2023.