Fichas de asignaturas 2007-08
CÓDIGO | NOMBRE | |
Asignatura | 1710017 | INGENIERÍA DEL SOFTWARE I |
Titulación | 1710 | INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN |
Departamento | C137 | LENGUAJES Y SISTEMAS INFORMATICOS |
Curso | 3 | |
Duración (A: Anual, 1Q/2Q) | 1Q | |
Créditos ECTS | 4,5 |
Créditos Teóricos | 3 | Créditos Prácticos | 3 | Tipo | Troncal |
INSTRUMENTALES - Capacidad de organización y planificación. - Capacidad de análisis y síntesis. - Capacidad para resolver problemas. - Comunicación oral y escrita. - Toma de decisiones. PERSONALES - Trabajo en equipo. - Habilidades en las relaciones interpersonales.
Cognitivas(Saber):
- Conocer las propiedades del software y su importancia en la sociedad. - Conocer los aspectos relacionados con el proceso de producción del software. - Conocer el estándar ISO/IEC 12207-1 de procesos del ciclo de vida del software. - Conocer el código de ética y profesional del ingeniero software (código de la ética de la ACM/IEEE). - Conocer el estándar IEEE 830-1998 de especificación de requisitos del software. - Aprender las principales diferencias de los distintos enfoques metodológicos en ingeniería del software. - Conocer los fundamentos de la metodología de la Administración Pública española Métrica V.3. - Aprender los conocimientos teóricos y prácticos fundamentales del análisis y diseño estructurado.
Procedimentales/Instrumentales(Saber hacer):
- Utilizar una metodología de desarrollo de sistemas software. - Realizar la especificación de requisitos de un sistema. - Realizar el análisis estructurado de un sistema software. - Evaluar la consistencia de los diferentes modelos de análisis. - Realizar el diseño estructurado de un sistema software. - Evaluar la calidad del diseño modular de un sistema software.
Actitudinales:
- Razonamiento crítico. - Compromiso ético. - Aprendizaje autónomo. - Creatividad. - Motivación por la calidad. - Planificación de las actividades a desarrollar.
- Tomar conciencia de la necesidad de considerar la producción del software como un proceso de ingeniería. - Conocer y utilizar el estándar IEEE 830-1998 de especificación de requisitos del software. - Conocer y aplicar las distintas técnicas del análisis estructurado de sistemas. - Conocer y aplicar las reglas de consistencia de los modelos del análisis estructurado. - Conocer y poner en práctica las técnicas del diseño estructurado. - Conocer y aplicar las métricas de calidad del diseño estructurado. - Aprender a utilizar la metodología Métrica V.3. - Conocer las técnicas de pruebas del software. - Ser capaz de analizar y diseñar software aplicando un enfoque de ingeniería.
CONTENIDO TEÓRICO PARTE I.- El proceso de desarrollo del software. Tema 1. Análisis de necesidades y estudio de viabilidad. (1 hora) 1.1. Cómo comienza un proyecto. 1.2. Estudios de viabilidad. 1.3. Técnicas de recolección de información. Tema 2. Análisis de sistemas. (2 horas) 2.1. Funciones del análisis. 2.2. Principios fundamentales del análisis. 2.3. Especificación de los requisitos del software. 2.4. Visión general de las técnicas de especificación. Tema 3. Análisis estructurado de sistemas. (11 horas) 3.1. Modelo funcional. 3.1.1. Diagramas de flujos de datos. 3.1.2. Diccionario de datos. 3.1.3. Especificación de procesos. 3.1.4. Comprobaciones de una especificación estructurada. 3.2. Modelo de datos. 3.2.1. Modelo E/R. 3.3. Modelo dinámico. 3.3.1. Diagramas de transición de estados. 3.4. Técnicas matriciales. Tema 4. Diseño estructurado de sistemas. (6 horas) 4.1. Funciones del diseño. 4.2. Princios fundamentales del diseño. 4.3. Características del diseño estructurado. 4.4. Técnicas del diseño estructurado. 4.4.1. Técnicas de especificación de la estructura modular. 4.4.2. Técnicas de especificación de módulos. 4.5. Diseño de la arquitectura modular del sistema. 4.5.1. Estrategias de diseño. 4.5.2. Evaluación de la calidad del diseño. 4.6. Diseño de datos. 4.7. Diseño de la interfaz. 4.7.1. Diseño de la interfaz intermodular. 4.7.2. Diseño de la interfaz externa. 4.7.3. Diseño de la interfaz de usuario. 4.8. Diseño procedimental. 4.8.1. Definición de programas. 4.8.2. Documentación de programas. 4.9. Otros aspectos del diseño. Tema 5. Pruebas del software. (4 horas) 5.1. Filosofía de las pruebas del software. 5.2. El proceso de prueba. 5.3. Pruebas estructurales. 5.4. Pruebas aleatorias. 5.5. Enfoque práctico recomendado para el diseño de casos. 5.6. Documentación del diseño de las pruebas. 5.7. Ejecución de las pruebas. 5.8. Estrategia de aplicación de las pruebas. PARTE II.- La Ingeniería del Software. Tema 6. Introducción a la Ingeniería del Software. (2 horas) 6.1. Relación entre informática e ingeniería del software. 6.2. Definición de ingeniería del software. 6.3. Una visión general de la ingeniería del software. 6.3.1. Responsabilidad ética y profesional del ingeniero software (código de ética de ACM/IEEE). 6.3.2. Descripción de los procesos del ciclo de vida del software (estándar ISO/IEC 12207-1). 6.3.3. Evaluación del proceso software y Modelo de Madurez de la Calidad (CMM). Tema 7. Ciclo de vida del software. (2 horas) 7.1. Introducción al ciclo de vida del software. 7.2. Ciclos de vida. 7.2.1. Modelo lineal secuencial. 7.2.2. Modelo de construcción de prototipos. 7.2.3. Modelo incremental. 7.2.4. Modelo en espiral. Tema 8. Metodologías de desarrollo de software. (1 hora) 8.1. Definición y conceptos generales. 8.2. Visión histórica del desarrollo de metodologías de desarrollo. 8.3. Características principales de las metodologías. 8.4. Clasificación de las metodologías. 8.5. Metodología Métrica Versión 3. CONTENIDO PRÁCTICO Tema 1. Supuestos prácticos de análisis estructurado de sistemas. (24 horas) Tema 2. Supuestos prácticos de diseño estructurado de sistemas. (6 horas)
Para la consecución de las competencias específicas y desarrollar las competencias genéricas especificadas anteriormente, se realizarán los siguientes tipos de actividades: * Búsqueda de información. * Resolución de problemas. * Realización de trabajos. * Trabajo en equipo. * Exposiciones. * Debate.
Se promoverá una metodología activa que fomente la participación activa del alumno en el desarrollo de las clases y el autoaprendizaje del alumno. Para ello se utilizarán los siguientes métodos docentes: * Clases de teoría Estas clases se utilizarán para la exposición de los contenidos teóricos de la asignatura. Las exposiciones de los temas deben seguir un esquema básico en su presentación que incluirá una síntesis de los conceptos estudiados en las lecciones anteriores, los objetivos y puntos del tema a desarrollar, y, por último, un resumen y conclusiones sobre los conceptos introducidos. En el desarrollo de estas clases, los alumnos realizarán las siguientes actividades: - Análisis, debate y discusión de casos prácticos. - Trabajo en equipo. - Realización de trabajos. - Exposiciones de los trabajos. * Clases de problemas Son un medio complementario muy importante a las clases de teoría y son fundamentales para una buena comprensión de la asignatura. En estas clases el profesor planteará problemas y supuestos prácticos que los alumnos deben resolver en grupo antes de que el profesor explique la solución. En el desarrollo de estas clases, los alumnos realizarán las siguientes actividades: - Análisis, debate y discusión de soluciones de los problemas. - Trabajo en equipo. - Realización de trabajos. - Resolución de problemas. - Exposiciones de los trabajos. * Aprendizaje tutorado Algunos contenidos teóricos y prácticos de la asignatura se trabajarán utilizando esta técnica de manera que se promueva el aprendizaje autónomo de los alumnos. El profesor diseñará las actividades que considere necesarias para que el alumno adquiera los conocimientos indicados en los objetivos de la asignatura y promoverá la utilización activa de fuentes de información. Se utilizará el campus virtual como herramienta de apoyo para la docencia. Estarán disponibles herramientas de comunicación, foros especializados, tutorías electrónicas privadas, correo electrónico y material docente en formato digital.
|
CRITERIOS DE EVALUACIÓN - Precisión y rigurosidad en el conocimiento de los temas tratados. - Corrección técnica y formal de los trabajos realizados. - Calidad de las exposiciones. - Conocimiento y utilización de las técnicas estudiadas. - Interés y grado de compromiso en su proceso de aprendizaje. - Participación en las clases y en las actividades propuestas. - Participación y calidad de las intervenciones en los debates y en los foros del campus virtual. TÉCNICAS DE EVALUACIÓN - Realización de trabajos en grupo. - Resolución de problemas (individual y en grupo). - Exposición de trabajos y soluciones de problemas. - Examen. SISTEMA DE EVALUACIÓN La calificación final de la asignatura en la convocatoria de enero podrá obtenerse de una de las siguientes manera: 1. Evaluación continua Calificación final = 0.10 x Adquisición de competencias genéricas + 0.45 x Nota Control Problemas Análisis + 0.25 x Nota Examen Final Teoría + 0.20 x Nota Examen Final Problemas Diseño A los alumnos que no asistan a clase o que no superen el Control de Problemas de Análisis, se les evaluará de acuerdo a la Fórmula 2. Evaluación Examen Final. 2. Evaluación Examen Final Calificación final = 0.25 x Nota Examen Final de Teoría + 0.50 x Nota Examen Final Problemas Análisis + 0.25 x Nota Examen Final Problemas Diseño Para poder aplicar estas fórmulas, es indispensable haber obtenido una calificación final en el examen de la asignatura >= 5 puntos, y haber obtenido un mínimo de 4 puntos (sobre 10 puntos) tanto en el examen de teoría como los exámenes de problemas. En el resto de convocatorias oficiales del curso académico, la calificación final del alumno se obtendrá de acuerdo a la Fórmula 2. Evaluación Examen Final.
BIBLIOGRAFÍA BÁSICA [MAP 00] Ministerio de Administraciones Públicas (MAP) Página de Servicios y Productos del Consejo Superior de Informática. [En línea] URL: < http:/www.map.es/csi/metrica3> [Piattini 02] Piattini, M.; Análisis y diseño de aplicaciones informáticas de gestión, Ra-ma, 2002. [Pressman 02] Pressman, R.; Ingeniería del software. Un enfoque práctico, 5ª ed., McGraw Hill, 2002. [Sommerville 02] Sommerville, I.; Ingeniería del software, 6ª ed., Addison Wesley, 2002. BIBLIOGRAFÍA COMPLEMENTARIA [Page-Jones 88] Page-Jones, M.; The Practical Guide to Structured System Design, Prentice Hall, 1988. [Yourdon 93] Yourdon, E.; Análisis estructurado moderno, Prentice Hall, 1993. [Yourdon Constantine 90] Yourdon, E.; Constantine, L.; Structured Design, Prentice Hall, 1990.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.