24
MÉTODOS Y MODELOS DE DESARROLLO DE SOFTWARE DIAGRAMAS UML

Diagramas UML

Embed Size (px)

Citation preview

Page 1: Diagramas UML

MÉTODOS Y MODELOS DE

DESARROLLO DE SOFTWARE

DIAGRAMAS UML

Page 2: Diagramas UML

UNIVERSIDAD ABIERTA Y A DISTANCIA DE

MÉXICO

INVESTIGACIÓN DE TRABAJO FINAL ASIGNADO

POR EL FACILITADOR

Alumno

ISAAC ASTORGA GARCIA

AL12533407

Facilitador

JUAN PABLO NAVARRO ROMO

Page 3: Diagramas UML

PROLOGO

El tema que he elegido son los diagramas UML ya que me parece que es una gran

herramienta, sim embargo en lo personal me resulto algo complicado entenderlo, pero la

primer pregunta que debo responder es que es el UML.

Durante el crecimiento del desarrollo de software hubo la necesidad de crear

estándares para modelar los requerimientos y necesidades propios del desarrollo y

nacieron varios modelos cuya lista es bastante larga pero finalmente aparecieron tres

modelos bien documentados y organizados, los autores de estos modelos son Grady Booch,

autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor

de los métodos OOSE y Objectory.

Estos tres hombres considerados los padres de la programación orientada objetos

dejaron sus trabajos y se unieron para crear lo que hoy conocemos como:

UML.-(Lenguaje Unificado de Modelado) Unified Modeling Language.- por sus siglas en inglés

y sus principales beneficios son:

Mejores tiempos totales de desarrollo (de 50 % o más).

Modelar sistemas orientados a objetos.

Establecer conceptos y artefactos ejecutables.

Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.

Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.

Mejor soporte a la planeación y al control de proyectos.

Alta reutilización y minimización de costos.

De los múltiples beneficios mencionados en el que voy a poner especial énfasis es el de

Modelado de sistemas orientados a objetos el cual se hace a través de diagramas y en este

trabajo quiero mostrar como son estos diagramas, su uso y su finalidad.

Page 4: Diagramas UML

ÍNDICE

1. Componentes del UML

2. Diagrama de Clases

3. Diagrama de Objetos

4. Diagrama de Casos de Uso

5. Diagrama de Estados

6. Diagrama de Secuencias

7. Diagrama de Actividades

8. Diagrama de Colaboraciones

9. Diagrama de Componentes

10. Diagrama de Distribución

Page 5: Diagramas UML

COMPONENTES DEL UML

El UML está compuesto por diversos elementos gráficos que se combinan para

conformar diagramas. El UML al ser un lenguaje abstracto, cuenta con reglas para combinar

los elementos que la conforman.

La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a las

cuales se les conoce como modelo. Recordemos que un modelo es una representación

simplificada de la realidad; el modelo UML describe lo que supuestamente hará un sistema,

pero no dice cómo implementar dicho sistema.

Componentes del modelo UML:

Vistas: Las vistas nos muestran los diferentes aspectos del sistema modelado. Una vista

no es una gráfica, pero sí una abstracción que consiste en un número de diagramas y todos

esos diagramas juntos muestran una "fotografía" completa del sistema

Diagramas: Los diagramas son las gráficas que describen el contenido de una vista. UML

tiene nueve tipos de diagramas que son utilizados en combinación para proveer todas las

vistas de un sistema, estos diagramas son: diagramas de caso de uso, de clases, de objetos,

de estados, de secuencia, de colaboración, de actividad, de componentes y de distribución

y son los que describiré en este trabajo.

Símbolos o Elementos de modelo: Los conceptos utilizados en los diagramas son los

elementos de modelo que representan conceptos comunes orientados a objetos, tales

como clases, objetos y mensajes, y las relaciones entre estos conceptos incluyendo la

asociación, dependencia y generalización. Un elemento de modelo es utilizado en varios

diagramas diferentes, pero siempre tiene el mismo significado y simbología.

Reglas o Mecanismos generales: Proveen comentarios extras, información o semántica

acerca del elemento de modelo; además proveen mecanismos de extensión para adaptar o

extender UML a un método o proceso específico, organización o usuario

A continuación se describirán los diagramas más comunes del UML y los conceptos que

representan:

Page 6: Diagramas UML

Diagrama de Clases

La definición nos dice que los diagramas de clases describen la estructura estática de

un sistema; es decir que estos diagramas nos muestran las clases junto con sus métodos y

atributos, asi como las relaciones estáticas (siempre fijas relación a relación) entre ellas.

Los diagramas nos describen que clases conocen a otras clases o que clase son parte de

