Você está na página 1de 60

UML

Necesidad modelado  Diagramas de clase  Diagramas de secuencia  Casos de uso




Informatica II - 2002

UML
Necesidad modelado  Use cases  Diagramas de clase  Diagramas de secuencia


Informatica II - 2002

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.


Informatica II - 2002

Acciones para alcanzar los objetivos




Realizar una buena elicitacin de requerimientos. Desarrollar un modelo del sistema.

Informatica II - 2002

Que es un modelo?
Simplificacin de la realidad.  Incluir los elementos que son importantes y omitir los elementos que no son relevantes para ese nivel de abstraccin.


Informatica II - 2002

Que es un modelo?
Diferentes modelos  Modelos estructurales  Modelos de comportamiento


Informatica II - 2002

Construccin de una casa para fido

Puede hacerlo una sola persona Requiere: Modelado mnimo Proceso simple Herramientas simples

Informatica II - 2002

Construccin de una casa

Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas ms sofisticadas
Informatica II - 2002 8

Claves en Desarrollo de SI
Notacin

Herramientas

Proceso

Informatica II - 2002

Abstraccin - Modelado Visual (MV)


El modelado captura las partes esenciales del sistema
Orden

Item

envo

Proceso de Negocios Sistema Computacional


Informatica II - 2002 10

Mltiples Sistemas

Componentes Reutilizados

Informatica II - 2002

11

MV para definir la Arquitectura del SW


Interfaz de Usuario (Visual Basic, Java, ..) Lgica del Negocio (C++, Java, ..)

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

Modelar el sistema independientemente del lenguaje de implementacin


Informatica II - 2002 12

Etapas en la construccin de un proceso de software




Qu es lo que va a construir? Cmo lo va a construir? Qu tecnologa usar? Cmo lo documentar?


Informatica II - 2002 13

Etapas en la construccin de un proceso de software


Anlisis  Diseo  Refinamiento del diseo  Implementacin  Documentacin


Informatica II - 2002

14

UML
Es una notacin grfica modelar.  Es un lenguaje de modelado.


para

Informatica II - 2002

15

UML aglutina enfoques OO


Rumbaugh Booch Odell Shlaer-Mellor
Object life cycles

Jacobson Meyer
Pre- and Post-conditions

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly
Singleton classes

Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering

Informatica II - 2002

16

II. Breve Tour por UML

Los diagramas expresan grficamente partes de un modelo


Use Case Use Case Diagramas Diagrams de Diagrams Casos de Uso State State Diagramas Diagrams de Diagrams Clases State State Diagramas Diagrams de Diagrams Objetos State State Diagramas Diagrams de Diagrams Componentes
Component Component Diagrams Diagramas de Diagrams

... Diagramas de UML


Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin Scenario Scenario Diagramas Diagrams de Diagrams Estados

Modelo

Diagramas de Actividad

Distribucin

Informatica II - 2002

17

... Diagramas seleccionados


Diagramas de Secuencia Diagramas de Casos de Uso Diagramas de Clases

Informatica II - 2002

18

Modelos y Diagramas


Un

modelo captura

una

vista

de un

sistema del mundo real. Es una abstraccin de dicho sistema, considerando un cierto propsito. As, el modelo describe del completamente aquellos aspectos

sistema que son relevantes al propsito del modelo, y a un apropiado nivel de detalle.

Informatica II - 2002

19

Modelos y Diagramas


Diagrama: una representacin grfica de una coleccin de elementos de modelado.

Informatica II - 2002

20

... Modelos y Diagramas


 Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de inters  El cdigo fuente del sistema es el modelo ms detallado del sistema (y adems es ejecutable). Sin embargo, se requieren otros modelos ...

Informatica II - 2002

21

UML
Necesidad modelado  Casos de uso  Diagramas de clase  Diagramas de secuencia


Informatica II - 2002

22

Casos de Uso
Un caso de uso es una interaccin entre el usuario y el sistema para lograr cierto objetivo.  Objetivo de los mismos.  Son de tamao variable.  Se debe especificar todos los cursos alternativos.

Informatica II - 2002 23

Casos de Uso
Actores:


Roles de los usuarios Otros sistemas: sistemas con los que el sistema interacta (el otro sistema necesita algo del sistema que se desarrolla)

Informatica II - 2002

24

Ejemplos

Supervisor

Verificar Situacin del Cliente

Administrativo

Preparar Catlogo

Sistema Inventario

Informatica II - 2002

25

III. El Paradigma OO: Diagrama de Casos de Uso

Casos de Uso
 Ejemplo:

Actor A

Caso de Uso A

Caso de Uso B

Actor B

Informatica II - 2002

26

Casos de Uso


Identificacin de casos de usos


Eventos ante los cuales se debe reaccionar  Actores que intervienen


Informatica II - 2002

27

Casos de Uso

Representacin de escenarios alternativos

Informatica II - 2002

28

Ejemplos

Venta Normal Ventas Venta en Rebajas Venta en Ofertas Vendedor

Informatica II - 2002

29

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 lmites 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 implementacin
Informatica II - 2002 30

Casos de Uso
 Los Casos de Uso se determinan observando y precisando, actor por actor, las secuencias de interaccin, 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
Informatica II - 2002 31

Casos de Uso: Relaciones


 UML define tres tipos de relacin en los Diagramas de Casos de Uso:
 Comunicacin

Actor

Caso de Uso

Informatica II - 2002

32

III. El Paradigma OO: Diagrama de Casos de Uso

Casos de Uso: Relaciones


 Inclusin(uses)

: una instancia del Caso de Uso origen incluye tambin el comportamiento descrito por el Caso de Uso destino
<<include>>

Caso de Uso Origen

Caso de Uso Destino

Informatica II - 2002

