sistemas ii

7
 Conceptos Fundamentales del modelado de componentes El Modelo de Componentes El modelo de componentes ilustra los componentes de software que se usarán para construir el sistema. Se pueden construir a partir del modelo de clases y esc rib ir desde cero par a el nuevo sis tema o se puede n imp ort ar de ot ros proyectos y de productos de terceros. Los compone ntes son agregaciones de alto nivel de las piezas de so ft wa re más pe qu eñas y pr ovee n un enfo que de construcción de bloques de “caa negra! para la elaboración de software. Notación de Componentes "n componente puede ser algo como un control #ctives$ tanto un compon ente de la interfaz de usuario como un servidor de reglas de negocio. Los componentes se representan gráficamente como muestra la figura siguiente% El diagrama de componentes El diagrama de componentes muestra la relación entre componentes de softwa re& sus dependencias& su comunicación su ubicación y otras condiciones. Interfaces Los componentes tambi'n pueden e(poner las interfaces. Estas son los puntos visibles de entrada o los servicios que un componente está ofreciendo y deando disponibles a ot ros componentes de so ft ware y cl ases. )*picamente& un componente está compuesto por numerosas clases y paquetes de clases internos. )ambi'n se puede crear a partir de una colección de componentes más pequeños.

Upload: rafael-carvajal

Post on 03-Nov-2015

212 views

Category:

Documents


0 download

DESCRIPTION

sistemas II

TRANSCRIPT

Conceptos Fundamentales del modelado de componentesEl Modelo de ComponentesEl modelo de componentes ilustra los componentes de software que se usarn para construir el sistema. Se pueden construir a partir del modelo de clases y escribir desde cero para el nuevo sistema o se pueden importar de otros proyectos y de productos de terceros. Los componentes son agregaciones de alto nivel de las piezas de software ms pequeas y proveen un enfoque de construccin de bloques de caja negra para la elaboracin de software.Notacin de ComponentesUn componente puede ser algo como un control Actives; tanto un componente de la interfaz de usuario como un servidor de reglas de negocio. Los componentes se representan grficamente como muestra la figura siguiente:

El diagrama de componentesEl diagrama de componentes muestra la relacin entre componentes de software, sus dependencias, su comunicacin su ubicacin y otras condiciones.InterfacesLos componentes tambin 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. Tpicamente, un componente est compuesto por numerosas clases y paquetes de clases internos. Tambin se puede crear a partir de una coleccin de componentes ms pequeos.

Componentes y NodosUn diagrama de despliegue muestra el despliegue fsico del sistema en un ambiente de produccin (o de prueba). Muestra dnde se ubican los componentes, en qu servidores, mquinas o hardware. Puede representar los enlaces de redes, el ancho de banda de la LAN, etc.RequisitosLos componentes pueden tener requisitos adjuntos para indicar sus obligaciones contractuales; esto es, qu servicios proveen en el modelo. Los requisitos ayudan a documentar el comportamiento funcional de los elementos de software.RestriccionesLos 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 funcin; las post-condiciones indican lo que debe ser verdadero despus de que un componente haya realizado algn trabajo y los invariantes especifican lo que debe permanecer verdadero durante la vida del componente.EscenariosLos escenarios son descripciones textuales y procedimentales de las acciones de un objeto a lo largo del tiempo y describen la forma en la que un componente trabaja. Se pueden crear mltiples escenarios para describir tanto el camino bsico (una ejecucin perfecta) como las excepciones, errores y otras condiciones.

TrazabilidadPuede indicar la trazabilidad por medio de vnculos de realizacin. Un componente puede implementar otro elemento del modelo (por ejemplo un caso de uso) o un componente puede ser implementado por otro elemento (por ejemplo un paquete de clases). Al emplear las relaciones de realizacin desde y hacia los componentes, se pueden seguir las dependencias entre los elementos del modelo y la trazabilidad desde los requisitos iniciales hasta la implementacin final.Conceptos Fundamentales del modelado de ImplementacinEs comprendido por un conjunto de componentes y subsistemas que constituyen la composicin fsica de la implementacin del sistema. Entre los componentes podemos encontrar datos, archivos, ejecutables, cdigo fuente y los directorios. Fundamentalmente, se describe la relacin que existe desde los paquetes y clases del modelo de diseo a subsistemas y componentes fsicos.Este artefacto describe cmo se implementan los componentes, congregndolos en subsistemas organizados en capas y jerarquas, y seala las dependencias entre stos.Para representar los diagramas del Modelo de Implementacin se puede emplear el diagrama de UML de Componentes.Un diagrama de implementacin muestra:

Las dependencias entre las partesde cdigo del sistema (diagramas de componentes). La estructura del sistema en ejecucin (diagrama de despliegue).

