Facultad de Ingeniería Proyecto de Ingeniería de Software 2010 Grupo 4 Grupo 4 1.

47
Facultad de Facultad de Ingeniería Ingeniería Proyecto de Ingeniería de Software Proyecto de Ingeniería de Software 2010 2010 Grupo 4 Grupo 4 1

Transcript of Facultad de Ingeniería Proyecto de Ingeniería de Software 2010 Grupo 4 Grupo 4 1.

Facultad de Facultad de IngenieríaIngeniería

Proyecto de Ingeniería de Software Proyecto de Ingeniería de Software

20102010

Grupo 4Grupo 4

1

2

3

4

Inicial5 semanas9/8/10-12/9/10

Elaboración4 semanas6/9/10-3/10/10

Construcción5 semanas

4/10/10-7/11/10

Transición2 semanas

1/11/10-14/11/10

5

Logros:Logros:

Consolidación del equipo de trabajo.Consolidación del equipo de trabajo.

RRelevamiento de requerimientos.elevamiento de requerimientos.

Definición del alcance preliminar.Definición del alcance preliminar.

Construcción del Prototipo.Construcción del Prototipo.

6

Logros:Logros:

Diseño completo del sistema a nivel de Diseño completo del sistema a nivel de

Contratos de Contratos de

softwaresoftware

Relevamiento completo de los requerimientosRelevamiento completo de los requerimientos

Definición del alcance final Definición del alcance final

Desarrollo de principales funcionalidades.Desarrollo de principales funcionalidades.

7

Logros:Logros:

Desarrollo de todas las funcionalidades Desarrollo de todas las funcionalidades

acordadas en acordadas en

el alcance.el alcance.

• Elaboración de pruebas del sistema.Elaboración de pruebas del sistema.

• Liberación de versiones beta del producto.Liberación de versiones beta del producto.

8

Logros:Logros:

Ejecución de las pruebas del SistemaEjecución de las pruebas del Sistema

Desarrollo de la documentación asociada al Desarrollo de la documentación asociada al

productoproducto

Reuniones de prueba y aceptación con el Cliente Reuniones de prueba y aceptación con el Cliente

• Creación de Scripts de instalación y ejecución.Creación de Scripts de instalación y ejecución.

9

Fase InicialFase Inicial

El tramite de las licencias GeneXus tomó más de El tramite de las licencias GeneXus tomó más de

lo lo

pensado retrasando la construcción del pensado retrasando la construcción del

prototipo. Se prototipo. Se

comenzó a implementar usando la versión trial.comenzó a implementar usando la versión trial.

El cliente planteó nuevos requerimientos en la El cliente planteó nuevos requerimientos en la

reunión de aceptación del alcance, lo cual reunión de aceptación del alcance, lo cual

requirió requirió

prolongar una semana la fase para especificar prolongar una semana la fase para especificar

los los

nuevos requerimientos y validar el alcance.nuevos requerimientos y validar el alcance.

10

Fase de ElaboraciónFase de Elaboración

Las estimaciones de tamaño y esfuerzo en base a Las estimaciones de tamaño y esfuerzo en base a

GXPoints no resultaron ser de utilidad para GXPoints no resultaron ser de utilidad para

nuestro nuestro

producto. El juicio de expertos fue la principal producto. El juicio de expertos fue la principal

herramienta utilizada para evaluar la herramienta utilizada para evaluar la

factibilidad.factibilidad.

Los contratos y la implementación presentaban Los contratos y la implementación presentaban

grandes diferencias. Se modificaron los grandes diferencias. Se modificaron los

contratos y contratos y

se realizaron reuniones de equipo para lograr se realizaron reuniones de equipo para lograr

una una

visión común.visión común.

11

Fase de Construcción Fase de Construcción

Se dedicó gran parte de la fase a solucionar Se dedicó gran parte de la fase a solucionar

errores errores

del producto construido en fase de elaboración, del producto construido en fase de elaboración,

lo lo

cual retrasó la construcción del producto final. cual retrasó la construcción del producto final.

Se Se

decidió liberar una versión beta anticipada a fin decidió liberar una versión beta anticipada a fin

de de

