Las Líneas de Productos de Software son 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.
líneas de productos buscan justamente lograr un enfoque de reutilización
sistemático dentro de una organización de desarrollo. Éste es un concepto que
se originó, y que se usa frecuentemente, en industrias distintas al software. En la
industria automotriz, por ejemplo, es común que un fabricante produzca
distintas variantes de un vehículo (o productos) a partir de una base común que
se reutiliza en todas estas variantes.
De acuerdo al SEI (Software Engineer Institute), una línea de productos de
software se refiere a un conjunto de sistemas de software que comparten
características y que son desarrollados a partir de un conjunto común de bienes
núcleo (core assets). De la anterior definición es importante subrayar que los
productos dentro de la línea de productos son los distintos sistemas y que los
bienes núcleo son las partes reutilizables que permitirán desarrollar los
productos. Los bienes núcleo son la base de la línea de productos e incluyen
entre otros la arquitectura, componentes reutilizables, modelos de dominio,
requerimientos, documentación, planes de prueba, etc. Un aspecto importante a
considerar dentro de la línea de productos es que se debe establecer un alcance
en donde se describe qué productos son parte de la línea.
PROCESO DE
PRODUCCION
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
Control: Modelos de Decisiones y Decisiones de
Producto
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 z 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
BENEFICIOS GENERALES
•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 y Calidad de los
productos
BENEFICIOS TACTICOS Y ESTRATEGICOS
Beneficios tácticos de ingeniería:
•Reducción en el tiempo promedio de creación y entrega de nuevos productos
Reducción en el número promedio de defectos por producto
•Reducción en el esfuerzo promedio requerido para desarrollar y mantener los
productos
•Reducción en el costo promedio de producción de los productos
•Incremento en el número total de productos que pueden ser efectivamente
desplegados y mantenidos
Beneficios estratégicos de negocios
Reducción en el tiempo de entrega (time-to-market) y el tiempo de retorno de
nuevos productos
Mejoras en el valor competitivo del producto
Márgenes mayores de ganancias
Mejor calidad de los productos
Mejoras en la reputación de la empresa
Mayor escalabilidad del modelo de negocios en términos de productos y
mercados
Mayor agilidad para expandir el negocio a nuevos mercados
Reducción de riesgos en la entrega de productos
Algunas empresas han reportado mejoras que van en el rango de factores de 3
a 50 en los beneficios discutidos anteriormente
ASPECTOS CONCEPTUALES
•Reutilización de software
•Activos de Software
•Componentes de Software
Reutilizable
•Dominios Y Familias
•Líneas de Productos de
software
ASPECTOS TECNOLOGICOS
•Arquitectura de la línea de
Productos de Software
•Aéreas de Practicas y
Patrones para LPS
ASPECTOS METODOLOGICOS
•Aéreas de practica de
ingeniería de software
•Los procesos básicos de una
LPS
•Modelos de procesos
basados en la reutilización
ASPECTOS ORGANIZACIONALES
•Aéreas de practica de gestión
organizacional
ASPECTOS GERENCIALES
•Área de practica de gestión de
técnica
LPS
La reutilización de activos de software en LPS tiene varias
características:
Es estratégica:
•Consolida lo común entre la línea de productos
•Maneja estratégicamente la variación entre los productos de la línea
•Elimina la duplicación de esfuerzos de ingeniería
Es predictiva:
•La reutilización de activos se da en uno o más productos sobre una
línea bien definida
•Se reutilizan arquitecturas de software, en lugar de reutilizar
componentes de manera oportunista
•Es gestionada
•Es sistemática, planificada, institucionalizada y mejorada
Activos de software reutilizable: Es un producto de software diseñado expresamente para
ser utilizado múltiples veces en el desarrollo de diferentes sistemas o aplicaciones
Componentes de software reutilizable: Es Una pieza de software funcional que es liberada
independientemente de otras y que proporciona acceso a sus servicios a través de sus
interfaces. Puede ser liberado, desplegado e instanciado independientemente de otros
Características esenciales de un CSR:
•Identificable
•Auto contenido
•Rastreable a través de su ciclo de desarrollo
•Reemplazable por otro componente
•Accesible solamente a través de su interfaz
•Inmutabilidad de sus servicios z Documentación de sus servicios
•Mantenido sistemáticamente
Tipos de CSR:
Según su Modificabilidad :
•Caja negra
•Caja blanca
Según su granularidad:
•Componentes de uso específico
Componentes de negocio
Marcos (frameworks)
Componentes de aplicación
Según su fabricante :
•Componentes hechos en casa
•COTS – Component Off The Shelf
El método WATCH está orientado al desarrollo de un tipo particular
de software denominado aplicación empresarial. Una aplicación
empresarial es aplicación distribuida que apoya la ejecución de
procesos de negocios en una empresa. Las aplicaciones de comercio
electrónico y los sistemas de información web (SIW) son dos tipos
particulares de aplicaciones empresariales. Tanto las aplicaciones
web como los SIW dan soporte a un conjunto de uno o más procesos
de negocios, mediante una interfaz web que permite el intercambio
de datos e información a través de una red Intranet, Extranet o
Internet.
El método WATCH emplea el paradigma de desarrollo de software
basado en la reutilización de componentes de software. En base a
este paradigma, una aplicación empresarial tiene una arquitectura
de software de tres o más capas, en la que cada una de las capas
está compuesta de un conjunto de componentes de software
interrelacionados.
Algunas de la características generales de las aplicaciones empresariales son
las siguientes:
• Están dirigidas a apoyar procesos de negocios de una empresa.
• Automatizan el flujo de trabajo de los procesos que ellas soportan.
• Establecen una clara diferencia entre: o La presentación de la aplicación
(interfaz U/S) o La lógica del negocio (automatización del flujo de trabajo) o La
gestión de los datos (las bases de datos)
• Requieren integrarse a otras aplicaciones, tales como: o Aplicaciones legadas
o Aplicaciones empaquetadas (ERP) o Sistemas de información gerencial
• Acceden a diferentes bases de datos locales o distribuidas
• Son aplicaciones distribuidas o Sus componentes están distribuidos en varios
servidores de propósito específico)
• La aplicaciones empresariales se instalan y corren sobre plataformas
distribuidas compuestas por:
-Servidores web que se encargan del manejo de la capa de presentación de las
aplicaciones empresariales –
-Servidores de aplicaciones que manejan la lógica del negocio de las
aplicaciones empresariales
--Servidores de datos que gestionan los datos de las aplicaciones empresariales
•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 para desarrollar software de alta
calidad.
El método WATCH está compuesto por tres modelos fundamentales:
•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.
PROCESOS
GERENCIALES
Modelado
De Negocios
Entrega de la
Aplicación
Definición Y
Especificación
De
requerimientos
Diseño
Arquitectural
y aplicación
Pruebas en la
aplicación
web
Ensamblaje
De Los
componentes
Aprovisionamiento
De Componentes
Especificación
De
Componentes
Procesos De Post
Desarrollo.
El proceso mostrado en la figura comienza en el centro del
modelo, con los procesos gerenciales, las primeras actividades
que deben hacerse al comenzar un proyecto son la planeación
del mismo y la organización de los grupos de trabajo.
Luego continua con las fases de desarrollo, las cuales son
secuenciales en dirección a las manecillas del reloj, pero con
habilidad de iterar, esto es retornar para corregir o ampliar un
producto.
El proceso gerenciales controla dichas fases mediante la
validación y verificación con la que se determinara si se avanza
a la próxima fase o si es necesario retroceder a una anterior
para mejorar o revisar un producto.
En las próximas secciones se detallan las actividades y
productos de ambos procesos.