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

UML para representar diversos aspectos del sistema

Anlisis y Diseo de Sistemas de Informacin I


Julio de 2004
1

Objetivo

Al finalizar la unidad el participante ser capaz de usar todos los diagramas de UML para realizar modelos visuales orientados a objetos para generar proyectos de software de mayor calidad.

Introduccin

Qu Necesita el Usuario

Qu Pidi el Usuario

Cmo lo Vio el Analista

Cmo se Dise

Cmo lo Escribi el Programador

Cmo Funciona el Sistema

(en ocasiones...)
9

La Moraleja

La moraleja de la historia
Comunicacin

Efectiva

comunicacin multidisciplinaria

La Torre de Babel
Cada

participante maneja su propio lenguaje

10

El Proceso de Desarrollo

Escribir cdigo es slo una parte del total de esfuerzo de desarrollo

11

Fundamentos de UML

12

Objetivos
Entender qu es UML Conocer cmo surge y evoluciona UML Conocer los principales artefactos de UML Enlistar algunos beneficios de utilizar UML

13

Modelos

Representacin simplificada de la realidad


Simplifica

al mostrar slo ciertas caractersticas en cada modelo la comprensin de la idea, concepto, sistema,

Herramienta de comunicacin
Facilita

etc.

Cada rol participante requiere vistas especiales para entender el problema

14

Modelo Visual

Notacin grfica estndar


Maquetas,

fotografas, dibujos, planos,

diagramas

15

Simplificando la Complejidad

16

Abstraccin - Modelado Visual


El modelado captura las partes esenciales del sistema
Orden Item

envo

Proceso de Negocios Sistema Computacional


17

Notacin (Visual) - Beneficios


Manejar la complejidad

Interface de Usuario (Visual Basic, Java, ..)

Lgica del Negocio (C++, Java, ..)

Mltiples Sistemas

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

Modelar el sistema independientemente del lenguaje de implementacin

Componentes Reutilizados

Promover la Reutilizacin

18

Para qu modelar?
Involucrar al usuario Experimentacin Reduce la complejidad Administracin de costos Mayor calidad y satisfaccin del usuario

19

UML

Siglas de Unified Modeling Language Lenguaje estndar de modelado de sistemas orientado a objetos No es una metodologa, es una notacin para desarrollar modelos
UML

es un lenguaje estndar para visualizar, especificar, construir y documentar los artefactos de un sistema de software UML Users Guide
20

Evolucin de UML
2001-2003 2000 UML 2.0 UML 1.4 UML 1.3
Revisiones menores UML aprobado por el OMG

1999 1998 Nov 97

UML 1.2

21

UML agrupa enfoques OO


Rumbaugh Booch Odell Jacobson Meyer
Pre- and Post-conditions

Shlaer-Mellor
Object life cycles

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly
Singleton classes

Wirfs-Brock Fusion
Operation descriptions, message numbering
Responsabilities

22

Objetivos al crear UML


Contar con un lenguaje expresivo de modelado visual Integrar mejores prcticas de desarrollo de software Ser independiente de cualquier lenguaje y proceso de desarrollo

23

Objetivos al crear UML


Motivar el desarrollo de las herramientas OO en el mercado Soportar conceptos de ms alto nivel como frameworks, patrones y componentes Proporcionar mecanismos que permitieran extender los conceptos bsicos

24

Dnde puede utilizarse UML?


Sistema de Informacin Institucionales Bancos y Servicios Financieros Telecomunicaciones Transporte Comercio Electrnica mdica mbito cientfico Servicios distribuidos basados en la Web
25

Bloques de Construccin UML


Elementos
Bloques Relaciones Diagramas

26

Artefactos

Pedazo de informacin que es utilizado o producido por un proceso de desarrollo de software


Puede

ser un modelo, descripcin o software (pedazo de cdigo)

27

Artefactos de UML
Elementos
Clase
Ventana O rigen T amao A brir( ) Cerrar() M over( ) D ibujar( )

Relaciones
interfaz nodo servidor componente

Diagramas
Casos de uso
Realizar Pedido

Clase activa
GestorEventos S uspender () VaciarCola()

Estructurales

Cadena de responsabilidad

Interaccin

Estados
Esperando

Comportamiento Agrupacin

Dibujar Mensajes

Reglas del negocio

Anotacin
28

Enfoques
Estructural

Clases Objetos Componentes Despliegue

Comportamiento

Diagramas dinmicos
Casos

Diagramas estticos

de uso Secuencia Colaboracin Estados Actividades

29

Beneficios de UML
Mejora la comunicacin entre los involucrados Mayor involucramiento de los usuarios Reduce costos y riesgos al permitir la experimentacin con modelos Reduce la complejidad Mayor calidad del software Reuso

30

Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no es una metodologa

Falta integracin con respecto de otras tcnicas tales como patrones de diseo, interfaces de usuario, documentacin, etc.
Ejemplos aislados

Monopolio de conceptos, tcnicas y mtodos en torno a UML


31

Perspectivas de UML

UML ser el lenguaje de modelado orientado a objetos estndar predominante los prximos aos Razones: Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar Evidencias: Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, etc.
32

Conclusiones

UML es un lenguaje notacional para modelar sistemas, no incluye el orden o responsabilidades en que se utiliza Al ser un lenguaje para modelar proporciona los beneficios de un modelo Permite modelar, documentar, visualizar y construir sistemas Puede ser utilizado para cualquier tipo de proyecto de desarrollo orientado a objetos
33

Anlisis Orientado a Objetos con UML

34

El Modelo de Casos de Uso


El Eje de la Calidad

35

Objetivos

El alumno aprender a describir el comportamiento general de un sistema por medio de casos de uso Entender qu es un actor y cmo representar su interaccin con el sistema Comprender las formas de granularizar los casos de uso Conocer los mecanismos de extensin de UML en los diagramas de casos de uso

36

Diagrama de Casos de Uso

Muestra el Comportamiento del Sistema Muestra el Alcance del Cliente Sistema Interacciones con entidades Operador ATM externas

Conducir Transacciones Bancarias Sist.Bancario

Correr Reportes

Mantenimiento ATM

37

Elementos del Diagrama de Casos de Uso


Asociacin

Cliente

Retirar Efectivo

