Aplicaciones verticales configurables
Sistemas orientados a servicios
Encadenamiento de sistemas heredados
Frameworks de aplicación
Librerías de programa
Generadores de programa
Desarrollo de software orientado a aspectos
Sistemas ERP
Patrones arquitectónicos
Reutilización de productos COTS
Líneas de producto de software
Ingeniería dirigida por modelo
Patrones de diseño
Desarrollo basado en componentes
Los sistemas a gran escala que encapsulan funcionalidad empresarial genérica y reglas se configuran para una organización.
Se desarrollan sistemas al integrar componentes (colecciones de objetos) que se conforman a estándares de modelo de componentes.
Se usan arquitecturas de software estándar que apoyan tipos comunes de sistemas de aplicación, tales como la base de las aplicaciones.
Las abstracciones genéricas que ocurren a través de las aplicaciones se representan como patrones de diseño que muestran objetos e interacciones abstractas y concretas.
Se diseñan sistemas genéricos de manera que pueden configurarse a las necesidades específicas de clientes del sistema
Se desarrollan sistemas mediante la vinculación de servicios compartidos, que pueden proporcionarse externamente. Se tratan en el capítulo 19.
El software se representa como modelos de dominio y modelos independientes de implementación y se genera un código a partir de dichos modelos.
Colecciones de clases abstractas y concretas adoptadas y extendidas para crear sistemas de aplicación.
Un tipo de aplicación se generaliza en torno a una arquitectura común, de forma que pueda adoptarse para diferentes clientes.
Los sistemas heredados se “enlazan” al definir un conjunto de interfaces y proporcionar acceso a estos sistemas heredados a través de dichas interfaces.
Un sistema generador incrusta conocimiento de un tipo de aplicación y se usa para generar sistemas en dicho dominio a partir de un modelo de sistema suministrado por el usuario.
Cuando se compila el programa, los componentes compartidos se hilvanan dentro de una aplicación en logares diferentes.
Librerías de clase y función que implementan abstracciones de uso común están disponibles para reutilizarlos.
Los sistemas se desarrollen al configurar e integrar sistemas de aplicación existentes.