Implementación de Componentes - Servidor Rigel

32
Implementación de Componentes

Transcript of Implementación de Componentes - Servidor Rigel

Page 1: Implementación de Componentes - Servidor Rigel

Implementación de Componentes

Page 2: Implementación de Componentes - Servidor Rigel

Concepto

Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura bien definida. Un componente se conforma y provee la realización física por medio de un conjunto de interfaces.

Page 3: Implementación de Componentes - Servidor Rigel

Concepto

Un componente de software en tiempo de ejecución es un paquete dinámicamente vinculado con uno o varios programas manejados como una unidad y que son accedidos mediante interfaces bien documentadas que pueden ser descubiertos en tiempo de ejecución.

Page 4: Implementación de Componentes - Servidor Rigel

Concepto

Un componente de software es una unidad de composición con interfaces contractualmente especificadas y explícitas sólo con dependencias dentro de un contexto. Un componente de software puede ser desplegado independientemente y es sujeto a la composición de terceros

Page 5: Implementación de Componentes - Servidor Rigel

Concepto

Un Componente de Negocio representa la implementación de software del concepto de un negocio “autónomo” o un proceso de negocio.

Consiste de artefactos de software necesarios para expresar, implementar y poner en marcha el concepto de elemento reusable de un sistema más grande de negocios.

Page 6: Implementación de Componentes - Servidor Rigel

Características

Identificable: Debe tener una identificación que permita acceder fácilmente a sus servicios y que permita su clasificación.

Auto contenido: Un componente no debe requerir de la utilización de otros para finiquitar la función para la cual fue diseñado.

Puede ser remplazado por otro componente: Se puede remplazar por nuevas versiones u otro componente que lo remplace y mejore.

Con acceso solamente a través de su interfaz: Debe asegurar que estas no cambiaran a lo largo de su implementación.

Page 7: Implementación de Componentes - Servidor Rigel

Características

Sus servicios no varían: Las funcionalidades ofrecidas en su interfaz no deben variar, pero su implementación sí.

Bien Documentado: Un componente debe estar correctamente documentado para facilitar su búsqueda si se quiere actualizar, integrar con otros, adaptarlo, etc.

Es genérico: Sus servicios debe servir para varias aplicaciones.

Reutilizado dinámicamente: Puede ser cargado en tiempo de ejecución en una aplicación.

Independiente de la plataforma: Hardware, Software, S.O.

Page 8: Implementación de Componentes - Servidor Rigel

Clasificación

Tamaño

El tamaño de los componentes puede ser medido por medio de las métricas utilizadas en diseño orientado a objetos:

Líneas de Código (LDC)

Orientadas a Función

Page 9: Implementación de Componentes - Servidor Rigel

Clasificación

Complejidad :

En algunas ocasiones, son utilizadas métricas de tamaño para evaluar la complejidad, pero es recomendable hacer uso de otro tipo de métricas. “Si un componente es demasiado trivial no podrá sacársele mayor provecho en su reutilización, y si el componente es demasiado complejo será difícil asegurar su calidad”

Page 10: Implementación de Componentes - Servidor Rigel

Métricas

CPC (Component Plain Complexity): Mide la complejidad del componente por medio de la suma de clases, clases abstractas e interfaces, la complejidad de clases y métodos.

CSC (Component Static Complexity): Se centra en la estructura interna del componente por medio de una visión estática del mismo, utilizando variables como la relación entre las clases y el peso de cada relación.

Page 11: Implementación de Componentes - Servidor Rigel

Métricas

CDC (Component Dynamic Complexity): Se centra en el número de mensajes que pasan dentro del componente por medio de una visión dinámica, evaluando variables como la frecuencia en el intercambio de mensajes entre clases y la complejidad de los mensajes.

CCC (Component Cyclomatic Complexity): Esta medida de complejidad es utilizada cuando el componente ya ha sido finalizado. Utiliza como variables el código desarrollado, la suma de las clases, interfaces, métodos definidos en cada una de las interfaces.

Page 12: Implementación de Componentes - Servidor Rigel

Mantenibilidad

La mantenibilidad de un sistema es la facilidad con la cual puede ser modificado frente a cambios en el ambiente, requerimientos funcionales o especificaciones funcionales

Page 13: Implementación de Componentes - Servidor Rigel

Reusabilidad

Cómo puede un componente ser reutilizado: Tiene en cuenta las siguientes variables:

El número de cada método de interface que puede proveer funciones en común entre varias aplicaciones en un dominio,

el número de métodos declarados en la interface que pertenecen al componente.

Cómo es re-usado un componente en una aplicación particular:

Las variables que se miden son: Las líneas de código re utilizadas por el componente en una aplicación, el total de líneas entregados en la aplicación.

La combinación de estas dos variables resulta el porcentaje de funcionalidad que aporta el componente dentro de toda la aplicación

Page 14: Implementación de Componentes - Servidor Rigel

Frecuencia de reuso y Confiabilidad

Frecuencia de reuso

El número de veces que ha sido utilizado un componente dentro de distintas aplicaciones, es sin lugar a dudas el mejor indicador de frecuencia de re– uso.

Puede ser solo medido en componentes que ya han sido expuestos al mercado.

Confiabilidad

Es la probabilidad de falló en el funcionamiento del componente dentro de cierto escenario operacional

Page 15: Implementación de Componentes - Servidor Rigel

¿Cómo evaluar la calidad del componente?