Actor

Caso de Uso

38

Actores

No son parte del sistema, representan roles que un usuario puede jugar Intercambian informacin con el sistema Puede ser un recipiente pasivo de informacin Puede representar un humano, una mquina u otro sistema Se nombran generalmente con sustantivos en singular

Actor

Cliente, vendedor, administrador, alumno, Sistema de nmina, etc.

39

Un Usuario/Dos Actores
Inserta tarjeta 123 456 789 *0#

Carlos como Operador

Carlos saca dinero de su cuenta y le da mantenimiento al sistema

Carlos como cliente


Cliente

Operador

40

Dos Usuarios/Un Actor


Inserta tarjeta
123 456 789 *0#

Roberto como cliente

Carlos saca dinero de su cuenta y Roberto saca de la suya

Carlos como cliente


Cliente
41

Casos de Uso

Caso de Uso

Un caso de uso modela el dilogo entre los actores y el sistema Un caso de uso es iniciado por un actor al invocar cierta funcionalidad en el sistema Un caso de uso es un flujo de eventos completo y con significado para el usuario Un caso de uso debe proporcionar valor real al usuario Al unir todos los casos de uso se tienen todas las formas posibles de usar el sistema Se nombran generalmente con un verbo en infinitivo:

Realizar venta, Cotizar seguro, Generar nmina, etc.

42

Cajero Automtico
Conducir Transacciones
Bancarias

Cliente

Sist. Bancario

Correr Reportes

Operador ATM

Mantenimiento ATM

43

Granularidad de los Casos de Uso


?????

Realizar Venta Vendedor

?????

Aplicar Descuento

Autorizar Crdito

Realizar Ventas es demasiado genrico? Es suficientemente claro para los stakeholders?


44

Estereotipos

Mecanismos para extender el significado de los elementos de UML


Algunos

existentes en UML El desarrollador puede crear nuevos

Se escribe entre << y >> y se coloca junto al elemento de UML a extender

<<Estereotipo>>
45

Estereotipos para Casos de Uso

Dentro de la especificacin de UML el modelo de casos de uso incluye estereotipos para especificar con mayor claridad la relacin entre los casos de uso
<<extend>>

<<include>>
46

Relacin Include

Indica que un caso de uso incluye dentro de su funcionalidad a otro caso de uso

Es suficientemente obvio si el caso de uso Realizar Venta incluye la Autorizacin de Crditos o es necesario hacerlo explcito?
<<include>> Realizar Venta Vendedor
Autorizar Crdito

47

Caso de Uso Base e Includo

El Caso de Uso includo forma parte del caso de uso Caso de Uso Includo base Caso de Uso Base

<<include>> Realizar Venta Vendedor


Autorizar Crdito

48

Relacin Extend

Cuando un caso de uso extiende a otro caso de uso, significa que le agrega pasos o actividades adicionales, pero el caso de uso base est completo an si no existiera el que lo extiende
<<extend>> Realizar Venta

Vendedor

Aplicar descuento

49

Paquetes

Los paquetes sirven para agrupar de una manera lgica elementos de UML y reducir la complejidad
Casos
Clases Componentes

Paquete

de uso

50

Paquetes de Casos de Uso


Nmina Administracin Un paquete de casos de uso representa agrupacin lgica de funcionalidad.

Ejemplo: mdulos, subsistemas, sistemas.

51

Ejercicio

Desarrollar un diagrama de casos de uso con todos sus elementos para el caso de estudio.
Actores Casos

de uso Relaciones entre actores y casos de uso Relaciones <<includes>> y <<extends>> entre casos de uso
52

Conclusiones

El diagrama de casos de uso muestra el comportamiento del sistema y las interacciones con las entidades externas Los tipos de relaciones entre casos de uso estn definidos por los estereotipos extends e includes Un actor es una entidad externa que interacta con el sistema Un caso de uso es un conjunto de interacciones entre el sistema y uno o ms actores Los casos de uso se pueden agrupar en paquetes para reducir la complejidad y organizarlos en subsistemas y mdulos
53

Documentacin de Casos de Uso


Flujos de Eventos y Glosario de Trminos

54

Objetivos

El alumno aprender a documentar los requerimientos del sistema mediante el uso de flujos de eventos y escenarios Entender la estructura de un flujo de eventos Comprender la ventaja de los flujos de eventos sobre el enfoque basado en listas de requerimientos Comprender el uso que tiene este artefacto para mejorar la comunicacin entre las partes involucradas en el proyecto
55

Documentacin de los Casos de Uso

Los casos de uso se documentan con:


Una

breve descripcin

El propsito del caso de uso en unas cuantas lneas

El

flujo detallado de los eventos


Descripcin detallada de eventos

Terminologa y redaccin simple orientada al negocio/usuario


56

Estructura de los Flujos de Eventos

Las secciones que forman el flujo de eventos de un caso de uso:


Precondiciones
Flujo

Principal Flujos Alternos Flujos Excepcionales Postcondiciones

57

Precondiciones

Es el estado en que se encuentra el sistema antes de iniciar el caso de uso, y que es necesario para poder llevarlo a cabo exitosamente
Generalmente

son aspectos que no van a ser validados durante el caso de uso, sino que se dan por ciertos

Ejemplo: Precondiciones para Retirar Efectivo:


Que el cajero cuente con efectivo Que el cliente haya accesado a su cuenta Que haya coneccin con el sistema bancario central
58

Contenido del Flujo de Eventos


Describe slo los eventos que ocurren dentro del caso de uso y no lo que pasa en otros casos de uso Evita terminologa vaga como por ejemplo, informacin y etc. El flujo de eventos debe describir:

Cmo y cundo comienza y termina el caso de uso Cundo interacta el sistema con el actor en el caso de uso Qu informacin es intercambiada entre un actor y el sistema

No describir los detalles de la interface de usuario

El flujo bsico de eventos Cualquier flujo alterno

59

Tipos de Secuencias o Flujos


Cada caso de uso
Tiene un flujo primario, normal de transacciones, pasos o interacciones (el happy path) Puede tener varios flujos alternos Normalmente tiene flujos excepcionales de eventos para el caso de situaciones errneas
Flujos alternos
Flujo principal

Flujos excepcionales
60

