Вы находитесь на странице: 1из 80

MODELAMIENTO CON UML (UNIFIED MODELING LANGUAGE)

UNIVERSIDAD NSTOR CCERES VELSQUEZ INGENIERA DE SISTEMAS ANLISIS Y DISEO DE SISTEMAS


ING. MAX JARA PAREDES

Historia de UML

En los aos 80s y principios de 90s

los noventa
Grady Booch, James Rumbaugh Ivar Jacobson

trabajaban por separado en desarrollo de notaciones para el anlisis y diseo de sistemas

orientados a objetos.

Historia de UML

Booch haba escrito "ObjectOriented Analysis and Design with Applications" un libro de referencia en el anlisis y diseo orientado a objetos desarrollando su propia

notacin.

Historia de UML

Por su parte James Rumbaugh haba

desarrollado su propia notacin de diseo orientado a objetos llamada OMT (Object Modeling Technique) en su libro "Object-Oriented Modeling and Design".

Historia de UML

Jacobson

visionario (padre de los casos diseo orientado sorprendiendo a todo "Object-Oriented Engineering: A Use Approach".

del anlisis de uso) del a objetos, el mundo en Software Case Driven

Por que Usar UML?

Al crear Software Sistemas, nos

enfrentamos a resolver una problemtica siendo esta efectiva y a un costo aceptable. A ello la relacin Costo / Beneficio tiene una inclinacin ms al costo, pues a veces el beneficio es pequeo. Uso de herramientas de anlisis y diseo con relacin entre analistas, desarrolladores y usuario final
6

Definicin de UML

Es un lenguaje de modelado visual

que se usa para entender, disear, configurar, mantener y controlar la informacin sobre los sistemas a construir. Un sistema se modela como una coleccin de objetos discretos que interactan para realizar un trabajo que finalmente beneficia a un usuario externo.
7

Definicin de UML

UML

no es un lenguaje de programacin. Las herramientas pueden ofrecer generadores de cdigo de UML para una gran variedad de lenguaje de programacin, as como construir modelos por ingeniera inversa a partir de programas existentes.
8

Diagramas que contiene UML

Diagramas que contiene UML

Diagrama de casos de uso Diagrama de clases Diagrama de secuencias Diagrama de estados Diagrama de actividades Diagrama de colaboraciones Diagrama de componentes Diagrama de distribucin, etc
10

Diagramas que contiene UML

Pero, una vez que conozcamos las

herramientas usaremos en cada momento las ms adecuadas a nuestras necesidades. Esto no ser del todo fcil, pues hay que saber para qu sirven y qu limitaciones tienen unas y otras para conocer su utilidad.
11

Diagramas que contiene UML

Comencemos a ver en donde pueden ayudarnos estos diagramas


Esta claro que Visible Analyst

tambin soporta dichos diagramas


Y esta tambin claro que nuestro proyecto ya debe tomar forma con la ayuda de este modelamiento

12

LOS CASOS DE USO (USES CASE)


ING. MAX JARA PAREDES

13

Definicin de los Casos de uso (CU)

Documento narrativo que describe la secuencia de eventos de un ACTOR (agente externo) que utiliza un sistema para completar un proceso.[Jacobson92]
Se encargan de dirigir el proceso

de desarrollo, pues la mayor parte de estos se centra en el anlisis, diseo y prueba para un sistema.
14

Definicin de los Casos de uso (CU)

Describen qu hace un sistema pero no especifica cmo lo hace Pueden ser pequeos o grandes. Logran un objetivo discreto para el usuario, pues debe ser simple, claro y

conciso Captura el comportamiento deseado del sistema sin tener que especificar como se implementa ese comportamiento
15

Quines interactan en los CU?

Los Actores son el entorno del sistema


No siempre son personas,

pues pueden ser Sistemas o Hardware Podemos encontrar generalizaciones en los actores. Se encargan de enviar o recibir mensajes hacia y desde el sistema

16

Quines interactan en los CU?

Los Casos de uso especifican el sistema


Especifican secuencia de

acciones con resultados observables hacia un Actor.


Ejemplifican

Comprar Producto

e incluyen tcitamente en la historia que narran como parte del desarrollo de un sistema.

17

Ejemplo de un CU.

VALIDACIN DE USUARIO
CU de alto nivel

