Ingenieria del software de componentes y sistemas distribuidos.

Dificultad (1-4):

2,96

Temática:

Esta asignatura sirve como introducción a los conceptos y métodos fundamentales sobre los cuales se fundamenta el diseño y desarrollo de aplicaciones distribuidas basadas en componentes, y así se complementan los conocimientos adquiridos en las asignaturas previas.

En primer lugar, se aborda el diseño de alto nivel de este tipo de sistemas, describiendo los diferentes puntos de vista a considerar, utilizando como marco de referencia el estándar definido por ISO, IEC e ITU-T, denominado RM-ODP. Cada punto de vista es independiente de los otros y aborda una serie de aspectos concretos, abstrayéndose del resto. Entre los diferentes puntos de vista, esta asignatura se centra en los más cercanos a su diseño y su implementación, como son la arquitectura del software y la implementación con componentes. Los aspectos más cercanos al análisis y a la especificación de requisitos no cambian respecto a aquello que se ha visto en las asignaturas anteriores y, por lo tanto, no se repiten aquí.

La arquitectura de los sistemas de software permite describir de una manera abstracta y de alto nivel tanto la funcionalidad del sistema como otros muchos aspectos no funcionales de este (distribución, fiabilidad, seguridad, adaptabilidad, prestaciones, etc.). Esta descripción del sistema suele definirse partiendo de un estilo arquitectónico, una clasificación de los sistemas de software en grandes familias que siguen un patrón estructural común. Entre los estilos arquitectónicos más usuales para los sistemas distribuidos hay los sistemas organizados en múltiples capas, los sistemas cliente-servidor o los sistemas peer-to-peer.

Estas arquitecturas pueden implementarse después utilizando cualquier paradigma de programación (orientado a objetos, estructurado…). Sin embargo, en esta asignatura abordaremos la programación orientada a componentes, un paradigma de programación que proporciona mecanismos apropiados para el desarrollo y la implementación de componentes de software distribuidos. Estos componentes son los que servirán para implementar los componentes arquitectónicos descritos en la arquitectura del sistema.

El diseño de la aplicación en términos de componentes de software tiene que refinarse, posteriormente, para adaptarlo e implementarlo en una tecnología de componentes distribuidos concreta. En nuestro caso concreto, se describe con detalle la plataforma Java Enterprise Edition (Java EE). Ésta es una plataforma abierta basada en componentes que permiten desarrollar, desplegar y gestionar aplicaciones distribuidas con arquitecturas multinivel. Para conocer mejor el funcionamiento de esta tecnología, previamente se explica a fondo el mecanismo de invocación remota RMI que representa el núcleo del modelo distribuido de Java y la capa subyacente de comunicación distribuida de Java EE.

Finalmente, para dar una visión más general del estado tecnológico actual, también se comentan otras plataformas y tecnologías distribuidas como por ejemplo CORBA, .NET, y especialmente los servicios web.

Esta asignatura está enmarcada dentro del itinerario de Ingeniería del software del Grado de Ingeniería Informática constituyendo una extensión en varias dimensiones de los conocimientos básicos de ingeniería del software, contenidos tanto en el itinerario concreto como las asignaturas obligatorias del Grado.

Para poder cursar con provecho esta asignatura, se requiere que los estudiantes tengan unos ciertos conocimientos previos sobre tecnología orientada a objetos. Concretamente hay que conocer los fundamentos de la programación orientada a objetos y las notaciones básicas de UML, tal y cómo se ven, por ejemplo, en la asignatura Ingeniería del Software y en Análisis y Diseño con Patrones de esta misma titulación.

Conocimientos previos
Haber superado Ingeniería del software y Análisis y Diseño con Patrones o tener los conocimientos equivalentes es la condición previa para poder cursar esta asignatura.

Es también imprescindible que el estudiante tenga un buen nivel de Java para poder superar la asignatura. La asignatura tiene una parte importante de trabajo práctico en Java que asume un conocimiento y práctica importantes en este lenguaje. No es nada recomendable que el estudiante curse la asignatura hasta que se haya logrado un buen nivel en Java, puesto que de lo contrario se verá abocado a repetir la asignatura con una alta probabilidad.

Opiniones Generales:

Opinión 1:
«« Respuesta #17 : 10:11, 13 Julio 2010, » Responder con cita
Actualizo.

Semestre: 2010/1

Contenidos:

Creo que es la asignatura laboralmente más útil de la carrera. El libro, a mi me ha parecido magnifico (aunque yo ya controlaba el tema). La asignatura creo que está muy bien planteada para que aprendas. En fin, como habréis notado, me ha gustado bastante.

PECs:

Son 2. Bastante fáciles, se pueden hacer en una tarde tranquilamente, y en 2 pensándotelo bastante.

PRAs:

Tienen más complicación, sobre todo si no has manejado el software que se va a utilizar. Se pueden sacar bien, pero no lo dejéis para el último dia, hay que comenzar según publican el enunciado.

PV:

Sin dificultad, te hacen año tras año la misma tipología de pregunta y, si tienes claros los conceptos y has hecho tú las PECs y PRAs, se responden sin problema. Lo normal es que pregunten algunas cosas a nivel conceptual y luego te propongan hacer algunos cambios al problema de la práctica y te pregunten que como los abordarias.

Consultor:

…., muy descontento. No es rápido en contestar y las notas se las inventa, en mi caso reclamé 2 veces, en una PEC y en una PRA y en las dos me cambió subió la nota.
Ante la pregunta: «Explicame lo que he hecho mal», no fue capaz y se limitó a darme la razón. En la otra PEC y PRA, también habian motivos de reclamación, pero no lo hice por no ser pesado y por que cuando tienes un consultor así, lo mejor es pasar la asignatura lo antes posible. Al final una B, pero la asignatura merece mucho la pena a pesar de esto.

Laboratorio:

Modifico por que me olvidaba del laboratorio. El consultor de laboratorio, ……, me ha parecido excelente; contesta rápido y te aclara lo que le plantees.»

Opinión 2:
«« Respuesta #1 : 16:57, 24 Junio 2012, »
yo acabo de hacer la PV y espero validar para no tener que volver a matricularme… dios! que horror de prácticas hasta que empiezas a entendarlas…
Un consejo para quienes os apunteis, empezad la práctica cuanto antes
«

Opinión 2b (del mismo autor):
«Las PACs son de UML en general, Las prácticas son en java.
La práctica 1 incluye instalar todo el programario necesario para ambas. Es un manual de 79 páginas para instalar y configurar: JBoss, ant, mysql, hypersonic, el conector jdbc y eclipse. Así como una serie de ejercicios de EJB, CMP y CMR. Luego te dan la base de una aplicación que tienes que completar.

La práctica 2 es una extensión de la 1.
Si estas acostumbrado a trabajar con java y xml es un plus, sino toca padecer. La configuración es lo que mas trabajo da. Una vez entiendes de que va se puede hacer, pero tanto las pacs como (especialmente) las prácticas quitan muchísimo tiempo. Hay ejemplos de otros años en el area de descarga que son muy utiles para entender las prácticas, incluso creo que está el tutorial de instalación. Pero vamos, mi consejo es empezar la práctica cuanto antes y no dejar nada para el ultimo minuto»

Opinión 3:
«« : Ayer a las 10:24 »(31-01-2016)
Tienes que dominar de JAVA y UML. Si lo llevas bien la asignatura es muy asequible. Si programar se te da mal, lo pasarás mal en la práctica final.»

Nota: 30/01/2016

Dada la separacion temporal entre comentarios, En beneficio de todos, se agradecerá cualquier opinión de los que ya han cursado esta asignatura recientemente. Gracias.

Tipo de Evaluación:

Esta asignatura se puede superar a partir de la evaluación continua (EC), cuya nota final se cruza con la calificación de una prueba de síntesis (PS). Es necesario realizar las actividades prácticas obligatorias (Pr) cuya nota se cruza con la nota de evaluación continua . El resultado de este cruce entre la EC y la Pr se cruza a su vez con la nota de la PS para obtener la nota final de la asignatura. Para hacer la PS es necesario haber superado la FC. La fórmula de acreditación de la asignatura es la siguiente: (EC+Pr) + PS

Opción para superar la asignatura: (EC+Pr) + PS

EC = 70%

Pr = 30%

Notas mínimas:

Pr = 4

En caso de no conseguir la nota mínima en la Pr, la nota obtenida en la fórmula corresponde a la obtenida en la Pr

FC = 70 %

PS = 30%

Notas mínimas:

PS = 3,5

Cuando la nota obtenida en la PS sea inferior a los mínimos establecidos para cada fórmula, la calificación final de la asignatura será la nota obtenida en la PS.

¿Te ha gustado? Compártelo.