Post Condiciones

Es el estado en el que debe quedar el sistema despus de haber llevado a cabo exitosamente un caso de uso
En

Retiro de Efectivo:

La cuenta del cliente queda reducida con el monto retirado La transaccin queda registrada en el log del cajero

61

Usuarios de los Casos de Uso


Clientes validan que los desarrolladores comprendieron el problema Usuarios clarifican sus ideas respecto al problema Desarrolladores comprenden lo que el usuario espera del sistema a desarrollar Revisores verifican la calidad de los requerimientos Analistas y diseadores base para el anlisis y el diseo Tester a partir de estos validan que el sistema hace lo que el cliente/usuario pidi Lder de proyecto es la base para el plan de trabajo Documentador lo usan como base aproximada de un manual de usuario
62

Prototipo GUI

Facilita el levantamiento de requerimientos


Al

usuario y a los desarrolladores les ayuda a aterrizar y esclarecer ideas Reduce riesgos de requerimientos mal entendidos

Realizarlos en paralelo con los casos de uso


63

El Prototipo y el Caso de Uso


Caso de Uso: Cotizar Seguro de Vida Descripcin: El caso de uso comienza cuando el ejecutivo registra los datos del asegurado, el sistema utiliza los parmetros de cotizacin para indicar el monto ...

64

Ejercicio

Desarrollar para el caso de uso especificado:


Las

precondiciones El flujo de eventos primario Los flujos de eventos alternos Un flujo excepcional Las postcondiciones

65

Conclusiones

Los flujos de eventos son la forma en que se describen textualmente y a detalle los casos de uso Los flujos de eventos permiten especificar el funcionamiento del sistema Es uno de los principales artefactos de entrada utilizados por los diferentes stakeholders Los prototipos GUI facilitan la identificacin de requerimientos y casos de uso, y ayudan a eliminar riesgos tempranamente
66

Diagramas de Actividad
Modelado de Negocios y Comportamiento de Casos de Uso
67

Objetivo
El alumno aprender a describir un proceso utilizando los diagramas de actividad Entender los elementos que conforman un diagrama de actividad Aprender a describir escenarios y procesos utilizando diagramas de actividad

68

Utilidad
Modelar el flujo de trabajo de un proceso de negocio Modelar informacin de codificacin especfica (Operacin de una Clase) Modelar la secuencia de actividades dentro de un proceso

69

Propsito
Entender la estructura y dinmica de una organizacin Asegurar que los clientes, usuarios finales y desarrolladores tienen un entendimiento comn de la organizacin Determinar requerimientos sobre el sistema que den soporte a la organizacin

70

Elementos
Estados y Actividades Transicin de Estados Sincronizaciones Decisiones Carriles Objetos y Flujos de Objetos

71

Estados y Actividades
Estado Inicial

Estado Inicial

Muestra el principio de un flujo de trabajo Representa el desarrollo de una tarea dentro del flujo de trabajo Muestra el trmino de un flujo de trabajo en un diagrama de actividad

Actividad

Actividad

Estado Final

Estado Final

72

Transicin

Estado Inicial

Transicin
Paso

de una actividad a otra al ser completada

Actividad 1

Actividad 2

Estado Final

73

Sincronizaciones

Procesar Orden Bifurcacin

Autorizar Credito Enviar Orden

Unin

Notificar al Cliente

Ver un flujo de trabajo simultaneo Definen bifurcaciones y uniones Se representan mediante barras horizontales o verticales
74

Decisiones
Caj eroAutomatico SistemaBancario

Ingresar NIP

Validar NIP

Decision [ NIP Incorrecto ] [ NIP Correcto ] Pantalla de Transacciones

Lugar especfico donde el flujo de trabajo puede ramificarse segn una condicin de guarda Pueden existir ms de dos transacciones salientes, aunque la mayora de las decisiones tendrn slo dos

75

Carriles
Cliente Ventas Almacen

Llamar a Ventas

Tomar Llamada

Ordenar Producto Obtener Producto

Enviar Producto

tiles para modelar flujos de trabajo de negocio Similares a un objeto Indican responsable de ejecutar una actividad especfica

76

Objetos y Flujos de Objetos


Presionar Boton Reproducir Flujos de Objeto Reproductor de CD [Reproduciendo] Presionar Boton Pausa

Objeto

Representan algo tangible Diagramar relaciones de entrada y salida entre actividades

Reproducto r de CD [Pausado]

Presionar Boton Alto

Flujo de Objeto

Objeto

Reproducto r de CD [Detenido]

Representa la relacin entre una actividad y el objeto que la crea (como una salida) o usa (como una entrada)

77

Diagrama de Actividad
Alumno Administrador de Alumnos

Buscar Alumno

Introducir Criterios de Busqueda

Verificar Criterios de Busqueda

Procesar Busqueda

Recibir Alumno

Devolver Alumno

78

Ejercicio

Modele un diagrama de actividad para el caso de estudio

79

Conclusiones
El diagrama de actividades se utiliza para mostrar la secuencia de pasos en un proceso, en un caso de uso o en una operacin Puede utilizarse para analizar y modelar procesos de negocio Permite mostrar los cambios de estados al entrar o salir de una actividad

80

El Modelo Conceptual y el Anlisis de Sustantivos


El Anlisis del Dominio

81

Objetivos
El alumno aprender a identificar los conceptos del negocio y los datos que los definen. Aprender a desarrollar un modelo conceptual para representar grficamente los conceptos importantes de un dominio.

82

Modelo Conceptual

Es la representacin de conceptos en el dominio de un problema.

Muestra los conceptos relevantes en el dominio de un problema.

La identificacin de los conceptos del negocio es la base para el desarrollo orientado a objetos. Su propsito en esta fase consiste en clarificar el dominio o las reglas del negocio.
83

Elementos del Modelo Conceptual

Los elementos que se muestran en un modelo conceptual son:


Conceptos
Atributos Asociaciones

entre conceptos

El artefacto que se utiliza en UML para representar el modelo conceptual es el diagrama de clases
84

Representacin del Mundo Real

Una caracterstica bsica de un modelo conceptual es que es una representacin de cosas del mundo real, NO de elementos de software
Fecha Total Venta Fecha Total Imprimir ( )

Venta

