ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las...

62
ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML ( Parte II ) Ing. Luis Zuloaga Rotta

Transcript of ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las...

Page 1: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML

( Parte II )

Ing. Luis Zuloaga Rotta

Page 2: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

La notación UMLEs una fusión de las notaciones de :

Grady BoochJames Rumbaugh (OMT)Ivar Jacobson (OOSE)

Han buscado ante todo la simplicidad; UML es intuitivo, homogéneo y coherente. UML no es una notación cerrada: es genérica, extensible y configurable por el usuario.

Page 3: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

NotaciónUn solo diagrama no puede expresar toda la información para describir un sistema : funcional, no funcional, organizacional.Cada vista representa una proyección del sistema, mostrando un aspecto particular del mismo.Cada vista se describe en un cierto número de diagramas.

Descripción = Vistas del sistema (diagramas)

Page 4: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vistas del UML

Vista de Casos de Uso

Vista de LógicaVista de

Componentes

Vista de ConcurrenciaVista de

Despliegue

Page 5: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vista de Casos de UsoMuestra la funcionalidad del sistema talcomo es percibida por actores externos.Su contenido consuce el proceso de desarrollo y verificación.Utiliza :

Diagramas de Casos de UsoDiagramas de Actividad (opcional)

Page 6: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vista LógicaMuestra el diseño de la funcionalidad del sistema : Estructura y ComportamientoDescripción de estructura :

Diagramas de objetos y clasesDescripción de comportamiento :

Diagramas de secuencia, colaboración, estado y actividades

Page 7: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vista de ComponentesMuestra la organización del código y demás archivos.Consiste en el Diagrama de Componentes.Orientado al equipo de Desarrollo.

Page 8: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vista de Despliegue Muestra la implantación del sistema en la arquitectura física.Las computadoras y los dispositivos perifericos son denominados nodosnodos.Consiste en el Diagrama de Despliegue.Utilizado por los equipos de desarrollo, integración y pruebas.

Page 9: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Vista de ConcurrenciaMuestra la concurrencia en el sistema, dividido en procesos y procesadores.Da cuenta de los aspectos de comunicación y sincronización derivados.Descripción dinámica : Diagramas de Estado, Secuencia, Colaboración y Actividades.Descripción de implementación : Diagramas de Componente y de Despliegue.

Page 10: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Diagramas de Casos de Uso

Diagramas deColaboración

Diagramas deComponentes

Diagramas deDistribución

Diagramas de Objetos

Diagramas deEstados

Diagramas deSecuencia

Diagramas deClases

Diagramas deActividad

ModeloModelo

“Un modelo es una descripción completa de un sistema desde una perspectiva concreta”

Page 11: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Diagramas UML ( 9 )De casos de uso: representan las funciones del sistema desde el punto de vista del usuario.De secuencia: representación temporal de los objetos del sistema y sus interacciones.De colaboración: son una representación espacial de los objetos, enlaces e interacciones.De clases: representan la estructura estática en términos de clases y relaciones;

Page 12: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Diagramas UML ...De actividades: representan el comportamiento de una operación en términos de acciones;De transición de estados: representan el comportamiento de una clase en términos de estados.De componentes: representan los componentes físicos de una aplicación.De despliegue: representan el despliegue de los componentes sobre los dispositivos materiales.

Page 13: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Los EstereotiposForman parte de los mecanismos de extensibilidad, previstos en UML.Permite a los usuarios añadir nuevas clases de elementos de modelado, además de los predefinidos por UML.Facilitan la unificación de conceptos parecidos, como <<categoría>> y <<subsistema>>, que expresan estereotipos de empaquetado.

Page 14: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Modelado del Negocio

CASO USO DE NEGOCIO

ACTORDE NEGOCIO

REALIZACIÓN DE CASO USO

DE NEGOCIO

TRABAJADORDE NEGOCIO

UNIDAD DELA ORGANIZACIÓN

ENTIDAD DE NEGOCIO

Page 15: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

PERFILPERFIL CUENTACUENTA CREDITOCREDITO

