Presentacion lineas de productos de software y el metodo watch

22
INSTITUTO UNIVERSITARIO POLITÉCNICO “SANTIAGO MARIÑO” INGENIERÍA DE SISTEMAS AUTOR: DANIEL E. NAVARRO P. Maracaibo, Julio de 2015 LÍNEAS DE PRODUCTOS DE SOFTWARE Y EL MÉTODO WATCH

Transcript of Presentacion lineas de productos de software y el metodo watch

Page 1: Presentacion lineas de productos de software y el metodo watch

INSTITUTO UNIVERSITARIO POLITÉCNICO

“SANTIAGO MARIÑO”INGENIERÍA DE SISTEMAS

AUTOR: DANIEL E. NAVARRO P.

Maracaibo, Julio de 2015

  LÍNEAS DE PRODUCTOS DE SOFTWARE

Y EL MÉTODO WATCH

Page 2: Presentacion lineas de productos de software y el metodo watch

IntroducciónLa siguiente presentación se enfoca a explorar

vínculos entre dos disciplinas de importancia técnica y práctica relacionadas con las tecnologías de la

información: líneas de productos de software y el método watch.

Page 3: Presentacion lineas de productos de software y el metodo watch

Es un conjunto de sistemas intensivos en software que comparten un conjunto común, administrado de prestaciones

para satisfacer las necesidades específicas de un segmento de mercado o misión y que son desarrollados a partir de un

conjunto en común de activos centrales de un modo prescrito. Estos activos centrales forman la base para la Línea de

Productos y en ellos se incluyen, entre otros, la arquitectura, las especificaciones de requisitos, los planes y casos de prueba

y componentes de software reutilizables.

Líneas de Productos de Software (LPS)

Page 4: Presentacion lineas de productos de software y el metodo watch

Definición Clements (2001)

“se definen como un conjunto de sistemas software, que comparten un conjunto común de características

(features), 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 (core assets) de una manera

preestablecida”.

Líneas de Productos de Software (LPS)

Page 5: Presentacion lineas de productos de software y el metodo watch

Las Líneas de Productos de Software pueden incrementar significativamente la productividad de los ingenieros de

software, entendida como una reducción en el esfuerzo y el coste necesario para desarrollar, poner en marcha y mantener un conjunto de productos de software similares. En los casos de estudio se han observado mejoras en la productividad que

duplican o triplican los enfoques tradicionales.

Beneficios Relativos A La Productividad Y Al Coste

Page 6: Presentacion lineas de productos de software y el metodo watch

Los beneficios que las líneas de productos de software aportan a la calidad se pueden medir de dos formas. la primera mediante el grado de precisión con que cada producto se ajusta a las necesidades de cada cliente. esta medida depende del grado de “variabilidad” de la líneas de productos de software . a mayor variabilidad, más probabilidades de adaptar el producto a los gustos del cliente. pero, normalmente, esta variabilidad tiene un coste, y el reto es

encontrar el equilibrio entre coste y variabilidad. a diferencia de los enfoques tradicionales, en las líneas de productos de software la variabilidad es un

concepto nuclear. todo el proceso de desarrollo está guiado por esta noción con el objetivo de abaratar los costes de la variabilidad, y así poder conseguir

mayores cotas de variabilidad y, por tanto, de satisfacción de las peculiaridades del cliente.

Beneficios Relativos A La Calidad

Otro segundo aspecto es la tasa de defectos en los productos de la líneas de productos de software. Aquí los beneficios se derivan de la reutilización de los

elementos comunes (core assets). La continuada utilización de estos elementos a lo largo del tiempo hace que finalmente estén muy

depurados/probados. Además, los beneficios de encontrar y eliminar un defecto en un core assets no se limitan al producto donde se detecta el error, sino que se disemina entre todos los productos de la líneas de productos de

software.

Page 7: Presentacion lineas de productos de software y el metodo watch

Estrategias: El proceso de desarrollo de las líneas de productos de software depende, entre otros

muchos factores, del ámbito de la líneas de productos de software. Es fundamental saber acotar la familia de productos que serán objeto de la línea. En general, existe una

tendencia a generalizar en exceso cuando se está desarrollando software re-usable, considerando casos poco probables. Es la filosofía del “por si acaso”. Sin embargo, esta excesiva generalización, si se repite con distintas “features” compatibles entre sí, puede dar lugar a una explosión combinatoria. Así cuatro features que soportaran cada una de