BaseDeDatosDeVenta

85

Concepto
Es

cualquier cosa, idea u objeto del mundo real

Empresa

Persona

86

Atributos de Conceptos

Son los datos simples que representan las caractersticas de un concepto (objeto)

Empresa Razn Social RFC

Persona Nombre Edad

87

Atributo o Concepto?

Un error bastante comn en los modelos conceptuales consiste en presentar los conceptos como atributos de otros conceptos.

Si no pensamos en un atributo como algo simple, tal como un texto o un nmero, entonces lo ms probable es que se trate de un concepto. Ante la duda es mejor ponerlo como concepto, en lugar de atributo.
Empresa Direccin Calle Colonia

Razn Social RFC

88

Llaves Forneas como Atributos


Los atributos no deberan de ser usados para relacionar conceptos en el modelo conceptual Llaves Forneas??? !! NO !!

Tarjeta Clave NumeroCuenta Tarjeta


1

Pertenece
1

Cuenta Numero

Clave

89

Asociaciones entre Conceptos


Muestran la relacin lgica o fsica que existe en el mundo real entre dos conceptos. Se puede nombrar a las asociaciones para clarificar el modelo

Empresa Persona
Emplea-a

Razn Social Direccin

Nombre Edad
90

Multiplicidad

Describe cuntas instancias de un concepto (objeto) existen con respecto a otro objeto en una asociacin en un momento dado.
Empresa Razn Social Direccin
1 Emplea-a 1..*

Persona Nombre Edad

91

Multiplicidades

Cuntas instancias participan en 1 la relacin? Concepto


exactamente

1 exactamente 3 desde 1 hasta 5 exactamente 3, 5 10 cero o ms cero o ms 1 o ms

3 1..5 3,5,10 n * 1..*

Concepto Concepto
Concepto Concepto Concepto Concepto
92

Identificacin de Conceptos

Se obtienen a partir de casos de uso y documentos con informacin del problema

Puede utilizarse la tcnica de anlisis de casos de uso. Es mejor sobre especificar un modelo conceptual con conceptos muy granulares a que falten conceptos.

93

Anlisis de Casos de Uso

Es el proceso de examinar los casos de uso para descubrir objetos y clases para el sistema a desarrollar

Selecciona un caso de uso Identificacin de conceptos


1. 2.

3. 4.

Sacar una lista de los sustantivos Clasificar los sustantivos en objetos, actores, clases, atributos o ninguno Seleccionar conceptos o clases candidatos Para los objetos abstraer sus clases correspondientes

Representar los conceptos y atributos en un diagrama de clases

94

Lectura del Modelo Conceptual

Una regla no escrita es que el modelo se lee de arriba hacia abajo y de izquierda a derecha
Aerolnea
1 Emplea 1..*

El nombre de la asociacin comienza con mayscula y si arma una frase se separa con guin

Asignada-a

Asignado-a
*

Persona
1 Supervisa *

Vuelo

Avin

95

Glosario de Trminos

El glosario de trminos es un artefacto de RUP que sirve para especificar el significado de los trminos manejados en el proyecto

Incluye la definicin de los conceptos y atributos

Es un diccionario de trminos donde se describe de forma breve los trminos o conceptos manejados en el negocio. Es necesario para que tanto usuarios como desarrolladores manejen la misma terminologa.
96

Glosario de Trminos
Concepto Empresa Empleado Direccin Definicin
Entidad constituida legalmente que se crea para comercializar productos o servicios Persona que ofrece sus servicios a una empresa a cambio de una retribucin econmica Ubicacin de la empresa, que consta de Colonia, Calle, Delegacin y Ciudad
97

Descripcin de Actores

Como parte del glosario de trminos se tiene que describir de forma breve a los actores.
Definicin
Usuario del sistema que mantiene los catlogos de la empresa

Concepto Administrador

Gerente de Recursos Persona que dirige el rea de RH y que est autorizada para realizar movimientos crticos del Humanos
rea en la empresa, tales como la generacin de la nmina

98

Ejemplo

Desarrollar el modelo conceptual del caso de estudio.

99

Conclusiones

Un concepto es cualquier cosa idea u objeto El modelo conceptual es la representacin de los conceptos del mundo real relevantes en el dominio Un concepto modelado para el sistema debe representar informacin til dentro del contexto analizado Los atributos son los datos simples que describen al concepto Dos conceptos estn asociados cuando existe una relacin entre ellos en el contexto analizado
100

Conclusiones

La multiplicidad entre dos conceptos indica el nmero de repeticiones de un concepto en relacin al otro El anlisis de sustantivos es la tcnica utilizada para identificar posible conceptos del dominio a partir de los sustantivos identificados en los casos de uso y otros documentos El glosario de trminos es el artefacto donde se describe y estandariza el significado de la terminologa o conceptos del sistema a desarrollar
101

Diseo Orientado a Objetos

102

Diagramas de Interaccin
El Diagrama de Secuencia y de Colaboracin
103

Objetivos

Aprender cmo modelar la estructura dinmica de un sistema Aprender a desarrollar un diagrama de secuencia para modelar el comportamiento de los objetos en un sistema Aprender a desarrollar un diagrama de colaboracin Entender las diferencias y similitudes entre los 2 tipos de diagramas de interaccin
104

Diagrama de Interaccin

Son los artefactos de UML mediante los cuales se modelan las interacciones entre las clases para llevar a cabo (o realizar) un caso de uso, una parte de este o un escenario en particular. Es la representacin grfica de un flujo de eventos.

105

Tipos de Diagramas de Interaccin

Existen 2 tipos de diagramas de Interaccin:


Diagramas

de Secuencia Diagramas de Colaboracin

Cada uno de estos diagramas se enfoca en ciertos aspectos especiales del sistema.
106

Diagramas de Interaccin
Diagrama de Secuencia
Objeto : Clase
Objeto2 : Clase

Diagrama de Colaboracin
1: Mensaje

Juan : Actor

Objeto : Clase

Pasos o eventos del caso de uso.

1: Mensaje 2: Operacion ( )
Juan : Actor 2: Operacion ( ) 3: Mensaje Reflexivo

<< Foco de Control

3: Mensaje Reflexivo

Objeto2 : Clase
<< Linea de Vida

