Академический Документы
Профессиональный Документы
Культура Документы
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 se Dise
(en ocasiones...)
9
La Moraleja
La moraleja de la historia
Comunicacin
Efectiva
comunicacin multidisciplinaria
La Torre de Babel
Cada
10
El Proceso 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
al mostrar slo ciertas caractersticas en cada modelo la comprensin de la idea, concepto, sistema,
Herramienta de comunicacin
Facilita
etc.
14
Modelo Visual
diagramas
15
Simplificando la Complejidad
16
envo
Mltiples Sistemas
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
UML 1.2
21
Shlaer-Mellor
Object life cycles
UML
State Charts
Harel
Embly
Singleton classes
Wirfs-Brock Fusion
Operation descriptions, message numbering
Responsabilities
22
23
24
Sistema de Informacin Institucionales Bancos y Servicios Financieros Telecomunicaciones Transporte Comercio Electrnica mdica mbito cientfico Servicios distribuidos basados en la Web
25
26
Artefactos
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
Anotacin
28
Enfoques
Estructural
Comportamiento
Diagramas dinmicos
Casos
Diagramas estticos
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
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
34
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
Muestra el Comportamiento del Sistema Muestra el Alcance del Cliente Sistema Interacciones con entidades Operador ATM externas
Correr Reportes
Mantenimiento ATM
37
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
39
Un Usuario/Dos Actores
Inserta tarjeta 123 456 789 *0#
Operador
40
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:
42
Cajero Automtico
Conducir Transacciones
Bancarias
Cliente
Sist. Bancario
Correr Reportes
Operador ATM
Mantenimiento ATM
43
?????
Aplicar Descuento
Autorizar Crdito
Estereotipos
<<Estereotipo>>
45
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
El Caso de Uso includo forma parte del caso de uso Caso de Uso Includo base Caso de Uso Base
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
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
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
breve descripcin
El
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
Que el cajero cuente con efectivo Que el cliente haya accesado a su cuenta Que haya coneccin con el sistema bancario central
58
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
59
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
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
usuario y a los desarrolladores les ayuda a aterrizar y esclarecer ideas Reduce riesgos de requerimientos mal entendidos
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
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
Actividad 1
Actividad 2
Estado Final
73
Sincronizaciones
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
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
Enviar Producto
tiles para modelar flujos de trabajo de negocio Similares a un objeto Indican responsable de ejecutar una actividad especfica
76
Objeto
Reproducto r de CD [Pausado]
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
Procesar Busqueda
Recibir Alumno
Devolver Alumno
78
Ejercicio
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
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
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
entre conceptos
El artefacto que se utiliza en UML para representar el modelo conceptual es el diagrama de clases
84
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
Empresa
Persona
86
Atributos de Conceptos
Son los datos simples que representan las caractersticas de un concepto (objeto)
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
88
Pertenece
1
Cuenta Numero
Clave
89
Empresa Persona
Emplea-a
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..*
91
Multiplicidades
Concepto Concepto
Concepto Concepto Concepto Concepto
92
Identificacin de Conceptos
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
Es el proceso de examinar los casos de uso para descubrir objetos y clases para el sistema a desarrollar
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
94
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
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
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
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
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
1: Mensaje 2: Operacion ( )
Juan : Actor 2: Operacion ( ) 3: Mensaje Reflexivo
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
Objeto : Clase
Objeto2 : Clase
109
Objetos y Clases
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
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
Asignar (IdAvion)
114
Notacin de Mensajes
[predecesor]+[condicin de guardia]+[variable :=]+mensaje (parmetros)
:Avion :Vuelo
115
Numeracin de Mensajes
:Cajero :Cuenta :PersCuenta
Enteros secuenciales
:Cajero
:Cuenta
:PersCuenta
Jerrquicos
1.2. GuardarTransaccion ( )
116
Numeracin de Mensajes
:Cajero :Cuenta :PersCuenta
Sin numeracin
:Cajero
:Cuenta
:PersCuenta
Alternativos
117
Mensajes Iterativos
:POST
:Venta
Mensajes
Mensaje
Llamada a procedimiento
Retorno de una llamada a procedimiento
AsignarVuelo (IdVuelo)
AsignarVuelo (IdVuelo)
119
: Vendedor
1: Inicializa Venta
2: Inicializar(Cliente, Fecha)
3: Agrega producto
4: AgregarProducto(ClaveProducto, Cantidad) 5: Crear(ClaveProducto, Cantidad)
120
Ejercicio
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
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
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
1: Mensaje 2: Operacion ( )
Juan : Actor 2: Operacion ( ) 3: Mensaje Reflexivo
3: Mensaje Reflexivo
Objeto2 : Clase
<< Linea de Vida
129
Ejercicio
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
135
Navegabilidad
Roles
Multiplicidad
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
Pblico
Privado Protegido
139
140
Se pueden usar smbolos de acceso en una clase para indicar la accesibilidad a sus atributos y operaciones
+
El acceso es concedido, de manera explcita, por la misma clase y no forzado por el cliente
141
142
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
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
Vlvula
Composicin
Es un tipo de agregacin ms slido donde las partes slo existen cuando existe el contenedor
Una
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
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
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
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
Parmetro
Local
Campo
Visibilidad
Indica cmo y bajo que circunstancias pueden comunicarse dos clases relacionadas
Visibilidad Global
Por parmetro
Local
dependencia
dependencia
Por campo
157
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
Si la parte, slo es parte en una relacin de composicin, marcarla como composin Si no marcarla como agregacin
Paquetes de Clases
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
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
biografa de un objeto Los eventos que causan la transicin de un estado a otro Las acciones resultantes de un cambio de estado
Ejemplos Simples
Niez
Estados de un Avin
Encendido
Adolescencia
Madurez
Despegue Volando
Senectud
Apagado Aterrizando
166
Estado
Elementos
168
Estado
Es una de las posibles condiciones en la que un objeto puede existir y est determinada por una de las 3:
Abierto
Nombre nico a nivel de clase o a nivel de superestado Estados con el mismo nombre en un diagrama representan el mismo estado
169
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
[ numAlumnos =
10 ]
Cerrado
Eventos
Encender PC
Inicializacin
Operacin
Apagar PC
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
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
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
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
interfaz es todo aquello que puede ser visto y controlado por el usuario para hacer uso del componente
183
184
Tipos de Componentes
<<EXE>> Factura
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
Ventas
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
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
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
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
Venta
Cliente Factura
193
Componente: CtasCliente.dll
CtasCliente
194
<<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
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
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
203
Ejemplo
204
Dispositivos
Adems de los nodos, que representan computadoras y/o procesadores en este diagrama pueden mostrarse los dispositivos especiales requeridos:
Lectores
Se conectan mediante ligas al nodo que representa la computadora a la cual van conectados fsicamente
205
Diagrama de Despliegue
206
Ejercicio:
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