Please enable JavaScript.
Coggle requires JavaScript to display documents.
Técnicas de reutilización, image, image, https://images.app.goo…
Técnicas de reutilización
Objetivos
Para explicar los beneficios del software
reutilizable y algunos de sus problemas
Para discutir las diferentes formas de implementar
el software reutilizable
Para explicar cómo los conceptos reutilizables pueden ser representados como patrones o incrustados en generadores de programas
Beneficios de la Reutilización
Mayor fiabilidad
Software reutilizados, que han sido probados en sistemas de trabajo, deben ser mas confiables que el nuevo software.
Proceso de reducción de riesgos:
Si existe el software, hay menos incertidumbre en los costes de la reutilización que el software que en los costes de desarrollo.
Este es un factor importante para la gestión de proyectos, ya que reduce el margen de error en la estimación de costes del proyecto.
El uso eficaz de los especialistas: .
En lugar de especialistas en aplicaciones haciendo el mismo trabajo en diferentes proyectos, estos especialistas pueden desarrollar software reutilizables que encapsulan sus conocimientos
Cumplimiento de las normas:
Algunas normas, como las normas de interfaz de usuario, puede ser implementadas como un conjunto de componentes estándar reutilizables.
El uso de interfaces de usuario estándar mejora fiabilidad, los usuarios son menos propensos a cometer errores cuando se presenta una interfaz familiar.
El desarrollo acelerado:
Llevar un sistema de mercado tan pronto como sea posible es muchas veces más importante que el coste global de desarrollo.
La reutilización de software puede acelerar la producción de sistema, porque el desarrollo y la validación en tiempo debe reducirse.
Reutilización Basada en Generador
Los generadores de programa implican la reutilización de patrones y de algoritmos estándares.
Tipos de Generadores
de Programa
Generadores de aplicaciones para procesamiento de datos
de negocios;
Analizador y generadores de analizadores léxicos para el
procesamiento de lenguaje;
Un Generador basado en la reutilización es muy rentable, pero su aplicabilidad se limita a un número relativamente pequeño de dominios de aplicación.
Es más fácil que los usuarios finales desarrollen programas usando los generadores en comparación con el otro componente de los enfoques basados en la reutilización.
La Reutilización del Software
En la mayoría de las disciplinas de ingeniería, los sistemas han sido diseñados por la composición de componentes existentes que han sido utilizados en otros sistemas.
Reutilización Basada
en Ingeniería de Software
Sistema de reutilización de aplicaciones
El conjunto de un sistema de aplicación puede ser reutilizado, ya sea por su incorporación sin cambios en otros sistemas
La reutilización de componentes
Componentes de una solicitud de sub-sistemas a los objetos solo se pueden reutilizar.
La reutilización de objetos y la función
Los componentes de software que implementan un objeto único y bien definido o función pueden ser reutilizados.
Problemas de Reutilización
Aumento de costes de mantenimiento: .
Si el código fuente de un sistema de software reutilizable o componente no está disponible, los costos de mantenimiento podrán incrementarse,
Los elementos reutilizados del sistema puede llegar a ser cada vez más incompatibles con los cambios del sistema.
La falta de herramienta de apoyo: .
Conjuntos de herramientas CASE no puede apoyar el desarrollo con reutilización. Puede ser difícil o imposible integrar estas herramientas con un sistema de biblioteca de componentes
Síndrome No inventado:
Algunos ingenieros de software a veces prefieren volver a escribir componentes, ya que creen que pueden mejorar los componentes reutilizables
Esto es en parte tiene que ver con la confianza y con el hecho de que el software original de la escritura es vista como más difícil que la reutilización de software de otras personas.
Crear y mantener una biblioteca de componentes:.
Llenar una biblioteca de componentes reutilizables y garantizar a desarrolladores de software el uso esta biblioteca puede ser costoso
Encontrar, la comprensión y la adaptación de componentes reutilizables:
Los componentes de software tienen que ser descubiertos en una biblioteca, ser entendidos y, ser adaptados a veces al trabajo en un nuevo entorno.
Enfoques de Reutilización
Los patrones de diseño:
Abstracciones genéricas que se producen en todas las aplicaciones son representados como patrones de diseño que muestran los objetos abstractos y concretos y de las interacciones.
Elementos del Patrón
Nombre
Descripción del problema.
Descripción de la solución.
No un diseño concreto sino una plantilla para una solución del diseño que puede ser instanciado de diversas maneras.
Consecuencias
Los resultados, las ventajas y desventajas de
aplicar el modelo.
Desarrollo basado en componentes:
Los sistemas se desarrollan mediante la integración de componentes (colecciones de objetos) que se ajusten a las normas de componentes del modelo.
Los marcos de aplicación:
Colecciones de clases abstractas y concretas que pueden ser adaptadas y ampliadas para crear sistemas de aplicación.
Envoltura de sistemas heredados:
Los sistemas heredados (véase el capítulo 2) que pueden ser "envueltos por la definición de un conjunto de interfaces y el acceso a estos sistemas de legado a través de estas interface
Servicio de sistemas orientados:
Los sistemas se desarrollan mediante la vinculación de los servicios compartidos que pueden ser proporcionados externamente.
Aplicaciones verticales configurables:
Un sistema genérico está diseñado de manera que se puede configurar para las necesidades de clientes específicos del sistema.
Integración de COTS
Los sistemas se desarrollan mediante la integración de los sistemas de aplicación existentes.
Generadores de programas:
Un sistema de generador encaja el conocimiento de los tipos particulares de aplicaciones y puede generar sistemas o fragmentos del sistema en ese dominio
Líneas de aplicación de productos:
Un tipo de aplicación es generalizada en torno a una arquitectura común para que pueda adaptarse en diferentes formas para diferentes clientes.
Aspecto de desarrollo de software orientado:
Los componentes compartidos se entretejen en una aplicación en diferentes lugares cuando se compila el programa.
Desarrollo de Aspecto-Orientado
El desarrollo Aspecto-orientado trata un problema importante de la tecnología de dotación lógica - la separación de preocupaciones.
Las preocupaciones no se asocian a menudo simplemente funcionalidad de la aplicación, pero son transversales – por ejemplo, todos los componentes pueden controlar su propio funcionamiento,
Modelo-Vista-Controlador
Marco de la infraestructura del sistema para el
diseño GUI.
Permite la presentación múltiple de un objeto y las interacciones por separado con estas presentaciones.
Los Sistemas ERP
Un sistema de planificación de recursos empresariales (ERP) es un sistema genérico que apoya los procesos de negocio comunes, tales como pedidos y facturación, fabricación, etc.
https://images.app.goo.gl/ToQiPDEkerJD6RGx5