Caso de Uso Actores Tipo Descripcin

Validar Usuario Usuario Primario El usuario deber ingresar su tarjeta por el cual el sistema pedir su clave de acceso, este deber ser ingresado; si se confirma el acceso se mostrar las opciones del men del sistema.

18

Ejemplo de un CU.

COMPRA PRODUCTOS EN EFECTIVO


CU Expandido
Caso de Uso Actores Tipo Descripcin Comprar productos en efectivo Cliente, Cajero Primario y Esencial Un cliente llega a la caja registradora con artculos que desea comprar. El Cajero registra los productos y recibe un pago en efectivo. Al terminar la operacin, el Cliente se marcha con sus productos Respuesta del Sistema

Accin del Actor


1. Este caso de uso comienza

Cuando un cliente llega a una


caja de TPDV (Terminal Punto de venta) con Productos que desea comprar
19

Ejemplo de un CU.
COMPRA PRODUCTOS EN EFECTIVO
CU Expandido

Accin del Actor


2. El Cajero registra el identificador de cada producto. Si hay varios productos de una misma categora, el Cajero

Respuesta del Sistema


3. Determina el precio del producto e incorpora a la transaccin actual la informacin correspondiente

tambin puede introducir la


cantidad . 4. Al terminar de introducir el producto, el Cajero indica al TPDV que se concluy la captura 5. Calcula y presenta el total de la venta

del producto.
6. El Cajero le indica el total al cliente. 7. El cliente efecta el pago en efectivo, el cual posiblemente es mayor que el total de la venta.
20

Ejemplo de un CU.
COMPRA PRODUCTOS EN EFECTIVO
CU Expandido

Accin del Actor


8. El Cajero registra la cantidad de efectivo recibida 10. El Cajero deposita el efectivo

Respuesta del Sistema


9. Muestra al cliente la diferencia. Genera un recibo

11. Registra la venta concluida

recibido y extrae el cambio del


pago 12. El cliente se marcha con los artculos comprados

Cursos Alternos:
Lnea 2: Lnea 7: Introduccin de identificador invlido. Indicar Error. El cliente no tena suficiente dinero. Cancelar la transaccin de venta.

21

Errores comunes al asignar CU


Representar operaciones o transacciones

individuales como casos.


Ejemplo: Imprimir Recibo : esta es una operacin que puede formularse en un proceso ms amplio como: Comprar Productos
CU es una descripcin de un proceso de Principio a Fin relativamente amplia. No es un paso ni una

actividad individual
22

Pautas para identificar un CU


Basndose en los Actores
Se identifican los actores relacionados con un sistema o empresa. En cada actor, se identifican los procesos que

inician o participan.

Basndose en los Eventos


Se identifican los eventos externos a los que un sistema a de responder. Se relacionan los eventos con los actores y los casos de uso
23

Ejemplos para identificar un CU Un CU describe un proceso (secuencia de eventos de comienzo a fin)


Retira efectivo en un cajero automtico Ordena un producto Registra los cursos que se imparten en una escuela Verifica la ortografa de un documento con un procesador de palabras Realiza una llamada telefnica
24

Tipos de CU
Se tiene 4 variedades de tipos para poder analizar un CU las cuales son: Primario de Uso : Representan procesos comunes ms importantes, tales como: Comprar productos Secundario de Uso : Representan procesos menores raros, tal como: Solicitud de surtir el nuevo producto Esencial de Uso : Se expresan en forma terica con poca tecnologa e implementacin (ms abstractos), tal como: el cliente se identifica Real de Uso : Con tecnologas de E / S se describen

de forma ms concreta, tal como: el cliente introduce su tarjeta 25

Los diagramas de Casos de Uso (CU)


Sea el problema del Cajero TPDV:
TPDV

Comprar Producto
Registrar Producto Cajero Entregar cambio del pago Cliente

Iniciar Sesin
Gerente

Adm. sistema

Administrar usuarios
26

Relaciones para los CU, comprendindolos... mejor


Relacin de tipo Inclusin A <<include>> B

significa que una instancia de A tambin incorporara el comportamiento especificado en B.


Relacin de tipo Extensin A <<extend>> si A

extiende B, significa que una instancia del caso de uso B podra incorporar el comportamiento especificado en A (si se cumplen las condiciones especificadas en la extensin).
27

