1 ASIGNATURA: INGENIERÍA DE SOFTWARE I Código: 32 - 303 Régimen: Cuatrimestral Horas semanales: 4 horas Escuela: Sistemas 2011 FUNDAMENTOS: Alcanzados los objetivos de la asignatura ANALISIS Y DISEÑO ESTRUCTURADO DE SISTEMAS, se avanzará en la comprensión y utilización del proceso de modelar la realidad circundante por medio de Objetos. Este paradigma, provee metodologías y herramientas que permiten desarrollar comportamientos sistémicos bajo el principio de integrar hechos y reglas para formar objetos que deben interactuar por intermedio del pasaje de mensajes entre ellos. Esto conlleva modelizar la realidad circundante para ingresarla a la computadora, bajo una visión paradigmática diferente a la estructurada, pero que no obstante puede complementarse con ella. OBJETIVOS: Al finalizar el curso el alumno habrá obtenido las habilidades y conocimientos necesarios para encarar el diseño de sistemas por intermedio de la tecnología de orientación en objetos; formándolo en el uso y criterios de aplicación de las metodologías y herramientas de la disciplina. Asimismo, los objetivos de esta signatura cubren las necesidades para que el alumno alcance a: - Discernir tecnológicamente la conveniencia y utilidad de aplicar las metodologías y herramientas asociadas a la disciplina, capacitándose en la construcción de sistemas desde la visión del mundo circundante generada por objetos que interactúan y se comunican. -Realizar el análisis introductorio de la estructura y comportamiento de los objetos, su activación por estímulos (eventos) y su intercomunicación (mensajes). - Diseñar un sistema conformado por objetos que interactúan. - Desarrollar criterios de reconocimiento en sistemas de la orientación a objetos y la aplicación de los elementos metodológicos al diseño de los mismos. - Utilizar plataformas orientadas a objetos existentes, como componentes de sistemas de mayor magnitud. -Desarrollar procesos de pruebas, verificación y aceptación de sistemas desarrollados con tecnologías de objetos. - Estructurar la dirección de proyectos aplicando la tecnología de orientación a objetos. CONTENIDOS MÍNIMOS: El proceso de software. Ciclos de vida de software. 2 Herramientas para el proceso de software. DISEÑO ESTRUCTURADO Diseño Estructurado El Modelo de Datos en el Diseño El Modelo Arquitectónico El Modelo Tecnológico PROGRAMA ANALITICO: Unidad 1. Conceptos de software e ingeniería de software. Evolución del software. Características. Componentes. Definición de Ingeniería de Software. Evolución. Software de alta calidad. Ingeniería de Sistemas. Unidad 2. Procesos del Software. El significado de proceso. Modelos de proceso. Modelo de cascada. Iteración de procesos. Modelos incrementales. Modelos Evolutivos. Prototipación. Metodologías ágiles. Desarrollo basado en componentes. Métodos formales. Desarrollo orientado a aspectos. Proceso unificado. Actividades del Proceso. Especificación. Diseño. Implementación. Validación. Evolución. Herramientas y técnicas para modelado de procesos. Ingeniería de Software Asistida por computadora. Unidad 3. Modelos del Sistema. Modelo de contexto, de comportamiento, de datos, de objetos. Técnicas de especificación de requerimientos: estáticas, dinámicas, relacionales, orientadas a estados, formales. Tablas de Decisión, Diagramas de Transición de Estados, Redes de Petri. Casos de Uso, Diagramas de Flujos de Datos, Diagramas de Flujos de Control, UML. Prototipado de los requerimientos. Técnicas de construcción rápida. Unidad 4: DISEÑO ESTRUCTURADO. El paso del análisis al diseño. La óptica del análisis versus el diseño. Los fundamentos del diseño estructurado. El modelo de implantación. Distintas vistas de un mismo modelo. Los modelos tecnológicos, arquitectónico y de datos en el diseño; sus objetivos. Nuevas tendencias. Unidad 5: EL MODELO DE DATOS EN EL DISEÑO. Estudio de la dimensión: frecuencia, volumen y accesos a partir de la partición en eventos. Clasificación de eventos predominantes. Estadística para eventos predominantes aislados. Estudio de ocurrencia de eventos. Problemas a resolver. Estadística para concurrencias de eventos. El DER del análisis. El DER del diseño. Problemas de la normalización. El tiempo de respuesta. La modificación del DER a partir de la concurrencia de eventos. El DTE de entidades como apoyo para el modelo de datos. Unidad 6: EL MODELO ARQUITECTONICO. Estudio del modelo de implantación del usuario. El DTE en diseño para la construcción de 3 pantallas a partir de la lista de eventos del modelo esencial y las estadísticas de concurrencia de eventos del modelo de datos del diseño. La carta de estructura. Niveles. Los principios de acoplamiento y cohesión. Unidad 7: EL MODELO TECNOLOGICO. Diferencias entre el DFD preliminar del análisis y el DFD preliminar del diseño. Los procesadores automatizados y manuales; su determinación a partir del DFD preliminar del diseño. Las interfaces internas y externas. Procesos y tareas. DESCRIPCION DE LA ACTIVIDAD CURRICULAR: La duración del curso es de quince clases de cuatro horas (teóricas y/o prácticas), con una asistencia mínima del 75% y examen final de distinta intensidad dependiendo del rendimiento del alumno durante el curso. La parte teórica se desarrollará sobre la base de textos que los alumnos deberán leer previamente. La parte práctica consistirá en el desarrollo de ejercicios prácticos individuales y grupales para profundizar conceptos teóricos y servir de base para el desarrollo del trabajo práctico grupal, que consistirá en el planteamiento del análisis de un sistema que comenzará en esta materia y que se ampliará en el curso de la materia correlativa siguiente. EVALUACION: Durante la cursada se evaluará al alumno a través de: * Dos evaluaciones parciales teórico prácticas, de las cuales una es recuperable. * * * Carpeta de trabajos prácticos. Trabajo práctico grupal. Opinión formada por el docente. CRONOGRAMA Sem. Nro. Unid Tema 1 I Unidad 2 II I. Conceptos de software e ingeniería de software. Evolución del software. Características. Componentes. Definición de Ingeniería de Software. Evolución. Software de alta calidad. Ingeniería de Sistemas. Unidad II. Procesos del Software. El significado de proceso. Modelos de proceso. Modelo de cascada. Iteración de procesos. Modelos incrementales. Modelos Evolutivos. Prototipación. Metodologías ágiles. Desarrollo basado en componentes. Métodos formales. Desarrollo orientado a aspectos. Proceso unificado. Actividades del Proceso. Teoría Práctica Hs. Hs. 2:00 2:00 2:00 2:00 4 Especificación. Diseño. Implementación. Validación. Evolución. Herramientas y técnicas para modelado de procesos. Ingeniería de Software Asistida por computadora. Tema: Armado del Proyecto. Consultas. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Tema: Desarrollo del Proyecto. Control de avance. Consultas. 3 4 5 III Unidad III. Modelos del Sistema. 2:00 2:00 2:00 2:00 . 2:00 2:00 . 2:00 2:00 . 2:00 4:00 2:00 2:00 2:00 Modelo de contexto, de comportamiento, de datos, de objetos. Técnicas de especificación de requerimientos: estáticas, dinámicas, relacionales, orientadas a estados, formales. Tablas de Decisión, Diagramas de Transición de Estados, Redes de Petri. Casos de Uso, Diagramas de Flujos de Datos, Diagramas de Flujos de Control, UML. Prototipado de los requerimientos. Técnicas de construcción rápida. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Tema: Desarrollo del Proyecto. Control de avance. Consultas. 6 7 8 Parcial. IV 9 V Unidad 4: DISEÑO ESTRUCTURADO. El paso del análisis al diseño. La óptica del análisis versus el diseño. Los fundamentos del diseño estructurado. El modelo de implantación. Distintas vistas de un mismo modelo. Los modelos tecnológicos, arquitectónico y de datos en el diseño; sus objetivos. Nuevas tendencias. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Unidad 5: EL MODELO DE DATOS EN EL DISEÑO. Estudio de la dimensión: frecuencia, volumen y accesos a partir de la partición en eventos. Clasificación de eventos predominantes. Estadística para eventos predominantes aislados. Estudio de ocurrencia de eventos. Problemas a resolver. Estadística para concurrencias de eventos. El DER del análisis. El DER del diseño. Problemas de la normalización. El tiempo de respuesta. La modificación del DER a partir de la concurrencia de eventos. El DTE de entidades como apoyo para el modelo de datos. 5 10 VI 11 VII 12 13 14 Tema: Desarrollo del Proyecto. Control de avance. Consultas. Unidad 6: EL MODELO ARQUITECTONICO. Estudio del modelo de implantación del usuario. El DTE en diseño para la construcción de pantallas a partir de la lista de eventos del modelo esencial y las estadísticas de concurrencia de eventos del modelo de datos del diseño. La carta de estructura. Niveles. Los principios de acoplamiento y cohesión. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Unidad 7: EL MODELO TECNOLOGICO. Diferencias entre el DFD preliminar del análisis y el DFD preliminar del diseño. Los procesadores automatizados y manuales; su determinación a partir del DFD preliminar del diseño. Las interfaces internas y externas. Procesos y tareas. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Tema: Desarrollo del Proyecto. Control de avance. Consultas. Segundo Parcial. Teórico y Práctico. Entrega de notas. Entrega definitiva de TP’s. Defensa de TP’s. Recuperatorio. Firma de Libretas. Entrega definitiva de TP’s. Defensa de TP’s. 15 . 2:00 2:00 2:00 2:00 2:00 2:00 4:00 2:00 2:00 2:00 2:00 BIBLIOGRAFÍA: OBLIGATORIA: - Ingeniería de Software. 7ma Edición. Ian Sommerville. Pearson - Addison Wesley. 2005 Ingeniería de Software. Teoría y Práctica. Shari Pfleeger. Pearson Education. 2002. Ingeniería de Software. Un enfoque práctico. Roger Pressman. McGraw Hill. 2006. Sistemas de Información Administrativa. Murdick R. Prentice Hall. 1988 Análisis y Diseño de Sistemas. Kendall y Kendall. Pearson Education. 2005. Mary Beth Chrissis, Mike Konrad, Sandy Shrum, CMMI(R): Guidelines for Process Integration and Product Improvement (2nd Edition) [Hardcover], SEI Series in Software Engineering, Addison-Wesley, COMPLEMENTARIA o GENERAL