107

Diagrama de Secuencia

Es el artefacto de UML que se utiliza para mostrar las interacciones entre los objetos, enfocndose en el orden o la secuencia de pasos del caso de uso.
: Cliente

Pantalla Mensaje 1

Objeto : Clase

Mensaje 2

108

Elementos del D. de Secuencia


Juan : Actor

Objeto : Clase

Objeto2 : Clase

Pasos o eventos del caso de uso.

1: Mensaje 2: Operacion ( ) << Foco de Control


3: Mensaje Reflexivo

<< Linea de Vida

109

Objetos y Clases

Existen 3 formas de mostrar un objeto o clase en un diagrama de secuencia


nicamente el nombre del objeto o instancia nombre del objeto y clase asociada nicamente el nombre de la clase

objEmpleado

objEmpleado : Empleado

: Empleado

110

Lnea de Vida

Lnea vertical punteada que representa la existencia de un objeto en un momento determinado. Es posible indicar la creacin y destruccin del objeto.

:Avion
create

:Vuelo

destroy

111

Mensaje

Las flechas que van de una lnea de vida a otra son mensajes entre los objetos

El objeto que recibe el mensaje es el servidor y el que enva el mensaje es el cliente

Un mensaje puede corresponder a una operacin en una clase o a un trigger en un diagrama de estados
:Avion
Asignar (IdAvion) VerificarSalida ( )

:Vuelo

Vuelo
Asignar (IdAvion) VerificarSalida ()
112

Foco de Control

Periodo de tiempo en el que un objeto est realizando una accin, ya sea directamente o mediante un procedimiento subordinado
:Avion :Vuelo :Plan
Foco de control del procedimiento Asignar(IdAvion) Tiempo en que se est ejecutando Asignar(IdAvion)

Asignar (IdAvion)
Verificar (IdAvion)

113

Foco de Control Jerrquico

Sirve para remarcar el control que tiene un subprocedimiento de un objeto


:Avion :Vuelo
Foco de control del procedimiento Asignar(IdAvion) VerificarSalida ( ) Tiempo en que se ejecuta VerificarSalida

Asignar (IdAvion)

114

Notacin de Mensajes
[predecesor]+[condicin de guardia]+[variable :=]+mensaje (parmetros)
:Avion :Vuelo

1. blnVueloAbierto:= FueAbierto (IdVuelo:Integer):Boolean 1.1 VerificarSalida ( )

2. [blnVueloAbierto] Asignar (IdAvion)

115

Numeracin de Mensajes
:Cajero :Cuenta :PersCuenta

Enteros secuenciales

1. AplicarRetiro ( ) 2. ValidarCuenta ( ) 3. CrearTransaccion ( )

:Cajero

:Cuenta

:PersCuenta

1. AplicarRetiro ( ) 1.1. ValidarCuenta ( )

Jerrquicos

1.2. GuardarTransaccion ( )
116

Numeracin de Mensajes
:Cajero :Cuenta :PersCuenta

Sin numeracin

AplicarRetiro ( ) ValidarCuenta ( ) CrearTransaccion ( )

:Cajero

:Cuenta

:PersCuenta

1. AplicarRetiro ( ) 1.1a. [NIPValido]ValidarCuenta( )

Alternativos

1.1b. [Not NIPValido]CrearTransaccion ()

117

Mensajes Iterativos

Para expresar que un mensaje se enva repetidamente al objeto receptor se utiliza un *


:POST :Venta

1*: li:= siguienteRenglonVenta():RenglonVenta

:POST

:Venta

1*: [i:=1..10]li:= siguienteRenglonVenta():RenglonVenta


118

Mensajes

Mensaje

Verificar edad del empleado

Llamada a procedimiento
Retorno de una llamada a procedimiento

AsignarVuelo (IdVuelo)

AsignarVuelo (IdVuelo)

119

Relacin entre el Diagrama de Secuencia y el de Clases


: frmVenta : Factura : Renglon

: Vendedor

1: Inicializa Venta
2: Inicializar(Cliente, Fecha)

3: Agrega producto
4: AgregarProducto(ClaveProducto, Cantidad) 5: Crear(ClaveProducto, Cantidad)

120

Ejercicio

Desarrollar el diagrama de secuencia del caso de uso especificado.

121

Diagrama de Colaboracin

Al igual que el diagrama de secuencia modela las interacciones entre las clases, y entre actores y clases en un caso de uso o escenario. A diferencia de los diagramas de secuencia que dan ms nfasis al orden de los pasos, este se enfoca ms en la parte estructural o la relacin entre las clases.

122

Diagrama de Colaboracin
1: Mensaje

Objeto : Clase

2: Operacion ( ) Juan : Actor

3: Mensaje Reflexivo

Ligas
Objeto2 : Clase

123

Objetos y Clases

Indica el objeto y/o clase que interviene en la interaccin Puede estar descrito de 3 formas diferentes:
:Clase
: Empleado

Objeto
Objeto:Clase
objEmpleado objEmpleado : Empleado

124

Colecciones de Objetos

En el diagrama de colaboracin las colecciones de objetos aparecen grficamente con la siguiente notacin Representan grupos de objetos con multiplicidad mayor a uno

: Empleado

colEmpleados : Empleado

ListaEmpleados : Empleado

125

Colecciones de Objetos

Coleccin en Diagrama de Clases


Empresa

Coleccin en Diagrama de Colaboracin


: Empresa

1..*

+ListaEmpleados
ListaEmpleados : Empleado

Empleado

126

Ligas

Sirve para indicar que dos objetos pueden realizar interacciones entre s
Junto

: Empresa : Empleado

a la liga se indica cada uno de los mensajes que se envan los objetos

ListaEmpleados : Empleado

127

Mensajes

Es una llamada de un objeto a otro 2.2. CalculaEdad(FechaActual):Integer Se coloca junto a la liga 2.1. ObtenAoNacimiento():Integer entre dos objetos Una liga puede servir 2. Edad:=ObtenEdad:Integer : Empresa como medio para empl : Empleado transmitir ms de un 1. *[i:=1..n]empl:=siguienteEmpleado():Empleado mensaje Un mensaje puede ListaEmpleados : representar una Empleado operacin del objeto receptor Un mensaje puede ser reflexivo, cuando el cliente y el servidor es la misma clase 128

