Nombre: LABORATORIO DE INGENIERÍA DE SOFTWARE
Código: 505104012
Carácter: Optativa
ECTS: 6
Unidad Temporal: Cuatrimestral
Despliegue Temporal: Curso 4º - Segundo cuatrimestre
Menciones/Especialidades:
Lengua en la que se imparte: Castellano
Carácter: Presencial
Nombre y apellidos: ALONSO CÁCERES, DIEGO
Área de conocimiento: Lenguajes y Sistemas Informáticos
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968325341
Correo electrónico: diego.alonso@upct.es
Horario de atención y ubicación durante las tutorias:
Titulaciones:
Categoría profesional: Profesor Titular de Universidad
Nº de quinquenios: 3
Nº de sexenios: 2 de investigación y 1 de transferencia
Curriculum Vitae: Perfil Completo
Nombre y apellidos: VELASCO LÓPEZ, JOSÉ
Área de conocimiento: Lenguajes y Sistemas Informáticos
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968326471
Correo electrónico: jose.velasco@upct.es
Horario de atención y ubicación durante las tutorias: Las tutorías se realizarán a demanda del estudiante mediante solicitud remitida al correo jose.velasco@upct.es
Titulaciones:
Ingeniero Técnico en Informática de Sistemas en la Universidad de Murcia (ESPAÑA) - 2004
Categoría profesional: Profesor Asociado
Nº de quinquenios: No procede por el tipo de figura docente
Nº de sexenios: No procede por el tipo de figura docente
Curriculum Vitae: Perfil Completo
Nombre y apellidos: PADILLA URREA, ANTONIO MANUEL
Área de conocimiento: Lenguajes y Sistemas Informáticos
Departamento: Tecnologías de la Información y las Comunicaciones
Teléfono: 968325342
Correo electrónico: antonio.padilla@upct.es
Horario de atención y ubicación durante las tutorias: Las tutorías se realizarán a demanda del estudiante mediante solicitud remitida al correo antonio.padilla@upct.es
Titulaciones:
Categoría profesional: Profesor Asociado
Nº de quinquenios: No procede por el tipo de figura docente
Nº de sexenios: No procede por el tipo de figura docente
Curriculum Vitae: Perfil Completo
[CG3 ]. Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
[B2 ]. Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería
[C7 ]. Conocimiento y utilización de los fundamentos de la programación en redes, sistemas y servicios de telecomunicación
Es muy recomendable que el alumno haya superado previamente la asignatura de Fundamentos de programación.
[TR2 ]. Trabajar en equipo
[TR5 ]. Aplicar a la práctica los conocimientos adquiridos
Al finalizar el plan formativo, el estudiante debe ser capaz de:
Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software.
Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript.
Desarrollar aplicaciones completas que consideren también el lado del servidor.
Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo.
Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura.
Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto.
Introducción a la Ingeniería del Software. Fases del ciclo de vida, metodologías y herramientas de desarrollo software. Procesos de desarrollo de software. Lenguajes de especificación y diseño de software. Resolución de casos prácticos.<br>
Introducción
Tema 1. Introducción al desarrollo software
Tema 2. Ciclos de vida del proceso de desarrollo software y control de versiones
Lenguajes de desarrollo web
Tema 3. Lenguajes web HTML y CSS
Tema 4. Introducción a Javascript
Diseño de aplicaciones del lado cliente y servidor
Tema 5. Metodología de desarrollo Scrum
Tema 6. Framework Javascript Modelo-Vista-VistaModelo (MVVM) Angular
Tema 7. Diseño de aplicaciones web del lado del servidor con bases de datos
Control de versiones (1 sesión)
Diseño web básico: HTML + CSS + Javascript (4 sesiones)
Diseño web del lado del cliente con Angular (5 sesiones)
Diseño web del lado del servidor (2 sesiones)
La Universidad Politécnica de Cartagena considera como uno de sus principios básicos y objetivos fundamentales la promoción de la mejora continua de las condiciones de trabajo y estudio de toda la Comunidad Universitaria. Este compromiso con la prevención y las responsabilidades que se derivan atañe a todos los niveles que integran la Universidad: órganos de gobierno, equipo de dirección, personal docente e investigador, personal de administración y servicios y estudiantes. El Servicio de Prevención de Riesgos Laborales de la UPCT ha elaborado un "Manual de acogida al estudiante en materia de prevención de riesgos" que puedes encontrar en el Aula Virtual, y en el que encontraras instrucciones y recomendaciones acerca de cómo actuar de forma correcta, desde el punto de vista de la prevención (seguridad, ergonomía, etc.), cuando desarrolles cualquier tipo de actividad en la Universidad. También encontrarás recomendaciones sobre cómo proceder en caso de emergencia o que se produzca algún incidente. En especial, cuando realices prácticas docentes en laboratorios, talleres o trabajo de campo, debes seguir todas las instrucciones del profesorado, que es la persona responsable de tu seguridad y salud durante su realización. Consúltale todas las dudas que te surjan y no pongas en riesgo tu seguridad ni la de tus compañeros.
Introduction
Lecture 1. Introduction to software development
Lecture 2. Life cycles of the software development process and control version software
Web application design
Lecture 3. Web languages HTML and CSS
Lecture 4. Introduction to Javascript
Design of client and server-side applications
Lecture 5. Scrum Development Methodology
Lecture 6. Javascript Framework Model-View-ViewModel (MVVM) AngularJS
Lecture 7. Design of server-side web applications with databases
Clase en aula convencional: teoría, problemas, casos prácticos, seminarios, etc
Exposición, por parte del profesor de la asignatura, del temario de la asignatura. Punto de partida para la realización del resto de actividades de formación que permitirán al alumno ampliar su conocimiento.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
Competencias vinculadas a esta actividad: CG3, B2, C7
Realización de ejercicios prácticos que ayuden a los alumnos a afianzar los conocimientos, sobre todo de programación, tratados en las clases de teoría.
Resultados de aprendizaje vinculados a esta actividad:
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
Competencias vinculadas a esta actividad: CG3, B2, C7
33
100
Clase en laboratorio: prácticas
Clase en laboratorio: prácticas
0
100
Clase en campo o aula abierta (visitas técnicas, conferencias, etc.). En general, actividades que requieren de unos recursos o de una planificación especiales
Clase en campo o aula abierta (visitas técnicas, conferencias, etc.). En general, actividades que requieren de unos recursos o de una planificación especiales
0
100
Clase en aula de informática: prácticas
Realización de ejercicios de programación durante sesiones de prácticas, que tendrán un grado de dificultad superior a los ejercicios resueltos en clase de teoría. Permitirán a los alumnos mejorar sus conocimientos y habildades en programación, y les ayudarán a afrontar con éxito los trabajos que se pondrán para evaluar la asignatura.
Resultados de aprendizaje vinculados a esta actividad:
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
Competencias vinculadas a esta actividad: CG3, TR5, B2, C7
25
100
Actividades de evaluación (sistema de evaluación continua)
Presentación de los trabajos de evaluación de la asignatura y realización de entrevistas por parte del profesor.
2
100
Actividades de evaluación (sistema de evaluación final)
Presentación de los trabajos de evaluación de la asignatura y realización de entrevistas por parte del profesor.
0
100
Tutorías
Tutorías de los alumnos
0
50
Trabajo del estudiante: estudio o realización de trabajos individuales o en grupo
Horas asignadas a la preparación de los trabajos de evaluación de la asignatura. El primer trabajo de la asignatura se realiza de forma individual, mientras que los dos siguientes se preparan en grupo. El último trabajo incluye una presentación pública.
Resultados de aprendizaje vinculados a esta actividad:
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
Horas de estudio para aprender los contenidos de la asignatura. Estudio personal o en grupo, a criterio del alumno.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
Competencias vinculadas a esta actividad: CG3, B2, C7
120
0
Exposición de trabajos en clase
Presentación en grupo del tercer trabajo de la asignatura. Desarrollo de las transparencias y demostración de la aplicación desarrollada.
Resultados de aprendizaje vinculados a esta actividad:
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
20 %
Trabajo Final
Entrega de los trabajos de la asignatura.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
50 %
Entregables de ejercicios y/o prácticas
Presentación de trabajos de prácticas.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
30 %
Exposición de trabajos en clase
Presentación en grupo del tercer trabajo de la asignatura. Desarrollo de las transparencias y demostración de la aplicación desarrollada.
Resultados de aprendizaje vinculados a esta actividad:
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
20 %
Trabajo Final
Entrega de los trabajos de la asignatura.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
50 %
Entregables de ejercicios y/o prácticas
Presentación de trabajos de prácticas.
Resultados de aprendizaje vinculados a esta actividad:
- Enumerar y describir las principales metodologías de ingeniería del software y el ciclo de vida de los productos software
- Desarrollar aplicaciones web del lado del cliente de tamaño medio utilizando el framework AngularJS, HTML, CSS y Javascript
- Desarrollar aplicaciones completas que consideren también el lado del servidor
- Enumerar y describir los principios de los sistemas de control de versiones y utilizar GIT en un proyecto colaborativo
- Conocer los fundamentos de las técnicas de test software y su aplicación en las tecnologías web contempladas en la asignatura
- Aplicar las metodologías ágiles XtremeProgramming y Scrum a un proyecto
Competencias vinculadas a esta actividad: CG3, TR2, TR5, B2, C7
30 %
Durante el cuatrimestre se realizarán tres trabajos. El trabajo final se tiene que presentar, de manera grupal, en la convocatoria oficial de la asignatura con una presentación y una demostración de la funcionalidad de la aplicación solicitada. La estructura de la presentación será la siguiente:
1. Metodología de desarrollo seguida (Scrum): organización del trabajo, número y duración de los sprints, historias de usuario, relación con GIT, etc.
2. Stack software de servidores (por ejemplo, Apache, MariaDB, NodeJS, etc.) utilizado para implementar la práctica.
3. Descripción de la arquitectura software de la aplicación Angular (por ejemplo, número de vistas y controladores, rutas, factorías, servicios web, relaciones entre ellos, etc.) y organización de los ficheros de la aplicación
4. Utilización de GIT
5. Utilización de las tecnologías web: HTML + CSS + Angular
Para aprobar la asignatura es imprescindible que la nota final sea igual o superior a 5 puntos.
Autor: Pressman, Roger S.
Título: Ingeniería del software un enfoque práctico
Editorial: McGraw-Hill
Fecha Publicación: 2005
ISBN: 9701054733
Autor: Larsen, Rob.
Título: Beginning HTML & CSS
Editorial: Wiley
Fecha Publicación: 2013
ISBN:
Autor: Dayley, Brad
Título: Node.js, MongoDB and AngularJS web development
Editorial: Addison-Wesley
Fecha Publicación: 2014
ISBN:
Autor: Branas, Rodrigo
Título: AngularJS essentials : design and construct reusable, maintainable, and modular web applications
Editorial: online
Fecha Publicación:
ISBN: 9781783980093
Autor: Crockford, Douglas
Título: JavaScript the good parts
Editorial: Oreilly
Fecha Publicación: 2008
ISBN: 9780596517748
www.w3cschools.com --> material de aprendizaje y referencias de tecnologías web (HTML, CSS y Javascript)
angular.io --> página web de referencia del framework Angular
www.git-scm.com --> página web de referencia de la herramienta Git
nodejs.org --> página web de la máquina virtual de Javascript NodeJS