Upload
hernan-hernandez-marqu
View
147
Download
0
Embed Size (px)
Citation preview
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR
PARA LA EDUCACIÓN UNIVERSITARIA INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO” EXTENSIÓN COL CABIMAS
Realizado por: Hernán HernándezC.I.: 7.967.345
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 prescrita.
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 DEPRODUCCION
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
•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 GENERALES
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ómodeben desarrollar una aplicación informática de un SIE.•Garantizar la uniformidad, consistencia, facilidad de integración y calidadde las distintas aplicaciones que integrarán Un SIE.•Gestionar el desarrollo de las aplicaciones de un SIE como proyectos deingeniería, siguiendo los estándares de gestión de proyectos establecidos enLA EMPRESA.•Asegurar que en el desarrollo de cada aplicación de un SIE se empleen lasmejores prácticas, técnicas, herramientas, estándares y lenguajes aceptadosinternacionalmente 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.
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.