validar parte del producto mientras el resto era validar parte del producto mientras el resto era

finalizado. finalizado.

También se prolongó una semana extra la faseTambién se prolongó una semana extra la fase

12

Fase de Transición Fase de Transición

Las pruebas de performance dieron resultados Las pruebas de performance dieron resultados

no no

aceptables. Se dispuso a todos los aceptables. Se dispuso a todos los

implementadores a implementadores a

mejorar la performance y al final de la fase se mejorar la performance y al final de la fase se

lograron valores satisfactorioslograron valores satisfactorios

13

14

Tamaños en GXPointsTamaños en GXPoints

Fase Inicial: 595,2Fase Inicial: 595,2

Fase Elaboración: 3051Fase Elaboración: 3051

Fase Construcción: 5736Fase Construcción: 5736

Fase Transición: 7314Fase Transición: 7314

15

Florencia BorghiniFlorencia Borghini

Diego BragaDiego Braga

David DacoliDavid Dacoli

Camilo DiazCamilo Diaz

Ignacio ElizondoIgnacio Elizondo

Oscar FabricioOscar Fabricio

Fabián FerreiraFabián Ferreira

Simón GonzálezSimón González

Sebastián MartínezSebastián Martínez

Juan MontesanoJuan Montesano

Agustín NinAgustín Nin

Gaston TelfeyanGaston Telfeyan

Juan ValsagiacomoJuan Valsagiacomo

Pablo YanieroPablo Yaniero

00 5050 100100 150150 200200 250250 300300 350350 400400

289289

301301

283.25283.25

234.5234.5

245.5245.5

375.5375.5

301301

358.85358.85

239.25239.25

316316

306306

220220

247247

300300

Total de HorasTotal de Horas

16

AnalistasAnalistas

Documentador de usuarioDocumentador de usuario

ArquitectoArquitecto

Coordinador de desarrolloCoordinador de desarrollo

ImplementadorImplementador

Responsable del NucleoResponsable del Nucleo

Responsable del consolidadoResponsable del consolidado

Espc. TécnicosEspc. Técnicos

Responsable de SQAResponsable de SQA

Responsable de SCMResponsable de SCM

Responsable de VerificaciónResponsable de Verificación

Asistente de VerificaciónAsistente de Verificación

AdministradorAdministrador

Responsable de ComunicaciónResponsable de Comunicación

00 1010 2020 3030 4040 5050 6060 7070 8080 9090 100100

46.246.2

6.26.2

12.412.4

11

96.696.6

00

0.80.8

19.519.5

21.321.3

12.212.2

26.826.8

21.521.5

21.521.5

0.70.7

Promedio por RolPromedio por Rol

17

Total Línea Análisis/Req.Total Línea Análisis/Req.

Total Línea DiseñoTotal Línea Diseño

Total Línea ImplementaciónTotal Línea Implementación

Total Línea Gestión de CalidadTotal Línea Gestión de Calidad

Total Línea Gestión de Configuración y Control de CambiosTotal Línea Gestión de Configuración y Control de Cambios

Total Línea Gestión de ProyectoTotal Línea Gestión de Proyecto

Total VerificaciónTotal Verificación

Total Línea ComunicaciónTotal Línea Comunicación

Total ImplantaciónTotal Implantación

Total Línea Formación y EntrenamientoTotal Línea Formación y Entrenamiento

00 1010 2020 3030 4040 5050 6060 7070 8080 9090

28.732142857142928.7321428571429

9.892857142857149.89285714285714

80.6180.61

18.232142857142918.2321428571429

8.042857142857148.04285714285714

65.87565.875

32.7532.75

5.267857142857145.26785714285714

5.428571428571435.42857142857143

32.089285714285732.0892857142857

Promedio por áreaPromedio por área

18

Comunicación centralizada vía mail a través del Comunicación centralizada vía mail a través del

AdministradorAdministrador

Flexibilidad para renegociar requerimientosFlexibilidad para renegociar requerimientos

Cliente técnicoCliente técnico

Buen ambiente de trabajo.Buen ambiente de trabajo.

Demoras en algunas contestaciones.Demoras en algunas contestaciones.

