Vous êtes sur la page 1sur 10

UNIVERSIDAD POLITECNICA DE SINALOA

INGENIERIA DE SOFTWARE APLICADA SEXTO SEMESTRE

INDICE: *APUNTE DE CLASE.- Desarrollo de Software Basado en Componentes * EJERCICIO 1 CUESTIONARIO TOPICOS DE INGENIERIA DE SOFTWARE *EJERCICIO 2.- MAPA CONCEPTUAL----GUIA ARCHIVO DSBC.PDF

TEMA(apunte de clase):

Desarrollo de Software Basado en Componentes

INTRODUCCION

El explosivo crecimiento de Internet y la enorme variedad de informacin disponible por la red ha dado lugar a una nueva realidad, la convergencia de estas dos disciplinas. La rpida evolucin de los sistemas de computadoras y de las tecnologas de ltima generacin tiene que estar en constante sintona con las demandas reales de los profesionales de desarrollo de software, organizaciones y empresas. IngenieradeSoftware(IS):rama de la ingeniera que aplica los principios de la ciencia de la computacin, lasmatemticas y la administracin para lograr soluciones costoefectivas a los problemas de desarrollo de software.

ISBasadaenComponentes(ISBC):paradigma de desarrollo donde el software es desarrollado mediante la reutilizacin de componentes de software pre-existentes.

El desarrollo de software basado en componentes (DSBC), es una disciplina muy reciente que describe, construye y utiliza tcnicas software para la elaboracin de sistemas abiertos y distribuidos. Surge como una extensin del paradigma de desarrollo Orientado a Objetos y as tambin, se basa, y mantiene muchas de sus caractersticas principales, agregando la filosofa del ensamblaje de componentes de software independientes y previamente construidos y probados, y extendiendo ms an el concepto de reutilizacin del software dentro de las aplicaciones, para reducir los costes, tiempos y esfuerzos de desarrollo del software, a la vez que ayuda a mejorar la fiabilidad, flexibilidad y la reutilizacin de la aplicacin final. La siguiente figura ilustra el ciclo de vida del software basado en componentes desde una perspectiva global.

POR QU SURGE EST METODOLOGA? La metodologa de software basada en Componentes surgi a finales de los 90's como una aproximacin basada en la reutilizacin al desarrollo de sistemas de software. El proceso de desarrollo de sistemas informticos de empresa ha cambiado gradualmente en pocos aos para pasar de un modelo centralizado y rgido, hacia un modelo descentralizado, abierto y distribuido. El sistema informtico de una empresa a nivel de recursos software, hardware y humanos sola estar localizado en un mismo espacio geogrfico, en un departamento o una seccin de la empresa. Desde aqu, el equipo de profesionales, que tradicionalmente estaba compuesto por las categoras de analistas y programadores de sistemas, elaboraba las aplicaciones del sistema de informacin haciendo uso de conocimientos y prcticas tradicionales del proceso de ingeniera del software. El concepto ms importante que ha cambiado y sigue cambiando los procesos de ingeniera y reingeniera, es el concepto de componente. Inicialmente este concepto surge ante la necesidad de reutilizar partes o mdulos software existentes que podan ser utilizadas para la generacin de nuevas extensiones de las aplicaciones, o para la generacin de aplicaciones completas. Pero esto supona un gran esfuerzo, pues haba que localizar estas partes reutilizables y almacenarlas en repositorios especiales que ms tarde pudieran ser consultadas en fase de diseo.