Relaciones para los CU, comprendindolos... mejor

28

Relaciones para los CU, comprendindolos... mejor


Siempre existir una relacin <<include>>

cuando el objetivo del caso de uso base necesita de otro caso de uso.
Podr existir una relacin <<extend>>

cuando relacionamos un caso base con otro que agrega funcionalidad sin modificar la funcionalidad del caso de uso base (opcional).
29

Relaciones para los CU

30

Relaciones para los CU, comprendindolos... mejor


Caso de una venta a un cliente. En el esquema los actores estn dados por el Operador y el Cliente. El caso base ser Ventas.
Para que se realice la Venta, el operador debe verificar la existencia de stock, imprimir la factura y validar al cliente. Si no se ejecuta ninguno de estos casos de uso, ventas no podr cumplir su objetivo, tanto por un resultado satisfactorio o no. Pero sin embargo, el caso de uso Verificar deudas del cliente. Podremos venderle a un cliente por ms que tenga deudas con el sistema. Por lo tanto dicho caso de uso solo extiende la funcionalidad del caso base.
31

Los CU, desde Visible Analyst


Creacin del CU: CU TPDV.
Este tipo de CU se expresa de la forma: System Boundary. Y se grabar con el nombre de: Sistema de Ventas.

Posteriormente deberemos explotar este sistema para generar el Diagrama de CU: Diagrama CU.
32

Los CU, desde Visible Analyst


Creacin del Diagrama : Uses Case CU TPDV

33

Los CU, desde Visible Analyst


Uses Case : Conexiones de tipo Cardinal (E-R)
Ctrl + A (analizador)

34

Los CU, desde Visible Analyst


Creacin del Diagrama : Uses Case VENTAS

COMENZAMOS???

35

Los CU, desde Visible Analyst


