- Inicio ::
- Curso 2012-13 ::
- INGENIERÍA EN INFORMÁTICA ::
- DISEÑO DE SISTEMAS SOFTWARE
DISEÑO DE SISTEMAS SOFTWARE

Asignatura |
![]() |
| |
Profesores |
![]() |
| |
Situación |
![]() |
| |
Competencias |
![]() |
| |
Objetivos |
![]() |
| |
Programa |
![]() |
| |
Actividades |
![]() |
| |
Metodología |
![]() |
| |
Distribucion |
![]() |
| |
Técnicas Docentes |
![]() |
| |
Evaluación |
![]() |
| |
Recursos Bibliográficos |
![]() |
Código | Nombre | |||
Asignatura | 1713022 | DISEÑO DE SISTEMAS SOFTWARE | Créditos Teóricos | 3 |
Descriptor | SOFTWARE SYSTEM DESIGN | Créditos Prácticos | 3 | |
Titulación | 1713 | INGENIERÍA EN INFORMÁTICA | Tipo | Troncal |
Departamento | C137 | INGENIERÍA INFORMÁTICA | ||
Curso | 4 | |||
Duración (A: Anual, 1Q/2Q) | 2Q | |||
Créditos ECTS | 5 |
Para el curso | Créditos superados frente a presentados | Créditos superados frente a matriculados |
2007-08 | 95.8% | 76.7% |
Profesores
Daniel Molina Cabrera (Coordinador)
Situación
Prerrequisitos
El Plan de Estudios no establece ningún prerrequisito para poder cursar esta asignatura que no esté contemplada en los títulos de Ingeniería Técnica de Informática.
Contexto dentro de la titulación
En Ingeniería del Software I se les plantea al alumnado una visión global del proceso de desarrollo del software. Durante el segundo ciclo, el proceso de desarrollo del software es estudiado más en detalle mediante dos asignaturas troncales: Ingeniería de Requisitos (proceso de análisis) y Diseño de Sistemas Software (Diseño y en menor medida implementación).
Recomendaciones
Se recomienda encarecidamente al alumnado asistir tanto a las clases teóricas, en donde se plantearán principios de diseño Orientado a Objetos y distintos esquemas de diseño (patrones) como a las clases prácticas (en donde se aplicarán dichos esquemas en casos concretos). El trabajo continuo del alumno para un adecuado seguimiento de la asignatura, y la realización de las distintas prácticas. Se recomienda asímismo ir leyendo la bibliografía recomendada de la asignatura, y lecturas adicionadas recomendadas.
Competencias
Competencias transversales/genéricas
INSTRUMENTALES - Capacidad de análisis y Síntexis. - Capacidad de organización y planificación. - Resolución de problemas. - Toma de decisiones. PERSONALES - Trabajo en equipo. SISTÉMICAS - Razonamiento crítico. - Compromiso ético. - Aprendizaje autónomo. - Creatividad. - Motivación por la calidad.
Competencias específicas
Cognitivas(Saber):
- Plantearse los problemas de diseño: exceso de acoplamiento. - Conocer distintas soluciones de diseño (patrones) ante determinadas necesidades de diseño. - Conocer desde un punto de vista crítico distintos enfoques metodológicos de desarrollo. - Conocer el uso de distintas herramientas de desarrollo.
Procedimentales/Instrumentales(Saber hacer):
- Partiendo del análisis de un sistema software plantear un diseño orientado hacia las necesidades de dicho sistema. - Identificar y aplicar posibles patrones de diseño en problemas concretos. - Capacidad para aplicar distintas herramientas (sistema de control de versiones, sistemas de prueba, ...) para mejorar el proceso.
Actitudinales:
- Plantearse el diseño como un proceso contínuo. - Búsqueda de la calidad en el desarrollo por medio de un diseño adecuado. - Ponderar las ventajas e inconvenientes de distintas opciones de diseño para la toma de la decisión. - Uso de un enfoque crítico para valorar herramientas/modelos que permitan mejorar la calidad del proceso de desarrollo (y del producto obtenido).
Objetivos
- Introducir al alumno en el diseño orientado a objetos de la arquitectura y de los diferentes subsistemas a partir de las especificaciones del sistema software. - Clasificar y diseñar sistemas software con alguna propiedad predominante: interactividad, distribución, etc. - Utilización de recursos tecnológicos para la implementación y las pruebas de los sistemas diseñados.
Programa
Temario de Teoría ----------------- Tema 1. Diseño Software: 1.1- Concepto de Diseño Software 1.2- Proceso de Diseño Orientado a Objeto Tema 2. Principios de Diseño Orientado a Objeto 2.1- Conceptos y Principios de DOO 2.2- Ejemplos de los principios de diseño Tema 3. Metodologías y Herramientas de implementación y pruebas. 3.1- Proceso de Desarrollo: Metodologías ágiles y refactorización. 3.2- Pruebas automáticas. Tema 4. Patrones de Diseño 4.1- Introducción a los Patrones 4.2- Patrones Estrategia, Decorador y Observador 4.3- Patrones de Creación. 4.4- Patrones de Delegación: Fachada, Adaptador, Command 4.5- Otros Patrones: MVC, Iterador, ... 4.6- Aplicando Patrones Tema 5. Equipo: Factores personales en el proceso de desarrollo. Tema 6. Programación Defensiva. PRACTICAS ---------- Como prácticas de la asignatura, se le solicitará al alumnado el desarrollo de una aplicación sencilla, pasando por distintas fases (cada uno con una entrega): 1- Diseño Conceptual de la aplicación. 2- Implementación de la aplicación, en Java. 3- Realización de test automáticos. 4- Mejora de la implementación usando las técnicas aprendidas en clase. Adicionalmente, antes de introducir el problema se realizarán prácticas de introducción de las herramientas recomendadas: Sistema de Control de Versiones, IDE, JUnit, ...
Actividades
-Clases de teoría, utilizando transparencias. - Realización de una serie de prácticas en la que se aplicarán algunos de los principales patrones. - Discusión en clase de distintas opciones de cara a implementar un sistema.
Metodología
Se aplicará una metodología dirigida por proyecto, en el que sobre una especificación se realizan las distintas fases de diseño y de implementación. Dicha práctica consta de varias entregas, en las que el profesor evaluará y propondrá cambios para la próxima entrega. Se valorará principalmente el cumplimiento de los principios de diseño aunque también ciertos aspectos de implementación descritos en clase. La idea de las distintas entregas es que no se vayan acumulando errores, y mostrarle al alumno/a sus errores, para que pueda no cometerlos en fases posteriores. Una vez cubierto el ciclo guiado de diseño y de implementación, se deberá de realizar una serie de cambios, aplicando las técnicas y patrones vistos en clase. Por tanto, el proceso de trabajo se centra en la puesta en práctica de los conceptos impartidos en las clases magistrales necesarias para la exposición de los contenidos teóricos.
Distribución de horas de trabajo del alumno
Nº de Horas (indicar total): 125
- Clases Teóricas: 20
- Clases Prácticas: 26
- Exposiciones y Seminarios: 5
- Tutorías Especializadas (presenciales o virtuales):
- Colectivas: 8
- Individules:
- Realización de Actividades Académicas Dirigidas:
- Con presencia del profesor:
- Sin presencia del profesor: 12 (pr�icas)
- Otro Trabajo Personal Autónomo:
- Horas de estudio: 30 (repaso de conceptos impartidos en clase)
- Preparación de Trabajo Personal: 13
- ...
- Realización de Exámenes:
- Examen escrito:
- Exámenes orales (control del Trabajo Personal):
Técnicas Docentes
|
Criterios y Sistemas de Evaluación
La evaluación se realizará mediante: - Realización de las prácticas planteadas a lo largo del curso. El criterio de evaluación de las prácticas se hará público para que pueda servir como modelo de auto-evaluación. - Examen en el que se plantean la aplicación de los conocimientos adquiridos para mejorar sistemas, de forma semejante a las prácticas. - Presentación por parte de los alumnos de trabajo a exponer (la preparación de ciertos patrones de diseño, o sobre alguna metodología).
Recursos Bibliográficos
* Gamma, E., et.al. Patrones de diseño. Addison-Wesley, 2003. * Larman, C., UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado, 2ª ed., Prentice Hall, 2003. * Eric Freeman & Elisabeth Freeman. Head First Design Patterns, O'Reilly, 2004. * Brett D. McLaughlin, Gary Pollice, Dave West, Head First Object- Oriented Analysis and Design, O'Reilly, 2006. * Booch, G., Rumbaugh, J., Jacobson, I. El proceso unificado de desarrollo de software. Addison-Wesley, 1999. * Pressman, R. S. Ingeniería del software: un enfoque práctico, 5ª ed. MacGraw-Hill, 2001. * Booch, G., Rumbaugh, J., Jacobson, I. El lenguaje unificado de modelado: manual de referencia. Addison-Wesley, 1999. * Buschmann, F.et.al. Pattern-Oriented Software Architecture. A System of Patterns. Wiley & Sons, 1996. * The Pragmatic Programmer: From Journeyman to Master. Andrew Hunt and David Thomas. Addison-Wesley.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.