Vous êtes sur la page 1sur 62

ANLISIS Y DISEO ORIENTADO A OBJETOS CON UML

( Parte II )
Ing. Luis Zuloaga Rotta

La notacin UML
Es una fusin de las notaciones de :
Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE)

Han buscado ante todo la simplicidad; UML es intuitivo, homogneo y coherente. UML no es una notacin cerrada: es genrica, extensible y configurable por el usuario.

Notacin
Un solo diagrama no puede expresar toda la informacin para describir un sistema : funcional, no funcional, organizacional. Cada vista representa una proyeccin del sistema, mostrando un aspecto particular del mismo. Cada vista se describe en un cierto nmero de diagramas.
Descripcin = Vistas del sistema (diagramas)

Vistas del UML


Vista de Componentes Vista de Lgica

Vista de Casos de Uso Vista de Concurrencia

Vista de Despliegue

Vista de Casos de Uso


Muestra la funcionalidad del sistema talcomo es percibida por actores externos. Su contenido consuce el proceso de desarrollo y verificacin. Utiliza :
Diagramas de Casos de Uso Diagramas de Actividad (opcional)

Vista Lgica
Muestra el diseo de la funcionalidad del sistema : Estructura y Comportamiento Descripcin de estructura :
Diagramas de objetos y clases

Descripcin de comportamiento :
Diagramas de secuencia, colaboracin, estado y actividades

Vista de Componentes
Muestra la organizacin del cdigo y dems archivos. Consiste en el Diagrama de Componentes. Orientado al equipo de Desarrollo.

Vista de Despliegue
Muestra la implantacin del sistema en la arquitectura fsica. Las computadoras y los dispositivos perifericos son denominados nodos. nodos Consiste en el Diagrama de Despliegue. Utilizado por los equipos de desarrollo, integracin y pruebas.

Vista de Concurrencia
Muestra la concurrencia en el sistema, dividido en procesos y procesadores. Da cuenta de los aspectos de comunicacin y sincronizacin derivados. Descripcin dinmica : Diagramas de Estado, Secuencia, Colaboracin y Actividades. Descripcin de implementacin : Diagramas de Componente y de Despliegue.

Diagramas de Secuencia

Diagramas de Casos de Uso

Diagramas de Clases

Diagramas de Objetos

Diagramas de Colaboracin

Modelo

Diagramas de Componentes

Diagramas de Estados

Diagramas de Actividad

Diagramas de Distribucin

Un modelo es una descripcin completa de un sistema desde una perspectiva concreta

Diagramas UML ( 9 )
De casos de uso: representan las funciones del sistema desde el punto de vista del usuario. De secuencia: representacin temporal de los objetos del sistema y sus interacciones. De colaboracin: son una representacin espacial de los objetos, enlaces e interacciones. De clases: representan la estructura esttica en trminos de clases y relaciones;

Diagramas UML ...


De actividades: representan el comportamiento de una operacin en trminos de acciones; De transicin de estados: representan el comportamiento de una clase en trminos de estados. De componentes: representan los componentes fsicos de una aplicacin. De despliegue: representan el despliegue de los componentes sobre los dispositivos materiales.

Los Estereotipos
Forman parte de los mecanismos de extensibilidad, previstos en UML. Permite a los usuarios aadir nuevas clases de elementos de modelado, adems de los predefinidos por UML. Facilitan la unificacin de conceptos parecidos, como <<categora>> y <<subsistema>>, que expresan estereotipos de empaquetado.

Modelado del Negocio


CASO USO DE NEGOCIO ACTOR DE NEGOCIO REALIZACIN DE CASO USO DE NEGOCIO

UNIDAD DE LA ORGANIZACIN

ENTIDAD DE NEGOCIO

TRABAJADOR DE NEGOCIO

MODELO DE CASOS DE USO DE NEGOCIO

CLIENTE

PRESTAMO
:ASISTENTE :ANALISTA

MODELO DE OBJETOS DE NEGOCIO

