Download - TDS Presentacion 2013
-
Grado en Ingeniera Informtica
TecnologasdeDesarrollodeSoftware
GradoenIngenieraInformtica
Presentacin de la asignatura
D t t DISDepartamentoDISFacultaddeInformticaUniversidaddeMurcia
-
ContenidosContenidos Desarrollo de software en el Grado de la FIUM Desarrollo de software en el Grado de la FIUM Objetivos y competencias de la asignatura Programas de Teora y Prcticas Programas de Teora y Prcticas Cronograma Evaluacin Evaluacin Profesorado Carga estimada para el alumno Carga estimada para el alumno Bibliografa
-
Desarrollo de softwareDesarrollo de software
Pequea escala Media escala Gran escalaPequea escala Media escala Gran escala
Una aplicacin software realiza una funcionalidad que permiten automatizar tareas en un determinado dominio o rea de trabajo.
S t l jid d i bl l d t i l Su tamao y complejidad es variable lo que determina el tiempo necesario para su construccin dependiendo del tamao del equipo de programadorestamao del equipo de programadores.
-
Desarrollo de softwareDesarrollo de software
Construir una aplicacin no es implementar un algoritmo o un ejercicio de programacin de los realizados hasta ahora !!!realizados hasta ahora !!!
Proceso complejo que comprende desde la captura de Proceso complejo que comprende desde la captura de los requisitos hasta el despliegue y mantenimiento de la aplicacin.ap cac
Ingeniera del software es la disciplina que se ocupaIngeniera del software es la disciplina que se ocupa del desarrollo de software aplicando principios, mtodos y tcnicas propios de un proceso ingenieril.
-
TDSPDS
GPDS
Equiparse para aplicar tcnicas de ingeniera detcnicas de ingeniera de software en el desarrollo de aplicaciones.aplicaciones.
-
Dimensiones del Desarrollo de SoftwareDimensiones del Desarrollo de Software
TECNOLOGIA
PROCESO ORGANIZACION
-
Dimensiones en el desarrollo de software
TecnologaConceptos, Tcnicas y Herramientas
ProcesoConjunto de pasos a realizarse y resultados obtenidos en j p ycada paso (entregables).Aplicacin de mtodos de desarrollo
OrganizacinCmo organizar al equipo de programadores: tareas de g q p p ggestin y planificacin de un proyecto software.
-
Etapas de un proceso de desarrolloEtapas de un proceso de desarrollo
Estudio de Viabilidad Anlisis de Requisitos Anlisis y Diseo Implementacin Pruebas Despliegue Mantenimiento
Procesos actuales estn basados en casos de uso, y son iterativos e incrementales.
-
AdemsAdems
Guas para la gestin y planificacin del proyecto Guas de estimacin de costes Guas para elaboracin de los entregables Mtricas Polticas y procesos para asegurar calidad del
software Ejemplos elaborados de aplicacin y ejercicios
para el aprendizajeEt Etc.
-
Elementos de una aplicacin de gestin (business application)
B d d tCdigo Base de datosg
Java, JavaScript, JSP, JPA, XML,Plataforma .net (Microsoft)
Relacionales, NoSQL, OO,..Plataforma .net (Microsoft)
-
Desarrollo de software en el Grado en Ingeniera Informtica de la FIUM
En primer y segundo curso las asignaturas bsicas de programacin:p g Fundamentos de Programacin (primer curso) Algoritmos y Estructura de Datos (segundo curso) Programacin orientada a objetos (segundo curso) Programacin concurrente (segundo curso)
y tambin Fundamentos de Bases de datos (segundo curso)Fundamentos de Bases de datos (segundo curso)
-
Desarrollo de software en el Grado en Ingeniera Informtica de la FIUM
En tercer curso las asignaturas bsicas relacionadas con el desarrollo de software
Tecnologas de desarrollo de software (TDS)
Procesos de desarrollo Gestin de proyectosde software
p yde desarrollo de software
-
Desarrollo de software en el Grado en Ingeniera Informtica de la FIUM
E t d i t ifi i T l d l En cuarto curso dos intensificaciones: Tecnologa del Software y Sistemas de Informacin.
Aplicaciones distribuidas Obligatoria
Arquitectura del software Obligatoria
Desarrollo de Aplicaciones Web Obligatoria
Sistemas de Informacin Empresarial Obligatoria
Interfaces de Usuario Obligatoria
Sistemas de Informacin Industriales ObligatoriaDesarrollo de Aplicaciones Web Obligatoria
Calidad del Software Obligatoria
Metodologa de la Programacin Paralela Obligatoria
Informtica Grfica Obligatoria
Gestin de la innovacin tecnolgica en las organizaciones Obligatoria
Desarrollo de Sistemas Inteligentes Optativa
Sistemas de Informacin Geogrfica Optativag
Interfaces de usuario Optativa
Sistemas multimedia Optativa
Sistemas informticos industriales Optativa
Sistemas de Informacin Geogrfica Optativa
Administracin de bases de datos Obligatoria
Desarrollo de Sistemas de Informacin Obligatoria
Gestin de la Seguridad en Sistemas O t tiProgramacin basada en agentes Optativa
Tecnologa del Software
Gest de a Segu dad e S ste asde Informacin Optativa
Gobierno de los Sistemas de Informacin en las Organizaciones Optativa
Sistemas de informacin
-
Asignatura TDSAsignatura TDS
Objetivos principales El alumno adquirir competencias en la prctica del desarrollo
de software destinadas a participar en la construccin dede software destinadas a participar en la construccin de aplicaciones con lenguajes OO.
El alumno aprender conceptos, tcnicas y herramientas que le d t i li i d d i t tiayudarn a construir aplicaciones de un modo sistemtico.
Las tcnicas: patrones de diseo, desarrollo basado en componentes , desarrollo dirigido por pruebas, y evolucin de p , g p p , ysoftware basada en refactoring, y desarrollo de interfaces de usuario, GUI.Las herramientas: IDE gestin y construccin de proyectos Las herramientas: IDE, gestin y construccin de proyectos , gestin de cdigo fuente, modelado de software, creacin de GUIs, pruebas unitarias.
-
Asignatura TDSAsignatura TDS
Patrones de diseo Valorar el papel de los patrones de diseo como forma de
reutilizar la experiencia en la resolucin de problemas de diseoreutilizar la experiencia en la resolucin de problemas de diseo. Aprender los patrones de diseo bsicos para construccin de
software OO: Creacin, Estructurales y Comportamiento Adquirir destreza en la identificacin de los patrones aplicables a
un determinado problema. Aplicar patrones en el diseo e implementacin de una aplicacinAplicar patrones en el diseo e implementacin de una aplicacin.
-
Asignatura TDSAsignatura TDS
Desarrollo de interfaces grficas de usuario (GUI) Estudio de los elementos de una GUI: componentes, layouts y
manejadores de eventosmanejadores de eventos. Estudio de la librera Swing Estudio del modelo de delegacin de eventos de Java Uso de una herramienta de construccin de GUIs
(WindowBuilder Pro).
-
Asignatura TDSAsignatura TDS
Desarrollo de software basado en componentes Comprender el concepto de componente y su papel en el proceso
de desarrollo de softwarede desarrollo de software. Valorar el desarrollo basado en componentes como una tcnica
de reutilizacin de software. Conocer un modelo de componentes (Java Beans). Ser capaces de aplicar el desarrollo basado en componentes para
la construccin de interfaces graficas de usuariola construccin de interfaces graficas de usuario. Desarrollar un componente y usarlo.
-
Asignatura TDSAsignatura TDS
Desarrollo dirigido por las pruebas Conocer los tipos de prueba del software:
o Unitaria integracin sistema y aceptacino Unitaria, integracin, sistema y aceptacin. Conocer los aspectos especficos de las pruebas de software OO. Conocer el desarrollo dirigido por las pruebas.g p p Ser capaz de implementar pruebas unitarias y de integracin en
un proyecto de tamao medioHerramienta Junit Herramienta Junit.
-
Asignatura TDSAsignatura TDS
Evolucin del software con refactoring Comprender el concepto de refactoring como tcnica de mejora
de la calidad del softwarede la calidad del software. Conocer un conjunto de criterios bsicos para identificar
defectos en el diseo del software. Aprender y aplicar algunos refactorings para software OO. Comprender la importancia de las pruebas en el proceso de
refactoringrefactoring. Herramienta: IDE Eclipse
-
Asignatura TDSAsignatura TDS
Herramientas para la gestin del desarrollo de software Valorar el papel de los sistemas de control de versiones de cdigo
fuente en el desarrollo de software (Subversion)fuente en el desarrollo de software (Subversion). Organizar un repositorio de cdigo fuente y utilizarlo en un
proyecto de desarrollo de software en equipo. Conocer y utilizar herramientas de automatizacin de la
construccin de software (Maven).
-
Asignatura TDSAsignatura TDS
Introduccin a la nocin de arquitectura software Patrn arquitectural Layers que organiza una aplicacin en
varias capasvarias capas Aplicacin de la arquitectura MVC de tres capas Presentacin,
Lgica de Negocio y Almacenamiento, y uso de un controlador l t i d l l d l ique separa la presentacin de las clases del negocio.
-
Asignatura TDS Teora
Tema 1 Algunos principios bsicos de diseo orientado a objetos (4T+2E)Tema 1. Algunos principios bsicos de diseo orientado a objetos (4T+2E)Tema 2. Patrones de diseo (14T+4E)Tema 3. Desarrollo de software basado en componentes (2T)Tema 4. Desarrollo de software dirigido por las pruebas (2T)Tema 5. Evolucin de software con refactorings (en prcticas) (1T)
Prcticas PrcticasPrctica 1. Modelado UML de diagramas de clases y de interaccionesPrctica 2 Gestin y construccin de proyectos Java con MavenPrctica 2. Gestin y construccin de proyectos Java con MavenPrctica 3. Gestin de cdigo fuente con SubversinPrctica 4. Desarrollo de interfaces de usuario con Swing y SWT (3 sesiones)Prctica 5. Manejo del servidor de persistenciaPrctica 6. Desarrollo con componentes JavaBeans (2 sesiones)Prctica 7. Desarrollo de pruebas unitarias con Junit (2 sesiones)Prctica 7. Desarrollo de pruebas unitarias con Junit (2 sesiones)Prctica 8. Estudio y aplicacin de refactorings.
-
Semana Teora Laboratorio
1 Presentacin Diagramas de clase UML
2 Diagramas de interaccin UML gPatrones Grasp
3 Patrones Grasp / Ejercicios diagramas de clases Modelado UML
4 Patrones de diseo Maven4 Patrones de diseo Maven
5 Patrones de diseo Subversion
6 Patrones de diseo / Seminario arquitectura de la aplicacin
PersistenciaSeminario arquitectura de la aplicacin
7 Patrones de diseo / Ejercicios Grasp Swing
8 Patrones de diseo / Ejercicios de patrones Swing
9 Desarrollo con componentes Swing9 Desarrollo con componentes Swing
10 Desarrollo basado en pruebas Componentes
11 Patrones de diseo Componentes
12 Patrones de diseo / Ejercicios de patrones JUnit
13 Patrones de diseo JUnit
14 Patrones de diseo / Ejercicios de patrones Refactoring
15 Patrones de diseo / Ejercicios de patrones
-
Asignatura TDSAsignatura TDS
Evaluacin Evaluacin
TeoraTeora Examen con cuestiones terico-prcticas del mismo tipo que las
propuestas en boletines de ejercicios y exmenes anteriores.Prcticas Proyecto de programacin cuya especificacin se entregar en la
tercera semana del cursotercera semana del curso. Los alumnos formarn grupos de dos. Se realizarn dos entrevistas (seguimiento de la prctica y evaluacin
final) y dos entregas: entrega del modelo de clases (finales octubre) y la entrega final (despus vacaciones Navidad)
-
Tecnologas de desarrollo de softwareTecnologas de desarrollo de software EvaluacinEvaluacin Para superar la asignatura los alumnos debern haber aprobado
tanto el examen terico como el proyecto.tanto el examen terico como el proyecto. En la nota final el peso del examen ser del 60% y el del proyecto del
40%. Una vez aprobada una parte se mantiene la nota en el resto de
convocatorias del curso. La nota en el acta ser No Presentado cuando se haya aprobadoLa nota en el acta ser No Presentado cuando se haya aprobado
una parte y no se haya presentado a la otra, salvo si el alumno desea que se le guarde la nota en cuyo caso ser Suspenso 4.Se indicar la forma de evaluar cada aspecto de las prcticas en la Se indicar la forma de evaluar cada aspecto de las prcticas en la entrega de la especificacin.
-
Tecnologas de desarrollo de softwareTecnologas de desarrollo de software Carga para el alumnoCarga para el alumno
Clases de teora: 30 horasC ases de teo a 30 o as Clases Prcticas: 22 horas Preparar examen: 48 horas Proyecto: 50 horas
Total: 150 horas (6 ECTS x 25 horas) Total: 150 horas (6 ECTS x 25 horas)
-
ResultadosResultados
Grupo 1 Grupo 2 Grupo 3 TotalMatriculados 38 47 62 147Presentados 19 (51%) 31 (66%) 24 (40%) 74 (50%)Aprobados 10 15 13 38Suspensos 9 14 10 33Entregan prctica
10 21 15 46 (62%) p
-
Tecnologas de Desarrollo de SoftwareTecnologas de Desarrollo de Software
Profesorado ProfesoradoJos Ramn Hoyos Barcel (Grupo 1)
Francisco Javier Bermdez Ruiz (Grupo 2)
Jess J Garca Molina (coordinador y Grupo 3)Jess J. Garca Molina (coordinador y Grupo 3)
-
Tecnologas de desarrollo de softwareTecnologas de desarrollo de software TutorasTutoras
Jess Garca Molina ([email protected]): L, X y V de 10 a 12(j @ ) , y
Francisco Javier Bermudez ([email protected]): electrnicas / M 12:00 a 13:30 y X 16:00h a 17:30hy X 16:00h a 17:30h
Jos Ramn Hoyos ([email protected]): electrnicas / M y X de 12:00 a 13 3013:30
-
Bibliografa bsicag
Modelado UML y Patrones Grasp Modelado UML y Patrones Grasp Craig Larman, UML y Patrones, 2 edicin, Prentice-Hall, 2002
Patrones de diseoPatrones de diseo Erich Gamma et al., Patrones de Diseo, Addison-Wesley, 2002.
Desarrollo dirigido por las pruebas Apuntes de la asignatura.
-
Bibliografa adicionalg
Desarrollo basado en componentesDesarrollo basado en componentes Clemens Szyperski. Component Software: Beyond Object-Oriented
Programming (2 Edition)". Addison-Wesley.2002
D ll d i t f d i Desarrollo de interfaces de usuario Cay Horstmann y Gary Cornell. Core Java (Vol. 1). Fundamentos.
Pearson, 2005.
Evolucin y Refactorings Martin Fowler et al., Refactoring. Improving the design of existing code,
Addi W l 2000Addison-Wesley, 2000.
Patrones de diseo Mark Grand Patterns in Java vol 1 John Wiley Segunda Edicin 2002 Mark Grand, Patterns in Java, vol. 1, John Wiley, Segunda Edicin, 2002. Eric T. Freeman et. Al. Head First Design Patterns, OReilly, 2004.
Desarrollo dirigido por las pruebasg p p Kent Beck. Test-driven Development. By example. Addison-Wesley. 2003