Ingeniería de Software Basada en Componentes y Modelos de Prototipado
Clasificado en Informática
Escrito el en
español con un tamaño de 5,13 KB
Ingeniería de Software Basada en Componentes (ISBC)
Los procesos ISBC son procesos de software que brindan soporte a la ingeniería de software basada en componentes. Existen dos tipos de procesos ISBC:
- Desarrollo para reutilización: Se ocupa del desarrollo de componentes o servicios que se reutilizarán en otras aplicaciones.
- Desarrollo con reutilización: Proceso para desarrollar nuevas aplicaciones usando los componentes y servicios existentes.
Dichos procesos tienen diferentes objetivos y, por consiguiente, incluyen distintas actividades. En el proceso de desarrollo para reutilización, el objetivo es producir uno o más componentes reutilizables. En el desarrollo con reutilización, no se sabe cuáles están disponibles, así que se necesita descubrir dichos componentes y diseñar un sistema para utilizarlos de la manera más efectiva. No se puede tener acceso al código fuente del componente.
Actividades clave en la gestión de componentes
- Adquisición de componentes: Es el proceso de adquirir componentes para reutilización o desarrollo en un componente reutilizable.
- Gestión de componentes: Se ocupa de catalogar los componentes, almacenarlos y organizarlos para su uso.
- Certificación de componentes: Comprueba componentes para asegurar que cumplen su especificación.
Prototipos en el Desarrollo de Software
A continuación, se explican los tipos de prototipos que pueden construirse durante el desarrollo de software, junto con sus ventajas y desventajas.
Clasificación según su alcance
- Verticales: Desarrollan un caso de uso o funcionalidad completa. Se eligen funcionalidades esenciales para que el usuario pueda probarlo.
- Horizontales: Desarrollan parcialmente todas las funciones, pero sin implementación (es una imagen o representación visual).
Clasificación según su utilidad
- Desechable: Su objetivo es validar o derivar los requerimientos del sistema. Se debe iniciar con los requisitos que mejor se comprenden y luego con los de mayor prioridad. Tienen un periodo de vida corto; se les hacen cambios pero no requieren mantenimiento. Sirve para el análisis y validación de los requerimientos. Tienen la intención de reducir los costos del ciclo de vida, ya que utilizan baja tecnología. Por lo cual, no se aconseja que se utilicen como base para el desarrollo posterior del sistema.
- Evolutivos: El objetivo es entregar a los usuarios finales un sistema funcional. Significa iniciar con los requisitos que mejor se comprenden y de prioridad más alta. Evolucionan hasta convertirse en el sistema final; se deben desarrollar con los mismos estándares de calidad de la organización como cualquier otro software. Actualmente se usan en el desarrollo de sitios web y en aplicaciones de comercio electrónico.
Ventajas y Desventajas del uso de prototipos
Ventajas: Ayuda a la comprensión, tanto de los clientes como de los desarrolladores, de las funcionalidades y las especificaciones detalladas de cada función, que pueden ser capturadas desde los prototipos. También, al ser diversos, el equipo de desarrollo tiene varias opciones para utilizar en cada caso, teniendo como criterio la complejidad del sistema y el abaratamiento de costos, entre otros.
Desventajas: El cliente puede llegar a creer que el prototipo es el sistema final porque le encontró alguna utilidad y ponga reparos en el desarrollo del software. Otra desventaja es que los desarrolladores se queden con un primer concepto de prototipo y se dificulte el desarrollo, además del alto costo que puede implicar realizar prototipos.
Estrategias de Ensamblado de Componentes
El ensamblado es una decisión arquitectónica y de diseño de la solución final del sistema a construir. Esta etapa implica:
- Decidir qué componentes implementar.
- Considerar que son más abstractos que las clases.
- Realizar el ensamblado final.
- Ejecutar pruebas de integración.
Fundamentos de la ISBC
- Componentes independientes especificados por sus interfaces.
- Estándares de componentes (que facilitan la integración).
- Middleware que brinda soporte a la integración de componentes.
- Proceso de desarrollo estructurado.
Principios de diseño en la ISBC
Los componentes son reutilizables e independientes (para que sus ejecuciones no interfieran entre sí). Sus implementaciones están ocultas, se comunican a través de interfaces y ofrecen servicios estándar que reducen el costo de desarrollo.
Características de los Componentes
- Proveen servicios sin importar dónde se ejecutan o el lenguaje de programación utilizado.
- Es una entidad ejecutable e independiente que puede estar formada por uno o más componentes.
- No necesita ser compilado y puede unirse dinámicamente a otros componentes.