CLIENTE PRESTAMO ANALISTA

: PERFIL : CUENTA : CREDITO

:ASISTENTE :ANALISTA

: CLIENTE

PRESTAMOCLIENTE

MODELO DE CASOSDE USO DE NEGOCIO

MODELO DE OBJETOSDE NEGOCIO

MODELO DE CASOSDE USO

MODELO DE ANÁLISIS

Page 16: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Los PaquetesOfrecen un mecanismo general para la partición de los modelos y la agrupación 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, según el modelo, clases, objetos, relaciones, componentes, así como diagramas asociados.

Nombre deNombre dePaquetePaquete

Page 17: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Los PaquetesCada paquete es una agrupación de elementos según un criterio puramente lógico.La forma general del sistema (la arquitectura del sistema) viene expresada por la jerarquía de paquetes y por la red de relaciones de dependencia entre paquetes.

Page 18: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Estereotipos de Paquetes<<categoría>> y <<subsistema>> permiten distinguir, si es necesario, los paquetes de la vista lógica y los paquetes de la vista de realización.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 límite en el nivel de anidamiento. Un nivel dado puede contener una mezcla de paquetes y de otros elementos de modelado.

CLASECLASE

CLASECLASEPAQUETEPAQUETE

PAQUETEPAQUETE

Anidamiento de Anidamiento de paquetespaquetes

Page 19: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Dependencia entre PaquetesCada elemento pertenece a un solo paquete.Una clase contenida por un paquete puede también aparecer en otro paquete bajo la forma de un elemento importado, a través de una relación de dependencia estereotipada entre paquetes.Una relación de dependencia significa que al menos una clase del paquete cliente utiliza los servicios ofrecidos por al menos una clase del paquete proveedor.

CLIENTECLIENTE

PROVEEDORPROVEEDOR

<<import>>

Page 20: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Visibilidad entre Paquetes

CLIENTECLIENTE

PROVEEDORPROVEEDOR

REALIZACIONREALIZACION

Cada elemento contenido por un paquete posee un parámetro que señala si el elemento es visible o no desde el exterior del paquete.En el caso de las clases, sólo las indicadas como públicas aparecen en la interfaz del paquete que las contiene; pueden entonces ser utilizadas por las clases miembros de los paquetes clientes.Las clases de realización sólo se pueden utilizar dentro del paquete que las contiene.

PAQUETEPAQUETE

PAQUETEPAQUETE

Page 21: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Dependencias CircularesPor razones de compilación en la realización hay que evitar las dependencias circulares transitivas.Las dependencias circulares pueden reducirse rompiendo uno de los paquetes implicados en dos paquetes mas pequeños.

PAQ 01PAQ 01PAQ 02PAQ 02

PAQ 01PAQ 01

PAQ 02PAQ 02

PAQ 02PAQ 02

DEPENDENCIAS CIRCULARES

Page 22: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

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 límites del sistema y las relaciones entre el sistema y el entorno.Es una manera específica de utilizar un sistema. Es la imagen de una funcionalidad del sistema, desencadenada en respuesta a la estimulación de un actor externo.

Page 23: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Necesidades de informaciónLas necesidades se expresan a menudo de manera no estructurada, sin fuerte coherencia.Frecuentemente, las necesidades se contradicen, se cometen olvidos, subsisten imprecisiones y el análisis del sistema parte sobre una mala base.Los UC reubican la expresión 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 terminología empleada en la redacción de los UC es la empleada por los usuarios en su quehacer cotidiano, de modo que la expresión de las necesidades se facilita en gran medida.

Page 24: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Modelo de Casos de UsoComprende los actores, el sistema y los propios casos de uso.El conjunto de funcionalidades de un sistema se determina examinando las necesidades funcionales de cada actor, expresadas en forma de familias de interacciones con el caso de uso.

ACTOR B

SISTEMA

ACTOR A

CASO USO 01CASO USO 01

CASO USO 02CASO USO 02

CASO USO 03CASO USO 03

Page 25: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