Analogas
Diagrama de Secuencia
Objeto : Clase
Objeto2 : Clase

Diagrama de Colaboracin
1: Mensaje

Juan : Actor

Objeto : Clase

Pasos o eventos del caso de uso.

1: Mensaje 2: Operacion ( )
Juan : Actor 2: Operacion ( ) 3: Mensaje Reflexivo

<< Foco de Control

3: Mensaje Reflexivo

Objeto2 : Clase
<< Linea de Vida

129

Ejercicio

Desarrollar el Diagrama de Colaboracin del caso de uso especificado.

130

Conclusiones

Los diagramas de interaccin muestran la forma en que se da la comunicacin entre las clases participantes en un caso de uso o escenario. Existen 2 tipos de diagramas de interaccin: de secuencia y de colaboracin. Cada uno de los tipos de diagramas de colaboracin se enfoca a aspectos especficos de la colaboracin entre los objetos.
131

El Diagrama de Clases
La Estructura Esttica del Sistema

132

Objetivos
Conocer los elementos de UML para modelar un diagrama de clases El alumno podr desarrollar un diagrama de clases con base en los artefactos generados durante el anlisis El alumno conocer los elementos de un diagrama de clases

133

Diagrama de Clases
Es el artefacto principal en el desarrollo orientado a objetos Muestra las clases en las que se implementar el sistema, sus relaciones, atributos y operaciones

134

Elementos en un Diagrama de Clases (1/2)

Clases Atributos Operaciones Scope o alcance de atributos y operaciones

135

Elementos en un Diagrama de Clases (2/2)


Relaciones Elementos de las Asociaciones y Agregaciones

Navegabilidad

Roles
Multiplicidad

Visibilidad entre clases


136

Atributos

Descripcin de un dato que define a una clase El atributo debe tener especificado un nombre, tipo de dato y scope Cada objeto instanciado de una clase tiene su propio valor para el atributo

137

Operaciones

Especificacin de una transformacin o query que puede ser solicitado a un objeto Consta de un nombre y una serie de parmetros (firma de la operacin) Un mtodo es la implementacin de una operacin

138

Scope de Atributos y Operaciones


Es la visibilidad que tienen las clases hacia los atributos y operaciones de una clase con la cual estn relacionadas. Existen 3 tipos de scope:

Pblico
Privado Protegido

139

Control de Acceso y Encapsulamiento

El control de acceso se emplea para reforzar el encapsulamiento Atributos Privados


Operaciones protegidas y privadas Operaciones pblicas

140

Especificacin del Control de Acceso

Se pueden usar smbolos de acceso en una clase para indicar la accesibilidad a sus atributos y operaciones
+

Acceso Pblico # Acceso Protegido - Acceso Privado

El acceso es concedido, de manera explcita, por la misma clase y no forzado por el cliente

141

Especificacin del Control de Acceso


Curso - maxAlumnos - Nombre + agregarAlumno () + estaLleno () # determinarTamaoCurso ()

142

Tipos de Relaciones entre Clases


Modulo

Asociacin Agregacin y Composicin Generalizacin Dependencia

Curso

Alumno Diplomado

143

Asociacin
Es la relacin ms simple entre dos clases Indica que 2 clases pueden verse o solicitar sus servicios

Clase
Asociacin

Clase2

144

Clases Asociacin

Una clase asociacin contiene informacin perteneciente a un vnculo entre objetos


Alumno
3..10 4

Curso

Calificacin
Promedio

145

Roles

En trminos de anlisis indica el rol que toma una clase con respecto a otra en una relacin de asociacin En trminos de implementacin es el nombre de la instancia u objeto que se utilizar para solicitar los servicios de la clase y para asignarle valores a sus atributos
Empresa +Empleado Persona

146

Navegabilidad

La asociacin sin flechas indica que ambas clases pueden verse y comunicarse entre s Pero, en ocasiones no es necesario eso, sino que una sola clase es la que requiere comunicarse con la otra, en este caso indicamos que existe navegabilidad hacia un solo lado por medio de una punta de flecha al final de la asociacin
Empresa +Empleado Persona

147

Agregacin

Es una clase especial de asociacin donde una clase contiene a otra clase, o donde una clase es parte de otra clase
Un

Motor contiene Vlvulas (o las vlvulas son parte del motor)


Motor *
148

Vlvula

Composicin

Es un tipo de agregacin ms slido donde las partes slo existen cuando existe el contenedor
Una

mano est compuesta de dedos

Si la mano desaparece los dedos no sirven de nada

Slo puede ser parte de un contenedor


Mano *
149

Dedo

Herencia

Es una relacin donde una clase es un tipo especial de otra clase. Es decir, tiene todas las caractersticas (atributos, operaciones y relaciones) de la sperclase ms otras especiales

Un carro es un tipo especial de transporte

Existen dos formas de identificar la herencia:


Generalizacin Especializacin

150

Generalizacin

Cuando obtenemos caractersticas comunes de varias clases para crear una sperclase de la cual van a heredar todas las subclases las caractersticas comunes

Carro Motor Llantas

Barco Motor Aspas

151

Generalizacin
Transporte
Motor

Carro Llantas

Barco

Aspas

152

Especializacin

Es la tcnica mediante la cual se identifica que una clase puede comportarse o tener caractersticas diferentes dependiendo de cierta situacin o condicin Identificamos cules son las caractersticas que nunca cambian y las dejamos en una sperclase, y las caractersticas especiales las ponemos en nuevas clases llamadas subclases
Transporte Transporte
Motor Llantas Aspas Motor

Carro Llantas

Barco

Aspas
153

Dependencia

Es un tipo de relacin menos duradera que una asociacin o una agregacin


La

comunicacin slo es posible en momentos especficos de la clase dependiente (p.ej. cuando instanca o recibe como parmetro a la 2a clase)
Nomina Empresa

154

Visibilidad

Existen cuatro opciones de visibilidad


Global

El objeto servidor es un objeto global


El objeto servidor es un parmetro de una operacin del objeto cliente El objeto servidor se declara localmente El objeto servidor es un campo contenido en el objeto cliente
155

Parmetro

Local

Campo

Visibilidad

