Doris Correa - Ximena Romano
Jorge Triñanes
Ingeniería de Software
InCo - Facultad de Ingeniería - UdelaR
Agenda



Introducción
Proyecto MoDSGX
Evaluación y trabajo futuro
2
Introducción





Marco del proyecto
Antecedentes
Modelo de Proceso - ¿para qué?
Objetivos del proyecto
Referencias propuestas
3
Marco del Proyecto

Carrera Ingeniería en Computación
Año
Semestre 1
Semestre 2
Proyecto de Grado
5º
Modelo de Proceso
Retroalimentación
4º
Intr. Ing. SW
GX
GX
Proy. Ing. SW
GX
4
Introd. a la Ing. de SW

Principales Temas:







Procesos de SW
Métricas de tamaño y estimación
Gestión de Proyectos de SW
Requerimientos (Casos de Uso)
Diseño (Diagramas UML)
Verificación
Calidad y Gestión de la Configuración
5
Proy. de Ing. de SW

Objetivos:



contrastar teoría en proyecto sometido a
restricciones análogas a las de la industria
reflexionar sobre la forma en que
construimos software
Ejemplos de restricciones:


proyecto con duración fija (14 semanas)
dedicación prevista de cada estudiante de 15
horas semanales
6
Proy. de Ing. de SW (2)

Funcionamiento de grupos de proyectos


El grupo trabaja con autonomía pero
muy pautado:


proceso definido
entregas semanales
Interacción semanal
con algunos roles
Grupo sin
jerarquías,
con roles
diferenciados
Director (docente)
Cliente
Grupo
(8 a 15 integrantes)
7
Antecedentes
Año
Cambios
1997
Estructura actual de cursos (Ing.SW)
1998
...
1999
Proceso incremental e iterativo
2000
Modelo de Proceso para Java
2001
Cliente ajeno al curso
2002
Fase de Transición
8
Modelo de Proceso - ¿para qué?




Base para la mejora del proceso
Facilita incorporar nuevo personal de
forma productiva
En el curso todos los años el “personal”
es nuevo
Oportunidad para ensayar diversos
procesos...
9
Objetivos del proyecto MoDSGX



Definir un Modelo de Proceso para
desarrollo con GeneXus
Poner a prueba el Modelo
Ajustarlo a partir de la experiencia de
su utilización
10
Referencias propuestas







Mejores prácticas en algunas organizaciones
que utilizan GeneXus
ISO/IEC TR 15504
Modelo de Proceso Java Ver. 2001
XP (eXtreme Programming)
RUP (Rational Unified Process)
MSF (Microsoft Solutions Framework)
Métrica Ver. 3
11
Proyecto MoDSGX



Introducción
Modelo de proceso propuesto
Trabajando con MoDSGX
12
Introducción
Modelo de proceso
Requerimientos
del Usuario
Actividades
Sistema de
software
Este modelo: Iterativo e incremental
Desarrollo con Genexus
13
Modelo de proceso propuesto

Dimensiones del Modelo de Proceso

Tiempo



Aspecto dinámico
Fases, Iteraciones e Hitos
Líneas de Trabajo


Aspecto estático
Roles, Actividades y Entregables
14
Tiempo
Fase I
Inicial
Iter. I
Iter. II
Fase II
Elaboración
Iter. I
Fase III
Construcción
Iter. II
Iter. I
Iter. II
Fase IV
Transición
Iter. I
Iter. II
Hitos
15
Fase I - Inicial

Objetivo





Identificar requerimientos.
Identificar riesgos.
Estimar los recursos necesarios.
Evaluar la capacidad de hacer el proyecto.
Iteraciones

Iteración I – 3 semanas
16
Fase II - Elaboración

Objetivo






Dominio del problema.
Fundamento de la arquitectura.
Plan del proyecto.
Eliminar elementos de riesgo.
Prototipo de la arquitectura.
Iteraciones


Iteración I – 2 semanas
Iteración II – 2 semanas
17
Fase III - Construcción

Objetivo



Construcción completa del software.
Material necesario.
Iteraciones


Iteración I – 2 semanas
Iteración II – 2 semanas
18
Fase IV - Transición

Objetivo






Usuario apto para operar el sistema.
Sistema al entorno del usuario.
Verificación de la versión “beta”.
Versión “final” del sistema.
Satisfacción del cliente.
Iteraciones

Iteración I – 1 Semana
19
Líneas de Trabajo
Rol
Entregables
Entregables
Actividad
20
Líneas de trabajo y tiempo
21
Líneas a destacar

Requerimientos y Análisis


Casos de Uso
Diseño

Diagramas UML



