introduccion a uml

Post on 15-Jun-2015

6.778 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

mi presentacion del curso de introduccion a UML

TRANSCRIPT

C O O R DIN AC IÓ N GEN ERAL DE TEC N O LO GÍAS DE LA IN FO RMAC IÓ N

U NIVER S IDAD DE GUADALAJARALI J O S É J IMÉN EZ C ABRERA

Uml

Presentación

Nombre  Institución a la que pertenecen Título, función y responsabilidad en el trabajo  Tu Experiencia relacionada con el análisis y la

recopilación de requerimientos  Tu experiencia relacionadas con el diseño y la

arquitectura de software  Experiencia relacionada con las notaciones de

modelado, tales como la OMT y UML  Razones para inscribirse en este curso  Las expectativas para este curso

Contenido del Curso

IntroducciónDiagramas de casos de

usoDiagramas de clasesDiagramas de objetosDiagramas de

paquetes

Diagramas de estadoDiagrama de

ActividadesDiagrama de secuenciaDiagrama de

comunicaciónDiagrama de

componentesDiagrama de

despliegue

Diagramas UML

Introducción General

¿Qué es Uml?

UML = Unified Modeling Language. El Lenguaje de Modelado Unificado (UML) es un

lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema de software independiente del lenguaje de programación utilizado.

¿Qué es Uml?

Uml esta hecho por notaciones y diagramas. Las notaciones consisten en elementos que colaboran

juntos en un diagrama. Por Ejemplo símbolos, conectores, notas, valores. Etc.

Los diagramas son representaciones graficas de un proceso, el sistema o una parte de el.

UML es extensible.UML es escalable.

Notaciones UML

Elementos Relaciones

¿Por que usar UML?

Crisis del Software

Creadores del UML

Dr. James Rumbaugh

Grady Booch Dr. Ivar Jacobson

Ventajas de UML

Es útil para comunicar concepto y sistemas.

Reduce costos y riesgos al permitir la

experimentación con modelos.

Reduce la complejidad.

Aumenta la calidad de los sistemas.

Productividad y eficiencia en los desarrollos.

Facilita el re-uso de artefactos.

Ventajas de UML

Hemisferio Izquierdo

• Análisis•Detalle•Pensamiento Lógico•Comunicación Verbal

Hemisferio Derecho

• Intuición•Creatividad•Pensamiento Emocional•Comunicación no Verbal

Resumen

Uml Es un lenguaje Visual Que nos permite, diseñar, comunicar y documentar entre otras cosas.

Un modelo nos permite realizar una representación de la realidad.

Uml nos permite usar ambos hemisferios de nuestro cerebro.

Modelado de Objetos:Un VISTAZO GENERAL

13 de abr de 2023(c) 2010 Universidad de Guadalajara. Prohibida su reproducción.

¿Que es un modelo?

“Un modelo es una simplificación de la realidad”

Un modelo es una abstracción de alguna entidad (como un edificio) o de un sistema (como el software)

Diferentes vistas muestran el modelo de diferentes perspectivas

Un objeto es algo que existe en el contexto de un sistema.

Orientación de objetos

Un objeto es algo que existe en el contexto de un sistema.

Un objeto es la instancia de una clase.

Orientación de objetos

Clases

Una clase es "un conjunto de objetos que comparten una estructura común y un comportamiento común." (Booch Objeto página Soluciones 303)

 

es un molde con el que los objetos pueden ser creados.

es una categoría en la que los objetos pueden ser organizados.

Es también una plantilla en la que los objetos pueden ser creados.

Atributos y operaciones

Las clases (y los objetos que perteneces a la clase) tienen: Atributos: Propiedades

Tamaño, color, genero Operaciones: Funcionalidad

Nadar, comer, correr, dormir

Herencia

La herencia es "un mecanismo por el cual se define una clase, en referencia a los demás, sumando todas sus características a las suyas." (Página Meyer, 1197)

   

Características de la herencia: 

• Atributos y métodos de la superclase se incluyen en la subclase

 

• Subclase métodos puede reemplazar los métodos de superclase  • Una subclase puede heredar de múltiples superclases (llamada

herencia múltiple) o una subclase puede sólo heredar de una superclase única (herencia simple)

Relaciones entre objetos

Los objetos no existen aislados; existen en relación con otros objetos.

Generalización

En la Generalización, la clase hijo esta basado en la clase padre. Esta relación indica que dos clases son similares pero tienen algunas diferencias.

Asociación

La asociación significa que dos clases estas conectadas (o relacionadas) de alguna manera. La información de una clase esta ligada a los datos de

la otra clase. Una clase trabaja con otra para elaborar una tarea. Una clase actúa sobre otra clase.

Agregación

Una Agregación indica una relación entre un todo y sus partes

Equipo de Futbol

Composición

La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.

Composición

La composición es una forma fuerte de agregación. En este tipo de relación, cada parte puede pertenecer a un solo conjunto a la vez.