Escasa retroalimentación de versiones betaEscasa retroalimentación de versiones beta

19

Cliente: 3 personasCliente: 3 personas Opiniones distintas para algunos requerimientosOpiniones distintas para algunos requerimientos

2 reuniones semanales con el cliente: 2 reuniones semanales con el cliente: Disposición por parte del mismo para reuniones Disposición por parte del mismo para reuniones

propuestaspropuestas

Sistema complejo de entender:Sistema complejo de entender: Algunos requerimientos no especificados claramenteAlgunos requerimientos no especificados claramente

Requerimientos puntuales de Monitorización y BPMN noRequerimientos puntuales de Monitorización y BPMN no

especificadosespecificados

Agregado de los mismos a fines de la fase inicial, por Agregado de los mismos a fines de la fase inicial, por

lo que lo que

hubo que renegociar y priorizar requerimientoshubo que renegociar y priorizar requerimientos

20

Problema de generación de la aplicación web en Java Problema de generación de la aplicación web en Java

y y

ambientes de desarrollo con sistemas operativos de ambientes de desarrollo con sistemas operativos de

64 bits.64 bits.

Utilización de timers.Utilización de timers.

Implantación de base de datos y servidor web en Implantación de base de datos y servidor web en

distintos distintos

servidores.servidores.

21

Herramientas utilizadas:Herramientas utilizadas:

Pivotal Tracker (Reporte y Seguimiento de Bugs)Pivotal Tracker (Reporte y Seguimiento de Bugs)

Google Group (Reporte y Seguimiento de Bugs)Google Group (Reporte y Seguimiento de Bugs)

HeidiSQL (Estado de la base de datos)HeidiSQL (Estado de la base de datos)

GXTest (Automatización de pruebas)GXTest (Automatización de pruebas)

22

Pruebas Unitarias:Pruebas Unitarias:

Importante cantidad de casos de pruebaImportante cantidad de casos de prueba

Gran relevancia pues la aplicación es orientada a Gran relevancia pues la aplicación es orientada a

serviciosservicios

Se automatizaron algunos de estos casos de Se automatizaron algunos de estos casos de

prueba prueba

utilizando GXTestutilizando GXTest

Metodología empleada:Metodología empleada: Test de caja negraTest de caja negra

23

Pruebas de Integración:Pruebas de Integración:

Lógica centralizada facilitó la tarea de Lógica centralizada facilitó la tarea de

verificaciónverificación

Metodología empleadaMetodología empleada::

Test de caja negraTest de caja negra

24

Pruebas de Sistema:Pruebas de Sistema:

Prueba de integridad de los datos y la base de Prueba de integridad de los datos y la base de

datos:datos:

MetodologíaMetodologíaEjecución de casos de prueba (Datos validos e Ejecución de casos de prueba (Datos validos e

inválidos)inválidos)

Utilización de HeidiSQL para controlar el estado Utilización de HeidiSQL para controlar el estado

de la de la

base de datosbase de datos

25

Pruebas de Funcionalidad:Pruebas de Funcionalidad:Automatización de algunos casosAutomatización de algunos casos

Fuerte hincapié en estas pruebasFuerte hincapié en estas pruebas

MetodologíaMetodología

Ejecución de Casos de PruebaEjecución de Casos de Prueba

Pruebas de Ciclo de Negocio:Pruebas de Ciclo de Negocio:

• Metodología:Metodología:

Elaboración de procedimiento GeneXus que Elaboración de procedimiento GeneXus que

simulan simulan

las actividades del proyecto en el tiempo.las actividades del proyecto en el tiempo.

26

Pruebas de PerformancePruebas de Performance

MetodologíaMetodología Se cargo la base de datos con diferentes Se cargo la base de datos con diferentes

volúmenes volúmenes

1200,6000 y 42000 instancias1200,6000 y 42000 instancias

Luego se midió que tiempo demoraba en Luego se midió que tiempo demoraba en

completar y completar y

tomar una tareatomar una tarea

27

Pruebas de CargaPruebas de CargaMetodologíaMetodología Se conectaron 3 computadoras a una red Se conectaron 3 computadoras a una red

inalámbrica y inalámbrica y

