proyecto de ingeniería de software 2010 proceso

57
Proyecto de Ingeniería de Software 2010 Proceso Grupo 8 Directora: Leticia Pérez Facultad de Ingeniería

Upload: armani

Post on 14-Feb-2016

53 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Proyecto de Ingeniería de Software 2010 Proceso

Proyecto de Ingeniería de Software 2010

Proceso

Grupo 8Directora: Leticia Pérez Facultad de

Ingeniería

Page 2: Proyecto de Ingeniería de Software 2010 Proceso

2

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

Agenda Evaluación

• Equipo• Modelo de Proceso• Cliente• Director

Page 3: Proyecto de Ingeniería de Software 2010 Proceso

3

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

Page 4: Proyecto de Ingeniería de Software 2010 Proceso

4

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.

Page 5: Proyecto de Ingeniería de Software 2010 Proceso

5

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

Page 6: Proyecto de Ingeniería de Software 2010 Proceso

6

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

Page 7: Proyecto de Ingeniería de Software 2010 Proceso

7

RequerimientosMetodologí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

Page 8: Proyecto de Ingeniería de Software 2010 Proceso

8

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

Page 9: Proyecto de Ingeniería de Software 2010 Proceso

9

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

Page 10: Proyecto de Ingeniería de Software 2010 Proceso

10

Diseño

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

Metodología:

La visión y cooperación de las 3 áreas ayudó a diseñar mejor

Page 11: Proyecto de Ingeniería de Software 2010 Proceso

11

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

Page 12: Proyecto de Ingeniería de Software 2010 Proceso

12

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

Page 13: Proyecto de Ingeniería de Software 2010 Proceso

13

Implementación

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

Metodología:

Page 14: Proyecto de Ingeniería de Software 2010 Proceso

14

ImplementaciónMetodologí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

Page 15: Proyecto de Ingeniería de Software 2010 Proceso

15

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

Page 16: Proyecto de Ingeniería de Software 2010 Proceso

16

Verificación

Actividades:

Pruebas Unitarias Pruebas de Integración Pruebas del sistema Pruebas de Stress

• 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

Herramientas:

Page 17: Proyecto de Ingeniería de Software 2010 Proceso

17

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

Page 18: Proyecto de Ingeniería de Software 2010 Proceso

18

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

Page 19: Proyecto de Ingeniería de Software 2010 Proceso

19

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

Page 20: Proyecto de Ingeniería de Software 2010 Proceso

20

Gestión de Calidad

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

Actividades:

Page 21: Proyecto de Ingeniería de Software 2010 Proceso

21

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

Page 22: Proyecto de Ingeniería de Software 2010 Proceso

22

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

Page 23: Proyecto de Ingeniería de Software 2010 Proceso

23

Gestión de la Configuración

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

Actividades:

Page 24: Proyecto de Ingeniería de Software 2010 Proceso

24

Gestión de la Configuración

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

Actividades (cont.):

Repositorio Tortoise SVN Espacio brindado por Assembla

Herramientas:

Page 25: Proyecto de Ingeniería de Software 2010 Proceso

25

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

Page 26: Proyecto de Ingeniería de Software 2010 Proceso

26

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

Page 27: Proyecto de Ingeniería de Software 2010 Proceso

27

Gestión de Proyecto

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

Actividades:

Page 28: Proyecto de Ingeniería de Software 2010 Proceso

28

Gestión de Proyecto

Seman

a 1

Seman

a 2

Seman

a 3

Seman

a 4

Seman

a 5

Seman

a 6

Seman

a 7

Seman

a 8

Seman

a 9

Seman

a 10

Seman

a 11

Seman

a 12

Seman

a 13

Seman

a 14

0

100

200

300

400

220269

217

355

208 226 197230 257 248

297 285348

295Horas dedicadas por semana

Total horas proyecto : 3652 hsPromedio equipo por sem: 261 hs

Promedio integrante por sem: 20.1 hs

Page 29: Proyecto de Ingeniería de Software 2010 Proceso

29

Gestión de Proyecto

Inicial Elaboración Construcción Transición0

500

1000

1500 1061 861

1435

295

