3. LÍNEAS DE PRODUCCIÓN DEL SOFTWARE
La idea básica:
Ensamblaje de partes de software previamente elaboradas
Inspirada en los procesos de producción de sistemas físicos
Producción de aviones, vehículos, computadores, aparatos
electrónicos, etc.
Fundamentada en la Reutilización de Software z Asume la
existencia de una industria de partes
4. DEFINICION
• ...se refieren a técnicas de ingeniería para crear un portafolio de
sistemas de software similares, a partir de un conjunto
compartido de activos de software, usando un medio común de
producción" (Krueger, 2006) z
• "... es un conjunto de sistemas de software que comparten un
conjunto común y gestionado de aspectos que satisfacen las
necesidades específicas de un segmento de mercado o misión
y que son desarrollados a partir de un conjunto común de
activos fundamentales [de software] de una manera preescrita"
(Clements and Northrop, 2002)
5. MODELO BÁSICO DE UNA LÍNEA DE PRODUCTOS
DE SOFTWARE
La entrada: Activos de Software
• Una colección de partes de software
(requisitos, diseños, componentes,
casos de prueba, etc.) que se
configuran y componen de una
manera prescrita para producir los
productos de la línea
El control:
• Modelos de Decisión y Decisiones de
Productos Los Modelos de Decisiones
describen los aspectos variables y
opcionales de los productos de la línea
• Cada producto de la línea es definido por
un conjunto de decisiones (decisiones del
producto)El proceso de producción:
• Establece los mecanismos o pasos
para componer y configurar productos
a partir de los activos de entrada
• Las decisiones del producto se usan
para determinar que activos de
entrada utilizar y como configurar los
puntos de variación de esos activos
La salida:
• Productos de software
• Conjunto de todos los productos que pueden
o son producidos por la línea de productos
6. BENEFICIOS
• La entrega de productos de software de una manera
• más rápida, económica y con una mejor calidad
• Las LPS producen mejoras en:
• Tiempo de entrega del producto (time to market)
• Costos de ingeniería
• Tamaño del portafolio de productos
• Reducción de las tasas de defectos
• Calidad de los productos
7. ASPECTOS FUNDAMENTALES
• El paradigma de desarrollo de software LPS requiere que las empresas que lo
adopten consideren:
Aspectos conceptuales
• Conceptos en los que las LPS se fundamentan
Aspectos metodológicos
• Cómo desarrollar y mantener los activos y productos de software
Aspectos organizativos
• Cómo debe la empresa organizarse internamente
Aspectos gerenciales
• Cómo gestionar los proyectos de desarrollo de activos y productos
8. DOMINIOS Y FAMILIAS
• Un dominio es un área de aplicación de productos de software que:
• están centradas en torno a un cuerpo de conocimientos
• tienen una economía de alcance asociada
Ocurre cuando construir un activo y usarlo en múltiples
productos ocasiona más beneficios que crear el activo
para cada producto
• Pueden dividirse en subdominios
9. DOMINIOS Y FAMILIAS
• Una familia familia de productos productos de software es un
conjunto de productos de software asociados a un dominio
determinado
• Los miembros de la familia comparten aspectos comunes
tales como:
• un diseño arquitectónico común
• un conjunto componentes reutilizables
• capacidades y servicios comunes
• tecnologías comunes
10. LÍNEAS DE PRODUCTOS DE SOFTWARE (LPS)
• Una LPS es una familia de productos de software que:
• tiene un conjunto de aspectos gestionados que son comunes a todos los miembros
de la familia
• los productos de la línea son desarrollados a partir de un conjunto de activos de
software reutilizables
• Una familia de productos de software tiene:
• Aspectos comunes que son compartidos por todos sus productos
• Aspectos variables que establecen diferencias entre los productos
11. LÍNEAS DE PRODUCTOS DE SOFTWARE (LPS)
• El objetivo principal de una LPS es:
• “Reducir el tiempo, esfuerzo, costo y complejidad decrear y mantener los
productos de la línea mediante:
• La capitalización de los aspectos comunes aspectos comunes de la línea de
productos ƒA través de la consolidación y reutilización de los activos de entrada a la
línea
• El manejo de los aspectos variables aspectos variables de los productos de la línea
• ƒA través de los puntos de variación de los activos y los modelos de decisión”
12. ARQUITECTURAS DE LPS
• Una arquitectura de software es la estructura o estructuras de
un sistema que comprende los componentes del software, las
propiedades visibles externamente de estos componentes, y las
relaciones entre ellos"
• Las propiedades externas de los componentes son:
• sus interfaces (APIs)
• sus características rendimiento, manipulación de errores, uso
compartido de recursos, etc.
13. ARQUITECTURAS DE LPS
• La arquitectura de una LPS es una arquitectura de software genérica
• Describe la estructura de toda la familia de productos y no solamente la de un
producto particular
• Captura los aspectos comunes y variables de una familia de productos de
software
• Los aspectos comunes de la arquitectura son capturados por los componentes de
software que son comunes a toda la familia
• Los aspectos variables de la arquitectura son capturados por los componentes de
software que varían entre los miembros de la familia
• También denominada arquitectura de dominio
• La arquitectura LPS debe ser instanciada cada vez que se desarrolla un producto de la
línea
14. METODO WATCH
• El método WATCH, es un marco metodológico
que describe los procesos técnicos, gerenciales
y de soporte que deben emplear los equipos y
grupos que tendrán a su cargo el desarrollo de
las aplicaciones informáticas de un SIE (Sistema
de Información Empresarial)
15. METODO WATCH
• En marco metodológico es un patrón que debe ser instanciado, es decir
adaptado cada vez que se use. Cada equipo de desarrollo de aplicaciones
de un SIE deberá usar el método como un patrón o plantilla metodológica, a
partir de la cual ellos deben elaborar el proceso específico de desarrollo de
la aplicación que dicho equipo deba producir.
• Se ubica dentro de los métodos disciplinados ya que se centra en los
procesos, hace enfasis en los productos y la organización, involucra
procesos bien definidos y documentados, requiere de alta formalidad en el
proceso de desarrollo, son procesos repetibles, los resultados son
predecibles.
16. OBJETIVOS
Orientar a los equipos de desarrollo acerca de qué deben hacer y cómo deben
desarrollar una aplicación informática de un SIE.
Garantizar la uniformidad, consistencia, facilidad de integración y calidad de las
distintas
aplicaciones que integrarán Un SIE.
Gestionar el desarrollo de las aplicaciones de un SIE como proyectos de
ingeniería, siguiendo los estándares de gestión de proyectos establecidos en LA
EMPRESA.
Asegurar que en el desarrollo de cada aplicación de un SIE se empleen las
mejores prácticas, técnicas, herramientas, estándares y lenguajes aceptados
internacionalmente
17. CARACTERISTICAS
• Está sólidamente fundamentado.- Posee una base
conceptual y metodológica muy bien sustentada. El método
descansa en conceptos bien establecidos que se derivan
de la Ingeniería de Software, los Sistemas de Información
Geográfica (SIG) y los Sistemas de Información Empresarial
(SIE). En concreto, el método emplea una arquitectura de
dominio de tres capas que define los elementos principales
de los SIG/SIE modernos. Metodológicamente, el modelo ha
sido elaborado tomando como referencia modelos de
procesos bien conocidos o bien fundamentados, tales
como el modelo RUP-Rational Unified Process (Krutchen,
2000) y el método WATCH (Montilva y Barrios, 2004b).
18. CARACTERISTICAS
• Es estructurado y modular.- Posee una clara estructura que
facilita su comprensión y utilización. Esta estructura separa los
tres elementos primordiales de un método: el producto que se
quiere elaborar, los actores que lo elaboran y el proceso que
siguen los actores para elaborar el producto. Estos tres
elementos definen los tres componentes del método WATCH:
modelo de productos, modelo de actores y modelo de procesos.
Cada uno de ellos posee, a su vez, una estructura modular
claramente visible y acorde al elemento que representa. Así, por
ejemplo, el modelo de procesos tiene una estructura jerárquica
de cinco (5) niveles compuesta de: grupo de procesos,
procesos, sub-procesos, actividades y tareas.
19. CARACTERISTICAS.
• Es flexible y adaptable.- Si bien el método está dirigido
al desarrollo de aplicaciones especializadas
(aplicaciones geográficas en entornos empresariales),
sus tres componentes pueden ser adaptados, con
relativa facilidad, a otros tipos de productos de
software. Esta labor, sin embargo, debe ser hecha por
expertos en Ingeniería de Métodos, para asegurar la
correcta y efectiva adaptación a otros tipos de
aplicaciones.
20. CARACTERISTICAS
• Es flexible y adaptable.- Si bien el método está
dirigido al desarrollo de aplicaciones
especializadas (aplicaciones geográficas en
entornos empresariales), sus tres componentes
pueden ser adaptados, con relativa facilidad, a
otros tipos de productos de software. Esta labor,
sin embargo, debe ser hecha por expertos en
Ingeniería de Métodos, para asegurar la
correcta y efectiva adaptación a otros tipos de
aplicaciones.
21. COMPONENTES
• un modelo de productos que describe los productos intermedios y finales
que se generan, mediante la aplicación del método, durante el desarrollo de
una aplicación informática de un SIE.
• Un modelo de actores que identifica a los actores interesados (stakeholders)
en el desarrollo de las aplicaciones de un SIE y describe cómo deben
estructurarse los equipos de desarrollo y cuáles deben ser los roles y
responsabilidades de sus integrantes
• Un modelo de procesos que describe detalladamente los procesos
técnicos, gerenciales y de soporte que los equipos de desarrollo deberán
emplear para elaborar las aplicaciones informáticas de un SIE.