Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area IV: Pr. y Met. de Des. del Soft. |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Se introduce al estudiante en el desarrollo de software como una actividad ingenieril y trabajo en equipo. Se pretende que el estudiante aprenda los fundamentos básicos de cada una de las etapas que comprende el proceso de desarrollo de software así como las distintas técnicas y metodologías aplicables, conocimientos de los principios de diseño y las principales técnicas de validación y verificación del software incluyendo conceptos de gestión de proyectos.
|
V - Objetivos / Resultados de Aprendizaje |
---|
Al finalizar el curso se espera que el estudiante sea capaz de asimilar los conceptos de procesos de desarrollo de software, desde su especificación, análisis, diseño hasta su verificación y validación, incorporando conceptos de gestión de proyectos. El objetivo es que el estudiante tome conocimiento de conceptos básicos de ingeniería de software desde un punto de vista gerencial, transversal al desarrollo en sí, así como también de la automatización de procesos de desarrollo de software.
|
VI - Contenidos |
---|
CONTENIDOS MÍNIMOS:
El proceso de software: Ciclos de vida, herramientas. Ingeniería de requerimientos, introducción a los métodos formales. Análisis, diseño, implementación, verificación, validación y mantenimiento de software. Gestión de proyectos: Planificación, métricas, estimaciones, análisis y gestión del riesgo. Conceptos de calidad de software. PROGRAMA: Unidad I Ingeniería de Software. Principios. Modelos. Software. Conceptos. Evolución del software. Características del software. Ciclos de vida. Modelos de procesos de producción de software. Producto. Proceso, metodologías y herramientas. Evolución de las metodologías de desarrollo de sistemas de software. Ingeniería de la Información. Unidad II Modelos en UML. Introducción. Modelos. Importancia de los modelos. Modelos estáticos. Clases: atributos, operaciones y responsabilidades. Relaciones: dependencia, generalización y asociación. Modelos dinámicos. Diagrama de Interacción: Secuencia y Colaboración. Modelo de Casos de Usos. Unidad III Proceso de Desarrollo. Análisis, diseño, implementación, pruebas y mantenimiento de software. Ingeniería de Requerimientos. Metodologías Ágiles. Conceptos. Principios. Ventajas y desventajas de las metodologías ágiles. Unidad IV Calidad del Software. Conceptos. Control. Verificación, Validación. Pruebas de errores del software. Medidas de fiabilidad y disponibilidad. Unidad V Métodos Formales. Conceptos básicos. Deficiencias de los enfoques menos formales. Las matemáticas en el desarrollo de software. Notación matemática para la especificación formal. Unidad VI Gestión de proyectos. Medidas, métricas e indicadores. Estimaciones. Análisis y Gestión del Riesgo. Planificación. |
VII - Plan de Trabajos Prácticos |
---|
Para cada unidad se deja disponible el material correspondiente a los contenidos de la unidad, las diapositivas de clase, el apunte teórico y su correspondiente trabajo práctico en el repositorio digital.
Laboratorio 1: Modelado Estático con UML. Ingeniería Directa e Ingeniería Inversa con Java. Laboratorio 2: Modelado Dinámico con UML. Ingeniería Directa e Ingeniería Inversa con Java. Laboratorio 3: Utilización de Herramientas que soportan la Gestión. Herramientas automáticas de estimación. Práctico 1: La Ingeniería de Software y los modelos de ciclo de vida del software. Práctico 2: Pruebas Estructural. Práctico 3: Pruebas Funcional. |
VIII - Regimen de Aprobación |
---|
La materia se desarrolla con la modalidad de promoción sin examen final.
Existen dos niveles: a) Regularización: Para regularizar la materia se deberá: 1.- Tener como mínimo un 70% de asistencia a clases. 2.- Aprobar dos evaluaciones parciales o sus respectivas recuperaciones con una nota mayor o igual a 6 (seis). Cada evaluación parcial posee dos recuperaciones. En caso de no aprobar una evaluación parcial, deberá aprobar alguno de sus recuperatorios con nota mayor o igual a 6 (seis). b) Promoción sin examen final: Para regularizar y aprobar la materia se deberá: 1.- Tener como mínimo un 80% de asistencia a clases. 2.- Aprobar dos evaluaciones parciales o sus respectivas recuperaciones con una nota mayor o igual a 7 (siete). Cada evaluación parcial posee dos recuperaciones. En caso de no aprobar una evaluación parcial, deberá aprobar alguno de sus recuperatorios con nota mayor o igual a 7 (siete). 3.- Aprobar una prueba final integradora con una nota mayor o igual a 7 (siete). Aquellos estudiantes que sólo regularicen la materia deberán rendir un examen final, en los turnos establecidos. La asignatura puede rendirse libre. |
IX - Bibliografía Básica |
---|
[1] Pressman, Roger; "Ingeniería del Software - Un enfoque práctico",
[2] Mc Graw Hill, 6ta Edición. 2006. [3] Booch, Rumbaugh, Jacobson. "The Unified Modeling Language User Guide, 2nd Edition". Addison-Wesley, 2005 [4] Booch, Rumbaugh, Jacobson. "The Unified Modeling Language Reference Manual, 2nd Edition". Addison-Wesley, 2005. [5] J. O’ Brien & G. Marakas, "Introduction to Information Systems", 15th edition. [6] Sommerville, Ian; “Software Engineering”, Addison-Wesley, 7ma Edición. 2005. [7] Pankaj Jalote; "An Integrated Approach to Software Engineering, 3ra edición". Springer. 2005. [8] Jorgensen, Paul C.; "Software Testing, a Craftsman’s Approach", CRC Press, 1995. [9] Ghezzi, Carlo y otros "Fundamentals of Software Engineering", Prentice Hall, 1991 [10] Martín Fowler, The New Methodology, http://www.martinfowler.com/articles/newMethodology.html [11] Kent Beck, "Extreme Programming Explained", 1ra edición, 1999. [12] Scott Ambler, "Agile Modeling: Effective practices for Extreme Programming and the Unified Process", John Wiley & Sons, 2002. [13] CTR, “Information Systems Strategic Planning”, Computer Technology Research Corp., 4th Edition, 1994 [14] Daniel Jackson; “Software Abstractions”, The MIT Press, 2012. [15] Apuntes de la Cátedra. |
X - Bibliografia Complementaria |
---|
[1] Booch, Grady. Object-Oriented analysis and design with applications. The Benjamin/Cummings Publishing Company Inc. 1994.
[2] Stephen Schach. "Ingeniería de Sofware Clásica y Orientada a Objetos, 6ta ed.", Mc Graw Hill, 2005. [3] Beck, Kent. Test-driven development by example. Pearson Education, 2003. [4] Martin, James, "Information Engineering", Prentice Hall, 1991. [5] Hammer M., Champy, J. “Reingeniería”, Norma, 1993. [6] Fenton, N.E., Pfleeger, S.L., Software Metrics: a Rigorous and Practical Approach, 2nd Ed., PWS Publishing Company,1997. [7] Arthur, Lowell Jay, “Rapid Evolutionary Development”, Wiley, 1992. [8] Scott Ambler, "Agile Modeling and the Unified Process", http://www.agilemodeling.com/essays/agileModelingRUP.htm, 2002. [9] Pekka Abrahamsson, Outi Salo, Jussi Ronkainen & Juhani Warsta, "Agile Software Development Methods: Review and Analysis", VTT, 2002. [10] "Extreme Programming: A gentle introduction", http://www.extremeprogramming.org/ |
XI - Resumen de Objetivos |
---|
Asimilar los conceptos de procesos de desarrollo de software, desde su especificación, análisis, diseño hasta su verificación y validación, incorporando conceptos de gestión de proyectos.
|
XII - Resumen del Programa |
---|
Introducción a la Ingeniería de Software. Métodos Formales. Gestión de Proyectos de Software. Modelos en UML. Procesos de Desarrollo. Análisis y Gestión del Riesgo. Calidad del Software.
|
XIII - Imprevistos |
---|
|
XIV - Otros |
---|
|