: CLIENTE

: PERFIL

: CUENTA

: CREDITO

MODELO DE CASOS DE USO


CLIENTE

PRESTAMO
CUENTA

ANALISTA
CREDITO

MODELO DE ANLISIS

PERFIL

Los Paquetes
Ofrecen un mecanismo general para la particin de los modelos y la agrupacin de los elementos de modelado. Dividen y organizan los modelos de la misma manera que los directorios organizan los sistemas de archivos. Cada paquete corresponde a un subconjunto del modelo y contiene, segn el modelo, clases, objetos, relaciones, componentes, as como diagramas asociados.

Nombre de Paquete

Los Paquetes
Cada paquete es una agrupacin de elementos segn un criterio puramente lgico. La forma general del sistema (la arquitectura del sistema) viene expresada por la jerarqua de paquetes y por la red de relaciones de dependencia entre paquetes.

Estereotipos de Paquetes
<<categora>> y <<subsistema>> permiten distinguir, si es necesario, los paquetes de la vista lgica y los paquetes de la vista de realizacin. Un paquete define un espacio de nombres, de modo que dos elementos diferentes, contenidos por dos paquetes diferentes, pueden tener el mismo nombre. Un paquete puede contener otros paquetes, sin lmite en el nivel de anidamiento. Un nivel dado puede contener una mezcla de paquetes y de otros elementos de modelado.
CLASE PAQUETE

CLASE PAQUETE

Anidamiento de paquetes

Dependencia entre Paquetes


Cada elemento pertenece a un solo paquete. Una clase contenida por un paquete puede tambin aparecer en otro paquete bajo la forma de un elemento importado, a travs de una relacin de dependencia estereotipada entre paquetes. Una relacin de dependencia significa que al menos una clase del paquete cliente utiliza los servicios ofrecidos por al menos una clase del paquete proveedor.
PROVEEDOR

<<import>>

CLIENTE

Visibilidad entre Paquetes


Cada elemento contenido por un paquete posee un parmetro que seala si el elemento es visible o no desde el exterior del paquete. En el caso de las clases, slo las indicadas como pblicas aparecen en la interfaz del paquete que las contiene; pueden entonces ser utilizadas por las clases miembros de los paquetes clientes. Las clases de realizacin slo se pueden utilizar dentro del paquete que las contiene.
PROVEEDOR REALIZACION

CLIENTE

PAQUETE

PAQUETE

Dependencias Circulares
Por razones de compilacin en la realizacin hay que evitar las dependencias circulares transitivas. Las dependencias circulares pueden reducirse rompiendo uno de los paquetes implicados en dos paquetes mas pequeos.
PAQ 01 PAQ 02

PAQ 01

PAQ 02 PAQ 02 DEPENDENCIAS CIRCULARES

CASOS DE USO ( UC )
Describen bajo la forma de acciones y reacciones el comportamiento de un sistema desde el punto de vista de un usuario. Permiten definir los lmites del sistema y las relaciones entre el sistema y el entorno. Es una manera especfica de utilizar un sistema. Es la imagen de una funcionalidad del sistema, desencadenada en respuesta a la estimulacin de un actor externo.

Necesidades de informacin
Las necesidades se expresan a menudo de manera no estructurada, sin fuerte coherencia. Frecuentemente, las necesidades se contradicen, se cometen olvidos, subsisten imprecisiones y el anlisis del sistema parte sobre una mala base. Los UC reubican la expresin de las necesidades sobre los usuarios, partiendo del punto de vista muy simple que dice que un sistema se construye ante todo para sus usuarios. La terminologa empleada en la redaccin de los UC es la empleada por los usuarios en su quehacer cotidiano, de modo que la expresin de las necesidades se facilita en gran medida.

Modelo de Casos de Uso


Comprende los actores, el sistema y los propios casos de uso. El conjunto de funcionalidades de un ACTOR A sistema se determina examinando las necesidades funcionales de cada actor, expresadas en forma de familias de interacciones con el caso de uso.
SISTEMA
CASO USO 01

