taller presentacion

79
Herramientas Informaticas UML y patrones de diseño Univ. Marco Aurelio Avalos Nina

Upload: yanqui0101

Post on 04-Jul-2015

523 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Taller presentacion

Herramientas Informaticas

UML y patrones de

diseño

Univ. Marco Aurelio Avalos Nina

Page 2: Taller presentacion

Qué es UML?

El UML modela sistema mediante el uso de

objetos que forman parte de él así como, las

relaciones estáticas o dinámicas que existen

entre ellos.

UML puede ser utilizado por cualquier

metodología de análisis y diseño orientada

por objetos para expresar los diseños.

Page 3: Taller presentacion

Qué es UML?

UML es un Lenguaje de Modelado Unificado

basado en una notación gráfica la cual permite:

especificar, construir, visualizar y documentar

los objetos de un sistema programado.

Page 4: Taller presentacion

UML

UML es un lenguaje de modelado que sirve

para visualizar, especificar , construir

y documentar un sistema software.

Page 5: Taller presentacion

UML para construir

Es posible

hacer

corresponder

con los

lenguajes de

programación

Modelo

UML

Ingeniería Directa

Ingeniería Inversa

CÓDIGO

Page 6: Taller presentacion

Un proceso de desarrollo de software debe ofrecer un conjunto

de modelos que permitan expresar el producto desde cada una

de las perspectivas de interés

El código fuente del sistema es el modelo más detallado del

sistema (y además es ejecutable). Sin embargo, se requieren

otros modelos ...

Cada modelo es completo desde su punto de vista del sistema,

sin embargo, existen relaciones de trazabilidad entre los

diferentes modelos

Modelos y Diagramas

Page 7: Taller presentacion

Modelos y Diagramas

Modelo: captura una vista de un sistema del mundo real. Es

una abstracción de dicho sistema, considerando un cierto

propósito.

Diagrama: representación gráfica de una colección de

elementos de modelado, a menudo dibujada como un grafo con

vértices conectados por arcos.

Page 8: Taller presentacion

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista deImplementación

Vista de los Casos de Uso

Organización de Modelos

Page 9: Taller presentacion

Relación Vistas - Diagramas

Vista de casos de uso Diagramas de casos de uso

Diagramas de actividades

Vista de diseño Diagramas de clases

Diagramas de interacción

Diagramas de estados

Vista de procesos Diagramas de clase

Diagramas de interacción

Vista de implementación Diagramas de componentes

Vista de despliegue Diagrama de despliegue

Page 10: Taller presentacion

Diagramas de UML

Use CaseDiagrams

Use CaseDiagrams

Diagramas de Casos de Uso

ScenarioDiagrams

ScenarioDiagrams

Diagramas deColaboración

StateDiagrams

StateDiagrams

Diagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagrams

StateDiagrams

Diagramas de Objetos

ScenarioDiagrams

ScenarioDiagrams

Diagramas deEstados

Use CaseDiagrams

Use CaseDiagrams

Diagramas deSecuencia

StateDiagrams

StateDiagrams

Diagramas deClases

Diagramas deActividad

Modelo

Page 11: Taller presentacion

Mecanismos comunes en UML

Especificaciones. Es más que un lenguajegráfico (semántica detrás de la notación).

Adornos. Detalles sobre un clase, nivel de acceso de sus métodos, notas.

Divisiones Comunes: Clase/Objecto o Interfaz/Implementación.

Page 12: Taller presentacion

Mecanismos comunes en UML

+Insert()

+Update()

+Delete()

#GetNumPaginas() : int

-Paginas : int

«utility»

Producto

Paginas : int

«utility»

p1 : Producto

Paginas : int

«utility»

p2 : Producto

IDataManaged

{orderById}

Definición de un producto gestionado desde base de datos

Page 13: Taller presentacion

Casos de Uso

Page 14: Taller presentacion

Casos de Usos

Un diagrama de Casos de Uso muestra la distintas

operaciones que se esperan de una aplicación o

sistema y cómo se relaciona con su entorno (usuario

u otras aplicaciones).

Es una herramienta esencial para la captura de

requerimientos y para la planificación y control de un

proyecto interactivo.

Page 15: Taller presentacion

Casos de Usos

Los casos de Uso Se representa en el diagrama poruna elipse que denota un requerimientosolucionando por el sistema.

Cada caso de uso de uso es una operacióncompleta desarrollada por los actores y por elsistema en un diálogo.

El conjunto de casos de uso representa la totalidadde operaciones desarrolladas por el sistema.

Page 16: Taller presentacion

Casos de Usos

Page 17: Taller presentacion

Casos de Usos

Actor: Es un usuario del sistema, que necesita o

usa alguno de los casos de uso. Un usuario puede

jugar más de un rol. Un solo actor puede actuar en

muchos casos de uso; recíprocamente, un caso de

uso puede tener varios actores. Los actores no

necesitan ser humanos pueden ser sistemas

externos que necesitan alguna información del

sistema actual.

Page 18: Taller presentacion

Casos de Usos

También se puede encontrar tres tipos de

relaciones, como son:

– Comunica (comunicates) Entre un actor y un

caso de uso, denota la participación del actor en

el caso de uso determinado.

Page 19: Taller presentacion

Casos de Usos

Usa (uses): Relación entre dos casos de

uso, denota la inclusión del comportamiento

de un escenario en otro. Se utiliza cuando se

repite un caso de uso en dos o más casos

de uso separados. Frecuentemente no hay

actor asociado con el caso de uso común.

Page 20: Taller presentacion

Casos de Usos

Extiende (extends): Relación entre dos

casos, denota cuando un caso de uso es

una especialización de otro. Se usa cuando

se describe una variación sobre el normal

comportamiento.

Page 21: Taller presentacion

Casos de Usos

Técnicas comunes de modelado:

– Modelado del contexto del sistema (utilidad

similar a los DFD).

– Modelado de los requisitos de un sistema.

– Modelado del proceso de test y estrés del

sistema.

Page 22: Taller presentacion

Diagrama de Clases

Page 23: Taller presentacion

Conceptos básicos orientación a objetos

Clase

Objeto

Herencia

Interfaz

Polimorfismo de clases

Clases y atributos estáticos

Clases y atributos finales

Clases y métodos abstractos

Page 24: Taller presentacion

Diagrama de clases

Un diagrama de clases o estructura estática muestrael conjunto de clases y objeto importantes queforman parte de un sistema, junto con las relacionesexistentes entre clases y objetos. Muestra de unamanera estática la estructura de información delsistema y la visibilidad que tiene cada una de lasclases, dada por sus relaciones con los demás en elmodelo.

Page 25: Taller presentacion

Diagrama de clases

Usos comunes del diagrama:

– Modelado del vocabulario del sistema.

– Modelado de colaboraciones simples.

– Modelado de un esquema lógico de base dedatos.

– Modelado de un conjunto de clases de test.

Page 26: Taller presentacion

Diagrama de clases

Clase: representa un conjunto de entidades quetienen en común propiedades, operaciones,relaciones y semántica.

Una clase es un constructor que define la estructuray comportamiento de una colección de objetodenominados instancia de la clase.

En UML la clase está representada por unrectángulo con tres divisiones internas, son loselementos fundamentales del diagrama.

Page 27: Taller presentacion

Diagrama de clases

Atributo: Representa una propiedad de una entidad.Cada atributo de un objeto tiene un valor que pertenecea un dominio de valores determinado.

Las sintaxis de una atributo es:

– Visibilidad <nombre>: tipo = valor { propiedades}

Donde visibilidad es uno de los siguientes:

– + público.

– # protegido.

– - privado.

Page 28: Taller presentacion

Diagrama de clases

Operación: El conjunto de operaciones que

describen el comportamiento de los objetos de una

clase. La sintaxis de una operación en UML es:

Visibilidad nombre (lista de parámetros): tipo que

retorna { propiedades}

Page 29: Taller presentacion

Diagrama de clases

Nombre de la clase

Atributos

Métodos

Page 30: Taller presentacion

Diagrama de clases

Responsabilidades: Contrato u obligación de una

clase, asignada en el momento del diseño.

Clase Producto:

– Registrar el código de la publicación.

– Mantener estructura del producto plantilla.

Page 31: Taller presentacion

Diagrama de clases

Técnicas de modelado:

– Modelado del vocabulario de un sistema a partir de

las descripciones funcionales.

– Modelado de la distribución de responsabilidades en

un sistema.

– Modelado de cosas que no son software (hardware,

personas, etc).

– Modelado de tipos primitivos.

Page 32: Taller presentacion

Diagrama de clases

Objeto: es una instancia de una clase. Secaracteriza por tener una identidad única, un estadodefinido por un conjunto de valores de atributos y uncomportamiento representado por sus operaciones ymétodos.

Asociación (rol, multiplicidad, calificador):representan las relaciones entre instancias de clase.Una asociación es una línea que une dos o másclases.

Page 33: Taller presentacion

Diagrama de clases

Nombre: Identifica la asociación entre los

objetos, caracterizándola.

Rol: Identificado como un nombre a los finales de la

línea, describe la semántica de la relación en el sentido

indicado. Cada asociación tiene dos roles; cada rol es

una dirección en la asociación. El rol puede estar

representado en el nombre de la clase.

Page 34: Taller presentacion

Diagrama de clases

Multiplicidad: Describe la cardinalidad de la

relación, es decir, cuanto objetos de esa clase

pueden participar en la relación dada. Tipos:

Page 35: Taller presentacion

Diagrama de clases

Dependencia: Es una relación donde existen entidades

independientes y otras dependientes, lo que implica que

cambiar el elemento independiente puede requerir

cambios en los dependientes. Se representa con una

línea punteada direccional, indicando el sentido de la

dependencia.

Page 36: Taller presentacion

Diagrama de clases

Page 37: Taller presentacion

Diagrama de clases

Los tipos de asociaciones entre clases

presentes en un diagrama estático son:

– Asociación binaria.

– Asociación n-aria.

– Composición.

– Generalización.

– Refinamiento.

Page 38: Taller presentacion

Diagrama de clases

Asociación Binaria: Representa una relación

sencilla entre dos clases, no muy fuerte (es

decir, no se exige dependencia existencial ni

encapsulamiento). Se indica como una línea sólida

que une dos clases.

Asociación n-aria: Es una asociación entre tres o

más clases. Se representa como un diamante del

cual salen líneas de asociación a las clases.

Page 39: Taller presentacion

Diagrama de clases

Composición: Es una asociación fuerte queimplica:– Dependencia existencial. El elemento

dependiente desaparece al destruirse el que lo contiene y, si es de cardinalidad 1, es creado al mismo tiempo.

– Hay una pertenencia fuerte. Se puede decir que el objeto contenido es parte constitutiva y vital del que lo contiene.

Page 40: Taller presentacion

Diagrama de clases

– Los objetivos contenidos no son compartidos, esto

es, no hacen parte del estado de otro objeto.

Se denota dibujando un rombo del lado de la

clase que contiene a la otra en la relación.

Page 41: Taller presentacion

Diagrama de clases

Agregación: Relaciona una clase ya

ensamblada con una clase componente. Es

también una relación de composición menos

fuerte (no se exige dependencia existencial)

y se denota por un rombo sin rellenar en un

o de los extremos.

Page 42: Taller presentacion

Diagrama de clases

Generalización: es un proceso de abstracción en elcual un conjunto de clases existentes, que tienenatributos y métodos comunes, es referido por unaclase genérica a un nivel mayor de abstracción. Larelación de generalización denota una relación deherencia entre clases. Se representa dibujando untriángulo sin rellenar en el lado de la superclase. Lasubclase hereda todos los atributos y mensajesdescritos en la superclase.

Page 43: Taller presentacion

Diagrama de interacción

Un diagrama de secuencia muestra la

interacción de un conjunto de objetos de una

aplicación a través del tiempo. Esta

descripción es importante porque puede dar

detalle a los casos de uso, aclarándolos al

nivel de mensajes de los objetos existentes,

como también muestra el uso de los

mensajes de las clases diseñadas en el

contexto de una operación.

Page 44: Taller presentacion

Diagrama de interacción

Elementos básicos del diagrama de

interacción:

– Objetos o actores para cada entidad.

– Enlaces entre los objetos.

– Procedimientos a invocar entre los objetos.

– Mensajes entre los objetos.

Page 45: Taller presentacion

Diagrama de interacción

Page 46: Taller presentacion

Diagrama de interacción

Diagramas de Colaboración:

– Es una forma de representar interacción entrelos objetos, es decir, las relaciones entre ellos yla secuencia de los mensajes de las iteracionesque están indicadas por un número A diferenciade los diagramas de secuencia, puedenmostrar el contexto de la operación (cuálesobjetos son atributos, cuáles temporales, etc) yciclos en la ejecución. Muestra como variosobjetos colaboran en un solo caso de uso.

Page 47: Taller presentacion

Diagrama de interacción

Page 48: Taller presentacion

Diagrama de interacción

Técnicas de modelado:

– Modelado dinámico del sistema.

– Implementación de un caso de uso en concreto para

cada diagrama.

– Modelado del flujo de control por ordenación temporal

(secuencia).

– Modelado del flujo de control por organización

(colaboración).

Page 49: Taller presentacion

Diagrama de Estados

Page 50: Taller presentacion

Diagrama de estados

Diagrama de Estados:

– Muestra el conjunto de estado por los cualespasa un objeto durante su vida en una aplicaciónjunto con los cambios que permiten pasar de unestado a otro. Esta representado principalmentepor los siguientes elementos: Estado.

Elemento.

Transición.

Page 51: Taller presentacion

Diagrama de estados

Estado: Identifica un período de tiempo del

objeto (no instantáneo) en el cual el objeto

esta esperando alguna operación, tiene

cierto estado característico o puede recibir

cierto tipo de estímulos.

Page 52: Taller presentacion

Diagrama de estados

Partes que componen un estado:

– Nombre

– Acciones de entrada y de salida.

– Transiciones internas.

– Subestados.

– Eventos diferidos.

Page 53: Taller presentacion

Diagrama de estados

Eventos: Es una ocurrencia que puedecausar la transición de un estado a otro deun objeto. Esta, puede ser una:

- Condición que toma el de verdadero ofalso.

– Recepción de una señal de otro objeto enel modelo.

– Recepción de un mensaje.

– Paso de cierto período de tiempo,después de entrar al estado o de ciertahora y fecha particular.

Page 54: Taller presentacion

Diagrama de estados

Transición: Es una relación entre estados de un

fuente a un destino.

Partes que componen una transición:

– Estado de origen.

– Evento de disparo.

– Condición de guarda.

– Acción.

– Estado de destino.

Page 55: Taller presentacion

Diagrama de estados

Page 56: Taller presentacion

Diagrama de Actividades

Page 57: Taller presentacion

Diagrama de Actividades

Un diagrama de actividades es un caso especial deun diagrama de estados en el cual casi todos losestados son estados de acción (identifican queacción se ejecuta al esta en él ) y casi todas lastransiciones son enviadas al terminar la acciónejecutada en el estado anterior.

Generalmente modelan los pasos de un algoritmo ypuede dar detalle a un caso de uso, un objeto o unmensaje en un objeto.

Page 58: Taller presentacion

Diagrama de Actividades

Sirven para representar transiciones internas, sin

hacer mucho énfasis en transiciones o eventos

externos.

Los elementos que conforman el diagrama son:

– Acción

– Transición.

– Objetos

Page 59: Taller presentacion

Diagrama de Actividades

Estado de Acción: representa un estado

con acción interna, con lo menos una

transición que indica la culminación de la

acción (por medio de un evento implícito).

– Permite modular un paso dentro del algoritmo. Se

representan por un rectángulo con bordes

redondeados.

Page 60: Taller presentacion

Diagrama de Actividades

Estado de Actividad: Estado más general

que permite su descomposición en otro

diagrama de actividades interno, de nivel

más bajo.

– Su representación, en cuanto a la notación, es la

misma que el de Acción.

Page 61: Taller presentacion

Diagrama de Actividades

Casos especiales:

– Estado inicial. Representa el punto de

entrada del diagrama de actividades.

– Estado final. Su existencia depende de si

el diagrama es cíclico.

– Ítem de decisión. Representado con un

rombo, permite tomar bifurcaciones

condicionales.

Page 62: Taller presentacion

Diagrama de Actividades

Transición: Es la relación entre dos estados

y se encuentran unidos por flechas;

indicando que un objeto que está en el

primer estado realizará una acción

especificada y entrará en el segundo estado

cuando un evento implícito ocurra y unas

condiciones especificas sean satisfechas.

Page 63: Taller presentacion

Diagrama de Actividades

Page 64: Taller presentacion

Diagrama de Componentes

Page 65: Taller presentacion

Diagrama de componentes

Los diagramas de componentes describen los

elementos físicos reemplazables del sistema y

sus relaciones

Muestran las opciones de realización

incluyendo código fuente, binario y ejecutable

Page 66: Taller presentacion

Diagrama de componentes

Los componentes representan todos los tipos de

elementos software que entran en la fabricación de

aplicaciones informáticas. Pueden ser simples

archivos, librerías, bibliotecas cargadas

dinámicamente, etc.

Las relaciones de dependencia se utilizan en los

diagramas de componentes para indicar que un

componente utiliza los servicios ofrecidos por otro

componente

Page 67: Taller presentacion

Diagrama de componentes

Page 68: Taller presentacion

Diagrama de Despliegue

Page 69: Taller presentacion

Diagrama de despliegue

Los diagramas de despliegue muestran la

disposición física de los distintos nodos que

componen un sistema y el reparto de los

componentes sobre dichos nodos

Page 70: Taller presentacion

La vista de despliegue representa la disposición de las instancias de componentes de ejecución en instancias de nodos conectados por enlaces de comunicación.

Un nodo es un recurso de ejecución tal como

– Dispositivos

– Procesadores

– Memoria

Los nodos se interconectan mediante soportes bidireccionales que pueden a su vez estereotiparse.

Diagrama de despliegue

Page 71: Taller presentacion

Diagrama de despliegue

Los nodos se interconectan mediante

soportes bidireccionales que pueden a su

vez estereotiparse.

Esta vista permite determinar las

consecuencias de la distribución y la

asignación de recursos.

Page 72: Taller presentacion

Diagrama de despliegue

Page 73: Taller presentacion

Diagrama de despliegue

Page 74: Taller presentacion

RUP: El Proceso Unificado de Rational

Page 75: Taller presentacion

Casos de uso

Dirigido por casos de uso

– Se centra en la funcionalidad que el sistema debe poseer para

satisfacer las necesidades de un usuario (persona, sistema

externo, dispositivo) que interactua con él

– Casos de uso como el hilo conductor que orienta las actividades de

desarrollo

Casos de Uso

Análisis

Recopilar,

Clarificar y

Validar los

requerimientos

Diseño

Realizar los

casos de uso

Pruebas

Verificar que se

satisfacen los

casos de uso

<<realiza>> <<verifica>><<defineNecesidades>>

Page 76: Taller presentacion

Estructura

Dinámica

Ciclo: cada ciclo una nueva versión del

producto

Fase: Etapas de un ciclo que finalizan en

un HITO

Iteración: Proceso de ingeniería sobre una

funcionalidad limitada del sistema

Page 77: Taller presentacion

Estructura

Roles QUIÉN?

Actividades CÓMO?

Artefactos QUÈ?

Flujo de Trabajo CUÁNDO?

realiza

responsable dediseñador

diseño de caso

de uso

diagrama de

secuencia

Page 78: Taller presentacion

Roles

Definición del comportamiento y responsabilidades

de los participantes

Propietario de una serie de artefactos

Recurso Rol Actividad Artefacto

Diseñador Diseño de Objetos DC

Analista Definición de CU DCU

Dominio

Diseñador Diseño de CU DS

Funcional

Patricia

Juan

Mónica

Pedro

Page 79: Taller presentacion

1

GRACIAS!!!!!!!!!!!!!!!