archivo

Archivo de la etiqueta: postcondición

La precondición está formada por el conjunto de condiciones que se tienen que cumplir para que se pueda iniciar un caso de uso. En muchos casos supone la ejecución de casos de uso previos.

La postcondición refleja el estado en que se queda el sistema una vez ejecutado el caso de uso.

En ambos casos lo que se representa es un estado y no la ejecución de una serie de acciones (previas o posteriores al caso de uso).

Si te preguntas si debes cumplimentarlo en la ficha de descripción del caso de uso, no te puedo dar una respuesta general (aunque personalmente piense que cuesta poco trabajo ponerlos), ya que no se debe tratar de una decisión de carácter formal sino de una decisión basada en criterios prácticos, así que lo mejor es que para cada caso de uso te hagas la siguiente pregunta ¿aporta una mayor claridad para el usuario y para el equipo de desarrollo que para un caso de uso concreto ponga precondición y/o postcondición o éstas se sobreentienden?.

En muchos casos resultará suficiente con dibujar el diagrama de casos de uso y realizar la descripción de los mismos a través de sus caminos principales y alternativos. Dado que, por regla general, este entregable no es común en los proyectos de desarrollo de software (pese a lo que aporta una vez que se llega a entender su utilidad), podemos estar más que satisfechos con tener este producto con dicho alcance.

Una especificación adicional a los mismos, es la especificación para cada caso de uso de una precondición y una postcondición. Es importante señalar que las mismas están a nivel de caso de uso y no a nivel de sus escenarios (camino principal y caminos alternativos).

Tanto la precondición como postcondición se especifican en lenguaje natural.

¿Qué es una precondición? Es el estado en el que se tiene que encontrar el sistema para que se pueda ejecutar el caso de uso. En muchos casos una precondición coincidirá con parte o con toda la postcondición de otro caso de uso.

¿Qué es un postcondición? Mientras queda claro que todo caso de uso tiene un único estado inicial, un caso de uso puede tener diferentes estados finales, potencialmente, tantos como caminos se definan en el mismo. Por tanto la postcondición de un caso de uso es un listado de todos los posibles estados finales en los que se encuentra el sistema tras la ejecución del caso de uso. Como la definición es en lenguaje natural, en muchos casos se opta por utilizar sentencias condicionales para especificar las condiciones que hacen que el estado final sea uno u otro.

¿Considero imprescindible la definición de precondiciones y postcondiciones? Desde mi punto de vista no lo es, aunque puede ser interesante su uso como elemento de depuración de los casos de uso (te hace pensar qué condiciones son necesarias para que el caso de uso se pueda llevar a cabo y cómo queda el sistema una vez que se haya realizado) y también para facilitar su comprensión.