60
Informatica II - 2002 1 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Embed Size (px)

Citation preview

Page 1: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 1

Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso

UML

Page 2: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 2

Necesidad modelado Use cases Diagramas de clase Diagramas de secuencia

UML

Page 3: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 3

Objetivos al desarrollar software

Satisfacer las necesidades de los usuarios.

Entregar el software en tiempo y con un costo predecible.

Comprender mejor el sistema que se está construyendo.

Page 4: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 4

Acciones para alcanzar los objetivos

Realizar una buena elicitación de requerimientos.

Desarrollar un modelo del sistema.

Page 5: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 5

¿Que es un modelo? Simplificación de la realidad. Incluir los elementos que son

importantes y omitir los elementos que no son relevantes para ese nivel de abstracción.

Page 6: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 6

Diferentes modelos Modelos estructurales Modelos de comportamiento

¿Que es un modelo?

Page 7: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 7

Construcción de una casa para “fido”

Puede hacerlo una sola personaRequiere:

Modelado mínimoProceso simpleHerramientas simples

Page 8: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 8

Construcción de una casa

Construida eficientemente y en un tiempo razonable por un equipoRequiere:

ModeladoProceso bien definidoHerramientas más sofisticadas

Page 9: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 9

Claves en Desarrollo de SI

Herramientas Proceso

Notación

Page 10: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 10

Sistema Computacional

Proceso de Negocios

Orden

Item

envío

“El modelado captura laspartes esenciales del sistema”

Abstracción - Modelado Visual (MV)

Page 11: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 11

Múltiples Sistemas

MV promueve la reutilización

Componentes Reutilizados

Page 12: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 12

Interfaz de Usuario(Visual Basic,

Java, ..)

Lógica del Negocio(C++, Java, ..)

Servidor de BDs(C++ & SQL, ..)

“Modelar el sistema independientemente del lenguaje de implementación”

MV para definir la Arquitectura del SW

Page 13: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 13

¿Qué es lo que va a construir?

¿Cómo lo va a construir?

¿Qué tecnología usará?

¿Cómo lo documentará?

Etapas en la construcción de un proceso de software

Page 14: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 14

Etapas en la construcción de un proceso de software Análisis Diseño Refinamiento del diseño Implementación Documentación

Page 15: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 15

UML

Es una notación gráfica para modelar.

Es un lenguaje de modelado.

Page 16: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 16

UML “aglutina” enfoques OO

UML

Rumbaugh

Jacobson

Meyer

Harel

Wirfs-BrockFusion

Embly

Gamma et. al.

Shlaer-Mellor

Odell

Booch

Pre- and Post-conditions

State Charts

Responsabilities

Operation descriptions, message numbering

Singleton classes

Frameworks, patterns, notes

Object life cycles

Page 17: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 17

... Diagramas de UML

Use CaseDiagramsUse Case

DiagramsDiagramas de Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagramas deColaboración

StateDiagramsState

DiagramsDiagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagramsState

DiagramsDiagramas de Objetos

ScenarioDiagramsScenario

DiagramsDiagramas deEstados

Use CaseDiagramsUse Case

DiagramsDiagramas deSecuencia

StateDiagramsState

DiagramsDiagramas deClases

Diagramas deActividad

Modelo

II. Breve Tour por UML

Los diagramas expresan gráficamente partes de un modelo

Page 18: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 18

... Diagramas seleccionados

Diagramas deSecuencia

Diagramas deClases

Diagramas de Casos de Uso

Page 19: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 19

Modelos y Diagramas Un modelo captura una vista de un

sistema del mundo real. Es una abstracción

de dicho sistema, considerando un cierto

propósito. Así, el modelo describe

completamente aquellos aspectos del

sistema que son relevantes al propósito del

modelo, y a un apropiado nivel de detalle.

Page 20: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 20

Diagrama: una representación gráfica de una colección de elementos de modelado.

Modelos y Diagramas

Page 21: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 21

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

... Modelos y Diagramas