se probo tomar y completar workitems de forma se probo tomar y completar workitems de forma

concurrente.concurrente.

Pruebas de VolumenPruebas de Volumen MetodologíaMetodología

Se utilizaron los volúmenes utilizados para las Se utilizaron los volúmenes utilizados para las

pruebas pruebas

de ciclo de negocio y performance.de ciclo de negocio y performance.

28

Pruebas de ConfiguraciónPruebas de ConfiguraciónMetodologíaMetodología Se conectaron dos maquinas de configuración Se conectaron dos maquinas de configuración

similares a similares a

las especificadas por el cliente, una como las especificadas por el cliente, una como

servidor de servidor de

base de datos y la otra con la aplicación base de datos y la otra con la aplicación

corriendo.corriendo.

Pruebas de DocumentosPruebas de Documentos• MetodologíaMetodología

Se verificó que los documentos coincidieran con Se verificó que los documentos coincidieran con

lo que lo que

especificaba el modelo MUM.especificaba el modelo MUM.

29

PositivosPositivos Se cumplió con lo establecido en el plan de VyV en Se cumplió con lo establecido en el plan de VyV en

la mayoría de los casos.la mayoría de los casos.

Se mejoró la calidad de la verificación a medida Se mejoró la calidad de la verificación a medida

que avanzaron las etapas.que avanzaron las etapas.

NegativosNegativosSe contó con poco tiempo para verificar.Se contó con poco tiempo para verificar.

Se automatizaron pocos casos de prueba.Se automatizaron pocos casos de prueba.

30

Actividades principales realizadas en el Actividades principales realizadas en el áreaárea

Revisiones de documentosRevisiones de documentos

Gestión de los entregables semanalesGestión de los entregables semanales

Elaboración del plan de calidad del proyectoElaboración del plan de calidad del proyecto

Identificación de atributos de calidad del producto y Identificación de atributos de calidad del producto y verificación del cumplimiento de los mismosverificación del cumplimiento de los mismos..

31

Revisiones de documentosRevisiones de documentos

Revisiones semanales de los documentos a entregar Revisiones semanales de los documentos a entregar cada semanacada semanaRevisiones “formales” e “informales”Revisiones “formales” e “informales” Formal: RTF, Revisión de SQAFormal: RTF, Revisión de SQA

Informal: Revisiones semanales de documentos, Informal: Revisiones semanales de documentos, revisando formato y contenido, revisando formato y contenido,

basándose basándose en la plantilla de cada en la plantilla de cada documento.documento.RTF: Se realizó una vez para ciertos documentos RTF: Se realizó una vez para ciertos documentos relevantes. Insumió un tiempo considerable, por lo relevantes. Insumió un tiempo considerable, por lo cual no fue realizado mas veces. Permitió detectar cual no fue realizado mas veces. Permitió detectar posibles puntos a agregar o corregir. posibles puntos a agregar o corregir.

32

Revisiones de documentosRevisiones de documentos

Revisión de SQA: No se realizó, en su lugar se Revisión de SQA: No se realizó, en su lugar se realizó la actividad de verificación de documentos realizó la actividad de verificación de documentos por parte del grupo de verificación, ya que se por parte del grupo de verificación, ya que se consideró que eran tareas similares.consideró que eran tareas similares.

Revisiones “informales”: Se realizaron Revisiones “informales”: Se realizaron semanalmente, antes de cada entrega. Se le dio semanalmente, antes de cada entrega. Se le dio prioridad a estas revisiones a lo largo del proyecto, prioridad a estas revisiones a lo largo del proyecto, ya que resultaron ser las mas útiles en cuanto a ya que resultaron ser las mas útiles en cuanto a relación esfuerzo/tiempo para encontrar errores.relación esfuerzo/tiempo para encontrar errores.

33

Revisiones de documentosRevisiones de documentos

Metodología de las revisiones “informales”: El Metodología de las revisiones “informales”: El equipo de SQA realizó revisiones de documentos equipo de SQA realizó revisiones de documentos comparando el contenido y formato con las comparando el contenido y formato con las plantillas, se recopilaban los errores encontrados y plantillas, se recopilaban los errores encontrados y estos eran enviados a los responsables de cada estos eran enviados a los responsables de cada documento. Si el error era un error “menor” y en documento. Si el error era un error “menor” y en cuanto a formato, era solucionado por quien cuanto a formato, era solucionado por quien realizaba la revisión.realizaba la revisión.