Horas dedicadas por fase

Promedio equipo por fase: 913hsPromedio integrante por fase: 70.2 hs

Page 30: Proyecto de Ingeniería de Software 2010 Proceso

30

Gestión de Proyecto

LOC’s

Líneas en blanco Comentarios Autogeneradas Total LOC's0

2000

4000

6000

8000

10000

12000

1170

2628

3897

11810

Herramienta utilizada: NDepend

Page 31: Proyecto de Ingeniería de Software 2010 Proceso

31

Gestión de ProyectoEstimaciones vs Reales

Horas LOC's0

2000

4000

6000

8000

10000

12000

3500

10000

3652

11810

EstimadoRealizado

Page 32: Proyecto de Ingeniería de Software 2010 Proceso

32

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

Page 33: Proyecto de Ingeniería de Software 2010 Proceso

33

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 34: Proyecto de Ingeniería de Software 2010 Proceso

34

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 35: Proyecto de Ingeniería de Software 2010 Proceso

35

Distribución temporal

Fase Inicial4 semanas

Fase Elaboración4 semanas

Fase Construcción

4 semanas

Fase Transición2 semanas

Realizado

Propuesto

Fase Inicial4 semanas

Fase Elaboración4 semanas

Fase Construcción5 semanas

Fase Transición1 semana

Page 36: Proyecto de Ingeniería de Software 2010 Proceso

36

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 37: Proyecto de Ingeniería de Software 2010 Proceso

37

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

Page 38: Proyecto de Ingeniería de Software 2010 Proceso

38

Fase Inicial

Semana 1 Semana 2 Semana 3 Semana 40

20

40

60

80

100

120

Análisis/RequerimientosDiseñoImplementaciónGestión de CalidadGestión de SCMGestión de ProyectoVerificación ComunicaciónTrans al ent de usuario

Horas por Disciplina

Page 39: Proyecto de Ingeniería de Software 2010 Proceso

39

Fase Inicial

Semana 1 Semana 2 Semana 3 Semana 40

10

20

30

40

50

60

70

80

90

AdministradorDoc de usuarioAnalista - ImplementadorResp SQAResp Intefaz para usuarioResp VerificaciónArquitectoEspecialista técnicoResp SCM

Horas por Rol

Page 40: Proyecto de Ingeniería de Software 2010 Proceso

40

Fase Inicial

Semana 1 Semana 2 Semana 3 Semana 40

5

10

15

20

25

30

35

40Pablo GarcíaMauricio CarbajalMartín MochettiJuan Pablo PerataJorge LabordeMontserrat LópezCecilia BrownPatricia MartínezMatías GalnaresGonzalo ParenteMartín RodríguezNicolás EscobarFrancisco Polti

Horas por IntegranteTotal : 1060 hs

Prom sem: 20.4 hs

Page 41: Proyecto de Ingeniería de Software 2010 Proceso

41

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 42: Proyecto de Ingeniería de Software 2010 Proceso

42

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

Page 43: Proyecto de Ingeniería de Software 2010 Proceso

43

Fase de Elaboración

Semana 5 Semana 6 Semana 7 Semana 80

20

40

60

80

100

120

140

160

Análisis/RequerimientosDiseñoImplementaciónGestión de CalidadGestión de SCMGestión de ProyectoVerificación ComunicaciónTrans al ent de usuario

Horas por Disciplina

Page 44: Proyecto de Ingeniería de Software 2010 Proceso

44Semana 5 Semana 6 Semana 7 Semana 8

0

10

20

30

40

50

60

70

80

90

AdministradorDoc de usuarioAnalista - ImplementadorResp SQAResp Intefaz para usuarioResp VerificaciónArquitectoEspecialista técnicoResp SCM

Fase de ElaboraciónHoras por Rol

Page 45: Proyecto de Ingeniería de Software 2010 Proceso

45

Fase de Elaboración

Semana 5 Semana 6 Semana 7 Semana 80

5

10

15

20

25

30

35

40Pablo GarcíaMauricio CarbajalMartín MochettiJuan Pablo PerataJorge LabordeMontserrat LópezCecilia BrownPatricia MartínezMatías GalnaresGonzalo ParenteMartín RodríguezNicolás EscobarFrancisco Polti

