Skip to content

Diseño de Software: Diseño Conceptual con Tarjetas CRC

Publicado:

Tabla de contenido

Ver contenido

Introducción

Cuando iniciamos el diseño conceptual, identificamos los componentes, sus relaciones y responsabilidades en el contexto del problema a resolver o el requisito a cumplir.

Una técnica útil para organizar el diseño conceptual es el uso de tarjetas CRC (Clase, Responsabilidad, Colaborador). Estas tarjetas ayudan a identificar los componentes como clases, sus responsabilidades y las colaboraciones o conexiones entre ellas.

Cada tarjeta CRC consta de tres partes: el nombre de la clase, sus responsabilidades y los colaboradores (otras clases) con las que interactúa para cumplir dichas responsabilidades.

Ejemplo de Tarjeta CRC para la Clase Venta

Clase Responsabilidades Colaboradores
Venta - Registrar la venta.
- Calcular el total.
- Generar recibo.
Producto, Cliente, Recibo

Tarjeta CRC para la Clase Producto

Clase Responsabilidades Colaboradores
Producto - Almacenar información del producto.
- Calcular el precio.
Venta, Inventario

Tarjeta CRC para la Clase Cliente

Clase Responsabilidades Colaboradores
Cliente - Registrar datos del cliente.
- Verificar historial de compras.
Venta, HistorialCompras

Tarjeta CRC para la Clase Recibo

Clase Responsabilidades Colaboradores
Recibo - Generar el recibo de la venta.
- Imprimir recibo.
Venta

Visualización de Relaciones

Cliente -----------|> Venta <----------- Producto
| |
| |
HistorialCompras Inventario
|
|
Recibo

Conclusión

El principal beneficio de usar estas tarjetas es que permiten dividir las clases en componentes más manejables, facilitando la comprensión del prototipo de diseño. En el ejemplo anterior, podemos visualizar cómo se relaciona la clase Venta con las clases Producto, Cliente y Recibo, así como sus responsabilidades y colaboraciones específicas. Esto nos ayuda a identificar deficiencias en el diseño y simular cómo funcionan las clases en interacción.


¿Buscas soluciones tecnológicas personalizadas?

Contáctame para consultorías IT y desarrollo a medida

Anterior post
Diseño de Software: Introducción al Diseño Conceptual y Técnico
Siguiente post
Diseño de Software: Acoplamiento y Cohesión