Indica cmo y bajo que circunstancias pueden comunicarse dos clases relacionadas

Visibilidad Global

Tipo de Relacin dependencia

Por parmetro
Local

dependencia
dependencia

Por campo

asociacin, agregacin o composicin


156

Elaboracin del Diagrama de Clases


Identificar operaciones y su scope (usar d. de interaccin) Identificar atributos con su tipo de dato y scope Identificar relaciones entre clases (usar d. de interaccin) Organizar clases en paquetes lgicos

157

Informacin en Diagrama de Interaccin


El diagrama de interaccin es uno de los productos de entrada ms importantes para elaborar el de clases Pasos para Refinar el Diagrama de Clases a partir del de interaccin

Convertir mensajes en operaciones Definir scope de las operaciones Decidir visibilidad requerida entre 2 clases comunicndose en el d. De interaccin Si es global, local o por parmetro mostrar una dependencia en el d. De clases Si es por campo

Identificar si es una relacin de un todo con sus partes

Si la parte, slo es parte en una relacin de composicin, marcarla como composin Si no marcarla como agregacin

Si no, marcarla como asociacin Mostrar la multiplicidad, navegabilidad y rol


158

Paquetes de Clases

Las clases se pueden agrupar lgicamente en paquetes


Las

clases que se agrupan son las que guardan una relacin cercana entre s, ya sea de funcionalidad o de datos Estos grupos o paquetes lgicos de clases son los que suelen convertirse en componentes

Paquete

159

Paquete de Clases
Nmina Empresa

Empleado

Empresa

Nmina

Direccin

Impuestos

Ventas

Venta

Cliente

Producto

Factura

160

Ejercicio

Desarrollar el diagrama de clases del caso de estudio.

161

Conclusiones

El diagrama de clases muestra la estructura esttica del sistema Un diagrama de clases muestra las clases y sus relaciones Existen diferentes tipos de relaciones y visibilidad entre las clases Las clases se pueden agrupar lgicamente en paquetes para reducir la complejidad
162

Diagrama de Estados

163

Objetivos
Aprender a modelar los posibles estados de una clase por medio de un diagrama de transicin de estados Entender el comportamiento de un sistema a partir de sus cambios de estado Podr interpretar el diagrama de estados en cdigo

164

Definicin

El diagrama de estados muestra:


La

biografa de un objeto Los eventos que causan la transicin de un estado a otro Las acciones resultantes de un cambio de estado

Muestra todos los posibles estados de un objeto


165

Ejemplos Simples
Niez
Estados de un Avin

Encendido

Adolescencia

Madurez
Despegue Volando

Senectud
Apagado Aterrizando

166

Estado

Un estado es una condicin o situacin en la vida de un objeto durante la cual


satisface

alguna condicin, realiza algunas actividades o est en espera de algn evento


167

Elementos

Estados Transiciones Eventos Condiciones de Guarda Acciones Estados Anidados Historia

168

Estado

Es una de las posibles condiciones en la que un objeto puede existir y est determinada por una de las 3:

Abierto

Valores de atributos Espera de algn evento Ejecucin de alguna accin

Nombre nico a nivel de clase o a nivel de superestado Estados con el mismo nombre en un diagrama representan el mismo estado
169

Estados Especiales o Pseudoestados

Estado Inicial.

Inicializando
do/ Inicializar el objeto curso

Un pseudo estado que indica el primer estado que toma un objeto cuando es creado Es obligatorio Slo se permite uno Indica el final de la vida de un objeto Es opcional Puede existir ms de uno

RegistroCompletado
do/ Generar lista del curso

Estado Final

170

Transicin de Estado
Abierto entry/ Registrar un alumno agregarAlumno

Es un cambio del estado original a un estado sucesor como respuesta a un estmulo


El

[ numAlumnos =

10 ]

Cerrado

estado sucesor puede ser el estado original

do/ Reportar que el curso esta cerrado

En respuesta a un evento Al cumplirse una condicin


171

evento (argumentos) [condicin] / accin ^ objetivo.enviarEvento (argumentos)

Eventos
Encender PC

Inicializacin

Es una ocurrencia que sucede en un instante de tiempo dado


El

Operacin
Apagar PC

estado de un objeto determina la respuesta a diferentes eventos

Apagada

172

Condicin de Guarda
agregarAlumno

Abierto

[ numAlumnos = 10 ]

Cerrado

Es una expresin Booleana sobre el valor de los atributos de un objeto que se debe cumplir para que se d la transicin de estado

173

Acciones
agregarAlumno

Abierto

Es una operacin que puede estar asociada a una transicin o a un estado

Transicin

[ numAlumnos = 10 ]

Instantneas No interrumpibles
No instantneas Interrumpibles Se ejecutan a la entrada, durante, a la salida o al ocurrir un evento.

Estado

Cerrado

174

Estados Anidados o Compuestos


Registrando

NoAsignado
do/ Asignar profesor al curso
agregarAlumno / numAlumnos = 0

Abierto
entry/ Registrar un alumno
[ numAlumnos = 10 ]

agregarAlumno

Cerrado
do/ Reportar que el curso esta cerrado
H

Reducir la complejidad El superestado anida subestados Las transiciones comunes a los subestados se representan a nivel de superestado Anidamiento a cualquier nivel de profundidad

175

Historia

Registrando

NoAsignado
do/ Asignar profesor al curso
agregarAlumno / numAlumnos = 0

Abierto
entry/ Registrar un alumno
[ numAlumnos = 10 ]

agregarAlumno

Cerrado
do/ Reportar que el curso esta cerrado
H

Al regresar a un superestado, ste recuerda cual fue el ltimo estado visitado e inicia ah Si la caracterstica de historia no es empleada, al regresar al superestado se ingresar siempre al estado inicial

176

Consideraciones

Durante el anlisis, se debe poner especial atencin en las clases que presentan un comportamiento significativamente dinmico

177

Conclusiones
Un diagrama de transicin de estados sirve para mostrar los posibles estados y transiciones de un objeto. Una transicin indica el posible cambio de un estado a otro cuando ocurre un evento y/o se cumple una condicin. Los estados compuestos o sper estados agrupan un conjunto de estados.

178

El Modelo de Componentes

179

Objetivos

