Este documento describe líneas de productos de software. Explica que una línea de productos es un conjunto de sistemas de software relacionados que comparten características comunes. Detalla algunas ventajas de las líneas de productos como la reducción del esfuerzo de desarrollo y el tiempo de lanzamiento de cada producto. También resume las principales actividades involucradas en el desarrollo de líneas de productos como el desarrollo de bienes nucleares, el desarrollo de productos individuales y la administración del proceso.
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
Lineas de producto de software y el Metodo watch
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACION SUPERIOR
INSTITUTO UNIVERSITARIO POLITECNICO SANTIAGO MARIÑO
EXTENSION - MATURIN
Autor
Jesús Pasero C.I 20.138.431
18 de Agosto del 2016
3. La arquitectura de software es el resultado de un esfuerzo importante y su
desarrollo puede representar una parte considerable del trabajo que se
realiza en un proyecto de desarrollo. De lo anterior surge la pregunta,
¿habrá manera de aprovechar el esfuerzo que se hace respecto al desarrollo
de la arquitectura de un sistema en el desarrollo de otros sistemas
similares? Las líneas de productos de software buscan justamente lograr
promover la reutilización sistemática de artefactos de los cuales la
arquitectura es uno de los más importantes. Este enfoque busca tener
distintos beneficios asociados a la reutilización como pueden ser la
reducción del tiempo de desarrollo (pues ya no se tienen que desarrollar
ciertas partes del sistema), y la mejora de la calidad (pues se incorporan
partes que ya han sido verificadas previamente). En esta ocasión
hablaremos al respecto de éste tema.
4. Una línea de productos de software, también llamada familia de
aplicaciones en la literatura, es un conjunto de sistemas de software de una
misma área de negocio y que tienen ciertas funcionalidades en común.
Ventajas:
Las líneas de productos de software presentan ventajas en cuanto a:
Reducción del esfuerzo de desarrollo dedicado a cada producto.
Reducción del tiempo de entrada en el mercado de cada producto.
Permiten producir más funcionalidades en la misma cantidad de tiempo.
Permiten producir más funcionalidades con la misma cantidad de dinero.
Características de los patrones de análisis:
Ayudan a construir la experiencia colectiva de Ingeniería de Software.
Son una abstracción de "problema – solución“.
Se ocupan de problemas recurrentes.
Identifican y especifican abstracciones de niveles más altos que
componentes o clases individuales.
Proporcionan vocabulario y entendimiento común.
5. Reutilización de Productos:
Los productos de software COTS (por sus siglas en inglés Commercial
Off The Shelf) son productos que se aplican a un sistema software que
puede utilizarse sin cambios por su comprador. Incluye muchas
características y funciones para que sea potencialmente reutilizable en
diferentes aplicaciones y entornos.
En la actualidad una de la formas de reutilizar este tipo de productos
es mediante los sistemas grandes cuando tienen definidas interfaces API
´Sque permiten programar el acceso a las funciones de dichos sistemas.
Debido a la funcionalidad que estos productos COTS ofrecen, es posible
reducir costes y tiempos de entrega en varios órdenes de magnitud
comparados con el desarrollo de un nuevo software.
Actividades del desarrollo de Productos:
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 1:
6. 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.
7. 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.
9. 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.
10. 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.
Características:
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).
11. Características:
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.
Es de propósito específico.- El método está dirigido al desarrollo de
aplicaciones geográficas en entornos empresariales; es decir, al desarrollo de
sistemas de información de carácter corporativo que estén orientados al
manejo de datos e información geográfica. Esta orientación concreta y
específica resuelve los problemas que tienen la mayoría de los métodos
comerciales y académicos existentes, cuya generalidad va en detrimento de
su aplicabilidad en sistemas muy especializados, tales como los SIG y SIE.
12. Objetivos del Método Watch:
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
13. Actividades del Método Watch:
Desarrollo de software iterativo e incremental.- WATCH considera el
proceso de desarrollo de aplicaciones como un proceso iterativo.
Cada iteración produce un componente o una nueva versión operativa
de la aplicación.
Manejo eficiente de los requisitos.- Una mala gestión de los
requisitos de una aplicación es una de las principales causas de
problemas en proyectos de desarrollo de software. Para evitar estos
problemas, WATCH emplea las mejores prácticas, técnicas y procesos
de la Ingeniería de Requisitos, las cuales facilitan las actividades de
identificación, análisis, especificación, validación y gestión de
requisitos.
Reutilización de activos de software.- El método promueve la
reutilización de activos de software. Ello reduce costos y
aumenta la calidad de los productos de 12 software
elaborados usando el método. Entre estos activos están los
siguientes: arquitecturas de dominio, patrones de diseño,
componentes de software reutilizables y plantillas de
documentos (Ej., plantillas para planes de proyecto, pruebas
de software, manuales de uso, etc.).
14. Componentes del Método Watch:
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 3) 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.
15. En Ingeniería de Software frecuentemente se habla de reutilización y los
avances tecnológicos de las últimas décadas indudablemente han logrado
que hoy en día se reutilicen partes con un nivel de granularidad cada vez
mayor. Lograr realizar una reutilización sistemática dentro de una
organización requiere un enfoque específico y es ahí donde las líneas de
productos pueden ser de mucha ayuda. La implantación de un esquema de
línea de productos dentro de una organización requiere de un esfuerzo
importante, sin embargo los beneficios que puede aportar pueden hacer que
realmente valga la pena.