Desde el punto de vista de la ingeniera del software, el trmino componente procede de las tcnicas orientadas a objetos, y de su necesidad para desarrollar sistemas abiertos. CONCEPTOS BASICOS Como es una disciplina joven y aunque ha tenido un gran impulso en lo que es la vanguardia del desarrollo de software de hoy en da, an se encuentra en continuo desarrollo y evolucin; sin embargo, podemos destacar algunos de los conceptos que son pilares fundamentales y sientan las bases de esta metodologa. Sistema de aplicacin: conjunto de herramientas que permiten la creacin e interconexin de componentes software, junto con una coleccin de servicios para facilitar las labores de los componentes que residen y se ejecutan en l. Un sistema se denomina independientemente extensible si puede ser dinmicamente extendido, y en donde pueden combinarse extensiones independientemente desarrolladas por distintas partes o entidades, sin conocimiento unas de otras. Sistema Abierto: Un sistema es abierto si es concurrente, independientemente extensible, y permite a componentes heterogneos ingresar o abandonar el sistema de forma dinmica. Estas condiciones implican que los sistemas abiertos son inherentemente evolutivos, y que la vida de sus componentes es ms corta que la del propio sistema. As, la Programacin Orientada a Objetos (POO) ha sido el sustento de la ingeniera del software para los sistemas cerrados. Sin embargo, se ha mostrado insuficiente al tratar de aplicar sus tcnicas para el desarrollo de aplicaciones en entornos abiertos. Reutilizar un componente no significa usarlo ms de una vez, sino que implica la capacidad del componente de ser utilizado en contextos distintos a aquellos para los que fue diseado. La reutilizacin es un concepto ms abarcativo que solo limitarse a la reutilizacin de cdigo fuente: ella involucra el uso de otros elementos de software, tales como arquitecturas de software y soluciones diseos estructurales que han probado su utilidad en situaciones similares (patrones de diseo), e incluso partes enteras de programas se pueden reutilizar adaptndolas al proyecto especfico que estamos desarrollando. ACERCAMIENTO A COMPONENTE Un componente es una unidad de software independiente que puede estar compuesta por otros componentes y que se utiliza para crear un sistema de software. Un componente es una pieza de cdigo preelaborado que encapsula alguna funcionalidad expuesta a travs de interfaces estndar. Es algo muy similar a lo que

podemos observar en el equipo de msica que tenemos en nuestra sala. Cada componente ha sido diseado para acoplarse perfectamente con sus pares, las conexiones son estndar y el protocolo de comunicacin est ya preestablecido. Al unirse las partes, obtenemos msica. El modelo de desarrollo basado en componentes incorpora muchas de las caractersticas del modelo espiral. Conduce a la reutilizacin del software, y la reutilizacin proporciona beneficios a los ingenieros de software. Segn estudios de reutilizacin, QSM Associates Informa que el ensamblaje de componentes lleva a una reduccin del 70 % del ciclo de desarrollo y un 84% del coste del proyecto. se puede considerar a un componente como un proveedor de servicios independiente. Cuando un sistema necesita un servicio llama al componente que le proporcione dicho servicio sin tener en cuenta donde se esta ejecutando o que lenguaje se a utilizado para desarrollar el componente. Ej. Un componente que convierta un formato grafico a otro (Ej.: png a jpg) proporciona un servicio de conversin de datos. Al ver a los componentes como proveedores de servicios aparecen dos caractersticas criticas de un componente reutilizable: 1- Es una entidad ejecutable independiente. El cdigo fuente no esta disponible, por lo que el componente no tiene que ser compilado antes de que sea usado por otros componentes del sistema. 2- Los servicios ofrecidos por componentes estn disponibles a travs de una interfaz, y todas las interacciones son a travs de esa interfaz. Los componentes se definen por sus interfaces y puede considerarse que tienen dos interfaces relacionadas. 1- Interfaz que proporciona: Define los servicios que proporciona el componente, lo que se conoce como el API del componente. Define los mtodos que pueden ser llamados por el usuario del componente. 2- Interfaz que requiere: Especifica que servicios son necesarios para que el componente funcione, estos son requeridos de otros componentes del sistema. Esto no altera la independencia del componente, debido a que los servicios que se requieren no son solicitados a un componente especifico. DIFERENCIA ENTRE COMPONENTES Y CLASES DE OBJETOS: 1- Los componentes son entidades desplegables: No son compilados, se instalan directamente en una plataforma de ejecucin. Los mtodos y atributos definidos en sus interfaces pueden ser accedidos por otros componentes.

2- Los componentes no definen tipos: Las clases definen un tipo de dato abstracto y los objetos son instancias de ese tipo. Un componente ya es una instancia. 3- Las implementaciones de los componentes son opacas: La implementacin de componentes esta oculta para los usuarios. Los componentes se suelen entregar como unidades binarias de este modo el que lo adquiere no tiene acceso a la implementacin. 4- Los componentes estn estandarizados: Esto significa que los componentes deben ajustarse a un modelo que restringe su implementacin, a diferencia de las clases de objetos que pueden implementarse de cualquier forma. COMPONENTES COTS (COMMERCIAL-OFF-THE-SHELF) La mayora de de las metodologas de reutilizacin no contemplan el uso de componentes comerciales ya existentes para el desarrollo de aplicaciones software. A estos tipos de software se los conoce con el nombre de comerciales fuera de la plataforma o componente COTS. El termino COTS hace referencia al software comercial desarrollado previamente por terceras partes, fuera de las estrategias de desarrollo y aplicadas durante todo el ciclo de vida del producto Esta clase de componente software generalmente es adquirido en formato binario, sin posibilidad de tener acceso al cdigo fuente y sin informacin adicional que ayude a los integradores en la seleccin correcta de los mismos. Esto impide pensar en tareas para la automatizacin de procesos.

EJERCICIO 1.UNIVERSIDAD POLITECNICA DE SINALOA INGENIERIA EN INFORMATICA.- INGENIERIA DE SOFTWARE APLICADA CUESTIONARIO III CORTE SOBRE TPICOS DE INGENIERA DE SOFTWARE

NOMBRE:________________________________________________GRUPO:______ INSTRUCCIONES: Contesta correctamente las siguientes preguntas: 1. Cul es la filosofa sobre la cual trabaja cleanroom? 2. Qu elementos debes considerar para aplicar una Herramienta CASE a un desarrollo de software? 3. Cul es la diferencia entre reingeniera e ingeniera inversa? 4. Qu es un componente de software? 5. Qu caracteriza al proceso ISBC? 6. Es posible aplicar principios, conceptos y mtodos de la ingeniera del software al desarrollo web? 7. Existen atributos genricos que diferencien a las WebApps de las aplicaciones de software convencionales? Menciona al menos 3 8. Cul es la filosofa de los sistemas crticos?. Menciona 2 ventajas y 2 desventajas 9. Sugiere 3 razones del por qu se dice que la confiabilidad es la propiedad ms importante de los sistemas crticos. 10.- En base a todo el material llevando en este curso y a la explicacin de todos sus temas.- Cul sera tu aprendizaje respecto a la Ingeniera de Software Aplicada?

EJERCICIO 2.EN BASE AL ARTICULO

DSBC.PDF

(INTRODUCCIN Y PRINCIPIOS

BSICOS DEL DESARROLLO DE SOFTWARE BASADO EN COMPONENTES) REALIZAR UN MAPA CONCEPTUAL.

SE ILUSTRAN DOS IMGENES QUE PUEDEN SERVIR DE GUIA PARA LA REALIZACION DEL EJERCICIO.

ESPECIFICACIONES:
*Para la realizacin de este cuestionario te puedes apoyar de los apuntes en clase, trabajos entregados del tercer corte y archivos proporcionados para estos ejercicios. *Por favor enviar a mi correo isilva@upsin.edu.mx los dos ejercicios, especificando como nombre del archivo su apellido y grupo a ms tardar el 16 de agosto de 2013. *Su calificacin del tercer la subir el da 20 de agosto de 2013. * A las personas reprobadas de cortes anteriores ponerse en comunicacin conmigo por correo lo ms pronto. * A las personas que no me enviaron, ni entregaron personalmente trabajos antes de salir de vacaciones ( en el pizarrn puse un ndice con los trabajos que se calificarn en este tercer corte), por favor enviarlos (trabajos pasados) antes del 9 de agosto de 2013. *Cualquier duda por favor por correo.

Gracias.. un saludo..cudense.nos vemos pronto..espero y se estn portando bien.

Vous aimerez peut-être aussi