CASO USO 02

ACTOR B
CASO USO 03

Actor
Representa un papel o rol interpretado por una persona o una cosa que interacta con un sistema. Los actores se determinan observando los usuarios directos del sistema, los responsables de su uso o de su mantenimiento, as como los otros sistemas que interactan con el sistema en cuestin. La misma persona puede interpretar el rol de varios actores, y varias personas pueden interpretar el mismo papel y actuar, como el mismo actor.

Categoras de Actores
Primarios : agrupa a todo aquello que utiliza las funciones principales del sistema para satisfacer un requerimiento. Secundarios : agrupa a todo aquello de lo que el sistema se vale para atender los requerimientos de los actores principales. Tipos actores :
Personas Dispositivos Otros Sistemas

Actores y Escenarios
Se describen actor por actor, en trminos de escenarios, mostrando la informacin intercambiada y las acciones en la manera de utilizar el sistema. Un UC agrupa una familia de escenarios de uso segn un criterio funcional. Describen interacciones entre los actores y el sistema sin entrar en detalles de cada escenario.

Escenarios : Instancias de un Caso de Uso


Los UC deben ser vistos como Escenario 3 Escenario 3 clases cuyas instancias son los Escenario 4 Escenario 1 escenarios. Cada vez que un actor interacta con el sistema un UC instancia un escenario; este CASO DE USO escenario corresponde al flujo de mensajes intercambiados por los objetos durante la interaccin particular que corresponde al escenario.

Qu es un Escenario de Caso de Uso ?


Es una descripcin de una situacin del negocio que puede ser visualizada por los usuarios de un sistema. Es decir un escenario es una secuencia de interacciones ocurriendo bajo ciertas condiciones para lograr el objetivo del actor primario, y teniendo un particular resultado con respecto a este objetivo.

Modelo de Comunicacin e Interaccin


Actor Primario Actor Secundario

Responsabilidad
- Objetivo 1 - Objetivo 2 . Accin 1 Interaccin 1

Stma. en construccin

Responsabilidad
- Accin backup para Objetivo 2

- Objetivo 1
. Accin 1

Interaccin 2

Responsabilidad

Relaciones entre Actores y Casos de Uso


De Comunicacin : La participacin del actor se seala por una flecha entre el actor y el UC. El sentido de la flecha indica el iniciador de la interaccin. De Inclusin : Entre UCs, significa que una instancia del UC fuente comprende tambin el comportamiento descrito por el UC destino. De extensin : Entre UCs, significa que el UC fuente extiende el comportamiento del UC destino.

Implementacin de relaciones
<< Comunica >>

Cliente Cliente Remoto Giro por Internet


<< Extiende >>

Cliente Local
<< Comunica >>

<< Incluye >>

Giro

Identificacin Identificaci

Construccin de Casos de Uso


Un UC debe ser ante todo simple, inteligible, descrito de manera clara y concisa. La descripcin de la interaccin se concentra sobre lo que debe hacerse en el UC, no sobre la manera de como hacerlo. El nro. actores que interactan con el UC es limitado, y por regla general, hay un solo actor por UC. En la construccin de los UC hay que preguntarse :
Cules son las tareas del actor ? Qu informaciones debe el actor crear, guardar, modificar, destruir o simplemente leer ? El actor,deber informar al stma. de los cambios externos? El stma.,deber informar al actor de las condiciones internas?

DIAGRAMA DE CASOS DE USO


DEVOLVER ITEM REGISTRAR LECTOR HACER CONSULTA

LECTOR

<<extend>>
HACER RESERVA

BIBLIOTECARIO

BORRAR RESERVA

<<include>> USUARIO DIRECTOR


CONTROLAR ACCESO GESTIONAR PERSONAL PRESTAR ITEM

VERIFICAR MULTAS

SI_ADMINISTRATIVO