ellas tres casos posibles, todos ellos compatibles entre sí, daría lugar a 36 posibles diferentes combinaciones. Esto favorece la variabilidad, pero incurre en costes de

pruebas, documentación y desarrollo adicionales, que pueden finalmente no rentabilizarse para casos poco probables.

ASPECTOS METODOLÓGICOS

Page 8: Presentacion lineas de productos de software y el metodo watch

Procesos: Un aspecto central compartido por las distintas metodologías de desarrollo de líneas de

productos de software es la división de los procesos de ingeniería en dos equipos de trabajo. El primer equipo se encarga de la Ingeniería de Dominio, el cual es definido

por Clements (2001) como core asset development. Este equipo es responsable de desarrollar los elementos comunes al dominio: estudiar el dominio, definir su alcance

(requisitos) dentro del mercado objetivo de la líneas de productos de software, definir las features, implementar los core assets reutilizables y su mecanismo de variabilidad, y

establecer cómo es el plan de producción.  

El segundo equipo se encarga de la Ingeniería de Producto definido por Clements (2001) como product development. Sus cometidos incluyen desarrollar los productos

para clientes concretos, a partir de los recursos basados no en los requisitos del dominio, sino en requisitos concretos de clientes. Para ello, este segundo equipo utiliza los

recursos creados por el equipo anterior.

ASPECTOS METODOLÓGICOS

Page 9: Presentacion lineas de productos de software y el metodo watch

Cada sistema concreto de una línea de productos de software se deriva de la arquitectura completa, tomando o no las partes opcionales adecuadas, según los

requisitos funcionales y no funcionales seleccionados por los usuarios. Esta actividad es esencialmente un proceso de selección de características que genera

un sub-modelo, que a su vez (por las relaciones de trazabilidad) compone por derivación toda o la mayor parte del código de la aplicación. La clave de este

proceso reside en la trazabilidad desde las características hasta el código pasando por los modelos de diseño. Esta trazabilidad no es fácil de gestionar por varias

razones. En primer lugar, una característica opcional puede originar varios elementos en un modelo de diseño (en general tenemos que asignar a la relación

de trazabilidad entre elementos de distintos niveles una multiplicidad varios a varios).

El segundo problema tiene que ver con el hecho de que los mecanismos básicos de modelado de la variabilidad (la especialización en los diagramas de clases o la

relación <<extend>> de los casos de uso) se utilizan en muchas ocasiones para expresar dos tipos de variabilidad distinta: la existente en la arquitectura de la

línea de productos de software (que se corresponde con requisitos opcionales) y la presente en una aplicación concreta, que sigue teniendo variaciones en tiempo de

ejecución (por ejemplo, dos formas de pago alternativas).

Combinación De Paquetes Y Clases Parciales

Page 10: Presentacion lineas de productos de software y el metodo watch

Para extender la trazabilidad hasta el nivel de implementación se utiliza el concepto de clase parcial. Aunque el nombre de las clases sea el mismo, su

pertenencia a distintos paquetes las hace entidades diferentes. Si los paquetes a los que pertenecen son seleccionados, en el momento de compilación del

sistema se combinan en una única clase, haciendo que este modelo reproduzca en la implementación de la línea de productos de software la misma estrategia utilizada en requisitos y diseño. Por tanto, para derivar una aplicación concreta basta con indicar al compilador los paquetes necesarios, que se corresponden con la configuración elegida en el modelo de características. De esta manera

se cubre el objetivo de la trazabilidad uno-a-uno desde las características hasta el código.

Implementación De La Línea De Productos De Software

Page 11: Presentacion lineas de productos de software y el metodo watch

Es un método de desarrollo de software elaborado para ser empleado durante el desarrollo de sistemas de información empresarial (SIE).

Montilva (2008) define el método WATCH como: 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. 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.

El Método Watch

Page 12: Presentacion lineas de productos de software y el metodo watch

• Sólida Fundamentación• 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). 

• 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.

• 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.

• Es Flexible y Adaptable• Si bien el método está dirigido al desarrollo de aplicaciones especializadas

(aplicaciones geográficas en entornos empresariales), sus tres componentes pueden ser adaptados, con relativa facilidad, a otros tipos de productos de

software. 

Características

Page 13: Presentacion lineas de productos de software y el metodo watch

• Orientar a los equipos de desarrollo acerca de qué deben hacer y cómo deben desarrollar una aplicación informática de 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 se utiliza para estructurar, planificar y controlar el proceso de desarrollo de un sistema de información. 

