A continuación se explica muy brevemente los temas relacionados a recuperación de arquitectura en líneas de productos software, si bien son 3 temas muy amplios, se hace una descripción general y se plantea en ellos un nuevo enfoque para lograr una recuperación de la arquitectura desde la parte colaborativa. Hay muchas cosas que se han mejorado, pero esta es la primera experiencia o acercamiento que se tiene. https://www.youtube.com/watch?v=klxg6xlU8R0
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?Gilberto Pedraza Garcia
El documento discute las alternativas para evolucionar sistemas legados, incluyendo abandonarlos, mantenerlos o realizar reingeniería. Explica que la Programación Orientada a Aspectos es una opción para separar los requerimientos funcionales de los no funcionales en sistemas legados. Finalmente, concluye que no existe una solución única y que el enfoque depende del dominio, sugiriendo técnicas como wrapping, SOA y POA según cada caso.
Conforme el tamaño y complejidad del software se incrementa, diseñarlo va más allá de la aplicación sistemática y cuantificable de una metodología para su construcción, operación y mantenimiento. La arquitectura de software como disciplina, se centra en la idea de reducir la complejidad del software
especificando, modelando y administrando dependencias, comportamientos, y cualidades. Este taller presenta una guía para profesionales de la industria de software, bajo un enfoque técnico, práctico y ágil, respecto a:
a) ¿por qué extender el diseño de software a un nivel arquitectónico?
b) ¿cuándo es valioso abordar el diseño de un proyecto desde un enfoque arquitectónico?
c) ¿qué enfoque utilizar (model-driven, reuse-driven ó risk-driven)?
d) ¿cómo iniciar la adopción de un enfoque arquitectónico?
Concluyendo con una discusión cualitativa y cuantitativa del uso de estilos, modelos, patrones y tácticas arquitectónicas.
Este documento presenta un resumen de la arquitectura de desarrollo de software. Explica brevemente la historia y evolución de la arquitectura de software, introduce conceptos clave como estilos, vistas y marcos arquitectónicos, y describe tipos de arquitecturas como flujo de datos. También discute investigación actual y temas relacionados a la arquitectura de software.
1) El documento presenta información sobre la arquitectura de software, incluyendo su historia, definición de conceptos clave como estilos y lenguajes de descripción, y campos y tendencias en arquitectura de software.
2) Se proporcionan detalles sobre tres bachilleres de la Universidad Nacional Experimental de los Llanos Occidentales Ezequiel Zamora, incluyendo sus números de cédula.
3) El documento fue creado en enero de 2014 por la universidad mencionada para fomentar conocimientos sobre arqu
Fundamentos de la arquitectura de softwareRoger Villegas
Este documento presenta una breve historia de la arquitectura de software desde 1960 hasta la actualidad, destacando conceptos clave como estilos, lenguajes de descripción arquitectónica, marcos y vistas, procesos y metodologías, abstracción, escenarios, campos de investigación, arquitecturas comunes, modalidades y tendencias, y las diferencias entre arquitectura y diseño.
Este documento presenta los fundamentos de la definición de arquitectura de software por un grupo de estudiantes. Incluye una introducción a conceptos clave de arquitectura de software según definiciones de IEEE y otros autores. Luego describe la evolución de modelos de arquitectura de software como monolítica, cliente-servidor y orientada a servicios. Finalmente discute principios de procesos de desarrollo de software modernos y el rol del arquitecto de software.
Este documento describe los fundamentos de la arquitectura de software, incluyendo conceptos como el análisis de requisitos, lineamientos de calidad, estilos arquitectónicos como capas y flujo de datos, y métodos para el diseño arquitectónico como mapeo de flujos de datos. La arquitectura de software proporciona un marco coherente para guiar el desarrollo de software mediante el uso de patrones y abstracciones.
Este documento describe las líneas de investigación y desarrollo de una herramienta CASE para soportar la trazabilidad y evolución de modelos en un entorno de desarrollo ágil de software dirigido por modelos. El objetivo es desarrollar prototipos que permitan automatizar la transformación de modelos y mantener la consistencia entre artefactos de modelado a través de mecanismos de trazabilidad. Se estudiarán estándares y herramientas relacionadas a ingeniería de software basada en modelos, lenguajes y metodologías
Evolución e integración de aplicaciones legadas: comenzar de nuevo o actualizar?Gilberto Pedraza Garcia
El documento discute las alternativas para evolucionar sistemas legados, incluyendo abandonarlos, mantenerlos o realizar reingeniería. Explica que la Programación Orientada a Aspectos es una opción para separar los requerimientos funcionales de los no funcionales en sistemas legados. Finalmente, concluye que no existe una solución única y que el enfoque depende del dominio, sugiriendo técnicas como wrapping, SOA y POA según cada caso.
Conforme el tamaño y complejidad del software se incrementa, diseñarlo va más allá de la aplicación sistemática y cuantificable de una metodología para su construcción, operación y mantenimiento. La arquitectura de software como disciplina, se centra en la idea de reducir la complejidad del software
especificando, modelando y administrando dependencias, comportamientos, y cualidades. Este taller presenta una guía para profesionales de la industria de software, bajo un enfoque técnico, práctico y ágil, respecto a:
a) ¿por qué extender el diseño de software a un nivel arquitectónico?
b) ¿cuándo es valioso abordar el diseño de un proyecto desde un enfoque arquitectónico?
c) ¿qué enfoque utilizar (model-driven, reuse-driven ó risk-driven)?
d) ¿cómo iniciar la adopción de un enfoque arquitectónico?
Concluyendo con una discusión cualitativa y cuantitativa del uso de estilos, modelos, patrones y tácticas arquitectónicas.
Este documento presenta un resumen de la arquitectura de desarrollo de software. Explica brevemente la historia y evolución de la arquitectura de software, introduce conceptos clave como estilos, vistas y marcos arquitectónicos, y describe tipos de arquitecturas como flujo de datos. También discute investigación actual y temas relacionados a la arquitectura de software.
1) El documento presenta información sobre la arquitectura de software, incluyendo su historia, definición de conceptos clave como estilos y lenguajes de descripción, y campos y tendencias en arquitectura de software.
2) Se proporcionan detalles sobre tres bachilleres de la Universidad Nacional Experimental de los Llanos Occidentales Ezequiel Zamora, incluyendo sus números de cédula.
3) El documento fue creado en enero de 2014 por la universidad mencionada para fomentar conocimientos sobre arqu
Fundamentos de la arquitectura de softwareRoger Villegas
Este documento presenta una breve historia de la arquitectura de software desde 1960 hasta la actualidad, destacando conceptos clave como estilos, lenguajes de descripción arquitectónica, marcos y vistas, procesos y metodologías, abstracción, escenarios, campos de investigación, arquitecturas comunes, modalidades y tendencias, y las diferencias entre arquitectura y diseño.
Este documento presenta los fundamentos de la definición de arquitectura de software por un grupo de estudiantes. Incluye una introducción a conceptos clave de arquitectura de software según definiciones de IEEE y otros autores. Luego describe la evolución de modelos de arquitectura de software como monolítica, cliente-servidor y orientada a servicios. Finalmente discute principios de procesos de desarrollo de software modernos y el rol del arquitecto de software.
Este documento describe los fundamentos de la arquitectura de software, incluyendo conceptos como el análisis de requisitos, lineamientos de calidad, estilos arquitectónicos como capas y flujo de datos, y métodos para el diseño arquitectónico como mapeo de flujos de datos. La arquitectura de software proporciona un marco coherente para guiar el desarrollo de software mediante el uso de patrones y abstracciones.
Este documento describe las líneas de investigación y desarrollo de una herramienta CASE para soportar la trazabilidad y evolución de modelos en un entorno de desarrollo ágil de software dirigido por modelos. El objetivo es desarrollar prototipos que permitan automatizar la transformación de modelos y mantener la consistencia entre artefactos de modelado a través de mecanismos de trazabilidad. Se estudiarán estándares y herramientas relacionadas a ingeniería de software basada en modelos, lenguajes y metodologías
It refers to a group of abstractions and patterns that provide us a useful outline to guide us in the development of software in a computer system reference.
Este documento presenta una introducción a los fundamentos de la arquitectura de software. Contiene información sobre 5 estudiantes que cursan la carrera de ingeniería en informática en la Universidad Nacional Experimental de los Llanos Occidentales "Ezequiel Zamora". También incluye secciones sobre la breve historia de la arquitectura de software, conceptos fundamentales como estilos y lenguajes de descripción de arquitecturas, marcos de referencia y vistas, y procesos y metodologías.
Este documento describe los conceptos fundamentales del diseño arquitectónico de software, incluyendo su importancia, los estilos arquitectónicos principales como sistemas de flujo de datos, sistemas basados en llamadas y retornos, y sistemas de componentes independientes, y la notación UML utilizada para representar arquitecturas de software.
Este documento resume los conceptos clave de las arquitecturas de software, incluyendo sus características generales, atributos de calidad y patrones/estilos de arquitectura. El documento también proporciona una bibliografía de referencias sobre el tema.
Este documento describe los diferentes estilos arquitectónicos y su relación con los patrones de diseño. Define los estilos como formas recurrentes de configurar los componentes de un sistema y su relación, y discute varios estilos como tubería y filtros, modelo-vista-controlador, arquitecturas en capas y orientadas a servicios. También analiza cómo los estilos se relacionan con los patrones de diseño y cómo proveen un marco conceptual para la arquitectura de software.
Este documento trata sobre la arquitectura de software y su relación con la calidad del software. Define la arquitectura como la partición de un sistema de software en elementos computacionales y las interacciones entre ellos. También discute cualidades importantes de las arquitecturas como la modularidad, los niveles de abstracción, la cohesión y el acoplamiento. Finalmente, explica que las decisiones arquitectónicas afectan los atributos de calidad del software.
Este documento presenta conceptos sobre arquitectura de software. Define arquitectura como el nivel conceptual más alto de un sistema y su organización fundamental descrita por sus componentes, relaciones y principios de diseño. Luego discute la importancia de definir la arquitectura en los proyectos, como puente entre requerimientos y implementación. Por último, contrasta arquitectura y diseño indicando que la arquitectura se enfoca en decisiones estratégicas de alto nivel que guían el diseño e implementación de un software.
La arquitectura de software se compone de sus componentes y las relaciones entre ellos. También contempla los principios y reglas que normarán su diseño y evolución. Una definición de arquitectura de software es la estructura de un sistema que abarca componentes de software, propiedades externas y relaciones. La arquitectura es importante porque facilita la comunicación, destaca decisiones de diseño temprano y constituye un modelo comprensible de cómo está estructurado el sistema.
Este documento presenta una introducción a la arquitectura de software. Explica que la arquitectura proporciona una vista abstracta de alto nivel de un sistema, sin entrar en detalles de implementación. También describe el ciclo de influencias entre la arquitectura, los factores organizacionales y técnicos que la influyen, y cómo la arquitectura a su vez puede afectar estos factores. Finalmente, resalta la importancia de la arquitectura para la comunicación, toma de decisiones tempranas de diseño y como una abstracción transfer
El documento describe los continuos avances en informática y telecomunicaciones que han generado un aumento en el uso de sistemas abiertos y distribuidos. También habla sobre la ingeniería de software, incluyendo su definición, objetivos, procesos de desarrollo, metodologías, y factores que afectan la calidad del diseño. Finalmente, discute brevemente algunos modelos de desarrollo de software como el modelo en cascada y el desarrollo iterativo e incremental.
El documento describe conceptos clave del diseño de software como la modularidad, la abstracción, la arquitectura y los patrones de diseño. Explica que el diseño de software comienza una vez finalizado el análisis de requerimientos y tiene como objetivo crear una representación del software que implemente correctamente los requerimientos y proporcione una experiencia placentera para el usuario. También cubre la evolución histórica de los conceptos de diseño de software a lo largo de las últimas seis décadas.
El documento presenta una introducción a las arquitecturas de software, definiendo conceptos básicos, los beneficios de una arquitectura de software y la arquitectura 4+1 vista. Proporciona una bibliografía de referencias y un mapa conceptual de tópicos de conocimiento sobre ingeniería de software.
La arquitectura basada en componentes se enfoca en descomponer el diseño de un sistema en componentes funcionales o lógicos independientes que interactúan a través de interfaces bien definidas. Este estilo de diseño usa componentes discretos que se comunican mediante métodos, eventos y propiedades, lo que ofrece beneficios como facilidad de instalación, costos reducidos, reusabilidad y mitigación de complejidad.
El documento trata sobre varios temas relacionados con la arquitectura de software. Explica conceptos como estilos arquitectónicos, lenguajes descriptivos de arquitectura (ADL), el patrón de arquitectura MVC, patrones de diseño, y repositorios de información arquitectónica. También discute las diferencias entre arquitectura y diseño, y menciona algunos estilos y patrones arquitectónicos comunes.
Arquitectura de software y Generación de computadores.Juan Franco
La arquitectura de software proporciona un marco de referencia para guiar la construcción de un software y permitir que los desarrolladores compartan una línea de trabajo común. Se compone de componentes como clientes, servidores y bases de datos que interactúan a través de llamadas a procedimientos, comportamiento de variables y protocolos. La arquitectura de software establece la estructura y funcionamiento del sistema y permite la transferencia de conocimientos entre desarrolladores.
Introducción a la Arquitectura de Software.
Géneros Arquitectónicas
Estilos Arquitectónicos.
Diseño Arquitectónico.
Evaluación de los diseños alternativos para la Arquitectura.
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
El diseño del software se encuentra en el núcleo de la ingeniería del software. Un buen diseño transforma los requisitos en un producto final y sirve como guía para la codificación y pruebas. Un diseño de calidad considera los datos, la arquitectura, las interfaces y los componentes siguiendo principios como minimizar el acoplamiento y maximizar la cohesión. La documentación del diseño vincula los requisitos con la implementación.
Este documento presenta una introducción al seminario de arquitectura de software dictado por Billy Reynoso de la Universidad de Buenos Aires. El seminario consta de 4 webcasts que cubren temas como los estilos de arquitectura, la arquitectura orientada a servicios y el diseño de la arquitectura. Además, el primer webcast introduce conceptos clave de la arquitectura de software como estilos, puntos de vista, requerimientos no funcionales y lenguajes de descripción arquitectónica.
El documento presenta información sobre el diseño e ingeniería de software. Explica que el diseño de software juega un papel importante en el desarrollo de software al permitir producir modelos del sistema que pueden evaluarse antes de codificar. Luego describe conceptos fundamentales del diseño de software como el diseño arquitectónico y detallado. Finalmente, destaca que los objetivos del diseño incluyen entregar las funciones requeridas por el usuario y considerar aspectos como el rendimiento, control y cambiabilidad.
It refers to a group of abstractions and patterns that provide us a useful outline to guide us in the development of software in a computer system reference.
Este documento presenta una introducción a los fundamentos de la arquitectura de software. Contiene información sobre 5 estudiantes que cursan la carrera de ingeniería en informática en la Universidad Nacional Experimental de los Llanos Occidentales "Ezequiel Zamora". También incluye secciones sobre la breve historia de la arquitectura de software, conceptos fundamentales como estilos y lenguajes de descripción de arquitecturas, marcos de referencia y vistas, y procesos y metodologías.
Este documento describe los conceptos fundamentales del diseño arquitectónico de software, incluyendo su importancia, los estilos arquitectónicos principales como sistemas de flujo de datos, sistemas basados en llamadas y retornos, y sistemas de componentes independientes, y la notación UML utilizada para representar arquitecturas de software.
Este documento resume los conceptos clave de las arquitecturas de software, incluyendo sus características generales, atributos de calidad y patrones/estilos de arquitectura. El documento también proporciona una bibliografía de referencias sobre el tema.
Este documento describe los diferentes estilos arquitectónicos y su relación con los patrones de diseño. Define los estilos como formas recurrentes de configurar los componentes de un sistema y su relación, y discute varios estilos como tubería y filtros, modelo-vista-controlador, arquitecturas en capas y orientadas a servicios. También analiza cómo los estilos se relacionan con los patrones de diseño y cómo proveen un marco conceptual para la arquitectura de software.
Este documento trata sobre la arquitectura de software y su relación con la calidad del software. Define la arquitectura como la partición de un sistema de software en elementos computacionales y las interacciones entre ellos. También discute cualidades importantes de las arquitecturas como la modularidad, los niveles de abstracción, la cohesión y el acoplamiento. Finalmente, explica que las decisiones arquitectónicas afectan los atributos de calidad del software.
Este documento presenta conceptos sobre arquitectura de software. Define arquitectura como el nivel conceptual más alto de un sistema y su organización fundamental descrita por sus componentes, relaciones y principios de diseño. Luego discute la importancia de definir la arquitectura en los proyectos, como puente entre requerimientos y implementación. Por último, contrasta arquitectura y diseño indicando que la arquitectura se enfoca en decisiones estratégicas de alto nivel que guían el diseño e implementación de un software.
La arquitectura de software se compone de sus componentes y las relaciones entre ellos. También contempla los principios y reglas que normarán su diseño y evolución. Una definición de arquitectura de software es la estructura de un sistema que abarca componentes de software, propiedades externas y relaciones. La arquitectura es importante porque facilita la comunicación, destaca decisiones de diseño temprano y constituye un modelo comprensible de cómo está estructurado el sistema.
Este documento presenta una introducción a la arquitectura de software. Explica que la arquitectura proporciona una vista abstracta de alto nivel de un sistema, sin entrar en detalles de implementación. También describe el ciclo de influencias entre la arquitectura, los factores organizacionales y técnicos que la influyen, y cómo la arquitectura a su vez puede afectar estos factores. Finalmente, resalta la importancia de la arquitectura para la comunicación, toma de decisiones tempranas de diseño y como una abstracción transfer
El documento describe los continuos avances en informática y telecomunicaciones que han generado un aumento en el uso de sistemas abiertos y distribuidos. También habla sobre la ingeniería de software, incluyendo su definición, objetivos, procesos de desarrollo, metodologías, y factores que afectan la calidad del diseño. Finalmente, discute brevemente algunos modelos de desarrollo de software como el modelo en cascada y el desarrollo iterativo e incremental.
El documento describe conceptos clave del diseño de software como la modularidad, la abstracción, la arquitectura y los patrones de diseño. Explica que el diseño de software comienza una vez finalizado el análisis de requerimientos y tiene como objetivo crear una representación del software que implemente correctamente los requerimientos y proporcione una experiencia placentera para el usuario. También cubre la evolución histórica de los conceptos de diseño de software a lo largo de las últimas seis décadas.
El documento presenta una introducción a las arquitecturas de software, definiendo conceptos básicos, los beneficios de una arquitectura de software y la arquitectura 4+1 vista. Proporciona una bibliografía de referencias y un mapa conceptual de tópicos de conocimiento sobre ingeniería de software.
La arquitectura basada en componentes se enfoca en descomponer el diseño de un sistema en componentes funcionales o lógicos independientes que interactúan a través de interfaces bien definidas. Este estilo de diseño usa componentes discretos que se comunican mediante métodos, eventos y propiedades, lo que ofrece beneficios como facilidad de instalación, costos reducidos, reusabilidad y mitigación de complejidad.
El documento trata sobre varios temas relacionados con la arquitectura de software. Explica conceptos como estilos arquitectónicos, lenguajes descriptivos de arquitectura (ADL), el patrón de arquitectura MVC, patrones de diseño, y repositorios de información arquitectónica. También discute las diferencias entre arquitectura y diseño, y menciona algunos estilos y patrones arquitectónicos comunes.
Arquitectura de software y Generación de computadores.Juan Franco
La arquitectura de software proporciona un marco de referencia para guiar la construcción de un software y permitir que los desarrolladores compartan una línea de trabajo común. Se compone de componentes como clientes, servidores y bases de datos que interactúan a través de llamadas a procedimientos, comportamiento de variables y protocolos. La arquitectura de software establece la estructura y funcionamiento del sistema y permite la transferencia de conocimientos entre desarrolladores.
Introducción a la Arquitectura de Software.
Géneros Arquitectónicas
Estilos Arquitectónicos.
Diseño Arquitectónico.
Evaluación de los diseños alternativos para la Arquitectura.
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
El diseño del software se encuentra en el núcleo de la ingeniería del software. Un buen diseño transforma los requisitos en un producto final y sirve como guía para la codificación y pruebas. Un diseño de calidad considera los datos, la arquitectura, las interfaces y los componentes siguiendo principios como minimizar el acoplamiento y maximizar la cohesión. La documentación del diseño vincula los requisitos con la implementación.
Este documento presenta una introducción al seminario de arquitectura de software dictado por Billy Reynoso de la Universidad de Buenos Aires. El seminario consta de 4 webcasts que cubren temas como los estilos de arquitectura, la arquitectura orientada a servicios y el diseño de la arquitectura. Además, el primer webcast introduce conceptos clave de la arquitectura de software como estilos, puntos de vista, requerimientos no funcionales y lenguajes de descripción arquitectónica.
El documento presenta información sobre el diseño e ingeniería de software. Explica que el diseño de software juega un papel importante en el desarrollo de software al permitir producir modelos del sistema que pueden evaluarse antes de codificar. Luego describe conceptos fundamentales del diseño de software como el diseño arquitectónico y detallado. Finalmente, destaca que los objetivos del diseño incluyen entregar las funciones requeridas por el usuario y considerar aspectos como el rendimiento, control y cambiabilidad.
Presentación con definiciones de ingeniería de software.
Contenido:
Definición.
Objetivos:
Organizaciones
Clasificación de los tipos de aplicaciones de cómputo.
Software engineering institute (sei).
W3c (world wide web consortium)
Modelos y filosofías de desarrollo de software:
Ciclo de vida del desarrollo de software (proceso para el desarrollo de software).
Arquitectura de software
Conclusiones
Bibliografía.
Diseño de Sistemas de Información en la EmpresaEdicion Ticnews
Los objetivos al diseñar un sistema de información son:
1) Definir la arquitectura del sistema para satisfacer los requerimientos especificados.
2) Especificar los componentes, módulos y datos del sistema.
3) Diseñar la interfaz de usuario y la interacción entre los componentes.
El documento presenta una introducción a la arquitectura de software. Define la arquitectura de software como las decisiones importantes sobre la organización de un sistema, incluyendo elementos estructurales, interfaces y comportamientos. Explica que una buena arquitectura proporciona flexibilidad y facilita el mantenimiento. Finalmente, menciona que los patrones y estilos de arquitectura son herramientas importantes para diseñar una arquitectura de software.
El documento habla sobre las líneas de productos de software. Explica que una línea de productos de software es un conjunto de sistemas de software que comparten características y son desarrollados a partir de un conjunto común de activos centrales como la arquitectura y componentes reutilizables. Algunos beneficios de las líneas de productos de software son la reducción del tiempo y esfuerzo requeridos para desarrollar nuevos productos así como menores costos de producción.
Este documento presenta el currículo del módulo de Programación en Lenguajes Estructurados para el ciclo de Desarrollo de Aplicaciones Informáticas. Incluye la introducción, objetivos, capacidades terminales, organización de contenidos divididos en cuatro bloques y su temporalización, y bibliografía recomendada. El objetivo principal es que los estudiantes aprendan a elaborar programas en lenguajes estructurados y orientados a objetos, realizar pruebas, documentar aplicaciones, y adaptar programas a nuevos requerimientos.
Este documento presenta los objetivos y metodología de un curso sobre diseño y construcción de productos de software. Los objetivos generales son practicar conocimientos previos y elaborar las fases de diseño y construcción de un sistema de información. Se evaluarán 4 entregables que comprenden el diseño de datos, comportamiento, aplicación y documentación. La metodología incluye asesorías a proyectos individuales y la presentación de avances ante un comité.
El documento describe la investigación realizada sobre el patrón de arquitectura de software Modelo Vista Controlador (MVC). Se define MVC y sus componentes principales (Modelo, Vista y Controlador). También se explican las ventajas de usar este patrón, como permitir la sustitución e intercambio de interfaces de usuario de manera flexible. Finalmente, la investigación incluyó una encuesta para evaluar el conocimiento de MVC entre estudiantes.
Líneas De ProductosDe Software Y Método WatchViviana131293
El documento habla sobre las líneas de productos de software. Explica que una línea de productos de software es un conjunto de sistemas de software que comparten características y son desarrollados a partir de un conjunto común de activos centrales como la arquitectura y componentes reutilizables. Algunos beneficios de las líneas de productos de software incluyen la reducción del tiempo, esfuerzo y costo requeridos para desarrollar nuevos productos.
El documento discute los beneficios del desarrollo de software basado en componentes, incluyendo el ahorro de tiempo y esfuerzo a través de la reutilización de componentes previamente desarrollados y probados, la reducción de costos en comparación con el desarrollo de software desde cero, y la mejora de la calidad del producto final. También señala que la calidad de un software basado en componentes mejorará con el tiempo a medida que los componentes individuales sean construidos y mejorados continuamente.
El documento discute los beneficios del desarrollo de software basado en componentes, incluyendo el ahorro de tiempo y esfuerzo a través de la reutilización de componentes previamente desarrollados y probados, la reducción de costos en comparación con el desarrollo de software desde cero, y la obtención de un producto de mejor calidad al combinar componentes individuales que pueden ser continuamente mejorados. También señala que es importante seleccionar componentes apropiados y asegurarse de que no contengan fallas para garantizar la confi
Presentacion de Software y Estimacion de CosteCAMILO
El diseño es el proceso clave para la calidad del software. Requiere modularidad efectiva para reducir complejidad y facilitar cambios, resultando en una implementación más sencilla. Los principios de diseño orientado a objetos incluyen abstracción, encapsulamiento, modularidad y jerarquía. Estimar correctamente el costo de un proyecto de software es importante, y los casos de uso y el método de puntos de casos de uso pueden ayudar a definir el alcance y tamaño del proyecto para una estimación inicial.
El documento describe el método de puntos de caso de uso para la estimación de costos de desarrollo de software. Este método se basa en identificar los casos de uso del sistema y sus transacciones, y asignar un peso a cada caso de uso en función del número de transacciones. El peso de los casos de uso se usa para calcular los puntos de caso de uso iniciales, los cuales luego se ajustan considerando factores técnicos y ambientales para estimar el esfuerzo de desarrollo requerido. La definición de una transacción de caso de uso y la met
presentacion de software y estimacion de dosteCAMILO
El diseño es el proceso clave para la calidad del software. Requiere un enfoque modular que reduzca la complejidad y facilite cambios, resultando en una implementación más sencilla. Los principios del modelo orientado a objetos como la abstracción, encapsulación, modularidad y jerarquía son fundamentales para el diseño. Estimar correctamente el costo de un proyecto de software desde el inicio es importante, y métodos como los puntos de caso de uso ayudan a definir el alcance del proyecto y realizar estimaciones iniciales.
El documento describe el método de puntos de caso de uso para la estimación de costos de desarrollo de software. Este método se basa en identificar los casos de uso del sistema y sus transacciones, y asignar un peso a cada caso de uso en función del número de transacciones. El peso de los casos de uso se usa para calcular los puntos de caso de uso iniciales, los cuales luego se ajustan considerando factores técnicos y ambientales para estimar el esfuerzo de desarrollo requerido. La definición de una transacción de caso de uso y la met
El documento describe el método de puntos de caso de uso para la estimación de costos de desarrollo de software. Este método se basa en identificar los casos de uso del sistema y sus transacciones, y asignar un peso a cada caso de uso en función del número de transacciones. El peso de los casos de uso se usa para calcular los puntos de caso de uso iniciales, los cuales luego se ajustan considerando factores técnicos y ambientales para estimar el esfuerzo de desarrollo requerido. La definición de una transacción de caso de uso y la met
Este documento discute el desarrollo de software basado en componentes. Define componente de software como una unidad de software reutilizable con interfaces claramente especificadas. Explica que los componentes permiten reducir los costos y tiempos de desarrollo al permitir la reutilización de código. También describe los modelos de procesos y aspectos metodológicos para producir software usando componentes de software.
Este documento describe los conceptos fundamentales del desarrollo de software basado en componentes. Explica que un componente de software es una unidad reutilizable que ofrece servicios a través de una interfaz bien definida y oculta su implementación. También describe que las interfaces definen los servicios que un componente puede realizar y que los componentes deben ser autocontenidos, independientes de plataformas y lenguajes de programación, e identificables para facilitar su reutilización. Finalmente, señala que el ensamblaje de componentes requiere el uso de modelos
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTECAMILO
El documento describe métodos para estimar el costo de un proyecto de desarrollo de software. Explica que la estimación de costos es importante para la toma de decisiones al comenzar un proyecto. Señala que los casos de uso ayudan a definir claramente los requisitos funcionales y el alcance del sistema. Luego introduce el método de puntos en casos de uso como un enfoque prometedor para estimar el tamaño y costo de un proyecto basado en su descripción mediante casos de uso.
Similar a Participación en simposio IV jornadas Iberoamericanas de HCI (20)
Un breve resumen en el que se indica la importancia de la ética que todo investigador debe tener en cuenta al momento de escribir algún documento que será o no publicado.
El factor movilidad vehícular, un primer gran problema de las ciudades en cr...Alejandro Bolaños Ussa
Ensayo relacioado con la problemática de movilidad en la ciudad de Popayán, teniendo en cuenta factores de infraestructura, sociedad, control vehicular y bansandose en un pequeño experimento en clases de maestría sobre la posición de diferentes puntos de vista.
Este documento resume los principales conceptos de orientación a objetos en Java como encapsulamiento, herencia, polimorfismo, sobrecarga y sobrescritura de métodos, casteo de variables, implementación de interfaces, tipos de retorno, constructores, variables y métodos estáticos, acoplamiento y cohesión, y tipos enumerados. Explica cada uno de estos conceptos con detalles sobre su definición y aplicación.
Proyecto para la fundación casa del vocal, permitiendo crear un sistema de control de la documentación, y del control de los usuarios y vocales de control
El documento discute cómo el mercado electrónico puede ser una opción para expandir los negocios. Explica que debido a los avances tecnológicos como las redes sociales y las páginas web, las empresas deben adoptar nuevas formas de llegar a clientes potenciales y atraer nuevos clientes a través de Internet. También señala que las empresas colombianas han visto el potencial de utilizar la web y la tecnología 2.0 para aumentar la economía del país y generar beneficios sociales como reducir el desempleo y prom
Este documento describe métodos para calcular las raíces de una ecuación, incluyendo métodos gráficos, de bisección, punto fijo, Newton-Raphson y secante. También explica la importancia de determinar las raíces de una ecuación y reglas como el teorema de Bolzano para ayudar a identificarlas.
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesAlejandro Bolaños Ussa
En este seminario, se expondrán herramientas de desarrollo utilizadas a nivel empresarial, utilizando herramientas de alta calidad permitiendo el trabajo multicapa. Esta presentación fue socialzada en la universidad colegio mayor del cauca, para los estudiantes de ingeniería y desarrollo de software
Este proyecto propone el desarrollo de un sistema web para capacitar a usuarios libres y clientes de la empresa SADMIN en temas relacionados con contabilidad, finanzas, procesos administrativos y los productos software de SADMIN. El sistema incluirá videos tutoriales, manuales y cursos sobre estos temas. Se utilizarán herramientas como un IDE, lenguaje de programación, motor de base de datos y herramientas multimedia. El gerente de SADMIN proveerá información para el desarrollo con el fin de entregar un sistema de capacitación que
Este documento explica las gramáticas ambiguas y las gramáticas libres de contexto. Define la ambigüedad como cuando algo tiene más de una interpretación. Las gramáticas ambiguas generan lenguajes donde una cadena puede tener más de un árbol sintáctico. Las gramáticas libres de contexto definen reglas formales para lenguajes de programación y usan derivaciones para evaluar cadenas. Las derivaciones pueden ser ambiguas dependiendo de si se hacen hacia la izquierda o derecha.
Este documento define los paradigmas de programación como estilos de programación que facilitan la solución de problemas. Describe brevemente los principales paradigmas: imperativo, lógico, funcional, orientado a objetos, estructurado y guiado por eventos. Cada paradigma se centra en un enfoque diferente como las funciones matemáticas, las reglas lógicas, los objetos o la estructura del código.
Este documento presenta un análisis para el desarrollo de una aplicación web para la empresa Multividrios y Aluminios del Cauca. Se analiza la red, equipos, aplicaciones y arquitectura N-capas requerida. También se describe la funcionalidad de procesamiento en línea, generación de reportes estratégicos, tácticos y operativos usando Pentaho. Finalmente, se concluye que el lenguaje de programación Java cumple mejor con los requisitos debido a su potencial para integrar plataformas y librerías exist
El documento trata sobre conceptos básicos de Investigación de Operaciones (I.O.). Explica que la I.O. utiliza modelos matemáticos para optimizar procesos complejos mediante la toma de decisiones, originándose durante la Segunda Guerra Mundial para analizar estrategias logísticas de manera efectiva. También describe los tipos de decisiones, factores que dificultan la toma de decisiones, y beneficios de aplicar métodos científicos. Finalmente, menciona a importantes figuras en el desarrollo de la I
El documento describe el poder de la mente humana para lograr objetivos y cumplir sueños. Explica que figuras como Freud descubrieron que la mente juega un papel importante en controlar el cuerpo y alcanzar metas. También argumenta que la mente es capaz de convencer al cuerpo de que puede lograr lo imposible si la persona cree firmemente en sí misma y sus capacidades. Finalmente, señala que los avances de la humanidad son resultado de personas que creyeron en sus ideas y sueños.
Este documento describe dos estructuras organizacionales: la estructura matricional y la estructura divisional. La estructura matricional facilita la creación de equipos de proyecto flexibles con recursos idóneos y hace que los proyectos sean más estándar en la organización. Sin embargo, los miembros de los equipos de proyecto tienen dos jefes y se requiere un proceso de negociación para la asignación de recursos. La estructura divisional permite una rápida respuesta a los cambios del mercado y una mayor concentración en product
Este documento presenta la fase de gestación de un proceso unificado para la Casa del Vocal, una institución que ayuda a usuarios con problemas en los servicios públicos. Describe el modelo de la organización, casos de uso, funciones, diagramas y especificaciones de casos de uso. También incluye un análisis de riesgo y plan de software para el proyecto.
Buscador de Eventos y Fiestas en España - Buscafiestaholabuscafiesta
Buscafiesta.es es el buscador líder en España para fiestas y eventos, diseñado para satisfacer las necesidades tanto de organizadores como de asistentes. Este innovador software ofrece una plataforma integral que permite a los organizadores de eventos añadir, gestionar y promocionar sus actividades de manera totalmente autónoma, facilitando la visibilidad y escalabilidad de sus eventos.
Buscafiesta.es no solo conecta a los organizadores con su público objetivo, sino que también ofrece herramientas de marketing y análisis que ayudan a maximizar el impacto de cada evento. Ya sea para una fiesta local, un concierto multitudinario o un evento corporativo, Buscafiesta.es es la solución definitiva para hacer de cada evento un éxito rotundo.
Participación en simposio IV jornadas Iberoamericanas de HCI
1. Un enfoque colaborativo para la
recuperación de la arquitectura de
referencia en Líneas de Producto Software
IV Jornadas Iberoamericanas de HCI
UNIVERSIDAD DEL CAUCA
MAESTRÍA EN COMPUTACIÓN
- IDIS -
Alejandro Bolaños Ussa
Advisor
PhD. Julio Ariel Hurtado
Advisor
PhD(c). Marta Cecilia Camacho
2. Agenda
Líneas de Producto Software. ¿Qué es una SPL? Ventajas, dificultades y alcance (Scoping) 3
Arquitectura del Software. ¿Qué es S.A? Documentación y vistas 6
Arquitectura en líneas de Productos Software – PLA 7
Recuperación de Arquitectura Software – SAR 8
Planteamiento del Problema: Cómo recuperar una Arquitectura de Software? Código fuente,
dinámico y resultados.
9
Objetivo: Lograr un enfoque de colaboración para recuperar una Arquitectura de Referencia 12
Trabajo relacionado 13
Enfoque Colaborativo 14
Metodología de investigación – Progresos y resultados esperados 15
Referencias 17
¿Preguntas? 19
2
3. Líneas de Producto Software
Es un conjunto de sistemas intensivos en
software que comparten un conjunto común
de características administradas que
satisfacen las necesidades específicas de un
segmento de mercado o misión particular y
que se desarrollan a partir de un conjunto
común de activos centrales de una manera
determinada[Clements, 2002]
3
4. Ventajas
Disminución del tiempo de
comercialización
Aumento de la calidad del
producto
Ganancia de productividad
Satisfacción del cliente
4
Requerimientos
Arquitecturas
Componentes
Pruebas
Procesos y
Personas
5. SCOPING
Definición del alcance en SPL –(scoping)
Es una descripción de los productos que
constituirán la línea de productos. En su forma
más simple, el alcance puede consistir en una
lista enumerada de nombres de productos.
Su alcance debe definirse cuidadosamente, este
evoluciona a medida que cambian las
condiciones del mercado.
Arquitectura de Referencia en SPL = {A ∩ B ∩ C ∩ D ∩ E}
5
6. Arquitectura Software- SA
• “Las estructuras de un sistema,
compuestas de elementos con
propiedades visibles de forma
externa y las relaciones que existen
entre ellos.”[L. Bass, P. Clements, R.
Kazman]
• La manera en que se estructura un
sistema permitirá o impedirá que se
satisfagan los atributos de calidad.
6
7. Arquitectura en Líneas de Producto - PLA 7
Rationale-Decisiones
Patrones Arquitectónicos
Patrones de diseño
Atributos de Calidad
Componentes variables Componentes reutilizables
8. Recuperación de la Arquitectura Software -
SAR
• La recuperación de la arquitectura de software (SAR) implica la
extracción de información arquitectónicamente relevante de un
sistema software, la abstracción y la descripción de la
arquitectura recuperada.
8
SAR
Módulos,
componentes,
patrones, decisiones,
atributos de calidad.
Desconocimiento del
sistema
9. Planteamiento del problema
• Existen varias propuestas de recuperación de arquitectura tal como se
definen Koznov y Romanovsky [4], que son el análisis del código fuente,
métodos formales, entre otros. Sin embargo, los métodos poseen un
punto débil como lo es la sincronización y/o coherencia entre el código,
el conocimiento, el dominio y el modelo recuperado, ya que son poco
efectivos en ambientes que evolucionan activamente
• En el caso de las líneas de productos, existen las siguientes propuestas:
Crescencio Lima [14], inicialmente propone en un enfoque para
recuperar PLA basado en el uso y la adaptación de técnicas y
herramientas para la recuperación de arquitectura software.
• Lima y Santana [15], establecen que las PLA es la arquitectura principal
en todos los productos pertenecientes a una línea.
9
11. Pregunta de investigación
• ¿Cómo recuperar una arquitectura de referencia para una
organización a partir de los productos, componentes, documentos
y personal involucrado en la construcción de productos previos,
considerando el alcance identificado para la SPL que será
desarrollada, y cuya principal fuente sean los stakeholders?
11
12. Objetivos 12
Proponer un enfoque colaborativo para la recuperación de
arquitectura de referencia en líneas de productos software
planteadas a partir de productos previamente construidos.
Establecer las técnicas o métodos
utilizados en las experiencias SAR en
el contexto de la construcción de
SPL, de especificación del rationale
arquitectónico y del trabajo
colaborativo en la ingeniería de
software.
Seleccionar y adaptar un método de
recuperación de arquitecturas y su
rationale, en el contexto de
construcción de una SPL a través de
la incorporación de aspectos de
trabajo colaborativo.
Evaluar el método de recuperación
de la arquitectura de referencia
propuesto a través de la comprensión
del producto a nivel arquitectural y
la integralidad del conocimiento
arquitectónico con el alcance de la
SPL en un estudio de caso práctico
13. Trabajo relacionado
SAR
SAR for
Product
Families
Evolution in
Software
Product
Lines
PLAR: an
approach
proposal
Experiences
with using
the
systematic
method for
SAR
Cost-Effective
Traceability
Links for
Architecture
Level Software
Understanding
Evidence for
Understanding
the
Relationship
between
PLA_SAR
Método de
recuperación
de la
arquitectura
EVAR
13
Enfoque
colaborativo
15. Metodología 15
Mario
Bundge,
2002
Kitchenha
m, 2004
Henderson-
Sellers, 2014
•Planteamiento del problema
•Reconocimiento de los hechos
•Análisis
Fase 1
•Selección de los factores pertinentes
Definición de las hipótesis
•Selección del método de recuperación de la
arquitectura de referencia
Fase 2
• Caracterización de los métodos de mejora y de
los elementos a emplear
• Construcción de la propuesta de mejora del
método de recuperación
Fase 3
•Evaluación de la propuesta de mejora.
Fase 4
•Introducción de las conclusiones en la teoría
•Confrontación de los resultadosFase 5
16. Progreso, resultados esperados
Review of
the literature
Review of
recovery tools
and methods
Selection of
tools and
method for
architectural
recovery
Termination
of the
Scientific
Article, a
review of the
literature
Case study
design for
architecture
recovery
(single). A
practical
case
Application
and execution
of the case
study
Case study
design, for
the
validation of
SAR + SPL +
Collaborative
Approach
Application
and execution
of the case
study
Report with
the results
obtained from
the execution
of the case
study
Evaluation,
Analysis and
Publication of
research
results
16
17. Referencias
• L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 2nd Edition, Addison
Wesley, 2003
• [1] A. E. Hassan y R. C. Holt, «Architecture recovery of Web applications,» Software
Engineering, International Conference, pp. 349-366, 2002.
• [2] J. Tahuiton Mora, «Arquitectura de software para aplicaciones Web,» México D.F., 2011.
• [3] E. Albassam, H. Gomaa, and D. A. Menascé, “Variable Recovery and Adaptation Connectors
for Dynamic Software Product Lines.”
• [4] D. Koznov, K. Romanovsky y A. Nikitin, «A Method for Recovery and Maintenance of
Software Architecture».
• [5] M. Pinzger, H. Gall, J.-F. Girard, J. Knodel, C. Riva, W. Pasman, C. Broerse y J. G.
Wijnstra, «Architecture Recovery for Product Families,» pp. 332 - 351, 2003.
• [6] I. Pashov y M. Riebisch, «Using feature modeling for program comprehension and software
architecture recovery,» Engineering of Computer-Based Systems, 2004. Proceedings. 11th IEEE
International Conference and Workshop on the, pp. 406-417, 2004
17
18. Referencias
• [7] F. Ahmed y L. F. Capretz, «The software product line architecture: An empirical investigation of key process activities,» Information and
Software Technology, vol. 50, nº 1, p. 1.098 a 1.113, 2008.
• [8] M. Svahnberg y E. Bosch, «Evolution in software product lines: Two cases,» Journal of Software Maintenance: Research and Practice, vol. 11,
nº 6, pp. 391-422, 1999.
• [9] F. Solms, “Experiences with using the Systematic Method for Architecture Recovery (SyMAR),” ACM Int. Conf. Proceeding Ser., pp. 170–178,
2013.
• [10] M. A. Javed, S. Stevanetic, and U. Zdun, “Cost-effective traceability links for architecture-level software understanding: A controlled
experiment,” ACM Int. Conf. Proceeding Ser., vol. 28–Septemb, pp. 69–73, 2015.
• [11] C. R. L. Neto, M. P. S. Cardoso, C. von F. G. Chavez, and E. S. de Almeida, “Initial Evidence for Understanding the Relationship between
Product Line Architecture and Software Architecture Recovery,” in 2015 IX Brazilian Symposium on Components, Architectures and Reuse
Software, 2015, pp. 40–49.
• [12] Y. A. Ordoñez Guzmán y E. A. Giraldo Muñoz, «Método de recuperación de arquitecturas basado en la focalización evaluativa y la
visualización de software: un estudio de caso en una pequeña organizacion de software,» 2016.
• [13] C. &. Northrop, Software Product Lines: Practices and Patterns: Practices and Patterns, 2002.
• [14] C. Lima, «Product line architecture recovery: An approach proposal (extended abstract),» IEEE International Conference on Software
Engineering Companion Product, 2017
• [15] C. Lima, E. Santana de Almeida, M. P. Soares Cardoso, C. v. F. G. Chavez y I. d. C. Machado, «Investigating the Variability Impact on the
Recovery of Soſtware Product Line Architectures: An Exploratory Study,» ACM Press, pp. 1-, 2017.
18
19. Un enfoque colaborativo para la
recuperación de la arquitectura de
referencia en Líneas de Producto Software
IV Jornadas Iberoamericanas de HCI
¿PREGUNTAS?
UNIVERSIDAD DEL CAUCA
MAESTRÍA EN COMPUTACIÓN
- IDIS -
Alejandro Bolaños Ussa
Advisor
PhD. Julio Ariel Hurtado
Advisor
PhD(c). Marta Cecilia Camacho
QUE NO ES:
Reutilizar piezas de grano pequeño
Todos los activos están diseñados para ser reutilizados y están optimizados para su uso en más de un sistema. La reutilización con líneas de productos de software es completa, planificada y rentable
Desarrollar un solo sistema con reutilización
Si tenemos un producto uno, y reutilizamos para crear un producto dos, tenemos dos productos diferentes. Pero no dos productos de una línea. En primer lugar, las líneas de productos de software reutilizan los activos que fueron diseñados explícitamente para su reutilización. En segundo lugar, la línea de productos se trata como un todo, no como productos múltiples que se ven y mantienen por separado. La línea de producto es por lo tanto, la agrupación de los activos principales que son la principal razón del producto u organización.
Desarrollar basado en componentes o basado en servicios
Las líneas de productos de software dependen de una forma de desarrollo basado en componentes (o basado en el servicio), pero se trata de mucho más. Aunque los productos en las líneas de productos de software ciertamente están compuestos de componentes, algunos de los cuales pueden ser servicios web, estos componentes están especificados por la arquitectura de línea de producto
Solo una arquitectura reconfigurable
Una arquitectura de línea de producto está diseñada para admitir la variación que necesitan los productos en la línea de productos, por lo que es reconfigurable. Sin embargo, la arquitectura de línea de productos es solo un activo, aunque importante, en la base de activos básicos de la línea de productos.
Liberaciones y versiones de productos individuales
Primero, una línea de productos tiene múltiples productos simultáneos, todos los cuales están pasando por sus propios ciclos de lanzamiento y versionamiento simultáneamente. Por lo tanto, la evolución de un solo producto debe considerarse dentro de un contexto más amplio, a saber, la evolución de la línea. Pero en una línea de productos, una versión temprana de un producto que todavía se considera que tiene potencial de mercado puede mantenerse fácilmente como un miembro viable de la familia: es, después de todo, una instancia de los activos centrales, al igual que otras versiones de otros productos
Solo un conjunto de estándares técnicos
Los estándares técnicos son restricciones para promover la interoperabilidad y disminuir el costo asociado con el mantenimiento y soporte de componentes comerciales. Una organización que emprende un esfuerzo de línea de productos puede tener tales estándares técnicos, en cuyo caso la arquitectura de la línea de productos y los componentes deberán cumplir con dichos estándares. Sin embargo, los estándares son simplemente restricciones que se ingresan a la línea de productos de software, no más.
Un enfoque de línea de productos de software brinda opciones para futuras oportunidades de mercado
Requisitos reutilizables
Los objetivos de calidad para un sistema -su rendimiento, confiabilidad, capacidad de modificación, etc.- están ampliamente permitidos o descartados una vez que la arquitectura está en su lugar. La arquitectura de línea de producto se usa para cada producto y solo necesita ser instanciada. Se ahorra tiempo y riesgo considerables.
Componentes: la arquitectura de línea de producto proporciona especificaciones de componentes para todos los componentes no únicos que pueden ser necesario
Con cada nuevo producto, existe una confianza extremadamente alta de que los problemas de temporización se han resuelto y que los errores asociados con la computación distribuida
Ya se han creado los planes genéricos de pruebas. Estos artefactos de prueba solo se deben adaptar en función de las variaciones relacionadas con el producto.
Los presupuestos de línea de base y los cronogramas de proyectos previos de desarrollo de productos ya existen y proporcionan una base confiable para los planes de trabajo del producto
Los procesos ya están definidos y sólo es necesario reutilizarlos.
Personas: se requieren menos personas para construir productos, y las personas se transfieren más fácilmente a través de toda la línea
“Elementos” dentro de la definición del SEI es vago a propósito, pues puede referirse a distintas entidades relacionadas con el sistema
Los difrentes productos tienen definido una arquitectura, pero es una instancia de la arquitectura principal, el cuál contiene una serie de variaciones.
Los productos en una línea de productos de software existen simultáneamente y pueden variar entre sí en términos de comportamiento, atributos de calidad, plataforma, red, configuración física, middleware y factores de escala, y en una multitud de otras formas
Existe durante el ciclo de vida de los productos
Varía relativamente poco
Generalmente la arquitectura está basada en los atributos de calidad (ADD – Diseño controlado por atributos [SEI]): Es un método de descomposición
Elige controladores arquitectónicos
Elige Patrones y tipos de componentes secundarios.
Crear instancia de elementos
Identificar puntos comunes
Validar descomposición
Refinar los CU y escenarios
Un patrón de arquitectura5 es una descripción de los tipos de componentes y una pauta de su control de tiempo de ejecución y / o transferencia de datos [Shaw 1996a]
SAR: es fundamental para el mantenimiento de una sola aplicación, ya que según Gomaa [3] una arquitectura de línea de producto (PLA) es una arquitectura para una familia de productos, el cual describe los componentes obligatorios, opcionales y variables de la línea.
De esta manera la combinación de SAR con PLA es parte fundamental para mantener actualizados y sincronizados los activos de un sistema dentro de la línea (Gomaa).
La recuperación de la arquitectura es fundamental para el mantenimiento de una sola aplicación, ya que según Gamaa una arquitectura de línea de producto (PLA) es una arquitectura para una familia de productos, el cual describe los componentes obligatorios, opcionales y variables de la línea.
De esta manera la combinación de SAR con PLA es parte fundamental para mantener actualizados y sincronizados los activos de un sistema dentro de la línea
A- Se define un proceso de construcción de familia de productos a través de una exploración de sistemas sobre productos que pertenecen a un dominio en particular
B- Presentan una propuesta inicial que consiste en un enfoque para recuperar PLA basado en el uso y la adaptación de técnicas y herramientas para la recuperación de arquitectura software en sistemas únicos de abajo hacia arriba (ascendente)
C- Presentan una directrices para facilitar la evolución de los activos pertenecientes a un línea de productos, Se identificaron categorías de esta evolución en requisitos, arquitectura y componentes software analizando las relaciones entre estas categorías
D- Definen un método iterativo en cual permite la descripción arquitectónica resultante incluye la identificación de componentes arquitectónicos que abordan problemas no funcionales
E- Integra como parte fundamental las actividades humana. Presentan herramientas para automatizar la recuperación del software por medio de métodos automáticos.
F- Recopila datos y evidencias sobre la relación entre la arquitectura de la línea de productos y la recuperación de la arquitectura de software. La intención es comprender la relación entre la recuperación de la arquitectura de software y las arquitecturas de línea de productos.
G-Realizan un análisis de las diferentes técnicas, herramientas, métodos de evaluación de arquitectura haciendo un enfoque en la visualización y la facilidad para la recuperación a partir del conocimiento implícito de los participantes.