1 uml y orientación a objetos uml y orientación a objetos una visión gerencial juan bravo c....
TRANSCRIPT
11
UML yUML yOrientación a ObjetosOrientación a Objetos
Una Visión GerencialUna Visión Gerencial
Juan Bravo C.Juan Bravo C.
Consultor de EmpresasConsultor de Empresas
Seminario - Taller
22
ContenidoContenido
• Sesión 1: Orientación a ObjetosSesión 1: Orientación a Objetos
• Sesión 2: UML, Modelamiento visual del Sesión 2: UML, Modelamiento visual del softwaresoftware
• Sesión 3: Desarrollo de un caso mediante Sesión 3: Desarrollo de un caso mediante la Técnica UMLla Técnica UML
• Sesión 4: Una visión de negocios de UML Sesión 4: Una visión de negocios de UML y Orientación a Objetosy Orientación a Objetos
• ConclusionesConclusiones
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
33
Sesión 1Sesión 1Orientación a ObjetosOrientación a Objetos
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
44
Sesión 1. Orientación a Sesión 1. Orientación a ObjetosObjetos
• IntroducciónIntroducción
• Modelamiento de funciones y relaciones Modelamiento de funciones y relaciones funcionalesfuncionales
• Clase, objeto, identidad de instancias, Clase, objeto, identidad de instancias, mensajes, herencia, polimorfismo, ocultamiento mensajes, herencia, polimorfismo, ocultamiento de datos, abstracción, independencia, de datos, abstracción, independencia, modularidad, personalización. modularidad, personalización.
• ¿Cómo se implementa un modelo de objetos?¿Cómo se implementa un modelo de objetos?
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
55
Introducción a la OOIntroducción a la OO
• La más grande invención después del fuegoLa más grande invención después del fuego
• La palabra más utilizada según balance IDCLa palabra más utilizada según balance IDC
• Diseño estructurado tiene más de Diseño estructurado tiene más de 4040 años años
• Objetos: la única nueva técnica en laObjetos: la única nueva técnica en lass últimaúltimas doss dos década décadass
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
66
Visión funcionalVisión funcional
• Método tradicionalMétodo tradicional– EficienciaEficiencia
• PrototiposPrototipos– Prueba y errorPrueba y error
• Diseño estructuradoDiseño estructurado– Top downTop down– Descomposición funcionalDescomposición funcional
1Recibir
Artículos
unidades
compras, traspasosy devoluciones
unidades ycosto
ventas, traspasosy devoluciones
2Despachar
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
77
Modelamiento de funciones Modelamiento de funciones y relaciones funcionalesy relaciones funcionales
• Descomposición funcionalDescomposición funcionalActualizarstock
1 3
2crédito del cliente
VENTAS
CLIENTES
ARTÍCULOS MERMAS
Actualizarstock
Actualizar saldo de
Ventas
Artículos
• Código Descripción Stock
1. Restar stock.......
Mensaje 1
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
88
Fundamentos de la OOFundamentos de la OO
• NaturalidadNaturalidad– Se parece a como Se parece a como interactúan interactúan las personaslas personas– Provee una visión sistémica Provee una visión sistémica
• Incorpora procesos de aprendizajeIncorpora procesos de aprendizaje– Clases y código reutilizableClases y código reutilizable
• EficienciaEficiencia– Visión holística y menos código (no repetición)Visión holística y menos código (no repetición)
• Énfasis en los contenidosÉnfasis en los contenidos– ¿Qué espera del objeto clientes?¿Qué espera del objeto clientes?
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
99
BeneficiosBeneficios
• Representación más simple y amplia, Representación más simple y amplia, aplicable a todo el ciclo de vidaaplicable a todo el ciclo de vida
• Mejor interacción usuario/analista/diseñadorMejor interacción usuario/analista/diseñador
• Más apropiado para abordar problemas Más apropiado para abordar problemas complejoscomplejos
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1010
Beneficios en cada etapaBeneficios en cada etapa
• En el DiseñoEn el Diseño– La visión sistémica acerca al usuarioLa visión sistémica acerca al usuario– Facilita el trabajo en equipoFacilita el trabajo en equipo
• En la Construcción y MantenciónEn la Construcción y Mantención– Disminuye la cantidad de funcionesDisminuye la cantidad de funciones– Facilita la reusabilidadFacilita la reusabilidad– Reduce la complejidadReduce la complejidad– Tiempos desde 100 a 1 (en teoría)Tiempos desde 100 a 1 (en teoría)– Simplifica y reduce la mantenciónSimplifica y reduce la mantención
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1111
Visión de los datosVisión de los datos
• Datos originales y normalizadosDatos originales y normalizados– RelacionesRelaciones– Evitar resultados y redundanciaEvitar resultados y redundancia
• En una forma tabularEn una forma tabular
• Uso de querys para recuperarUso de querys para recuperar
Proveedores
Artículoslínea blanca
Encabezadode compras
Detalle de compras
Encabezadode ventas
Detalle deventas
Clientes
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1212
Objetos (encapsulamiento)Objetos (encapsulamiento)
• Funcionalidad incorporada en un todo Funcionalidad incorporada en un todo indivisible (¿inteligencia?)indivisible (¿inteligencia?)
• RecursividadRecursividad
ARTÍCULOS
códigodescripción
stock1.- Resta
stock.......
VENTAS MERMASMsg 1Msg 1Msg 1Msg 1
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1313
Conceptos GeneralesConceptos Generales
• ClaseClase
• ObjetoObjeto
• FunciónFunción
• MensajeMensaje
• Independencia Independencia
• Enfoque sistémicoEnfoque sistémico
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1414
Proceso de generalizaciónProceso de generalización
• Como el proceso Como el proceso cognoscitivocognoscitivo
• Se forman clases Se forman clases a partir de objetos a partir de objetos comunescomunes
• Luego herenciaLuego herencia Tabla de objetos, clase Transacciones de sueldos
Objeto Atributos Funciones
Anticipos msg 19
Préstamos Nº cuota msg 19
Bonificaciones msg 18
Transaccionesde sueldos
#documentoRUT
monto
ingresoinforme
C/E
msgs 18/19
Personal
RUTnombre
total habertotal descto
18. Suma haber19. Suma descto
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1515
Diagrama de diseño Diagrama de diseño generalizado generalizado
PersonasEncabezadode transacción
Detalle detransacción
Ingreso deTransacción
C/E
C/E
msgs 4 y 5
C/E
msg 1
Productos
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1616
Orientación a ObjetosOrientación a Objetos
• Ejercicio / Trabajo en equipo...Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1717
Sesión 2Sesión 2UML, Modelamiento UML, Modelamiento visual del softwarevisual del software
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1818
UML, Modelamiento visual UML, Modelamiento visual del softwaredel software
• IntroducciónIntroducción
• Modelos de UML: casos de uso, modelo Modelos de UML: casos de uso, modelo conceptual, diagrama de secuencia, conceptual, diagrama de secuencia, funciones básicas del sistema, visión funciones básicas del sistema, visión dinámica, contrato, diagrama de diseño de dinámica, contrato, diagrama de diseño de clases, diagrama de colaboración y otros.clases, diagrama de colaboración y otros.
• Relación de UML con métodos, Relación de UML con métodos, herramientas y la orientación a objetos.herramientas y la orientación a objetos.
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
1919
Introducción a UMLIntroducción a UML
• Unified Modeling Language o Unified Modeling Language o Modelamiento Visual del SoftwareModelamiento Visual del Software
• Surgió a solicitud de la OMG (énfasis en el Surgió a solicitud de la OMG (énfasis en el desarrollo basado en componentes y desarrollo basado en componentes y patrones)patrones)
• Aportes combinados de Grady Booch, Jim Aportes combinados de Grady Booch, Jim Rumbaugh e Ivar JacobsonRumbaugh e Ivar Jacobson
• Relación con desarrollo en espiralRelación con desarrollo en espiral
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2020
Casos de usoCasos de uso
Consultar situación del cliente
Saldo de crédito y posibilidades de cuotas.
Apoyo en realización de cálculos respecto a financiamiento
terminal en la tienda
vendedor
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2121
Diagrama de casos de usoDiagrama de casos de uso
Consultar saldo en su bodega
Consultar saldo en otra bodega
Terminales en la Bodega
Jefe de BodegaBodeguero
Ingresar ajuste de stock
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2222
Caso de uso expandidoCaso de uso expandido
Acción del actorTomar la O/C desde el archivador1. 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
Ingresar O/C
Terminal del Administrativo. de AdquisicionesAdministrativo de
Adquisiciones
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. ...
Resumen: (puede ser similar caso de uso de alto nivel). Funciones relacionadas: ...
Curso Normal de los eventos
Excepciones: 1. Si el número de O/C ya existe, vea caso de uso “Corregir Correlativo”. 2...Adjunta: Interfaces detalladas de E/S
2323
Encabezado de O/C
Proveedores
Líneas de la O/C
Productos
* 1
* 1
1
1..*
Bodega
*
1
compuesta por
se asocia a
contiene
existe en contiene
existe en
existe en
almacena
Modelo ConceptualModelo ConceptualConceptos y asociacionesConceptos y asociaciones
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2424
Diagrama de SecuenciaDiagrama de Secuencia
Ingresar Nº de O/C
Dar OK a la línea
Ingresar código de prod.
Sistema como una caja negra
Actor
Administrativo Sistema
Repetir hastaque no haya más productos
Ingresar cantidad
Operación (o mensaje)que activa una o másfunciones en el sistema
Caso de uso Ingresar O/C
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2525
Diagrama de EstadoDiagrama de Estado
Ingresar Nº de O/C
Terminar la O/C
Ingresar línea de O/C
En espera de la O/C Introducción de líneas
En espera del cierreImprimir la O/C
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2626
Visión dinámica del sistemaVisión dinámica del sistema
Sistema
Ingresar Nº de O/C
Dar OK a la línea
Ingresar código de producto
Ingresar cantidad
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2727
Identificación: Dar OK al ingreso de la líneaResponsabilidades: 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 hayNotas: nada especialExcepciones: la no existencia de la línea en el sistema ya fue validada con el ingreso de O/C.Salida: no hayPrecondiciones: 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.
ContratoContrato
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2828
Diagrama de ColaboraciónDiagrama de Colaboración
Ingresar producto
(cód, cant, pre) Encabezado de O/C
Líneas de la O/C
Terminal del administrativo
1: Crear línea de O/C (cod, cant, pre)
1.1: Crear (cod, cant, pre)
Ingresar producto (cód) Terminal del administrativo
Producto
C/E y Extraer descripción y precio (cód)
Extraer descripción y precio del productoExtraer descripción y precio del producto
Crear una línea de la Orden de CompraCrear una línea de la Orden de Compra
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
2929
Diseño de clases (visibilidad)Diseño de clases (visibilidad)
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
Líneas de la O/C
unidadesprecio
Agregar línea
Productos...
Bodega...
Encabezado de O/CNº O/CFecha
Crear líneaImprimir
ProveedoresRut
NombreCrear proveed.Modificar Rut
Modificar nom.1
1..*
compuesta por
se asocia a
* 1
existe en contiene
* 1
contiene existe en
*
1
existe en
almacena
3030
UML, Modelamiento visual UML, Modelamiento visual del softwaredel software
• Ejercicio / Trabajo en equipo...Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3131
Sesión 3Sesión 3Desarrollo de un caso Desarrollo de un caso mediante la Técnica mediante la Técnica
UMLUML
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3232
• IntroducciónIntroducción
• Modelo de negocios para una situación de Modelo de negocios para una situación de abastecimientos (compras)abastecimientos (compras)
• Detalle de los modelos principales de UML Detalle de los modelos principales de UML en análisis y diseño para el mismo casoen análisis y diseño para el mismo caso
• Uso de patrones Uso de patrones
• Forma de implementarForma de implementar
Desarrollo de un caso Desarrollo de un caso mediante la Técnica UMLmediante la Técnica UML
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3333
Introducción al ejemploIntroducción al ejemplo
• Con base en el texto UML y Patrones, Con base en el texto UML y Patrones, de Craig Larmande Craig Larman
• Una situación en alguna cadena de Una situación en alguna cadena de Línea Blanca y ElectrónicaLínea Blanca y Electrónica
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3434
Devoluciones
RECEPCIÓNPOR COMPRAS
Ventas Servicio postventaProyección ventas Adquisiciones
DESPACHOPOR VENTAS
Devoluciones
Primer Flujogramade Información
Macro-procesos
Procesosoperativos
Mapa de Procesos,Mapa de Procesos,Recepción por comprasRecepción por compras
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3535
Desarrollo de un caso Desarrollo de un caso mediante la Técnica UMLmediante la Técnica UML
• Ejercicio / Trabajo en equipo...Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3636
Sesión 4Sesión 4Una visión de Una visión de
negocios de UML y negocios de UML y Orientación a ObjetosOrientación a Objetos
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3737
Una visión de negocios de Una visión de negocios de UML y Orientación a ObjetosUML y Orientación a Objetos
• IntroducciónIntroducción
• Forma de incorporar en la organizaciónForma de incorporar en la organización
• Relación con el modelo de negocios y el Relación con el modelo de negocios y el rediseño de procesosrediseño de procesos
• Relación con el desarrollo de calidad y el Relación con el desarrollo de calidad y el empleo de métodos, tal como EISA o RUPempleo de métodos, tal como EISA o RUP
• Relación con las normas de calidad: ISO Relación con las normas de calidad: ISO 9000 y CMM9000 y CMM
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3838
Introducción a una visión de Introducción a una visión de negociosnegocios
• Necesidad de contar con un métodoNecesidad de contar con un método
• Con base en la estrategia de la Con base en la estrategia de la organización (directrices IT)organización (directrices IT)
• Decisión respecto a la forma de trabajoDecisión respecto a la forma de trabajo
• Uso de herramientas de apoyo y puntos Uso de herramientas de apoyo y puntos de enlace con otras técnicasde enlace con otras técnicas
• Un camino hacia la estandarización y... Un camino hacia la estandarización y... liberar las energías para crearliberar las energías para crear
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
3939
Relación con aplicar Relación con aplicar método (o calidad)método (o calidad)
• Trabajar con un método Trabajar con un método – Completo, coherente, consistenteCompleto, coherente, consistente– Etapas: concepción, factibilidad, análisis, diseño, Etapas: concepción, factibilidad, análisis, diseño,
implementación, despliegue, mejoramiento continuo.implementación, despliegue, mejoramiento continuo.
• Sistema de productividadSistema de productividad– Incorporación del usuario, Normalización,Incorporación del usuario, Normalización,– Técnicas, Herramientas, Hardware,Técnicas, Herramientas, Hardware,– Habilidad del desarrollador.Habilidad del desarrollador.
• Responsabilidad socialResponsabilidad social
• Análisis de riesgosAnálisis de riesgos
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
4040
Forma de incorporar en la Forma de incorporar en la organizaciónorganización
• Grado de madurez de la organizaciónGrado de madurez de la organización
• Participación de todosParticipación de todos
• Aceptando los costos reales (para Aceptando los costos reales (para disminuir los costos ocultos)disminuir los costos ocultos)
• GradualidadGradualidad
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
4141
Relación con el modelo de Relación con el modelo de negociosnegocios
La visión de Sistemas de Información alcanza a toda La visión de Sistemas de Información alcanza a toda la organización y a la interacción con el mediola organización y a la interacción con el medio
• Dirección estratégicaDirección estratégica
• Las personas son la claveLas personas son la clave
• Rediseño de procesosRediseño de procesos
• Estructura firme, liviana y flexibleEstructura firme, liviana y flexible
• Alta tecnología en las fortalezasAlta tecnología en las fortalezas
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
4242
Mapa de procesos 1Mapa de procesos 1
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
Devoluciones
RECEPCIÓNPOR COMPRAS
Ventas Servicio postventaProyección ventas Adquisiciones
DESPACHOPOR VENTAS
Devoluciones
Primer Flujogramade Información
Macro-procesos
Procesosoperativos
4343
Mapa de Procesos 2Mapa de Procesos 2
Cuadrar
A Crédito
Vender
Al Contado
Vender al detalleComprar
Inmediato
Programar Entregar
A domicilio
• Macroprocesos y Macroprocesos y procesos operativosprocesos operativos
Proyectar ventas Servicio postventa
Comercializar
Despachar
4444
Flujograma de InformaciónFlujograma de Información
CLIENTE BODEGA FINANZAS
ADMINISTRATIVO DE BODEGA DESPACHADOR
}
Proceso: Despacho Inmediato (retira el cliente en el mismo local de venta
GD3’
OE
{
GD4GD3
GD2GD1
GD4OE
Buscar productoen bodega
GD 1, 2 y 3
Cliente recibe ítem y firma recepción
GD2’GD1’GD 1 y 2
2
814
10
7
3
Consultar, Reservar y Emitir GD 3
RebajarSaldo
2
4545
Relación FI con UMLRelación FI con UML
Rebajar saldo
Usa el lector para leer el código de barras de cada producto que sale. En el sistema se rebaja el saldo del producto.
Terminal en BodegaDespachadorActividad Actividad
computacional computacional del FIdel FI
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
RebajarSaldo
2
Caso de Caso de uso de alto uso de alto
nivelnivel
4646
• Ejercicio / Trabajo en equipo...Ejercicio / Trabajo en equipo...
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
Una visión de negocios de Una visión de negocios de UML y Orientación a ObjetosUML y Orientación a Objetos
4747
ConclusionesConclusiones
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,
4848
ConclusionesConclusiones
• UML y OO son estándaresUML y OO son estándares
• Trabajar con calidadTrabajar con calidad
• Participación de todos Participación de todos
• Necesidad de contar con un método, Necesidad de contar con un método, técnicas y herramientas de apoyotécnicas y herramientas de apoyo
• Una inversión que merece ser evaluadaUna inversión que merece ser evaluada
UML y OO, Juan Bravo C,UML y OO, Juan Bravo C,