Horas por IntegranteTotal : 860 hs

Prom sem: 16.5 hs

Page 46: Proyecto de Ingeniería de Software 2010 Proceso

46

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 47: Proyecto de Ingeniería de Software 2010 Proceso

47

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

Page 48: Proyecto de Ingeniería de Software 2010 Proceso

48

Fase de Construcción

Semana 9

Semana 10

Semana 11

Semana 12

Semana 13

0

50

100

150

200

250

300

Análisis/RequerimientosDiseñoImplementaciónGestión de CalidadGestión de SCMGestión de ProyectoVerificación ComunicaciónTrans al ent de usuario

Horas por Disciplina

Page 49: Proyecto de Ingeniería de Software 2010 Proceso

49

Semana 9

Semana 10

Semana 11

Semana 12

Semana 13

0

5

10

15

20

25

30

35

40

AdministradorDoc de usuarioAnalista - ImplementadorResp SQAResp Intefaz para usuarioResp VerificaciónArquitectoEspecialista técnicoResp SCM

Horas por Rol

Fase de Construcción

Page 50: Proyecto de Ingeniería de Software 2010 Proceso

50

Fase de Construcción

Semana 9 Semana 10 Semana 11 Semana 12 Semana 130

5

10

15

20

25

30

35

40

45Pablo GarcíaMauricio CarbajalMartín MochettiJuan Pablo PerataJorge LabordeMontserrat LópezCecilia BrownPatricia MartínezMatías GalnaresGonzalo ParenteMartín RodríguezNicolás EscobarFrancisco Polti

Horas por IntegranteTotal : 1434hs

Prom sem: 22 hs

Page 51: Proyecto de Ingeniería de Software 2010 Proceso

51

Fases Distribución temporal Fase Inicial Fase de Elaboración Fase de Construcción Fase de Transición

Page 52: Proyecto de Ingeniería de Software 2010 Proceso

52

Fase de Transición Duración

• 1 semanas

• Logros• Instalación en la empresa• Documentación de usuario y técnica completa• Satisfacción del cliente

• Errores• Comunicación menos organizada• Ambiente acordado no disponible• Atrasos en la validación final

Page 53: Proyecto de Ingeniería de Software 2010 Proceso

53

Fase de Transición

Semana 140

10

20

30

40

50

60

70

Análisis/RequerimientosDiseñoImplementaciónGestión de CalidadGestión de SCMGestión de ProyectoVerificación ComunicaciónTrans al ent de usuario

Horas por Disciplina

Page 54: Proyecto de Ingeniería de Software 2010 Proceso

54Semana 14

0

5

10

15

20

25

30

35

40

45

AdministradorDoc de usuarioAnalista - ImplementadorResp SQAResp Intefaz para usuarioResp VerificaciónArquitectoEspecialista técnicoResp SCM

Horas por Rol

Fase de Transición

Page 55: Proyecto de Ingeniería de Software 2010 Proceso

55

Fase de Transición

Semana 140

5

10

15

20

25

30

35

40 Pablo GarcíaMauricio CarbajalMartín MochettiJuan Pablo PerataJorge LabordeMontserrat LópezCecilia BrownPatricia MartínezMatías GalnaresGonzalo ParenteMartín RodríguezNicolás EscobarFrancisco Polti

Horas por IntegranteTotal : 295hs

Prom sem: 22,7 hs

Page 56: Proyecto de Ingeniería de Software 2010 Proceso

56

Evaluación Equipo

• Primeras semanas un poco desorientados• Integrantes muy responsables• Muy buena integración, algunas áreas menos homogéneas• Muy enriquecedor haber compartido esta experiencia juntos

Modelo de Proceso• Aceptable y Completo

Cliente• Trato cordial, respetuoso y con confianza• Experiencia en desarrollo de software• Buena predisposición, alta disponibilidad• Muy exigente

Director• 100% de la confianza depositada en nosotros• Muy optimista, siempre alentando al equipo, gran apoyo

Page 57: Proyecto de Ingeniería de Software 2010 Proceso

57

Preguntas