UML y orientación a objetos

Download Report

Transcript UML y orientación a objetos

Seminario - Taller
UML y
Orientación a Objetos
Una Visión Gerencial
Juan Bravo C.
Consultor de Empresas
1
Contenido
• Sesión 1: Orientación a Objetos
• Sesión 2: UML, Modelamiento visual del
•
•
•
software
Sesión 3: Desarrollo de un caso mediante
la Técnica UML
Sesión 4: Una visión de negocios de UML
y Orientación a Objetos
Conclusiones
UML y OO, Juan Bravo C,
2
Sesión 1
Orientación a Objetos
UML y OO, Juan Bravo C,
3
Sesión 1. Orientación a
Objetos
• Introducción
• Modelamiento de funciones y relaciones
•
•
funcionales
Clase, objeto, identidad de instancias,
mensajes, herencia, polimorfismo, ocultamiento
de datos, abstracción, independencia,
modularidad, personalización.
¿Cómo se implementa un modelo de objetos?
UML y OO, Juan Bravo C,
4
Introducción a la OO
• La más grande invención después del fuego
• La palabra más utilizada según balance IDC
• Diseño estructurado tiene más de 40 años
• Objetos: la única nueva técnica en las
últimas dos décadas
UML y OO, Juan Bravo C,
5
Visión funcional
• Método tradicional
– Eficiencia
• Prototipos
– Prueba y error
• Diseño estructurado
– Top down
– Descomposición funcional
UML y OO, Juan Bravo C,
compras, traspasos
y devoluciones
ventas, traspasos
y devoluciones
2
Despachar
1
Recibir
unidades y
costo
unidades
Artículos
6
Modelamiento de funciones
y relaciones funcionales
• Descomposición funcional
VENTAS
2
Actualizar
stock
1
Actualizar
stock
ARTÍCULOS
3
MERMAS
Actualizar saldo de
crédito del cliente
CLIENTES
Artículos
Mensaje 1
Ventas
• Código
Descripción
Stock
1. Restar
stock
.......
UML y OO, Juan Bravo C,
7
Fundamentos de la OO
•
•
•
•
Naturalidad
– Se parece a como interactúan las personas
– Provee una visión sistémica
Incorpora procesos de aprendizaje
– Clases y código reutilizable
Eficiencia
– Visión holística y menos código (no repetición)
Énfasis en los contenidos
– ¿Qué espera del objeto clientes?
UML y OO, Juan Bravo C,
8
Beneficios
• Representación más simple y amplia,
•
•
aplicable a todo el ciclo de vida
Mejor interacción usuario/analista/diseñador
Más apropiado para abordar problemas
complejos
UML y OO, Juan Bravo C,
9
Beneficios en cada etapa
• En el Diseño
– La visión sistémica acerca al usuario
– Facilita el trabajo en equipo
• En la Construcción y Mantención
–
–
–
–
–
Disminuye la cantidad de funciones
Facilita la reusabilidad
Reduce la complejidad
Tiempos desde 100 a 1 (en teoría)
Simplifica y reduce la mantención
UML y OO, Juan Bravo C,
10
Visión de los datos
• Datos originales y normalizados
– Relaciones
– Evitar resultados y redundancia
• En una forma tabular
• Uso de querys para recuperar
Encabezado
de compras
Detalle de
compras
UML y OO, Juan Bravo C,
Proveedores
Clientes
Artículos
línea blanca
Encabezado
de ventas
Detalle de
ventas
11
Objetos (encapsulamiento)
• Funcionalidad incorporada en un todo
•
indivisible (¿inteligencia?)
Recursividad
Msg 1
VENTAS
UML y OO, Juan Bravo C,
ARTÍCULOS
 código
descripción
stock
1.- Resta
stock
.......
Msg 1
MERMAS
12
Conceptos Generales
• Clase
• Objeto
• Función
• Mensaje
• Independencia
• Enfoque sistémico
UML y OO, Juan Bravo C,
13
Proceso de generalización
•
•
•
Como el proceso
cognoscitivo
Se forman clases
a partir de objetos
comunes
Luego herencia
Transacciones
Personal
de sueldos
 RUT
#documento
nombre

C/E
RUT
total haber
monto
msgs 18/19 total descto
ingreso
18. Suma haber
informe
19. Suma descto
Tabla de objetos, clase Transacciones de sueldos
Objeto
Atributos
Anticipos
Préstamos
Bonificaciones
UML y OO, Juan Bravo C,
Funciones
msg 19
Nº cuota
msg 19
msg 18
14
Diagrama de diseño
generalizado
Encabezado
de transacción
Detalle de
transacción
UML y OO, Juan Bravo C,
C/E
msg 1
Ingreso de
Transacción
C/E
C/E
msgs 4 y 5
Personas
Productos
15
Orientación a Objetos
• Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,
16
Sesión 2
UML, Modelamiento
visual del software
UML y OO, Juan Bravo C,
17
UML, Modelamiento visual
del software
• Introducción
• Modelos de UML: casos de uso, modelo
•
conceptual, diagrama de secuencia,
funciones básicas del sistema, visión
dinámica, contrato, diagrama de diseño de
clases, diagrama de colaboración y otros.
Relación de UML con métodos,
herramientas y la orientación a objetos.
UML y OO, Juan Bravo C,
18
Introducción a UML
• Unified Modeling Language o
•
•
•
Modelamiento Visual del Software
Surgió a solicitud de la OMG (énfasis en el
desarrollo basado en componentes y
patrones)
Aportes combinados de Grady Booch, Jim
Rumbaugh e Ivar Jacobson
Relación con desarrollo en espiral
UML y OO, Juan Bravo C,
19
Casos de uso
terminal en la tienda
vendedor
Consultar situación
del cliente
Saldo de crédito y
posibilidades de cuotas.
Apoyo en realización de
cálculos respecto a
financiamiento
UML y OO, Juan Bravo C,
20
Diagrama de casos de uso
Terminales en la Bodega
Consultar saldo
en su bodega
Bodeguero
Jefe de
Bodega
Consultar saldo
en otra bodega
Ingresar ajuste
de stock
UML y OO, Juan Bravo C,
21
Caso de uso expandido
Terminal del Administrativo. de Adquisiciones
Administrativo de
Adquisiciones
Ingresar O/C
Resumen: (puede ser similar caso de uso de alto nivel). Funciones relacionadas: ...
Curso Normal de los eventos
Acción del actor
Tomar la O/C desde el archivador
1. Ingresar Nº O/C en (A)
3. Ingresar Rut en (D)
5...
Para cada línea:
6. Ingresar el código de producto
en (H)
8. Ingresar las unidades en (K)
9. Dar OK a la línea
Respuesta del sistema
...
2. Verifica correlativo y envía respuesta en (B)
4. Verifica que proveedor exista, obtiene y
despliega nombre y fono en (E) y (F)
Para cada línea:
7. Verifica existencia del producto, obtiene
y despliega la descripción y el precio en (I)
y (J)
9. Calcula el Subtotal y despliega en (L)
10. ...
Excepciones: 1. Si el número de O/C ya existe, vea caso de uso “Corregir Correlativo”. 2...
Adjunta: Interfaces detalladas de E/S
22
Modelo Conceptual
Conceptos y asociaciones
Encabezado
de O/C
compuesta por
se asocia a
contiene
*
existe en
Proveedores
1
1
1..*
Líneas de la
O/C
contiene
*
existe en
Productos
1
existe en
almacena
*
1
Bodega
UML y OO, Juan Bravo C,
23
Diagrama de Secuencia
Actor
Caso de uso Ingresar O/C
Administrativo
Sistema
Sistema como una caja negra
Operación (o mensaje)
que activa una o más
funciones en el sistema
Ingresar Nº de O/C
Repetir hasta
que no haya más
productos
Ingresar código de prod.
Ingresar cantidad
Dar OK a la línea
UML y OO, Juan Bravo C,
24
Diagrama de Estado
Ingresar línea de O/C
En espera de la O/C
Ingresar Nº de O/C
Introducción de líneas
Terminar la O/C
Imprimir la O/C
UML y OO, Juan Bravo C,
En espera del cierre
25
Visión dinámica del sistema
Sistema
Ingresar Nº de O/C
Ingresar código de producto
Ingresar cantidad
Dar OK a la línea
UML y OO, Juan Bravo C,
26
Contrato
Identificación: Dar OK al ingreso de la línea
Responsabilidades: con cada ingreso de línea los
conceptos deben ser consistentes.
Tipos de datos: afecta a los conceptos Encabezado
de O/C y Detalle de O/C.
Referencias cruzadas: no hay
Notas: nada especial
Excepciones: la no existencia de la línea en el
sistema ya fue validada con el ingreso de O/C.
Salida: no hay
Precondiciones: no existe la línea.
Poscondiciones:
•Se creó una línea en el concepto detalle.
• Se actualizó el contador de líneas en el
encabezado.
• Se actualizó la asociación entre encabezado y
detalle de O/C.
UML y OO, Juan Bravo C,
27
Diagrama de Colaboración
Crear una línea de la Orden de Compra
Ingresar producto
(cód, cant, pre)
1: Crear línea de O/C
(cod, cant, pre)
Terminal del
Encabezado
administrativo
de O/C
1.1: Crear (cod, cant, pre)
Extraer descripción y precio del producto
Ingresar producto (cód)
Líneas de la
O/C
Terminal del
administrativo
C/E y Extraer descripción
y precio (cód)
Producto
UML y OO, Juan Bravo C,
28
Diseño de clases (visibilidad)
Encabezado
de O/C
Nº O/C
Fecha
Crear línea
Imprimir
compuesta por
se asocia a
contiene
*
existe en
1
Proveedores
Rut
Nombre
Crear proveed.
Modificar Rut
Modificar nom.
1
1..*
Líneas de la
O/C
unidades
precio
Agregar línea
contiene
*
existe en
1
Productos
...
existe en
almacena
*
1
Bodega
...
UML y OO, Juan Bravo C,
29
UML, Modelamiento visual
del software
• Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,
30
Sesión 3
Desarrollo de un caso
mediante la Técnica
UML
UML y OO, Juan Bravo C,
31
Desarrollo de un caso
mediante la Técnica UML
• Introducción
• Modelo de negocios para una situación de
•
•
•
abastecimientos (compras)
Detalle de los modelos principales de UML
en análisis y diseño para el mismo caso
Uso de patrones
Forma de implementar
UML y OO, Juan Bravo C,
32
Introducción al ejemplo
• Con base en el texto UML y Patrones,
•
de Craig Larman
Una situación en alguna cadena de
Línea Blanca y Electrónica
UML y OO, Juan Bravo C,
33
Mapa de Procesos,
Recepción por compras
Adquisiciones
Ventas
RECEPCIÓN
POR COMPRAS
DESPACHO
POR VENTAS
Proyección ventas
Servicio postventa
Macroprocesos
Primer Flujograma
de Información
Procesos
operativos
Devoluciones
UML y OO, Juan Bravo C,
Devoluciones
34
Desarrollo de un caso
mediante la Técnica UML
• Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,
35
Sesión 4
Una visión de
negocios de UML y
Orientación a Objetos
UML y OO, Juan Bravo C,
36
Una visión de negocios de
UML y Orientación a Objetos
• Introducción
• Forma de incorporar en la organización
• Relación con el modelo de negocios y el
•
•
rediseño de procesos
Relación con el desarrollo de calidad y el
empleo de métodos, tal como EISA o RUP
Relación con las normas de calidad: ISO
9000 y CMM
UML y OO, Juan Bravo C,
37
Introducción a una visión
de negocios
• Necesidad de contar con un método
• Con base en la estrategia de la
•
•
•
organización (directrices IT)
Decisión respecto a la forma de trabajo
Uso de herramientas de apoyo y puntos
de enlace con otras técnicas
Un camino hacia la estandarización y...
liberar las energías para crear
UML y OO, Juan Bravo C,
38
Relación con aplicar
método (o calidad)
• Trabajar con un método
– Completo, coherente, consistente
– Etapas: concepción, factibilidad, análisis, diseño,
implementación, despliegue, mejoramiento continuo.
• Sistema de productividad
– Incorporación del usuario, Normalización,
– Técnicas, Herramientas, Hardware,
– Habilidad del desarrollador.
• Responsabilidad social
• Análisis de riesgos
UML y OO, Juan Bravo C,
39
Forma de incorporar en la
organización
• Grado de madurez de la organización
• Participación de todos
• Aceptando los costos reales (para
•
disminuir los costos ocultos)
Gradualidad
UML y OO, Juan Bravo C,
40
Relación con el modelo de
negocios
La visión de Sistemas de Información alcanza a toda
la organización y a la interacción con el medio
• Dirección estratégica
• Las personas son la clave
• Rediseño de procesos
• Estructura firme, liviana y flexible
• Alta tecnología en las fortalezas
UML y OO, Juan Bravo C,
41
Mapa de procesos 1
Adquisiciones
Ventas
RECEPCIÓN
POR COMPRAS
DESPACHO
POR VENTAS
Proyección ventas
Servicio postventa
Macroprocesos
Primer Flujograma
de Información
Procesos
operativos
Devoluciones
UML y OO, Juan Bravo C,
Devoluciones
42
Mapa de Procesos 2
•
Macroprocesos y
procesos operativos
Comercializar
Proyectar ventas
Vender al detalle
Comprar
Servicio postventa
Despachar
Vender
Al Contado
Inmediato
A Crédito
A domicilio
Programar
Cuadrar
Entregar
43
Flujograma de Información
Proceso: Despacho Inmediato (retira el cliente en el mismo local de venta
BODEGA
CLIENTE
ADMINISTRATIVO DE BODEGA
FINANZAS
DESPACHADOR
Consultar,
Reservar y
Emitir GD 3
OE
10
GD4
GD3
GD2
GD1
}
GD 1, 2 y 3
14
Buscar producto
en bodega
8
7
GD4
OE
Rebajar
Saldo
2
3
2
Cliente recibe ítem y firma recepción
GD 1 y 2
GD3’
GD2’
GD1’
{
44
Relación FI con UML
Terminal en Bodega
Actividad
computacional
del FI
Despachador
Rebajar saldo
Rebajar
Saldo
2
Caso de
uso de alto
nivel
UML y OO, Juan Bravo C,
Usa el lector para leer el
código de barras de
cada producto que sale.
En el sistema se rebaja
el saldo del producto.
45
Una visión de negocios de
UML y Orientación a Objetos
• Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,
46
Conclusiones
UML y OO, Juan Bravo C,
47
Conclusiones
• UML y OO son estándares
• Trabajar con calidad
• Participación de todos
• Necesidad de contar con un método,
•
técnicas y herramientas de apoyo
Una inversión que merece ser evaluada
UML y OO, Juan Bravo C,
48