jueves, 4 de diciembre de 2014

Características de los casos de uso CRUD y sus desventajas para ser diagramados


Foro temático semana cuatro

Identifica y explica 3 características primordiales de los casos de uso CRUD y sus desventajas para ser diagramados. Justifica tu respuesta.

R:
Existen en el mundo de la ingeniería de requerimientos una amplia gama de patrones de Casos de Uso que pueden ser utilizados, pero la pregunta que salta a la vista es: ¿Cuál es más conveniente? ¿Cuál se adecua mejor a las características del producto que se desea construir y a las peculiaridades de todos los involucrados, cliente incluido?
Un ejemplo bastante común, en el ámbito del desarrollo de aplicaciones de gestión, es la disyuntiva entre utilizar el patrón CRUD (Create, Read, Update and Delete, por sus siglas en inglés) o no. Es decir, la elección entre concebir Casos de Uso que reúnan todas las acciones básicas sobre una entidad de dominio en uno solo, o concebir un Caso de Uso para cada una de estas acciones básicas para cada entidad de dominio.
Cualquiera de las variantes es válida, siempre y cuando exista una métrica que vaya más allá del Caso de Uso como unidad de tamaño, y nos permita estimar la complejidad del mismo.
De otra forma, la planificación, evaluación y comparación de proyectos tratada con anterioridad, carece de sentido práctico: un Caso de Uso concebido bajo el patrón CRUD es equivalente a 4 Casos de Uso concebidos sin usar el patrón, y no pueden ser considerados como equivalentes de ninguna forma.

Un caso de uso esencial se caracteriza porque:
   ·         la funcionalidad CRUD es una porción del caso de uso,
   ·         el actor que lo inicia está bien generalizado,
   ·         su secuencia básica completa una interacción mayor con el sistema,
   ·         no está asociado con componentes arquitectónicos o del sistema,
   ·         es completamente independiente de la implementación de la Interfaz de Usuario,
   ·         contiene un número mayor de secuencias alternas (esto podría representar algún tipo de inconveniente a la hora de cualificar la legibilidad del caso de uso),
   ·         representa muchos ejemplos concretos de interacción, es decir, deriva en muchos escenarios,
  ·         es bastante útil para pruebas del sistema y de funcionalidad.
Finalmente, un caso de uso esencial forma parte de un modelo de casos de uso cuyo número de extensiones e inclusiones es menor al 20% de todo el modelo.

Características del caso de uso CRUD

Ventajas de la utilización del patrón de Casos de Uso CRUD
Entre las ventajas de la utilización del patrón CRUD pueden mencionarse:
   ·         Se reúnen en un solo elemento de configuración del software todas las acciones básicas que se realizan sobre una entidad de dominio.
  ·         Se facilita la comprensión por parte del cliente de la funcionalidad del sistema.
  ·         Se facilita la especificación de los casos de uso, logrando un alto nivel de detalle sin tener que invertir esfuerzo en describir aspectos generales de funcionalidad más de una vez.
   ·         Se facilita la reusabilidad del código, a partir de identificar relaciones entre los Casos de Uso, con un mínimo de esfuerzo.

Desventajas de la utilización del patrón de Casos de Uso CRUD
La desventaja principal radica en que, si no existe una métrica completa que permita estimar la complejidad de los Casos de Uso, y la estimación y planificación de los proyectos permanece al nivel del Caso de Uso como unidad, casi seguramente el proyecto incurrirá en atrasos y sobrepasará su presupuesto, en comparación con otros que no usen dicho patrón. Escribir casos de uso CRUD y similares aumenta innecesariamente el número de casos de uso, el tiempo de especificación, el tiempo de revisión, el tiempo de aprobación. Sí, quizás disminuya el tiempo de programación, pero este es cada vez más reducido a la luz de las poderosas herramientas con las que contamos hoy para escribir código fuente.
Una mirada desde el ángulo comercial
Una de las ventajas de tener una estimación adecuada del proyecto es el impacto positivo que se tiene en la administración de contratos. Es imposible garantizar productividad en la esfera de la producción de software sin una herramienta que asegure la misma desde la etapa más temprana de un proyecto: la negociación, especialmente en el caso de las soluciones “llave en mano” que incluyen generalmente el desarrollo de aplicaciones informáticas “a la medida”.
El estudio inicial de procesos de negocio y la determinación, a través de métricas, del tamaño, complejidad y esfuerzo de desarrollo, pasan a convertirse en esta herramienta.

Volviendo al tema de los Casos de Uso que aplican el patrón CRUD, es evidente que no puede ser igual el costo de un Caso de Uso CRUD al de un Caso de Uso que solo contenga la funcionalidad referida a una sola acción básica sobre una entidad de dominio. Pero esto es parte de la negociación y de los aspectos que se deben pactar en el marco de un contrato, para evitar que posteriormente el proyecto se vuelva inmanejable dentro del tiempo y presupuesto estimado en sus inicios.

No hay comentarios.: