Taller presentacion

Preview:

Citation preview

Herramientas Informaticas

UML y patrones de

diseño

Univ. Marco Aurelio Avalos Nina

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.

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.

UML

UML es un lenguaje de modelado que sirve

para visualizar, especificar , construir

y documentar un sistema software.

UML para construir

Es posible

hacer

corresponder

con los

lenguajes de

programación

Modelo

UML

Ingeniería Directa

Ingeniería Inversa

CÓDIGO

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

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.

Vista de Diseño

Vista de Procesos

Vista de Despliegue

Vista deImplementación

Vista de los Casos de Uso

Organización de Modelos

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

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

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.

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

Casos de Uso

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.

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.

Casos de Usos

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.

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.

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.

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.

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.

Diagrama de Clases

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

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.

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.

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.

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.

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}

Diagrama de clases

Nombre de la clase

Atributos

Métodos

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.

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.

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.

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.

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:

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.

Diagrama de clases

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.

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.

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.

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.

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.

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.

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.

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.

Diagrama de interacción

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.

Diagrama de interacción

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).

Diagrama de Estados

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.

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.

Diagrama de estados

Partes que componen un estado:

– Nombre

– Acciones de entrada y de salida.

– Transiciones internas.

– Subestados.

– Eventos diferidos.

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.

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.

Diagrama de estados

Diagrama de Actividades

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.

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

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.

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.

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.

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.

Diagrama de Actividades

Diagrama de Componentes

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

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

Diagrama de componentes

Diagrama de Despliegue

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

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

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.

Diagrama de despliegue

Diagrama de despliegue

RUP: El Proceso Unificado de Rational

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>>

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

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

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

1

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