La característica principal es que no se puede compartir.

Compartir

Composición

Cuando el objeto principal es destruido, sus partes también son destruidas

Multiplicidad

La multiplicidad muestra el numero de objetos que pueden participar en una relación

Ejemplos: Una clase ocurre en un salón. Un maestro enseña muchas clases. Un maestro enseña a muchos estudiantes Un estudiante aprende de muchos maestros.

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Polimorfismo

es la capacidad de tomar muchas formas diferentes

El polimorfismo puede aplicar Objetos Operaciones

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Objeto Volador

Polimorfismo

es la capacidad de tomar muchas formas diferentes

Objeto Volador volar()volar()

PANORAMA GENERAL

Tipos de Diagramas

Diagramas UML

Modelo 4+1

Vista lógica

Vista de proceso

Vista Física

Vista de

desarrollo

Vista de casos de

uso

Vista lógica

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Clase Colaboración

Vista de procesos

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Vista Física

Vista logica

Vista de proceso

Vista Fisica Vista de

desarrollo

Vista de casos de

uso

Vista de desarrollo

Vista logica

Vista de proceso

Vista Fisica Vista de desarrollo

Vista de casos de

uso

componentes

paquetes

Vista de casos de uso

Vista logica

Vista de proceso

Vista Fisica

Vista de

desarrollo

Vista de casos de

uso

Modelo estático vs dinámico

Modelos estáticos: muestra la estructura del sistema.

Modelos Dinámicos: Muestra las características del comportamiento del sistema.

Modelos de implementación: muestra los elementos necesarios para la implementación del sistema.

Modelos Estáticos

Modelos Estáticos

Un modelo estático de un sistema muestra la estructura del sistema.

Se hace hincapié en las partes que componen el sistema.

Los modelos estáticos se usan para definir los nombres de las clases, los atributos, asignación de los métodos y los paquetes.

Los diagramas que representas el modelo estático incluyen los diagramas de clases, diagramas de objetos y los diagramas de casos de uso.

Modelos Dinámicos

Modelos Dinámicos

Un modelo dinámico muestra el comportamiento del sistema, por ejemplo, cómo se comporta el sistema en respuesta a los acontecimientos externos.

permite identificar los objetos necesarios y cómo esos objetos trabajan juntos a través de los métodos y los mensajes

Util para diseñar la lógica y el comportamiento del sistema.

Los diagramas UML que representan los modelos dinámicos son los diagramas de secuencia, diagramas de comunicación,diagramas de estado y diagramas de actividad.

Modelo de implementación

Este modelo muestra las diferentes elementos de un sistema que se requieren para su implementación.

Se muestra la organización física de los componentes de software y otros recursos físicos, tales como las rutas de hardware y de conexión.

Los diagramas que representan el modelo de implementación son los diagramas de componentes y los diagramas de despliegue.

Estático vs Dinámico

Los diagramas estáticos (especialmente los diagramas de clases) dan a los desarrolladores información detallada sobre las clases, tipos de datos y parámetros.

Los diagramas dinámicos, tales como los diagramas de secuencia y comunicación, ayudará a definir los objetos y cómo interactúan.

La practica del modelado ágil recomienda el desarrollo de ambos modelos en paralelo, trabajando en modelos estáticos y dinámicos al mismo tiempo.

Casos de uso

Clases

Objetos

Paquetes

Estados

Diagrama de Actividades

Diagramas de Casos de uso

Actor

"Un actor es un rol que un usuario representa con relación al sistema." (Fowler, UML Gota a Gota) 

Un actor también es "Un conjunto coherente de roles que los usuarios de los casos de uso juegan al interactuar con estos casos de uso.”

Agente de Viajes

Actor

Este icono representa un actor humano (usuario) del sistema. También puede representar a un sistema externo.

Agente de Viajes

Caso de uso

Un caso de uso describe lo que el sistema hace para lograr una meta desde la perspectiva del cliente. 

CU01: Gestionar Almacén

Una asociación en un caso de uso representa "La participación de un actoren un caso de uso”

Asociación

E2: Registrar Huésped

Recepcionista

• Un actor debe ser asociados con uno o más casos de uso.• Un caso de uso debe ser asociados con uno o más

actores.• Un asociación es representado por una línea solida sin

puntas de flecha.

Caso de uso: asociaciones

La dependencia <<include>>

El caso de uso depende de la invocación de caso de uso incluido con el fin de ser completada.

Siempre es llamado por el caso de uso que lo incluye.

Puede ser llamado por mas de un caso de uso. uc Use Case View

Bibliotecario

Registrar PrestamosConocer

Disponibilidad de un Libro«include»

La dependencia <<extend>>

Un caso de uso extiende a otro cuando le agrega tareas adicionales al primero.

Identifica escenarios que ocurren en casos alternos.

uc Use Case View

Bibliotecario

Registrar Dev oluciones

Cobrar multa«extend»

Generalización uc Casos de Uso de la Biblioteca

