Pr crc
-
Upload
frank-gielen -
Category
Technology
-
view
219 -
download
1
description
Transcript of Pr crc
![Page 1: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/1.jpg)
Vakgroep Informatietechnologie – IBCN
Software Architecture
CRC Card workshop
![Page 2: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/2.jpg)
CRC Workshops
The CRC card workshop is a brainstorm technique using scenario walkthroughs to model the dynamic behavior of a software architecture.
For each candidate subsystem, module or submodule in the architecture, a CRC-card is made, featuring :
Class name Class type : subsystem, module or sub module Responsibilities : which functionality does the class perform ? (list
attributes and methods) Collaborations : which other classes are needed to realize this
functionality ?
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 2
![Page 3: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/3.jpg)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 3
Module Identification and Function Allocation
CRC-cards= Class - Responsibility - Collaboration card= Container for responsibilities
Responsibilities : Collaborations :
Class name :
Class characteristic :
Class type :
Describe the functionalityof the module
List other modules neededto achieve this functionality
<system> <subsystem> <module> …
![Page 4: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/4.jpg)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 4
CRC identification
CRC cards: Show collaborations between the child modules Find new responsibilities based on role play
Driven by scenarios and sequence diagrams.
Identify new child modules
![Page 5: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/5.jpg)
CRC Role play
Once CRC-cards have been drawn up for each candidate, collaborations can be shown in a (sequence) diagram
Often, CRC-cards are put on a whiteboard, and are grouped according to the level of collaboration.
A technique to check whether all classes, responsibilities and collaborations are identified, consists of assigning each member of the group a set of CRC-cards, and to “play” the scenarios.
Each time an operation is needed, the team member holding the CRC-card of the class involved, checks whether the functionality is listed, which other classes are needed (and which functionality of these collaborating classes is required).
If functionality, attributes or an entire class is missing, the CRC-model is updated, and the role play starts all over again .
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 5
![Page 6: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/6.jpg)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 6
Example
Responsibilities : Collaborations :
Class name : Device Context Manager <module>
![Page 7: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/7.jpg)
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 7
Example
Responsibilities : Collaborations :
Class name : Transcoder <module>
![Page 8: Pr crc](https://reader036.fdocuments.in/reader036/viewer/2022083002/558b31c5d8b42a4f648b45b8/html5/thumbnails/8.jpg)
Software Architecture Document
At the end of the session the results of the workshops have to be captured in static & dynamic views.
Static views : component diagrams Dynamic views : white box sequence diagrams
Vakgroep Informatietechnologie – Onderzoeksgroep IBCN p. 8