Page 22: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 22

Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia

UML

Page 23: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 23

Casos de Uso

Un caso de uso es una interacción entre el usuario y el sistema para lograr cierto objetivo.

Objetivo de los mismos. Son de tamaño variable. Se debe especificar todos los cursos

alternativos.

Page 24: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 24

… Casos de UsoActores:

Roles de los usuarios

Otros sistemas: sistemas con los que el sistema interactúa (el otro sistema necesita algo del sistema que se desarrolla)

Page 25: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 25

Ejemplos

Supervisor Verificar Situación del Cliente

Administrativo Preparar Catálogo Sistema Inventario

Page 26: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 26

… Casos de Uso Ejemplo:

Actor ACaso de Uso A

Actor BCaso de Uso B

III. El Paradigma OO: Diagrama de Casos de Uso

Page 27: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 27

Identificación de casos de usos Eventos ante los cuales se debe

reaccionar Actores que intervienen

… Casos de Uso

Page 28: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 28

Representación de escenarios alternativos

… Casos de Uso

Page 29: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 29

… Ejemplos

Venta Normal

Venta en Rebajas

Venta en Ofertas

Vendedor

Ventas

Page 30: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 30

Casos de Uso Los Casos de Uso (Ivar Jacobson) describen

bajo la forma de acciones y reacciones el comportamiento de un sistema desde el p.d.v. del usuario

Permiten definir los límites del sistema y las relaciones entre el sistema y el entorno

Los Casos de Uso son descripciones de la funcionalidad del sistema independientes de la implementación

Page 31: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 31

… Casos de Uso Los Casos de Uso se determinan observando y

precisando, actor por actor, las secuencias de interacción, los escenarios, desde el punto de vista del usuario

Un escenario es una instancia de un caso de uso

Los casos de uso intervienen durante todo el ciclo de vida. El proceso de desarrollo estará dirigido por los casos de uso

Page 32: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 32

Casos de Uso: Relaciones UML define tres tipos de relación en los

Diagramas de Casos de Uso:

Comunicación

ActorCaso de Uso

Page 33: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 33

… Casos de Uso: Relaciones

Inclusión(uses) : una instancia del Caso de Uso origen incluye también el comportamiento descrito por el Caso de Uso destino

<<include>> reemplazó al denominado <<uses>>

Caso de Uso Origen Caso de Uso Destino

<<include>>

III. El Paradigma OO: Diagrama de Casos de Uso

Page 34: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 34

… Casos de Uso: Relaciones

Extensión : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino

Caso de Uso Origen Caso de Uso Destino

<<extend>>

Page 35: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 35

… Casos de Uso: Relaciones Ejemplo:

Identificación

Transferencia en Internet

ClienteTransferencia

<<include>>

<<extend>>

Page 36: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 36

Casos de Uso: Construcción Un caso de uso debe ser simple,

inteligible, claro y conciso Generalmente hay pocos actores

asociados a cada Caso de Uso

Page 37: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 37

Preguntas clave: ¿cuáles son las tareas del actor? ¿qué información crea, guarda,

modifica, destruye o lee el actor? ¿debe el actor notificar al sistema

los cambios externos? ¿debe el sistema informar al actor

de los cambios internos?

Casos de Uso: Construcción

Page 38: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 38

… Casos de Uso: Construcción

La descripción del Caso de Uso comprende: el inicio: cuándo y qué actor lo

produce? el fin: cuándo se produce y qué valor

devuelve? la interacción actor-caso de uso: qué

mensajes intercambian ambos?

Page 39: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 39

objetivo del caso de uso: ¿qué lleva a cabo o intenta?

cronología y origen de las interacciones repeticiones de comportamiento: ¿qué

operaciones son iteradas? situaciones opcionales: ¿qué escenarios

alternativos se presentan en el caso de uso?

… Casos de Uso: Construcción

Page 40: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 40

Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia

UML

Page 41: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 41

Implementación