ActorRepresenta un papel o rol interpretado por una persona o una cosa que interactúa 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 interactúan con el sistema en cuestión.La misma persona puede interpretar el rol de varios actores, y varias personas pueden interpretar el mismo papel y actuar, como el mismo actor.

Page 26: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Categorías de ActoresPrimarios : 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 :

PersonasDispositivosOtros Sistemas

Page 27: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Actores y EscenariosSe describen actor por actor, en términos de escenarios, mostrando la información intercambiada y las acciones en la manera de utilizar el sistema.Un UC agrupa una familia de escenarios de uso según un criterio funcional.Describen interacciones entre los actores y el sistema sin entrar en detalles de cada escenario.

Page 28: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Escenarios : Instancias de un Caso de UsoLos UC deben ser vistos como clases cuyas instancias son los escenarios.Cada vez que un actor interactúa con el sistema un UC instancia un escenario; este escenario corresponde al flujo de mensajes intercambiados por los objetos durante la interacción particular que corresponde al escenario.

CASO DE USOCASO DE USO

Escenario 1

Escenario 3Escenario 3

Escenario 4

Page 29: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Qué es un Escenario de Caso de Uso ?Qué es un Escenario de Caso de Uso ?Es una descripción de una situación 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.

Page 30: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Modelo de Comunicación e InteracciónModelo de Comunicación e InteracciónActor PrimarioActor Primario Actor SecundarioActor Secundario

ResponsabilidadResponsabilidad- Objetivo 1- Objetivo 2

. Acción 1

ResponsabilidadResponsabilidad- Objetivo 1

. Acción 1 ResponsabilidadResponsabilidad

Interacción 1

Interacción 2- Acción backup

para Objetivo 2

Stma. en construcciónStma. en construcción

Page 31: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Relaciones entre Actores y Casos de UsoDe Comunicación : La participación del actor se señala por una flecha entre el actor y el UC. El sentido de la flecha indica el iniciador de la interacción.De Inclusión : Entre UC’s, significa que una instancia del UC fuente comprende también el comportamiento descrito por el UC destino.De extensión : Entre UC’s, significa que el UC fuente extiende el comportamiento del UC destino.

Page 32: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Implementación de relaciones

Giro porGiro porInternetInternet

GiroGiro

IdentificaciIdentificacióónn

<< << ExtiendeExtiende >>>>

<<<< IncluyeIncluye >>>>

ClienteClienteLocalLocal

ClienteClienteRemotoRemoto

ClienteCliente<< << ComunicaComunica >>>>

<< << ComunicaComunica >>>>

Page 33: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Construcción de Casos de UsoUn UC debe ser ante todo simple, inteligible, descrito de manera clara y concisa. La descripción de la interacción se concentra sobre lo que debe hacerse en el UC, no sobre la manera de como hacerlo.El nro. actores que interactúan con el UC es limitado, y por regla general, hay un solo actor por UC.En la construcción de los UC hay que preguntarse :

¿Cuáles 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?

Page 34: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

DIAGRAMA DE CASOS DE USOHACER

CONSULTA

HACER RESERVA

BORRARRESERVA

PRESTARITEM

REGISTRARLECTOR

DEVOLVERITEM

CONTROLARACCESO

LECTOR

BIBLIOTECARIO

DIRECTOR

USUARIO

VERIFICARMULTAS

<<extend>>

<<include>>

GESTIONARPERSONAL

SI_ADMINISTRATIVO

Page 35: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

ANATOMIA DE UN PROCESO DE NEGOCIOSANATOMIA DE UN PROCESO DE NEGOCIOS

Nivel de Actor Externo

Nivel de Actor Interno

Nivel de CU del Sistema

Nivel de Objetos

Page 36: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Reglas de Implementación de un Caso de UsoLa descripción 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”.Interacción con el actor : describe claramente lo que el actor desea le proporcione el sistema.Intercambio información : expresa en lenguaje natural la forma de la interacción entre el sistema y los actores en forma de parámetros.Cronología y origen de la información : describe cuando el sistema necesita información interna o externa y cuando las almacena.Las repeticiones de comportamiento : que pueden describirse por medio de pseudocódigo.Opcionalidad : expresan las opciones para algunas de las acciones dentro de un escenario.