Objetivos

Page 14: Presentacion lineas de productos de software y el metodo watch

La metodología watch está comprendida por tres modelos, que la componen estos son el modelo del producto, el modelo de proceso y el de actores, cada uno de ellos aporta información en distintos

documentos que permiten el desarrollo de aplicaciones empresariales para SIE.

 • Modelado del Producto: Define el modelo de producto como “

el primer componente del método Watch, este modelo describe las características generales que tienen las aplicaciones de un

SIE e identifica los productos intermedios y finales que se deben producir durante el desarrollo de una aplicación SIE.” .Para

desarrollar una aplicación empresarial es indispensable conocer tanto los requisitos necesarios para llevar a cabo el proceso,

como los resultados que se obtendrán de dicho proceso, y por este motivo es que el modelo de productos debe ser la primera

actividad de la metodología Watch.

Componentes

Page 15: Presentacion lineas de productos de software y el metodo watch

• Modelado de Actores Montilva (2008) define el modelo de actores como “el segundo de

los tres componentes que integran el Método WATCH para el desarrollo de una aplicación empresarial. Su función es discutir

todos aquellos aspectos organizativos relacionados con los actores, equipos de trabajo y demás interesados vinculados al desarrollo de

las aplicaciones de una aplicación empresarial”.

• Modelado de ProcesosEs un conjunto de actividades que tienen un mismo fin, el modelo

de procesos es el último componente del método WATCH y corresponde a los procesos que definen la trayectoria del proyecto y como se admiran los recursos del equipo, sean estos materiales

o humanos.

Componentes

Page 16: Presentacion lineas de productos de software y el metodo watch

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.

Modelo Del Producto

Page 17: Presentacion lineas de productos de software y el metodo watch

El modelo de procesos del método WATCH es un marco metodológico que describe, en términos generales, un

conjunto estructurado de actividades necesarias para producir una aplicación empresarial. Este modelo organiza estas

actividades en dos tipos de procesos diferentes pero complementarios: procesos gerenciales y procesos de

desarrollo.

Modelo De Procesos Del Método Watch

Page 18: Presentacion lineas de productos de software y el metodo watch

Los Procesos Gerenciales describen las actividades que la gerencia del proyecto (o, en su defecto, el líder

del proyecto) debe realizar para:

• Planificar, organizar, dirigir, manejar el grupo de desarrollo y controlar el proyecto de desarrollo de un sistema o aplicación empresarial• Asegurar la calidad del sistema.• Gestionar la configuración del sistema• Adiestrar el grupo de desarrollo durante el proceso de ejecución del proyecto.

Modelo De Procesos Del Método Watch

Page 19: Presentacion lineas de productos de software y el metodo watch

Los Procesos De Desarrollo son los procesos técnicos que describen que debe hacer el

grupo de desarrollo para producir una aplicación empresarial. Estos procesos se organizan en una estructura jerárquica

formada por fases, pasos y actividades.

Modelo De Procesos Del Método Watch

Page 20: Presentacion lineas de productos de software y el metodo watch

La aplicación de procesos, técnicas y prácticas gerenciales es un factor crítico de éxito en el desarrollo de software. La calidad del

producto, la entrega a tiempo del producto, el cabal cumplimiento de su presupuesto y el uso eficiente de los recursos humanos y

tecnológicos asignados a un proyecto de software son sólo posibles mediante la aplicación de procesos gerenciales.

Procesos Gerenciales Del Método WATCH

Page 21: Presentacion lineas de productos de software y el metodo watch

Procesos Gerenciales Del Método WATCH

Page 22: Presentacion lineas de productos de software y el metodo watch

Esta presentación introduce la noción de Línea de Producto de Software como una etapa más en la búsqueda del equilibrio entre coste y calidad del software. La estructura de la sección trata de

resaltar las tres bandas en las que tiene que jugar este enfoque: la organizativa, la metodológica y la técnica. De un buen maridaje entre

ellas dependerá en gran medida el éxito final que obtenga nuestra línea de producto.

El Método Watch es un método de desarrollo de software elaborado para ser empleado durante el desarrollo de sistemas de información

empresarial es uno de los diferentes tipos de métodos para el desarrollo de sistemas de información se utiliza para estructurar, planificar y controlar el proceso de desarrollo de un sistema de

información.

Conclusiones