Las tarjetas de colaboración de responsabilidad de clase ( CRC ) son una herramienta de lluvia de ideas que se utiliza en el diseño de software orientado a objetos . Fueron propuestos originalmente por Ward Cunningham y Kent Beck como una herramienta de enseñanza, [1] pero también son populares entre los diseñadores expertos [2] y recomendados por partidarios extremos de la programación . [3] Martin Fowler ha descrito en su libro sobre UML que si desea explorar múltiples interacciones alternativas rápidamente, puede estar mejor con las tarjetas CRC, ya que eso evita mucho dibujar y borrar. A menudo es útil tener una sesión de tarjeta CRC para explorar alternativas de diseño y luego usar el diagrama de secuencia para capturar cualquier interacción que desee consultar más adelante. Las tarjetas CRC son parte de la fase de diseño dentro del desarrollo del sistema / software y brindan una buena descripción general si pasa de las descripciones de casos de uso a las tarjetas CRC y luego a los diagramas de clases. Esto permite una transición más suave con una mayor visión general y permite al desarrollador implementar más fácilmente un sistema con baja unión y alta cohesión. Las tarjetas CRC se utilizan después de las descripciones de casos de uso y antes de los diagramas de clases dentro del desarrollo de software, pero se pueden omitir para proyectos más pequeños.
Las tarjetas CRC generalmente se crean a partir de fichas . Los miembros de una sesión de lluvia de ideas escribirán una tarjeta CRC para cada clase / objeto relevante de su diseño. La tarjeta está dividida en tres áreas: [1] [2]
- En la parte superior de la tarjeta, el nombre de la clase.
- A la izquierda, las responsabilidades de la clase.
- A la derecha, colaboradores (otras clases) con los que esta clase interactúa para cumplir con sus responsabilidades.
El uso de una tarjeta pequeña mantiene la complejidad del diseño al mínimo. Enfoca a los diseñadores en lo esencial de la clase y les impide entrar en sus detalles y su implementación en un momento en que tal detalle probablemente sea contraproducente. También desalienta dar demasiadas responsabilidades a la clase. Debido a que las tarjetas son portátiles, se pueden colocar fácilmente sobre una mesa y reorganizarlas mientras se discute un diseño.
Creando tarjetas CRC
Para crear una tarjeta CRC, puede comenzar por escribir un escenario que identifique a los principales actores y acciones que realizan los actores. Escriba únicamente acciones y actores específicos para ese escenario en particular. Los sustantivos deben convertirse en las clases de la tarjeta, los verbos generalmente se convierten en las responsabilidades de la tarjeta y los colaboradores son las otras tarjetas con las que la tarjeta interactuará.
Ver también
Referencias
- ^ a b Beck, Kent ; Cunningham, Ward (febrero de 2012), "Un laboratorio para la enseñanza del pensamiento orientado a objetos", ACM SIGPLAN Notices , India, NY, EE. UU .: Abg, 24 (10): 1–6, CiteSeerX 10.1.1.129.4074 , doi : 10.1145 / 74878.74879 , ISBN 978-0-89791-333-1
- ↑ a b Martin Fowler, UML Distilled , capítulo 4
- ^ Una introducción concisa en extremeprogramming.org