Page 37: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Transición hacia los ObjetosEl paso hacia la aproximación a objetos se efectúa asociando una colaboración entre objetos a cada escenario instancia de un UC.Los escenarios, se representan por diagramas de interacción entre objetos.

Objeto 1Objeto 1

Objeto 2Objeto 2

Objeto 3Objeto 3

<< << RealizaRealiza >>>>

<< << ParticipaParticipa >>>>

<<<<ParticipaParticipa>>>>

<< << ParticipaParticipa >>>>

CASO DE USOCASO DE USOCOLABORACICOLABORACIÓÓNN

Page 38: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Descomposición hacia objetos

Caso Uso 1Caso Uso 1

Actor 1Actor 1

Caso Uso 2Caso Uso 2

<< << IncluyeIncluye>>>>Actor 3Actor 3

Actor 2Actor 2

<< << ComunicaComunica >>>>

<< << ComunicaComunica >>>>

Caso Uso 3Caso Uso 3 Actor 4Actor 4

<< << ComunicaComunica >>>>

<< << ComunicaComunica >>>>

Caso Uso 1Caso Uso 1Objeto 1

Objeto 4

Objeto 6

Objeto 2

Objeto 5

Objeto 7

Objeto 14

Objeto 9Objeto 8

Objeto 10

Objeto 3

Objeto 12Objeto 11

Objeto 13

Caso Uso 2Caso Uso 2

Caso Uso 3Caso Uso 3

Page 39: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Estudiante desea matricularse en un cursoEstudiante desea matricularse en un curso1. Verificar que la persona es un estudiante a través del

sistema de cómputo. Si no es un estudiante solicitarle que primero se inscriba en la institución.

2. Determinar si hay vacantes en el curso. Si no hay informar al estudiante y proponerle si le gustaría matricularse en algún otro curso.

3. Determinar cuáles son los pre-requisitos para el curso. Si el estudiante no tiene los pre-requisitos:

Informarle de la falta.Proponerle matricularse en algún otro curso.

Page 40: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Estudiante desea matricularse . . .Estudiante desea matricularse . . .4. Recibir el primer pago e imprimir el respectivo

recibo.5. Añadir 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.

Page 41: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Ejemplo de Diagrama de Casos de Uso para un

Stma. Matricula

MatriculaMatricula

EstudianteEstudiante

Sistema FacturaciónSistema Facturación

RegistradorRegistrador

Mantener Mantener CurriculumCurriculum

ProfesorProfesor

Requerir Listado CursoRequerir Listado Curso

Mantener Curso a dictarMantener Curso a dictar

Page 42: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

CASO DE USO # - El nombre apropiado es el objetivo expresado con una frase de verbo activa.

Objetivo dentrodel Contexto

- Una sentencia del objetivo dentro del contexto si es necesario.

Alcance & Nivel - Sistema que está siendo considerado como caja negra en el diseño. El nivel puede ser : Resumen o Tarea Primaria o Subfunción.

Precondiciones - Como esperamos encontrar el estado del mundoCondición Final deÉxito

- El estado del mundo luego de un final exitoso.

Condición Final deFalla

- El estado del mundo si se abandona el objetivo.

Actores Primariosy Secundarios

- Un nombre del rol o descripción para el actor primario.- Otros sistemas confiables para llevar a cabo el caso de uso.

Disparador oTrigger

- La acción sobre el sistema que activa o inicia el caso de uso.

Formato de Especificación para Casos de UsoFormato de Especificación para Casos de Uso

Page 43: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

DESCRIPCION Paso Acción1 - Colocar aquí los pasos del escenario desde el

activador al objetivo a lograr en condiciones normales, sin considerar particularidades.

2 <…>3

Extensiones Paso Acción de División o bifurcación1a - Condición causante de la división :

<acción o nombre del sub caso de uso>Variaciones Acción de División o bifurcación

1 <lista de variaciones>

Page 44: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