de paquetes
de secuencia o interacción
Modelo de Datos
22
Caso de uso – Inscripción a
curso
1. Actores
1.1. Funcionario
Son los posibles usuarios funcionarios de la Institución: Administrador, Bedel,
Diseñador, Asistente.
…
2. Casos de Uso
2.2 Inscripción a curso
Descripción
Este caso de uso puede ser iniciado de tres formas:
• Por un alumno de la institución, cuando tiene la intención…
• Por un Funcionario de la Institución, si tiene permisos para…
Pre-condiciones
Debe estar autenticado en el sistema un usuario con permisos …
23
Caso de uso – Inscripción a
curso
Flujo de eventos principal
Funcionario
Inscripción a
curso
Funcionario
Alumno
Inscripción a curso
1. Este caso de uso comienza cuando un Funcionario tiene la
intención de realizar la inscripción de un alumno a un curso.
2. Le solicita al Funcionario, el identificador del Alumno al
cual se le desea hacer la inscripción.
3. Ingresa el identificador del Alumno.
4. Valida el identificador del Alumno y le muestra los
principales datos personales del mismo (nombre, apellido,
etc.).
24
Diseño – Inscripción a curso
1. Diseño de Casos de Uso
1.2. Diseño del Caso de Uso Inscripción a curso
1.2.1. Diagrama de paquetes
Bedelia
Nucleo
Editor de cursos
Editor de carreras
<<Objeto de diseño>>
Controlador de cursos
<<Objeto de diseño>>
Controlador de cursos
<<Objeto de diseño>>
Controlador de carreras
Manejador de
Seguimiento
<<Objeto de diseño>>
Controlador de
seguimiento
25
Diseño – Inscripción a curso
1.2.2. Diagrama de Interacción
26
U su arios
# C odigoU sr *
N om bre *
D irecc ión
T eléfono
M ail
Fecha_ nac
Fecha_ in greso
Sexo *
P aís *
T L ogin s
# C odigoU sr *
# Lo gin *
P asw *
P erfil
E tiqueta_1
E tiqueta_2
:
E tiqueta_10
H istorialU sr
U srP flC u r
# C odigo2 *
N om bre2
D irecc ión2
T eléfono2
M ail2
Fecha_nac2
Fecha_ in greso2
Sexo2
P aís2
# Fecha_e greso *
# C odigoU sr *
# C odigoP fl *
# C odigC ur *
Diseño – Inscripción a curso
5. Diseño de Datos
F u n cion alid ad es
# C odigo Fun *
N om bre *
D esc *
P erfiles
# C odigoP fl *
C odE tiqueta
N om bre
D esc
E tiq u etas
# C odE tiqueta *
E tiqueta_1
E tiqueta_2
:
E tiqueta_10
E tiq_cant
P fl_F u n c
# C odigoP fl *
# C odigo Fun *
In sC u rsos
# C odigoC ur *
# C odigoC ar *
# C odigoU sr *
Fecha_Ins *
C odigo Se g *
C u rsos
# C odigoC ur *
N om bre *
Fecha_a lta *
C on_insp_presenc ia l *
E sta_en_carrera *
C odE tiqueta
E tiqueta_1
:
E tiqueta_10
D isp on ib les
# C odigoC ur *
# Fecha_ in i *
#F echaF in
M arcado
E tiq u etas d e C u rso
# C ódigo E tiq *
C ant_etiq
V alores d e E tiq u etas
E tiqueta_1
E tiqueta_2
.
.
E tiqueta_10
C u rsos d e C arreras
# C odigoC ar *
# C odigoC ur *
In sC arreras
# C odigoC ar *
# C odigoU sr *
Fecha_Ins *
H istorialC u rso
H istorialC arrera
C arreras
# C odigoC ar *
N om bre
Fecha_a lta
Ins_P resencia
# C odigoC ar4
N om bre4
Fecha_a lta4
Ins_P resencial4
# Fecha_B aja4
# C odigoC ur3 *
N om bre3
Fecha_a lta3
C on_insp_presenc ia l3
E sta_en_carrera3
# Fecha_B aja3 *
H istorial A lu m n o
S egu im ien to A lu m n o
A ctu ación d e alu m n o
27
Líneas a destacar

Gestión de Configuración y Control de
Cambios




Control de versiones
Línea base
Metodología de control de cambios
Gestión de Calidad


Planificación
Revisiones de calidad y Técnicas Formales
28
Líneas a destacar

Comunicación



Establecer métodos de comunicación
Mantener informados a todos los
involucrados en el proyecto (equipo de
trabajo, cliente, usuario, etc)
Seguimiento de satisfacción del cliente
29
Trabajando con MoDSGX



Roles
Experiencia
Ajustando el modelo...
30
Roles - definición

Analista
Analiza el sistema, conduce y coordina el relevamiento de
requerimeintos ...
 Perfil para el rol


Actividades que son responsabilidad del rol


Relevamiento de requerimientos ...
Entregables que son responsabilidad del rol


Una persona que actúa en éste rol debe tener buenas
habilidades de comunicación, interpersonal y en forma
escrita ...
Glosario ...
Actividades en las que está involucrado el rol

Diseño del Sistema ...
31
Roles
32
Roles
33
Roles a destacar

Especialista Técnico


Es responsable de seleccionar, adquirir y
configurar las herramientas que sean necesarias,
así como investigar tecnologías que se quieran
utilizar.
Se definen los siguientes:
 Especialista Técnico
 Especialista Técnico Java y Configuración
 Especialista Técnico Genexus y Base de datos
34
Roles a destacar