El alumno aprender a modelar los componentes que conforman a un sistema Comprender qu es un componente de software Enlistar los beneficios de los componentes Aprender en qu consiste el desarrollo de software basado en componentes Apreciar los beneficios del desarrollo de software basado en componentes El alumno aprender a modelar la distribucin del sistema en componentes de hardware
180

Desarrollo Basado en Componentes

El desarrollo basado en componentes es la adopcin e implantacin de mtodos, tcnicas, herramientas, estndares y tecnologas de soporte para crear sistemas de software a partir de componentes predefinidos.

181

Componente de Software

Los componentes son agregaciones de piezas ms pequeas de software (p.ej. Clases) Los componentes se utilizan como bloques de construccin de la estructura de un sistema Es una parte fsica reemplazable de un sistema de software que tiene una interfaz que proporciona acceso a sus servicios.

Factura

182

Encapsulamiento en Componentes

Un componente encapsula la complejidad de la implementacin mostrando nicamente la interfaz.


La

interfaz es todo aquello que puede ser visto y controlado por el usuario para hacer uso del componente

183

Beneficios de los Componentes


Aumenta la productividad de la gente Aumenta la calidad Disminuye el tiempo de entrega Fciles de utilizar

184

Tipos de Componentes

Existen diferentes tipos de componentes


Libreras .cpp .h .java .class Ejecutables .exe .dll

<<EXE>> Factura

El tipo de componente se indica como estereotipo del componente


185

Diagrama de Componentes
Conta.exe Compras.exe

Sistema Contable
Producto

Cotizacion.dll Productos.dll
Catalogo Cotizacion CtrlSolicitud

Cotizador

CtrlProveedores

Cotizacion Producto

Proveedor

Solicitud

186

Interfaces

Un especificador de las operaciones externamente visibles de una clase, componentes u otras entidades como los paquetes IGestor Interface: IGestorVentas Servicios: Ventas

Registrar Agregar Producto Imprimir

Ventas

Un componente puede implementar una o ms interfaces.

Se simboliza con un crculo asociado con una lnea al componente

187

Implementacin de Interfaces
Equivale a una clase abstracta sin atributos ni mtodos, nicamente contiene operaciones abstractas Caractersticas:

Estructura

interna no especificada No tienen implementacin No tienen atributos, estados o asociaciones Slo tienen operaciones (pero no mtodos) Pueden tener relaciones de generalizacin
188

Realizacin

La clase que se ocupa de la implementacin de las operaciones de una interface tiene una relacin de realizacin con la interface (o con la clase abstracta) El componente donde est la clase que la implementa tambin tiene una relacin de realizacin

Nomina IEmpleado

189

Dependencia entre Componentes

Si un componente depende de otro significa que una clase del primer componente utiliza los servicios de una clase del segundo componente

Factura depende de Productos Factura no funciona si no existe Productos, pero lo contrario si es posible

Factura

Productos

Renglon Venta

Producto

190

Clases dentro de Componentes

Tips para seleccionar las clases de cada componente:


Juntas

forman un solo objeto ms complejo desde la perspectiva del usuario Existe mucha dependencia entre ellas Si los servicios de una de las clases son requeridos por ms de 1 componente entonces tal vez debera de estar en un componente aparte para poder ser utilizada por varios

191

Clases dentro de Componentes


Si

una clase es parte nicamente de una clase X y de ninguna otra, entonces debera de encontrarse en el mismo componente. El componente debe ofrecer pocos servicios y muy especializados hacia el exterior

192

Clases en Componentes
Empresa Empleado Direccin

Nmina Producto Impuestos

Venta
Cliente Factura

193

Componente: CtasCliente.dll
CtasCliente

194

Comunicacin con Interfaces


<<DLL>> SistCentral
Interf aceSis Central

<<DLL>> CtasCliente

<<DLL>> Movimientos
Mov imiento Cuenta

195

Ejercicio

Agrupa las clases del caso de estudio y define los componentes en un diagrama de distribucin

196

Conclusiones

Un componente es una parte fsica reemplazable de un sistema Los componentes agrupan clases lgicamente relacionadas entre s Los componentes pueden implementar una o varias interfaces Una interface es un conjunto de servicios con un nombre La dependencia entre componentes indica que una clase dentro de un componente utiliza a otra en otro componente

197

Diagrama de Distribucin o Despliegue

198

Objetivos
Que el alumno sea capaz de modelar la arquitectura fsica de un sistema Entender los elementos de un diagrama de distribucin

199

Diagrama de Distribucin

Muestra la implementacin fsica de los componentes de software en componentes de hardware, as como el tipo de conexin entre estos. Detalla: Capacidad de la red, especificaciones de servidores, requerimientos de hardware y dems informacin necesaria para distribuir el sistema propuesto
Cliente c/Browser Servidor UNIX

Internet

200

Nodos

Los nodos se utilizan para representar cualquier servidor, estacin de trabajo o cualquier otro hardware utilizado para distribuir los componentes en el ambiente de produccin Ejemplo: Servidor 3PentiumIII, Cliente Pentium II, Servidor de BD.

Servidor UNIX

201

Ligas

Muestra la conexin entre dos dispositivos de hardware (nodos).


Se

le pueden agregar notas o estereotipos para indicar el tipo de coneccin y/o protocolo utilizado.
Cliente c/Browser Servidor UNIX

Internet

202

Distribucin de Componentes

Pueden combinarse el diagrama de componentes con el de distribucin para mostrar qu componentes de software irn en qu nodo de hardware

Algunas herramientas de modelado no soportan este tipo de notacin

203

Ejemplo

204

Dispositivos

Adems de los nodos, que representan computadoras y/o procesadores en este diagrama pueden mostrarse los dispositivos especiales requeridos:
Lectores

pticos, monitores, sensores, etc.

Se conectan mediante ligas al nodo que representa la computadora a la cual van conectados fsicamente
205

Diagrama de Despliegue

206

Ejercicio:

Desarrollar el Diagrama de Distribucin para el caso de estudio.

207

Conclusiones

El diagrama de distribucin muestra la ubicacin de los componentes de software en componentes de hardware El diagrama de distribucin est compuesto de nodos y ligas Se puede mostrar en un nodo los componentes que corren en este

208

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