otras clases, pero no muestran los métodos con los que se invocan entre ellas.

¿Pero que es una Clase?

Es la unidad básica que encapsula toda la información de un Objeto. A través de ella

podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).

Relaciones entre Clases:

Ahora ya definido el concepto de Clase, es necesario explicar cómo se pueden

interrelacionar dos o más clases (cada uno con características y objetivos diferentes).

Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la

cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada

extremo de la relación y éstas pueden ser:

uno o muchos: 1..* (1..n)

0 o muchos: 0..* (0..n)

número fijo: m (m denota el número).

DEL MUNDO REAL A LA ABSTRACCIÓN

Las cosas que existen en el mundo real y que nos rodean se agrupan naturalmente en

categorías, como lo son las especias, ya sea que sin son terrestres, anfibios o marinos incluso

las razas en animales y personas. Pues bien la programación Orientada a Objetos hace

abstracciones de todas estas cosas de la vida y las representa para almacenar información

de ellas y lo hace a través de clases, y una clase no es más que una categoría o grupo de

cosas que tienen atributos (propiedades) y acciones similares.

Page 7: Diagramas UML

Ejemplo vamos a pasar del mundo real a la abstracción un avión y un coche

Un avión lo podemos abstraer mediante estos diagramas de la siguiente forma:

Nombre de la clase Aviones, atributos los atributos de esta clase pueden ser el “modelo

de avión”, “la cantidad de motores”, “la velocidad de crucero” y “la capacidad de carga útil”.

Entre las acciones de las cosas de esta clase se encuentran: “acelerar”, “elevarse”, “girar”,

“descender”, “desacelerar”.

Para un coche es algo muy similar:

Nombre de la clase Automóviles. Sus atributos “marca del Auto”, “Nombre del modelo”,

“año del Modelo”, “Tipo de Automóvil”, “Color”, “No de Puertas”, “Cilindraje”, etc.

Las acciones de esta clase serian “acelerar”, “frenar” y “girar”

Para simbolizar esta abstracción UML lo hace a través de un rectángulo es el símbolo

que representa a la clase, y se divide en tres áreas.

Sin embargo en un sistema completo contiene varios diagramas es decir varios

rectángulos los cuales se conectan a través de líneas que representan las asociaciones o

maneras en que las clases se relacionan entre sí de la siguiente forma.

Page 8: Diagramas UML

Las asociaciones son las que representan

a las relaciones estáticas entre las clases.

Una flecha rellena indica la dirección de la

relación. Los roles se ubican cerca del final

de una asociación.

Los roles representan la manera en que dos clases se ven entre ellas. No es común el colocar ambos nombres, el de la asociación y el de los roles a la vez.

Cuando una asociación es calificada, el símbolo correspondiente se coloca al final de la asociación, contra la clase que hace de calificador.

Page 9: Diagramas UML

En este ejemplo se interpreta de la siguiente forma:

Un Almacen posee Clientes y Cuentas (los rombos van en el objeto que posee las

referencias).

Cuando se destruye el Objeto “Almacen” también son destruidos los objetos “Cuenta”

asociados, dado que es una composición de almacén, en cambio no son afectados los

objetos “Cliente” asociados ya que solo es Asociado como referencia el objeto cliente es

independiente.

Generalización

Generalización es otro nombre para herencia. Se refiere a

una relación entre dos clases en donde una Clase

“Específica” es una versión especializada de la otra, o Clase

“General”. Por ejemplo, Honda es un tipo de auto, por lo que la

Clase “Honda” va a tener una relación de generalización con la

Clase “Auto”.

Clase

General

Clase

Específica

Page 10: Diagramas UML

Diagrama de Objetos

Los diagramas de objetos UML utilizan una notación similar a los diagramas de clases y

se utilizan para ilustrar una instancia de una clase en un momento dado.

Los Diagramas de Objetos están vinculados con los Diagramas de Clases. Un objeto es

una instancia de una clase, por lo que un diagrama de objetos puede ser visto como una

instancia de un diagrama de clases. Los diagramas de objetos describen la estructura

estática de un sistema en un momento particular y son usados para probar la precisión de

los diagramas de clases.

Nombre de los objetos

Nombre Objeto : Clase Cada objeto es representado como un rectángulo, que

contiene el nombre del objeto y su clase subrayadas y

separadas por dos puntos.

Atributos

Como con las clases, los atributos se listan en un área

inferior. Sin embargo, los atributos de los objetos deben

tener un valor asignado.

Nombre Objeto : Clase

Atributo tipo = ´Valor´ Atributo tipo = ´Valor´ Atributo tipo = ´Valor´ Atributo tipo = ´Valor´

