Las tecnologas de objetos proporcionan el marco de trabajo tcnico para un
modelo de proceso basado en componentes para la ingeniera del software. El paradigma orientado a objetos enfatiza la creacin de clases que encapsulan tanto los datos como los algoritmos que se utilizan para manejar los datos. Si se disean y se implementan adecuadamente, las clases orientadas a objetos son reutilizables por las diferentes aplicaciones y arquitecturas de sistemas basados en computadora. El modelo de desarrollo basado en componentes incorpora muchas de las caractersticas del modelo en espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la creacin del software. Sin embargo, el modelo de desarrollo basado en componentes configura aplicaciones desde componentes preparados de software (llamados clases). La actividad de la ingeniera comienza con la identificacin de clases candidatas. Esto se lleva a cabo examinando los datos que se van a manejar por parte de la aplicacin y el algoritmo que se va a aplicar para conseguir el tratamiento. Los datos y los algoritmos correspondientes se empaquetan en una clase. Las clases creadas en los proyectos de ingeniera del software anteriores, se almacenan en una biblioteca de clases o diccionario de datos. Una vez identificadas las clases candidatas, la biblioteca de clases se examina para determinar si estas clases ya existen. En caso de que as fuera, se extraen de la biblioteca y se vuelven a utilizar. Si una clase candidata no reside en la biblioteca, se aplican los mtodos orientados a objetos. Se compone as la primera iteracin de la aplicacin a construirse, mediante las clases extradas de la biblioteca y las clases nuevas construidas para cumplir las necesidades nicas de la aplicacin. El flujo del proceso vuelve a la espiral y volver a introducir por ltimo la iteracin ensambladora de componentes a travs de la actividad de ingeniera. El modelo de desarrollo basado en componentes conduce a la reutilizacin del software, y la reutilizacin proporciona beneficios a los ingenieros de software. Segn estudios de reutilizacin, QSM Associates, Inc. Informa que el ensamblaje de componentes lleva a una reduccin del 70 por 100 de tiempo de ciclo de desarrollo, un 84 por 100 del coste del proyecto y un ndice de productividad del 26.2, comparado con la norma de industria del 16.9 Aunque estos resultados estn en funcin de la robustez de la biblioteca de componentes, no hay duda de que el ensamblaje de componentes proporciona ventajas significativas para los ingenieros de software.
Tcnicas del proceso para la ingeniera de software
basada en componentes Proceso Comienza cuando un equipo de software establece los requisitos del sistema que se va a construir utilizando las tcnicas convencionales de obtencin de requisitos. Se establece un diseo arquitectnico: El equipo examina los requisitos para determinar cul es el subsistema que est dispuesto para la composicin, y no para la construccin Preguntas para reutilizacin del software Es posible disponer de componentes comerciales ya desarrollados (CYD) para implementar el requisito? Se dispone de componentes reutilizables internamente para implementar el requisito?
desarrollados
Son compatibles las interfaces de los componentes que estn
disponibles dentro de la arquitectura del sistema a construir? Adaptacin de componentes: La arquitectura del software representa los patrones de diseo que estn compuestos de componentes (unidades de funcionalidad), conexiones y coordinacin. En algunos casos, es posible que los componentes reutilizables actuales no se correspondan con las normas del diseo de la arquitectura. Estos componentes deben de adaptarse para cumplir las necesidades de la arquitectura o descartarse y reemplazarse por otros componentes ms adecuados. Composicin de componentes: El estilo arquitectnico vuelve a jugar un papel clave en la forma en que los componentes del software se integran para formar un sistema de trabajo. Mediante la identificacin de los mecanismos de conexin y coordinacin (por ejemplo, las propiedades de ejecucin en el diseo), la arquitectura dicta la composicin del producto final. Actualizacin de componentes: Cuando se implementan sistemas con componentes CYD, la actualizacin se complica por la imposicin de una tercera parte (es decir, es posible que la empresa que desarroll el componente reutilizable no tenga el control de la empresa de ingeniera del software). La ingeniera del dominio: La ingeniera del dominio realiza el trabajo que se requiere para establecer el conjunto de componentes de software que el ingeniero del software puede reutilizar. Estos componentes entonces se transfieren a travs de un lmite que separa la ingeniera del dominio del desarrollo basado en componentes.
Despus de que se han comprado los componentes reutilizables, se han
seleccionado a partir de las bibliotecas existentes o se han construido (como parte de la ingeniera del dominio), los ingenieros del software dispondrn de ellos durante la actividad de desarrollo basada en componentes.