34

Revisiones de documentosRevisiones de documentos

En cada etapa del proyecto se realizaron revisiones En cada etapa del proyecto se realizaron revisiones mas profundas a los documentos críticos de cada mas profundas a los documentos críticos de cada etapa, para aprovechar de una mejor forma el etapa, para aprovechar de una mejor forma el tiempo disponible para realizar revisiones, y tiempo disponible para realizar revisiones, y asegurar la calidad de los documentos claves. A asegurar la calidad de los documentos claves. A modo de ejemplo: Documento de requerimientos en modo de ejemplo: Documento de requerimientos en fase inicial, descripción de la arquitectura en fase fase inicial, descripción de la arquitectura en fase de elaboración, documentación de usuario en fase de elaboración, documentación de usuario en fase de construcción y transición.de construcción y transición.

35

Gestión de entregables semanalesGestión de entregables semanales

El equipo de SQA se encargaba de realizar las El equipo de SQA se encargaba de realizar las entregas semanales, de gestionar las últimas entregas semanales, de gestionar las últimas versiones de los documentos a ser entregados y versiones de los documentos a ser entregados y asegurar la calidad de los mismos con las revisiones asegurar la calidad de los mismos con las revisiones semanales. También se encargaba de controlar que semanales. También se encargaba de controlar que entregables fueron planificados y cuales entregables fueron planificados y cuales efectivamente se entregaron en cada semana, así efectivamente se entregaron en cada semana, así como los entregables pendientes de semanas como los entregables pendientes de semanas anteriores. Esto ayudó a alivianar la carga horaria anteriores. Esto ayudó a alivianar la carga horaria del administrador.del administrador.

36

Plan de calidad del ProyectoPlan de calidad del Proyecto

En las primeras semanas se elaboró este plan, que En las primeras semanas se elaboró este plan, que en el transcurso del proyecto sufriría ajustes y en el transcurso del proyecto sufriría ajustes y cambios, ya que por ejemplo se optó por no realizar cambios, ya que por ejemplo se optó por no realizar revisiones de SQA “formales” y solo un RTF a revisiones de SQA “formales” y solo un RTF a ciertos documentos, debido a la carga horaria que ciertos documentos, debido a la carga horaria que esto hubiera insumido, y al tiempo que le hubiera esto hubiera insumido, y al tiempo que le hubiera quitado a otras actividades mas relevantes.quitado a otras actividades mas relevantes.

37

Atributos de calidad del ProyectoAtributos de calidad del Proyecto

EficienciaEficiencia

PortabilidadPortabilidad

FuncionalidadFuncionalidad

Mantenibilidad: Documentación y Estándar de Mantenibilidad: Documentación y Estándar de implementación implementación

38

Atributos del calidad del ProductoAtributos del calidad del Producto

Eficiencia: el grupo de verificación realizó pruebas Eficiencia: el grupo de verificación realizó pruebas de volumen para verificar que se cumplía con este de volumen para verificar que se cumplía con este requerimiento. Los resultados finales para las requerimiento. Los resultados finales para las operaciones involucradas fueron cercanos a lo operaciones involucradas fueron cercanos a lo esperadoesperado Estándar de implementación: Se realizaron Estándar de implementación: Se realizaron comprobaciones en forma de “Muestreos” tomando comprobaciones en forma de “Muestreos” tomando aleatoriamente operaciones implementadas, para aleatoriamente operaciones implementadas, para comprobar el nivel de cumplimiento del estándar. comprobar el nivel de cumplimiento del estándar. Los resultados fueron en general positivos, Los resultados fueron en general positivos, mostrando que se cumplió con la mayoría de los mostrando que se cumplió con la mayoría de los puntos indicados en el estándarpuntos indicados en el estándar

39

Conclusiones Conclusiones

Ventajas:Ventajas: Documentos generados de mayor calidad, lo cual Documentos generados de mayor calidad, lo cual

