GUÍA INGENIERÍA DE SOFTWARE I GUIA DE ESTUDIO I. IDENTIFICACIÓN DE LA ASIGNATURA Sigla : SIS-250 Nombre de la Asignatura : Ingeniería de software I Horas Académicas : 80 Horas Prerrequisitos : Sistema de información Carrera : Ingeniería de sistema II. OBJETIVOS DE LA ASIGNATURA Los estudiantes de octavo semestre de la facultad de ciencias tecnológicas, con conocimientos de Sistema de información, Gestionen proyectos de ingeniería de software, con ayuda de procesos metodológicos, métodos, herramientas y estándares de desarrollo. III. PLAN TEMÁTICO Para lograr el objetivo general de la materia, el contenido está estructurado en cinco temas, que son los siguientes: TEMA Tema 1: el producto y el proceso. CONTENIDO DE LA MATERIA La evolución del software La importancia del software Características del software Componentes del software Aplicaciones del Software Mitos del Software El proceso del software Estrategias de desarrollo software Tecnología de procesos Gestión de proyectos software: El personal, problema, El proceso, Proyecto. de de El El Horas Teóricas Horas Prácticas # de Clases 10 2 1-4 Tema2 métricas del software, planificación y estimaciones para proyectos de software. Medidas, métricas e 10 indicadores Métricas para el proceso del software Métricas para el software Métricas para la calidad del software Integración de las métricas Objetivos de la planificación del proyecto Ámbito del software Recursos para el desarrollo de software Estimación de proyectos de software Modelo empíricos COCOMO La decisión de comprar desarrollar 2 5-7 Tema-3 Gestión del riesgo, planificación temporal y seguimiento del proyecto Estrategias de riesgo proactivas reactivas Riesgo del software Identificación del riesgo Proyección del impacto del riesgo Reducción, Supervisión y gestión del riesgo RSGR El Plan de RSGR Relación Personas – esfuerzo Definición de tareas para el proyecto de software Selección de tareas de Ingeniería de software Definición de red de tareas Planificación temporal El plan de proyecto de software SPMP 10 6 8-10 Tema-4 Ingeniería de software orientado a objeto Estrategias de riesgo proactivas reactivas Riesgo del software Identificación del riesgo Proyección del impacto del riesgo Reducción, Supervisión y gestión del riesgo RSGR 15 10 11-13 El Plan de RSGR Relación Personas – esfuerzo Definición de tareas para el proyecto de software Selección de tareas de Ingeniería de software Definición de red de tareas Planificación temporal El plan de proyecto de software SPMP Tema-5 calidad en el software Calidad del software Indicadores de la calidad del software Métricas de la calidad del software Que es un estándar Porque es necesario la utilización de estándares Que es un plan de garantía de calidad Las normas ISO Las normas IEEE Ingeniería WEB Reingeniería Tecnologías de desarrollo usadas para la Web Arquitectura Web 15 14-20 IV. PLANIFICACIÓN DE ACTIVIDADES Encuentro Unidad 1 1 2 3 4 1 1 1 2 5 6 2 2 7 2 8 2 9 Actividad Presentación personal Planificación de la materia Revisión de conceptos Resolución de preguntas Revisión de conceptos Resolución de preguntas Análisis de casos prácticos Revisión de conceptos Resolución de preguntas Análisis de casos prácticos Revisión de conceptos Resolución de preguntas Análisis de casos prácticos Revisión de los conceptos de la unidad 2 Presentación de trabajo de fin de módulo Revisión de conceptos Resolución de preguntas Análisis de casos prácticos Avance en clases del contenido de la unidad 2 Orientaciones para el próximo encuentro Lectura del material sugerido para la unidad 1. Resolución de actividades de aprendizaje de la unidad 1. Lectura del material sugerido para la unidad 1. Resolución de actividades de aprendizaje de la unidad 1. Lectura del material sugerido para la unidad 1. Resolución de actividades de aprendizaje de la unidad 1. Lectura del material sugerido para la unidad 2. Resolución de actividades de aprendizaje de la unidad 1. Lectura del material sugerido para la unidad 2. Lectura del material sugerido para la unidad 2. Lectura del material sugerido para la unidad 2. Resolución de actividades de aprendizaje de la unidad 2. Lectura del material sugerido para la unidad 2. Desarrollo del trabajo de Fase investigativa, propositiva y de módulo ejecución. Gran parte del trabajo se realizará bajo la atenta supervisión del docente. 1er. Evaluación parcial 10 Resolución del examen parcial Revisión de conceptos 11 3 12 3 13 3 14 4 16 4 17 5 18 20 Revisión de conceptos Lectura del material sugerido para la Resolución de preguntas unidad 3. Análisis de casos prácticos Fase investigativa, propositiva y de Revisión de conceptos ejecución. Gran parte del trabajo se Resolución de preguntas realizará bajo la atenta supervisión del docente. Revisión de conceptos Lectura del material sugerido para la Resolución de preguntas unidad 4. Análisis de casos Resolución de actividades de prácticos aprendizaje de la unidad 4. Segunda prueba parcial 15 19 Lectura del material sugerido para la unidad 3. 5 Fase investigativa, propositiva y de Desarrollo del trabajo de ejecución. Gran parte del trabajo se fin de módulo realizará bajo la atenta supervisión del docente. Revisión de conceptos Lectura del material sugerido para la Resolución de preguntas unidad 4. Análisis de casos Resolución de actividades de prácticos aprendizaje de la unidad 5. Revisión de conceptos Fase investigativa, propositiva y de Resolución de preguntas ejecución. Gran parte del trabajo se Análisis de casos realizará bajo la atenta supervisión del prácticos docente. Presentación de trabajo de fin de módulo. Evaluación Final V. ORIENTACIONES PARA LA ORGANIZACIÓN DEL TRABAJO DE APRENDIZAJE DURANTE EL DESARROLLO DE LA MATERIA A continuación se presentan algunas normas básicas de comportamiento y recomendaciones, a tomar en cuenta: a) El proceso de aprendizaje durante toda la materia es “integral”.La misión de la UTEPSA es “lograr que cada estudiante desarrolle una experiencia académica de calidad, excelencia, con valores, responsabilidad social, innovación, competitividad, y habilidades emprendedoras”. Por esto no te sorprendas si además de ser evaluado en contenidos propios de la materia, el docente evalúa también aspectos como puntualidad, pro actividad, ortografía, etc. Nunca pierdas de vista que lo se te exige es por tu propio beneficio. b) Asistencia y puntualidad.Asistir a clases y hacerlo de manera puntual, es una manera de demostrar que somos responsables: Tu asistencia es importante en TODAS las clases. Por si surgiera un caso de fuerza mayor, en el reglamento de la Universidad se contemplan tres faltas por módulo (Art. 13 Inc. B y C del Reglamento Estudiantil UPTESA). Si sobrepasas esta cantidad de faltas PERDERAS EL DERECHO A TOMAR LA EVALUACIÓN FINAL de la materia. Se considera “asistencia” estar al inicio, durante y al final de la clase. Esfuérzate por estar en la clase a la hora de inicio. Se dará un margen de 10 minutos de tolerancia. después de estos, podrás entrar tan pronto como el docente considere que tu ingreso no será una distracción para la clase o después de la hora de descanso, de esta manera no perjudicaremos el avance de la clase distrayendo a los compañeros. Si te retiras de la clase antes de que esta termine, tampoco registraras asistencia completa. Ten especial cuidado con la asistencia y la puntualidad los días de evaluación. Normalmente la fecha de pruebas, es comunicada con varios días de antelación, esto te permite programarlos como ocasiones a las que tienes que darles una espacial atención. Si confirmas la materia el 2do o 3er día de clases, ya tienes acumuladas automáticamente las faltas de los días que no has asistido. Favor tómalo en cuenta. c) Comportamiento en clases. Los estudiantes y los docentes, evitamos beber y comer en el aula. De ninguna manera podemos fumar dentro de esta. A fin de evitar interrupciones, los celulares se apagarán al entrar al aula o se pondrán en modo silencioso para atender llamadas o mensajes SOLO en caso de emergencia. VI. Cualquier falta de respeto a los compañeros, al docente, al personal de apoyo o al personal administrativo, será severamente sancionada de acuerdo al reglamento de la Universidad. En todo caso confiamos en que todos respetaremos las normas de conducta adecuadas. OBJETIVOS Y ACTIVIDADES DE CADA TEMA UNIDAD 1: A. Objetivos. Examinar detalladamente las características del producto y analizar la problemática del software en nuestro medio. Analizar y comprender detalladamente las características del proceso de desarrollo del software. B. Actividades de aprendizaje Clases magistral. Lectura del tema uno Preguntas de autocontrol ¿Qué es Ingeniería de software ¿Cuales son las capas de la ingeniería del software? ¿Cuáles son los mitos del software? ¿Qué es Producto? ¿Definir el proceso del software? ¿Qué es modelo de proceso de software, mencionar al menos 10 paradigmas? ¿Cuál es la diferencia entre producto y proceso? UNIDAD 2: A. Objetivos. Implementar los métodos de medición en un proyecto de software, para observar y analizar resultados de calidad y productividad. Analizar el proceso de estimaciones de: Duración, costo y esfuerzo requeridos para el proyecto de software. B. Actividades de aprendizaje 1. Realizar las siguientes métricas Ejercicio métricas punto función.LDC ESFUERZO (P-M) COSTO 18000 50 PROYECTO A 7000 P.DOC. 600 ERRORES DEFECTOS 89 22 PERSONAS 5 Proyecto A: El Proyecto de gestión de personal consta de 10 formularios para registro de datos al sistema, 7 mensajes de error y 15 reportes a contabilidad y 3 a inventario, el software necesita consulta al usuario si desea imprimir en 7 ocasiones, pregunta si desea procesar la planilla del mes, el sistema registra la entrada del personal a través de un lector de huellas digitales. Sus. 2. Estimaciones basadas en punto función. Esta estimación se centra en los valores de dominio de información, el planificador de proyecto estima las entradas, las salidas, interaccione, archivos, e interfaces externas. a. Estimación de los valores del dominio de información. Valor de dominio de información Nro. Entradas Nro. De salidas Nro. De peticiones Nro. De archivos Nro. Interfaces externas Optimi sta Mas probabl e Pesim ista Media pondera da FACTOR DE PONDERACION Simple Medio SUBTOTAL Complejo 20 20 5 25 22 10 28 25 12 24,7 22,2 9,5 3 4 3 4 5 4 6 7 6 32 35 40 35,3 7 10 15 0 0 0 0,0 5 7 10 98,7 110,8 28,5 353,3 0,0 CT 591,3 b. Valores de ajuste de complejidad 1. ¿Requiere el sistema copias de seguridad y de recuperación fiables? 5 2. ¿Requiere comunicación de datos? 5 3. ¿Existen funciones de procesamiento distribuido? 0 4. ¿Es crítico el rendimiento? 3 5. ¿Se ejecutará el sistema en un entorno operativo existente y fuertemente utilizado? 4 6. ¿Requiere entrada de datos interactiva? 3 7. ¿Requiere la entrada de datos interactiva que las transacciones de entrada se lleven a cabo sobre múltiples pantallas u operaciones? 3 8. ¿Se actualizan los archivos maestros de forma interactiva? 4 9. ¿Son complejas las entradas, las salidas, los archivos o las peticiones? 4 10. ¿Es complejo el procesamiento interno? 4 11. ¿Se ha diseñado el código para ser reutilizable? 4 12. ¿Están incluidas en el diseño la conversión y la instalación? 5 13. ¿Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes organizaciones? 5 14 ¿Se ha diseñado la aplicación para facilitar los cambios y para ser fácilmente utilizada por el usuario? 5 PF=CT*(0.65+0.01*Fi) PF=685.9 Fi 51 PF=591.3*(0.65+0.01*51) PF=591.3*(1.16) 3.- Media de productividad. Y esfuerzo según E. ldc Pm = 15.51 PF/E Em = PF/Pm=685.9/15.51=44 pm. Indicadores: D = 44/5 =8 meses P = 685.9/44=15 pf/e C = 80/685.9=8.57. Err/pf 3. Trabajos de investigación: 1) 2) 3) 4) ¿Cuáles son las métricas apropiadas para el proceso y para el producto? ¿Cómo se deben utilizar los datos que se recopilan? ¿Es bueno usar medidas para comparar gente, procesos o productos? ¿Para las métricas de punto de función describa los parámetros de medición? 5) ¿Si le dan la responsabilidad para la realización de las estimaciones de costo, tiempo y esfuerzo para un proyecto de software, cual seria el proceso que seguiría? 6) Hacer la aplicación Métricas orientadas al tamaño. Proyecto Esfuerzo $ KLDC Pago. doc. Errores Gente 4. Preguntas de autocontrol: 1. ¿. Para las métricas de punto de función describa los parámetros de medición? 2. ¿ En la gestión de proyectos a que se denomina las 4”p” (explique)? 3. ¿Describa la estrategia RAD? 4. ¿ Explicar la diferencia entre el COCOMO básico y el COMOMO II? 5. ¿ Explicar el método de estimación basado en LDC? 6. ¿ Bajo que criterios se debería decidir utilizar un determinada estrategia de desarrollo de 7. software? 8. ¿. Como sugiere el PUDS distribuir el esfuerzo y el tiempo en una planificación de un proyecto de software? 9. ¿Cuando y como se desarrollar un modelo de negocio y un modelo de dominio? UNIDAD 3: A. Objetivos. Analizar los riesgos que afectan al éxito de la planificación de un proyecto de software en cuanto a recursos disponibles : tiempo, presupuesto y recursos humanos. Establecer una línea base para el desarrollo de un proyecto de software en función a los recursos disponibles: tiempo, presupuesto y recursos humanos B. Actividades de aprendizaje 5. Ejercicios de aplicación: Realizar el Plan del Proyecto de software (SPMP) de su proyecto de la materia de Análisis y Diseño II. 6. Preguntas de autocontrol: 1. ¿Definición de riesgo? 2. ¿Identificar que tipo de riesgo existen? 3. ¿Cuál es el impacto del riesgo? 4. ¿A que se denomina gestión de riesgo? 5. ¿Cómo se hace la planificación? 6. ¿Cuáles son las tareas de la ingeniería del software? 7. ¿Definición de tarea? 8. ¿Qué es un plan de proyecto? UNIDAD 4: A. Objetivos. Comprender los conceptos técnicos, métodos y medidas aplicables al análisis, diseño y pruebas de software orientado a objetos. Aplicar la TOO en un proyecto de software B. Actividades de aprendizaje PREGUNTAS de AUTOCONTROL: 9. ¿Que es TOO? 10. ¿Definir conceptos y principios orientados a objetos? 11. ¿Diferencia entre clases, objetos y operaciones? 12. ¿Describir las métricas y estimaciones en proyecto OO? 13. ¿Definición de encapsulamiento, herencia y polimorfismos y realizar 2 ejemplos de cada uno? 14. ¿Cuáles son los principios del Análisis y del Diseño? 15. ¿Cuáles son los artefactos de UML que se utiliza en AOO y DOO? UNIDAD 5: A. Objetivos. Asegurar la calidad del software en términos de : cumplimiento con los requisitos, concordancia con los métodos de desarrollo y añadir características profesionales. Conocer los estándares ISO y IEEE. B. Actividades de aprendizaje 7. Preguntas de Autocontrol a. ¿Definición de calidad del software? b. ¿Mencionar algunos Indicadores de la calidad del software? c. ¿A que se denomina fiabilidad del software? d. ¿Que es un estándar? e. ¿Porque es necesario la utilización de estándares? f. ¿Que es un plan de garantía de calidad? g. ¿Describa Las normas ISO 9001 - 2000? h. ¿Qué son Las normas IEEE? i. ¿Definición de Ingeniería WEB? j. ¿Qué es Reingeniería y que es Ingeniería inversa? k. ¿Describa 4 ejemplos de aplicaciones desarrollados en Web, y cuales son sus características VII. SISTEMA DE EVALUACIÓN DE APRENDIZAJE DE LA ASIGNATURA El sistema de evaluación se describe a continuación: NUM. 1 2 3 4 TIPO DE EVALUACIÓN 1er parcial 2do parcial Examen final Trabajo final OBJETIVOS A EVALUAR Temas uno y dos Temas cuatro y cinco Todo lo avanzado PUNTOS CLASE 20 20 40 20 10 15 20 19 Descripción de las características generales de las evaluaciones 1er. parcial 2do. Prueba Evaluación final Trabajos prácticos VIII. Temas uno y dos Temas cuatro y cinco Todo lo avanzado Trabajo en clases y proyectos de investigación BIBLIOGRAFÍA RECOMENDADA BÁSICA Roger S. Pressman, “Ingeniería de Software: Un enfoque práctico” Eric J. Braude, “Ingeniería de Software: Una perspectiva orientada a objetos” Ian Sommerville, “Ingeniería de Software” 6ta edición Jacobson, Booch, Rumbaugh, “El Lenguaje Unificado de Modelado” Jacobson, Booch, Rumbaugh, “El Procesos Unificado de Desarrollo de Software” IEEE, 1999,”Colección de estándares dela ingeniería de software” Charles H. Schmauch, “Iso 9001- 2000 : for sofware Developers” COMPLEMENTARIA James A. Senn “Análisis y Diseño de Sistemas de Información” Kendall, Kendall, “UML gota a gota” Larman, Craig, “UML y PATRONES” 2da. Edición IX. GUÍA PARA EL PROYECTO FINAL 8. OBJETIVOS DEL TRABAJO FINAL: Gestión para proyectos de ingeniería de software 9. ESTRUCTURA DEL TRABAJO FINAL: Índice de figuras Resumen Introducción Aspectos generales Capitulo 1. Antecedentes 1. Antecedentes 1.1. Justificación 1.2. Definición del problema 1.2.1. Situación problemática 1.2.2. Situación deseada 1.3. Objetivos 1.3.1. Objetivo general 1.3.2. Objetivos específicos 1.4. Propuesta 1.5. Metodología 2. gestión del proyecto Estructura del equipo Estimaciones Gestión de riesgo Planificación temporal 3 desarrollo de los artefactos del proyecto X. MATERIAL COMPLEMENTARIO O DE APOYO Paginas web.: http://www.automatedqa.com/products/tc.asp, Test Complete – Automated Software Testing Tool www.vico.org www.omg.org www-306.ibm.com/software/rational.