Creacin del Diagrama `MATRICULACIN : Uses Case

COMENZAMOS???

36

LOS DIAGRAMAS DE CLASE


ING. MAX JARA PAREDES

37

Definicin de Diagramas de Clases

Describen los tipos de objetos que hay en el sistema y las diversas clases de relaciones estticas que existen entre ellos. Hay dos tipos principales de

relaciones estticas:
Asociaciones: Ejm: Rentar varios videos Subtipos: Ejm: Enfermera tipo de persona

38

Definicin de Diagramas de Clases

Tambin muestran los atributos y operaciones de una clase y las restricciones a que se ven sujetos, segn la forma en que se conecten los objetos.
Atributos

Operaciones
39

Perspectivas de los Diagramas de Clases

Siguiendo

la recomendacin de Steve Cook y John Daniels se considera tres perspectivas que se pueden manejar al dibujar diagramas de clase:
Modelo Conceptual Modelo de Especificacin Modelo de Implementacin
40

DIAGRAMAS DE CLASES Modelo Conceptual

Se

dibuja un diagrama que represente los conceptos del dominio que se est estudiando. Estos conceptos se relacionan de manera natural con las clases que los implementan Los modelos conceptuales se deben dibujar sin importar (Casi) el software con que se implementarn.
41

DIAGRAMAS DE CLASES

Como identificar Modelos Conceptuales? Se identifican las frases nominales (de quien hablamos) en las descripciones textuales Los casos de Uso expandidos son una excelente descripcin. Posible riesgo varias frases nominales se pueden referir a lo mismo generando ambigedad de conceptos.
42

DIAGRAMAS DE CLASES Modelo Conceptual Lista Conceptos

Problema del TPDV (diap. 20 y 21)


43

DIAGRAMAS DE CLASES
Modelo Conceptual Especificando conceptos

Especificacin de Producto; por que?

Producto

44

DIAGRAMAS DE CLASES Modelo Conceptual Asociaciones

45

DIAGRAMAS DE CLASES Modelo Conceptual con UML

La

Multiplicidad define cuantas instancias de un tipo A pueden asociarse a una instancia de tipo B en un determinado momento.

46

DIAGRAMAS DE CLASES Modelo Conceptual con UML

Ejemplo:

47

DIAGRAMAS DE CLASES Modelo Conceptual con UML


Por tanto el modelo conceptual completo del

TPDV es:

48

DIAGRAMAS DE CLASES Modelo Conceptual con UML

Y Como trabajamos en Visible

Analyst???

49

DIAGRAMAS DE CLASES Modelo Conceptual

El problema de la Matricula

Para el diagrama de Clases

iremos trabajando poco a poco los 3 modelos

50

DIAGRAMAS DE CLASES Modelo Conceptual

Podemos rescatar datos de nuestros

DFDs . . .
Al crear una clase esta puede

definirse mediante estereotipos (forma de clasificar las clases a alto nivel) Modelo de especificacin.
Comenzar a asociarlas
51

DIAGRAMAS DE CLASES Modelo Conceptual

Entonces el modelo de asociacin

para el problema de Matriculacin ser:

52

DIAGRAMAS DE CLASES Modelo Conceptual

El anterior modelo expresar errores

en Visible Analyst.
El error (que por el momento

pasaremos desapercibidos) es la creacin de los atributos y Mtodos eventos, los cuales se irn definiendo en los dems modelos que faltan para las clases.
53

DIAGRAMAS DE CLASES Modelo de Especificacin

Se identifican los tipos de clases, y as mismo los atributos con los que trabajar la clase.
Aqu se van indicando las posibles

interfaces que tendr al final, el sistema que se va implementando.


Los

estereotipos fundamental aqu

juegan

un

rol
54

DIAGRAMAS DE CLASES Modelo de Especificacin


Continuando con el caso TPDV. La

clase Cajero tendr el siguiente comportamiento y contendr los siguientes atributos: Estereotipo: Entidad
Este tipo de clase se transformar en parte de una Base de Datos. Se utiliza para modelar informacin que posee una vida larga y que es a menudo persistente. 55

DIAGRAMAS DE CLASES Modelo de Especificacin


Asignando Estereotipos de tipo ENTIDAD

(Entity) en Visual Analyst:


Usando el problema de Matriculacin: Sabemos que la Clase CURSOS, ira

guardando los datos de un curso al cual se pueda matricular un alumno, es decir; persistir en el tiempo

56

DIAGRAMAS DE CLASES Modelo de Especificacin


Asignando Estereotipos de tipo ENTIDAD

(Entity) en Visual Analyst:


OJO!!! Recuerda que se debe ingresar el tipo de clase antes de ingresar los datos, Esto es; debido a que despus se asume que este no cambiar hasta que nuevamente se borren todos los atributos ingresados.
57

DIAGRAMAS DE CLASES Modelo de Especificacin


Complementar los Estereotipos de tipo

ENTIDAD (Entity) para las dems clases en Visual Analyst, como tambin sus atributos respectivos:

58

DIAGRAMAS DE CLASES Modelo de Especificacin


Clases de Matriculacin

59

DIAGRAMAS DE CLASES Modelo de Especificacin


Continuando con el caso MATRICULACION. La

clase Matricula contendr pocos atributos (en VA no se permiten) pero esta, se desenvolver con sus mtodos eventos: Estereotipo: Interfaz
Se utiliza para modelar la interaccin entre el sistema y sus actores. Representan ventanas, formularios, paneles, interfaces de comunicacin, etc.
60

Clase: Estndar

DIAGRAMAS DE CLASES Modelo de Especificacin


Continuando con el caso MATRICULACION. Se recomienda que crear un nuevo diagrama

en VA que contengan las interfaces:


Para ello se tiene las posibles clases de tipo INTERFAZ

61

DIAGRAMAS DE CLASES Modelo de Especificacin


Finalmente para que nuestras clases estn

casi completas se debe pasar a asignar y mostrar los tipos de datos como tambin los mtodos ms importantes.
Recordemos que a medida que vayamos

implementando el sistema, se irn agregando mas clases o procesos modificndolos; refinando as el proyecto optimizado.

62

DIAGRAMAS DE CLASES Modelo de Implementacin


Dentro de esta concepcin, realmente

tenemos clases y exponemos completo la implementacin.

por

Esta es, probablemente, la perspectiva

ms empleada, pero en muchos sentidos es mejor adoptar la perspectiva de especificacin.


63

DIAGRAMAS DE CLASES Modelo de Implementacin


Para agregar los mtodos o eventos

deberemos tomar las siguientes pautas:


Cualquier clase de tipo Entidad o lista

para ser parte de una Base de Datos debe tener 4 mtodos exclusivos:

Seleccin de Datos Insercin de Datos Actualizacin de Datos Eliminacin de Datos


64

DIAGRAMAS DE CLASES Modelo de Implementacin Para agregar un mtodo en VA debemos dirigirnos a la pestaa Methods/Friends

65

DIAGRAMAS DE CLASES Modelo de Implementacin Recuerda que todo mtodo tiene argumentos los cuales deben ser de un tipo de dato especfico:

66

DIAGRAMAS DE CLASES Modelo de Implementacin Un mtodo tambin puede retornar datos de tipo valor (respuestas de confirmacin) o de referncia (conjunto de datos para mostrarse mediante un objeto programable:

67

DIAGRAMAS DE CLASES Modelo de Especificacin


Agregar a las clases de tipo entidad sus

respectivos mtodos anteriormente para el Matriculacin

mencionados problema de

68

DIAGRAMAS DE CLASES Modelo de Implementacin


Para agregar los mtodos o eventos

deberemos tomar las siguientes pautas: (cont.)


Con respecto a las clases de Interfaz,

estas se desenvolvern mejor cuando comiencen a interactuar con los actores.


Entonces, para poder obtener los mtodos

o eventos de este tipo de clases comenzaremos a usar los DIAGRAMAS DE SECUENCIA.

69

LOS DIAGRAMAS DE SECUENCIA


ING. MAX JARA PAREDES

70

DIAGRAMAS DE SECUENCIA
Estos diagramas estn dentro del grande

rubro de los Diagramas de Interaccin.


Este grande rubro se encarga de capturar

el comportamiento de un nico caso de uso, esto es; nos permite ver el comportamiento que existe entre los distintos objetos del sistema, y la forma en que estos interactan entre s.
71

DIAGRAMAS DE SECUENCIA

Definicin
Un diagrama de secuencia muestra la

interaccin de un conjunto de objetos de una aplicacin, a travs del tiempo.


Esta descripcin es importante porque

puede dar detalle a los casos de uso, aclarndolos, al nivel de mensajes de los objetos existentes.
72

LOS OBJETOS EN LOS DIAGRAMAS DE SECUENCIA Un objeto se representa como una lnea vertical punteada --lnea de vida--, con un rectngulo de encabezado, --objeto-y con rectngulo a travs de la lnea principal que denotan la activacin, es decir el perodo de tiempo en el cual el objeto se encuentra desarrollando alguna operacin. El rectngulo de encabezado contiene el nombre del objeto y el de su clase, en un formato nombreObjeto: nombreClase.

73

LOS OBJETOS EN LOS DIAGRAMAS DE SECUENCIA


<nomObjeto>: nomClase.

74

LOS METODOS Y OPERACIONES EN LOS DIAGRAMAS DE SECUENCIA


Son representados con rectngulos que

se encuentran sobre la lnea del objeto a la cual pertenecen.


La

longitud de estos rectngulos determina segn el control de la secuencia, ya que un mtodo obtiene el control desde el inicio del rectngulo hasta el final del rectngulo.
75

LOS MENSAJES EN LOS DIAGRAMAS DE SECUENCIA El envo de mensajes entre objetos se denota mediante una lnea slida dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.
: nomClase1 Hacerfuncin( ) : nomClase2

76

LOS TIPOS DE MENSAJES EN LOS DIAGRAMAS DE SECUENCIA Un Mensaje puede variar dependiendo de la informacin que estemos enviando entre objetos, los cuales pueden ser: Mensaje Simple: Transferencia de control de un objeto a otro Mensaje Sncrono: Objeto que espera la respuesta antes de continuar con su trabajo siguiente. Mensaje Asncrono: El objeto no espera la respuesta y continua con su trayecto.
77

LOS TIPOS DE MENSAJES EN LOS DIAGRAMAS DE SECUENCIA Mensaje Simple

Mensaje Sncrono

Mensaje Asncrono

78

LOS AUTO MENSAJES EN LOS DIAGRAMAS DE SECUENCIA


Un auto mensaje refleja un nuevo

proceso o mtodo que se invoca dentro de la operacin de la misma lnea de vida. Es una especificacin de un mensaje.

79

DIAGRAMAS DE SECUENCIA (anlisis)

80

Вам также может понравиться