Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Metas de la presentacin Ingeniera de Software: Ayer, Hoy y Maana UML en la Ingeniera de Software El Prximo Paso: UML Ejecutable y MDA Una Herramienta UML: Enterprise Architect Una Herramienta MDA: Enterprise Analyst
Identificar los problemas del desarrollo tradicional - Recorrer la historia de la ingeniera de software - Analizar los datos estadsticos de los proyectos Entender las ventajas del desarrollo orientado a modelos - Concepto de UML, UML Ejecutable y MDA (lo nuevo de OMG) - MDA en la luz de las estadsticas anteriores Demostrar los ejemplos de las Herramientas - Enterprise Architect de Sparx Systems (UML) - Enterprise Analyst de Craftware (MDA)
Negocios Hoy
Globalizacin
Velocidad
Muchos Recursos
Crecimiento
La gran mayora de los proyectos de software hoy, abarcan los sistemas de apoyo a procesos de negocio
Nunca Terminan!
29%
6% 6% 8% 16% 9%
Terminan atrasados <20% Terminan atrasados 2050% Terminan atrasados 50100% Terminan atrasados 100200% Terminan atrasados >200% Nunca Terminan
Requerimientos incompletos Falta de Involucramiento de Cliente/Usuario Falta de Recursos Expectativas poco Reales Falta del soporte de alta gerencia Requerimientos cambiantes Falta de Planificacin Perdida de la necesidad (atraso?) Falta de administracin Poco conocimiento de la tecnologa
13,1 12,4 10,6 9,9 9,3 8,7 8,1 7,5 6,2 4,3
(en porcentajes)
Involucramiento del Cliente/Usuario Soporte de alta gerencia Requerimientos claramente especificados Planificacin adecuada Expectativas reales Hitos ms pequeos Equipo comprometido Clara propiedad Visin y objetivos claros El equipo bien enfocado Otro
15,9 13,9 13 9,6 8,2 7,7 7,2 5,3 2,9 2,4 13,9
(en porcentajes)
Pruebas 20%
Anlisis 20%
Construccin 35%
Diseo 25%
Pruebas 45%
Construccin 20%
Costo de error
Anlisis
- Integracin de negocios
- Negocios individuales
- Partes de negocios - Sistemas genricos de uso comn - Formulas matemticas, operaciones bsicas
Abstraccin
1950
1960
1970
1990
2000
2005
Aos
- Los ingenieros todava gastan la mayora de su tiempo sobre los cdigos fuentes - La abstraccin del producto ha superado este nivel hace mucho tiempo
UML Permite ver un sistema de distintos puntos de vista UML aleja al ingeniero de los cdigos fuentes UML logra un aumento de abstraccin de enfoque
Diagramas de UML
La versin de UML 2.0 define 13 distintos diagramas:
Estructura
- clases - objetos - compuesto - paquetes - componentes - despliege
Comportamiento
- casos de uso - comunicacin - secuencias - interaccin - actividades - estados - temporal
Informar Bodega
Vender Bebida
Barmen include
Registrar Venta
Diagramas de Clases
Bodega Cliente 1 1..* 1 Venta + valor: Doble ImprimirBoleta() 0..* realiza 1 Barmen Jugo Natural Gaseosa
protege
e en nti
co
ah
orr a
posee
usa
Diagramas de Secuencia
Usuario Interfaz Operativa (from Trmites) Asignar tarea Controlador Tareas (from Trmites) Tareas (from Trmites)
Grabar tarea
(from Actores)
10
Diagramas de Componentes
EA
ES Plug-In
:GUI
:Compiler
:Simulator
:Class Model
achieve
Proceso de taladrado
resource flow
Perforar
Calibrar
Iniciar taladrado
Taladrar
resource :Mquina
information :Instrucciones
11
UML y Productividad
Cdigo implementado Manualmente
sin UML; 100 100 80 60 40 20 0 Interfaz Lgica Datos UML; 10 UML; 56 UML; 40 sin UML; 100 sin UML; 100
Una gran parte de cdigo (ms de la mitad) se puede generar directamente desde los modelos UML
A qu se debe esta baja de los errores? - Documentacin de mejor calidad y ms fcil de generar y revisar - Generacin automtica de los cdigos fuentes - Comunicacin entre todos menos ambigua, etc.
12
Abstraccin
1950
1960
1970
1990
2000
2005
Aos
13
Un intento de resolver los problemas bsicos de UML, relacionados con su semntica dbil Nunca ha sido oficializado como un estndar Un paso intermedio entre UML y MDA Informalmente conocido como xUML
UML
Semnticamente dbil Complejo muchos diagramas Ambigedad presente Generacin parcial del cdigo (solo estructura) Lenguaje visual con descripciones textuales informales El modelo es dibujo
xUML
Semnticamente fuerte Simple pocos diagramas Sin ambigedad Generacin completa de cdigo (estructura + comportamiento) Lenguaje visual + lenguaje de acciones formal El modelo es cdigo
14
xUML Resumido
xUML xUML
Factura + monto: double nr: int fecha_pago: date 0..* pago(date) : void 0..*
Usuario Cobrar Factura
=
1 -
UML UML
Ingresar Factura
Ingresar Factura
pago ENTREGADA
Cobrar Factura
Sistema Facturas
CREADA
Elementos de xUML
Sistema
- Es una estructura de Dominios y sus relaciones - Interfaz Usuaria, Mdulos Lgicos, Persistencia, etc.
Interfaz Usuaria
Dominio
Facturacin
e-mailing
Base de Datos
15
Factura + monto: double nr: int fecha_pago: date 0..* pago(date) : void 0..* Cliente 1 RUT: string nombre: string
Definen ciclo de vida de los objetos de clases Altamente formales y validables Base de ejecucin de los modelos Se comunican entre ellas enviando seales Ejecucin concurrente
PAGADA
pago ENTREGADA
CREADA
16
- Define comportamiento de bajo nivel - Equivalente a los lenguajes de programacin, pero en nivel ms alto nivel de clases, objetos y estados - Especifica ejecucin de estados, transiciones, etc. - Se est estandarizando
Compilador/Generador
- Genera los cdigos fuentes desde los modelos - Pueden cubrir distintas arquitecturas - Generacin basada en las decisiones arquitectnicas
17
Agrega semntica formal de ejecucin a UML Alto porcentaje de cdigo generado (100% o casi 100%), pero poca flexibilidad No estandarizado ntimamente relacionado con los sistemas en tiempo real No directamente aplicable a los desarrollos de los sistemas corporativos (enterprise)
Nuevo estndar de la casa de UML - OMG Todava en la etapa de investigacin y propuestas Construido en base a los estndares anteriores: UML, OCL, XML, etc. Enfrenta los desarrollos modernos, corporativos y de gran escala
18
Metas de MDA
Abstraccin
Resolver los siguientes problemas de la ingeniera: Obsolescencia tecnolgica Portabilidad Productividad Durabilidad Calidad Integracin Mantenimiento Pruebas y simulacin ROI
Como?
19
Modelo PIM
Transformacin
Modelo PSM
Informacin complementaria
Nuevo PIM
Decisiones arquitectnicas
20
Transformaciones MDA
PIM
Modelo Conceptual Modelo de Estados Lenguaje de Acciones Modelo de Arquitectura Modelo de Implementacin
PSM
transformacin (Cliente/Servidor, Multicapas, etc.) transformacin (J2EE, .NET, etc) transformacin
Modelo de Arquitectura
MDA y Productividad
21
A qu se debe esta baja de los errores? - El modelo es documentacin y el cdigo - Generacin de los cdigos fuentes automtica - Simulacin en nivel abstracto pruebas tempranas
Abstraccin
- Los ingenieros se pueden enfocar en las tareas de anlisis, automatizando hasta diseo!
22
23
Sin Modelo
Cdigo es Modelo
Modelo es Cdigo
Sin el uso de UML Sin especializacin de roles Enfoque en programacin Dependencia de Plataformas
Una Herramienta MDA: Enterprise Analyst - Add-in de EA - Validacin/Simulacin del modelo en nivel conceptual - Validacin/Generacin de la documentacin - Capacitacin - Soporte metodolgico
24
25
Gracias! Gracias!
Craftware Consultores Ltda. Craftware Consultores Ltda. www.craftware.net www.craftware.net info@craftware.net info@craftware.net
26