Es aconsejable que el alumno tenga conocimientos previos de programación en C y Java y que este se desarrolle correctamente en el lenguaje de modelado UML.
Objetivo 1
Introducir al alumno en proceso de desarrollo de software, desde la especificación hasta el lanzamiento
Objetivo 2
El alumno debe alcanzar un conocimiento práctico de las diferentes plataformas expuestas en la asignatura.
Objetivo 3
Aprender a trabajar en el diseño y desarrollo en distintos entornos y grupos de trabajo
La asignatura trata los siguientes puntos aplicándolos a los proyectos.
1. Requisitos funcionales
2. Requisitos no funcionales
3. Casos de uso
4. Diagrama de casos de uso
5. Diagrama de actividades
6. Pruebas de caja blanca
7. Pruebas de caja negra con CppUnit y JUnit
8. Debug
9. Costes asintóticos y tiempos de ejecución
10. Guías de estilo
11. Documentación del código con Doxygen
12. Revisión de versiones: SVN y CVS
La asignatura tiene dos vertientes diferenciadas, se divide en dos bloques: el teórico y el práctico, estos bloques se trabajan simultáneamente durante todo el curso académico.
1) Clases magistrales: el profesor explica al alumno en las plataformas que componen el eje principal de la asignatura. Estas son el vehículo para introducir los distintos proyectos de los que se compone la asignatura.
2) Practicas en grupo: desarrollo de proyectos. El estudiante debe diseñar y desarrollar la solución final del proyecto siguiendo una metodología de desarrollo.
Para evaluar la asignatura se tendrán en cuenta diferentes puntos, estos son:
F. Informes/trabajos hechos en grupo
G.Trabajos prácticos usando el ordenador
I. Presentaciones
Nota final = Promedio ponderado de las nota de los proyectos
Nota Proyecto - F, G, I
1. Conocimientos generales básicos sobre el área de estudio [G, I]
2. Comunicación oral y escrita en la propia lengua [F, I]
3. Habilidades de gestión de la información (habilidad para buscar y analizar información proveniente de fuentes diversas) [F, I]
4. Resolución de problemas [F, G]
5. Trabajo en equipo [F, G]
6. Capacidad para comunicarse con personas no expertas en la materia [ I ]
7. Capacidad de aplicar los conocimientos en la práctica [F, G]
1) UML Distilled, a brief guide to the standard Object Modeling Language. Martin Fowler. Ed Addison Wesley
2) Oracle webpage: http://www.oracle.com
3) JUnit webpage: http://www.junit.org
4) Allegro webpage: http://alleg.sourceforge.net
5) Doxygen webpage: http://www.stack.nl/~dimitri/doxygen
1) Eclipse webpage: http://www.eclipse.org
2) MinGW webpage: http://www.mingw.org
3) Android developers webpage: http://developer.android.com