Clases: abstracciones del mundo real. Perspectiva más usada

Page 42: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 42

Clasificación El mundo real puede ser visto desde

abstracciones diferentes (subjetividad)

Mecanismos de abstracción:

Clasificación / Instanciación Composición / Descomposición Agrupación / Individualización Especialización / Generalización

Page 43: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 43

Clases: Notación Gráfica Cada clase se representa en un

rectángulo con tres compartimientos:

nombre de la clase atributos de la clase operaciones de la clase

cuenta

titular

saldo

depositarextraertransferir

Page 44: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 44

Clases: Notación Gráfica Otros ejemplos:

lista

primeroultimoañadirquitarcardinalidad

conjunto

intersecarunircardinalidad

Page 45: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 45

Diagrama de Clases

El Diagrama de Clases es el diagrama principal para el análisis y diseño

Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia

La definición de clase incluye definiciones para atributos y operaciones

II. Breve Tour por UML

Page 46: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 46

El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones

Diagrama de Clases

Page 47: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 47

… Ejemplos (Generalización)

II. Breve Tour por UML

Trabajador

Directivo Administrativo Obrero

{ disjunta, completa }

Page 48: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 48

… Ejemplos (Clase Asociación)

II. Breve Tour por UML

Empresa Empleado

1..** 1..**

trabajadoresempleador

Cargo

nombresueldo 0..1

1..*

superior

subordinado 1..*

0..1

Page 49: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 49

Ejemplos (Clase y Visibilidad)

Alumno

DNI : char[10]número_exp : intnombre : char[50]

alta()poner_nota(asignatura : char , año : int, nota : float)matricular(cursos : asignatura, año : int)listar_expediente()

Page 50: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 50

… Ejemplos (Asociación)

ProfesorDepartamento

10..1

director

1

dirige

0..1

Page 51: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 51

Necesidad modelado Casos de uso Diagramas de clase Diagramas de secuencia

UML

Page 52: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 52

Diagrama de Secuencia Muestra la secuencia de mensajes

entre objetos durante un escenario concreto.

Cada objeto viene dado por una barra vertical. Se llama línea de vida.

El tiempo transcurre de arriba abajo.

Page 53: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 53

Cada mensaje se representa mediante una flecha entre las líneas de vida.

Cuando existe demora entre el envío y la atención se puede indicar usando una línea oblicua.

Cada mensaje se etiqueta con el nombre del mensaje y pueden incluirse los argumentos.

Diagrama de Secuencia

Page 54: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 54

Los rectángulos en las líneas de vida indican el tiempo en el cual un método está activo.

Diagrama de Secuencia

Page 55: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 55

Diagrama de Secuencia

: Encargado:WInPréstamos :Socio :Video :Préstamo

prestar(video, socio)

verificar situación socio

verificar situación video

registrar préstamo

entregar recibo

Page 56: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 56

Diagrama de Secuencia

Ventana de entrada de pedidos

Un Pedidouna Líneade pedido

un artículode inventario

prepara( )*[para cada líneade pedido] prepara( )

hayExistencia:=revisa( )

[hayExistencia]

descuenta( )

ObjetoMensaje

Condición

necesitaReorden:

=necesitaReordenar ( )

Autodelegación

Page 57: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 57

… Diagrama de Secuencia

Page 58: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 58

Modelado de SI: Algunas Reflexiones

Modelar para la comprensión del sistema y/o para el mantenimiento y la documentación.

Pragmatismo, los modelos deben ser útiles.

Sencillez y Elegancia.

Distintos nivel de abstracción, diferentes modelos.

Seguimiento de transformaciones durante el proceso (Traceability).

Page 59: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 59

Sincronización de modelos.

Dificultades para la introducción de técnicas y herramientas de modelado.

Modelado de SI: Algunas Reflexiones

Page 60: Informatica II - 20021 Necesidad modelado Diagramas de clase Diagramas de secuencia Casos de uso UML

Informatica II - 2002 60

Resumen

UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos

El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch