Saltar al contingut Menu
Mapa
  • Inicio
  • Información
  • Contacto
  • Mapa

Diseño de Sistemas Basados en la Web (DSBW)

Créditos Dept.
7.5 (6.0 ECTS) ESSI

Profesores

Responsable:  (-)
Otros:(-)

Objectivos Generales

Extender e integrar los conocimientos adquiridos en asignaturas anteriores de ingeniería del software para diseñar aplicaciones distribuidas y basadas en la web con orientación a objetos, aplicando patrones de diseño y usando como notación el lenguaje UML.

Objectivos Específicos

Conocimientos

  1. Conocer las tecnologías Web necesarias para el desarrollo de aplicaciones Web.
  2. Conocer los principales modelos/patrones de negocio para sistemas basados en el Web.
  3. Conocer la metodología de desarrollo de las aplicaciones Web.
  4. Conocer los elementos de UML específicos para el diseño de aplicaciones Web.
  5. Conocer los patrones de diseño para el diseño de aplicaciones Web.
  6. Conocer XML y sus aplicaciones en el desarrollo web.

Habilidades

  1. Saber aplicar e integrar los conocimientos adquiridos en las asignaturas de Ingeniería del Software, adaptándolos si es necesario a las especificidades del desarrollo web.
  2. Saber construir los diferentes modelos UML necesarios para documentar el desarrollo de las aplicaciones web.
  3. Saber identificar los patrones que se pueden aplicar en un diseño web, y aplicarlos correctamente.
  4. Saber implementar, desplegar y configurar aplicaciones web.
  5. Saber identificar los principales riesgos de seguridad de las aplicaciones web y las estrategias para solucionarlos.
  6. Saber diseñar y ejecutar pruebas para aplicaciones web

Competencias

  1. Capacidad para diseñar sistemas, componentes o procesos que se ajusten a unes necesidades, usando los métodos, técnicas y herramientas más adecuadas en cada caso.
  2. Capacidad para argumentar lógicamente las decisiones tomadas, el trabajo realizado o un punto de vista. Capacidad para dar opiniones, razonamientos y justificaciones fundamentadas con el objetivo de convencer.
  3. Capacidad para tomar decisiones en presencia de incertidumbre o de requisitos contradictorios.
  4. Capacidad para estudiar de diversas fuentes, identificando cuándo la información recibida en clase no es suficiente y buscando información complementaria.
  5. Capacidad para aprender de forma autónoma.
  6. Capacidad para trabajar efectivamente en grupos pequeños de personas para la resolución de un problema de dificultad media.
  7. Capacidad para presentar por escrito, de forma clara y correcta, los resultados del trabajo propio (al nivel de documentar una entrega de prácticas).

Contenidos

Horas estimadas de:

T P L Alt L Ext. Est O. Ext.
Teoria Problemas Laboratorio Otras actividades Laboratorio externo Estudio Otras horas fuera del horario fijado

1. Introducción
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 4,0 0 0 0 6,0 0 12,0

2. Tecnologías web
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 2,0 6,0 0 6,0 6,0 0 24,0
Repaso y estudio de las tecnologías utilizadas para el desarrollo de aplicaciones web.

3. Metodología para el desarrollo de aplicaciones web. Modelos de negocio para sistemas basados en el web.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 2,0 0 0 0 4,0 0 8,0
Repaso de los conceptos fundamentales sobre el ciclo de vida del desarrollo del software, haciendo especial énfasis en las particularidades del entorno web.

4. Análisis y especificación de requisitos de aplicaciones web.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
1,0 0 0 0 0 1,0 0 2,0

5. Diseño: Introducción, UX Model y arquitectura física y lógica de una aplicación web.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
3,0 6,0 0 0 0 9,0 0 18,0

6. Diseño: notación UML para el diseño web.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 2,0 0 0 0 4,0 0 8,0

7. Diseño: patrones para el diseño de aplicaciones web
T      P      L      Alt    L Ext. Est    O. Ext. Total 
8,0 12,0 4,0 0 4,0 20,0 0 48,0

8. Técnicas de prueba de aplicaciones web.
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 2,0 0 2,0 2,0 0 8,0

9. Seguridad de las aplicaciones web
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 0 0 0 2,0 0 4,0

10. XML y Web
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 2,0 0 2,0 2,0 0 8,0


Total por tipo T      P      L      Alt    L Ext. Est    O. Ext. Total 
28,0 28,0 14,0 0 14,0 56,0 0 140,0
Horas adicionales dedicadas a la evaluación 3,0
Total horas de trabajo para el estudiante 143,0

Metodología docente

Clases de teoría: 2 horas semana.

En las clases de teoría los profesores presentan los contenidos esenciales de la asignatura. Normalmente los profesores usan transparencias, que los estudiantes pueden (y deberían) obtener antes de las clases. Otros contenidos de la asignatura (no tan esenciales) no se presentan en clase, pero deben ser estudiados de manera autónoma por los propios estudiantes.

Estos contenidos son tan "obligatorios" como los otros, simplemente han de estudiarse de manera diferente. Los profesores indican en qué momento del curso se deben haber estudiado estos contenidos y los recursos docentes que se pueden usar. Muchas veces estos recursos están escritos en inglés.

Clases de problemas: 2 horas semana.

En las clases de problemas se practican los contenidos de la asignatura (los presentados en clase y los adquiridos autónomamente) mediante la realización de problemas. A veces se requiere que los problemas se hayan resuelto (o al menos intentado resolver) antes de la clase, y entonces la clase se destina a analizar y discutir colectivamente las mejores soluciones. Otras veces el problema se plantea y se ha de resolver en la misma clase mediante técnicas basadas en el aprendizaje cooperativo. En ciertas ocasiones, los estudiantes seran invitados a dar pequeñas charlas sobre algún tema de interés.

Clases de laboratorio: 2 horas cada quince días.

Después de una breve introducción para motivar las tareas a realizar, los estudiantes deberán hacer diversas tareas con el ordenador (instalar, configurar, implementar, probar, monitorizar, etc.), de acuerdo con un plan de trabajo preestablecido y una lista de objetivos, el alcance total o parcial de los cuales determinará la evaluación de aquella sesión de laboratorio.

Método de evaluación

La evaluación global de la asignatura tiene en cuenta cuatro elementos:

+ Nota de Laboratorio (NLab). Durante el curso, el estudiante tiene que participar en un mínimo de 5 sesiones de laboratorio. En cada sesión, el alumno que participe obtendrá una nota en función del grado de resolución de los objetivos preestablecidos. La Nota de Laboratorio será el promedio de las 5 mejores sesiones.

+ Nota de Ejercicios (NEj). Durante el curso, el estudiante ha de realizar y presentar personalmente -o en grupo, dependiendo del caso- un mínimo de 7 ejercicios correspondientes a sesiones de problemas diferentes. La Nota de Ejercicios será el promedio de los 7 mejores ejercicios.

+ Nota del Examen Final (NEF).

+ Nota de Participación (NPart). Esta nota valora la participación activa de los alumnos tanto en las clases de teoría como en las de problemas, así como también la participación en el foro electrónico de la asignatura.

Nota Actos Evaluación (NAE) = 0.25*NLab + MAX((0.25*NEj + 0.45*NEF), 0.70*NEF)

Nota Final = Min((NAE + 0.10*NPart), 10)

Bibliografía básica

  • Jim Conallen: Building web applications with UML. Second Edition, Addison-Wesley, 2003.
  • Roger S. Pressman, David Lowe: Web Engineering: A Practioner's Approach, McGraw-Hill, 2008.
  • Gerti Kappel et al. [editors]: Web engineering : the discipline of systematic development of web applications, John Wiley & Sons, 2006.
  • Leon Shklar, Rich Rosen: Web Application Architecture: Principles, Protocols and Practices. Second Edition, John Wiley & Sons, 2009.

Bibliografía complementaria

  • Martin Fowler Patterns of enterprise application architecture, Addison-Wesley, 2003.
  • Stefano Ceri ... [et al.] Designing data-intensive web applications, Morgan Kaufmann, 2003.
  • JOHNSON, Rod; HOELLER, Juergen Expert One-on-One J2EE Development without EJB, Wiley, 2004.
  • Deepak Alur, John Crupi, Dan Malks Core J2EE patterns : best practices and design strategies, Prentice Hall PTR, 2003.
  • VAN DER VLIST, Eric et al. Professional Web 2.0 Programming, Wiley, 2007.

Enlaces web

  1. http://www.welie.com/patterns/


  2. http://webdeveloper.com/


  3. http://www.adictosaltrabajo.com/index.php?pagina=tutoriales


  4. http://www.w3schools.com/


  5. http://www.rspa.com/spi/index.html#webe


  6. http://www-106.ibm.com/developerworks/patterns/library/index.html


  7. http://www.javapassion.com/j2eeadvanced/index0.html


  8. http://java.sun.com/blueprints/enterprise/


Capacidades previas

1) Saber qué es una especificación (formal) en UML/OCL de los requisitos funcionales y no funcionales de un sistema.
2) Saber el contexto en que se puede hacer el diseño de un sistema y, en particular, cuáles son las actividades previas y siguientes.
3) Saber qué es la arquitectura del software, y qué estilos arquitectónicos hay (la arquitectura en capas es una de ellas).
4) Conocer los principios del diseño orientado a objetos.
5) Conocer el concepto de patrones de diseño y los patrones de diseño principales.
6) Conocer los elementos del UML específicos del diseño.
7) Conocer las características principales de las plataformas de componentes distribuidos.

A la vista de estas capacidades, se sugiere como prerrequisito la asignatura siguiente: Ingeniería del Software II


Compartir

 
logo FIB © Facultad de Informática de Barcelona - Contacto - RSS
Esta web utiliza cookies propias para ofrecerle una mejor experiencia y servicio. Si continúa la navegación, entendemos que acepta nuestra política de cookies. Versión clássica Versión móvil