33

Casos de Uso: Relaciones


 Extensin

: el Caso de Uso origen extiende el comportamiento del Caso de Uso destino


<<extend>>

Caso de Uso Origen

Caso de Uso Destino

Informatica II - 2002

34

Casos de Uso: Relaciones


 Ejemplo:
<<include>> Identificacin

Cliente

Transferencia

<<extend>>

Transferencia en Internet

Informatica II - 2002

35

Casos de Uso: Construccin


 Un caso de uso debe ser inteligible, claro y conciso  Generalmente hay pocos asociados a cada Caso de Uso simple, actores

Informatica II - 2002

36

Casos de Uso: Construccin


 Preguntas clave:
 cules

son las tareas del actor?  qu informacin 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?
Informatica II - 2002 37

Casos de Uso: Construccin


 La descripcin del Caso de Uso comprende:  el inicio: cundo y qu actor lo produce?  el fin: cundo se produce y qu valor devuelve?  la interaccin actor-caso de uso: qu mensajes intercambian ambos?
Informatica II - 2002 38

Casos de Uso: Construccin


objetivo del caso de uso: qu lleva a cabo o intenta?  cronologa y origen de las interacciones  repeticiones de comportamiento: qu operaciones son iteradas?  situaciones opcionales: qu escenarios alternativos se presentan en el caso de uso?


Informatica II - 2002

39

UML
Necesidad modelado  Casos de uso  Diagramas de clase  Diagramas de secuencia


Informatica II - 2002

40

Implementacin

Clases: abstracciones del mundo real. Perspectiva ms usada

Informatica II - 2002

41

Clasificacin
 El mundo real puede ser visto desde abstracciones diferentes (subjetividad)  Mecanismos de abstraccin:
 Clasificacin

/ Instanciacin  Composicin / Descomposicin  Agrupacin / Individualizacin  Especializacin / Generalizacin


Informatica II - 2002 42

Clases: Notacin Grfica


 Cada clase se representa en un rectngulo con tres cuenta compartimientos:
titular
 nombre

de la clase  atributos de la clase  operaciones de la clase

saldo depositar extraer transferir

Informatica II - 2002

43

Clases: Notacin Grfica


 Otros ejemplos:
lista conjunto primero ultimo aadir quitar cardinalidad

intersecar unir cardinalidad

Informatica II - 2002

44

II. Breve Tour por UML

Diagrama de Clases
 El Diagrama de Clases es el diagrama principal para el anlisis y diseo  Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia  La definicin de clase incluye definiciones para atributos y operaciones
Informatica II - 2002 45

Diagrama de Clases


El modelo de casos de uso aporta informacin para establecer las clases, objetos, atributos y operaciones

Informatica II - 2002

46

II. Breve Tour por UML

Ejemplos (Generalizacin)

Trabajador

{ disjunta, completa }

Directivo

Administrativo

Obrero

Informatica II - 2002

47

II. Breve Tour por UML

Ejemplos (Clase Asociacin)


empleador Empresa * 1..* trabajadores Empleado

Cargo nombre sueldo subordinado 1..*

superior 0..1

Informatica II - 2002

48

Ejemplos (Clase y Visibilidad)

Alumno DNI : char[10] nmero_exp : int nombre : char[50] alta() poner_nota(asignatura : char , ao : int, nota : float) matricular(cursos : asignatura, ao : int) listar_expediente()

Informatica II - 2002

49

Ejemplos (Asociacin)

Departamento

dirige 0..1

director 1

Profesor

Informatica II - 2002

50

UML
Necesidad modelado  Casos de uso  Diagramas de clase  Diagramas de secuencia


Informatica II - 2002

51

Diagrama de Secuencia
 Muestra la secuencia de mensajes entre objetos durante un escenario concreto.  Cada objeto viene dado por una barra vertical. Se llama lnea de vida.  El tiempo transcurre de arriba abajo.
Informatica II - 2002 52

Diagrama de Secuencia
Cada mensaje se representa mediante una flecha entre las lneas de vida.  Cuando existe demora entre el envo y la atencin se puede indicar usando una lnea oblicua.  Cada mensaje se etiqueta con el nombre del mensaje y pueden incluirse los argumentos.

Informatica II - 2002 53

Diagrama de Secuencia


Los rectngulos en las lneas de vida indican el tiempo en el cual un mtodo est activo.

Informatica II - 2002

54

Diagrama de Secuencia
:WInPrstamos :Socio :Video :Prstamo

: Encargado

prestar(video, socio) verificar situacin socio verificar situacin video

registrar prstamo entregar recibo

Informatica II - 2002

55

Diagrama de Secuencia
Ventana de entrada de pedidos prepara( ) *[para cada lnea de pedido] prepara( ) hayExistencia:=revisa( ) Un Pedido una Lnea de pedido un artculo de inventario

Condicin

Objeto

Mensaje

[hayExistencia] descuenta( ) necesitaReorden: =necesitaReordenar ( )

Autodelegacin

Informatica II - 2002

56

Diagrama de Secuencia

Informatica II - 2002

57

Modelado de SI: Algunas Reflexiones




Modelar para la comprensin del sistema y/o para el mantenimiento y la documentacin. Pragmatismo, tiles. los modelos deben ser

 

Sencillez y Elegancia. Distintos nivel de abstraccin, diferentes modelos. Seguimiento de transformaciones durante el proceso (Traceability). 2002 Informatica II 58

Modelado de SI: Algunas Reflexiones


 

Sincronizacin de modelos. Dificultades para la introduccin de tcnicas y herramientas de modelado.

Informatica II - 2002

59

Resumen
 UML define una notacin que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos  El 80 por ciento de la mayora de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch

Informatica II - 2002

60

Você também pode gostar