Este documento describe el concepto de líneas de productos de software y el Método Watch. Explica que una línea de productos de software involucra el desarrollo de bienes nucleares reutilizables, el desarrollo de productos específicos a partir de esos bienes, y la administración de la línea de productos. También describe las tres actividades principales del desarrollo de líneas de productos y el papel clave de la arquitectura. Finalmente, resume los objetivos, características y componentes del Método Watch para el desarrol
1. Líneas de productos de
software y Método Watch
Realizado por : Nelson Chirinos
C.I 20.742.472
República Bolivariana de Venezuela
Ministerio del poder popular para la educación
Instituto universitario politécnico Santiago Mariño
Cabimas-Edo Zulia
2. Líneas de productos de software
El concepto de líneas de productos busca 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.
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.
3. Actividades del desarrollo de líneas de producto
También de acuerdo al SEI, el desarrollo de líneas de productos involucra tres
actividades principales: el desarrollo de los bienes núcleo, el desarrollo de los
productos y la administración, y estas actividades están íntimamente ligadas entre
ellas, como se muestra en la figura
4. A continuación se describen estas actividades en mayor detalle:
El desarrollo de bienes núcleo se refiere al establecimiento de las partes que serán
reutilizadas. Cada uno de estos bienes debe ir acompañado de un proceso que explique la
manera en que cada parte se usa al momento de incorporarla en un producto específico. Por
otra parte, se establecen planes de producción que describen la manera en que los
productos específicos son generados a partir de los bienes núcleo.
El desarrollo de productos cubre el objetivo último de la línea de producto: producir sistemas
específicos dentro del alcance definido a partir de los bienes núcleo. Los insumos para esta
actividad son los bienes núcleo, los procesos asociados a los bienes, los planes de
producción y los requerimientos específicos a cada producto.
La administración juega un papel fundamental en la implantación de una línea de productos.
La administración ocurre a un nivel técnico y organizacional. A nivel técnico, cubre tanto la
supervisión del desarrollo de bienes núcleo como de productos específicos. A nivel
organizacional orquesta el esfuerzo general de la línea de productos.
5. Arquitectura y líneas de producto
La arquitectura es un elemento clave dentro de la colección de bienes núcleo pues será
compartida por los distintos productos de una línea particular. La arquitectura de una línea
de productos es distinta a una arquitectura ‘típica’ pues para permitir la construcción de
distintos productos por encima de ella, debe definirse una serie de puntos de variación que
son necesarios para poder crear los distintos productos. En este tipo de arquitecturas, uno
de los atributos de calidad más influyentes es entonces el que sea modificable.
6. Ejemplo
Un ejemplo práctico de línea de productos puede observarse en la plataforma Eclipse que
sirve de base al popular entorno de desarrollo (IDE) del mismo nombre
(http://www.eclipse.org/pla- tform/). La plataforma Eclipse está basada en una arquitectura
extensible a base de plug-ins y la plataforma establece una serie de puntos de extensión en
los cuales se conectan dichos plug-ins. Los puntos de extensión que provee la plataforma
representan los puntos de variación de la arquitectura. Los bienes núcleo son los distintos
elementos que conforman a la plataforma Eclipse y son retomados para construir una gran
variedad de productos específicos. Los productos específicos se construyen a partir de plug-
ins que son conectados a la plataforma. Un aspecto interesante de Eclipse es que los plug-
ins pueden, a su vez, definir puntos de extensión por lo cual un producto específico,
conformado por la plataforma Eclipse y una serie de plug-ins, puede volverse a su vez un
conjunto de bienes núcleo para una línea de productos más especializada. Un ejemplo de
esto se puede observar en un producto como EclipseUML, una herramienta UML construida
por encima de la plataforma Eclipse (http://www.ejb3.org/). De la línea de producto particular
de EclipseUML se derivan dos productos específicos: el “Viewer” y el Editor. La parte
administrativa de la línea de producto que establece la plataforma Eclipse se puede apreciar
en la administración individual tanto del proyecto, que corresponde al desarrollo de la
plataforma Eclipse, como la administración de los productos específicos que se producen
por encima de la plataforma. La enorme variedad de aplicaciones sofisticadas construidas
sobre la plataforma Eclipse que existen hoy en día sirven de testimonio del éxito de este
enfoque.
7. El Método 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)
Un 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 énfasis 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.
Este método incluye, también, una descripción de los procesos de gerencia del
proyecto que se aplicarán para garantizar que el proyecto se ejecute en el tiempo previsto,
dentro del
presupuesto acordado y según los estándares de calidad establecidos.
8. Objetivos
Orientar a los equipos de desarrollo acerca dequé 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.
9. Características
Está sólidamente fundamentado.
Es estructurado y modular
Es de propósito específico
Es flexible y adaptable
Emplea las mejores prácticas del desarrollo de software
Emplea las mejores prácticas y procesos de gestión de proyectos
Integra los procesos de gestión con los procesos técnicos y de soporte
10. 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
Unmodelo 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.