Anda di halaman 1dari 16

UML

LENGUAJE UNIFICADO DE MODELADO

El lenguaje UML está diseñado para visualizar, especifica, construir y

documentar software orientado a objetivo.

Un modelo es una simplificación de la realidad.

El modelado es esencial en la construcción de software para

  • - Comunicar la estructura de un sistema complejo

  • - Especificar el comportamiento deseado del sistema

  • - Comprender mejor lo que estamos construyendo

  • - Descubrir oportunidades de simplificación y reutilización

Un modelo proporciona los planos de un sistema y puede ser mas o menos detallado, en función de los elementos que sean relevantes en cada momento.

El modelo ha de capturar lo esencial.

 

Todo sistema puede describir desde distintos puntos de vista:

  • - Modelos estructurales (organización del sistemas)

  • - Modelos de comportamiento (dinámica del sistema)

UML estandariza 9 tipos de diagrama para representar gráficamente un sistema desde distintos puntos de vista.

  • 1. Diagrama de clases

  • 2. Diagrama de objetos

  • 3. Diagrama de interacción

  • 4. Diagrama de secuencia

  • 5. Diagrama de comunicación/colaboración

  • 6. Diagrama de casos de uso

  • 7. Diagramas de estados

  • 8. Diagrama de actividades

  • 9. Diagrama de componentes

 

Ventaja principal de UML

 

Unificar distintas notaciones previas.

Desventajas de UML

1.

Falta de integración usuario)

con otras

técnicas (p. ej. Diseño

de

interfaces de

2.

UML

es

excesivamente

complejo

(y

no

está

del

todo

libre

de

ambigüedades): el 80% de

los

problemas

puede

modelarse

usando

alrededor del 20% de UML

 
 
 

CASOS DE USO (USE CASE)

Introducción

El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso).

Un diagrama de casos de uso consta de los siguientes elementos:

Actor.

Casos de Uso. Relaciones de Uso, Herencia y Comunicación.

 

Elementos

Actor:

Actor :

Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema.

Caso de Uso:

Caso de Uso :

Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien desde la invocación desde otro caso de uso.

 
 

RELACIONES:

Asociación

Asociación

Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple.

Dependencia o Instanciación.

Dependencia o Instanciación.

Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.

Generalización.

Generalización.

Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso(<<uses>>) o de Herencia (<<extends>>).

Este tipo de relación esta orientado exclusivamente para casos de uso (y no

para actores).

 

extends: Se recomienda utilizar cuando un caso de uso es similar a otro (características).

uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica.

De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases, en donde esta la duda clásica de usar o heredar.

 

Ejemplo:

Como ejemplo esta el caso de una Máquina Recicladora:

Sistema que controla una máquina de reciclamiento de botellas, tarros y jabas. El sistema debe controlar y/o aceptar:

Registrar el número de ítemes ingresados. Imprimir un recibo cuando el usuario lo solicita:

Describe lo depositado El valor de cada item Total El usuario/cliente presiona el botón de comienzo Existe un operador que desea saber lo siguiente:

Cuantos ítemes han sido retornados en el día. Al final de cada día el operador solicita un resumen de todo lo depositado en el día. El operador debe además poder cambiar:

Información asociada a ítemes. Dar una alarma en el caso de que:

Item se atora. No hay más papel.

 

Como una primera aproximación identificamos a los actores que interactúan con

el sistema:

el sistema:

Luego, tenemos que un Cliente puede Depositar Itemes y un Operador puede cambiar la información de un Ítem o bien puede Imprimir un informe:

 
Como una primera aproximación identificamos a los actores que interactúan con el sistema: Luego, tenemos que

Además podemos notar que un item puede ser una Botella, un Tarro o una Jaba.

 
Como una primera aproximación identificamos a los actores que interactúan con el sistema: Luego, tenemos que
 
Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún ítem
Otro aspecto es la impresión de comprobantes, que puede ser realizada después
de depositar algún ítem por un cliente o bien puede ser realizada a petición de
un operador.
Entonces, el diseño completo del diagrama Use Case es:

RF- <id del requisito>

<nombre del requisito funcional>

Versión

<numero de versión y fecha>

Actores

<autor>

Dependencias

<nombre del objetivo>

Descripción

El sistema deberá comportarse tal como se describe en el siguiente caso de uso { concreto cuando <evento de

activación> , abstracto durante la realización de los casos de

uso <lista de casos de uso>}

Precondición

<precondición del caso de uso>

Documento de descripción de casos de uso: Encabezado

RF- <id del requisito> <nombre del requisito funcional> Versión <numero de versión y fecha> Actores <autor>
RF- <id del requisito> <nombre del requisito funcional> Versión <numero de versión y fecha> Actores <autor>

Documento de descripción de casos de uso: Pasos realizados y Pie de Página

Secuencia

Paso

Acción

Normal

1

{El <actor> , El sistema} <acción realizada por el actor o sistema>, se realiza el caso de uso < caso de uso RF-x>

2

Si <condición>, {el <actor> , el sistema} <acción realizada por el actor o

sistema>>, se realiza el caso de uso < caso de uso RF-x>

3

 

4

 

5

 

6

 

n

 

Postcondición

<postcondición del caso de uso>

Excepciones

Paso

Acción

1

Si <condición de excepción>,{el <actor> , el sistema} }<acción realizada por el actor o sistema>>, se realiza el caso de uso < caso de uso RF-x>, a continuación este caso de uso {continua, aborta}

2

 

3

 

Rendimiento

Paso

Cota de tiempo

 

1

n segundos

 

2

n segundos

Comentarios

<comentarios adicionales>

 

EJEMPLOS DE DESCRIPCIÓN DE CASOS DE USO