repercutió en un mejor entendimiento repercutió en un mejor entendimiento de dichos de dichos documentos por parte del equipodocumentos por parte del equipo

Corrección a tiempo de errores en documentos Corrección a tiempo de errores en documentos clavesclaves

Asegurar que se cumplan con los atributos de Asegurar que se cumplan con los atributos de calidad calidad del producto y de la documentación del producto y de la documentación generadagenerada

Control de los entregables semanales y el Control de los entregables semanales y el cumplimiento con la agenda y los cumplimiento con la agenda y los

entregables entregables pendientespendientes

40

Conclusiones Conclusiones

Desventajas:Desventajas: Muchos documentos a revisar en ciertas Muchos documentos a revisar en ciertas

semanas, lo semanas, lo cual provocó que no todos cual provocó que no todos pudieran ser revisados pudieran ser revisados detenidamentedetenidamente

Realizar verificaciones profundas resultó muy Realizar verificaciones profundas resultó muy

costoso en cuanto a esfuerzocostoso en cuanto a esfuerzo• Demasiadas actividades de revisión que Demasiadas actividades de revisión que resultaron resultaron difíciles de cumplir en el tiempo difíciles de cumplir en el tiempo estipulado, lo que estipulado, lo que obligó a elegir las obligó a elegir las prioritarias y/o las que dieron prioritarias y/o las que dieron mejores mejores resultadosresultados

41

Ambiente controladoAmbiente controlado::

SVNSVN

GxServer:GxServer:

PúblicoPúblico

PrivadoPrivado

Seguimiento de liberacionesSeguimiento de liberaciones

RespaldosRespaldos

42

Lo BuenoLo Bueno::

Excelente relacionamiento y buen ambiente de Excelente relacionamiento y buen ambiente de

trabajo.trabajo.

Amplia disposición para realizar las tareas.Amplia disposición para realizar las tareas.

Ausencia de conflictosAusencia de conflictos..

Lo maloLo malo::

Falta de iniciativa en etapas iniciales.Falta de iniciativa en etapas iniciales.

Ausencia de reuniones de integraciónAusencia de reuniones de integración..

43

44

Funcionó:Funcionó:

Reuniones de implementación y prueba (trabajar en Reuniones de implementación y prueba (trabajar en

el mismo lugar físico)el mismo lugar físico)

Uso de GxServer (ahorro de trabajo de consolidado)Uso de GxServer (ahorro de trabajo de consolidado)

Uso de Google groups: Como medio de Uso de Google groups: Como medio de

comunicación para el grupo y seguimiento de bugs.comunicación para el grupo y seguimiento de bugs.

45

Funcionó:Funcionó:

No seguir el MUM estrictamente, usándolo como No seguir el MUM estrictamente, usándolo como

una simple guíauna simple guía

Reuniones semanales extras a las Quincenales para Reuniones semanales extras a las Quincenales para

organizar las actividades organizar las actividades de la semanade la semana

Reasignar Roles según fuera necesarioReasignar Roles según fuera necesario

46

No funcionó:No funcionó:

Estimaciones con GxPoints (defectos en Estimaciones con GxPoints (defectos en

herramienta para contabilizar).herramienta para contabilizar).

Tiempo destinado para realización de pruebas del Tiempo destinado para realización de pruebas del

sistema resultó escaso.sistema resultó escaso.

Uso de Pivotal tracker: Pocos integrantes en el Uso de Pivotal tracker: Pocos integrantes en el

grupo comprendió su funcionamiento.grupo comprendió su funcionamiento.

Estimaciones de esfuerzo por juicio de expertosEstimaciones de esfuerzo por juicio de expertos

47

Brindar una mejor introducción al modelo de proceso, Brindar una mejor introducción al modelo de proceso,

en en

especial indicando cual es el uso apropiado del especial indicando cual es el uso apropiado del

mismo.mismo.

Realizar las clases de apoyo en etapas más tempranas, Realizar las clases de apoyo en etapas más tempranas,

algunas de ellas no se hicieron hasta ya terminada la algunas de ellas no se hicieron hasta ya terminada la

fase fase

inicial.inicial.