Nivel de Actor Externo Nivel de Actor Interno Nivel de CU del Sistema

Nivel de Objetos

ANATOMIA DE UN PROCESO DE NEGOCIOS

Reglas de Implementacin de un Caso de Uso


La descripcin de un UC comprende los elementos sgtes.:
Inicio: el evento que inicia el UC; debe expresarse con la frase El UC empieza cuando X se produce. Fin : el evento que causa la parada del UC; debe expresarse con la frase Cuando Y se produce, el UC ha terminado. Interaccin con el actor : describe claramente lo que el actor desea le proporcione el sistema. Intercambio informacin : expresa en lenguaje natural la forma de la interaccin entre el sistema y los actores en forma de parmetros. Cronologa y origen de la informacin : describe cuando el sistema necesita informacin interna o externa y cuando las almacena. Las repeticiones de comportamiento : que pueden describirse por medio de pseudocdigo. Opcionalidad : expresan las opciones para algunas de las acciones dentro de un escenario.

Transicin hacia los Objetos


El paso hacia la aproximacin a objetos se efecta asociando una colaboracin entre objetos a cada escenario instancia de un UC. Los escenarios, se representan por diagramas de interaccin entre objetos.
CASO DE USO
<< Realiza >>

COLABORACIN COLABORACI

<< Participa >>

<< Participa >> <<Participa>>

Objeto 1 Objeto 2

Objeto 3

Descomposicin hacia objetos


Caso Uso 2 Objeto 2
<< Comunica >>

Caso Uso 1

Objeto 1 Objeto 4 Objeto 6

Objeto 5

Actor 2

Objeto 3

Objeto 7 Objeto 8

Caso Uso 1

<< Incluye>>

Actor 3 Objeto 9
<< Comunica >>

<< Comunica >>

Objeto 10

Objeto 14

Caso Uso 2
<< Comunica >>

Objeto 13 Objeto 12 Objeto 11

Actor 1

Caso Uso 3

Actor 4

Caso Uso 3

Estudiante desea matricularse en un curso


1. Verificar que la persona es un estudiante a travs del sistema de cmputo. Si no es un estudiante solicitarle que primero se inscriba en la institucin. 2. Determinar si hay vacantes en el curso. Si no hay informar al estudiante y proponerle si le gustara matricularse en algn otro curso. 3. Determinar cules son los pre-requisitos para el curso. Si el estudiante no tiene los pre-requisitos:
Informarle de la falta. Proponerle matricularse en algn otro curso.

Estudiante desea matricularse . . .


4. Recibir el primer pago e imprimir el respectivo recibo. 5. Aadir en la lista del curso al alumno, una vez que haya efectuado el primer pago. 6. Informar al estudiante de los materiales (libros, etc.) que debe adquirir para el curso.

Ejemplo de Diagrama de Casos de Uso para un Stma. Matricula

Requerir Listado Curso


Estudiante Profesor

Matricula

Mantener Curso a dictar

Sistema Facturacin Registrador

Mantener Curriculum

Formato de Especificacin para Casos de Uso


CASO DE USO # Objetivo dentro del Contexto Alcance & Nivel - El nom apropiado es el objetivo expresado con una frase bre de verbo activa. - Una sentencia del objetivo dentro del contexto si es necesario.

- Sistem que est siendo considerado com caja negra en el a o diseo. El nivel puede ser : Resum o Tarea Prim en aria o Subfuncin. Precondiciones - Com esperam encontrar el estado del m o os undo Condicin Final de - El estado del m undo luego de un final exitoso. xito Condicin Final de - El estado del m undo si se abandona el objetivo. Falla Actores Prim arios - Un nom del rol o descripcin para el actor prim bre ario. y Secundarios - Otros sistem confiables para llevar a cabo el caso de uso. as Disparador o - La accin sobre el sistem que activa o inicia el caso de uso. a Trigger

DESCRIPCION

Extensiones

Variaciones