InformaciónRelacionada

- Nombre del caso de uso.

Prioridad - Cuan critica es para su sistema u organización.

Performance - La cantidad de tiempo que este caso de uso tomaría.

Frecuencia - Cuan frecuente se espera que ocurra o se presente.Canales a actores - ej.: Interactivo, archivos estáticos, bases de datos,

interrupciones (timeouts).Asuntos abiertos - Lista de asuntos esperando decisión afectando el caso de uso.Fecha iberacióno release

- Fecha o release requerido

… Cualquier otrainformación deadministración …

- La acción sobre el sistema que activa o inicia el caso de uso.

Superordinado - Opcional, nombre de caso de uso(s) que incluyen a este.Subordinado - Opcional, dependiendo de las herramientas, enlaces a sub

casos de uso.

Page 45: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

CASO DE USO 5 - Comprar Mercaderías.Objetivo dentrodel Contexto

- Comprador expide requerimiento a nuestra compañía directamente, espera envío de mercaderías, y acepta que sean cargadas a su cuenta o facturadas.

Alcance & Nivel - Compañía & ResumenPrecondiciones - Nosotros conocemos al comprador, su dirección, etc.Condición Finalde Éxito

- Comprador tiene sus mercaderías y nosotros tenemos el valor monetario de las mercaderías.

Condición Finalde Falla

- Nosotros no enviamos las mercaderías, el comprador no tiene que pagar su valor.

Actor Primario - Comprador, cualquier agente (o computadora) actuando por el cliente.

Disparador oTrigger

- Llega un requerimiento de compra.

Page 46: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

DESCRIPCION Paso Acción1 - Entra llamada de comprador con un requerimiento compra2 - Compañía captura nombre comprador, dirección,

mercaderías requeridas, etc.3 - Compañía entrega información sobre mercaderías al

comprador, precios, fechas entrega, etc.4 - Comprador confirma la orden.5 - Compañía crea la orden, envía la orden a comprador.6 - Compañía envía factura al comprador.7 - Comprador paga la factura.

EXTENSIONES Paso Acción de División o Bifurcación3a - Compañía no dispone de uno de los items ordenados :

3a.1 Renegociar orden4a - Comprador paga directamente con tarjeta de crédito.

4a.1 Aceptar pago por tarjeta de crédito (use case 44)7a - Comprador devuelve mercadería.

7a.1 Manejar mercadería devuelta (use case 105)

Page 47: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

CASO DE USO 5 - Comprar Mercaderías.VARIACIONES Paso Acción

1 - Comprador puede utilizar : * entrada telefónica, * entrada por fax, * formato de orden de web, * EDI

7 - Comprador puede pagar : * contado o money order * cheque * tarjeta de crédito

Page 48: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

INFORMACIONRELACIONADA

- Comprar Mercaderías

Prioridad - AltaPerformance - 45 minutos por orden, 45 días hasta el pagoFrecuencia - 200 /diaCanal a ActorPrimario

- Puede ser por teléfono, archivo, o interactivo.

Actores Secundarios - Cia. Tarjeta de Crédito, Banco, Servicio Envíos.Canales a ActoresSecundarios

Page 49: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

ASUNTOSABIERTOS

- Que pasaría si nosotros solo tenemos parte de la orden ?- Que pasaría si la tarjeta de crédito es robada ?

Release - 1.0… Cualquier otra información de administración …Caso de UsoSuperordinado

- Administrar la relación con el cliente (use case 2)

Casos de UsoSubordinados

- Crear orden (use case 15)- Tomar pago por tarjeta de crédito (use case 44)- Manejar mercaderías devueltas (use case 105)

Page 50: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Diagrama Casos de Uso para un CAJERO AUTOMATICO

sacar dinero

transferirCliente

Stma.Banco

transaccion(cta, importe)( )

pedir saldo

Page 51: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Representación de ObjetosSe representan por un rectángulo que contiene bien el nombre del objeto, el nombre yla clase del objeto (separados por dos puntos), o bien solamente la clase del objeto (anónimo).

Nombre Objeto

