Please enable JavaScript.
Coggle requires JavaScript to display documents.
Ingeniería de Software basada en Componentes - Coggle Diagram
Ingeniería de Software basada en Componentes
Composición de componentes
Es el proceso de integrar componentes uno con otro y
con “código pegamento” especialmente escrito para crear un sistema u otro componente.
Composición secuencial
Se llaman los servicios ofrecidos por
el componente y luego los resultados emitidos por de este se usan en la llamada a los
servicios que ofrece el otro componente y se unen con código
Composición jerárquica
El componente A llama al componente B directamente y, si sus interfaces coinciden, no hay necesidad de código extra.
composición aditiva
Ocurre cuando dos o mas componentes se unen para un nuevo componente, lo que combina su funcionalidad
Cuando escriba nuevos componentes especialmente para composición, existe la posibilidad de presentar incompatibilidad de la interfaz
Incompatibilidad de operación
Los nombres de las operaciones en las interfaces
“proporciona” y “requiere” son diferentes.
Operación incompleta
La interfaz “proporciona” de un componente es un subconjunto de la interfaz “requiere” de otro componente o viceversa.
Incompatibilidad de parámetro
Las operaciones en cada lado de la interfaz tienen
el mismo nombre, pero sus tipos de parámetro o el número de parámetros son diferentes.
Componentes y modelos de componentes
En la comunidad CBSE existe un acuerdo general de que un componente es una unidad de software independiente que puede organizarse con otros componentes para crear un sistema de software
Estandarizado
Estandarización de componentes significa que un componente utilizado durante un proceso CBSE debe ajustarse a un modelo de modelo de componentes estándar
Independiente
Un componente debe ser independiente; debe ser factible componerlo e implementarlo sin usar otros componentes especificos
Componible
Para que un componente sea componible, todas las interacciones externas deben tener lugar mediante interfaces definidas públicamente.
Implementable
Para ser implementarble, un componente debe estar autocontenido, debe ser capaz de ejecutarse como entidad independiente en una plataforma de componente que permita una implementación del modelo de componentes
Documentado
Los componentes deben ser completamente implementados, para que los usuarios potenciales puedan decidir si los componentes si los componentes cumplen o no sus necesidades
Modelos de Componentes
Un modelo de componentes es una definición de estándares para implementación, documentación y despliegue de componentes.
Uso
Para que los componentes se distribuyan y se acceda a ellos de manera remota, deben tener un nombre único asociado
Implementación
El modelo de componentes incluye una especificación de cómo deben empacarse los componentes para su implementación como entidades .
Interfaces
Los componentes se definen al especificar sus interfaces
Interfaces Relacionadas
Los componentes tienen dos interfaces relacionadas, dichas interfaces reflejan los servicios que proveen los componentes
La interfaz “proporciona”
define los servicios que ofrece el componente
La interfaz “requiere”
especifica qué servicios deben ofrecer otros componentes en el sistema para que un componente opere correctamente
Procesos CBSE
Los procesos CBSE son procesos de software que brindan soporte a la ingeniería de
software basada en componentes
Existen dos tipos de procesos CBSE
Desarrollo para reutilización
Este proceso se ocupa del desarrollo de componentes o servicios que se reutilizarán en otras aplicaciones
Desarrollo con reutilización
Éste es el proceso para desarrollar nuevas aplicaciones usando los componentes y servicios existentes.
Procesos básicos de CBSE
Adquisición de componentes es el proceso de adquirir componentes para reutilización o desarrollo en un componente reutilizable
La gestión de componentes se ocupa de la gestión de los componentes de reutilización de una compañía.
Certificación de componentes es el proceso de comprobar un componente y asegurarse de que cumple su especificación
CBSE con reutilización
La reutilización exitosa de componentes requiere un proceso de desarrollo ajustado a CBSE., las diferencias esenciales entre CBSE con reutilización y procesos de software
para desarrollo de software original son:
Los requerimientos del usuario inicialmente se desarrollan en bosquejos y no en detalle. y se alientan a las partes interesadas a ser tan flexibles como sea posible para definir sus requerimientos
Los requerimientos se afinan y modifican oportunamente durante el proceso, dependiendo de los componentes disponibles
Después de diseñar la arquitectura del sistema, hay una actividad adicional de búsqueda de componentes y clarificación de diseño
El desarrollo es un proceso de composición en que se integran los componentes descubiertos
CBSE para reutilización
Es el proceso de desarrollar componentes reutilizables y ponerlos a disposición para reutilizarlos a través de un sistema de gestión de componentes.
Los cambios que se pueden hacer a un componentes para volverlo mas reutilizable incluyen
Eliminar métodos específicos de aplicación.
Cambiar los nombres para hacerlos mas generales.
Agregar métodos para brindar cobertura funcional mas completa.
Hacer manejadores de excepción consistentes para todos los métodos.
Adicionar una interfaz de configuración.
Integrar los componentes requeridos para aumentar la independencia.
Una actividad que es única para el proceso CBSE es identificar los componentes o servicios candidatos para reutilización.
El primer paso en la identificación de los componentes es buscar aquellos que estén disponibles localmente o con proveedores confiables.
La validación de componentes implica desarrollar un conjunto de casos de prueba para un componente (o, posiblemente, extender los casos de prueba suministrados con dicho componente) y desarrollar un conjunto de pruebas para ejecutar pruebas de componente.