# Unidad 6: Elaboración de diagramas de comportamiento

* [Diapositivas](http://jamj2000.github.io/entornosdesarrollo/6/diapositivas)
* [Actividades](http://jamj2000.github.io/entornosdesarrollo/6/actividades)

## Introducción

En esta Unidad aprenderemos a:

* Identificar los distintos tipos de **diagramas de comportamiento**.
* Reconocer el significado de los diagramas de casos de uso.
* Elaborar e interpretar diagramas de interacción sencillos.
* Interpretar y plantear diagramas de estados.
* Elaborar e interpretar el significado de diagramas de actividades.

### UML: Diagramas de comportamiento

Los más utilizados son:

* Diagramas de casos de uso
* Diagramas de secuencia (es un diagrama de interacción)
* Diagramas de estados
* Diagramas de actividades

## Diagramas de casos de uso

![Diagrama de casos de uso](http://jamj2000.github.io/entornosdesarrollo/6/assets/use-case-diagram-elements.png)

### Elementos

* Actores
* Casos de uso
* Relaciones

### Ejemplo 1

![Compras on-line](http://jamj2000.github.io/entornosdesarrollo/6/assets/use-case-example-online-shopping.png)

### Ejemplo 1 (continuación)

![Compras on-line - checkout](http://jamj2000.github.io/entornosdesarrollo/6/assets/use-case-example-online-shopping-checkout.png)

### Ejemplo 2

![Estado final](http://jamj2000.github.io/entornosdesarrollo/6/assets/use-case-example-hospital-reception.png)

## Diagramas de secuencia

![Diagrama de secuencia](http://jamj2000.github.io/entornosdesarrollo/6/assets/sequence-diagram-overview.png)

### Ejemplo 1

![Compras on-line](http://jamj2000.github.io/entornosdesarrollo/6/assets/sequence-examples-online-bookshop.png)

### Ejemplo 2

![Autenticación en Facebook](http://jamj2000.github.io/entornosdesarrollo/6/assets/sequence-example-facebook-authentication.png)

## Diagramas de estados

#### Pseudoestado inicial

![Pseudoestado inicial](http://jamj2000.github.io/entornosdesarrollo/6/assets/pseudostate-initial.png)

#### Estado final

![Estado final](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-final.png)

### Estados simples

![Estado simple](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-simple.png)

![Estado simple con actividades internas](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-simple-internal-activities.png)

### Estados compuestos

![Estado compuesto](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-composite.png)

![Estado compuesto con interior oculto](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-composite-hidden-decomposition.png)

### Ejemplo 1

![Ciclo del agua](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-machine-example-water.png)

### Ejemplo 2

![Estados de un hilo en Java](http://jamj2000.github.io/entornosdesarrollo/6/assets/state-machine-example-java-6-thread-states.png)

## Diagramas de actividades

![Diagrama de actividades](http://jamj2000.github.io/entornosdesarrollo/6/assets/control-nodes-overview.png)

### Ejemplo 1

![Compras on-line](http://jamj2000.github.io/entornosdesarrollo/6/assets/activity-examples-online-shopping.png)

### Ejemplo 2

![Proceso de pedido](http://jamj2000.github.io/entornosdesarrollo/6/assets/activity-examples-process-order.png)

### Ejemplo 3

![Gestión de documentos](http://jamj2000.github.io/entornosdesarrollo/6/assets/activity-example-document-management.png)

## Referencias

* [Diagramas UML de ejemplo](https://uml-diagrams.org)
* [OMG.org, donde bajar las especificaciones de UML](https://www.omg.org/spec/UML/)
* [UML.org](http://uml.org)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kibrands.gitbook.io/apuntes-ed/6.diagramas_comportamiento.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