Page 11: Diagramas UML

Diagrama de Casos de Uso

Un caso de uso es una descripción de las acciones de un sistema desde el punto de vista

del usuario. Es una herramienta valiosa dado que es una técnica de aciertos y errores para

obtener los requerimientos del sistema, justamente desde el punto de vista del usuario.

Los diagramas de caso de uso modelan la funcionalidad del sistema usando actores y

casos de uso. Los casos de uso son servicios o funciones provistas por el sistema para sus

usuarios.

Sistema

El rectángulo representa los límites del sistema que

contiene los casos de uso. Los actores se ubican fuera

de los límites del sistema.

Casos de Uso

Se representan con óvalos. La etiqueta en el óvalo indica la

función del sistema.

Actores

Los actores son los usuarios de un sistema.

Caso de uso 1

Caso de uso 2

Caso de uso 3

Page 12: Diagramas UML

Relaciones

Las relaciones entre un actor y un caso de uso, se dibujan con una línea simple.

Para relaciones entre casos de uso, se utilizan flechas etiquetadas "incluir" o

"extender." Una relación "incluir" indica que un caso de uso es necesitado por otro para

poder cumplir una tarea. Una relación "extender" indica opciones alternativas para un

cierto caso de uso.

Page 13: Diagramas UML

Diagrama de Estados

En cualquier momento, un objeto se encuentra en un estado particular, la luz está

encendida o apagada, el auto en movimiento o detenido, la persona leyendo o cantando,

etc. El diagrama de estados UML captura esa pequeña realidad.

Estado

El estado representa situaciones durante la vida de un objeto.

Se representa con un rectángulo que tiene sus esquinas redondeadas.

Transición

Una flecha representa el pasaje entre diferentes estados de

un objeto. Se etiqueta con el evento que lo provoca y con la acción

resultante.

Estado Inicial

Estado Final

Ejemplo de Diagrama de Estado

Estado

Acele

ra

Ele

va

Descie

nd

e

Desacele

ra

Evento o Acción

Page 14: Diagramas UML

Diagrama de Secuencias

Los diagramas de clases y los de objetos representan información estática. No

obstante, en un sistema funcional, los objetos interactúan entre sí, y tales interacciones

suceden con el tiempo. El diagrama de secuencias UML muestra la mecánica de la

interacción con base en tiempos.

Rol de la Clase

El rol de la clase describe la manera en que un

objeto se va a comportar en el contexto. No se listan

los atributos del objeto.

Activación

Los cuadros de activación representan el

tiempo que un objeto necesita para

completar una tarea.

Mensajes

Los mensajes son flechas que

representan comunicaciones entre

objetos. Las medias flechas

representan mensajes asincrónicos.

Los mensajes asincrónicos son

enviados desde un objeto que no va

a esperar una respuesta del

receptor para continuar con sus

tareas.

Page 15: Diagramas UML

Líneas de Vida

Las líneas de vida son verticales

y en línea de puntos, ellas indican la

presencia del objeto durante el tiempo.

Destrucción de Objetos

Los objetos pueden ser

eliminados tempranamente usando una

flecha etiquetada "<<destruir>>" que

apunta a una X.

Loops

Una repetición o loop en un

diagrama de secuencias, es representado

como un rectángulo. La condición para

abandonar el loop se coloca en la parte

inferior entre corchetes [ ].

Page 16: Diagramas UML

Diagrama de Actividades

Un diagrama de actividades ilustra la naturaleza dinámica de un sistema mediante

el modelado del flujo ocurrente de actividad en actividad. Una actividad representa una

operación en alguna clase del sistema y que resulta en un cambio en el estado del sistema.

Típicamente, los diagramas de actividad son utilizados para modelar el flujo de trabajo

interno de una operación.

Estados de Acción

Los estados de acción representan las acciones no

interrumpidas de los objetos.

Flujo de la Acción

Los flujos de acción, representados con flechas,

ilustran las relaciones entre los estados de acción.

Flujo de Objetos

El flujo de objetos se refiere a la creación y modificación de

objetos por parte de actividades. Una flecha de flujo de

objeto, desde una acción a un objeto, significa que la acción

está creando o influyendo sobre dicho objeto. Una flecha de

flujo de objeto, desde un objeto a una acción, indica que el

estado de acción utiliza dicho objeto.

Page 17: Diagramas UML

Estado Inicial

Estado inicial de un estado de acción.

Final State

Estado final de un estado de acción

Ramificación

Un rombo representa una decisión con

caminos alternativos. Las salidas alternativas

deben estar etiquetadas con una condición.

