Última actualización: 22/12/2022


Curso Académico: 2022/2023

Desarrollo de Software
(18179)
Grado en Ingeniería Informática (Plan: 489 - Estudio: 218)


Coordinador/a: LOPEZ CUADRADO, JOSE LUIS

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación (Curso 1 / Cuatrimestre: 1) Estrutura de datos y Algoritmos (Curso: 1 / Cuatrimestre 2) Ingeniería del Software (Curso 2 / Cuatrimestre 1) Teoría de Autómatas y Lenguajes Formales (Curso 2 / Cuatrimestre 1)
Objetivos
El objetivo del curso es permitir al estudiante profundizar en prácticas ágiles de desarrollo que facilitan la obtención de componentes software con alta calidad. Se aprenderán técnicas de pruebas funcionales y estructurales, y se aplicarán mediante pruebas unitarias automatizadas en un proceso de Desarrollo Dirigido por Pruebas. Así mismo se tratarán los fundamentos éticos y legales de la profesión de la Ingeniería Informática. Finalmente se aprenderán técnicas de refactorización de código y se aplicarán conceptos de diseño simple y patrones de diseño para la asignación de responsabilidades.
Competencias y resultados del aprendizaje
Enlace al documento

Descripción de contenidos: Programa
1.- Aspecto éticos y legales en la profesión de Ingeniero de Software. 1.1.- La profesión de Ingeniero de Software 1.2.- Código ético de la profesión de Ingeniero de Software. 2.- Prácticas genéricas del desarrollo ágil 2.1.- El proceso de desarrollo de software. 2.2.- Programación en Parejas 2.3.- Estándares de codificación 2.4.- Propiedad Colectiva de Código 3.- Desarrollo Dirigido por Pruebas 3.1.- Principios del Desarrollo Dirigido por Pruebas 3.2.- Técnicas de Prueba Funcionales 3.3.- Técnicas de Prueba Estructurales 3.4.- Automatización de Pruebas Unitarias 3.5.- Integración Continua Automatizada 4.- Refactoring y Diseño Simple 4.1.- Refactoring 4.2.- Principios de Diseño Simple 4.3.- Patrones de Diseño para la Asignación de Responsabilidades
Actividades formativas, metodología a utilizar y régimen de tutorías
- Clases Teóricas: 1,5 ECTS. Tienen por objetivo alcanzar las competencias específicas cognitivas y procedimentales de la asignatura - Clases Prácticas: 1,5 ECTS. Desarrollan las competencias específicas instrumentales y la mayor parte de las transversales,s. También tienen por objetivo desarrollar las capacidades específicas actitudinales. Consisten en el diseño y desarrollo de un componente de software. En el ámbito de esta actividad de desarrollo se ejercitarán las técnicas de especificación de requisitos, diseño, revisión de calidad y pruebas del código que implementa el componente. Estas actividades se realizarán en equipo. Todo ello desarrollado conforme a los aspectos éticos y legales de desarrollo del proceso. - Trabajos Prácticos 2 ECTS: elaborados con y sin presencia del profesor sobre un caso de proyecto de desarrollo de un componente de software, donde se profundice sobre todos los aspectos teóricos abordados en la materia aspecto de la materia. - Tutorias: Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor. - Examen (Practica Final): 1 ECTS. Tiene por objeto incidir y complementar en el desarrollo de las capacidades específicas cognitivas y procedimentales.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60
Calendario de Evaluación Continua
Bibliografía básica
  • Beck, Ken, et al.. . Test-Driven Development By Example. . Three Rivers Institute.. 2002
  • Beck, Ken. . Una explicación de la Programación Extrema. Addison-Wesley. 2000
  • Craig S. Larman. Applying UML and Patterns.. Pearson Education . 3er Edition. 2012
  • Fowler, Martin et al... Refactoring: Improving the Design of Existing Code. . Addison-Wesley. . 1999
  • Lee Copeland.. A Practitioner's Guide to Software Test Design.. Artech House Publishers. 2003
Bibliografía complementaria
  • Paul C. Jorgensen. Software Testing: a craftsman's approach. . CRC.
  • Roger S. Pressman. . Ingeniería del Software. Un enfoque práctico. . McGraw Hill. 7ª Edición.. 2009
  • Spyros Xanthakis, Michel Maurice, Antonio de Amescua, Olivier Houri, Luc Griffet. . Test and contro¿le des logiciels : me¿thodes, techniques and outils. EC2..

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.