Bibliotecario

Administrador del Inv entario

Registrar Prestamo

Registrar Dev oluciones

Mantener Actualizado el inv entario de Libros

Puntos de extensión

Casos de uso

Para cada caso de uso ...Describir los pasos involucrados en la

interacción entre un actor y el sistema, empezando por el actor principal.

Comienza con éxito el escenario principal.Puedes buscar caminos alternativos:

Excepciones: ¿Qué podría salir mal aquí?

Extensiones: ¿Qué otro objetivo podría entrar aquí?

Diagramas de clase

Clasificadores: Clases y Objetos

Atributos y operaciones

Atributos son las propiedades que tiene un objeto de una determinada instancia

Los estereotipos

class System

«interface»Interface2

«enumeration»Enumeration1

Asociaciones y Multiplicidad

Las clases tienen una relación con otras clases

Asociaciones y Multiplicidad

Las clases tienen una relación con otras clases

Las clases pueden estar relacionada con otras múltiples veces, a eso le llamamos multiplicidad.

Asociación de Clases

Un Asociación de clases permite

class System

Clase1 Clase2

Clase3

Agregación y Composición

Generalización

class System

Persona

Empleado Estudiante

Realización

class System

Animal

Av e Av ion

Maquina«interface»ObjetoVolador

Dependencia

class System

Automov il Gasolina

Restricciones y notas

Las restricciones muestran las restricciones que un elemento tiene.

Le da condiciones y restricciones en varios aspectos.

Las notas permiten incluir información adicional a un elemento UML.

class System

Esto es una nota

Clases Abstractas e Interfaces

Las Clases Abstractas permite que sea heredada por sus hijos pero no se puede instanciar directamente.

Las interfaces especifican la implementación pero no especifican como implementarlas.

class System

«interface»Interface2

«abs»Class6

Diagramas de objetos

Objetos e instancias

Diagramas de paquetes

Paquetes

class System

Package1

Visibilidad

Los paquete puede guardar la visibilidad de los elementos que la componen

Al igual que los atributos y las operaciones pueden ser Públicos Privados Protegidos Paquetes

Las relaciones entre los paquetes

Los paquetes al igual que las clases no trabajan aisladamente

pkg Diagrama de paquetes

Package1

+ Class1

Package2

Package3 Package4

+ Package6

Package5

«import»

Paquetes de Casos de Uso

Paquetes de Casos de Uso

Cuándo utilizar los diagramas de paquetes

Cuando el proyecto es muy complejo y contiene muchas clases o casos de uso.

Mantener un registro de las dependencias.Para organizar clases que tienen elementos

comunes.Para indicar dependencias entre paquetes .Para crear una estructura jerárquica.Para dividir los sistemas complejos en

modulos.

Diagramas de actividad

conceptos básicos

Caminos paralelos y alternativos

Bifurcación: Barra de color negra. sirve para indicar cuando se realizan actividades paralelas.

Decisión/Combinar : diamante, para indicar cuando se toman caminos diferentes

act Diagra...

Bifurcación

Decisión

Diagramas de Subactividades

Son diagramas que se encuentran dentro de una actividad mayor

Uso de Carriles (Swimlines)

Diagramas de secuencia

Tipos de mensajes

Diagrama de secuencia

Diagramas de Estado

seudoestados

seudoestados

Diagramas de componentes

La introducción de componentes

La representación gráfica es la siguiente:

estereotipos

UML define cinco estereotipos estándar que se aplican a los componentes:

Executable: Especifica un componente que se puede ejecutar en un nodo.

Library: Especifica una biblioteca de objetos estática o dinámica.

Table: Especifica un componente que representa una tabla de una base de datos.

File: Especifica un componente que representa un documento que contiene código fuente o datos.

Document: Especifica un componente que representa un documento.

Diagramas de Distribución

¿Qué un diagrama de distribución?

Los Diagramas de Distribución muestran la disposición física de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos

Nodos

Un nodo es un elemento físico que existe en tiempo de ejecución y representa un recurso computacional, que generalmente tiene algo de memoria y, a menudo, capacidad de procesamiento.

Los nodos se utilizan para modelar la topología del hardware sobre el que se ejecuta el sistema. Representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes.

Componentes

Los componentes son los elementos que participan en la ejecución de un sistema. Los nodos son los elementos donde se ejecutan los componentes.

Los componentes representan el empaquetamiento físico de los elementos lógicos. Los nodos representan el despliegue físico de los componentes.

La relación entre un nodo y el componente que despliega puede mostrarse con una relación de dependencia, o listando los nodos desplegados en un

compartimiento adicional dentro del nodo.

Ejemplo

Otros Diagramas

Diagrama de requerimientos

Diagrama de procesos

Diagrama de interfaces

Diagrama de navegación

Diagrama entidad-relacion

Notas finales

Grado de complejidad

Herramientas de desarrollo

Herramientas de desarrollo

Herramientas de desarrollo

top related