570 likes | 745 Views
Proyecto de Ingeniería de Software 2010 Proceso. Grupo 8 Directora: Leticia Pérez. Facultad de Ingeniería. Agenda. Evaluación Equipo Modelo de Proceso Cliente Director. Introducción Presentación del Proyecto Líneas de trabajo Requerimientos Diseño Implementación
E N D
Proyecto de Ingeniería de Software 2010 Proceso Grupo 8 Directora: Leticia Pérez Facultad de Ingeniería
Agenda • Evaluación • Equipo • Modelo de Proceso • Cliente • Director • Introducción • Presentación del Proyecto • Líneas de trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto • Fases • Duración temporal • Inicial • Elaboración • Construcción • Transición
Introducción • Equipo: • 13 integrantes • Modelo de proceso: • MUM - Modularizado, Unificado y Medible • Producto: • Sistema de Gestión de Horas • Sistema de Gestión de Currículum Vitae • Tecnología: • .NET • Cliente: • Matías Bergengruen – Hexacta S.R.L. • Directora: • Leticia Pérez
Presentación del Proyecto • Diseño de un proceso de registro de horas • 3 macro funcionalidades: • Registro de horas • Presupuesto de proyectos • Base de datos del personal • Resultados esperados: • Proyecto metodológicamente bien organizado • Cumplir con las diferentes etapas de un proyecto de ingeniería de Software • Producto final con altos estándares de calidad • Usuario final: Hexacta S.R.L.
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Requerimientos Metodología: • 2 reuniones semanales durante la primer iteración • De ahí en adelante 1 reunión por semana • Apuntes para luego realizar actas de requerimientos • Requerimientos ordenados por prioridad, sirvió para definir el alcance
Requerimientos • Evaluación de Requerimientos: • Captamos principales intereses del cliente • Manejamos con cierta flexibilidad los cambios propuestos • Documentos con alto grado de especificación y calidad • Lecciones aprendidas: • Discernir entre requerimientos críticos y superficiales • El cliente presenta cambios de acuerdo a sus facilidades de uso • Importancia de la validación de los requerimientos
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Diseño Metodología: • Semana a semana • Adelantado una semana con respecto a implementación • Se retenía perfectamente el diseño ante una posibilidad de cambio • Involucrados: • Arquitecto – Martín Rodríguez • Responsable de especialistas técnicos – Juan Pablo Perata • Responsable de analistas – Cecilia Brown • La visión y cooperación de las 3 áreas ayudó a diseñar mejor
Diseño • Evaluación de Diseño: • Metodología ordenada desde un principio • Se completó diseño en fase de elaboración • Resultados muy buenos, consecuencia de Análisis exitoso • Alta calidad en los documentos de diseño • Lecciones aprendidas: • Es bueno contar con diferentes visiones a la hora de diseñar • Tener presente patrones de diseño y criterios GRASP • Importancia de la documentación de Diseño
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Implementación Metodología: • Investigación de tecnologías y Preparación de ambiente • Esfuerzo considerable, pero necesario • Reuniones periódicas para llevar a cabo la implementación • Ventajas • En caso de surgir dudas a un integrante, el apoyo es fundamental • Desventajas • Posible dispersión... No fue nuestro caso, grupo muy aplicado • Funcionalidades críticas implementadas en conjunto • Ventajas • Mayor prevención ante la introducción de errores • Todos los integrantes conocen la solución implementada • Desventajas • Pérdida de horas hombre
Implementación Metodología (cont.): • Luego de finalizar cada CU se realizaban pruebas unitarias • Ventajas • Reducción de errores en etapa de Verificación • Evaluación de Implementación: • Equipo de implementación lógica muy organizado, siempre adelantado • Alto grado de correctitud en lo implementado • Problemas con la interfaz gráfica, abordaje de nuevas tecnologías • Lecciones aprendidas: • Seguir fielmente la planificación realizada • Abordar cuanto antes las nuevas tecnologías
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Verificación Herramientas: • Visual Studio Team System • Mantis Bug Tracker para reportar incidentes de la aplicación • Open STA para automatización de pruebas • Fiddler2 para captura de tráfico HTTP Actividades: • Pruebas Unitarias • Pruebas de Integración • Pruebas del sistema • Pruebas de Stress
Verificación • Pruebas Unitarias • Capa lógica • Realizadas por el equipo de implementación lógica para cada liberación del producto • Interfaz gráfica • Menos formal, realizadas por el equipo de GUI • Pruebas de Integración • Realizadas por el equipo de GUI luego de integración • Pruebas del Sistema • Se generó un ambiente similar al de Hexacta • Testing • Planificado • Exploratorio basado en sesiones • Pruebas de Stress • Simulamos hasta 20 usuarios virtuales concurrentes
Verificación • Evaluación de Verificación: • Estricta verificación, resultados muy buenos. Cliente muy satisfecho • Metodología de manejo de incidentes muy organizada y eficaz • Otorgamos al cliente un usuario en Mantis • Lecciones aprendidas: • La verificación debe ser planificada con anterioridad • No se pueden descuidar errores de estética, ortografía, etc. • Verificar en mismo ambiente donde se utilizará el sistema • Importancia de documentación de Verificación para continuar el desarrollo por parte de la empresa
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Gestión de Calidad Actividades: • Elaborar Plan de Calidad • Identificar propiedades de calidad • Revisión de documentos críticos • Especificación de Requerimientos • Especificación de la Arquitectura • Modelos de Casos de Usos • Modelo de Diseño • Revisión técnica formal (RTF) • Estándares de Implementación HEXACTA • Estándar W3C para la Web • Validación de la Arquitectura – Estándar ATAM • Apoyo a otras líneas de trabajo • Verificación - calidad del software • Gestión de Proyecto - estimaciones
Gestión de Calidad • Evaluación de Gestión de Calidad: • Documentos entregados de muy alta calidad • Correcto apego al modelo de proceso • Sistema construido con altos estándares de calidad • Lecciones aprendidas: • Las RTF’s son necesarias, errar es humano • Evitar la famosa cascada de Mizuno
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Gestión de la Configuración Actividades: • Planificar la configuración de SCM • Organización sugerida por el proceso MUM • Definición de ambiente controlado • Definición de elementos de configuración • Nomenclatura bien definida • Seguimiento de la línea base • Semanal • Documentación de SCM • Descripción y notas de las versiones • Plan de SCM • Informe final de SCM
Gestión de la Configuración Actividades (cont.): • Control de cambios • Solicitud • Evaluación y análisis • Esfuerzo estimado vs satisfacción/necesidad del cliente • Imposible llevar a cabo todos los cambios • Aprobación o no • Comité de Control de Cambios toma la decisión • Implementación Herramientas: • Repositorio Tortoise SVN • Espacio brindado por Assembla
Gestión de la Configuración • Evaluación de SCM: • Se realizó una correcta gestión de la configuración • Se siguió de manera adecuada la planificación • Lecciones aprendidas: • Aprender a evaluar los cambios propuestos por el cliente • Versiones de respaldo organizadas • Aprender a trabajar con trunk, branches y tag
Líneas de Trabajo • Requerimientos • Diseño • Implementación • Verificación • Gestión de Calidad • Gestión de la Configuración • Gestión de Proyecto
Gestión de Proyecto Actividades: • Planificación del proyecto • Cliente sugiere armar el plan cuanto antes. Acatamos, gran consejo • Lenguaje común , Microsoft Project • Seguimiento del proyecto • Semanal, entregando la planificación actualizada al cliente • Gestión de riesgos • Buena organización desde el comienzo • Algunos riesgos no contemplados • Inconvenientes con el ambiente de Hexacta • Estimaciones y mediciones • Puntos de función • Juicio de expertos • Conversión de horas estimadas a LOC’s
Gestión de Proyecto Horas dedicadas por semana Total horas proyecto : 3652 hs Promedio equipo por sem: 261 hs Promedio integrante por sem: 20.1 hs
Gestión de Proyecto Horas dedicadas por fase Promedio equipo por fase: 913hs Promedio integrante por fase: 70.2 hs
Gestión de Proyecto LOC’s Herramienta utilizada: NDepend
Gestión de Proyecto Estimaciones vs Reales
Gestión de Proyecto • Evaluación de Gestión de Proyecto: • Documentos entregados de muy alta calidad • Buenas estimaciones • Planificación muy organizada • Seriedad y prolijidad • Lecciones aprendidas: • No se aprende a estimar sino estimando • Es bueno planificar en grupo • Tener una visión global del proyecto y del proceso • Incentivar a los integrantes para mejor funcionamiento
Fases • Distribución temporal • Fase Inicial • Fase de Elaboración • Fase de Construcción • Fase de Transición
Fases • Distribución temporal • Fase Inicial • Fase de Elaboración • Fase de Construcción • Fase de Transición
Distribución temporal Propuesto Realizado
Fases • Distribución temporal • Fase Inicial • Fase de Elaboración • Fase de Construcción • Fase de Transición
Fase Inicial • Duración • 4 semanas • Logros • Adaptación al proceso • Requerimientos • Maquetación de prototipo. Interfaz gráfica muy prolija • Alcance definido • Errores • No se especificaron algunas bajas y modificaciones • Atraso en la Validación de requerimientos • No formalizar el diseño del prototipo de riesgos técnicos
Fase Inicial Horas por Disciplina
Fase Inicial Horas por Rol
Fase Inicial Total : 1060 hs Prom sem: 20.4 hs Horas por Integrante
Fases • Distribución temporal • Fase Inicial • Fase de Elaboración • Fase de Construcción • Fase de Transición
Fase de Elaboración • Duración • 4 semanas • Logros • Estabilización de la Arquitectura • Diseño completo • Funcionalidades críticas implementadas • Planificación cumplida • Errores • Desconocer el esfuerzo requerido para interfaz gráfica • No investigar soluciones más eficientes. Pérdida de tiempo
Fase de Elaboración Horas por Disciplina
Fase de Elaboración Horas por Rol
Fase de Elaboración Total : 860 hs Prom sem: 16.5 hs Horas por Integrante
Fases • Distribución temporal • Fase Inicial • Fase de Elaboración • Fase de Construcción • Fase de Transición
Fase de Construcción • Duración • 5 semanas • Logros • Construcción completa del sistema • Aprendizajes de nuevas tecnologías • Planificación cumplida • Errores • Descuidar errores ortográficos • Corrección de errores en Trunk en vez de realizar branch versión de testing • No finalizar documentación técnica
Fase de Construcción Horas por Disciplina
Fase de Construcción Horas por Rol
Fase de Construcción Total : 1434hs Prom sem: 22 hs Horas por Integrante