Paso Accin 1 - Colocar aqu los pasos del escenario desde el activador al objetivo a lograr en condiciones normales, sin considerar particularidades. 2 <> 3 Paso Accin de Divisin o bifurcacin 1a - Condicin causante de la divisin : <accin o nombre del sub caso de uso> Accin de Divisin o bifurcacin

<lista de variaciones>

Informacin Relacionada Prioridad Performance Frecuencia Canales a actores Asuntos abiertos Fecha iberacin o release Cualquier otra informacin de administracin Superordinado Subordinado

- Nombre del caso de uso. - Cuan critica es para su sistema u organizacin. - La cantidad de tiempo que este caso de uso tomara. - Cuan frecuente se espera que ocurra o se presente. - ej.: Interactivo, archivos estticos, bases de datos, interrupciones (timeouts). - Lista de asuntos esperando decisin afectando el caso de uso. - Fecha o release requerido - La accin sobre el sistema que activa o inicia el caso de uso. - Opcional, nombre de caso de uso(s) que incluyen a este. - Opcional, dependiendo de las herramientas, enlaces a sub casos de uso.

CASO DE USO 5 - Comprar Mercaderas. Objetivo dentro - Comprador expide requerimiento a nuestra compaa del Contexto directamente, espera envo de mercaderas, y acepta que sean cargadas a su cuenta o facturadas. Alcance & Nivel - Compaa & Resumen Precondiciones - Nosotros conocemos al comprador, su direccin, etc. Condicin Final - Comprador tiene sus mercaderas y nosotros tenemos el valor monetario de las mercaderas. de xito Condicin Final - Nosotros no enviamos las mercaderas, el comprador no tiene que pagar su valor. de Falla Actor Prim ario - Comprador, cualquier agente (o computadora) actuando por el cliente. Disparador o - Llega un requerimiento de compra. Trigger

DESCRIPCION

Paso 1 2 3 4 5 6 7 Paso 3a 4a 7a

EXTENSIONES

Accin - Entra llamada de comprador con un requerimiento compra - Compaa captura nombre comprador, direccin, mercaderas requeridas, etc. - Compaa entrega informacin sobre mercaderas al comprador, precios, fechas entrega, etc. - Comprador confirma la orden. - Compaa crea la orden, enva la orden a comprador. - Compaa enva factura al comprador. - Comprador paga la factura. Accin de Divisin o Bifurcacin - Compaa no dispone de uno de los items ordenados : 3a.1 Renegociar orden - Comprador paga directamente con tarjeta de crdito. 4a.1 Aceptar pago por tarjeta de crdito (use case 44) - Comprador devuelve mercadera. 7a.1 Manejar mercadera devuelta (use case 105)

CASO DE USO 5 VARIACIONES

- Comprar Mercaderas. Paso Accin 1 - Comprador puede utilizar : * entrada telefnica, * entrada por fax, * formato de orden de web, * EDI 7 - Comprador puede pagar : * contado o money order * cheque * tarjeta de crdito

INFORMACION RELACIONADA Prioridad Performance Frecuencia Canal a Actor Primario Actores Secundarios Canales a Actores Secundarios

- Comprar Mercaderas - Alta - 45 minutos por orden, 45 das hasta el pago - 200 /dia - Puede ser por telfono, archivo, o interactivo. - Cia. Tarjeta de Crdito, Banco, Servicio Envos.

ASUNTOS ABIERTOS Release Cualquier otra informacin de administracin Caso de Uso Superordinado Casos de Uso Subordinados

- Que pasara si nosotros solo tenemos parte de la orden ? - Que pasara si la tarjeta de crdito es robada ? - 1.0

- Administrar la relacin con el cliente (use case 2) - Crear orden (use case 15) - Tomar pago por tarjeta de crdito (use case 44) - Manejar mercaderas devueltas (use case 105)

Diagrama Casos de Uso para un CAJERO AUTOMATICO

sacar dinero

Stma.Banco Cliente transferir transaccion(cta, importe)( )