Responsable de SCM



Proporciona la infraestructura y entorno para la
Gestión de Configuración. Este entorno debe
facilitar la revisión de productos, el rastreo de
defectos y controlar las versiones y los cambios.
Es responsable de la creación y seguimiento de la
Línea Base del proyecto.
Es responsable del cumplimiento del proceso de
gestión de cambios.
35
Roles a destacar

Responsable del Consolidado


Es responsable de planificar la integración de
sistema y llevarla a cabo.
Responsable del Núcleo



Implementa y mantiene la Base de conocimiento
Núcleo.
Todos los cambios a esta Base son su
responsabilidad.
Debe distribuir la Base de conocimiento Núcleo a
las demás Bases de conocimiento del proyecto.
36
Combinación de Roles

Características del proyecto:




Grupo de 9 personas
17 roles en el modelo
Compatibilidad de roles
Esfuerzo equilibrado durante el proyecto
37
Combinación de Roles – 9
personas
Analista (Responsable de análisis) Documentador de usuario Instructor - Asistente verificación
Analista Responsable Consolidado Implementador
Especialista técnico Genexus
y Base de datos –
Responsable del Núcleo –
Implementador
Especialista técnico Java
y configuración –
Implementador
Especialista técnico –
Implementador
38
Combinación de Roles – 9
personas
Administrador – Responsable de
Comunicación – Asistente verificación
Responsable de verificación –
Analista
Responsable de SQA –
Responsable de SCM
Arquitecto –
Coordinador de desarrollo –
Asistente verificación
39
Experiencia

Producto:


Portal Web para manejo de educación a
distancia
Características técnicas:




Genexus 7.5
Generador Java
DB2 UDB versión 7.1
Reuso de business objects (chat y foro)
40
Experiencia - algunos datos
G ru p o
A
In te g ra n te s
B
9
E sfu e rzo tota l (h ora s)
9
3436 2508
D e d ica ción (p rom e d io)
381
278
T a m a ñ o p rod u cto (ob je tos G X )
460
246
T ran s accio n es
Pro cedim ien to s
R epo rtes
40
254
0
40
98
12
W eb Pan els
166
96
41
Experiencia – esfuerzo por
línea de trabajo
900
S em ana 12
800
S em ana 11
700
S em ana 10
600
S em ana 9
S em ana 8
500
S em ana 7
S em ana 6
400
S em ana 5
300
S em ana 4
S em ana 3
200
S em ana 2
100
S em ana 1
usuario
entorno del
T ransición al
C om unicació n
V erificación
P royecto
G estión de
C am bios
C ontrol de
C onfiguració n y
G estión de
C alidad
G estión de
Im plem entac ión
D iseño
G eneral
A nálisis/R eq .
0
42
Satisfacción
G ru p o A
G ru p o B
G ru p o / P ro d u cto
S a tisfe ch o
S a tisfe ch o
G ru p o / M o d e lo
d e p ro ce so
C lie n te /
P ro d u cto
C lie n te / M o d e lo
d e p ro ce so
S a tisfe ch o
S a tisfe ch o
S a tisfe ch o
In sa tisfe ch o
S a tisfe ch o
In d ife re n te
43
Ajustando el Modelo ...
MoDSGX
2003
Ajustes
Al Modelo
Experiencia
MoDSGX
2002
44
Evaluación y trabajo futuro Plan





Puntos fuertes
Aspectos a mejorar
MoDSGX ¿puede servir fuera de
Facultad?
Líneas de trabajo
Planes para el 2003
45
Evaluación

Puntos fuertes

Se generaron productos razonables a pesar de:





falta de experiencia previa en GeneXus
baja supervisión
grupos con numerosos integrantes
Definición y división de roles con carga equilibrada
Utilización de Casos de Uso muy natural y
adecuada para trabajo con GeneXus
46
Aspectos a mejorar

Interacción con Cliente/Usuario






los grupos tardaron demasiado en mostrar
productos andando
en parte debido a dificultades en preparar
ambiente
Medir el tamaño de los productos
Automatizar pruebas
Gestión de la configuración
“Agilizar” el proceso
47
MoDSGX ¿puede servir fuera
de Facultad?


Tal cual, seguramente NO
Para equipos numerosos puede ser un
punto de partida o referencia
interesante
48
Líneas de trabajo del área IS

Tres líneas relacionadas



Procesos y métricas de software
Verificación
Desarrollo con GeneXus en equipos
numerosos
49
Planes para el 2003



Utilizar nuevamente MoDSGX, ajustando
su formulación y su utilización, con un
equipo más numeroso (13)
Desarrollar y probar un nuevo modelo
de proceso para desarrollo con GeneXus
con eXtreme Programming
Procurar la automatización de las
pruebas
50
Preguntas?

Página Web
www.fing.edu.uy/~t5ingsw/index.htm
www.fing.edu.uy/inco/cursos/ingsoft

Direcciones de correo
Doris Correa
[email protected]
Ximena Romano
[email protected]
Jorge Triñanes
[email protected]
51
Descargar

Modelo de Proceso para Desarrollo de Software con …