Nombre Objeto : Clase

: Clase

Page 52: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Representación de los Enlaces entre ObjetosLos objetos se vinculan por enlaces, que son instancias de las relaciones entre las clases de los objetos considerados.

: Carro

: Rueda : Rueda : Rueda : Rueda

: MotorDiagrama Objetos

CarroCarro

RuedaRueda

MotorMotor

4

1

1 1

Diagrama Clases

Page 53: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Diagramas de ColaboraciónExpresan a la vez el contexto de un grupo de objetos (a través de objetos y enlaces) y la interacción entre estos objetos (representada por el envío de mensajes).El contexto de una interacción comprende los argumentos, las variables locales creadas durante la ejecución, así como los enlaces entre los objetos que participan en la interacción.

Page 54: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Representación de la ColaboraciónUna interacción se realiza por un grupo de objetos que colaboran intercambiando mensajes. En un diagrama de colaboración, el tiempo no se representa de manera implícita, sólo se enumeran para indicar el orden de los envíos.

: Cabina

: Puerta

abrir

: Ascensor

: Cabina

: Puerta

: Luz

2: cerrar

1: subir

3: Encender

Page 55: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

El lugar del usuario

: : PersonaPersona

: Ascensor

: Cabina

2: Venir

1: Llamar

La notación permite incluir a un actor en un diagrama de colaboración para representar el desencadenamiento de las interacciones por un elemento externo al sistema.

Page 56: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Los Objetos activos: Procesar Texto

: Escaner

: Impresora

1: Leer2: Escribir

Objeto activoSon los que poseen el flujo de control.Un objeto activo puede activar un objeto pasivo por el tiempo de una operación enviándole un mensaje. Una vez tratado el mensaje el flujo de control se restituye al objeto activo.

Page 57: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Representación de mensajesSe representa por una flecha colocada cerca de un enlace y dirigida hacia el objeto destinatario del mensaje.Un mensaje desencadena una acción en el objeto destinatario.El mensaje, sus argumentos y valores de retorno, se colocan dentro de la interacción; también se coloca el grado de anidamiento o la sincronización en el envío.

Page 58: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Sincronización de un mensajeSe expresa en forma de una secuencia de envío de mensaje terminada por el carácter /.

: Objeto A

: Objeto B

A.1, B.3 / Leer

El mensaje se envía cuando los envíos A.1y B.3 han sido satisfechos.

Page 59: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Secuencia y ResultadoLa secuencia indica el nivel de anidamiento del envío del mensaje dentro de la interacción.El resultado está constituído por una lista de valores devueltos por el mensaje.

: Objeto A

: Objeto B

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

: Objeto A

: Objeto B

: Objeto A

: Objeto B[X > Y] : Mensaje

p : = resultado

Un mensaje se envía iterada y concurrentemente a un conjunto de instancias

Page 60: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Ejemplo de Diagrama de Colaboración para

Caso de Uso : Préstamo Libro

: Socio

: Encargado

: Libro

: Ficha libro

: Ficha Socio

: Préstamo

1: Coger libro

2: Solicitar préstamo

8: Autorizar préstamo

3: Verificar situación socio

4: Situación socio Ok

5: Verificar situación libro

6: Situación libro Ok

7: Introducir préstamo

Page 61: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

Ejemplo de Diagrama de Colaboración para

Caso de Uso : Crear nuevo Curso

:: RegistradorRegistrador

unFormatoCursounFormatoCurso ::FormatoCursoFormatoCurso

elAdministradorelAdministrador ::AdministradorCurriculumAdministradorCurriculumunCursounCurso ::

CursoCurso

1: set info curso2: procesar

3: add curso

4: new curso

Page 62: ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON UML … · La notación UML Es una fusión de las notaciones de : Grady Booch James Rumbaugh (OMT) Ivar Jacobson (OOSE) Han buscado ante

: Computadora

: ServidorImpresion

: Cola

: Impresora

2:Print (file)

3:Almacenar (file)[Impresora ocupada]

4:Print (file)[Impresora libre]

1:Print (file)