fábricas de software y líneas de producto: del estado de la...

51
1 Fábricas de Software y Líneas de Producto: del Estado de la Práctica al Estado del Arte Jorge A. Villalobos [email protected]

Upload: others

Post on 31-May-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

1

Fábricas de Software y Líneas de Producto: delEstado de la Práctica al Estado del Arte

Jorge A. [email protected]

Page 2: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Agenda

● ¿Cuál es la situación actual?

XXVII Salón deInformática -Septiembre'2007 2

● ¿Por qué el problema es tan complejo?

● ¿A qué apostarle?

Page 3: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 3

Situación actual (1)

● Una crisis permanente:

➢ Costos y tiempos no cumplidos, clientes insatisfechos,problemas de evolución…

➢ Un mercado global muy competido, donde los costos son unfactor fundamental

➢ Un problema en constante evolución: cuando encontremosuna solución, el problema habrá cambiado

➢ Una alta inercia en el medio

Page 4: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 4

Situación actual (2)

● Un problema en constante evolución:

➢ Los clientes responden a la innovación con mayoresrequerimientos

➢ Ciclos más cortos de los productos

➢ Requerimientos no funcionales cada vez más complejos

➢ Rápidos cambios tecnológicos

➢ Necesidad de software cada vez más robusto

Page 5: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 5

Situación actual (3)

● Algunos hechos:

➢ El aumento de la efectividad, basado en el mejoramiento delos procesos: indispensable, pero tiene límites.

➢ Las soluciones propuestas se han quedado cortas ante elaumento del problema

➢ La reutilización sólo ha sido una realidad en dominios de“bajo nivel”

➢ Es un problema complejo: cualquier solución debeconsiderar las distintas dimensiones del problema

Page 6: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 6

Algunas preguntas & reflexiones

● Pregunta: ¿Basta con utilizar bien lo que ya existe?

● Pregunta: ¿Es posible disminuir costos sin perdercalidad?

● Pregunta: ¿Hay manera de industrializar el proceso deconstrucción de software?

Page 7: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 7

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Page 8: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 8

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Elementos y estructuras adaptablesAdministración de la reutilizaciónMecanismos de adaptación

Page 9: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 9

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Maneras de ensamblar laspartes, al nivel degranularidad adecuado

Page 10: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 10

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

FocalizaciónHerramientas de generaciónArquitecturas con funcionalidad básicaLenguajes de dominio específicoModelos

Page 11: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 11

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Alto grado de especializaciónDominio específico de trabajoFamilia de productos de software

Page 12: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 12

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

FocalizaciónPersonal especializadoPermanente actualización

Page 13: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 13

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Procesos y roles bien definidosPlan de mejoramiento continuo

Page 14: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 14

Aspectos críticos

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización

Activos

He

rra

mie

ntas

Modelos

Dominio

Personas

Procesos

Page 15: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Agenda

XXVII Salón deInformática -Septiembre'2007 15

● ¿Por qué el problema es tan complejo?

● ¿A qué apostarle?

Page 16: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Visión abstracta del desarrollo de software

XXVII Salón deInformática -Septiembre'2007 16

realidadproblema

oportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

Page 17: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 17

Construcción de modelos: analizar

realidadproblema

oportunidad

modelo conceptual

análisis

Información incompletaInformación ambigua

Debilidad de los lenguajesNaturaleza del problemaNaturaleza del cliente

Page 18: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 18

¿Soluciones?

Mejorar los lenguajes de modeladoMejorar el proceso de abstracciónMejorar entrenamiento de las personas

Visión optimista:

Se puede mejorar la calidad de lainformación, pero debemos partir delhecho de que ésta es incompleta ypotencialmente ambigua.

Visión realista:

Page 19: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Transformación de modelos: diseñar

XXVII Salón deInformática -Septiembre'2007 19

modelo conceptualmodelo

computacional

diseño

Debe partir de un modelo conceptual abstracto eincompleto y llegar a un modelo computacional abstracto

transformación de modelos

ingeniería del producto

Page 20: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 20

Dificultades (1)

Ausencia de metodologías concretas: un proceso muybasado en la experiencia del diseñador

modeloconceptual

modelocomputacional

diseño

Page 21: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 21

Dificultades (2)

Dificultad (¿imposibilidad?) de automatizar un procesocreativo

modeloconceptual

modelocomputacional

diseño

Page 22: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 22

Dificultades (3)

Proceso muy sensible a los cambios del modeloconceptual inicial

modeloconceptual

modelocomputacional

diseño

Page 23: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 23

Dificultades (4)

Reutilización de diseños: el problema de “similar pero noidéntico”

modeloconceptual

modelocomputacional

diseño

Page 24: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 24

Dificultades (5)

Reutilización de diseños: la dificultad de componer “loinesperado”

modeloconceptual

modelocomputacional

diseño

Page 25: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 25

Dificultades (6)

Reutilización de diseños: las limitaciones de losmecanismos de composición

modeloconceptual

modelocomputacional

diseño

Page 26: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 26

Dificultades (7)

La cantidad, la complejidad y los distintos niveles deabstracción de la información que se debe manipular

modeloconceptual

modelocomputacional

diseño

Page 27: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 27

Dificultades (8)

Profunda relación entre la solución y la tecnologíautilizada

modeloconceptual

modelocomputacional

diseño

Page 28: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 28

Dificultades (9)

Dificultad para garantizar que el modelo computacionalsea una solución válida para el problema planteado en

el modelo conceptual

modeloconceptual

modelocomputacional

diseño

Page 29: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 29

Dificultades (10)

Dificultad para expresar y compartir el conocimiento dela transformación

modeloconceptual

modelocomputacional

diseño

Page 30: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 30

Transformación de modelos: implementar

modelocomputacional

solución

implementacióningeniería deproducción

Debe partir de un modelocomputacional abstracto y llegar a un

modelo computacional concreto

Page 31: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 31

Dificultades (1)

Aumento constante en la complejidad de la tecnología

modelocomputacional

solución

implementación

Page 32: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 32

Dificultades (2)

Debilidad de los lenguajes de especificación

modelocomputacional

solución

implementación

Page 33: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 33

Evolución y reutilización

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

evolución

reutilización

Page 34: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 34

Dificultades (1)

Dificultad para aislar los elementos de su contextoespecífico de aplicación

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

evolución

Page 35: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 35

Dificultades (2)

Dificultad para componer y manipular dos tipos distintosde modelos

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

realidadproblemaoportunidad

modelo conceptual

análisis

modelocomputacional

diseño

solución

implementación

evolución

Page 36: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Síntesis & reflexiones¿Dónde están los problemas complicados?

XXVII Salón deInformática -Septiembre'2007 36

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Control de calidad

& procesos

Formación &especialización

Focalización madurez

Page 37: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Síntesis & reflexiones¿Dónde están los problemas complicados?

XXVII Salón deInformática -Septiembre'2007 37

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Tipo y estructura de los activos:• adaptación (similar pero noidéntico): variabilidad

Caja negraCaja blancaCaja gris

ObjetosComponentesServiciosFuncionesModelos

ProcesosEventosBusesMensajería

Page 38: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Síntesis & reflexiones¿Dónde están los problemas complicados?

XXVII Salón deInformática -Septiembre'2007 38

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición Tipo de composición de los activos:

• Fino nivel de granularidad• Posibilidad de “componer lo inesperado”• Desacoplamiento• Flexibilidad

HerenciaOrquestaciónAgregación

Intercepción

Page 39: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Síntesis & reflexiones¿Dónde están los problemas complicados?

XXVII Salón deInformática -Septiembre'2007 39

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Apoyo a la automatización de tareas:• lenguajes de expresión de modelos• lenguajes de expresión de transformaciones• herramientas de administración de modelos• herramientas de transformación de modelos

Page 40: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Síntesis & reflexionesEl sueño…

XXVII Salón deInformática -Septiembre'2007 40

realidadproblema

oportunidad

modelo conceptual

análisis

modelo detransformación

solución

modelo de latecnología

Activos adaptadosy ensamblados

Espacio delproblema

Espacio de lasolución

Page 41: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Agenda

XXVII Salón deInformática -Septiembre'2007 41

● ¿A qué apostarle?

Page 42: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Una fábrica de software

XXVII Salón deInformática -Septiembre'2007 42

Reutilización& adaptación

Lenguajes yframeworks

especializados

Mecanismos decomposición

Familia desoluciones

Arquetipo deproducto

soluciónActivos adaptados

y ensamblados

Lenguajes

Otros activos

Page 43: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 43

Algunas definiciones

● Fábrica de software:

➢ Una configuración de lenguajes, patrones, frameworks yherramientas que pueden ser usados para producir de manerarápida y barata variantes de un arquetipo de producto

Page 44: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Por tener en cuenta…

● Los mercados objetivo son mucho más pequeños

● El conocimiento del dominio no se encuentra siempre disponiblepor fuera de las organizaciones

● Arquetipo de producto:● Elemento crítico de la aproximación

● El reto: generalidad sin pérdida de eficiencia

● Costo de construir el arquetipo vs. número de programas potenciales

● Mayor especialización => mayor productividad => familia más pequeña

● Mecanismos de adaptación/extensión del arquetipo paraconstruir variantes:

● Composición funcional y composición no funcional

XXVII Salón deInformática -Septiembre'2007 44

Page 45: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 45

Un ejemploFamilia desoluciones

Control-based applications

Page 46: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 46

controltiempo

recursosdocumentos

auditoría

Definición de activos

Page 47: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

XXVII Salón deInformática -Septiembre'2007 47

control

Modelos ejecutablesextensibles

Page 48: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Modelos ejecutables extensibles

XXVII Salón deInformática -Septiembre'2007 48

Page 49: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Modelos ejecutables extensibles

● Mecanismos de adaptación:➢ Extensión

➢ Especialización

➢ Redefinición

● Mecanismos de composición:➢ Tejido e instrumentación de autómatas

● Herramientas:➢ Motor

➢ Editor

➢ Framework de pruebasXXVII Salón deInformática -Septiembre'2007 49

Page 50: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Conclusiones

● Las fábricas de software:➢ Son un tema abierto de investigación: muchos de los

problemas están sin resolver y muchos de los problemas notienen solución.

➢ Tienen el potencial de disminuir los costos y los tiempos dedesarrollo de software, sin disminuir la calidad.

➢ Implican la especialización en un dominio y la construcciónde un arquetipo de producto y de herramientas deespecialización / adaptación.

➢ Son críticos:➥ El tipo y la estructura de los activos

➥ Los mecanismos de composiciónXXVII Salón deInformática -Septiembre'2007 50

Page 51: Fábricas de Software y Líneas de Producto: del Estado de la …52.0.140.184/.../JorgeVillalobos-FabricasDeSoftware.pdf · 2007-09-18 · Conclusiones Las fábricas de software:

Preguntas?

XXVII Salón deInformática -Septiembre'2007 51