CONCLUSINHoy en da, UML ("lenguaje de modelado unificado") est consolidado como el lenguaje estndar en el anlisis y diseo de sistemas de cmputo. Mediante UML es posible establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir cdigo. En otros trminos, as como en la construccin de un edificio se realizan planos previo a su construccin, en Software se deben realizar diseos en UML previa codificacin de un sistema, ahora bien, aunque UML es un lenguaje, ste posee ms caractersticas visuales que programticas, mismas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fcilmente, estos integrantes siendo los analistas, diseadores, especialistas de rea y desde luego los programadores.Su importancia radica principalmente en las ventajas y posibilidades que posee este a la hora de aplicarse, es decir UML resuelve de forma bastante satisfactoria un viejo problema del desarrollo de software como es un modelado grfico. Adems, se ha llegado a un solucin unificada basada en lo mejor que haba hasta el momento para la diagramacin de software, conteniendo un abanico importante de smbolos y herramientas, para que todos los expertos incluidos en el proyecto en cuestin al verlos interpreten lo mismo, ellos representan diseo, comportamiento, etc. Entre ms complejo es el sistema que se quiere crear mas beneficios representa el uso de UML, las razones son evidentes, sin embargo existen dos puntos claves: El primero se debe a que mediante un plano/visin global resulta ms fcil detectar las dependencias y dificultades implcitas del sistema, y la segunda razn radica en que los cambios en una etapa inicial (Anlisis) resultan ms fciles de realizar que en una etapa final de un sistema como lo sera la fase intensiva de codificacin.Puesto que UML es empleado en el anlisis para sistemas de mediana-alta complejidad, era de esperarse que su base radique en otro paradigma empleado en diseos de sistemas de alto nivel que es laorientacin a objetos, por lo que para trabajar en UML puede ser considerado un pre-requisito tener experiencia en un lenguaje orientado a objetos.

DESARROLLO DE SOFWARE BASADO EN COMPONENTES

IntroduccinLa complejidad de los sistemas computacionales actuales nos ha llevado a buscar la reutilizacin del software existente. El desarrollo de software basado en componentes permite reutilizar piezas de cdigo preelaborado que permiten realizar diversas tareas, conllevando a diversos beneficios como las mejoras a la calidad, la reduccin del ciclo de desarrollo y el mayor retorno sobre la inversin. Al comparar la evolucin del ambiente de tecnologas de informacin con el crecimiento de las metrpolis actuales, podemos entender el origen de muchos problemas que se han presentado histricamente en la construccin de software y vislumbrar las posibles y probables soluciones que nos llevarn hacia la industrializacin del software moderno.Si hay algo que ha aprendido el ser humano desde tiempos muy antiguos es a reutilizar el conocimiento existente para sus cada vez ms ambiciosas empresas. En efecto, al reutilizar trozos de experiencias, ideas y artefactos, no solo nos aseguramos de no cometer los mismos errores del pasado, sino que logramos construir cosas cada vez ms grandes y maravillosas, con bases firmes y calidad incomparable. Este concepto de la reutilizacin, uno de los primeros que se nos ensean a quienes entramos al mundo del desarrollo de software, habremos de utilizarlo desde el mismo instante en que escribamos nuestra primera lnea de cdigo.Los sistemas de hoy en da son cada vez ms complejos, deben ser construidos en tiempo rcord y deben cumplir con los estndares ms altos de calidad. Para hacer frente a esto, se concibi y perfeccion lo que hoy conocemos como Ingeniera de Software Basada en Componentes (ISBC), la cual se centra en el diseo y construccin de sistemas computacionales que utilizan componentes de software reutilizables. Esta ciencia trabaja bajo la filosofa de "comprar, no construir", una idea que ya es comn en casi todas las industrias existentes, pero relativamente nueva en lo que a la construccin de software se refiere.Para este momento, ya muchos conocen las ventajas de este enfoque de desarrollo y, de la misma forma, muchos se preguntan da a da el por qu son tan pocos los que realmente alcanzan el xito siguiendo esta filosofa. En realidad, hasta ahora solo hemos tanteado un poco con las posibilidades del software basado en componentes, y es justo hora, en la presente dcada, que la industria del software despegar y se perfeccionar para estar a la par de cualquier otra industria del medio. Las analogas que nos han llevado a estudiar a los sistemas comparndolos con las complejas metrpolis de la actualidad, son la clara representacin de que estamos a punto de presenciar un nuevo gran cambio en la forma como pensamos en software.

Conjunto de mtodos dirigidos al desarrollo de software basado en componentes.

Existen diferentes mtodos o tecnologas dirigidas al desarrollo de software basado en componentes y a la estandarizacin del mismo, estos crean un marco de acuerdo al objetivo y el tipo de sistema que se desea desarrollar: CORBA (Common Object Request Broker Architecture Arquitectura comn de intermediarios en peticiones a objetos): es un estndar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocacin de mtodos remotos bajo un paradigma orientado a objetos. DCOM (Distributed Component Object Model- Modelo de Objetos de Componentes Distribuidos): Es una tecnologa propietaria de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre si. .NET es un framework de Microsoft que hace un nfasis en la transparencia de redes, con independencia de redes, con independencia de plataforma de hardware y que permita un rpido desarrollo de aplicaciones. Enterprise JavaBeans: Modelo de componentes basado en arquitectura cliente-servidor. Esta plataforma ofrece una solucin multiplataforma, de fcil reutilizacin, integracin universal con otros componentes adems de mquina virtual de java.La tecnologa java a estado a la vanguardia del DSBC y constituye una referencia clave en este tema.