Usted está aquí: Inicio web asignaturas

Fichas de asignaturas 2008-09


  CÓDIGO NOMBRE
Asignatura 1713022 DISEÑO DE SISTEMAS SOFTWARE
Descriptor   SOFTWARE SYSTEMS DESIGN
Titulación 1713 INGENIERÍA EN INFORMÁTICA
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS
Curso 4  
Duración (A: Anual, 1Q/2Q) 2Q  
Créditos ECTS 5  

Créditos Teóricos 3 Créditos Prácticos 3 Tipo Troncal

Para el curso 2007-08: Créditos superados frente a presentados 95.8% Créditos superados frente a matriculados 76.7%

 

Profesorado
Daniel Molina Cabrera (Coordinador)
Situación
Prerrequisitos
El Plan de Estudios no establece ningún prerrequisito para poder cursar esta
asignatura.
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 distintos esquemas de diseño (patrones) como a las clases
prácticas (en donde se aplicarán dichos esquemas en casos concretos).

Para centrarse durante las clases teóricas de los aspectos más importantes de
los patrones se recomienda una lectura preparatoria de los temas que el
profesorado indique o ponga en el campus virtual, con carácter PREVIO a que los
temas se impartan en clase.

El trabajo contínuo del alumno para un adecuado seguimiento de la asignatura.

Se recomienda asímismo ir leyendo la bibliografía recomendada de la asignatura.
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 uso de herramientas (sistema de control de versiones, pruebas).
  • 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
-----------------

Unidad 1. Fundamentos del diseño de software.
1.1 Introducción al diseño del software.

1.2 Conceptos de de diseño de software.
1.2.1 Problema de Descomposión.
1.2.2 Acoplamiento y encapsulación.
1.2.3 Reutilización de clases.

1.3 Introducción a los patrones de diseño.

Unidad 2. Diseño arquitectónico basado en patrones.
2.1 Patrones Organizativos.
2.2 Patrones Distribuidos.
2.3 Patrones de Interacción.
2.4 Patrones adaptables.

Unidad 3. Diseño orientado a objetos basado en patrones.
3.1 Patrones de creación.
3.2 Patrones estructurales.
3.3 Patrones de Comportamiento.

Unidad 4. Metodologías y Tecnologías de implementación y pruebas.
4.1 Proceso de Desarrollo: Metodologías.

4.2 Tecnologías asociados a procesos de desarrollo.
4.2.1 Sistema de Control de Versiones: Subversion.
4.2.2 Sistemas automáticos de pruebas: xUnit.

4.3 Equipo: Factores personales en el proceso de desarrollo.
4.4 Implantación: Construyendo para el futuro.


PRACTICAS

1- Ejemplos de diseño de aplicaciones usando patrones.
2- Sistema de Control de Versiones y Pruebas de unidad (xUnit).
3- Diseño por equipos de una aplicación concreta.
4- Rediseño de la aplicación anterior usando patrones.
Actividades
-Clases de teoría, utilizando transparencias, diapositivas y pizarra electrónica.
-Clases de prácticas utilizando pizarra.
-Elaboración de trabajo dirigido, mediante un sistema de prácticas, y su
posterior evaluación en presencia del profesor.
Metodología
Se promoverá una metodología activa que combine las clases magistrales
necesarias para la exposición de los contenidos teóricos con las técnicas de
análisis, debate y discusión de los casos prácticos.


También se promoverá la utilización activa de fuentes de información para la
realización de trabajos prácticos.
Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total): 125

  • Clases Teóricas: 20  
  • Clases Prácticas: 26  
  • Exposiciones y Seminarios: 10  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas: 8  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado:  
    • Sin presencia del profesorado:  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio: 52  
    • Preparación de Trabajo Personal: 13  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito:  
    • Exámenes orales (control del Trabajo Personal):  
Técnicas Docentes
Sesiones académicas teóricas:Si   Exposición y debate:Si   Tutorías especializadas:No  
Sesiones académicas Prácticas:Si   Visitas y excursiones:No   Controles de lecturas obligatorias:No  
Criterios y Sistemas de Evaluación
Criterios de evaluación:

Claridad, corrección y adecuación de las soluciones desarrolladas para las
tareas propuestas.

Durante el curso se pediran trabajos por parte de los alumnos que deberán de
exponerse (la preparación de ciertos patrones de diseño, o sobre alguna
metodología).

La evaluación se realizará mediante exámenes escritos y los trabajos realizados
durante el curso.
Recursos Bibliográficos
* 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.
Addison-Wesley, 1999.
* Booch, G., Rumbaugh, J., Jacobson, I. El lenguaje unificado de modelado:
manual de referencia. Addison-Wesley, 1999.
* Booch, G., Rumbaugh, J., Jacobson, I. El proceso unificado de desarrollo de
software. Addison-Wesley, 1999.
* 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.
* Gamma, E., et.al. Patrones de diseño. Addison-Wesley, 2003.
* Huston Design Pattern http://home.earthlink.net/~huston2/dp/patterns.html
* 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.
Cronograma

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.