Última actualización: 24/04/2019


Curso Académico: 2019/2020

Software de Comunicaciones
(13416)
Titulación: Grado en Ingeniería Telemática (215)


Coordinador/a: IBAÑEZ ESPIGA, MARIA BLANCA

Departamento asignado a la asignatura: Departamento de Ingeniería Telemática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Materias que se recomienda haber superado
Programación; Programación de Sistemas
Competencias que adquiere el estudiante y resultados del aprendizaje.Más información en este enlace
Al finalizar el curso, el alumno será capaz de entender los principios, conceptos, métodos y técnicas de ingeniería de software. El estudiante será capaz de aplicar sus conocimientos y habilidades para organizar y desarrollar un proyecto de tamaño mediano de software que satisfaga los requisitos fijados, y sea además fiable, fácil de comprender, modificar y mantener. Para lograr estos objetivos, el estudiante debe adquirir una serie de conocimientos, capacidades y actitudes Por lo que se refiere a los conocimientos, al finalizar el curso el estudiante conocerá: ¿Qué es la ingeniería de software? El conjunto de procesos de software y modelos de procesos de software Las diferentes formas de expresar los requisitos de software Los modelos de sistema que puede ser desarrollado durante el proceso de ingeniería de requisitos Los modelos de la arquitectura de software ¿ Los patrones de diseño principal del software ¿ Las técnicas utilizadas para probar el software ¿ Medidas de calidad y costo asociadas al software En cuanto a las capacidades, las podemos clasificar en dos grupos: uno de capacidades específicas y otro de capacidades más genéricas o destrezas. En cuanto a las capacidades específicas, al finalizar el curso el alumno será capaz de: ¿ Planificar un proyecto de software completo ¿ Analizar y formalizar los requisitos de software de un proyecto ¿ Desarrollar y analizar modelos del software ¿ Diseñar la arquitectura de software de un proyecto ¿ Usar las estructuras de datos y las técnicas de programación adecuadas para las tareas de programación que requiera el software ¿ Favorecer el mantenimiento del sistema en todas sus etapas de desarrollo mediante una documentación adecuada ¿ Verificar y validar el software desarrollado ¿ Velar por la calidad del software En cuanto a las capacidades generales o destrezas, durante el curso se trabajarán: ¿ La capacidad de utilizar técnicas de Ingeniería del Software para crear productos de software efectivos ¿ La capacidad para hacer frente a restricciones derivadas de recursos humanos, tiempo y costos ¿ La capacidad para trabajar en un equipo de desarrollo de software ¿ La capacidad de presentar y defender en público las soluciones desarrolladas En cuanto a las actitudes, el alumno tras cursar el curso debería tener: ¿ Una actitud crítica en cuanto a la idoneidad de distintas técnicas y herramientas que pueden ser aplicadas al desarrollo de un sistema de software ¿ Valores éticos hacia su trabajo como desarrollados de software ¿ Una actitud pro-activa hacia el trabajo ¿ Una actitud de colaboración y trabajo en equipo
Descripción de contenidos: Programa
1. Introducción 1.1 Introducción a la Ingeniería de Software 1.2 Procesos de software 2. Análisis de requisitos 2.1 Requisitos de software 2.2 Modelos de sistemas 3. Diseño de arquitectura de sistemas 3.1 Modelos de Arquitecturas de Software 3.2 Patrones de Software 4. Pruebas de software. Técnicas 4.1 Introducción a las pruebas de software 4.2 Tipos de pruebas de software
Actividades formativas, metodología a utilizar y régimen de tutorías
La metodología consiste en impartir clases magistrales, realizar clases de ejercicios prácticos y supervisión por parte del profesor en los laboratorios de programación. Las actividades que se llevan a cabo son: * Clases magistrales. Presentación por parte del profesor de los principales conceptos a modo de resumen. Se fomentan en este tipo de sesiones tanto la interactividad como la discusión de los principales problemas planteados. * Clases de ejercicios prácticos: Sesiones en las que se plantean problemas reales y se permite a los estudiantes su análisis así como el planteamiento de posibles soluciones. * Laboratorios de programación, donde los estudiantes implementan su proyecto bajo la supervisión del personal docente. Estas sesiones suponen trabajo adicional de los estudiantes durante un período de varios días. Los estudiantes son atendidos por el personal docente a través de múltiples canales para resolver sus dudas.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60
Bibliografía básica
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  • Ian Sommerville. Software Engineering. Addison-Wesley.
  • J. Rumbaugh, I. Jacobson, G. Booch. The Unified Modeling Language Reference Manual. Addisson-Wesley.
Bibliografía complementaria
  • ACM. Ingeniería de Software. Código Ética y Práctica Profesional 5.2. .. .
  • Bruegge, B; Dutoit, A. Object Oriented Software Engineering Using UML, Patterns and Java. Pearson Education Internationsl. 2004
  • C. Ebert, et al.. Best Practices in Software Measurement. How to Use Metrics to Improve Project and Process Performance. Springer.
  • Dashofy, E; Madyidovic, N; Taylor R,. Software Architecture: Foundations, Theory and Practice. John Wiley & Sons. 2009
  • Fowler, M; Beck, K.; Opdyke, W; Roberts; D.. Refactoring Improving the Design of Existing Code. Addison-Wesley Professional. 1999
  • Fox, A; Patterson D.. Engineering Software as a Service: An Agile Approach Using Cloud Computing. Strawberry Canyon. 2014
  • G. Montoya, I. Sommerville. Requirements Engineering. Process and Techniques. Wiley.
  • Jorgesen, P. Software Testing. A Craftsman´s Approach. CRC Press. 2013
  • Martin, R.. Clean COde. Prentice Hall. 2008
  • Roger S Pressman. Ingeniería del software. Un enfoque práctico. Mc Graw Hill.
  • W. Perry. Effective Methods for Software Testing. Wiley.
Contenido detallado de la asignatura o información adicional para TFM

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