Un componente es una pieza de código preelaborado que encapsula alguna funcionalidad expuesta a través de interfaces estándar. Es algo muy similar a lo que podemos observar en el equipo de música que tenemos en nuestra sala. Cada componente de aquel aparato ha sido diseñado para acoplarse perfectamente con sus pares, las conexiones son estándar y el protocolo de comunicación está ya preestablecido. Al unirse las partes, obtenemos música para nuestros oídos.
El 
paradigma de ensamblar componentes y escribir código para hacer que estos 
componentes funcionen se conoce como Desarrollo de Software Basado en 
Componentes.
Desarrollo basado en 
componentes
El 
modelo de desarrollo basado en componentes incorpora muchas de las 
características del modelo espiral. Es evolutivo por naturaleza y exige un 
enfoque interactivo para la creación del software. Sin embargo, el modelo de 
desarrollo basado en componentes configura aplicaciones desde componentes 
preparados de software (clases).
El 
modelo de desarrollo basado en componentes conduce ala reutilización del 
software, y la reutilización proporciona beneficios a los ingenieros de 
software. Según estudios de reutilización, QSM Associates, Inc. Informa que el 
ensamblaje de componentes lleva a una reducción del 70 % del ciclo de desarrollo 
un 84% del coste del proyecto y un índice de productividad del 26.2. No hay duda 
que el ensamblaje de componentes proporciona ventajas significativas para los 
ingenieros del software.
El 
proceso unificado de desarrollo de software representa un número de modelos de 
desarrollo basado en componentes que han sido propuestos en la industria. El 
lenguaje de modelado unificado define los componentes. Utilizando una 
combinación del desarrollo incremental e interactivo, el proceso unificado 
define la función del sistema aplicando un enfoque basado en 
escenarios.
El 
desarrollo de software basado en componentes se ha convertido actualmente en uno 
de los mecanismos más efectivos para la construcción de grandes sistemas y 
aplicaciones de software.
Una 
vez que la mayor parte de los aspectos funcionales de esta disciplina comienzan 
a estar bien definidos, la atención de la comunidad científica comienza a 
centrarse en los aspectos extra funcionales y de calidad, como un paso hacia una 
verdadera ingeniería. En este artículo se discuten precisamente los aspectos de 
calidad relativos a los componentes software y a las aplicaciones que con ellos 
se construyen, con especial énfasis en los estándares internacionales que los 
definen y regulan, y en los problemas que se plantean en este tipo de 
entornos.
Beneficios del 
Desarrollo de Software Basado en Componentes
El 
uso de este paradigma posee algunas ventajas:
1. 
Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización 
de software.
2. 
Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada 
uno de los componentes antes de probar el conjunto completo de componentes 
ensamblados.
3. 
Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento 
entre componentes, el desabollador es libre de actualizar y/o agregar 
componentes según sea necesario, sin afectar otras partes del 
sistema.
4. 
Mayor calidad. Dado que un componente puede ser construido y luego mejorado 
continuamente por un experto u organización, la calidad de una aplicación basada 
en componentes mejorará con el paso del tiempo
La 
Notación de Componentes
Un 
componente puede ser algo como un control Actives; tanto un componente de la 
Interfaz de usuario como un servidor de reglas de negocio.
El 
Diagrama de Componentes
El 
diagrama de componentes muestra la relación entre componentes de software, sus 
dependencias, su comunicación su ubicación y otras condiciones.
Interfaces
Los 
componentes también pueden exponer las interfaces. Estas son los puntos visibles 
de entrada o los servicios que un componente está ofreciendo y dejando 
disponibles a otros componentes de software y clases. Típicamente, un componente 
está compuesto por numerosas clases y paquetes de clases internos. También se 
puede crear a partir de una colección de componentes más pequeños.
Los componentes y los 
Nodos
Un 
diagrama de despliegue muestra el despliegue físico del sistema en un ambiente 
de producción (o de prueba). Muestra dónde se ubican los componentes, en qué 
servidores, máquinas o hardware. Puede representar los enlaces de 
redes.
Restricciones
Los 
componentes pueden restricciones asignadas que indican el entorno en el que 
operan.
Las 
pre-condiciones especifican lo que debe ser verdadero antes de que un componente 
pueda realizar alguna función; las post-condiciones indican lo que debe ser 
verdadero después de que un componente haya realizado algún trabajo y los 
invariantes especifican lo que debe permanecer verdadero durante la vida del 
componente.
Tenemos la fortuna de 
presenciar el nacimiento de una nueva forma de hacer software, que traerá 
beneficios inmensos para todos. El desarrollo de software basado en componentes 
desde siempre fue la idea revolucionaria que nos llevó a pensar que sí era 
posible el construir software de calidad en corto tiempo y con la misma calidad 
que la mayoría de las industrias de nuestro tiempo. Al mirar hacia atrás, vemos 
los increíbles avances que hemos logrado en la comprensión de la forma correcta 
de reutilizar el software y el conocimiento existente, y nos asombramos cada vez 
más al darnos cuenta de que este solo es el inicio.
El 
desarrollo de software basado de componentes se convirtió en el pilar de la 
Revolución Industrial del Software y se proyecta hoy en día en diversas nuevas 
formas de hacer software de calidad con los costos más bajos del mercado y en 
tiempos que antes eran impensables. Empresas como Microsoft entendieron el 
potencial de esta metodología hace años y hoy nos ofrecen nuevas iniciativas y 
herramientas que buscan llevar al proceso de construcción de software hacia el 
sitial privilegiado en el que debió colocarse desde un principio.
Análisis del 
riesgo
Se 
estudian todos los riesgos potenciales y se seleccionan una o varias 
alternativas propuestas para reducir o eliminar los riesgos.Planificar Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad.
Ventajas
El 
análisis del riesgo se hace de forma explícita y clara. Une los mejores 
elementos de los restantes modelos. - Reduce riesgos del proyecto - Incorpora 
objetivos de calidad - Integra el desarrollo con el mantenimiento
Desventajas:
• 
Inconvenientes
• 
Genera mucho trabajo adicional. Cuando un sistema falla se pierde tiempo y coste 
dentro de la empresa. Exige una cierta habilidad en los analistas (es bastante 
difícil).

 
No hay comentarios:
Publicar un comentario