pedir saldo

Representacin de Objetos
Se representan por un rectngulo que contiene bien el nombre del objeto, el nombre yla clase del objeto (separados por dos puntos), o bien solamente la clase del objeto (annimo).
Nombre Objeto

Nombre Objeto : Clase

: Clase

Representacin de los Enlaces entre Objetos


Los objetos se vinculan por enlaces, que son instancias de las relaciones entre las clases de los objetos considerados.
: Carro
Diagrama Objetos

: Motor

: Rueda

: Rueda
Carro

: Rueda
Motor

: Rueda

1 1 4
Rueda

Diagrama Clases

Diagramas de Colaboracin
Expresan a la vez el contexto de un grupo de objetos (a travs de objetos y enlaces) y la interaccin entre estos objetos (representada por el envo de mensajes). El contexto de una interaccin comprende los argumentos, las variables locales creadas durante la ejecucin, as como los enlaces entre los objetos que participan en la interaccin.

Representacin de la Colaboracin
Una interaccin se realiza por un grupo de objetos que colaboran intercambiando mensajes. En un diagrama de colaboracin, el tiempo no se representa de manera implcita, slo se enumeran para indicar el orden de los envos.
: Cabina
abrir

: Puerta

: Ascensor
1: subir

: Cabina

2: cerrar

3: Encender

: Puerta

: Luz

El lugar del usuario


La notacin permite incluir a un actor en un diagrama de colaboracin para representar el desencadenamiento de las interacciones por un elemento externo al sistema.
1: Llamar : Persona

: Ascensor
2: Venir

: Cabina

Los Objetos activos


Son los que poseen el flujo de control. Un objeto activo puede activar un objeto pasivo por el tiempo de una operacin envindole un mensaje. Una vez tratado el mensaje el flujo de control se restituye al objeto activo.
Objeto activo

: Procesar Texto
2: Escribir 1: Leer

: Impresora : Escaner

Representacin de mensajes
Se representa por una flecha colocada cerca de un enlace y dirigida hacia el objeto destinatario del mensaje. Un mensaje desencadena una accin en el objeto destinatario. El mensaje, sus argumentos y valores de retorno, se colocan dentro de la interaccin; tambin se coloca el grado de anidamiento o la sincronizacin en el envo.

Sincronizacin de un mensaje
Se expresa en forma de una secuencia de envo de mensaje terminada por el carcter /.
: Objeto B
A.1, B.3 / Leer

: Objeto A

El mensaje se enva cuando los envos A.1 y B.3 han sido satisfechos.

Secuencia y Resultado
La secuencia indica el nivel de anidamiento del envo del mensaje dentro de la interaccin. El resultado est constitudo por una lista de valores devueltos por el mensaje.
: Objeto A
Un mensaje se enva iterada y concurrentemente a un conjunto de instancias

* ||[i:=1..n]: mensaje
: Objeto B

: Objeto B
[X > Y] : Mensaje

: Objeto B
p : = resultado

: Objeto A

: Objeto A

1: Coger libro

: Libro

: Socio

2: Solicitar prstamo 3: Verificar situacin socio : Ficha Socio

8: Autorizar prstamo 4: Situacin socio Ok

6: Situacin libro Ok

: Encargado 7: Introducir prstamo : Prstamo

5: Verificar situacin libro

: Ficha libro

Ejemplo de Diagrama de Colaboracin para Caso de Uso : Prstamo Libro

Ejemplo de Diagrama de Colaboracin para Caso de Uso : Crear nuevo Curso


1: set info curso 2: procesar
unFormatoCurso : FormatoCurso

: Registrador

3: add curso

unCurso : Curso

elAdministrador : AdministradorCurriculum

4: new curso

: Computadora

: Cola

1:Print (file) 2:Print (file)

3:Almacenar (file) [Impresora ocupada]

: ServidorImpresion

4:Print (file) [Impresora libre]

: Impresora

Vous aimerez peut-être aussi