1. REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA
LA EDUCACION UNIVERSITARIA
INSTITUTO UNIVERSITARIO POLITECNICO
“SANTIAGO MARIÑO”
EXTENSION COL-CABIMAS
Autor:
Br. Bonsam Jonathan (47) C.I. V. 21.044.067
2. Línea de Producto de Software
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).Inspirada en los procesos de producción de sistemas físicos, como por
ejemplo la producción de aviones, vehículos, computadores, aparatos
electrónicos, etc.
REUTILIZACIÓN
3. Reutilización
Es el proceso de crear sistemas de software a
partir de software existente, en lugar de
desarrollarlo desde el comienzo” (Sametinger,
1997)
En el desarrollo de software, la reutilización se refiere a tomar uno o
más artefactos realizados como parte de un desarrollo y utilizarlos
nuevamente en el desarrollo de otro sistema. La reutilización no es un
concepto nuevo y a lo largo de la historia del desarrollo de sistemas,
han aparecido distintas técnicas que han facilitado de alguna manera la
reutilización de artefactos de desarrollo de granularidad cada vez mayor
4. Reutilización
Enfoques
Oportunista: el ingeniero de software reutiliza piezas de
software que se ajustan al problema actual y las
incorpora en el nuevo software.
Planificada: la organización pone especial énfasis en el
desarrollo de artefactos reutilizables que proporcionan
las abstracciones apropiadas, con el nivel de variabilidad
apropiada y que encajan en una estructura de más alto
nivel. Cuando una empresa ofrece un producto software
a distintos clientes, surge toda la problemática de las
versiones y mantenimiento del producto.
5. Reutilización
Enfoques
Dada su naturaleza, la reutilización oportunista
presenta beneficios muy variables, pues todo depende
de que en un momento dado se identifiquen posibles
artefactos que puedan ser reutilizados.
A nivel de una organización, lo deseable es lograr un
enfoque de reutilización sistemática con el fin de
lograr diversos beneficios asociados con retomar
artefactos previamente construidos en cada desarrollo
nuevo que se realiza.
6. Líneas de Producto de Software
Se definen las líneas del producto de software como un conjunto de
sistemas software, que comparten un conjunto común de
características, las cuales satisfacen las necesidades específicas de un
dominio o segmento particular de mercado, y que se desarrollan a partir
de un sistema común de activos base de una manera preestablecida.
Entre los precursores de este enfoque en el mundo del software se
encuentran McIllory (1968), Parnas (1976) y Neighbors (1989) que en
sus trabajos ya intuían el potencial de estas ideas.
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.
8. 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.
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.
1
9. Actividades del desarrollo de líneas de producto
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.
2
3
10. 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.
11. 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.
12. 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.
Un aspecto central de las líneas de productos es la arquitectura que soporta
los distintos productos y ésta debe ser realizada tomando en cuenta las
posibles variaciones que permitirán generar los productos específicos. Por
último, es importante recalcar que al desarrollar una arquitectura para una
línea de producto, es muy conveniente aplicar todas las actividades de
desarrollo de arquitectura que hemos tratado en ediciones previas de ésta
columna.
Conclusión