[Condición 2]

Sincronización

Una barra de sincronización ayuda a

ilustrar la ocurrencia de transiciones paralelas,

así quedan representadas las acciones

concurrentes.

Page 18: Diagramas UML

Marcos de Responsabilidad

Los marcos de responsabilidad agrupan a las actividades relacionadas en una

misma columna.

Page 19: Diagramas UML

Diagrama de Colaboraciones

El diagrama de colaboraciones describe las interacciones entre los objetos en

términos de mensajes secuenciados. Los diagramas de colaboración representan una

combinación de información tomada de los diagramas de clases, de secuencias y de casos

de uso, describiendo el comportamiento, tanto de la estructura estática, como de la

estructura dinámica de un sistema.

Rol de la Clase

El rol de la clase describe cómo se comporta un objeto. Los

atributos del objeto no se listan.

Rol de las Asociaciones

Los roles de asociación describen cómo se va a comportar una

asociación en una situación particular. Se usan líneas simple

etiquetadas con un estereotipo*.

Mensajes

Contrariamente a los diagramas de secuencias, 1.4 * [loop] los

diagramas de colaboración no tienen una nombre del mensaje

manera explícita para denotar el tiempo, por lo que entonces

numeran a los mensajes en orden de ejecución. La numeración

puede anidarse; por ejemplo, para mensajes anidados al mensaje

número 1: 1.1, 1.2, 1.3, etc. La condición para un mensaje se suele

colocar entre corchetes. Para indicar un loop se usa * después de la numeración.

Ejemplo de Diagrama de Colaboración

Page 20: Diagramas UML

Este ejemplo agrega un velocímetro al

conjunto de clases que constituyen a un

“Avión”. Al alcanzar una cierta velocidad el

velocímetro indicará al timón que debe

elevarse y al tren de aterrizaje que debe

retraerse.

Velocímetro

Tren de Arr.

Timón

1 [100 MPH]

elevarse

[120 MPH] 2

retraerse

Page 21: Diagramas UML

Diagrama de Componentes

Un diagrama de componentes describe la organización de los componentes físicos de un

sistema.

Componente

Un componente es un bloque de construcción física del sistema.

Interfase

Una interfase describe a un grupo de operaciones usada o creada por componentes.

Dependencias

Las dependencias entre componentes se grafican usando

flechas de puntos.

Page 22: Diagramas UML

Diagrama de Distribución

El diagrama de distribución UML muestra la arquitectura física de un sistema informático.

Puede representar a los equipos y a los dispositivos, y también mostrar sus

interconexiones y el software que se encontrará en cada máquina.

Nodo

Un nodo es un recurso físico capaz de ejecutar componentes

de código.

Asociación

La asociación se refiere a la conexión física entre

los nodos, como por ejemplo Ethernet.

Componentes y Nodos

Page 23: Diagramas UML

Otras características

Paquetes

En algunas ocasiones se encontrará con la necesidad de organizar los elementos de un diagrama en

un grupo. Tal vez quiera mostrar que ciertas clases o componentes son parte de un subsistema en

particular. Para ello, se pueden agrupar en un paquete, que se representa por una carpeta tabular.

Paquete 1

Clase

1

Clase

2

Clase

3

Notas

Es frecuente que alguna parte del diagrama no presente una clara explicación del porqué está allí o

la manera en que trabaja. Cuando éste sea el caso, la nota UML será útil. La nota tiene una esquina

doblada y se adjunta al elemento del diagrama conectándolo mediante una línea punteada.

Clase 1

Texto explicativo especto a la Clase 1 r

Page 24: Diagramas UML

Bibliografía

Ing. Roman Zamitiz, C. (Desconocido). Temas Especiales de Computación. Marzo

21 de 2014, de Universidad Nacional Autónoma de México Sitio web:

http://profesores.fi-b.unam.mx/carlos/index_temas.html

Salinas C. P, Hitscfeld N. (1996). Unified Modeling Language. Marzo 21 de 2015,

de Universidad de Chile Sitio web: http://users.dcc.uchile.cl/~psalinas/uml/

Paul Hensgen. (2001, 2002, 2003). Manual de Umbrello UML Modeller. Marzo 21

de 2015, de Umbrello UML Modeller Autores Sitio web:

https://docs.kde.org/stable/es/kdesdk/umbrello/index.html

Autor desconocido.

Desde hace un par de años que descargue un manual en pdf, del cual no viene nombre ni año de publicación, trate de buscarlo en inernet pero no lo encontré,

este manual es un resumen de todo lo que es los diagramas de uml es un resumen

muy padre y en el cual me he basado mucho para realizar mis tareas.