La calidad dentro de la Ingeniería de Sistemas se define como la totalidad de aspectos y características de un producto o servicio que tiene que ver con su habilidad de satisfacer las necesidades declaradas o implícitas.

Funcionalidad

Interface

Usabilidad

Pruebas

Seguridad

Page 16: Implementación de Componentes - Servidor Rigel

Tipos de Componentes

Frameworks

Bussines Component

Page 17: Implementación de Componentes - Servidor Rigel

Framework

Los frameworks de componentes proporcionan servicios que soportan un modelo de componentes .

Estos modelos de componentes son patrones que permiten interactuar entres sí de acuerdo al problema que resuelven y permiten la extensibilidad del framework y su funcionalidad, estos son aplicados a dominios específicos, lo cual hace que el framework también lo sea.

Se dice que un framework es una aplicación incompleta.

Page 18: Implementación de Componentes - Servidor Rigel

Frameworks

Ventajas:

Reducción del costo en el proceso de desarrollo de aplicaciones software para dominios específicos,

Mejora de la calidad del producto final.

Page 19: Implementación de Componentes - Servidor Rigel

Tipos de Frameworks

Caja blanca

Exigen al usuario un conocimiento muy profundo de su estructura interna y pueden llevar aparejados los problemas que acarrea la herencia.

Page 20: Implementación de Componentes - Servidor Rigel

Tipos de frameworks

Caja negra

Necesita de un entendimiento técnico del framework sobre el cual se quiere trabajar y una previa evaluación de sus características principales y su descripción.

La elección de un framework es un proceso de ingeniería de software y de este depende el producto final.

Page 21: Implementación de Componentes - Servidor Rigel

Framework

La arquitectura de los Frameworks se basa en el uso de patrones de software, los cuales simplifican su construcción y permiten su extensión.

Los patrones no sólo se convierten en los constructores del framework sino que constituyen la manera de interactuar con éste.

Page 22: Implementación de Componentes - Servidor Rigel

Bussines Component

Los componentes de negocio, son aquellos componentes especializados en prestar alguna clase de servicio, enfocado a un dominio en particular.

Los componentes de negocio son aquellos componentes que generan el valor agregado y se enfocan a las necesidades de los clientes.

Un componente de negocio es aquel que realiza o provee al cliente de la funcionalidad necesaria en su aplicación para resolver sus necesidades y cumplir con sus requerimientos.

Page 23: Implementación de Componentes - Servidor Rigel

Bussines Component

Nivel de Marketing: Características de la organización y el negocio, condiciones técnicas.

Nivel de tarea: Ayuda a las tareas del negocio que corresponden al dominio de la aplicación. Propósito de la aplicación.

Nivel de terminología: Definición de conceptos del dominio de la aplicación.

Nivel de Calidad: Criterios de calidad, procedimientos y categorías de medidas, niveles de servicio.

Page 24: Implementación de Componentes - Servidor Rigel

Bussines Component

Nivel de interacción: Secuencias de dependencias a través de servicios del mismo componente de negocio y de diferentes componentes de negocio.

Nivel de Comportamiento: Pre y poscondición, invariantes.

Nivel de Interfaces: Servicios, parámetros, tipos de datos y excepciones.

Page 25: Implementación de Componentes - Servidor Rigel

TIPOS DETECNOLOGÍAS DE COMPONENTES

ESTANDARIZADAS

Page 26: Implementación de Componentes - Servidor Rigel

CORBA

Estándar abierto para la aplicación de la interoperabilidad

Maneja al detalle la interoperabilidad entre componentes Permite la comunicación entre aplicaciones

independientemente de su ubicación y diseño. Utilizada en el desarrollo de aplicaciones distribuidas Ofrece una programación consistentemente distribuida

y un ambiente en tiempo de ejecución para muchos lenguajes de programación, sistemas operativos y redes distribuidas.

Es aceptado casi como un estándar por los vendedores de tecnología y no como una plataforma independiente.

Page 27: Implementación de Componentes - Servidor Rigel

DCOM

Distributed COM es la extensión para ambientes distribuidos de COM (Component Object Model) , el cual provee de un protocolo de comunicación con el cual componentes distribuidos pueden interactuar y comunicarse independientemente de su ubicación.

Page 28: Implementación de Componentes - Servidor Rigel

Enterprise Java Beans

Modelo de componentes basado en arquitectura cliente servidor.

Ofrece una solución multiplataforma, de fácil reutilización, integración universal con otros componentes además de la maquina virtual de java, seguridad transaccional, entre otras.

Basada en Java

Page 29: Implementación de Componentes - Servidor Rigel

The Microsoft .NET Framework:

Esta es una nueva plataforma para construir e integrar, servicios orientados a la aplicación.

Solución para aplicaciones que operan bajo un ambiente Windows simplificando el lenguaje de desarrollo y accediendo en tiempo de ejecución a las funcionalidades.

La infraestructura Microsoft es reconocidas en el mundo y MS.NET constituye una oportunidad de nuevas soluciones.

Page 30: Implementación de Componentes - Servidor Rigel

Conclusiones

El DSBC es una metodología que está evolucionando para tomar más fuerza en el mundo de la ingeniería de software.

Existen ideas, conceptos y analistas y diseñadores que están haciendo realidad su uso.

Page 31: Implementación de Componentes - Servidor Rigel
Page 32: Implementación de Componentes - Servidor Rigel