proyecto de grado -...
TRANSCRIPT
ESCUELA POLITÉCNICA DEL EJÉRCITO
DPTO. DE CIENCIAS DE LA COMPUTACIÓN
CARRERA DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
IMPLEMENTACIÓN DE UN SOFTWARE ORIENTADO A LA WEB QUE GESTIONE LA APLICACIÓN DE LA TÉCNICA DE CALIDAD SEIS SIGMA AL PROCESO DE DESARROLLO DE
SOFTWARE, SOBRE LA PLATAFORMA “Java Enterprise Edition 5.0” EMPLEANDO UN FRAMEWORK INTEGRADOR
“JBoss Seam 2.2.0”
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS E INFORMÁTICA
POR: SR. YACCHIREMA ESPÍN LUIS MIGUEL
SANGOLQUÍ, Agosto del 2011
ii
CERTIFICACIÓN
Certifico que el presente trabajo fue realizado en su totalidad por el Sr.
YACCHIREMA ESPÍN LUIS MIGUEL, como requerimiento parcial a la obtención
del título de INGENIERO EN SISTEMAS E INFORMÁTICA.
Sangolquí, Agosto del 2011
ING. CECILIA HINOJOSA R. Directora
iii
DEDICATORIA
Dedico el presente proyecto de tesis a quienes consideren de gran utilidad el
contenido de este trabajo.
Yacchirema Espín Luis Miguel
iv
AGRADECIMIENTOS
Al finalizar con éxito tan anhelado proyecto, quisiera brindar mis más sinceros
agradecimientos a las siguientes personas:
A mis padres, Miguel Ángel Yacchirema Jiménez, y Luz María Espín Atiaja, por su
apoyo desinteresado en todas las etapas de mi vida, y sobre todo, por haber
forjando en mí valores que han influido positivamente en el alcance de todas mis
metas propuestas.
A mis hermanas, María Soledad, y Ana Maribel, por ser mis más fieles amigas en
todo momento.
Finalmente, quiero agradecer a mis profesores tutores, la Ing. Cecilia Hinojosa,
Directora, y el Ing. Edison Lascano, Cordinador; por impartir sus conocimientos
que fueron muy indispensables en la realización de mi proyecto de tesis.
Yacchirema Espín Luis Miguel
v
Índice de Contenidos
RESUMEN ................................................................................................................................................... 1
CAPÍTULO I .................................................................................................................................................. 2
INTRODUCCIÓN .......................................................................................................................................... 2
1.1 TEMA ................................................................................................................................................. 2
1.2 ANTECEDENTES .................................................................................................................................... 2
1.3 PLANTEAMIENTO DEL PROBLEMA ............................................................................................................. 3
1.4 JUSTIFICACIÓN ...................................................................................................................................... 5
1.5 ALCANCE ............................................................................................................................................. 6
1.6 OBJETIVOS ........................................................................................................................................... 9
1.6.1 Objetivo General .......................................................................................................................... 9
1.6.2 Objetivos Específicos .................................................................................................................... 9
CAPÍTULO II ............................................................................................................................................... 10
MARCO TEÓRICO ...................................................................................................................................... 10
2.1 GUÍA BÁSICA DE APLICACIÓN DE LA TÉCNICA SEIS SIGMA AL PROCESO DE DESARROLLO DE SOFTWARE ................... 10
2.2 METODOLOGÍA ICONIX ...................................................................................................................... 12
2.2.1 Análisis de Requerimientos ........................................................................................................ 14
2.2.2 Análisis y Diseño Preliminar ....................................................................................................... 25
2.2.3 Diseño Detallado........................................................................................................................ 30
2.2.4 Implementación ......................................................................................................................... 33
2.2.5 Resumen ICONIX ........................................................................................................................ 34
2.3 PLATAFORMA JAVA EE 5.0 ................................................................................................................... 35
2.3.1 Introducción ............................................................................................................................... 35
2.3.2 Que es Java EE ........................................................................................................................... 36
2.3.3 Arquitectura Java EE .................................................................................................................. 37
2.3.4 Componentes de la arquitectura Java EE .................................................................................. 38
2.3.5 Tecnologías y APIs más relevantes. ........................................................................................... 40 2.3.5.1 Java Database Connectivity (JDBC) ................................................................................................... 40 2.3.5.2 Enterprise JavaBeans (EJB 3.0) ......................................................................................................... 44 2.3.5.3 Java Persistence API (JPA) ................................................................................................................ 48 2.3.5.4 JavaServer Faces (JSF) ...................................................................................................................... 54
2.4 HERRAMIENTAS DE DISEÑO ................................................................................................................... 55
2.4.1 Introducción ............................................................................................................................... 55
2.4.2 Enterprise Architect ................................................................................................................... 55
2.5 HERRAMIENTAS DE DESARROLLO ........................................................................................................... 57
2.5.1 Introducción ............................................................................................................................... 57
2.5.2 Entorno de Desarrollo Integrado (IDE)....................................................................................... 57
2.5.3 Control de Versiones .................................................................................................................. 58
2.5.4 Sistema de Gestión de Base de Datos Relacionales (RDBMS) .................................................... 60
2.5.5 Servidor de Aplicaciones ............................................................................................................ 62
2.6 FRAMEWORK DE IMPLEMENTACIÓN ........................................................................................................ 63
2.6.1 Introducción ............................................................................................................................... 63
2.6.2 JBoss Seam Framework ............................................................................................................. 64 2.6.2.1 Que es JBoss Seam ........................................................................................................................... 64 2.6.2.2 Características principales de JBoss Seam ........................................................................................ 65
vi
2.6.2.3 Anotaciones Seam ............................................................................................................................ 68 2.6.2.4 Creación de un proyecto Seam ........................................................................................................ 69
CAPÍTULO III .............................................................................................................................................. 79
DESARROLLO DEL SOFTWARE ................................................................................................................... 79
3.1 ANÁLISIS DE REQUERIMIENTOS .............................................................................................................. 79
3.1.1 Requerimientos del Software ..................................................................................................... 79 3.1.1.1 Introducción ..................................................................................................................................... 79 3.1.1.2 Requerimientos Funcionales ............................................................................................................ 80
3.1.2 Modelado del dominio ............................................................................................................... 88 3.1.2.1 Listado de posibles objetos o clases de dominio .............................................................................. 88 3.1.2.2 Modelo de Dominio Inicial ............................................................................................................... 90
3.1.3 Modelado de Casos de Uso ........................................................................................................ 90 3.1.3.1 Prototipos de Interfaz de usuario ..................................................................................................... 90 3.1.3.2 Diagrama de Casos de Uso ............................................................................................................. 103 3.1.3.3 Diagrama de Paquetes ................................................................................................................... 105
3.2 ANÁLISIS Y DISEÑO PRELIMINAR ........................................................................................................... 106
3.2.1 Especificación de casos de uso ................................................................................................. 106 3.2.1.1 Especificación de cada caso de uso ................................................................................................ 106
3.2.2 Análisis de Robustez ................................................................................................................ 126 3.2.2.1 Diagrama de robustez por cada caso de uso .................................................................................. 126
3.2.3 Modelo de dominio actualizado .............................................................................................. 150
3.3 DISEÑO DETALLADO .......................................................................................................................... 151
3.3.1 Asignación de comportamiento ............................................................................................... 151 3.3.1.1 Diagrama de secuencia por cada caso de uso. ............................................................................... 151
3.3.2 Diagrama de clases .................................................................................................................. 186
3.3.3 Modelo de datos ...................................................................................................................... 194
3.4 IMPLEMENTACIÓN ............................................................................................................................. 195
3.5 EVALUACIÓN DEL SOFTWARE ............................................................................................................... 195
CAPÍTULO IV ........................................................................................................................................... 200
4.1 CONCLUSIONES................................................................................................................................. 200
4.2 RECOMENDACIONES .......................................................................................................................... 202
BIBLIOGRAFÍA ......................................................................................................................................... 203
BIOGRAFÍA .............................................................................................................................................. 205
HOJA DE LEGALIZACIÓN DE FIRMAS ........................................................................................................ 206
vii
Listado de Tablas
TABLA 2.1: (RELACIONES PARA ASOCIAR LOS CASOS DE USO) ..................................................................... 21
TABLA 2.2: (RESUMEN DE ICONIX) ............................................................................................................... 34
TABLA 2.3: (ANOTACIONES EJB 3/JPA) ........................................................................................................ 51
TABLA 2.4: (ANOTACIONES DE SEAM) ............................................................................................................ 68
TABLA 3.1: (PLANTILLA PARA EL REPORTE “FICHA DEL PROYECTO”) ............................................................ 85
TABLA 3.2: (PLANTILLA PARA EL REPORTE “INFORMACIÓN DEL EQUIPO DE DESARROLLO”) ........................ 85
TABLA 3.3: (PLANTILLA PARA EL REPORTE “METAS ESTABLECIDAS PARA EL PROYECTO”) .......................... 86
TABLA 3.4: (PLANTILLA PARA EL REPORTE “INFORMACIÓN DE LOS PROCESOS DEL NEGOCIO”) .................. 86
TABLA 3.5: (PLANTILLA PARA EL REPORTE “CARACTERIZACIÓN DE PROCESOS”) ........................................ 86
TABLA 3.6: (PLANTILLA PARA EL REPORTE “MATRIZ DE REQUERIMIENTOS DEL CLIENTE”) .......................... 86
TABLA 3.7: (PLANTILLA PARA EL REPORTE “REGISTRO DE REQUERIMIENTOS”) ........................................... 87
TABLA 3.8: (PLANTILLA PARA EL REPORTE “CRITERIOS DE ACEPTACIÓN DE REQUERIMIENTOS”) ............... 87
TABLA 3.9: (PLANTILLA PARA EL REPORTE “MATRIZ DE PRIORIZACIÓN DE REQUERIMIENTOS DEL CLIENTE”)
................................................................................................................................................................ 87
TABLA 3.10: (PLANTILLA PARA EL REPORTE “EVALUACIÓN COSTO / TIEMPO DE MEJORAS”) ...................... 87
TABLA 3.11: (PLANTILLA PARA EL REPORTE “CUESTIONARIO DE REQUERIMIENTOS DEL CLIENTE”) ........... 88
TABLA 3.12: (LISTADO DE CASOS DE USO) ................................................................................................. 107
TABLA 3.13: (ESPECIFICACIÓN DEL CASO DE USO “INICIAR SESIÓN”) ......................................................... 107
TABLA 3.14: (ESPECIFICACIÓN DEL CASO DE USO “CERRAR SESIÓN”) ....................................................... 107
TABLA 3.15: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR CUENTA DE USUARIO DEL SISTEMA”) .......... 108
TABLA 3.16: (ESPECIFICACIÓN DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN PROYECTO”) ........... 109
TABLA 3.17: (ESPECIFICACIÓN DEL CASO DE USO “LISTAR DATOS INICIALES DE PROYECTOS”) ................ 109
TABLA 3.18: (ESPECIFICACIÓN DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN REQUERIMIENTO”) .. 110
TABLA 3.19: (ESPECIFICACIÓN DEL CASO DE USO “FILTRAR REGISTROS LISTADOS”) ................................ 110
TABLA 3.20: (ESPECIFICACIÓN DEL CASO DE USO “EDITAR REGISTRO SELECCIONADO DE UNA LISTA”) .... 111
TABLA 3.21: (ESPECIFICACIÓN DEL CASO DE USO “ELIMINAR REGISTRO SELECCIONADO DE UNA LISTA”) 111
TABLA 3.22: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR DATOS INICIALES DEL PROYECTO”) ............ 112
TABLA 3.23: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN PROYECTO”) ....... 113
TABLA 3.24: (CASOS DE USO PARA MANEJAR DATOS ASOCIADOS A UN REQUERIMIENTO) ........................ 113
TABLA 3.25: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN REQUERIMIENTO”)
.............................................................................................................................................................. 114
TABLA 3.26: (ESPECIFICACIÓN DEL CASO DE USO “QUITAR ÍTEM DE UNA LISTA DE DATOS”) ..................... 114
TABLA 3.27: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR ANEXO O ARCHIVO DEL PROYECTO”) ......... 115
TABLA 3.28: (ESPECIFICACIÓN DEL CASO DE USO “GENERAR REPORTE”) .................................................. 115
TABLA 3.29: (ESPECIFICACIÓN DEL CASO DE USO “LISTAR PARÁMETROS GENERALES DEL SISTEMA”) ..... 116
TABLA 3.30: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR PARÁMETROS GENERALES DEL SISTEMA”) . 117
TABLA 3.31: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR PERSONA DE DESARROLLO”) ..................... 117
TABLA 3.32: (ESPECIFICACIÓN DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL PROYECTO”) .... 118
TABLA 3.33: (ESPECIFICACIÓN DEL CASO DE USO “CONFORMAR EQUIPO DE DESARROLLO”)................... 119
TABLA 3.34: (ESPECIFICACIÓN DEL CASO DE USO “ASIGNAR PERSONAS DE DESARROLLO AL PROYECTO”)
.............................................................................................................................................................. 119
TABLA 3.35: (ESPECIFICACIÓN DEL CASO DE USO “REALIZAR ANÁLISIS DE METAS DEL PROYECTO”) ...... 120
TABLA 3.36: (ESPECIFICACIÓN DEL CASO DE USO “MANEJAR ACTIVIDAD POR PROCESO”) ....................... 121
TABLA 3.37: (ESPECIFICACIÓN DEL CASO DE USO “IDENTIFICAR RESPONSABLE POR ACTIVIDAD”) ........... 121
TABLA 3.38: (ESPECIFICACIÓN DEL CASO DE USO “ASIGNAR RESPONSABLES A UNA ACTIVIDAD”) ........... 122
viii
TABLA 3.39: (ESPECIFICACIÓN DEL CASO DE USO “REALIZAR IDENTIFICACIÓN MACRO DE PROCESOS”) .. 123
TABLA 3.40: (ESPECIFICACIÓN DEL CASO DE USO “MOSTRAR INFORMACIÓN ACTUAL DEL REQUERIMIENTO”)
.............................................................................................................................................................. 123
TABLA 3.41: (ESPECIFICACIÓN DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL REQUERIMIENTO”)
.............................................................................................................................................................. 124
TABLA 3.42: (ESPECIFICACIÓN DEL CASO DE USO “IDENTIFICAR POSIBLE MEJORA POTENCIAL”) ............. 125
TABLA 3.43: (ESPECIFICACIÓN DEL CASO DE USO “PRIORIZAR LOS REQUERIMIENTOS”) ........................... 125
TABLA 3.44: (LISTADO DE CASOS DE USO) ................................................................................................. 126
TABLA 3.45: (LISTADO DE CASOS DE USO) ................................................................................................. 151
TABLA 3.46: (RESULTADOS DE LA EVALUACIÓN DEL SOFTWARE) ................................................................ 199
ix
Listado de Figuras
FIGURA 1.1: (INFORMACIÓN DE PROYECTOS EN LA INDUSTRIA TI) ................................................................. 4
FIGURA 2.1: (FLUJOS DE TRABAJO DE ICONIX) ............................................................................................ 13
FIGURA 2.2: (MODELO DE DOMINIO, EN CONTEXTO DEL PROCESO ICONIX) ............................................... 15
FIGURA 2.3: (NOTACIÓN PARA REPRESENTAR UNA CLASE) .......................................................................... 16
FIGURA 2.4: (RELACIONES PARA ASOCIAR LOS OBJETOS DE DOMINIO) ........................................................ 17
FIGURA 2.5: (EJEMPLO DE UN MODELO DE DOMINIO) ................................................................................... 17
FIGURA 2.6: (MODELO DE CASOS DE USO, EN CONTEXTO DEL PROCESO ICONIX) ..................................... 18
FIGURA 2.7: (REPRESENTACIÓN GRÁFICA DE UN ACTOR) ............................................................................. 18
FIGURA 2.8: (REPRESENTACIÓN GRÁFICA DE UN CASO DE USO)................................................................... 19
FIGURA 2.9: (EJEMPLO DE UN PROTOTIPO GUI) ............................................................................................ 20
FIGURA 2.10: (EJEMPLO DE UN DIAGRAMA DE CASOS DE USO) ..................................................................... 21
FIGURA 2.11: (EJEMPLO DE UN DIAGRAMA DE PAQUETES) ............................................................................ 22
FIGURA 2.12: (ESCENARIO DE UN CASO DE USO) .......................................................................................... 24
FIGURA 2.13: (ANÁLISIS DE ROBUSTEZ, EN CONTEXTO DEL PROCESO ICONIX) ......................................... 26
FIGURA 2.14: (SÍMBOLOS UTILIZADOS EN EL DIAGRAMA DE ROBUSTEZ) ...................................................... 27
FIGURA 2.15: (EJEMPLO DE UN DIAGRAMA DE ROBUSTEZ, PARA EL CASO DE USO MOSTRAR LISTA DE
LIBROS) ................................................................................................................................................... 29
FIGURA 2.16: (DISEÑO DETALLADO, EN CONTEXTO DEL PROCESO ICONIX) ............................................... 30
FIGURA 2.17: (NOTACIÓN DE UN DIAGRAMA DE SECUENCIA) ........................................................................ 31
FIGURA 2.18:(IMPLEMENTACIÓN, EN CONTEXTO DEL PROCESO ICONIX) .................................................... 33
FIGURA 2.19: (ARQUITECTURA JAVA EE Y SUS COMPONENTES) .................................................................. 40
FIGURA 2.20: (ESQUEMA JDBC) ................................................................................................................... 41
FIGURA 2.21: (FUNCIONAMIENTO DEL CONTROLADOR JDBC DE TIPO 1) ..................................................... 42
FIGURA 2.22: (FUNCIONAMIENTO DEL CONTROLADOR JDBC DE TIPO 2) ..................................................... 43
FIGURA 2.23: (FUNCIONAMIENTO DEL CONTROLADOR JDBC DE TIPO 3) ..................................................... 43
FIGURA 2.24: (FUNCIONAMIENTO DEL CONTROLADOR JDBC DE TIPO 4) ..................................................... 43
FIGURA 2.25: (INTERPRETACIÓN DE UN EJB) ................................................................................................ 44
FIGURA 2.26: (CAPAS Y SERVICIOS SOPORTADOS POR LA TECNOLOGÍA EJB 3.0) ...................................... 45
FIGURA 2.27: (ORGANIZACIÓN DEL API EJB3) ............................................................................................. 46
FIGURA 2.28: (EJEMPLO DE USO DE LAS ANOTACIONES JPA, PARTE 1) ...................................................... 52
FIGURA 2.29: (EJEMPLO DE USO DE LAS ANOTACIONES JPA, PARTE 2) ..................................................... 52
FIGURA 2.30: (EJEMPLO DE USO DE LAS ANOTACIONES JPA, PARTE 3) ..................................................... 53
FIGURA 2.31: (MODELO MVC) ....................................................................................................................... 54
FIGURA 2.32: (ENTERPRISE ARCHITECT GUI) ............................................................................................... 55
FIGURA 2.33: (NETBEANS 6.7.1 GUI) ............................................................................................................ 57
FIGURA 2.34: (VISUALSVN SERVER 2.0.8 GUI) ........................................................................................... 59
FIGURA 2.35: (MYSQL ADMINISTRATOR GUI) .............................................................................................. 60
FIGURA 2.36: (ESTRUCTURA DE DIRECTORIOS DE JBOSS) ........................................................................... 62
FIGURA 2.37: (FRAMEWORKS PARA EL DESARROLLO DE APLICACIONES WEB) ............................................. 64
FIGURA 2.38: (EJEMPLO DE ALGUNAS TECNOLOGÍAS QUE INTEGRA SEAM) ................................................. 65
FIGURA 2.39: (CONTEXTOS DE SEAM) ........................................................................................................... 66
FIGURA 2.40: (ARCHIVO DESCRIPTOR DE SEAM PARA EL CONTROL DE NAVEGACIÓN) ................................. 67
FIGURA 2.41: (PROYECTO SEAM, EJECUCIÓN DEL COMANDO “SEAM SETUP”) ............................................. 69
FIGURA 2.42: (PROYECTO SEAM, RESULTADO DEL COMANDO “SEAM SETUP”) ............................................. 72
x
FIGURA 2.43: (PROYECTO SEAM, EJECUCIÓN DEL COMANDO “SEAM NEW-PROJECT”) ................................. 72
FIGURA 2.44: (PROYECTO SEAM, RESULTADO DEL COMANDO “SEAM NEW-PROJECT”) ................................ 73
FIGURA 2.45: (PROYECTO SEAM, VISUALIZACIÓN DEL PROYECTO SEAM CON NETBEANS) ......................... 73
FIGURA 2.46: (PROYECTO SEAM, SCRIPT DE CREACIÓN DE LA BASE DE DATOS) ........................................ 74
FIGURA 2.47: (PROYECTO SEAM, EJECUCIÓN DEL COMANDO “SEAM GENERATE-ENTITIES”) ....................... 75
FIGURA 2.48: (PROYECTO SEAM, RESULTADO DEL COMANDO “SEAM GENERATE-ENTITIES”) ...................... 75
FIGURA 2.49: (PROYECTO SEAM, EJECUCIÓN DE LA TAREA “DEPLOY”) ......................................................... 76
FIGURA 2.50: (PROYECTO SEAM, EJECUCIÓN DEL COMANDO “RUN.BAT”) .................................................... 77
FIGURA 2.51: (PROYECTO SEAM, INTERFAZ DE LA PÁGINA PRINCIPAL Y LOGIN) ......................................... 77
FIGURA 2.52: (PROYECTO SEAM, INTERFACES PARA MANTENER PAÍSES Y PROVINCIAS) ........................... 78
FIGURA 3.1: (MODELO DE DOMINIO INICIAL) ................................................................................................... 90
FIGURA 3.2: (PÁGINA PRINCIPAL)................................................................................................................... 91
FIGURA 3.3: (PÁGINA DE INICIO DE SESIÓN) .................................................................................................. 91
FIGURA 3.4: (PÁGINA DE MANEJO DE DATOS) ............................................................................................... 92
FIGURA 3.5: (PÁGINA DE CREACIÓN DE DATOS) ............................................................................................ 92
FIGURA 3.6: (PÁGINA DE EDICIÓN DE DATOS) ............................................................................................... 93
FIGURA 3.7: (VENTANA EMERGENTE DE ELIMINACIÓN DE DATOS) ............................................................... 93
FIGURA 3.8: (PÁGINA DE ADMINISTRACIÓN DE PROYECTOS) ........................................................................ 93
FIGURA 3.9: (PÁGINA DE MANEJO DEL EQUIPO DE DESARROLLO) ............................................................... 94
FIGURA 3.10: (PÁGINA DE CONFORMACIÓN DEL EQUIPO DE DESARROLLO) ................................................ 94
FIGURA 3.11: (PÁGINA DE SELECCIÓN DE PERSONAS DE DESARROLLO) ..................................................... 95
FIGURA 3.12: (PÁGINA DE CREACIÓN O EDICIÓN DE UNA PERSONA DE DESARROLLO) ............................... 95
FIGURA 3.13: (PÁGINA PARA MOSTRAR Y EDITAR INFORMACIÓN DEL PROYECTO) ...................................... 96
FIGURA 3.14: (PÁGINA DE CREACIÓN O EDICIÓN DE META) ......................................................................... 96
FIGURA 3.15: (PÁGINA DE MANEJO DE RESPONSABLES POR ACTIVIDAD) .................................................... 97
FIGURA 3.16: (PÁGINA DE ASIGNACIÓN DE RESPONSABLES A UNA ACTIVIDAD) .......................................... 97
FIGURA 3.17: (PÁGINA DE SELECCIÓN DE UN REQUERIMIENTO) .................................................................. 98
FIGURA 3.18: (PÁGINA DE ADMINISTRACIÓN DE REQUERIMIENTOS) ............................................................. 98
FIGURA 3.19: (PÁGINA DE ACTUALIZACIÓN DE DATOS ADICIONALES AL REQUERIMIENTO) .......................... 99
FIGURA 3.20: (PÁGINA PARA MOSTRAR INFORMACIÓN DE UN REQUERIMIENTO) ....................................... 100
FIGURA 3.21: (PÁGINA DE MANEJO DE ANEXOS)......................................................................................... 100
FIGURA 3.22: (PÁGINA DE CREACIÓN O EDICIÓN DE ANEXO) ..................................................................... 101
FIGURA 3.23: (PÁGINA DE REPORTES) ........................................................................................................ 101
FIGURA 3.24: (VENTANA EMERGENTE DE SELECCIÓN DE UN REPORTE – PARTE I) .................................. 102
FIGURA 3.25: (VENTANA EMERGENTE DE SELECCIÓN DE UN REPORTE – PARTE II) ................................. 102
FIGURA 3.26: (PÁGINA DE PRIORIZACIÓN DE REQUERIMIENTOS) ............................................................... 102
FIGURA 3.27: (MODELO DE CASOS DE USO – PARTE I) .............................................................................. 103
FIGURA 3.28: (MODELO DE CASOS DE USO – PARTE II) ............................................................................. 104
FIGURA 3.29: (DIAGRAMA DE PAQUETES).................................................................................................... 105
FIGURA 3.30: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “INICIAR SESIÓN”) ......................................... 127
FIGURA 3.31: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “CERRAR SESIÓN”) ....................................... 127
FIGURA 3.32: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR CUENTA DE USUARIO DEL SISTEMA”)
.............................................................................................................................................................. 128
FIGURA 3.33: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN PROYECTO”)
.............................................................................................................................................................. 129
FIGURA 3.34: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “LISTAR DATOS INICIALES DE PROYECTOS”) 129
xi
FIGURA 3.35: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN
REQUERIMIENTO”) ................................................................................................................................ 130
FIGURA 3.36: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “FILTRAR REGISTROS LISTADOS”) ................ 130
FIGURA 3.37: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “EDITAR REGISTRO SELECCIONADO DE UNA
LISTA”) ................................................................................................................................................... 131
FIGURA 3.38: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “ELIMINAR REGISTRO SELECCIONADO DE UNA
LISTA”) ................................................................................................................................................... 131
FIGURA 3.39: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR DATOS INICIALES DEL PROYECTO”)
.............................................................................................................................................................. 132
FIGURA 3.40: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN
PROYECTO”) ......................................................................................................................................... 133
FIGURA 3.41: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN
REQUERIMIENTO”) ................................................................................................................................ 134
FIGURA 3.42: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “QUITAR ÍTEM DE UNA LISTA DE DATOS”) ..... 135
FIGURA 3.43: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR ANEXO O ARCHIVO DEL PROYECTO”)
.............................................................................................................................................................. 135
FIGURA 3.44: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “GENERAR REPORTE”) ................................. 136
FIGURA 3.45: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “LISTAR PARÁMETROS GENERALES DEL
SISTEMA”) ............................................................................................................................................. 136
FIGURA 3.46: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR PARÁMETROS GENERALES DEL
SISTEMA”) ............................................................................................................................................. 137
FIGURA 3.47: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR PERSONA DE DESARROLLO”) ..... 138
FIGURA 3.48: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL
PROYECTO”) ......................................................................................................................................... 139
FIGURA 3.49: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “CONFORMAR EQUIPO DE DESARROLLO”) .. 140
FIGURA 3.50: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “ASIGNAR PERSONAS DE DESARROLLO AL
PROYECTO”) ......................................................................................................................................... 141
FIGURA 3.51: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “REALIZAR ANÁLISIS DE METAS DEL
PROYECTO”) ......................................................................................................................................... 142
FIGURA 3.52: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MANEJAR ACTIVIDAD POR PROCESO”) ....... 143
FIGURA 3.53: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “IDENTIFICAR RESPONSABLE POR ACTIVIDAD”)
.............................................................................................................................................................. 144
FIGURA 3.54: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “ASIGNAR RESPONSABLES A UNA ACTIVIDAD”)
.............................................................................................................................................................. 145
FIGURA 3.55: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “REALIZAR IDENTIFICACIÓN MACRO DE
PROCESOS”) ......................................................................................................................................... 146
FIGURA 3.56: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “MOSTRAR INFORMACIÓN ACTUAL DEL
REQUERIMIENTO”) ................................................................................................................................ 147
FIGURA 3.57: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL
REQUERIMIENTO”) ................................................................................................................................ 147
FIGURA 3.58: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “IDENTIFICAR POSIBLE MEJORA POTENCIAL”)
.............................................................................................................................................................. 148
FIGURA 3.59: (DIAGRAMA DE ROBUSTEZ DEL CASO DE USO “PRIORIZAR LOS REQUERIMIENTOS”)........... 149
FIGURA 3.60: (MODELO DE DOMINIO ACTUALIZADO) ................................................................................... 150
FIGURA 3.61: (ARQUITECTURA JAVA EE CON SEAM) .................................................................................. 152
FIGURA 3.62: (TRADUCCIÓN DE UNA SOLICITUD JSF EN UN ÁRBOL DE COMPONENTES DE INTERFAZ DE
USUARIO) .............................................................................................................................................. 153
FIGURA 3.63: (FRAMEWORK DE CLASES DE SEAM IMPLEMENTADAS PARA JPA) ....................................... 154
FIGURA 3.64: (DIAGRAMA DE CLASES DE ENTITYHOME) ............................................................................. 155
FIGURA 3.65: (DIAGRAMA DE CLASES DE ENTITYQUERY) ........................................................................... 155
xii
FIGURA 3.66: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “INICIAR SESIÓN”) ........................................ 156
FIGURA 3.67: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “CERRAR SESIÓN”) ...................................... 156
FIGURA 3.68: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR CUENTA DE USUARIO DEL SISTEMA”)
.............................................................................................................................................................. 157
FIGURA 3.69: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN PROYECTO”)
.............................................................................................................................................................. 158
FIGURA 3.70: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “LISTAR DATOS INICIALES DE PROYECTOS”)159
FIGURA 3.71: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “LISTAR DATOS ASOCIADOS A UN
REQUERIMIENTO”) ................................................................................................................................ 160
FIGURA 3.72: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “FILTRAR REGISTROS LISTADOS”) ............... 161
FIGURA 3.73: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “EDITAR REGISTRO SELECCIONADO DE UNA
LISTA”) ................................................................................................................................................... 162
FIGURA 3.74: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “ELIMINAR REGISTRO SELECCIONADO DE UNA
LISTA”) ................................................................................................................................................... 163
FIGURA 3.75: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR DATOS INICIALES DEL PROYECTO”)
.............................................................................................................................................................. 164
FIGURA 3.76: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN
PROYECTO”) ......................................................................................................................................... 165
FIGURA 3.77: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR DATOS ASOCIADOS A UN
REQUERIMIENTO”) ................................................................................................................................ 166
FIGURA 3.78: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “QUITAR ÍTEM DE UNA LISTA DE DATOS”) .... 167
FIGURA 3.79: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR ANEXO O ARCHIVO DEL
PROYECTO”) ......................................................................................................................................... 168
FIGURA 3.80: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “GENERAR REPORTE”) ................................ 169
FIGURA 3.81: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “LISTAR PARÁMETROS GENERALES DEL
SISTEMA”) ............................................................................................................................................. 170
FIGURA 3.82: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR PARÁMETROS GENERALES DEL
SISTEMA”) ............................................................................................................................................. 171
FIGURA 3.83: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR PERSONA DE DESARROLLO”).... 172
FIGURA 3.84: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL
PROYECTO”) ......................................................................................................................................... 173
FIGURA 3.85: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “CONFORMAR EQUIPO DE DESARROLLO”) . 174
FIGURA 3.86: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “ASIGNAR PERSONAS DE DESARROLLO AL
PROYECTO”) ......................................................................................................................................... 175
FIGURA 3.87: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “REALIZAR ANÁLISIS DE METAS DEL
PROYECTO”) ......................................................................................................................................... 176
FIGURA 3.88: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MANEJAR ACTIVIDAD POR PROCESO”) ...... 177
FIGURA 3.89: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “IDENTIFICAR RESPONSABLE POR ACTIVIDAD
– PARTE I”) ........................................................................................................................................... 178
FIGURA 3.90: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “IDENTIFICAR RESPONSABLE POR ACTIVIDAD
– PARTE II”) .......................................................................................................................................... 179
FIGURA 3.91: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “ASIGNAR RESPONSABLES A UNA ACTIVIDAD”)
.............................................................................................................................................................. 180
FIGURA 3.92: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “REALIZAR IDENTIFICACIÓN MACRO DE
PROCESOS”) ......................................................................................................................................... 181
FIGURA 3.93: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “MOSTRAR INFORMACIÓN ACTUAL DEL
REQUERIMIENTO”) ................................................................................................................................ 182
FIGURA 3.94: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “ACTUALIZAR DATOS ADICIONALES AL
REQUERIMIENTO”) ................................................................................................................................ 183
xiii
FIGURA 3.95: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “IDENTIFICAR POSIBLE MEJORA POTENCIAL”)
.............................................................................................................................................................. 184
FIGURA 3.96: (DIAGRAMA DE SECUENCIA DEL CASO DE USO “PRIORIZAR LOS REQUERIMIENTOS”) ......... 185
FIGURA 3.97: (DIAGRAMA DE CLASES - ENTIDADES - PARTE I) .................................................................. 186
FIGURA 3.98: (DIAGRAMA DE CLASES - ENTIDADES - PARTE II) ................................................................. 187
FIGURA 3.99: (DIAGRAMA DE CLASES - ENTIDADES - PARTE III) ................................................................ 188
FIGURA 3.100: (DIAGRAMA DE CLASES – FRAMEWORK) ............................................................................. 188
FIGURA 3.101: (DEFINICIÓN DE UN CONTROLADOR HOME) ........................................................................ 189
FIGURA 3.102: (DEFINICIÓN DE UN CONTROLADOR LIST) ........................................................................... 189
FIGURA 3.103: (DIAGRAMA DE CLASES – CONTROLADORES – HOME) ...................................................... 190
FIGURA 3.104: (DIAGRAMA DE CLASES – CONTROLADORES – LIST) ......................................................... 191
FIGURA 3.105: (DIAGRAMA DE CLASES – CONTROLADORES – ENUMERATIONS LIST) .............................. 192
FIGURA 3.106: (DIAGRAMA DE CLASES – CONTROLADORES – OTROS) ..................................................... 193
FIGURA 3.107: (MODELO DE DATOS) ........................................................................................................... 194
Página | 1
RESUMEN
En el presente proyecto se desarrolló un software orientado a la web que sirva
como herramienta de apoyo en el control del proceso de desarrollo de software, y
complemente la “Guía Básica para la Aplicación de la Técnica de Calidad Seis
Sigma al Proceso de Desarrollo de Software”. Esta Guía fue desarrollada por
estudiantes de la Escuela Politécnica del Ejército como proyecto de graduación, y
fue empleada como base para el desarrollo de este proyecto, teniendo en cuenta
que la Guía busca mejorar el nivel de eficiencia en el control de calidad del
proceso de desarrollo de software, a través de la aplicación de la técnica de
calidad Seis Sigma.
Para alcanzar el objetivo del proyecto se trabajó sobre la plataforma Java EE
5.0, y se empleó un framework web denominado JBoss Seam en su versión
2.2.0, el cual facilitó la integración de los componentes de la capa web (JSF) y la
capa de negocio (EJB 3.0/JPA) definidos por la arquitectura Java EE.
Además, todo el ciclo de vida de desarrollo del software fue cubierto por una
metodología ágil denominada ICONIX que se fundamenta en cuatro fases que
son: Análisis de Requerimientos, Análisis y Diseño Preliminar, Diseño Detallado, e
Implementación. Cabe mencionar que la herramienta CASE Enterprise Architect
facilitó la aplicación de esta metodología.
Tener presente que la mayoría de herramientas y tecnologías son open
source, y fueron utilizadas con el fin de fomentar su aplicabilidad en proyectos de
desarrollo de software basados en web.
Página | 2
CAPÍTULO I
Introducción
1.1 Tema
Implementación de un software orientado a la web que gestione la aplicación
de la técnica de calidad SEIS SIGMA al proceso de desarrollo de software, sobre
la plataforma “Java Enterprise Edition 5.0” empleando un framework integrador
“JBoss Seam 2.2.0”.
1.2 Antecedentes
Estudiantes de la Escuela Politécnica del Ejército (ESPE), Carrera de
Ingeniería en Sistemas e Informática desarrollaron una “Guía para la Aplicación
de la Técnica de Calidad Seis Sigma al Proceso de Desarrollo de Software”1,
como proyecto de graduación, esta guía será empleada para el desarrollo de una
herramienta que la complemente y sirva como apoyo en el control del proceso de
desarrollo de software.
Al contar con una guía basada en los fundamentos de Seis Sigma, depende
del equipo de desarrollo saber aplicarla adecuadamente para obtener resultados
favorables, pero, ¿Cómo manejar de manera fácil y ágil la cantidad de datos que
se generan en cada fase del proceso de desarrollo de software?, ¿Cómo obtener
información confiable que permita evaluar y mejorar en cada proyecto?, ¿Cómo
mantener disponible información que permita generar documentos entregables?,
como respuesta a estas interrogantes surgió la idea de automatizar la guía
1 Monge Daniel, A., y Mosquera Lourdes, V. (2009). Estudio de la Aplicación de Técnicas de Calidad al Proceso de Desarrollo de Software (Anexo E, código DCC- AIS - G1).
Página | 3
desarrollada por los estudiantes de la ESPE, tomando en cuenta que los
requerimientos de los usuarios son cada vez más exigentes debido a los cambios
tecnológicos, mientras los desarrolladores de software procuran utilizar varios
modelos, técnicas y herramientas para satisfacer dichos requerimientos, y obtener
sistemas fáciles de mantener, extender y modificar.
Es importante optimizar el proceso de desarrollo de software, porque los
sistemas informáticos están sujetos a diferentes innovaciones en la industria de la
tecnología, esto lleva a los desarrolladores a evolucionar para obtener
aplicaciones en menor tiempo, más vistosas y de menor costo; entonces si se
mantiene un proceso óptimo, que cumpla con estándares, será más fácil
adaptarse al cambio y entregar un producto de calidad.
1.3 Planteamiento del Problema
El proceso de desarrollo de software es muy complejo y lleva consigo alto
riesgo, existen diferentes fases que demandan organización que serán
compartidas por un grupo grande de personas con una clara distribución de
responsabilidades entre los diferentes roles que se dan en el proceso de
producción. La inadecuada utilización de recursos, adopción de malas prácticas
en sus procesos, presupuesto de tiempo y dinero insuficientes, etc., son factores
que incrementan el fracaso de un proyecto.
Según “Standish Group” (organización que recoge información sobre los
fracasos de proyectos en la Industria de la Tecnología), los últimos resultados que
han sido recopilados en su reporte “CHAOS Report 2009” publicado en Abril,
determinó que “Los proyectos de software tienen ahora una tasa de éxito del 32%
frente al 35% de un estudio anterior en el 2006 y el 16% en 1994. Por otra parte,
Página | 4
el 44% de los proyectos están cuestionados (falencias, con respecto al
presupuesto y / o con menos de las características requeridas y funciones)
mientras que el 24% de fracasos (cancelado antes de su finalización o entregadas
y no se utilizan)”2.
Figura 1.1: (Información de Proyectos en la Industria TI)
Las cifras que se muestran en la Figura 1.1, reflejan que existen problemas en
la entrega de productos, principalmente porque no se cubren los requerimientos
del cliente, procesos inmaduros, manejo inadecuado de los cambios, fallos en las
estimaciones, complejidad de la tecnología; todo esto trae como consecuencia
pérdidas económicas, desprestigio de la empresa, clientes insatisfechos, y lo que
es peor, no se detecta claramente el motivo del fracaso. Entonces, si no se aplica
un proceso de desarrollo claro y bien controlado, no se conseguirá reducir o
eliminar los defectos o fallas en la entrega del producto final al cliente.
2 Jorge Dominguez, (2009). The Curious Case of the CHAOS Report 2009. Obtenida el 5 de Noviembre del 2009, de http://www.projectsmart.co.uk/pdf/the-curious-case-of-the-chaos-report-2009.pdf
Página | 5
1.4 Justificación
Las organizaciones, tanto públicas como privadas, se ven abocadas cada vez
más a un proceso competitivo, esta competencia se ve reflejada en estrategias de
mejoramiento del servicio hacia el cliente y en reducción de los costos de
elaboración de sus productos, esto ha conducido a la rápida adopción de
sistemas informáticos capaces optimizar tareas mecánicas y rutinarias; esta
realidad impone a los proveedores de software a mejorar sus procesos de
desarrollo, avizorando el impacto que provocará la entrega de un producto de
mala calidad.
Observando la importancia que adquiere el software en el desarrollo de las
organizaciones y el esfuerzo que deben realizar las empresas que proveen
software, el presente proyecto se enfocará en apoyar el proceso de desarrollo de
software; para el efecto se desarrollará una herramienta que complemente la
“Guía Básica para la Aplicación de la Técnica de Calidad Seis Sigma al Proceso
de Desarrollo de Software”, guía que ha sido elaborada tomando en cuenta el
modelo DMAIC (Definir, Medir, Analizar, Mejorar, Controlar) de Seis Sigma una
metodología de referencia para llevar la calidad hasta niveles próximos a la
perfección.
Al disponer de una metodología que permita la aplicación de buenas prácticas
en los procesos, y una herramienta que permita llevar un control de su
aplicabilidad, se conseguirá incrementar notablemente una mejora continua en los
procesos de desarrollo de software, y con el transcurso del tiempo se podrá
disponer de información muy importante que sirva para analizar posibles falencias
Página | 6
en proyectos anteriores, con el fin de tomar medidas preventivas y/o correctivas
que fortalezcan dichos procesos.
1.5 Alcance
Empleando la guía mencionada en los antecedentes del presente proyecto, se
implementará un software orientado a la web que gestione la aplicación de la
técnica de calidad SEIS SIGMA al proceso de desarrollo de software.
La guía busca incrementar la eficiencia del proceso de desarrollo de software
tradicional, y para facilitar su aplicabilidad se ha estructurado en diferentes fases:
· Iniciación del Proyecto.
· Análisis del Sistema.
· Diseño del Sistema.
· Construcción.
· Evaluación y Aseguramiento de Calidad.
· Implementación.
Se automatizará la aplicación de esta guía con el fin de apoyar en el control
del proceso de desarrollo de software, pero sólo se tomará en cuenta las dos
primeras fases:
· Iniciación del Proyecto.
· Análisis del Sistema.
En cada fase la guía considerara la siguiente estructura:
· Objetivo(s) de la fase.
· Listado de actividades de la fase.
· Contenido de cada actividad:
§ Tarea (s).
Página | 7
§ Entregable(s).
§ Consideraciones Seis Sigma.
§ Formato(s).
Detalle de cada fase, en base a la estructura anterior:
Ø Iniciación del Proyecto:
· Objetivos:
§ Definir con claridad el problema.
§ Definir el alcance del proyecto.
§ Proponer una solución.
§ Determinar los costos y beneficios de la solución.
§ Obtener la aprobación del proyecto.
· Actividades:
§ Identificar el problema.
§ Conformar el equipo de desarrollo.
§ Identificar requerimientos preliminares.
§ Validar los requerimientos.
§ Desarrollar un estudio de fiabilidad.
§ Obtener la aprobación del proyecto.
Ø Análisis del Sistema:
· Objetivos:
§ Completar la identificación de los requerimientos que
comenzó en la fase de Iniciación del Proyecto.
§ Transformar los requerimientos de alto nivel en
especificaciones detalladas del sistema.
Página | 8
§ Crear un diseño conceptual del sistema a través del estudio
de fiabilidad detallado.
· Actividades:
§ Entender los procesos actuales.
§ Identificar los requerimientos.
§ Priorizar los requerimientos.
§ Identificar mejoras potenciales en los procesos.
§ Determinar las mejoras que tendrán el mayor impacto sobre
los requerimientos prioritarios.
§ Crear un mapa de estado detallado.
§ Evaluar el impacto y riesgos de las propuestas de mejora de
los procesos.
§ Completar el desarrollo del diseño conceptual del sistema.
§ Completar el documento de especificación de requerimientos.
§ Obtener aprobación.
Se ha establecido por cada actividad diferentes tareas, consideraciones SEIS
SIGMA y documentos entregables en base a diferentes formatos. Para
automatizar estas dos fases se analizará los puntos más relevantes de la
estructura de la guía, a fin de facilitar su aplicabilidad.
Página | 9
1.6 Objetivos
1.6.1 Objetivo General
Implementar un software orientado a la web que gestione la aplicación de la
técnica de calidad SEIS SIGMA al proceso de desarrollo de software, sobre la
plataforma “Java Enterprise Edition 5.0” empleando un framework integrador
“JBoss Seam 2.2.0”.
1.6.2 Objetivos Específicos
· Definir los requerimientos que debe cumplir el software, empleando la
guía mencionada en los antecedentes del presente proyecto.
· Analizar y Diseñar el software utilizando lenguaje UML.
· Desarrollar el software, sobre la plataforma Java EE 5.0, y empleando el
framework integrador JBoss Seam 2.2.0.
· Ejecutar pruebas funcionales y correcciones.
· Implantar el software, instalando las herramientas necesarias para su
correcto despliegue, a fin de probar el cumplimiento de todos sus
requerimientos.
Página | 10
CAPÍTULO II
Marco Teórico
2.1 Guía básica de aplicación de la técnica Seis Sigma al proceso de
desarrollo de software3
Con el fin de mejorar el nivel de eficiencia en el control de calidad del proceso
de desarrollo de software, estudiantes de la ESPE realizaron una guía a través de
la aplicación de la técnica de calidad Seis Sigma; esta guía será empleada como
base para el desarrollo del presente proyecto.
Para sustentar el desarrollo de la guía se buscó información de los
fundamentos de Seis Sigma y su relación con CMMI, se levantó información sobre
las técnicas de calidad y metodologías de desarrollo más utilizadas en la industria
del software en Ecuador, y se determinó el grado de conocimiento y aplicabilidad
de la técnica Seis Sigma en el proceso de desarrollo de software a nivel nacional.
Siendo un factor limitante para su desarrollo un análisis estadístico, en el cual
se obtuvo un bajo porcentaje de organizaciones (2%) que están familiarizadas con
la técnica de calidad Seis Sigma, se observó un gran porcentaje de
contradicciones, falencias y desconocimiento que poseen las empresas
desarrolladoras sobre los principios de aseguramiento de calidad que se pueden
aplicar en un proyecto de software. Además, se demostró que las organizaciones
desarrolladoras presentan indicios de trabajo con herramientas de calidad
(checklist), pero no aplican técnicas de calidad, se demostró también que la
estructura del equipo de desarrollo que actualmente se maneja en las
3 Monge Daniel, A., y Mosquera Lourdes, V. (2009). Estudio de la Aplicación de Técnicas de Calidad al Proceso de Desarrollo de Software.
Página | 11
organizaciones desarrolladoras, no contemplan la presencia de personal
especializado en áreas de auditoría, gestión de riesgos y mucho menos de
aseguramiento de calidad.
La guía busca fomentar el manejo de documentos específicos utilizados en
cada una de las seis fases que conforman el proceso de desarrollo de software,
además, en cada fase se plantean diferentes objetivos y actividades que debe
cumplir el equipo de desarrollo. Cada actividad está conformada por tareas,
entregables, consideraciones Seis Sigma y formato sugerido.
Para facilitar la aplicabilidad de la guía mencionada, el objetivo del presente
proyecto es automatizarla, a fin de implementar una herramienta que permita a los
desarrolladores de software, manejar de una manera fácil e intuitiva la información
que se generará en las diferentes fases del proceso de desarrollo de software.
En esta herramienta principalmente se automatizará las dos primeras fases:
“Iniciación del Proyecto” y “Análisis del Sistema”, de las seis fases que contempla
el modelo de la guía.
En la fase Iniciación del Proyecto, se gestionará datos muy importantes que
permitan definir con claridad un problema, definir el alcance del proyecto,
proponer una solución, determinar costos y beneficios de la solución, y obtener la
aprobación del proyecto. En la fase Análisis del Sistema, de igual manera se
gestionará datos que permitan la identificación de requisitos, transformar los
requerimientos de alto nivel en especificaciones detalladas, y crear un diseño
conceptual del sistema a través del estudio de fiabilidad detallado.
Para facilitar el análisis de los datos que se generarán en estas dos fases, se
proporcionará opciones para la generación de reportes en base a formatos
Página | 12
establecidos en la guía y formatos propuestos, previo al análisis de los datos más
relevantes.
Es importante recalcar que el objetivo del presente proyecto es desarrollar una
herramienta que sirva como apoyo en el control del proceso de desarrollo de
software, pero se debe tener en cuenta que para alcanzar la calidad en el
producto software, no es suficiente con solo disponer de una herramienta que
busca incrementar la eficiencia del proceso de desarrollo de software tradicional,
sino, que los miembros que forman parte de un proyecto de desarrollo de
software, asuman con responsabilidad sus roles identificados en cada fase de
dicho proceso.
2.2 Metodología ICONIX
ICONIX es una metodología simplificada en comparación con otras
metodologías más tradicionales, que unifica un conjunto de métodos de
orientación a objetos con el objetivo de abarcar todo el ciclo de vida de un
proyecto. Fue elaborado por Doug Rosenberg y Kendall Scott a partir de una
síntesis del proceso unificado de los “Three Amigos”4 Booch, Rumbaugh y
Jacobson y que ha dado soporte y conocimiento a la metodología ICONIX desde
1993. Además ICONIX está adaptado a los patrones de diseño y ofrece el soporte
de UML, dirigido por casos de uso (como RUP) y es un proceso iterativo e
incremental. Es un proceso pequeño y ligero, como XP, pero no descarta las
fases del análisis y del diseño como lo hace XP.
ICONIX se divide en dos flujos de trabajo: Dinámico y Estático, los cuales son
altamente interactivos (ver la Figura 2.1).
4 http://en.wikipedia.org/wiki/Unified_Modeling_Language
Página | 13
Figura 2.1: (Flujos de trabajo de ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
Las tres características fundamentales de ICONIX son:
Ø Iterativo e incremental.- Varias iteraciones ocurren entre el desarrollo del
modelo de dominio y la identificación de los casos de uso. El modelo
estático es incrementalmente refinado por los modelos dinámicos.
Ø Trazabilidad.- Cada paso está referenciado por algún requisito. Se define
trazabilidad como la capacidad de seguir una relación entre los diferentes
artefactos producidos.
Ø Dinámica del UML.- La metodología ofrece un uso “dinámico del UML”
como los diagramas de casos de uso, diagramas de secuencia, y
diagramas de robustez.
Página | 14
Las principales fases de ICONIX son:
Ø Análisis de Requerimientos.
Ø Análisis y Diseño Preliminar.
Ø Diseño Detallado.
Ø Implementación.
2.2.1 Análisis de Requerimientos
El trabajo es iniciado con un relevamiento informal de todos los requisitos que
en principio deberían ser parte del sistema.
Requerimientos Funcionales
Para empezar un proyecto adecuadamente, alguien (posiblemente un equipo
de analistas del negocio) hablará con el cliente, usuarios finales, y stakehoIders, a
fin de obtener un documento con un listado de requerimientos funcionales. La
definición de los requerimientos cae ligeramente fuera del alcance de ICONIX,
pero se recomienda elaborarla.
Los requisitos funcionales de alto nivel, por lo general (aunque no siempre)
empiezan con la frase “El sistema permitirá hacer…, o El sistema no permitirá
hacer…”, y son una fuente importante para crear el modelo de dominio.
Página | 15
Modelado del Dominio
Figura 2.2: (Modelo de dominio, en contexto del proceso ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
El modelado del dominio es la tarea de construir un glosario del proyecto, o un
diccionario de términos (sustantivos, nombres simples o expresiones nominales)
utilizados en un proyecto, y mostrar gráficamente cómo se relacionan entre sí
todos esos términos, pero en la práctica se trata de una simplificación de
diagrama de clases.
El modelo de dominio define el alcance de un proyecto y forma la base sobre
la cual construir los casos de uso. Un modelo de dominio, también proporciona un
vocabulario común para una comunicación clara entre los miembros de un equipo
del proyecto.
El modelo de dominio constituye la base de la parte estática, mientras que los
casos de uso son la base de la parte dinámica. La parte estática describe la
estructura, y la parte dinámica describe el comportamiento.
Página | 16
Directrices para crear el modelo de dominio
a. Iniciar con el modelo de dominio antes de escribir los casos de uso.
b. En la redacción del listado de requisitos, se debe identificar (subrayar o
resaltar) “objetos” que representan cosas y conceptos del mundo real. No
confundir un objeto con una tabla de base de datos.
c. Generar un listado ordenado alfabéticamente con todos los términos
(nombres de objetos de dominio) identificados en los requerimientos,
cambiando todos los términos en plural a singular.
d. Realizar un análisis de todos los términos, a fin de eliminar términos
ambiguos o duplicados.
e. Con la lista de objetos de dominio o clases de dominio depurada, realizar
un diagrama de clases simplificado, es decir, sin mostrar atributos, ni
métodos.
Figura 2.3: (Notación para representar una Clase)
A medida que se avance en las fases de ICONIX, se identificará los
“atributos” y “operaciones”.
f. Usar las relaciones de agregación y generalización para mostrar cómo se
asocian los objetos (clases de dominio) entre sí. ICONIX resalta que casi
Página | 17
un 95% de las asociaciones se representan modelándolas como
agregación o generalización.
Figura 2.4: (Relaciones para asociar los objetos de dominio)
g. Para mostrar cómo se asocian las clases de demonio también se puede
utilizar los otros tipos de relaciones (dependencia, asociación,
composición).
A continuación se presenta un ejemplo de un modelo de dominio.
Cliente ItemFacturaFactura
ProductoCategoriaVendedor
Figura 2.5: (Ejemplo de un Modelo de Dominio)
Ordenador
Monitor Mouse
Agregación Generalización
El símbolo de agregación es un diamante colocado en el extremo en el que está la
clase que representa el “todo”.
La relación de generalización se representa mediante un triángulo en el extremo de la relación que corresponde a la clase más
general o clase “padre”.
Departamento
Contabilidad Sistemas
Página | 18
Modelado de Casos de Uso
Figura 2.6: (Modelo de casos de uso, en contexto del proceso ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
Con un modelo de dominio inicial se procede a escribir los casos de uso del
sistema mostrando los actores involucrados. La propuesta ICONIX supone que el
modelo de dominio inicial tiene errores, por tal motivo ICONIX propone una
mejora incremental de este modelo a medida que se analice los casos de uso.
También se actualiza el modelo de dominio cuando se dibuja los “diagramas de
robustez” (que se verá en la sección, 2.2.2 Análisis y Diseño Preliminar) y secuencia.
Actores.- Un actor es una entidad externa (personas, otros sistemas,
sensores, etc.) al sistema que realiza algún tipo de interacción con el mismo. Se
representan mediante una figura humana (ver Figura 2.7).
Figura 2.7: (Representación gráfica de un actor)
Página | 19
Casos de Uso.- Un caso de uso es una descripción de la secuencia de
interacciones que se producen entre un actor y el sistema, cuando el actor usa el
sistema para llevar a cabo una tarea específica. Se representa mediante una
elipse con el nombre del caso de uso en su interior (ver Figura 2.8).
Figura 2.8: (Representación gráfica de un caso de uso)
Los casos de uso describen bajo la forma de acciones y reacciones el
comportamiento de un sistema desde el punto de vista de un usuario. Permiten
definir los límites del sistema y las relaciones entre el sistema y el entorno.
Un caso de uso es una manera específica de utilizar un sistema. Es la imagen
de una funcionalidad del sistema en respuesta a la estimulación de un actor
externo. El conjunto de funcionalidades de un sistema se determina examinando
las necesidades funcionales de cada actor. La asociación de un actor con un caso
de uso significa responsabilidades.
Directrices para escribir los casos de uso
a. El trabajo empieza identificando los casos de uso, a nivel de nombre (verbo
o frase verbal corta).
b. Para facilitar la identificación de los casos de uso se recomienda realizar
prototipos de interfaz gráfica de usuario, maquetas de pantallas, estas
son ayudas visuales muy útiles cuando se está escribiendo los casos de
uso. Por ejemplo, si un caso de uso se basa en una interfaz gráfica de
Página | 20
usuario, es importante incluir todos los botones y menús que el usuario
puede tocar para generar eventos dentro de un caso de uso. Estos
prototipos deben ser sencillos pero claros (ver Figura 2.9). Se recomienda
asignar nombres a estas interfaces, y utilizar esos nombres en las
descripciones de los casos de uso.
Figura 2.9: (Ejemplo de un prototipo GUI)
c. Dibujar diagramas de casos de uso, un diagrama de casos de uso
muestra un conjunto de casos de uso, actores y sus relaciones. Son
importantes en la captura de los requisitos funcionales del sistema.
d. Para asociar los casos de uso existen relaciones como: generalización,
<<includes>>, <<extends>>, <<precedes>>, <<invoques>>, pero ICONIX
recomienda que las más utilizadas sean <<invokes>> y <<precedes>>, las
otras relaciones en su mayoría no son necesarias.
Relación Representación Descripción Ejemplo
Generalización
El caso de uso A es un tipo del caso de uso B.
Inclusión o uso
El caso de uso B es llamado a través del caso de uso A. Cuando B finaliza, A continúa ejecutándose donde se detuvo. A depende a menudo del resultado de B.
Módulo de Administración >> Crear Usuarios
Guardar
Usuario:
Clave:
Repetir Clave:
Dirección de correo electrónico:
Cancelar
A
B
A
B
<<includes>>
Página | 21
Extensión
Todos los pasos del caso de uso A son efectuados durante la ejecución del caso de uso B, en el punto de extensión especificado en B.
Precede
El caso de uso A debe llevarse a cabo en su totalidad, antes que empiece el caso de uso B. Esto permitirá saber qué caso de uso debe programarse antes que otro.
Invoca
El caso de uso B ocurre durante la vida útil del caso de uso A.
Tabla 2.1: (Relaciones para asociar los casos de uso)
e. En el modelado de casos de uso no se debe perder mucho tiempo en
identificar las relaciones entre los casos de uso, esto se debe porque la
parte más importante del trabajo es escribir el texto de los casos de uso.
Crear grupo
Webmaster
Crear usuario
Asignar permiso al grupo
Asignar usuario al grupo
Figura 2.10: (Ejemplo de un diagrama de casos de uso)
A
B
<<extends>>
A
B
<<precedes>
>
<<invokes>> A
B
Página | 22
f. Antes de escribir los casos de uso, se debe organizar todos estos dentro
de paquetes, es decir, utilizar los diagramas de paquetes, que son una
forma de agrupar elementos fuertemente relacionados (por ejemplo,
clases, diagramas, o casos de uso). Una buena práctica para organizar los
casos de usos en paquetes, es identificando áreas funcionalmente
relacionadas (subsistemas).
Figura 2.11: (Ejemplo de un diagrama de paquetes)
g. Escribir los casos de uso, tomando en cuenta las siguientes
recomendaciones:
Ø Escribir los casos de uso en contexto del modelo de dominio, esto
es, asociar los requerimientos funcionales con los casos de uso y
con los objetos de dominio (trazabilidad). Esto significa que se debe
nombrar pantallas y objetos de dominio en el texto de los casos de
uso. De lo contrario, los requisitos de comportamiento estarán
completamente desconectados del modelo de objetos.
Ø Seguir la regla “dos párrafos”, es decir, cada caso de uso debe estar
conformado máximo por dos párrafos, incluyendo los cursos básico
y alternativo. Si algún caso de uso es demasiado largo resultará
incomprensible en el diagrama de secuencia, entonces, si es
necesario se debe dividir en dos o más casos de uso separados.
Página | 23
Ø Escribir los casos de uso en tiempo presente y voz activa, es
probable que en la redacción de los requerimientos funcionales se
encuentre texto en voz pasiva, entonces, se debe cambiar a voz
activa.
Ø Redactar los casos de uso usando la siguiente estructura:
sustantivo-verbo-sustantivo, esto facilitará el diseño de los
diagramas de secuencia, ya que estos están orientados alrededor
de los sustantivos y verbos:
· Los sustantivos.- Son las instancias de objetos, estos por lo
general vienen del modelo de dominio (entidades) o son
objetos de la interfaz gráfica de usuario.
· Los verbos.- Son los mensajes entre los objetos, estos
representan las funciones del software (controladores) que
deben ser construidos.
Ø Escribir los casos de uso usando flujos de evento/respuesta; cuando
se escribe los escenarios de los casos de uso, se está describiendo
la interacción del usuario con el sistema. Sin embargo, la iteración
es en doble sentido, se debe describir el comportamiento del
sistema, además del comportamiento del usuario. En general un
caso de uso, constará de varias etapas. Cada paso involucra un
evento y una respuesta: la acción del usuario y la reacción del
sistema, o viceversa.
Página | 24
Figura 2.12: (Escenario de un caso de uso) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
Ø Si se dispone de manuales de usuario, utilizar estos para extraer los
casos de uso.
Para presentar la especificación de cada caso de uso se recomienda utilizar la
siguiente plantilla:
Especificación del caso de uso “<<nombre del caso uso>>”
a. Caso de Uso: [Clave y nombre del caso de uso.]
b. Precondiciones: [Una precondicción (de un caso de uso) es el estado del
sistema que debe existir antes de que inicie la ejecución del caso de uso,
generalmente son aspectos que no van a ser validados durante el caso de
uso, sino que se dan por cierto.]
b.1. Precondicón 1…
b.2. Precondición 2…
c. Flujo de Eventos:
Página | 25
c.1. Flujo Básico: [Debe ser redactado en forma de diálogo entre el actor y el
sistema o viceversa.]
c.2. Flujos Alternativos: [Cada flujo alterno representa un comportamiento
diferente (muchas veces, debido a las excepciones que pueden ocurrir en
el flujo principal).]
c.2.1. Flujo alternativo 1…
c.2.2. Flujo alternativo 2…
d. Pos condiciones: [Una postcondición (de un caso de uso) es una lista de
posibles estados del sistema que pueden existir después de que termine la
ejecución del caso de uso.]
d.1. Pos condición 1…
d.2. Pos condicón 2…
Antes de empezar con la siguiente fase Análisis y Diseño Preliminar, se debe
garantizar que el modelo de dominio y los casos de uso trabajen juntos, a fin de
abordar las necesidades del cliente. Las personas involucradas en este punto
son: el cliente, los usuarios finales, gerente de marketing, básicamente todos los
interesados en el proyecto.
2.2.2 Análisis y Diseño Preliminar
Para ir de los casos de uso al diseño detallado (y luego al código), es
necesario vincular los casos de uso a los objetos. Una técnica utilizada como
puente para ir del análisis al diseño es el Análisis de Robustez.
Página | 26
Análisis de Robustez
Figura 2.13: (Análisis de Robustez, en contexto del proceso ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
El análisis de robustez facilita el reconocimiento de objetos, sirve para
identificar más y mejores clases antes del desarrollo de los diagramas de
secuencia. Esta técnica sirve como interfaz entre el “que” y el “como” de un
análisis. Además el análisis de robustez provee una gran ayuda para saber si las
especificaciones del sistema son razonables.
Realizar diagramas de robustez.- Se debe ilustrar gráficamente las
interacciones entre los objetos participantes de un caso de uso. Estos diagramas
permiten analizar el texto narrativo de cada caso de uso e identificar un conjunto
inicial de objetos participantes de cada caso de uso.
Los símbolos utilizados en el diagrama de robustez son:
Ø Objetos interfaz (Pantallas).- Usados por los actores para interactuar con
el sistema (es decir, la capa de presentación). Ejemplo: ventanas, diálogos
y menús.
Página | 27
Ø Objetos entidad (Almacenamientos).- Son objetos del modelo de
dominio.
Ø Objetos controladores (Gestores).- Es la unión entre la interfaz y los
objetos entidad. Sirven como conexión entre los usuarios y los datos.
Es útil pensar en los objetos interfaz y los objetos entidad como sustantivos, y
los objetos controladores como si fueran verbos.
Figura 2.14: (Símbolos utilizados en el Diagrama de Robustez) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
Reglas básicas para realizar los diagramas de robustez
Ø Actores solo pueden comunicarse con objetos interfaz.
Ø Las interfaces solo pueden comunicarse con controles y actores.
Ø Los objetos entidad solo pueden comunicarse con controles.
Ø Los controles se comunican con interfaces, objetos entidad y con otros
controles pero nunca con actores.
Tomando en cuenta que los objetos entidad y la interfaces son sustantivos y
los controles son verbos. Se puede enunciar de manera sencilla que los
Sustantivos (objetos) Verbo (acción)
<<Boundary>>Objeto Interfaz
<<Entity>>Objeto Entidad
<<Control>>Objeto Controlador
Página | 28
sustantivos nunca se comunican con otros sustantivos, pero los verbos, si
se comunican con otros verbos y a su vez con sustantivos.
Estas reglas ayudan a cumplir el formato sustantivo-verbo-sustantivo sugerido
para escribir el texto de los casos de uso.
Directrices para elaborar el análisis de robustez
a. Se debe graficar un diagrama de robustez por cada caso de uso, el
diagrama debe contemplar el flujo normal y todos los flujos alternativos.
b. El texto de las etiquetas empleadas en los diagramas de robustez, debe
ser tomada del texto de los casos de uso. Debido a que un diagrama de
robustez es esencialmente una representación gráfica de un caso de uso.
c. Para nombrar los objetos entidad, emplear el nombre de los objetos de
dominio (ver el “Modelo de dominio”).
d. Mientras se dibuja los diagramas de robustez, se debe “actualizar el
modelo de dominio” de forma incremental, es decir, agregar los nuevas
clases de dominio y atributos identificados.
e. Es importante “rescribir los casos de uso” en paralelo con la elaboración
de los diagramas de robustez. Esto se debe, a que al dibujar un diagrama
de robustez, se obliga a trabajar a través del texto del caso de uso, una
frase a la vez.
f. Utilizar un objeto interfaz por cada pantalla, esto ayuda a identificar los
nombres de pantallas.
Página | 29
g. Tener en cuenta que:
· Los controladores son funciones lógicas del software.
· Las interfaces y clases de entidad en un diagrama de robustez, se
convertirán en instancias de objetos en un diagrama de secuencia,
mientras que los controladores se convertirán en los mensajes.
· Un diagrama de robustez es un “objeto imagen” de un caso de uso.
· Los “atributos” se pueden descubrir en el texto de los casos de uso,
o de los prototipos de interfaz de usuario, o incluso de los
requerimientos funcionales.
Figura 2.15: (Ejemplo de un diagrama de robustez, para el caso de uso Mostrar lista de Libros)
Traducción propia del libro “Use Case Driven Object Modeling with UML”
Página | 30
Antes de empezar con el Diseño Detallado, se debe asegurar que los
diagramas de robustez, el Modelo de Dominio y el texto de los casos de uso
coincidan entre sí.
Se recomienda que no se asigne las operaciones a las clases de dominio, ya
que esta es una actividad del Diseño Detallado.
2.2.3 Diseño Detallado
Figura 2.16: (Diseño detallado, en contexto del proceso ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
En esta fase se creará un diseño detallado de los casos de uso, por tal motivo,
el texto de los casos de uso debe estar completo, correcto y detallado. Además se
debería disponer de casi todas las clases de dominio.
El diseño detallado es conocido como la asignación de comportamiento, es
decir, la asignación de las funciones del software. Para conducir el diseño
detallado se puede utilizar los diagramas de secuencia. Tener en cuenta que
hay una relación directa entre cada caso de uso, su diagrama de robustez, y los
diagramas de secuencia.
Página | 31
Diagrama de secuencia
El diagrama de secuencia es el núcleo del modelo dinámico y muestra todos
los cursos alternos que pueden tomar todos los casos de uso, además, muestra
interacciones entre objetos según un punto de vista temporal.
A pesar de que a partir de los diagramas de casos de uso y de los diagramas
de robustez ya se dispone entre un 75 y 80 por ciento de atributos de las clases
identificadas, es hasta los diagramas de secuencia donde se empiezan a ver qué
métodos llevaran las clases del sistema.
Notación de un diagrama de secuencia
En el siguiente ejemplo se muestra como está compuesto un diagrama de
secuencia.
Figura 2.17: (Notación de un diagrama de secuencia) Gráfico del libro “Use Case Driven Object Modeling with UML”
Página | 32
Directrices para dibujar los diagramas de secuencia
a. Dibujar un diagrama de secuencia por cada caso de uso.
b. Se recomienda pegar el texto (flujo básico y alternativo) del caso de uso en
una nota en el margen izquierdo del diagrama de secuencia.
c. En la parte superior del diagrama de secuencia copiar: actores, objetos de
tipo interfaz y entidad, identificados en el diagrama de robustez. Los
objetos controladores (verbos) del diagrama de robustez se convierten en
mensajes.
d. Mostrar cómo el comportamiento del caso de uso es llevada a cabo por los
objetos controladores del diagrama de robustez, es decir, mostrar cómo los
objetos interactúan mediante el envío de mensajes unos a otros. A menudo
un controlador se convierte en dos o más operaciones.
e. Asignar las operaciones a las clases mientras se dibuja los mensajes.
Es posible detectar nuevos atributos, estos deben incluirse en el diagrama
de clases.
f. Tener en cuenta que, mensajes, métodos, funciones, operaciones, verbos
y controladores, todos estos son básicamente diferentes versiones de lo
mismo: el comportamiento que se puede asignar a una clase (a través de
diagramas de secuencia) y, finalmente implementar y probar.
Antes de empezar a codificar se debe finalizar el modelo estático, adicionando
los detalles del diseño (tipos de datos, multiplicidad, etc.) en el diagrama de
Página | 33
clases. Por último verificar si el diseño satisface todos los requerimientos
identificados.
2.2.4 Implementación
Figura 2.18:(Implementación, en contexto del proceso ICONIX) Traducción propia, del libro “Use Case Driven Object Modeling with UML”
Después de realizar un buen análisis y diseño, se procede a generar el
código, tomando en cuenta algunos factores como:
Ø La reusabilidad.- Que es la posibilidad de hacer uso de los componentes
en diferentes aplicaciones.
Ø La extensibilidad.- Que consiste en modificar con facilidad el software.
Ø La confiabilidad.- Realización de sistemas descartando las posibilidades
de error.
Realizar pruebas. Test de unidades, de casos, datos y resultados. Test de
integración con los usuarios para verificar la aceptación de los resultados.
Página | 34
Si al codificar se detecta algún error en el diseño, se debe corregir
inmediatamente.
2.2.5 Resumen ICONIX
Con el fin de facilitar la aplicación de la Metodología ICONIX, se presenta un
resumen de las fases de ICONIX.
METODOLOGÍA ICONIX Fase Actividad Técnica /
Notación Entregable/Artefacto
Análisis de Requerimientos
Definir requerimientos funcionales
Entrevistas, encuestas, con las personas interesadas en el Proyecto.
· Documento: Listado de Requerimientos.
Modelar el dominio
· Modelo de Dominio.
· Lenguaje UML.
· Modelo de Domino Inicial.
Modelar los casos de uso
· Prototipado. · Diagrama de
casos de uso. · Diagrama de
paquetes. · Lenguaje UML.
· Prototipo GUI. · Diagramas de Casos
de Uso. · Diagrama de
Paquetes. · Especificación de
casos de uso (Borrador).
Análisis y Diseño
Preliminar
Realizar análisis de robustez
· Diagrama de robustez.
· Lenguaje UML.
· Diagrama de Robustez por cada caso de uso.
· Especificación de casos de uso.
· Modelo de dominio actualizado.
Diseño Detallado
Asignar comportamiento
· Diagrama de secuencia.
· Lenguaje UML.
· Diagrama de secuencia por cada caso de uso.
· Diagrama de Clases. · Modelo de Datos.
Implementación
Generar código Utilizar seam-gen 2.2.0.GA. · Código fuente.
Realizar pruebas funcionales
Interacción con usuario final.
· Software funcionando correctamente.
Tabla 2.2: (Resumen de ICONIX)
Página | 35
En la fase de Implementación se utilizará como técnica para generar el código
inicial (estructura del proyecto) la herramienta seam-gen (que se verá en la sección,
2.5 Herramientas de Desarrollo).
2.3 Plataforma Java EE 5.0
2.3.1 Introducción
La Plataforma Java (originaria de la ex empresa “Sun Microsystems”) es un
entorno, orientado a ejecutar aplicaciones desarrolladas en lenguaje de
programación java. Con el tiempo ha evolucionado y se han creado tres ediciones
(plataformas) distintas con funciones específicas, a fin de abarcar el desarrollo de
diferentes tipos de aplicaciones.
A continuación se nombran las tres plataformas definidas por Sun:
Ø Plataforma Java, Edición Micro (Java Platform, Micro Edition), o Java
ME (antes J2ME).- Aplicaciones para dispositivos móviles, orientadas a
entornos de recursos limitados, como teléfonos móviles, PDAs (Personal
Digital Assistant), etc.
Ø Plataforma Java, Edición Estándar (Java Platform, Standard Edition), o
Java SE (antes J2SE).- Aplicaciones de escritorio y applets.
Ø Plataforma Java, Edición Empresa (Java Platform, Enterprise Edition),
o Java EE (antes J2EE).- Aplicaciones distribuidas multicapa sobre Web.
En esta sección se describirá con más detalle la plataforma Java EE, ya que el
objetivo del presente proyecto es implementar un software sobre esta plataforma,
empleando un framework integrador JBoss Seam (que se verá en la sección, 2.6
Página | 36
Framework de Implementación) el cual reúne algunas tecnologías de Java EE, como:
JSF, EJB 3.0, JPA, entre otras.
2.3.2 Que es Java EE
Java EE es un entorno de programación, que define un conjunto de
especificaciones de APIs Java, para el desarrollo de aplicaciones distribuidas
multicapa (3-capas, n-capas) basadas en web, empleando el lenguaje de
programación Java.
En la plataforma Java EE 5.0 se incorporaron algunos cambios profundos de
modelo conceptual, arquitectura y estrategia de desarrollo. Cambios tales como:
Ø Simplificación del desarrollo de componentes de la capa de negocio (idea
principal de esta versión).
Ø Los ficheros descriptores de despliegue XML son opcionales, en su lugar
se puede utilizar “annotations” (anotaciones, también conocidos como
metadatos) que serán interpretadas por el servidor de aplicaciones Java
EE en tiempo de ejecución. Estas anotaciones se las reconoce dentro del
código fuente java ya que empiezan con el símbolo “@”, por ejemplo
@EJB, @Id, entre otras.
Ø Java EE 5 proporciona anotaciones que cumplen diferentes tareas tales
como: definir y usar Web Services, desarrollar aplicaciones EJB, mapeo de
clases Java a XML o a Bases de datos, mapeo de métodos a operaciones,
especificación de dependencias externas, especificación de información de
despliegue incluyendo seguridad.
Página | 37
Ø Se programa en términos de objetos (entidades) y no en términos de tablas
de base de datos.
2.3.3 Arquitectura Java EE
Java EE permite definir una arquitectura multicapa en la que cada una de las
capas está orientada a proporcionar un tipo específico de funcionalidad a una
aplicación.
La arquitectura contempla cuatro capas, en función al tipo de servicio y
contendor:
Ø Capa Cliente.- También conocida como capa de presentación o de
aplicación, en ella se ubican los clientes finales. Generalmente está
compuesta por los programas que interactúan con el usuario de la
aplicación.
Ø Capa Web.- Intermediario entre el cliente y otras capas, aunque
componentes de la capa cliente (applets o aplicaciones) pueden acceder
directamente a la capa EJB. Los componentes de esta capa utilizan el
protocolo HTTP para recibir peticiones de los clientes y enviar respuestas a
los mismos.
Ø Capa Enterprise JavaBeans (EJB).- También conocida como capa de
negocio, en ella se ubican las reglas de negocio de una aplicación que son
implementadas usando componentes EJB. Principalmente los EJB van a
permitir que múltiples componentes de la aplicación tengan acceso a la
lógica y datos de negocio de forma concurrente.
Página | 38
Ø Capa Enterprise Information Systems (EIS).- Llamada la capa de
sistemas de información empresarial, es la encargada de gestionar la
información permanente del sistema. En esta capa la aplicación Java EE
se conecta con tecnologías como RDBMS.
2.3.4 Componentes de la arquitectura Java EE
Las aplicaciones Java EE están hechas a base de componentes. Siendo un
componente una unidad de software auto contenida que es ensamblada dentro de
una aplicación Java EE, con sus clases relacionadas y ficheros que se comunican
con otros componentes.
La especificación de Java define los siguientes componentes Java EE5:
Ø Las aplicaciones clientes y Applets, son componentes que se ejecutan en
el cliente.
Ø Java Servlets, JavaServer Faces (JSF), y JavaServer Pages (JSP), son
componentes web que se ejecutan en el lado del servidor.
Ø Enterprise JavaBeans (EJB), son componentes (beans empresariales) de
negocio y persistencia que se ejecutan en el lado del servidor.
Tener en cuenta que los componentes se comunican entre sí mediante
métodos estándar como: HTTP, SSL, XML, RMI e IIOP.
A continuación se detalla cada uno de los componentes Java EE antes
mencionados:
5 Sun Microsystems, Inc. The Java EE 5 Tutorial. Santa Clara, U.S.A
Página | 39
Clientes Java EE
Puede ser un cliente web o una aplicación cliente.
Ø Cliente web, consiste en una página web dinámica (generada por
componentes web), y un navegador web que despliega las páginas.
Además, si es necesario una página web puede alojar un Applet
incrustado. Un Applet es una pequeña aplicación escrita en lenguaje java
que se ejecuta en la máquina virtual de java (JVM) en el navegador web.
Ø Aplicación cliente, se ejecuta en la máquina cliente y proporciona una
GUI creada con la API de Swing o AWT.
Componentes web
Pueden ser: Servlets o páginas creadas utilizando tecnología JavaServer
Faces (JSF) y/o tecnología JavaServer Pages (JSP). Estos componentes se
ejecutan en un contenedor (servidor) Web y son responsables de componer la
presentación de datos en formato HTML.
Componentes de negocio
Pueden ser: Enterprise JavaBeans (EJB).
Ø Se ejecutan en un contenedor (servidor) de EJBs.
Ø Responsables de implementar la lógica de negocio y acceso a datos.
Ø Los EJBs reciben datos de un programa cliente, los procesan (si es
necesario) y los envían a la capa EIS para almacenarlos.
Página | 40
Ø Un EJB puede conectarse a cualquier capa, aunque su misión esencial es
conectarse con los sistemas de información empresarial (como un gestor
de base de datos, un ERP, etc.).
La capa del sistema de información empresarial
Ø Capa de datos.
Ø Maneja el software EIS e incluye sistemas que son infraestructura como
planeadores de recursos empresariales (ERPs), procesamiento de
transacciones mainframe, sistemas de bases de datos y otros sistemas
legados.
En el siguiente gráfico se ilustra una visión general de la arquitectura Java EE.
Figura 2.19: (Arquitectura Java EE y sus componentes)
2.3.5 Tecnologías y APIs más relevantes.
2.3.5.1 Java Database Connectivity (JDBC)
JDBC es un API estándar de Java para ejecutar sentencias SQL. Está
formado por un conjunto de clases e interfaces escritas en el lenguaje de
Página | 41
programación Java. Provee acceso a una gran variedad de base de datos
relacionales (RDBMS).
JDBC está diseñado para ser independiente de la plataforma, además provee
una interface de programación única, que independiza a las aplicaciones del
motor de base de datos usado.
Esta API está formada por dos componentes:
Ø Una interfaz a nivel de aplicación que usan los componentes para poder
acceder a la base de datos.
Ø Una interfaz del proveedor de servicios (base de datos) que hace de
puente entre el controlador JDBC y la plataforma Java EE.
La idea de utilizar esta API JDBC es que cualquier aplicación (java) que
requiera acceder a una base de datos, solo deba comunicarse con la interfaz
JDBC sin importar la base de datos. Esta interfaz será la encargada de
comunicarse con los RDBMS. Esto hace que no se necesite conocer el
funcionamiento de un RDBMS en particular, al contrario solo hay que conocer el
funcionamiento de JDBC (ver Figura 2.20).
Figura 2.20: (Esquema JDBC)
Página | 42
Para acceder a una base de datos (desde programas java) se requiere de un
driver JDBC, en el cual se encuentran definidas un conjunto de interfaces que el
proveedor de base de datos implementa. Este driver es usado por la JVM para
traducir las invocaciones JDBC genéricas en invocaciones que la base de datos
propietaria entiende. Los drivers (controladores) son clases Java que se cargan
en ejecución.
Existen cuatro tipos de controladores:
a. Puente JDBC-ODBC más driver ODBC.- Suministra acceso vía drivers
ODBC. No es muy productiva ya que necesita ser configurada para un
controlador ODBC concreto, y en muchos casos el código cliente de base
de datos, debe cargarse en cada máquina cliente que use este driver.
Figura 2.21: (Funcionamiento del controlador JDBC de tipo 1)
b. Driver Java parcialmente Nativo.- Este driver se encuentra escrito
parcialmente en Java y parcialmente escrito en el código nativo que
comunica con el API de la base de datos. Este driver requiere que cierto
código binario sea cargado en cada máquina cliente.
Página | 43
Figura 2.22: (Funcionamiento del controlador JDBC de tipo 2)
c. Driver Java nativo JDBC-Net.- Este driver está escrito en java puro y se
encarga de traducir llamadas JDBC al protocolo de red independiente del
DBMS que después es traducido en el protocolo del DBMS mediante un
servidor genérico de base de datos.
Figura 2.23: (Funcionamiento del controlador JDBC de tipo 3)
d. Driver Java puro y protocolo-nativo.- Este driver está escrito en java
puro y se comunica directamente a la base de datos con el protocolo de
red del DBMS. No requiere de intermediarios entre el software JDBC y la
base de datos.
Figura 2.24: (Funcionamiento del controlador JDBC de tipo 4)
Por lo general los proveedores de DBMS proporcionan drivers del tipo 4, para
la comunicación con sus bases de datos.
Página | 44
Debido a que en el presente proyecto se va utilizar MySQL como RDBMS se
empleará el driver nativo (tipo 4) Connector/J (que se verá en la sección, 2.5.4 Sistema
de Gestión de Base de Datos Relacionales (RDBMS)), el cual permite la comunicación
directa de JDBC con MySQL.
2.3.5.2 Enterprise JavaBeans (EJB 3.0)
También conocidos como Enterprise Beans, estos son componentes del lado
del servidor que encapsulan la lógica de negocio de una aplicación y son
administrados por el contenedor de EJBs. Básicamente los EJBs son empleados
para construir aplicaciones de negocio portables, reusables y escalables usando
el lenguaje de programación Java; para esto la especificación EJB 3.0 define una
arquitectura de componentes que facilita la implementación de este tipo de
aplicaciones.
En la especificación 3.0, los Enterprise Beans no son más que simples POJOs
(Plain Old Java Objects), en otras palabras son clases planas comunes y
corrientes de java. Estas clases pueden ser configuradas por los programadores
usando annotations (también llamados metadata), con el fin de agregar
diferentes servicios que deberá proveer el servidor de aplicaciones. En la
siguiente figura se ilustra como una anotación transforma un simple POJO en un
EJB.
Figura 2.25: (Interpretación de un EJB)
Página | 45
Con el uso de matadata el servidor de aplicaciones (a través del contenedor
de EJBs y el proveedor de persistencia) proveerá servicios de nivel de sistema
a los Enterprise Beans, servicios tales como la concurrencia, la persistencia, la
seguridad, las transacciones, entre otras; esto ha simplificado considerablemente
el desarrollo de aplicaciones empresariales, debiendo el programador enfocarse
más en la lógica de negocio y de presentación.
En la Figura 2.26 se muestra una arquitectura tradicional de cuatro capas, en
la cual se resalta las capas de lógica de negocio y de persistencia que se
implementan empleando la tecnología EJB 3, además se puede observar con más
detalle los diferentes servicios que se proveen a los componentes EJB 3 de estas
dos capas.
Figura 2.26: (Capas y servicios soportados por la tecnología EJB 3.0) Generado a partir de dos gráficos, del libro “EJB 3 in Action”, pág. 10.
Tipos de Enterprise Beans
La especificación 3.0 define tres tipos de componentes EJBs:
a. Beans de sesión (session beans).
Capa de Presentación
Capa de Base de Datos
Capa de Lógica de Negocio
Security
Interceptors
Remoteability
Web Services
Transactions
Integration
Pooling
Thread-Safety
State Management
Messaging
Capa de Persistencia Integration
Persistence
Caching
Página | 46
b. Beans dirigidos por mensajes (message-driven beans).
c. Entidades (entities).
Antes de describir cada uno de estos componentes, se presenta una figura en
la cual se puede observar cómo está organizado el API EJB 3.
Figura 2.27: (Organización del API EJB3)
Los session beans y los message-driven beans son los responsables del
procesamiento de la lógica de negocio, y están administrados por el contenedor
EJB. Hasta J2EE 1.4 existían los entity beans, pero en Java EE 5.0 han sido
reemplazados por las entidades JPA (objetos persistentes), las cuales son
administradas por el proveedor de persistencia a través de la interface
EntityManager.
Beans de sesión (session beans)
Este tipo de componentes residen en la capa de lógica de negocio, y son
invocados por el cliente con el propósito de ejecutar operaciones (métodos de los
session beans) de negocio específicas. Un session beans representa una
conversación temporal con un cliente.
EJB 3
Session beans
JPA
Message-driven beans
Entities
Página | 47
Hay dos tipos de session beans:
a. Beans de sesión con estado (stateful session beans).- Tener presente
que el estado de un objeto consiste en los valores de las variables de su
instancia. Este tipo de beans conserva el estado de sus atributos a lo largo
de toda una sesión. Un ejemplo típico de uso de estos beans, es en
aplicaciones tipo wizard (programa intuitivo que guía paso a paso al
usuario para realizar una tarea).
b. Beans de sesión sin estado (stateless session beans).- Este tipo de
beans no conserva el estado de sus atributos. Son los únicos que pueden
exponerse como web services.
Beans dirigidos por mensajes (message-driven beans)
También residen en la capa de lógica de negocio y los servicios que proveen
son parecidos a los session beans, con la diferencia de que los MDBs (message-
driven beans) son usados para invocar métodos de forma asincrónica.
Un MDB es accionado por mensajes enviados a un servidor de mensajería
(que permite el envío asíncrono de mensajes entre componentes del sistema), es
decir, los clientes nunca invocan directamente métodos de los MDBs. Los
mensajes pueden ser enviados por cualquier componente de Java EE (una
aplicación cliente, otro enterprise bean, o un componente web) o por una
aplicación JMS o sistema que no utiliza la tecnología Java EE.
Cuando se invoca un método de un MDB desde un cliente, la llamada no
bloquea el código cliente y el mismo puede seguir ejecutándose, sin tener que
Página | 48
esperar indefinidamente por la respuesta del servidor. Los MDBs encapsulan el
popular servicio de mensajería de Java (JMS).
Entidades (entities)
Al contrario de los otros componentes este reside en la capa de persistencia.
Las entidades JPA son clases POJOs, no extienden de ninguna clase y no
implementan ninguna interface. Normalmente una entidad representa una tabla
en el modelo de datos relacional y cada instancia de esta entidad corresponde a
un registro de esa tabla.
En EJB 3 la persistencia es administrada por la Java Persistence API (JPA), la
cual persiste objetos java (entidades) usando la técnica ORM (Object Relational
Mapping - Mapeo objeto relacional).
2.3.5.3 Java Persistence API (JPA)
JPA es una API de persistencia desarrollada para la plataforma Java EE e
incluida en el estándar EJB 3. Pero también puede funcionar independientemente
del resto de componentes EJB 3, hasta puede ser usado por una aplicación Java
SE (aplicación desktop). JPA proporciona un modelo de persistencia basado en
POJOs para mapear bases de datos relacionales.
El estándar JPA define6:
Ø El mapeo objeto relacional (ORM), mediante metadata que mapea
entidades (objetos java) a tablas relacionales. Esto hace que no sea
necesario el uso de ficheros descriptores XML.
6 Debu Panda, Reza Rahman, Derek Lane, (2007). EJB 3 in Action. United States of America: Manning Publications Co.
Página | 49
Ø La interface EntityManager, que define una API estándar para realizar las
operaciones de persistencia (CRUD) de las entidades.
Ø El Java Persistence Query Language (JPQL), para consultas y lecturas
de datos de aplicación persistidos (algo así como un SQL orientado a
objetos).
Fue desarrollado por el grupo de expertos de EJB 3 combinando ideas y
conceptos de los principales frameworks de persistencia como Hibernate,
Toplink, JDO y de las versiones anteriores de EJB, y también JDBC con DAO.
Tener en cuenta que los frameworks que permiten aplicar la técnica ORM se los
conoce como frameworks ORM, es así que en términos EJB 3 un proveedor de
persistencia es básicamente un framework ORM que soporte JPA.
En este contexto, al codificar el software que es el objetivo del presente
proyecto se utilizará como proveedor de persistencia JBoss Hibernate el cual es
distribuido bajo los términos de la licencia GNU LGPL (software libre), además es
el proveedor de persistencia por defecto de JBoss Application Server (que se
verá en la sección, 2.5.5 Servidor de Aplicaciones) que es el servidor de aplicaciones Java
EE que también se empleará en el presente proyecto.
Mapeo Objeto Relacional (ORM – Object Ralational Mapping)
ORM es una técnica de programación muy útil para mapear (o persistir)
objetos/atributos (entidades JPA) a tablas/campos con sus correspondientes
relaciones, es decir es una técnica que permite manejar datos en Base de Datos
Relaciones mediante objetos.
Página | 50
Como se mencionó anteriormente el mapeo se realiza mediante anotaciones
(metadata), aunque esta tarea también se puede realizar a través de ficheros
XML, pero en este proyecto se mostrará como efectuar el mapeo utilizando
anotaciones. En este caso se empleará anotaciones JPA, conocidas también
como anotaciones EJB 3.0 que se encuentran en el paquete “javax.persistence.*”.
Las anotaciones JPA se clasifican en dos categorías:
Ø Anotaciones de mapeo lógico, que permiten describir el modelo de
objetos, asociaciones de clases, etc.
Ø Anotaciones de mapeo físico, que describen esquemas físicos de base
de datos, tablas, columnas, índices, etc.
JPA reconoce dos tipos de clases persistentes: las clases entidad y las clases
inmersas o embebidas.
En la siguiente tabla se muestra un conjunto de anotaciones JPA que serán
las más utilizadas en este proyecto.
Anotaciones JPA Anotación Valores posibles Descripción
@Entity § name: por defecto el nombre de la clase,
pero se puede especificar otra diferente.
Define una clase como un bean de entidad, es decir la clase va a ser persistente.
@Table
§ name: nombre de la tabla, por defecto el nombre de la entidad.
§ catalog: nombre del catálogo. § schema: nombre del esquema. § uniqueConstraints: constrains entre tablas
relacionadas.
Especifica la tabla relacionada con la entidad.
@Column
§ name: nombre de la columna, por defecto el nombre del atributo de la clase entidad.
§ unique: si el campo tiene un único valor. § nullable: si el campo permite valores nulos. § insertable: si la columna se incluirá en la
sentencia INSERT generada. § updatable: si la columna se incluirá en la
sentencia UPDATE generada. § table: nombre de la tabla que contiene la
columna.
Define una columna de la tabla a mapear con un atributo de la entidad.
Página | 51
§ lenght: longitud de la columna. § precisión: número de dígitos decimales. § scale: escala decimal.
@JoinColumn
§ name: nombre de la columna de la foreign key.
§ referenced: nombre la columna referencia. § unique: si el campo tiene un único valor. § insertable: si la columna se incluirá en la
sentencia INSERT generada. § updatable: si el campo se incluirá en la
sentencia UPDATE generada. § table: nombre de la tabla que contiene la
columna.
Define un campo de la tabla que es foreign key de otra tabla definiendo la relación del lado propietario.
@Id - Indica la clave primaria de la tabla. @Transient - Indica que el campo no debe persistir.
@OneToOne
§ cascade: indica la forma en que se deben actualizar los campos: ALL, PERSIST, MERGE, REMOVE y REFRESH.
§ fetch: determina la forma en que se cargan los datos: FetchType.LAZY (carga de la entidad únicamente cuando se utiliza), FetchType.EAGER (carga de todas las entidades relacionadas con ella).
§ optional: si la asociación es opcional. § mappedBy: el campo que posee la
relación, únicamente se especifica en un lado de la relación.
(1:1) Cada instancia de una entidad está relacionada a una sola instancia de otra entidad.
@ManyToOne § cascade, fetch y optional: igual que la
anterior anotación.
(N:1) Muchas instancias de una entidad se relacionan a una sola instancia de otra entidad.
@OneToMany
§ cascade, fetch y optional: igual que la anterior anotación.
§ mappedBy: el campo que posee la relación. Es obligatorio que la relación sea unidireccional.
(1:N) Una entidad puede relacionarse a múltiples instancias de otra entidad.
@ManyToMany § cascade, fetch y mappedBy: igual que la
anotación @OneToOne.
(N:M) Las instancias de una entidad se pueden relacionar con múltiples entidades de otra clase y viceversa.
@Enumerated - Indica que el campo es un tipo enumerado (STRING), por defecto ORDINAL.
Tabla 2.3: (Anotaciones EJB 3/JPA)
Para entender mejor el uso de las anotaciones antes mencionadas se describe
el siguiente ejemplo:
v Se desea registrar empresas con los siguientes datos: identificación,
nombre, dirección y fono; además registrar los empleados que forman
parte de la misma con los siguientes datos: identificación, número de
cédula, nombre, apellido, género, correo electrónico, y número telefónico.
Página | 52
Tener en cuenta que los valores permitidos para género son: Masculino o
Femenino.
Primero se diseñó un diagrama de clases que soporte los requerimientos
anteriores.
Empresa
- id: int- nombre: String- direccion: String- fono: String
Empleado
- id: int- cedula: String- nombre: String- apellido: String- email: String- telefono: String
«enumeration»
Genero
MASCULINO FEMENINO
1 1..*
Figura 2.28: (Ejemplo de uso de las anotaciones JPA, Parte 1)
Como se puede observar en la figura anterior se han creado tres clases que
son “Empresa”, “Empleado” y “Genero”; la clase Genero es de tipo Enumerado
creada con el fin de restringir los valores posibles de género. Luego se creó el
modelo entidad relación como se puede observar en la siguiente figura.
Figura 2.29: (Ejemplo de uso de las anotaciones JPA, Parte 2)
Finalmente, en base al modelo entidad relación se realiza el mapeo sobre las
clases planas de java (POJOs), cuyo código fuente se puede observar a
continuación:
Página | 53
Figura 2.30: (Ejemplo de uso de las anotaciones JPA, Parte 3)
Página | 54
Este ejemplo fue realizado empleando las herramientas de diseño y desarrollo
descritas más adelante.
2.3.5.4 JavaServer Faces (JSF)
La tecnología JSF es un marco de trabajo (framework para capa web) que
simplifica el desarrollo de interfaces de usuario en aplicaciones Java EE. Este
framework implementa el patrón MVC (Modelo-Vista-Controlador), el cual separa
las aplicaciones en tres capas diferenciadas (ver figura 2.31): datos (Modelo),
interfaz de usuario (Vista) y lógica de control (Controlador). Esto permite que el
mantenimiento de las aplicaciones JSF sea sencillo.
Figura 2.31: (Modelo MVC)
JavaServer Faces es un conjunto de componentes de usuario (UI) para
construir la capa de vista de las aplicaciones web.
JSF define un conjunto de APIs para representar componentes de interfaz de
usuario (UI-User Interface), y gestionar su funcionamiento mediante el tratamiento
de eventos, las validaciones de entrada, la definición de un esquema de
navegación entre páginas y el soporte para internacionalización y accesibilidad.
Página | 55
2.4 Herramientas de Diseño
2.4.1 Introducción
En el mercado existen numerosas herramientas CASE para llevar a cabo el
Análisis y Diseño de cualquier sistema. Se ha seleccionado la herramienta
Enterprise Architect versión 7.5, fundamentalmente por dos razones: dispone
de soporte UML y facilita la aplicación de la metodología ICONIX. Esta
herramienta es de tipo comercial, pero en este proyecto se empleará una versión
de evaluación.
2.4.2 Enterprise Architect
Figura 2.32: (Enterprise Architect GUI)
Enterprise Architect (EA) es una herramienta CASE, de Sparx Systems.
Utilizada para la construcción de sistemas de software, para el modelado de
procesos de negocios, y para objetivos de modelado más generalizados. Esta
herramienta está basada en la especificación UML 2.1, que define un lenguaje
Página | 56
visual que usa para modelar un dominio o sistema en particular (existente o
propuesto).
EA abarca todos los aspectos del ciclo de desarrollo de software, desde el
paso de los requerimientos a través de las etapas del análisis, modelos de diseño,
pruebas y mantenimiento. Además proporciona una trazabilidad completa desde
la fase inicial del diseño a través del despliegue y mantenimiento.
Características principales:
Ø Permite modelar sistemas de hardware y software complejos en notación
UML.
Ø Ofrece soporte para diferentes tipos de diagramas de UML como:
diagramas estructurales (clase, objeto, compuesto, paquete, componente,
y despliegue.), diagramas de comportamiento (casos de uso,
comunicación, secuencia, descripción de la interacción, actividad, estado, y
tiempo). Además extendidos como: análisis (actividad simple),
personalizado (para requisitos, cambios, y UI).
Ø Generación e ingeniería inversa de código fuente, para distintos lenguajes
de programación como: C++, C#, Java, VB.Net, entre otros.
Ø Soporte para casos de prueba, JUnit y NUnit.
Ø Permite control de versiones, empleando CVS o SCC.
Ø Generación de documentación en formatos HTML y RTF.
Página | 57
2.5 Herramientas de Desarrollo
2.5.1 Introducción
En esta sección se hace referencia a los recursos de software necesarios para
el desarrollo del software objetivo del presente proyecto. La mayoría de las
herramientas son de tipo “software libre”; a continuación se detalla cada una de
estas.
2.5.2 Entorno de Desarrollo Integrado (IDE)
El entorno de programación que se empleará es Netbeans 6.7.1. Tener
presente que para crear aplicaciones java con Netbeans se debe disponer de la
plataforma de desarrollo Java Development Kit (JDK).
Figura 2.33: (Netbeans 6.7.1 GUI)
Características principales de Netbeans:
Ø Es un producto libre y gratuito sin restricciones de uso.
Página | 58
Ø Está escrito en Java, pero puede servir para cualquier otro lenguaje de
programación.
Ø Soporta el desarrollo de todos los tipos de aplicaciones Java.
Ø Todas las funciones del IDE son provistas por módulos. Cada módulo
provee una función bien definida, tales como el soporte de Java, edición, o
soporte para el sistema de control de versiones. Existe además un número
importante de módulos para extender el IDE Netbeans.
Tener en cuenta que, para generar el esqueleto del proyecto seam (incluyendo
configuración y librerías) se empleará Seam Generator (seam-gen). Seam
Generator es una aplicación de línea de comandos para crear y mantener
aplicaciones Seam.
2.5.3 Control de Versiones
Para controlar las distintas versiones del código fuente, se empleará
Subversion 1.6.6.
Subversion es un sistema de control de versiones, utilizado para el
mantenimiento de código fuente, documentación técnica y páginas web. Es decir,
Subversion maneja ficheros y directorios a través del tiempo. Hay un árbol de
ficheros en un repositorio central. El repositorio es como un servidor de ficheros
ordinario, excepto porque recuerda todos los cambios hechos a sus ficheros y
directorios.
Para facilitar la creación de repositorios, usuarios y otras configuraciones se
utilizará el paquete VisualSVN Server 2.0.8, que incluye Subversion 1.6.6 y el
servidor web Apache 2.2.13 ya configurados y listos para funcionar.
Página | 59
Figura 2.34: (VisualSVN Server 2.0.8 GUI)
Características principales de Subversión:
Ø Es un producto libre y de código fuente abierto.
Ø Se utiliza en cualquier lenguaje de Programación y para cualquier tipo de
proyecto.
Ø Implementa un sistema de ficheros versionado “virtual” que sigue los
cambios sobre árboles de directorios completos a través del tiempo.
Ø Se puede añadir, borrar, copiar, y renombrar ficheros y directorios.
Ø Una colección cualquiera de modificaciones o bien entra por completo al
repositorio, o bien no lo hace en absoluto.
Ø Subversion expresa las diferencias del fichero usando un algoritmo de
diferenciación binario.
Página | 60
Ø Subversion puede acceder al repositorio a través de redes.
Tener en cuenta que se puede instalar el soporte de Subversion en Netbeans.
2.5.4 Sistema de Gestión de Base de Datos Relacionales (RDBMS)
Un sistema de gestión de bases de datos es un tipo de software muy
específico, dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan. Se empleará MySQL Server 5.1 como RDBMS.
Además se instalará MySQL Tools for 5.0, el cual proporciona interfaz gráfica de
usuario para utilizar con el servidor de bases de datos.
Figura 2.35: (MySQL Administrator GUI)
MySQL es un sistema de gestión de base de datos relacional, multihilo y
multiusuario. De licencia dual depende del uso, existen 2 versiones: una gratuita y
otra más completa de pago. Se utilizará la versión gratuita.
Características principales de MySQL Server:
Ø Es un producto de licencia dual (gratuita y comercial).
Ø El servidor de base de datos MySQL es muy rápido, fiable y fácil de usar.
Página | 61
Ø MySQL Server trabaja en entornos cliente/servidor o incrustados.
Ø Funciona en diferentes plataformas.
Ø Proporciona sistemas de almacenamiento transaccional y no transaccional.
Ø MySQL server tiene soporte para comandos SQL para chequear, optimizar,
y reparar tablas.
Ø Seguridad: Un sistema de privilegios y contraseñas que es muy flexible y
seguro, y que permite verificación basada en el host.
Ø Escalabilidad: Soporte a grandes bases de datos.
Conectores MySQL
Son controladores (drivers) que proporcionan a los programas cliente
conectividad con el servidor MySQL. Se empleará el Connector/J (mysql-
connector-java-5.1.10), que proporciona soporte de controlador para conectar
con MySQL desde una aplicación Java usando la API de Conectividad con Bases
de Datos Java estándar (JDBC). Conector/J es un driver nativo que convierte
llamadas JDBC al protocolo de red utilizado por la base de datos MySQL.
Es importante mencionar que la tecnología utilizada en el desarrollo del
software objetivo del presente proyecto, permitirá con mínimas configuraciones,
usar otro RDBMS como: Oracle, Microsoft SQL Server, etc.
Página | 62
2.5.5 Servidor de Aplicaciones
Como servidor de aplicaciones se utilizará JBoss Application Server 5.1.0.
Figura 2.36: (Estructura de directorios de JBoss)
JBoss es un servidor de aplicaciones Java EE de código abierto implementado
en Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier
sistema operativo que lo soporte. JBoss implementa todo el paquete de servicios
de Java EE (EJB, JMS, JTS/JTA, Servlets/JSP, JNDI).
Características principales de JBoss:
Ø Producto de licencia de código abierto sin costo adicional.
Ø Cumple los estándares.
Ø Confiable a nivel de empresa.
Ø Incrustable, orientado a arquitectura de servicios.
Ø Flexibilidad consistente.
Ø Servicios del middleware para cualquier objeto de Java.
Ø Soporte completo para JMX.
Finalmente, cabe mencionar que se trabajará sobre el sistema operativo
Windows Vista Home Premium, y se empleará Mozilla Firefox 3.6.6 como
browser para visualizar las páginas web del proyecto.
Página | 63
2.6 Framework de Implementación
2.6.1 Introducción
Con el fin de facilitar el proceso de desarrollo, reutilizar código, y promover
buenas prácticas de desarrollo como el uso de patrones, se aplicará como apoyo
un framework web.
Antes de mencionar el framework web que se empleará en el desarrollo del
software orientado a la web; se debe tener presente que un framework es una
estructura conceptual y tecnológica de soporte definida, normalmente compuesta
de componentes personalizables e intercambiables, en base a los cuales un
proyecto de software puede ser organizado y desarrollado. En otras palabras, un
framework se puede considerar como una aplicación genérica incompleta y
configurable (puede incluir soporte de programas, bibliotecas y un lenguaje
interpretado, entre otros programas) a la que se puede añadir las últimas piezas
para construir una aplicación concreta.
Existen muchos frameworks para apoyar el desarrollo de aplicaciones web
basadas en java (ver Figura 2.37). Se ha seleccionado JBoss Seam 2.2.0.GA, ya
que es un framework desarrollado exclusivamente para facilitar la creación de
aplicaciones Java EE.
Página | 64
Figura 2.37: (Frameworks para el desarrollo de aplicaciones web) Gráfico del libro “Seam in Action”.
2.6.2 JBoss Seam Framework
2.6.2.1 Que es JBoss Seam
Seam es un framework que reúne los estándares de Java EE para que puedan
trabajar como una solución integrada. “Seam integra tecnologías como JavaScript
asíncrono y XML (AJAX), JavaServer Faces (JSF), Java Persistence API
(JPA)/Hibernate, Enterprise Java Beans (EJB 3.0) y Business Process
Management (BPM). Seam ha sido diseñado desde cero para eliminar la
complejidad, tanto en la arquitectura y los niveles de la API. Permite a los
desarrolladores ensamblar aplicaciones web complejas con simples clases Java
anotadas, un rico conjunto de componentes de interfaz de usuario, y muy poco
XML”7. En la siguiente figura se muestra las tecnologías que Seam es capaz de
reunir en una aplicación típica.
7 http://www.seamframework.org/Home
Página | 65
Figura 2.38: (Ejemplo de algunas tecnologías que integra Seam) Gráfico del libro “Seam in Action”.
Seam no sólo es considerado como un tradicional web framework, sino como
un application stack que incluye, el framework, las librerías, y el generador del
proyecto (Seam Generator).
2.6.2.2 Características principales de JBoss Seam
Ø Básicamente Seam facilita que EJB 3.0 y JSF (componentes principales de
Java EE) trabajen juntos, es decir integra la capa de presentación (JSF)
con la capa de negocio y persistencia (EJB). Para lo cual Seam provee un
modelo de componentes que permiten el uso directo de componentes
EJB como backing beans en páginas JSF.
Ø Integración con AJAX, mediante el soporte de tecnologías como ICEFaces
o RichFaces. Esto hace posible la creación de aplicaciones interactivas o
RIA (Rich Internet Application). En el presente proyecto se utilizará la
tecnología RichFaces.
Página | 66
Ø Seam introduce el concepto de contextos (manejo de estados), es así que
cada componente seam existe dentro de un contexto. Los contextos que
maneja seam se muestran en la siguiente figura.
Figura 2.39: (Contextos de Seam)
Los componentes seam pueden ser:
v Java Beans (POJO)
§ JavaBean
§ Groovy class (Groovy Bean)
§ Spring bean
v EJB Component
§ Stateless session bean
§ Stateful session bean
§ Message-driven vean
v JPA entity class.
Página | 67
Ø Elimina el exceso de uso de archivos descriptores XML. Para esto, seam
ha reducido algunas configuraciones de estos archivos a simples
anotaciones.
Ø Seam define un archivo descriptor denominado pages.xml que ofrece una
gama mucho amplia de controles de navegación de lo que el archivo
faces-config.xml de JSF puede soportar. Este archivo se utiliza para
configurar una infinita serie de páginas, aunque también puede ser
configurada individualmente por cada página JSF (ver Figura 2.40), con el
fin de definir reglas de navegación contextual, generar mensajes, pasar
parámetros en una redirección, invocar acciones (pueden ser métodos de
un session beans) antes de representar una vista JSF, hacer cumplir
restricciones de seguridad, manejar excepciones, entre otras
configuraciones.
Figura 2.40: (Archivo descriptor de Seam para el control de navegación)
Para crear el archivo descriptor de una página se cambia el sufijo
“.xhtml” por “page.xml”
Configuración del archivo “pages.xml”
Configuración del archivo “Empresa.page.xml”
Página | 68
2.6.2.3 Anotaciones Seam
Al desarrollar una aplicación Java EE 5.0 empleando el framework seam se
dispondrá de diferentes anotaciones que facilitarán al programador la creación de
aplicaciones empresariales. La mayoría de las anotaciones son suministradas por
el API EJB 3, y las anotaciones para las validaciones de datos se encuentran en
el paquete Hibernate Validator (org.hibernate.validator.). En la siguiente tabla se
muestra un resumen de las anotaciones más relevantes de seam que se
encuentran definidas en el paquete org.jboss.seam.annotations.
Anotaciones Seam Anotación Ejemplo Descripción
@Name @Name(“nombreComponente”) Define el nombre del componente seam.
@Scope @Scope(ScopeType.CONVERSATION)
Define el contexto por defecto del componente seam. Los valores posibles son: EVENT, PAGE, CONVERSATION, SESSION, BUSINESS_PROCESS, APPLICATION, STATELESS.
@Role @Role(name=“roleName”,
scope=“ ScopeType.SESSION”)
Permite a un componente seam estar relacionado a multiples variables de contexto. El parámetro name define el nombre de la variable de contexto, y scope define el alcance de la variable de contexto.
@JndiName @JndiName(“my/jndi/name”) Especifica el nombre JNDI que seam usará para buscar el componente EJB.
@In @In @In(required=false) @In(create=true)
Especifica que el atributo de un componente será inyectado desde una variable de contexto al comienzo de cada llamada al componente.
@Out
@Out @Out(required=false) @Out(scope= ScopeType.SESSION)
Especifica que el atributo de un componente será colocado a una variable de contexto al final de la invocación del componente.
@RequestParameter @RequestParameter(“requestParameterName”)
Especifica que un atributo de un componente debe ser inyectado con el valor de un parámetro solicitado (request parameter).
Tabla 2.4: (Anotaciones de Seam)
Página | 69
2.6.2.4 Creación de un proyecto Seam
En esta sección se explicará paso a paso la creación de un proyecto web
empleando JBoss Seam Framework. Tener en cuenta que para realizar este
ejemplo se emplearán las herramientas de desarrollo antes mencionadas.
Prerrequisitos
Instalar el Framework Seam, el Servidor de aplicaciones, la plataforma de
desarrollo de java (JDK 1.6) y Apache Ant.
Configuración del proyecto
En la consola de Windows ingresar al directorio donde previamente se instaló
(descomprimió) el framework seam, y ejecutar el comando seam setup.
Figura 2.41: (Proyecto Seam, ejecución del comando “seam setup”)
A continuación se debe ingresar un conjunto de propiedades (o preguntas) que
solicita seam con el fin de configurar la estructura del proyecto:
Directorio donde se ubicará el proyecto: C:\Projects\Test
Directorio donde se encuentra el servidor JBoss:
C:\Desarrollo\jboss-5.1.0.GA
Página | 70
Dominio del servidor JBoss: default
Directorio del servidor GlassFish:
Ignorar esta pregunta ya que se está empleando el servidor JBoss.
Dominio del servidor GlassFish:
Ignorar esta pregunta ya que se está empleando el servidor JBoss.
Nombre del proyecto: myproject
Usar ICEfaces en lugar de RichFaces? (s/n): n
Skin que será utilizado por RichFaces (blueSky, ruby, wine…): wine
Empaquetamiento del proyecto (ear/war): ear
Nombre del paquete base para las clases java: com.tesis.myproject
Nombre del paquete que contendrá los beans de sesión:
com.tesis.myproject.action
Nombre del paquete que contendrá los beans de entidad:
com.tesis.myproject.entity
Nombre del paquete que contendrá las clases de prueba:
com.tesis.myproject.test
Base de datos que se empleará (mysql, derby, oracle, db2…): mysql
Directorio del driver JDBC:
Página | 71
C:\Desarrollo\jboss-5.1.0.GA\server\default\lib\mysql-connector-java-5.1.10-
bin.jar (colocar el driver JDBC en el directorio server/default/lib de JBoss)
Dialecto de Hibernate para la base de datos:
org.hibernate.dialect.MySQLDialect
Clase del driver JDBC para MySQL: com.mysql.jdbc.Driver
Clase del Datasource JDBC para MySQL:
com.mysql.jdbc.jdbc2.optional.MysqlDataSource
URL de conexión a la base de datos:
jdbc:mysql://localhost:5050/mydatabase
Usuario de la base de datos: root
Password de la base de datos: root
Nombre de la base de datos: mydatabase
¿Usar todas las tablas que están en la base de datos?: y
¿Borrar la base de datos en cada despliegue?: n
Página | 72
Finalmente si todo se ejecuta sin problemas se mostrará lo siguiente:
Figura 2.42: (Proyecto seam, resultado del comando “seam setup”)
Generación de la estructura del proyecto
Para generar el proyecto en base a las propiedades antes configuradas se
debe ejecutar el comando seam new-project.
Figura 2.43: (Proyecto seam, ejecución del comando “seam new-project”)
Página | 73
Al finalizar la ejecución del comando seam new-project se crearán los
siguientes archivos en el directorio “C:\Projects\Test” previamente configurado:
Figura 2.44: (Proyecto seam, resultado del comando “seam new-project”)
Este proyecto se puede abrir en Eclipse o Netbeans, en este caso se abrirá en
Netbeans.
Figura 2.45: (Proyecto seam, Visualización del Proyecto seam con NetBeans)
Página | 74
En la figura anterior se puede observar la estructura del proyecto generado en
base a las propiedades previamente configuradas. En este punto se puede
desplegar y probar la aplicación la cual mostrará una página principal y una
página para iniciar sesión (con el usuario “admin”). El inicio de sesión se logra
gracias a las clases “Authenticator” y “AuthenticatorBean”.
Generación de la funcionalidad de la aplicación
Seam permite a partir de una base de datos crear los beans de entidad y la
lógica de negocio (operaciones CRUD de las entidades) de la aplicación. Para el
ejemplo se creó una base de datos que permite almacenar países con sus
respectivas provincias, cuyo script de creación se muestra en la siguiente figura.
Figura 2.46: (Proyecto seam, Script de creación de la Base de Datos)
Luego de crear la base de dados ejecutar el comando seam generate-
entities.
Página | 75
Figura 2.47: (Proyecto seam, ejecución del comando “seam generate-entities”)
Como se puede observar en la siguiente figura se ha creado el código de las
entidades (Pais, Provincia), y los componentes Seam (PaisHome, PaisList,
ProvinciaHome, ProvinciaList) que se encargan de la lógica de negocio, además
se ha creado la parte web como las paginas para gestionar (crear, editar, eliminar,
listar) país y provincia, reglas de navegación, página de login, menú de
navegación, página de error.
Figura 2.48: (Proyecto seam, resultado del comando “seam generate-entities”)
Página | 76
Despliegue del proyecto
En el archivo “build.xml” que se encuentra en la raíz del proyecto ejecutar la
tarea “deploy” con ayuda de Netbeans. Esta tarea se encargará de compilar el
proyecto, empaquetarlo como un “.ear” y echarlo al directorio deploy del servidor
JBoss. También copiará el datasource necesario para la conexión a la base de
datos.
Figura 2.49: (Proyecto seam, ejecución de la tarea “deploy”)
Probar la aplicación
Se debe iniciar el servidor de aplicaciones JBoss, para esto en la consola de
Windows ingresar al directorio donde se instaló (descomprimió) JBoss y ejecutar
Página | 77
el comando “run.bat”. Tener en cuenta que antes de iniciar el servidor se debe
copiar el driver JDBC de MySQL en el directorio “server/default/lib” de JBoss.
Figura 2.50: (Proyecto seam, ejecución del comando “run.bat”)
Ingresar a la aplicación mediante la siguiente URL:
http://localhost:8080/myproject/home.seam.
Pantalla principal con menú de navegación, Login y Home.
Figura 2.51: (Proyecto seam, Interfaz de la Página Principal y Login)
Para probar la aplicación se creará un país con una provincia mediante la
opción “Pais List”.
Página | 78
Figura 2.52: (Proyecto seam, Interfaces para Mantener Países y Provincias)
Página | 79
CAPÍTULO III
Desarrollo del Software
3.1 Análisis de Requerimientos
De acuerdo a la metodología la primera tarea es crear un “modelo de
dominio”, pero antes se debe realizar un listado de requerimientos que son la
fuente principal para elaborar este modelo. Recordar que para empezar con la
primera tarea de ICONIX solo es necesario realizar un relevamiento informal de
requerimientos funcionales.
3.1.1 Requerimientos del Software
3.1.1.1 Introducción
Empleando la “guía” (nombre que será empleado de aquí en adelante)
mencionada en los antecedentes del presente proyecto se identificarán los
diferentes requerimientos a implementarse. Además, se agregará si es necesario
alguna funcionalidad propia del sistema (ingreso al sistema, validaciones de
datos, etc.) u otra funcionalidad en particular que facilite la automatización de esta
guía, y permita un uso intuitivo de la aplicación por parte del usuario; todo esto
encaminado a desarrollar una aplicación que controle adecuadamente el proceso
de desarrollo de software.
Página | 80
3.1.1.2 Requerimientos Funcionales
Ø Opciones de Administración del Sistema
Ø R001: Para utilizar el sistema el usuario debe iniciar sesión ingresando su
nombre de usuario y contraseña.
Ø R002: El sistema permitirá al usuario cerrar sesión, esta acción permitirá al
usuario salir del sistema.
Ø R003: El sistema permitirá manejar datos de cuentas de usuarios del
sistema, datos como: nombre de usuario, clave, y rol (valores posibles de
rol: Administrador, Líder del Proyecto, Analista, Cliente).
Ø R004: Al ingresar al sistema se mostrará una página principal con texto
informativo del software, y las diferentes opciones disponibles para el
usuario dependiendo del tipo de rol.
Ø Administración de Parámetros
Para la administración de parámetros u opciones generales, el sistema
permitirá al usuario:
· R005: Manejar datos de cargos o roles, datos tales como: código y
nombre.
· R006: Manejar datos de clientes, datos tales como: código, nombre y
número telefónico.
· R007: Manejar datos de las personas que formarán parte del equipo de
desarrollo de un proyecto, datos tales como: código, nombre, apellido,
Página | 81
cargo (rol), nivel sigma (puede ser una de las siguientes opciones:
campeón, maestro cinturón negro, cinturón negro, cinturón verde,
ninguna), y características (pueden ser: compromiso, sesgo de acción,
flexibilidad, innovación, influencia sobre el personal, trabajo en equipo,
tiempo disponible).
Ø Administración de Proyectos
Para la administración de proyectos el sistema permitirá al usuario:
· R008: Manejar datos iniciales de proyectos, datos tales como: código,
nombre, cliente quien solicita el proyecto, y estado (Pendiente, En
proceso, Finalizado, Cancelado). El estado inicial del proyecto es
“Pendiente”.
Tener presente que la guía considera seis fases que forman parte del
proceso de desarrollo de software, pero el presente software permitirá
administrar las dos primeras fases que son: “Iniciación del proyecto” y
“Análisis del Sistema”.
· Administración de la Fase “Iniciación del Proyecto”
Para administrar esta fase dentro de un proyecto, el sistema permitirá al
usuario:
§ R009: Mostrar información detallada del proyecto.
§ R010: Actualizar datos adicionales al proyecto como: director, líder,
fecha de recepción de la solicitud del nuevo sistema, fecha de inicio
Página | 82
planificada, fecha de inicio real, fecha de finalización planificada, y
fecha de finalización real.
§ R011: Manejar datos de las diferentes peticiones del cliente para el
nuevo sistema.
§ R012: Manejar datos de las diferentes razones por las cuales el
cliente solicita el nuevo sistema.
§ R013: Conformar el equipo de desarrollo del proyecto, agregando o
quitando personas de desarrollo.
§ R014: Manejar datos de los factores críticos del proyecto ya sean de
éxito o riesgo.
§ R015: Manejar datos de las diferentes metas identificadas en un
proyecto con su respectivo análisis. El análisis de las metas consiste
en describir una justificación por cada una de las siguientes
características: Específica, Mesurable, Alcanzable y Relevante.
§ R016: Manejar datos de los diferentes procesos que se
automatizarán en el proyecto de desarrollo, datos tales como:
código, nombre, alcance o propósito, y una breve descripción del
proceso.
§ R017: Por cada proceso manejar datos de sus respectivas
actividades como: código y descripción.
§ R018: Manejar datos de los actores o participantes (internos o
externos) que serán los responsables de ejecutar las diferentes
Página | 83
actividades, datos tales como: código, nombre y tipo (interno o
externo).
§ R019: Asignar responsables a las actividades con el fin de identificar
las personas encargadas de cada actividad.
§ R020: Definir por cada proceso sus entradas, sus salidas, los
proveedores de las entradas, y los clientes de las salidas. Esto
proveerá un nivel de comprensión macro sobre los procesos que
requiere el nuevo sistema.
§ R021: Mostrar un cuestionario como ayuda para abstraer los
requerimientos del cliente.
§ R022: Manejar datos de los diferentes requerimientos del cliente,
datos tales como: código, descripción, rango de importancia, rango
de satisfacción actual, y estado (puede ser: Pendiente, Aceptado, o
Negado). El estado inicial de un requerimiento será “Pendiente”.
· Administración de la Fase “Análisis del Sistema”
Para administrar esta fase dentro de un proyecto el sistema permitirá al
usuario:
§ R023: Mostrar información actual de cada requerimiento.
§ R024: Identificar los requerimientos del cliente que fueron creados
en la fase anterior. La identificación consiste en agregar datos
adicionales a cada requerimiento, datos tales como: tipo (funcional,
no funcional), fuente de obtención, descripción de alguna
Página | 84
justificación, observación, y métodos de obtención aplicados para
obtener el requerimiento (pueden ser: Encuesta, Focus Group,
Entrevistas Individuales, Sitios visitados, Quejas de los Clientes,
Retornos). Tener presente que en esta parte el estado del
requerimiento puede cambiar a “Aceptado” o “Negado”.
§ R025: Por cada requerimiento registrar los diferentes conflictos que
se pretenden resolver.
§ R026: Por cada requerimiento registrar criterios de aceptación. Esta
parte permite describir las razones por las cuales se “Aceptó” o
“Negó” la implementación del requerimiento.
§ R027: Registrar las posibles mejoras a los requerimientos.
§ R028: Priorizar los requerimientos aceptados.
· R029: Por cada fase del proceso de desarrollo de software, el sistema
permitirá el manejo de anexos o archivos, los cuales contendrán un
código, nombre, descripción, y el archivo en cualquier formato (Ejemplo:
.pdf, .xls, .docx, entre otros).
Página | 85
Ø Generación de Reportes
Ø R030: El sistema mostrará diferentes reportes en base a los siguientes
formatos:
Ficha del Proyecto Proyecto Código: Nombre: Director: Líder: Estado: Fecha de recepción: Fecha de inicio planificada: Fecha de inicio efectivo: Fecha fin planificado: Fecha fin efectiva:
Cliente Código: Nombre: Número telefónico: Listado de Cosas que le gustaría hacer Descripción:
· <descripción 1> · <descripción 2>
Razones por las cuales solicita la realización del sistema Descripción:
· <descripción 1> · <descripción 2>
Factores críticos de éxito y riesgo De éxito
· <descripción 1> · <descripción 2>
De riesgo · <descripción 1> · <descripción 2>
Tabla 3.1: (Plantilla para el reporte “Ficha del Proyecto”)
Información del Equipo de Desarrollo Proyecto: <nombre del proyecto> <apellidos y nombres de la persona de desarrollo 1> Código: Rol: Nivel Sigma: Características:
Ø <característica 1.1> Ø <característica 1.2>
<apellidos y nombres de la persona de desarrollo 2> Código: Rol: Nivel Sigma: Características:
Ø <característica 2.1> Ø <característica 2.2>
Tabla 3.2: (Plantilla para el reporte “Información del Equipo de Desarrollo”)
Página | 86
Metas establecidas para el Proyecto Proyecto: <nombre del proyecto> Meta: <descripción de la meta> Características Justificación Específica <descripción justificación> Mesurable <descripción justificación> Alcanzable <descripción justificación> Relevante <descripción justificación>
Tabla 3.3: (Plantilla para el reporte “Metas establecidas para el Proyecto”)
Información de los Procesos del Negocio Proyecto: <nombre del proyecto> Proceso: <nombre del proceso1> Actividad: <descripción de la actividad 1.1> Responsables de la Actividad Nombre Tipo <nombres completos del responsables> <tipo de responsable> Actividad: <descripción de la actividad 1.2> Responsables de la Actividad Nombre Tipo <nombres completos del responsables> <tipo de responsable> Proceso: <nombre del proceso 2> Actividad: <descripción de la actividad 2.1> Responsables de la Actividad Nombre Tipo <nombres completos del responsables> <tipo de responsable>
Tabla 3.4: (Plantilla para el reporte “Información de los Procesos del Negocio”)
Caracterización de Procesos Proyecto: <nombre del proyecto> Proceso: <<nombre del proceso>> Propósito / Alcance: <descripción alcance del proceso> Descripción: <descripción del proceso> Proveedores
Ø <proveedor 1> Ø <proveedor 2>
Entradas Ø <entrada 1> Ø <entrada 2>
Salidas Ø <salida 1> Ø <salida 2>
Clientes Ø <cliente 1> Ø <cliente 2>
Tabla 3.5: (Plantilla para el reporte “Caracterización de Procesos”)
Matriz de Requerimientos del Cliente Proyecto: <nombre del proyecto> Cliente: <nombre del cliente> Rango de Rango de Código Requerimiento importancia satisfacción actual <código 1> <descripción 1> <rango 1> <rango 1> <código 2> <descripción 2> <rango 2> <rango 2> <código 3> <descripción 3> <rango 3> <rango 3>
Tabla 3.6: (Plantilla para el reporte “Matriz de Requerimientos del Cliente”)
Página | 87
Registro de Requerimientos Proyecto: <nombre del proyecto> Requerimiento: <descripción del requerimiento> Código: Estado: Tipo: Fuente: Justificación: Observación: Métodos de Obtención:
Ø <método 1> Ø <método 2>
Conflictos por resolver: Ø <conflicto 1> Ø <conflicto 2>
Tabla 3.7: (Plantilla para el reporte “Registro de Requerimientos”)
Criterios de Aceptación de Requerimientos Proyecto: <nombre del proyecto> Cliente: <nombre del cliente> Requerimiento: <descripción del requerimiento 1> Código: Estado: Criterios de Aceptación:
Ø <criterio 1.1> Ø <criterio 1.2>
Requerimiento: <descripción del requerimiento 2> Código: Estado: Criterios de Aceptación:
Ø <criterio 2.1> Ø <criterio 2.2>
Tabla 3.8: (Plantilla para el reporte “Criterios de Aceptación de Requerimientos”)
Matriz de Priorización de Requerimientos del Cliente Proyecto: <nombre del proyecto> Cliente: <nombre del cliente> Rango de Rango de Prioridad Código Requerimiento importancia satisfacción actual 1 <código 1> <descripción 1> <rango 1> <rango 1> 2 <código 2> <descripción 2> <rango 2> <rango 2> 3 <código 3> <descripción 3> <rango 3> <rango 3>
Tabla 3.9: (Plantilla para el reporte “Matriz de Priorización de Requerimientos del Cliente”)
Evaluación Costo / Tiempo de Mejoras
Proyecto: <nombre del proyecto> Cliente: <nombre del cliente> Requerimiento: <descripción del requerimiento> Mejora Costo Tiempo <mejora 1> <costo 1> <tiempo 1> <mejora 2> <costo 2> <tiempo 2> <mejora 3> <costo 3> <tiempo 3>
Tabla 3.10: (Plantilla para el reporte “Evaluación Costo / Tiempo de Mejoras”)
Página | 88
Cuestionario de Requerimientos del Cliente Estructura organizacional y objetivos 1. ¿Cuál es su rol o responsabilidad? 2. ¿Cómo es la estructura organizacional donde se aplicará el proyecto? 3. ¿Cuáles son los objetivos principales de la organización que requiere el
sistema? 4. ¿Cómo usted sabe que los han alcanzado? 5. ¿Qué problemas ah tenido en el alcance de los objetivos durante el año pasado? 6. ¿Qué nuevos obstáculos cree usted que impedirían la consecución de los
objetivos? 7. ¿Cómo es la medición del rendimiento de producción en la organización? 8. ¿Qué otras mediciones realiza y reporta? Factores críticos de éxito 1. ¿Cuáles son las decisiones que usted espera tomar? 2. Si ocurrieran errores, ¿Cuál podría afectar gravemente a sus procesos, y a la
organización? 3. Si usted pudiera tener solamente tres piezas de información, ¿Con cuál juzgaría
usted el rendimiento diario de producción del proceso? Proceso actual 1. Describa el flujo actual de trabajo del proceso 2. ¿Dónde están los retrasos? 3. ¿Usted mide el costo por transacción? En caso afirmativo, ¿Qué es? Sistema actual 1. En una escala del 1 al 10, ¿Cuán crítico es el sistema actual para el éxito del
proceso? 2. ¿Cuál podría ser el impacto en su organización, si el sistema no funciona? 3. En una escala del 1 al 10, ¿Qué tan bien el actual sistema satisface las
necesidades de su organización? 4. ¿Cuál es la información más usual que usted recibe ahora? 5. ¿Cuál es la menos usual? 6. ¿Qué información necesita usted que actualmente no es provista por el actual
sistema? 7. En una escala del 1 al 10, ¿Cómo podría tasar la información que usted recibe
en cada una de las siguientes categorías?: Ø Puntualidad. Ø Exactitud. Ø Exhaustividad. Ø Facilidad de uso/acceso. Ø Costo.
8. Si usted pudiera cambiar tres cosas sobre el sistema actual. ¿Qué sería?
Tabla 3.11: (Plantilla para el reporte “Cuestionario de Requerimientos del Cliente”)
3.1.2 Modelado del dominio
3.1.2.1 Listado de posibles objetos o clases de dominio
Ø Cargo: rol que desempeña una persona de desarrollo.
Ø Cliente: persona (natural o jurídica) que solicita el desarrollo del software.
Ø Persona Desarrollo: integrante de un equipo de desarrollo de un proyecto.
Ø Característica Persona: criterio de valoración de una persona de
desarrollo.
Página | 89
Ø Proyecto: identificación de un proceso de desarrollo de software.
Ø Petición: lo que solicita el cliente.
Ø Razón: motivo por el cual el cliente solicita el nuevo sistema.
Ø Equipo de Desarrollo: o asignación de persona de desarrollo, conjunto de
personas que forman parte de un proyecto.
Ø Factor Crítico: motivo de éxito o fracaso de un proyecto.
Ø Meta: lo que se desea alcanzar en un proyecto.
Ø Análisis Meta: justificación de una meta.
Ø Proceso: o proceso de negocio, es lo que se automatizará en el proyecto
de desarrollo.
Ø Actividad: forma parte de un proceso.
Ø Responsable de Actividad: persona encargada de ejecutar una o varias
actividades.
Ø Requerimiento: petición del cliente a ser desarrollada, previo a un análisis.
Ø Método de Obtención: técnica que fue empleada para obtener un
requerimiento.
Ø Criterio de Aceptación: justificación por la cual se acepta o niega la
realización de un requerimiento.
Ø Posible Mejora: posible perfeccionamiento a un requerimiento.
Página | 90
3.1.2.2 Modelo de Dominio Inicial
Cliente
Peticion
PersonaDesarrollo
Proyecto
CaracteristicaPersona
Cargo
Meta
AnalisisMeta
RazonSolicitud
FartorCritico
ProcesoNegocio
Activ idad ResponsableActiv idad
Requerimiento
AsignacionPersonaDesarrollo
PosibleMejora
CriterioAceptacion
MetodoObtencion
Figura 3.1: (Modelo de dominio inicial)
3.1.3 Modelado de Casos de Uso
3.1.3.1 Prototipos de Interfaz de usuario
Con el fin de facilitar la identificación de los casos de uso se realizaron
diferentes prototipos de interfaz de usuario, como se pueden observar en las
siguientes figuras:
Página | 91
Figura 3.2: (Página Principal)
Figura 3.3: (Página de Inicio de Sesión)
Páginas de Manejo de Datos
Estas interfaces se mostrarán en la sección “Contenido de la opción
seleccionada” de la Página Principal, y pueden ser utilizadas por otras opciones
similares.
Página | 92
Al ingresar a la respectiva opción se mostrará la siguiente interfaz:
Figura 3.4: (Página de Manejo de Datos)
La opción “Buscar” permitirá filtrar la lista de datos, en base a los filtros de
búsqueda previamente ingresados; la opción “Resetear Búsqueda” permitirá
quitar los filtros de búsqueda; la opción “Crear” permitirá ingresar nuevos datos;
las opciones por cada registro permitirán “Editar” y “Eliminar” los respectivos
datos; además, al final de la lista de datos se mostrará un paginador (10
registros). A continuación se muestra la interfaz de las diferentes opciones.
Figura 3.5: (Página de Creación de Datos)
Página | 93
Figura 3.6: (Página de Edición de Datos)
Figura 3.7: (Ventana Emergente de Eliminación de Datos)
Página de Administración de Proyectos
Para ingresar a esta página el usuario debe ingresar al enlace “Proyectos” de
la Página Principal, y luego ingresar a la opción “Administrar” de la lista de
Proyectos.
Figura 3.8: (Página de Administración de Proyectos)
Página | 94
Páginas de Conformación del Equipo de Desarrollo
Al ingresar a la opción “Iniciación del Proyecto/Equipo de Desarrollo” de la
Página de Administración de Proyectos se mostrará la siguiente interfaz:
Figura 3.9: (Página de Manejo del Equipo de Desarrollo)
Mediante la opción “Conformar equipo” (ver figura anterior) se accederá a la
página para agregar o quitar integrantes al Equipo de Desarrollo, como se
muestra en la siguiente figura.
Figura 3.10: (Página de Conformación del Equipo de Desarrollo)
Página | 95
La opción “Quitar” permitirá eliminar una persona de la lista de integrantes del
Equipo de Desarrollo; la opción “Agregar” permitirá acceder a la página de
búsqueda de una persona de desarrollo que formará parte del Equipo de
Desarrollo de un Proyecto, como se observa en la siguiente figura.
Figura 3.11: (Página de Selección de Personas de Desarrollo)
Página para Crear o Editar una Persona de Desarrollo
Figura 3.12: (Página de Creación o Edición de una Persona de Desarrollo)
Página | 96
Página para Mostrar y Editar Información del Proyecto
Figura 3.13: (Página para Mostrar y Editar Información del Proyecto)
Página para Crear o Editar Metas con su respectivo Análisis
Figura 3.14: (Página de Creación o Edición de Meta)
Página | 97
Páginas de Asignación de Responsables por Actividad
Mediante la opción “Identificación de Responsables por Actividad” se accederá
a la página que muestra la cantidad de Responsables asignados a cada actividad.
La página con sus respectivas opciones se ilustra en la siguiente figura.
Figura 3.15: (Página de Manejo de Responsables por Actividad)
La opción “Responsables” (ver figura anterior) permitirá acceder a la página
para asignar responsables a una Actividad seleccionada, como se muestra en la
siguiente figura.
Figura 3.16: (Página de Asignación de Responsables a una Actividad)
Página | 98
Páginas de Administración de Requerimientos
Para manejar (listar, buscar, guardar, editar, eliminar) los datos asociados a un
Requerimiento, el usuario debe seleccionar un Requerimiento mediante la opción
“Administrar” como se muestra en la Figura 3.20. Posteriormente el sistema
mostrará el requerimiento seleccionado con sus respectivas opciones en la
Página de Administración de Requerimientos (ver Figura 3.21).
Figura 3.17: (Página de Selección de un Requerimiento)
Figura 3.18: (Página de Administración de Requerimientos)
Página | 99
Página de Actualización de Datos Adicionales al Requerimiento
Al ingresar a la opción “Datos Adicionales” de la Página de Administración de
Requerimientos, el sistema mostrará una página (ver Figura 3.22) que permitirá al
usuario adicionar datos al requerimiento previamente seleccionado.
Figura 3.19: (Página de Actualización de datos adicionales al Requerimiento)
Página para Mostrar Información de un Requerimiento
Dentro de las opciones de la Página de Administración de Requerimientos se
dispondrá de un enlace (Información del Requerimiento) que permitirá al usuario
observar con detalle el estado actual de un determinado requerimiento. Los datos
que se observarán se ilustran en la siguiente figura.
Página | 100
Figura 3.20: (Página para Mostrar Información de un Requerimiento)
Páginas de Manejo de Anexos
Mediante la opción “Iniciación del Proyecto/Anexos” o “Análisis del
Sistema/Anexos” de la Página de Administración de Proyectos se accederá a la
siguiente interfaz.
Figura 3.21: (Página de Manejo de Anexos)
La opción “Descargar” permitirá obtener el respectivo archivo, y la opción
“Crear” permitirá acceder a la siguiente interfaz.
Página | 101
Figura 3.22: (Página de Creación o Edición de Anexo)
Páginas de Generación de Reportes
Mediante la opción “Reportes” de la Página Principal se accederá a la página
que permitirá seleccionar un Proyecto con el fin de obtener sus respectivos
reportes.
Figura 3.23: (Página de Reportes)
La opción “Reportes” mostrará una ventana emergente que permitirá
descargar un determinado reporte en formato de documento portátil (PDF). Los
reportes disponibles por Proyecto se muestran en las siguientes interfaces.
Página | 102
Figura 3.24: (Ventana Emergente de Selección de un Reporte – Parte I)
Figura 3.25: (Ventana Emergente de Selección de un Reporte – Parte II)
Página de Priorización de Requerimientos
Mediante la opción “Análisis del Sistema/Priorización de Requerimientos” de la
Página de Administración de Proyectos se accederá a la página (ver Figura 3.26)
que permite priorizar los requerimientos aceptados.
Figura 3.26: (Página de Priorización de Requerimientos)
Página | 103
3.1.3.2 Diagrama de Casos de Uso
Iniciar sesión
Cerrar sesión
Manejar cuenta de usuario del sistema
Manejar Persona de Desarrollo
Actualizar datos adicionales al Proyecto
Conformar Equipo de Desarrollo
Manejar datos iniciales del Proyecto
Actualizar datos adicionales al Requerimiento
Identificar Responsable por Activ idad
Manejar Activ idad por Proceso
Manejar Responsable de Activ idad
Establecer Requerimiento del
Cliente
Mostrar información
actual del Requerimiento
Manejar Criterio de Aceptación
Priorizar los Requerimientos
Identificar Posible Mejora Potencial
Manejar Conflicto por Resolv er
Cliente
Líder del Proyecto
Administrador
Realizar Análisis de
Metas del Proyecto
Manejar Proceso que requiere el sistema
Analista
Realizar identificación
macro de Procesos
Manejar parámetros
generales del sistema
Asignar Personas de Desarrollo al Proyecto
Asignar Responsables a una Activ idad
Generar reporte
Manejar Anexo o archiv o del Proyecto
«precedes»
«precedes»«invokes»
«invokes»
«precedes»
«precedes»
Figura 3.27: (Modelo de Casos de Uso – Parte I)
Página | 104
(from Generales)
Filtrar registros listados
(from Generales)
Editar registro seleccionado de una
lista
(from Generales)
Eliminar registro seleccionado de una
lista
(from Generales)
Manejar datos asociados a un
Proyecto
(from Generales)
Manejar datos asociados a un Requerimiento
(from Parámetros Generales)
Listar parámetros
generales del sistema
(from Generales)
Listar datos asociados a un
Proyecto
(from Generales)
Listar datos asociados a un Requerimiento
(from Generales)
Quitar ítem de una
lista de datos
Nota: Los siguientes casos de uso pueden ser invocados por cualquier caso de uso que lo requiera.
Administrador
(from Actores)
Analista
(from Actores)
Cliente
(from Actores)
Líder del Proyecto
(from Actores)
(from Generales)
Listar datos iniciales de Proyectos
Figura 3.28: (Modelo de Casos de Uso – Parte II)
Página | 105
3.1.3.3 Diagrama de Paquetes
Este diagrama fue realizado con el fin de agrupar y organizar los diferentes
casos de uso, los cuales fueron identificados de acuerdo a los requerimientos
establecidos por el usuario, además la mayoría de los paquetes han sido
nombrados en base a las opciones u sub-módulos que dispondrá el software a
desarrollarse.
Figura 3.29: (Diagrama de Paquetes)
Esta fase (Análisis de Requisitos) finaliza definiendo la interacción del usuario
con el sistema, es decir, escribir el primer proyecto de casos de uso (o
especificación de casos de uso) que será utilizado y refinado en la siguiente fase
(Análisis y Diseño Preliminar).
Página | 106
3.2 Análisis y Diseño Preliminar
3.2.1 Especificación de casos de uso
Tener en cuenta que la presente especificación de casos de uso fue iniciada
en la fase de “Análisis de Requisitos” y refinada en esta fase mediante el análisis
de robustez (ver sección 3.2.2 Análisis de Robustez).
3.2.1.1 Especificación de cada caso de uso
En la siguiente tabla se muestra un listado de todos los casos de uso
identificados en el Modelado de Casos de uso, de los cuales se realizará su
respectiva especificación.
Listado de Casos de uso Paquete Id Caso de uso
Administración 01 Iniciar sesión 02 Cerrar sesión
03 Manejar cuenta de usuario del sistema
Generales
04 Listar datos asociados a un Proyecto 05 Listar datos iniciales de Proyectos 06 Listar datos asociados a un Requerimiento
07 Filtrar registros listados 08 Editar registro seleccionado de una lista 09 Eliminar registro seleccionado de una lista
10 Manejar datos iniciales del Proyecto 11 Manejar datos asociados a un Proyecto 12 Manejar datos asociados a un
Requerimiento 13 Quitar ítem de una lista de datos 14 Manejar Anexo o archivo del Proyecto
15 Generar reporte
Parámetros Generales 16 Listar parámetros generales del sistema 17 Manejar parámetros generales del sistema
18 Manejar Persona de Desarrollo
Iniciación del Proyecto
19 Actualizar datos adicionales al Proyecto 20 Conformar Equipo de Desarrollo
21 Asignar Personas de Desarrollo al Proyecto
22 Realizar Análisis de Metas del Proyecto 23 Manejar Proceso que requiere el sistema
24 Manejar Actividad por Proceso 25 Manejar Responsable de Actividad 26 Identificar Responsable por Actividad
27 Asignar Responsables a una Actividad 28 Realizar identificación macro de Procesos 29 Establecer Requerimiento del Cliente
Análisis del Sistema 30 Mostrar información actual del
Requerimiento
Página | 107
31 Actualizar datos adicionales al Requerimiento
32 Manejar Conflicto por Resolver
33 Manejar Criterio de Aceptación 34 Identificar Posible Mejora Potencial 35 Priorizar los Requerimientos
Tabla 3.12: (Listado de Casos de Uso)
Especificación de Caso de Uso Código 01
Caso de Uso Iniciar sesión
Precondiciones · El usuario debe estar conectado al intranet mediante el browser. · El usuario debe estar viendo la Página Principal del sistema en el browser.
Flujo de Eventos
Básico
El usuario da clic en el enlace “Iniciar sesión” de la Página Principal (ver Figura 3.2), y el sistema muestra la Página de Inicio de sesión (ver Figura 3.3). El usuario ingresa su nombre de usuario y contraseña y da clic en la opción “Ingresar”. El sistema verifica si existen los datos ingresados en cuenta de usuario. Si estos datos existen, el sistema autentifica al usuario en sesión y se direcciona a la Página Principal mostrando un mensaje de bienvenida, y el nombre del usuario autentificado. Además el sistema cambia el enlace “Iniciar sesión” por el enlace “Cerrar sesión”.
Alternativos
· Datos inválidos: El sistema se direcciona a la misma Página de Inicio de sesión mostrando un mensaje que dice “Nombre de usuario y/o
contraseña son incorrectos, inicio de sesión falló”. · Usuario cancela inicio de sesión: El usuario da clic en la opción
“Cancelar”, y el sistema muestra la Página Principal.
Pos condiciones
· Se observa el nombre de usuario en sesión en la Página Principal.
Tabla 3.13: (Especificación del caso de uso “Iniciar sesión”)
Especificación de Caso de Uso Código 02
Caso de Uso Cerrar sesión
Precondiciones · El usuario debe estar en sesión, para esta acción se incluye el caso de uso “Iniciar
sesión”.
Flujo de Eventos
Básico
El usuario da clic en el enlace “Cerrar sesión” de la Página Principal (ver Figura 3.2), y el sistema muestra una ventana pop-up (ventana emergente) con un mensaje que dice “¿Está seguro que desea salir de la Aplicación?”,
y dos opciones (Confirmar, Cancelar). El usuario da clic en la opción “Confirmar”, y el sistema descarga los datos
del usuario en sesión y vuelve a mostrar la Página Principal cambiando el enlace “Cerrar sesión” por el enlace “Iniciar sesión”.
Alternativos · Usuario cancela cerrar sesión: El usuario da clic en la opción
“Cancelar”, y el sistema oculta la ventana pop-up.
Pos condiciones
· El usuario esta fuera de sesión.
Tabla 3.14: (Especificación del caso de uso “Cerrar sesión”)
Página | 108
Especificación de Caso de Uso Código 03
Caso de Uso Manejar cuenta de usuario del sistema
Precondiciones · El usuario debe estar viendo la lista de cuentas de usuario en la Página de Manejo de
Cuentas de Usuario, para esta acción se incluye el caso de uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Cuentas de Usuario del sistema (ver Figura 3.4), y el sistema genera una lista que indica el rol del usuario (ítems: Administrador, Líder del Proyecto, Analista, Cliente), y muestra esta lista en forma desplegable junto a los campos de “usuario”, y “contraseña” en la Página de Creación de Cuenta de Usuario (ver Figura 3.5). El usuario asigna un rol seleccionado un ítem de la lista e ingresa cada dato u campo, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste la Cuenta de Usuario en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Cuentas de Usuario mostrando los nuevos datos en la lista de cuentas de usuario, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar las Cuentas de usuario creadas, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista”
y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de la cuenta de usuario: El sistema se direcciona a la Página de Manejo de Cuentas de Usuario mostrando la lista de cuentas de usuario.
· Excepción al guardar la cuenta de usuario: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Cuenta de Usuario mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de cuentas de usuario de la Página de Manejo de Cuentas de Usuario.
Tabla 3.15: (Especificación del caso de uso “Manejar cuenta de usuario del
sistema”)
Especificación de Caso de Uso Código 04
Caso de Uso Listar datos asociados a un Proyecto
Precondiciones · El usuario debe estar viendo la lista de Proyectos en la Página de Manejo de Proyectos,
para esta acción se incluye el caso de uso “Listar datos iniciales de Proyectos”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Administrar” de la lista de Proyectos en la Página de Manejo de Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8. El usuario ingresa a la opción respectiva de la Página de Administración de Proyectos, y el sistema obtiene una lista de datos de la Entidad asociada al Proyecto seleccionado y verifica si la lista no está vacía. Si no está vacía el sistema muestra la lista de datos en su respectiva Página de Manejo de Datos relacionados a un Proyecto.
Alternativos
· Lista de datos vacía: El sistema muestra en la Página de Manejo de Datos relacionados a un Proyecto un mensaje que dice “No se
encontraron registros”. · Excepción al listar datos: El sistema captura el tipo de error y se
Página | 109
direcciona a la Página de Manejo de Datos relacionados a un Proyecto mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de datos asociada al Proyecto seleccionado en la Página de Manejo de Datos relacionados a un Proyecto.
Tabla 3.16: (Especificación del caso de uso “Listar datos asociados a un
Proyecto”)
Especificación de Caso de Uso Código 05
Caso de Uso Listar datos iniciales de Proyectos
Precondiciones · El usuario debe estar en sesión, para esta acción se incluye el caso de uso “Iniciar
sesión”.
Flujo de Eventos
Básico
El usuario ingresa a la opción "Proyectos" de la Página Principal (ver Figura 3.2), y el sistema obtiene una lista de Proyectos, y verifica si la lista no está vacía. Si la lista no está vacía el sistema muestra los campos de código, nombre, estado, y nombre del cliente el cual se obtiene mediante el identificador del Cliente asociado al Proyecto; esta lista se muestra en la Página de Manejo de Proyectos con sus respectivas opciones.
Alternativos
· Lista de Proyectos vacía: El sistema muestra en la Página de Manejo de Proyectos un mensaje que dice “No se encontraron registros”.
· Excepción al listar Proyectos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Proyectos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de Proyectos en la Página de Manejo de Proyectos.
Tabla 3.17: (Especificación del caso de uso “Listar datos iniciales de Proyectos”)
Especificación de Caso de Uso Código 06
Caso de Uso Listar datos asociados a un Requerimiento
Precondiciones · El usuario debe estar viendo la lista de Requerimientos asociada al Proyecto
seleccionado en la Página de Selección de un Requerimiento, para esta acción se incluye el caso de uso “Listar datos asociados a un Proyecto”.
Flujo de Eventos
Básico
El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da clic
en la opción “Administrar” de la lista de Requerimientos asociada al
Proyecto seleccionado en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos mostrando las respectivas opciones como se observa en la Figura 3.18. El usuario ingresa a la opción respectiva de la Página de Administración de Requerimientos, y el sistema obtiene una lista de datos de la Entidad asociada al Requerimiento seleccionado y verifica si la lista no está vacía. Si no está vacía el sistema muestra la lista de datos en su respectiva Página de Manejo de Datos relacionados a un Requerimiento seleccionado.
Alternativos · Lista de datos vacía: El sistema muestra en la Página de Manejo de
Datos relacionados a un Requerimiento seleccionado un mensaje que dice “No se encontraron registros”.
Página | 110
· Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos relacionados a un Requerimiento seleccionado mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de datos asociada al Requerimiento seleccionado en la Página de Manejo de Datos relacionados a un Requerimiento.
Tabla 3.18: (Especificación del caso de uso “Listar datos asociados a un
Requerimiento”)
Especificación de Caso de Uso Código 07
Caso de Uso Filtrar registros listados
Precondiciones · El usuario debe estar viendo la lista de datos en la respectiva Página de Manejo de
Datos, para esta acción se incluye el caso de uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario ingresa los filtros (o campos) de búsqueda y da clic en la opción “Buscar” de la Página de Manejo de Datos (ver Figura 3.4), el sistema obtiene una lista de datos de la respectiva Entidad filtrada por los campos de búsqueda y verifica si la lista no está vacía. Si no está vacía el sistema muestra la lista filtrada en la respectiva Página de Manejo de Datos.
Alternativos
· Lista filtrada está vacía: El sistema muestra un mensaje en la Página de Manejo de Datos que dice “No se encontraron registros”.
· El usuario resetea la búsqueda: El sistema quita todos los filtros de búsqueda y muestra la lista de datos sin filtrarla en la Página de Manejo de Datos.
· Excepción al buscar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de datos filtrada por los campos de búsqueda en la Página de Manejo de Datos con sus respectivas opciones.
Tabla 3.19: (Especificación del caso de uso “Filtrar registros listados”)
Especificación de Caso de Uso Código 08
Caso de Uso Editar registro seleccionado de una lista
Precondiciones · El usuario debe estar viendo la lista de datos en la respectiva Página de Manejo de
Datos, para esta acción se incluye el caso de uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Editar” de la lista de datos en la Página de Manejo de Datos (ver Figura 3.4), y el sistema obtiene los datos del registro seleccionado de la respectiva Entidad y muestra estos en la Página de Edición de Datos (ver Figura 3.6). El usuario edita cada dato, y el sistema valida que el dato sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipo de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Datos mostrando la lista de datos con sus respectivos campos editados, y un mensaje que dice “Actualización exitosa”.
Página | 111
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la edición de datos: El sistema se direcciona a la Página de Manejo de Datos mostrando la lista de datos.
· Excepción al editar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Edición de Datos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de datos con sus respectivos campos editados en la Página de Manejo de Datos.
Tabla 3.20: (Especificación del caso de uso “Editar registro seleccionado de una
lista”)
Especificación de Caso de Uso Código 09
Caso de Uso Eliminar registro seleccionado de una lista
Precondiciones · El usuario debe estar viendo la lista de datos en la respectiva Página de Manejo de
Datos, para esta acción se incluye el caso e uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Eliminar” de la lista de datos en la Página de Manejo de Datos (ver Figura 3.4), y el sistema obtiene los datos del registro seleccionado de la respectiva Entidad y muestra estos en una Ventana Emergente (tipo pop-up, ver Figura 3.7). El usuario da clic en la opción “Confirmar”, y el sistema elimina los datos de la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Datos quitando los datos eliminados de la lista de datos, y mostrando un mensaje “Eliminación exitosa”.
Alternativos
· El usuario cancela la eliminación de datos: El sistema se direcciona a la Página de Manejo de Datos mostrando la lista de datos.
· Excepción al eliminar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de datos sin el registro eliminado en la Página de Manejo de Datos.
Tabla 3.21: (Especificación del caso de uso “Eliminar registro seleccionado de
una lista”)
Especificación de Caso de Uso Código 10
Caso de Uso Manejar datos iniciales del Proyecto
Precondiciones · El usuario debe estar viendo la lista de Proyectos en la Página de Manejo de Proyectos,
para esta acción se incluye el caso de uso “Listar datos iniciales de Proyectos”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Proyectos (ver Figura 3.4), y el sistema obtiene una lista de Clientes, y muestra esta lista de forma desplegable junto a los campos de “código” y
“nombre” en la Página de Creación de Proyecto (ver Figura 3.5). El usuario asocia un Cliente al Proyecto seleccionado un Cliente de la lista e ingresa cada dato u campo, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio).
Página | 112
El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste el Proyecto en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Proyectos mostrando los nuevos datos en la lista de Proyectos, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar el Proyecto creado, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista”
respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación del Proyecto: El sistema se direcciona a la Página de Manejo de Proyectos mostrando la lista de Proyectos.
· Excepción al guardar Proyecto: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Proyecto mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de Proyectos de la Página de Manejo de Proyectos.
Tabla 3.22: (Especificación del caso de uso “Manejar datos iniciales del Proyecto”)
Tener en cuenta que la especificación del caso de uso que se ilustra en la
Tabla 3.12, hace referencia al manejo de datos asociados a un Proyecto como:
datos de las peticiones del Cliente, y datos de las razones por las cuales el
Cliente solicita el nuevo Sistema. Además esta especificación es también para los
casos de uso “Manejar Proceso que requiere el Sistema”, “Manejar Responsable
de Actividad”, y “Establecer Requerimiento del Cliente” debido a su
comportamiento similar.
Especificación de Caso de Uso Código 11
Caso de Uso Manejar datos asociados a un Proyecto
Precondiciones · El usuario debe estar viendo la lista de datos asociada a un Proyecto en la respectiva
Página de Manejo de Datos relacionados a un Proyecto, para esta acción se incluye el caso de uso “Listar datos asociados a un Proyecto”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Datos relacionados a un Proyecto (ver Figura 3.4), y el sistema muestra la respectiva Página de Creación de Datos relacionados a un Proyecto (ver Figura 3.5). El usuario ingresa cada dato u campo, y el sistema valida que el dato sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste los datos o campos en la respectiva tabla (asociada a un Proyecto) de la base de datos y se direcciona a la Página de Manejo de Datos relacionados a un Proyecto mostrando los nuevos datos en la lista de datos asociada a un Proyecto seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar los datos creados, para lo cual se incluye los casos de uso “Filtrar registros listados”,
Página | 113
“Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de un nuevo dato: El sistema se direcciona a la Página de Manejo de Datos relacionados a un Proyecto mostrando la lista de datos asociada a un Proyecto.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Datos relacionados a un Proyecto mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de datos asociada a un Proyecto de la Página de Manejo de Datos relacionados a un Proyecto.
Tabla 3.23: (Especificación del caso de uso “Manejar datos asociados a un
Proyecto”)
Cuando se realzó el modelado de casos de uso se detectó que los casos de
uso agrupados en la Tabla 3.24 tienen comportamiento similar, por esta razón se
realizará la especificación de estos mediante un caso de uso genérico identificado
como “Manejar datos asociados a un Requerimiento”.
Id Caso de Uso 32 Manejar Conflicto por Resolver 33 Manejar Criterio de Aceptación
Tabla 3.24: (Casos de uso para Manejar datos asociados a un Requerimiento)
Especificación de Caso de Uso Código 12
Caso de Uso Manejar datos asociados a un Requerimiento
Precondiciones · El usuario debe estar viendo la lista de datos asociada a un Requerimiento en la
respectiva Página de Manejo de Datos relacionados a un Requerimiento, para esta acción se incluye el caso de uso “Listar datos asociados a un Requerimiento”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Datos relacionados a un Requerimiento seleccionado (ver Figura 3.4), y el sistema muestra la respectiva Página de Creación de Datos relacionados a un Requerimiento (ver Figura 3.5). El usuario ingresa cada dato u campo, y el sistema valida que el dato sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste los datos u campos en la respectiva tabla (asociada a un Requerimiento) de la base de datos y se direcciona a la Página de Manejo de Datos relacionados a un Requerimiento mostrando los nuevos datos en la lista de datos asociada a un Requerimiento, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar los datos creados, para lo cual se incluye los casos de uso “Filtrar registros listados”,
“Editar registro seleccionado de una lista” y “Eliminar registro seleccionado
Página | 114
de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de un nuevo dato: El sistema se direcciona a la Página de Manejo de Datos relacionados a un Requerimiento mostrando la lista de datos asociada a un Requerimiento.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Datos relacionados a un Requerimiento mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de datos asociada a un Requerimiento de la Página de Manejo de Datos relacionados a un Requerimiento.
Tabla 3.25: (Especificación del caso de uso “Manejar datos asociados a un
Requerimiento”)
Especificación de Caso de Uso Código 13
Caso de Uso Quitar ítem de una lista de datos
Precondiciones · El usuario debe estar viendo los ítems de la lista de datos en su respectiva Página de
ítems asociados a un registro seleccionado.
Flujo de Eventos
Básico
El usuario da clic en la opción “Quitar” del ítem de la lista de datos en su
respectiva Página de ítems asociados a un registro seleccionado, y el sistema remueve el ítem seleccionado de la lista de datos de la respectiva Entidad, además actualiza la lista de datos quitando el ítem seleccionado.
Alternativos · Excepción al remover un ítem de una lista de datos: El sistema
captura el tipo de error y se direcciona a su respectiva Página mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· No se observa el ítem removido en la lista de datos de la respectiva Página.
Tabla 3.26: (Especificación del caso de uso “Quitar ítem de una lista de datos”)
Especificación de Caso de Uso Código 14
Caso de Uso Manejar Anexo o archivo del Proyecto
Precondiciones · El usuario debe estar viendo la lista de Anexos asociada a un Proyecto en la Página de
Manejo de Anexos, para esta acción se incluye el caso de uso “Listar datos asociados a
un Proyecto”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Anexos (ver Figura 3.21), y el sistema muestra la Página de Creación de Anexo (ver Figura 3.22). El usuario ingresa los campos “código”, “descripción”, y el sistema valida que estos datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio); el usuario da clic en la opción “Agregar”, y el sistema muestra una ventana
emergente para navegar entre directorios. El usuario selecciona un archivo (de cualquier extensión) y cierra la ventana emergente, y el sistema muestra el nombre del archivo cargado, bloquea la opción “Agregar”, y muestra una opción “Quitar”. El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste el Anexo en la respectiva tabla (asociada al Proyecto) de la base de datos y se direcciona a la Página de Manejo de Anexos
Página | 115
mostrando el nuevo anexo en la lista de anexos asociada a un Proyecto seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario da clic en la opción “Descargar” de la lista de anexos, y el sistema muestra
una ventana emergente para descargar (abrir o guardar) el respectivo archivo. El usuario puede buscar, editar y eliminar los anexos creados, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de un nuevo anexo: El sistema se direcciona a la Página de Manejo de Anexos mostrando la lista de anexos asociada a un Proyecto.
· El usuario quita un archivo cargado: El sistema oculta el nombre del archivo cargado, y la opción “Quitar”, y activa la opción “Agregar”.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de un Anexo mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se obtiene el respectivo archivo, el cual podrá ser visualizado en su respectivo Software dependiendo de su extensión.
Tabla 3.27: (Especificación del caso de uso “Manejar Anexo o archivo del
Proyecto”)
Especificación de Caso de Uso Código 15
Caso de Uso Generar reporte
Precondiciones · El usuario debe estar en sesión, para esta acción se incluye el caso de uso “Iniciar
sesión”.
Flujo de Eventos
Básico
El usuario ingresa a la opción “Reportes” de la Página Principal (ver Figura
3.2), y el sistema obtiene una lista de Proyectos y verifica si la lista no está vacía. Si la lista no está vacía el sistema muestra esta lista (mostrar los campos: código, nombre del proyecto, cliente asociado al proyecto, y estado del proyecto) en la Página de Reportes con sus respectivas opciones como se puede observar en la Figura 3.23. El usuario da clic en la opción “Reportes” de la lista de Proyectos en la
Página de Reportes, y el sistema obtiene una lista de tipos de reportes, y muestra esta lista en una ventana emergente con sus respectivas opciones (ver Figura 3.24 y 3.25). El usuario da clic en la opción “Descargar”, y el
sistema obtiene el respectivo reporte del Proyecto seleccionado mostrando este reporte en formato PDF.
Alternativos
· Lista de datos vacía: El sistema muestra en la Página de Reportes un mensaje que dice “No se encontraron registros”.
· El usuario cierra la ventana emergente: El sistema oculta la ventana emergente, y muestra la Página de Reportes.
· Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Reportes mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza el reporte del Proyecto seleccionado en formato PDF.
Tabla 3.28: (Especificación del caso de uso “Generar reporte”)
Página | 116
Especificación de Caso de Uso Código 16
Caso de Uso Listar parámetros generales del sistema
Precondiciones · El usuario debe estar en sesión, para esta acción se incluye el caso de uso “Iniciar
sesión”.
Flujo de Eventos
Básico
El usuario ingresa a la opción respectiva de la Página Principal (ver Figura 3.2), y el sistema obtiene una lista de datos de la respectiva Entidad y verifica si la lista no está vacía. Si la lista no está vacía el sistema muestra la lista de datos en su respectiva Página de Manejo de Datos con sus respectivas opciones como se puede observar en la Figura 3.4.
Alternativos
· Lista de datos vacía: El sistema muestra en la Página de Manejo de Datos un mensaje que dice “No se encontraron registros”.
· Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· La lista de datos se visualiza en la Página de Manejo de Datos con sus respectivas opciones.
Tabla 3.29: (Especificación del caso de uso “Listar parámetros generales del
sistema”)
La especificación del caso de uso que se ilustra en la Tabla 3.30 hace
referencia al manejo de datos de las opciones generales del sistema como: datos
de Clientes, y datos de Cargos (roles).
Especificación de Caso de Uso Código 17
Caso de Uso Manejar parámetros generales del sistema
Precondiciones · El usuario debe estar viendo la lista de datos en la respectiva Página de Manejo de
Datos, para esta acción se incluye el caso de uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Datos (ver Figura 3.4), y el sistema muestra la Página de Creación de Datos (ver Figura 3.5). El usuario ingresa cada dato u campo, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste los datos u campos en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Datos mostrando los nuevos datos en la lista de datos, y un mensaje que dice “Grabación
exitosa”. El usuario puede buscar, editar y eliminar los datos creados, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de un nuevo dato: El sistema se direcciona a la Página de Manejo de Datos mostrando la lista de datos.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Datos mostrando un
Página | 117
mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de datos de la Página de Manejo de Datos.
Tabla 3.30: (Especificación del caso de uso “Manejar parámetros generales del
sistema”)
Especificación de Caso de Uso Código 18
Caso de Uso Manejar Persona de Desarrollo
Precondiciones · El usuario debe estar viendo la lista de Personas de Desarrollo en la Página de Manejo
de Personas de Desarrollo, para esta acción se incluye el caso de uso “Listar parámetros generales del sistema”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Personas de Desarrollo, y el sistema se direcciona a la Página de Creación de Persona de Desarrollo mostrando una lista desplegable de Cargos, una lista checklist de Características, y el resto de campos como se muestra en la Figura 3.12. El usuario ingresa los campos solicitados y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si los campos son correctos el sistema persiste los datos u campos en las respectivas tablas de la base de datos y se direcciona a la Página de Manejo de Personas de Desarrollo mostrando los nuevos datos en la lista de Personas de Desarrollo, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar las Personas de Desarrollo creadas, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Datos incorrectos: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de una Nueva Persona de Desarrollo: El sistema se direcciona a la Página de Manejo de Personas de Desarrollo mostrando la lista de Personas de Desarrollo.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Persona de Desarrollo mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la nueva Persona de Desarrollo en la lista de Personas de Desarrollo de la Página de Manejo de Personas de Desarrollo.
Tabla 3.31: (Especificación del caso de uso “Manejar Persona de Desarrollo”)
Especificación de Caso de Uso Código 19
Caso de Uso Actualizar datos adicionales al Proyecto
Precondiciones · El usuario debe estar viendo la lista de Proyectos en la Página de Manejo de Proyectos
para lo cual se incluye el caso de uso “Listar datos iniciales de Proyectos”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Administrar” de la lista de Proyectos en la
Página de Manejo de Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8. El usuario ingresa al enlace “Información del
Proyecto”, y el sistema obtiene los datos del Proyecto seleccionado y
muestra estos en la Página de Información del Proyecto como se observa en la Figura 3.13.
Página | 118
El usuario edita los datos u campos solicitados en la Página de Información del Proyecto, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipo de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si los datos son correctos el sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direcciona a la misma Página de Información del Proyecto mostrando los datos actualizados, y un mensaje que dice “Actualización exitosa”.
Alternativos
· Datos incorrectos: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· Excepción al mostrar información del Proyecto: El sistema captura el tipo de error y muestra este en la Página de Información del Proyecto.
· Excepción al actualizar los datos adicionales al Proyecto: El sistema captura el tipo de error y se direcciona a la Página de Información del Proyecto mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualizan los datos actualizados del Proyecto en la Página de Información del Proyecto.
Tabla 3.32: (Especificación del caso de uso “Actualizar datos adicionales al
Proyecto”)
Especificación de Caso de Uso Código 20
Caso de Uso Conformar Equipo de Desarrollo
Precondiciones · El usuario debe estar viendo la lista de Personas de Desarrollo asignadas al Proyecto
seleccionado, para esta acción se incluye el caso de uso “Listar datos asociados a un
Proyecto”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Conformar Equipo” de la Página de Manejo
del Equipo de Desarrollo (ver Figura 3.9), y el sistema obtiene la lista de Personas de Desarrollo asignadas al Equipo de Desarrollo del Proyecto seleccionado, y verifica si la lista está vacía. Si la lista no está vacía el sistema muestra la lista en la Página de Conformación del Equipo de Desarrollo con sus respectivas opciones como se observa en la Figura 3.10. El usuario puede agregar o quitar integrantes (Personas de Desarrollo) al Equipo de Desarrollo para lo cual se incluye los casos de uso “Asignar Personas de Desarrollo al Proyecto” y “Quitar ítem de una
lista de datos” respectivamente. El usuario da clic en la opción “Guardar” y el sistema persiste el Proyecto seleccionado con su respectiva lista de integrantes del Equipo de Desarrollo en las respectivas tablas de la base de datos, y se direcciona a la Página de Manejo del Equipo de Desarrollo mostrando la lista de integrantes del Equipo de Desarrollo asociada al Proyecto seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar y eliminar Personas de Desarrollo del Equipo de Desarrollo conformado, para lo cual se incluye los casos de uso “Filtrar registros listados”, y
“Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· La lista de integrantes del Equipo de Desarrollo está vacía: El sistema muestra en la Página de Conformación del Equipo de Desarrollo un mensaje que dice “No se encontraron registros”.
· El usuario cancela la conformación del Equipo de Desarrollo: El sistema se direcciona a la Página de Manejo del Equipo de Desarrollo mostrando la lista de integrantes del Equipo de Desarrollo asociada al Proyecto seleccionado.
· Excepción al guardar el Equipo de Desarrollo: El sistema captura el
Página | 119
tipo de error y se direcciona a la misma Página de Conformación del Equipo de Desarrollo mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista actual de Integrantes del Equipo de Desarrollo asociada al Proyecto seleccionado en la Página de Manejo del Equipo de Desarrollo.
Tabla 3.33: (Especificación del caso de uso “Conformar Equipo de Desarrollo”)
Especificación de Caso de Uso Código 21
Caso de Uso Asignar Personas de Desarrollo al Proyecto
Precondiciones · El usuario debe estar viendo la lista de Asignaciones de Persona de Desarrollo asociada
al Proyecto seleccionado en la Página de Conformación del Equipo de Desarrollo, para esta acción se incluye el caso de uso “Conformar Equipo de Desarrollo”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Agregar” de la Página de Conformación del
Equipo de Desarrollo (ver Figura 3.10), y el sistema obtiene una lista de Personas de Desarrollo que no están en la lista de Asignaciones de Personas de Desarrollo, luego el sistema verifica si esta lista obtenida contiene al menos un ítem. Si esta lista obtenida contiene al menos un ítem el sistema muestra estos ítems con sus respectivas opciones en la Página de Selección de Personas de Desarrollo como se observa en la Figura 3.11. El usuario puede buscar una Persona de Desarrollo antes de seleccionarla, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da clic en la opción “Seleccionar” de la lista de Personas de Desarrollo y el sistema agrega la respectiva Persona de Desarrollo seleccionada a la lista de Asignaciones de Personas de Desarrollo asociada al Proyecto seleccionado, además el sistema actualiza la lista de Personas de Desarrollo quitando (ocultando) la Persona de Desarrollo seleccionada. El usuario da clic en la opción “Listo” de la Página de
Selección de Personas de Desarrollo y el sistema obtiene la lista actual de Asignaciones de Personas de Desarrollo asociada al Proyecto seleccionado y muestra esta lista en la Página de Conformación del Equipo de Desarrollo.
Alternativos
· La lista de Personas de Desarrollo no asignadas está vacía: El sistema muestra en la Página de Selección de Personas de Desarrollo un mensaje que dice “No se encontraron registros”.
· Excepción al agregar una Persona de Desarrollo: El sistema captura el tipo de error e informa este error con un mensaje en la Página de Selección de Personas de Desarrollo.
Pos condiciones
· Se observa la lista actual de Asignaciones de Personas de Desarrollo asociada al Proyecto seleccionado en la Página de Conformación del Equipo de Desarrollo.
Tabla 3.34: (Especificación del caso de uso “Asignar Personas de Desarrollo al
Proyecto”)
Especificación de Caso de Uso Código 22
Caso de Uso Realizar Análisis de Metas del Proyecto
Precondiciones · El usuario debe estar viendo la lista de Metas asociadas al Proyecto seleccionado, para
esta acción se incluye el caso de uso “Listar datos asociados a un Proyecto”.
Flujo de Básico El usuario da clic en opción “Crear” de la Página de Manejo de Metas, y el
sistema se direcciona a la Página de Creación de Meta mostrando una
Página | 120
Eventos lista de Análisis de Meta inicializada con una lista de Características (ítems de características: Específica, Mesurable, Alcanzable, Relevante), como se observa en la figura 3.14. El usuario ingresa cada campo, y el sistema valida si este sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada campo es correcto, el
sistema persiste la Meta con su lista de Análisis en las respectivas tablas de la base de datos, y se direcciona a la Página de Manejo de Metas mostrando la nueva Meta en la lista de Metas asociada a un Proyecto seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar las Metas creadas con su respectivo Análisis, para lo cual se incluye los casos de uso “Filtrar registros listados”,
“Editar registro seleccionado de una lista”, y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato u campo incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de una nueva Meta: El sistema se direcciona a la Página de Manejo de Metas mostrando la lista de Metas asociada al Proyecto seleccionado.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Meta mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista actual de Metas asociada al Proyecto seleccionado en la Página de Manejo de Metas.
Tabla 3.35: (Especificación del caso de uso “Realizar Análisis de Metas del
Proyecto”)
Especificación de Caso de Uso Código 24
Caso de Uso Manejar Actividad por Proceso
Precondiciones · El usuario lista las Actividades asociadas al Proyecto seleccionado, para esta acción se
incluye el caso de uso “Listar datos asociados a un Proyecto”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Actividades, y el sistema se direcciona a la Página de Creación de Actividad mostrando una lista desplegable de Procesos asociados al Proyecto seleccionado, junto a sus respectivos campos. El usuario ingresa cada dato u campo y asocia la actividad a un Proceso seleccionando un Proceso de la lista desplegable, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste la Actividad en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Actividades mostrando la nueva Actividad en la lista de Actividades, y un mensaje que dice “Grabación
exitosa”. El usuario puede buscar, editar y eliminar las Actividades creadas, para lo cual se incluye los casos de uso “Filtrar registros listados”,
“Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de una nueva Actividad: El sistema se direcciona a la Página de Manejo de Actividades mostrando la lista de Actividades.
· Excepción al guardar una Actividad: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Actividad
Página | 121
mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista actual de Actividades asociada a diferentes Procesos de un Proyecto seleccionado en la Página de Manejo de Actividades.
Tabla 3.36: (Especificación del caso de uso “Manejar Actividad por Proceso”)
Especificación de Caso de Uso Código 26
Caso de Uso Identificar Responsable por Actividad
Precondiciones · El usuario debe estar viendo la Página de Administración de Proyectos.
Flujo de Eventos
Básico
El usuario ingresa a la opción “Iniciación del Proyecto/Identificación de
Responsables por Actividad” de la Página de Administración de Proyectos (ver Figura 3.8), y el sistema obtiene una lista de Actividades con su respectivo Proceso asociado, y la cantidad de Responsables asignados, y verifica que la lista no esté vacía. Si la lista no está vacía el sistema muestra esta lista en la Página de Manejo de Responsables por Actividad como se puede observar en la Figura 3.15. El usuario da clic en la opción “Responsables” de la lista de Actividades, y el sistema muestra el nombre de la Actividad seleccionada con su Proceso asociado, y obtiene su respectiva lista de Responsables asignados, y verifica que la lista no esté vacía. Si la lista no está vacía el sistema muestra esta lista en la Página de Asignación de Responsables a una Actividad con sus respectivas opciones como se observa en la Figura 3.16. El usuario puede agregar y quitar Responsables de la Actividad seleccionada, para lo cual se incluye los casos de uso “Asignar Responsables a una Actividad”, y “Quitar ítem de una lista de datos”
respectivamente. El usuario da clic en la opción “Guardar”, y el sistema
persiste la Actividad con su respectiva lista de Responsables asignados en las respectivas tablas de la base de datos, y se direcciona a la Página de Manejo de Responsables por Actividad, actualizando la cantidad de responsables asignados a la Actividad seleccionada, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar las Actividades, para lo cual se incluye el caso de uso “Filtrar registros listados”.
Alternativos
· La lista de actividades está vacía: El sistema muestra en la Página de Manejo de Responsables por Actividad un mensaje que dice “No se encontraron registros”.
· La lista de Responsables asignados a una Actividad está vacía: El sistema muestra en la Página de Asignación de Responsables a una Actividad un mensaje que dice “No se encontraron registros”.
· El usuario cancela la asignación de Responsables a la Actividad: El sistema se direcciona a la Página de Manejo de Responsables por Actividad mostrando la lista de Actividades.
· Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Asignación de Responsables a una Actividad mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista actual de Actividades con su respectiva cantidad de Responsables asignados, en la Página de Manejo de Responsables por Actividad.
Tabla 3.37: (Especificación del caso de uso “Identificar Responsable por
Actividad”)
Página | 122
Especificación de Caso de Uso Código 27
Caso de Uso Asignar Responsables a una Actividad
Precondiciones · El usuario debe estar viendo la lista de Responsables asignados a una Actividad
seleccionada, en la Página de Asignación de Responsables a una Actividad, para esta acción se incluye el caso de uso “Identificar Responsable por Actividad”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Agregar” de la Página de Asignación de Responsables a una Actividad (ver Figura 3.16), y el sistema obtiene una lista de Responsables que no están en la lista de Asignaciones de Responsables, luego el sistema verifica si esta lista obtenida contiene al menos un ítem. Si esta lista obtenida contiene al menos un ítem el sistema muestra estos ítems con sus respectivas opciones en la Página de Selección de Responsables. El usuario puede buscar un Responsable antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da clic en la opción “Seleccionar” de la lista de Responsables, y el sistema agrega el Responsable seleccionado a la lista de Asignaciones de Responsables asociada a la Actividad seleccionada, además el sistema actualiza la lista de Responsables quitando el Responsable seleccionado. El usuario da clic en la opción “Listo” de la Página de Selección de
Responsables, y el sistema obtiene la lista actual de Asignaciones de Responsables asociada a la Actividad seleccionada, y muestra esta lista en la Página de Asignación de Responsables a una Actividad.
Alternativos
· La lista de Responsables no asignados está vacía: El sistema muestra en la Página de Selección de Responsables un mensaje que dice “No se encontraron registros”.
· Excepción al agregar un Responsable: El sistema captura el tipo de error e informa este error con un mensaje en la Página de Selección de Responsables.
Pos condiciones
· Se observa la lista actual de Asignaciones de Responsables asociada a la Actividad seleccionada en la Página de Asignación de Responsables a una Actividad.
Tabla 3.38: (Especificación del caso de uso “Asignar Responsables a una
Actividad”)
Especificación de Caso de Uso Código 28
Caso de Uso Realizar identificación macro de Procesos
Precondiciones · El usuario debe estar viendo la lista de Detalles de Procesos asociados al Proyecto
seleccionado, en la Página de Manejo de Detalles de Procesos, para esta acción se incluye el caso de uso “Listar datos asociados a un Proyecto”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Detalles de Procesos (ver Figura 3.4), y el sistema obtiene una lista de Procesos asociados al Proyecto seleccionado, obtiene una lista que indica el tipo de detalle del Proceso (ítems: Proveedor, Entrada, Salida, Cliente), y muestra estas listas desplegables junto a los campos de código y descripción en la Página de Creación de Detalle del Proceso relacionado al Proyecto seleccionado (ver Figura 3.5). El usuario ingresa cada dato u campo y asocia el Detalle a un Proceso seleccionando un Proceso de la lista desplegable, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste el Detalle asociado al Proceso seleccionado en la respectiva tabla de la base de datos, y se direcciona a la Página de Manejo de Detalles de Procesos mostrando el nuevo Detalle en la lista de
Página | 123
Detalles, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar los Detalles creados, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro seleccionado de una lista” y “Eliminar registro seleccionado de una lista” respectivamente.
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de un Detalle asociado a un Proceso: El sistema se direcciona a la Página de Manejo de Detalles de Procesos mostrando la lista de Detalles.
· Excepción al guardar un Detalle: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Detalle del Proceso mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista actual de Detalles asociada a diferentes Procesos de un Proyecto seleccionado en la Página de Manejo de Detalles de Procesos.
Tabla 3.39: (Especificación del caso de uso “Realizar identificación macro de
Procesos”)
Especificación de Caso de Uso Código 30
Caso de Uso Mostrar información actual del Requerimiento
Precondiciones · El usuario debe estar viendo la lista de Requerimientos asociada a un Proyecto en la
Página de Selección de un Requerimiento, para lo cual se incluye el caso de uso “Listar
datos asociados a un Proyecto”.
Flujo de Eventos
Básico
El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da clic en la opción “Administrar” de la lista de Requerimientos asociada a un
Proyecto en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos con sus respectivas opciones como se observa en la Figura 3.18. El usuario ingresa al enlace “Información del Requerimiento”, y el sistema
obtiene los datos del Requerimiento seleccionado y muestra estos en la Página de Información de un Requerimiento como se observa en la Figura 3.20.
Alternativos · Excepción al mostrar información del Requerimiento: El sistema
captura el tipo de error y muestra este en la Página de Información de un Requerimiento.
Pos condiciones
· Se visualiza los datos del Requerimiento en la Página de Información de un Requerimiento.
Tabla 3.40: (Especificación del caso de uso “Mostrar Información actual del
Requerimiento”)
Especificación de Caso de Uso Código 31
Caso de Uso Actualizar datos adicionales al Requerimiento
Precondiciones · El usuario debe estar viendo la lista de Requerimientos asociada a un Proyecto en la
Página de Selección de un Requerimiento, para lo cual se incluye el caso de uso “Listar
datos asociados a un Proyecto”
Flujo de Básico El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da clic
Página | 124
Eventos en la opción “Administrar” de la lista de Requerimientos asociada al Proyecto seleccionado en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos mostrando las respectivas opciones como se observa en la Figura 3.18. El usuario da clic en la opción “Datos Adicionales”, y el sistema obtiene una lista desplegable que indica el tipo de requerimiento (ítems: “Funcional”, “No Funcional”), y obtiene los Métodos de obtención
asociados al requerimiento mostrando estos como una lista tipo checklist (posibles métodos de obtención: “Encuesta”, “Focus Group”, “Entrevistas
Individuales”, “Sitios visitados”, “Quejas de los Clientes”, “Retornos”),
además, si la prioridad del Requerimiento seleccionado es diferente de cero el sistema bloquea el campo “Implementar Requerimiento”, finalmente
el sistema muestra las listas junto a otros campos en la Página de Actualización de datos adicionales al Requerimiento (ver Figura 3.19). El usuario ingresa los campos solicitados y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, tipo de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si los datos son correctos el sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direcciona a la misma Página de Actualización de datos adicionales al Requerimiento mostrando los datos actualizados, y un mensaje que dice “Actualización exitosa”.
Alternativos
· Datos incorrectos: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· Excepción al actualizar los datos adicionales al Requerimiento: El sistema captura el tipo de error y se direcciona a la misma Página de Actualización de datos adicionales al Requerimiento mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualizan los datos actualizados del Requerimiento en la Página de Actualización de datos adicionales al Requerimiento.
Tabla 3.41: (Especificación del caso de uso “Actualizar datos adicionales al
Requerimiento”)
Especificación de Caso de Uso Código 34
Caso de Uso Identificar Posible Mejora Potencial
Precondiciones · El usuario debe estar viendo la lista de Posibles Mejoras asociada a un Requerimiento
en la Página de Manejo de Posibles Mejoras, para esta acción se incluye el caso de uso “Listar datos asociados a un Requerimiento”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Crear” de la Página de Manejo de Posibles Mejoras, y el sistema genera dos listas desplegables, una que indica el tipo de tiempo (ítems: Bajo, Medio, Alto), y la otra que indica el tipo de costo (ítems: Bajo Medio, Alto, Desconocido), y muestra estas listas junto a los campos de código y descripción en la Página de Creación de Posible Mejora relacionada al Requerimiento seleccionado. El usuario ingresa cada dato u campo, y el sistema valida que el dato sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si cada dato es correcto el sistema persiste la Posible Mejora en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Posibles Mejoras mostrando los nuevos datos en la lista de Posibles Mejoras asociada al Requerimiento seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario puede buscar, editar y eliminar las Posibles Mejoras creadas, para lo cual se incluye los casos de uso “Buscar datos”, “Editar datos” y
“Eliminar datos” respectivamente.
Página | 125
Alternativos
· Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.
· El usuario cancela la creación de una Posible Mejora: El sistema se direcciona a la Página de Manejo de Posibles Mejoras mostrando la lista de Posibles Mejoras asociada al Requerimiento seleccionado.
· Excepción al guardar Posible Mejora: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de Posible Mejora mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza los nuevos datos en la lista de Posible Mejoras de la Página de Manejo de Posibles Mejoras.
Tabla 3.42: (Especificación del caso de uso “Identificar Posible Mejora Potencial”)
Especificación de Caso de Uso Código 35
Caso de Uso Priorizar los Requerimientos
Precondiciones · El usuario debe estar viendo la lista de Proyectos en la Página de Manejo de Proyectos,
para esta acción se incluye el caso de uso “Listar datos iniciales de Proyectos”.
Flujo de Eventos
Básico
El usuario da clic en la opción “Administrar” de la lista de Proyectos en la
Página de Manejo de Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8. El usuario ingresa a la opción “Análisis del
Sistema / Priorización de Requerimientos”, y el sistema genera una lista de requerimientos con estado “Aceptado” y ordenada por prioridad, y verifica si la lista está vacía. Si no está vacía el sistema muestra esta lista en una tabla con los columnas “Prioridad”, “Código”, “Descripción”, “Rango de
importancia”, “Rango de satisfacción actual”, y dos opciones en cada fila (Subir, Bajar) para ordenar la prioridad; la opción “Subir” no se debe visualizar en la primera fila, y la opción “Bajar” no se debe visualizar en la
última fila; esta tabla con sus respectivas opciones se muestra en la Página de Priorización de Requerimientos como se observa en la Figura 3.26. El usuario da clic en la opción “Subir” de una fila, y el sistema intercambia los datos de la fila actual con los datos de la fila anterior; el usuario da clic en la opción “Bajar”, y el sistema intercambia los datos de la fila actual con los datos de la siguiente fila. El usuario da clic en la opción “Guardar”, y el
sistema actualiza cada Requerimiento en la base de datos.
Alternativos
· La lista de Requerimientos está vacía: El sistema muestra en la Página de Priorización de Requerimientos un mensaje que dice “No se
encontraron registros”. · Excepción al subir o bajar un Requerimiento: El sistema captura el
tipo de error y se direcciona a la misma Página de Priorización de Requerimientos mostrando un mensaje que informa el tipo de error capturado.
· Excepción al actualizar los Requerimientos: El sistema captura el tipo de error y se direcciona a la misma Página de Priorización de Requerimientos mostrando un mensaje que informa el tipo de error capturado.
Pos condiciones
· Se visualiza la lista de Requerimientos con estado “Aceptado” ordenados por prioridad
(de menor a mayor), en la Página de Priorización de Requerimientos.
Tabla 3.43: (Especificación del caso de uso “Priorizar los Requerimientos”)
Página | 126
3.2.2 Análisis de Robustez
Para iniciar esta fase se debe disponer del primer proyecto de casos de uso
(especificación de cada caso de uso a nivel de borrador) que será utilizado en
cada diagrama de robustez.
3.2.2.1 Diagrama de robustez por cada caso de uso
En la siguiente tabla se muestra un listado de todos los casos de uso de los
cuales se realizó su respectiva especificación, y ahora por cada caso de uso se
realizará un diagrama de robustez.
Id Caso de uso 01 Iniciar sesión
02 Cerrar sesión 03 Manejar cuenta de usuario del sistema 04 Listar datos asociados a un Proyecto 05 Listar datos iniciales de Proyectos
06 Listar datos asociados a un Requerimiento 07 Filtrar registros listados 08 Editar registro seleccionado de una lista
09 Eliminar registro seleccionado de una lista 10 Manejar datos iniciales del Proyecto 11 Manejar datos asociados a un Proyecto
12 Manejar datos asociados a un Requerimiento 13 Quitar ítem de una lista de datos 14 Manejar Anexo o archivo del Proyecto
15 Generar reporte 16 Listar parámetros generales del sistema 17 Manejar parámetros generales del sistema
18 Manejar Persona de Desarrollo 19 Actualizar datos adicionales al Proyecto 20 Conformar Equipo de Desarrollo
21 Asignar Personas de Desarrollo al Proyecto 22 Realizar Análisis de Metas del Proyecto 24 Manejar Actividad por Proceso
26 Identificar Responsable por Actividad 27 Asignar Responsables a una Actividad 28 Realizar identificación macro de Procesos
30 Mostrar información actual del Requerimiento 31 Actualizar datos adicionales al Requerimiento 34 Identificar Posible Mejora Potencial
35 Priorizar los Requerimientos
Tabla 3.44: (Listado de Casos de Uso)
Página | 127
Código: 01Caso de Uso: Iniciar sesión
Flujo Básico:El usuario da clic en el enlace “Iniciar sesión” de la Página
Principal (ver Figura 3.2), y el sistema muestra la Página de Inicio de sesión (ver Figura 3.3). El usuario ingresa su nombre de usuario y contraseña y da clic en la opción “Ingresar”.
El sistema verifica si existen los datos ingresados en cuenta de usuario. Si estos datos existen, el sistema autentifica al usuario en sesión y se direcciona a la Página Principal mostrando un mensaje de bienvenida, y el nombre del usuario autentificado. Además el sistema cambia el enlace “Iniciar sesión”
por el enlace “Cerrar sesión”.
Flujos Alternativ os:Datos inv álidos: El sistema se direcciona a la misma Página de Inicio de sesión mostrando un mensaje que dice “Nombre de
usuario y/o contraseña son incorrectos, inicio de sesión falló”.
Usuario cancela inicio de sesión: El usuario da clic en la opción “Cancelar”, y el sistema
muestra la Página Principal.
Página PrincipalMostrar Página de
Inicio de sesión
Página de Inicio de
sesión
CuentaUsuario
Ingresar "nombre deusuario" y "contraseña"
Existe cuenta?
Autentificar usuario ensesión
Direccionar a la Página
Principal con unmensaje de bienveniday nombre de usuario
Cambiar la etiqueta delenlace "Iniciar sesión"
por "Cerrar sesión"
Mostrar Página de
Inicio de sesión con un
mensaje "Nombre deusuario y/o contraseña
son incorrectos, iniciode sesión falló"
Mostrar Página
Principal
Cancelar Inicio desesión
Usuario
(from Actores)
no
si
clic en la opción
"Ingresar"
clic en el enlace"Iniciar sesión"
Figura 3.30: (Diagrama de Robustez del caso de uso “Iniciar sesión”)
Código: 02Caso de Uso: Cerrar sesión
Flujo Básico:El usuario da clic en el enlace “Cerrar sesión” de la Página
Principal (ver Figura 3.2), y el sistema muestra una ventana pop-up (ventana emergente) con un mensaje que dice “¿Está seguro
que desea salir de la Aplicación?”,
y dos opciones (Confirmar, Cancelar).
El usuario da clic en la opción “Confirmar”, y el sistema descarga
los datos del usuario en sesión y vuelve a mostrar la Página Principal cambiando el enlace “Cerrar sesión” por el enlace
“Iniciar sesión”.
Flujos Alternativ os:Usuario cancela cerrar sesión: El usuario da clic en la opción “Cancelar”, y el sistema oculta la
ventana pop-up.
Página Principal Mostrar VentanaEmergente
Ventana Emergente
Descargar los datos delusuario en sesión
Cambiar enlace "Cerrarsesión" por "Iniciar
sesión"
Cancelar cerrar sesión
Direccionar a la Página
Principal
Usuario
(from Actores)
Iniciar sesión
Ocultar VentanaEmergente
<<precedes>>
clic en la opción
"Confirmar"
clic en elenlace "Cerrarsesión"
Figura 3.31: (Diagrama de Robustez del caso de uso “Cerrar sesión”)
Página | 128
Figura 3.32: (Diagrama de Robustez del caso de uso “Manejar cuenta de usuario
del sistema”)
Có
dig
o:
03
Ca
so
de
Us
o:
Ma
ne
jar
cue
nta
de
usu
ari
o d
el
sist
em
a
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Cu
en
tas
de
Usu
ari
o
de
l si
ste
ma
(ve
r F
igu
ra 3
.4),
y e
l si
ste
ma
g
en
era
un
a l
ista
qu
e i
nd
ica
el
rol
de
l u
sua
rio
(í
tem
s: A
dm
inis
tra
do
r, L
íde
r d
el
Pro
yect
o,
An
ali
sta
, C
lie
nte
), y
mu
est
ra e
sta
lis
ta e
n
form
a d
esp
leg
ab
le j
un
to a
lo
s ca
mp
os
de
“u
sua
rio
”, y
“co
ntr
ase
ña
” e
n l
a P
ág
ina
de
Cre
aci
ón
de
Cu
en
ta d
e U
sua
rio
(ve
r F
igu
ra
3.5
). E
l u
sua
rio
asi
gn
a u
n r
ol
sele
ccio
na
do
u
n í
tem
de
la
lis
ta e
in
gre
sa c
ad
a d
ato
u
cam
po
, y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te l
a
Cu
en
ta d
e U
sua
rio
en
la
re
spe
ctiv
a t
ab
la d
e
la b
ase
de
da
tos
y se
dir
ecc
ion
a a
la
Pá
gin
a
de
Ma
ne
jo d
e C
ue
nta
s d
e U
sua
rio
mo
stra
nd
o
los
nu
evo
s d
ato
s e
n l
a l
ista
de
cu
en
tas
de
u
sua
rio
, y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
las
Cu
en
tas
de
usu
ari
o c
rea
da
s,
pa
ra l
o c
ua
l se
in
clu
ye l
os
caso
s d
e u
so
“Fil
tra
r re
gis
tro
s li
sta
do
s”,
“Ed
ita
r re
gis
tro
sele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
de
la
cu
en
tad
e u
su
ari
o:
El
sist
em
a s
e d
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
de
Cu
en
tas
de
Usu
ari
o
mo
stra
nd
o l
a l
ista
de
cu
en
tas
de
usu
ari
o.
Ex
ce
pc
ión
al
gu
ard
ar
la c
ue
nta
de
us
ua
rio
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
Cre
aci
ón
d
e C
ue
nta
de
Usu
ari
o m
ost
ran
do
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Us
ua
rio
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Cu
en
tas
de
Usu
ari
o
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e C
ue
nta
de
Usu
ari
o
Pá
gin
a d
e C
rea
ció
n d
e
Cu
en
ta d
e U
sua
rio
Ob
ten
er
list
a d
e r
ole
sd
e u
sua
rio
«e
nu
me
rati
on
»
Ro
lUs
ua
rio
Ing
resa
r d
ato
s
Pe
rsis
tir
da
tos
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e C
ue
nta
s d
eU
sua
rio
Ca
nce
lar
cre
ació
n d
e
Cu
en
ta d
e U
sua
rio
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e C
ue
nta
de
Usu
ari
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
xce
pció
n
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
(fro
m P
ará
me
tro
s G
en
era
les)
Lis
tar
pa
rám
etr
os
ge
ne
rale
s d
el
sis
tem
a
Cu
en
taU
sua
rio
cli
c e
n l
a o
pció
n
"Gu
ard
ar"
clic
en
la
op
ció
n
"Cre
ar"
<<
invo
kes>
><
<in
voke
s>>
<<
invo
kes>
>
<<
pre
ced
es>
>
si
no
Página | 129
Página de Manejo de
Proyectos
Capturar excepción
ProyectoObtener l ista de datosasociada al Proyecto
seleccionado
Mostrar mensaje queinforma el tipo de
excepción
Mostrar mensaje "No seencontraron registros"
EntidadAsociadaProyecto
Tiene datos la l ista?
Código: 04Caso de Uso: Listar datos asociados a un Proyecto
Flujo Básico:El usuario da clic en la opción “Administrar” de la lista de
Proyectos en la Página de Manejo de Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8.
El usuario ingresa a la opción respectiva de la Página de Administración de Proyectos, y el sistema obtiene una lista de datos de la Entidad asociada al Proyecto seleccionado y verifica si la l ista no está vacía. Si no está vacía el sistema muestra la lista de datos en su respectiva Página de Manejo de Datos relacionados a un Proyecto.
Flujos Alternativ os:Lista de datos v acía: El sistema muestra en la Página de Manejo de Datos relacionados a un Proyecto un mensaje que dice “No
se encontraron registros”.
Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos relacionados a un Proyecto mostrando un mensaje que informa el tipo de error capturado.
Página de
Administración de
Proyectos
Mostrar Página de
Administración de
Proyectos
Página de Manejo de
Datos relacionados aun Proyecto
Mostrar Página de
Manejo de Datosrelacionados a un
Proyecto
Usuario
(from Actores)
Listar datos iniciales de Proyectos
clic en laopción
"Administrar"
<<precedes>>
no
clic en laopción
respectiva
si
Figura 3.33: (Diagrama de Robustez del caso de uso “Listar datos asociados a un Proyecto”)
Código: 05Caso de Uso: Listar datos iniciales de Proyectos
Flujo Básico:El usuario ingresa a la opción "Proyectos" de la Página Principal (ver Figura 3.2), y el sistema obtiene una lista de Proyectos, y verifica si la l ista no está vacía.
Si la l ista no está vacía el sistema muestra los campos de código, nombre, estado, y nombre del cliente el cual se obtiene mediante el identificador del Cliente asociado al Proyecto; esta lista se muestra en la Página de Manejo de Proyectos con sus respectivas opciones.
Flujos Alternativ os:Lista de Proyectos v acía: El sistema muestra en la Página de Manejo de Proyectos un mensaje que dice “No se encontraron
registros”.
Excepción al listar Proyectos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Proyectos mostrando un mensaje que informa el tipo de error capturado.
Usuario
(from Actores)
Página Principal Obtener l ista deProyectos
Proyecto
Cliente
Mostrar Página de
Manejo de Proyectos
Página de Manejo de
Proyectos
Tiene datos la l ista?
Mostrar mensaje "No seencontraron registros"
Capturar excepciónMostrar mensaje queinforma el tipo de
excepción
(from Administración)
Iniciar sesión<<precedes>>
no
si
clic en laopción
Proyectos
Figura 3.34: (Diagrama de Robustez del caso de uso “Listar datos iniciales de Proyectos”)
Página | 130
Página de Selección
de un Requerimiento
Página de
Administración de
Requerimientos
Mostrar Página de
Manejo de Datosrelacionados a un
Requerimiento
Mostrar Página de
Administración de
Requerimientos
Requerimiento
EntidadAsociadaRequerimiento
Tiene datos la l ista?
Capturar excepción
Mostrar mensaje queinforma el tipo de
excepción
Mostrar mensaje "No seencontraron registros"
Código: 06Caso de Uso: Listar datos asociados a un Requerimiento
Flujo Básico:El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da
clic en la opción “Administrar” de la lista
de Requerimientos asociada al Proyecto seleccionado en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos mostrando las respectivas opciones como se observa en la Figura 3.18.
El usuario ingresa a la opción respectiva de la Página de Administración de Requerimientos, y el sistema obtiene unalista de datos de la Entidad asociada al Requerimiento seleccionado y verifica si la l ista no está vacía. Si no está vacía el sistema muestra la lista de datos en su respectiva Página de Manejo de Datos relacionados a un Requerimiento seleccionado.
Flujos Alternativ os:Lista de datos v acía: El sistema muestra en la Página de Manejo de Datos relacionados a un Requerimiento seleccionado un mensaje que dice “No
se encontraron registros”.
Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos relacionados a un Requerimiento seleccionado mostrando un mensaje que informa el tipo de error capturado.
Página de Manejo de
Datos relacionados aun Requerimiento
Obtener l ista de datosasociada al
Requerimientoseleccionado
Usuario
(from Actores)
Listar datos asociados a un
Proyecto
Filtrar registros listados
clic en laopción
respectiva
si
clic en laopción
"Administrar"<<invokes>>
no
<<precedes>>
Figura 3.35: (Diagrama de Robustez del caso de uso “Listar datos asociados a un Requerimiento”)
Código: 07Caso de Uso: Filtrar registros listados
Flujo Básico:El usuario ingresa los fi ltros (o campos) de búsqueda y da clic en la opción “Buscar” de la
Página de Manejo de Datos (ver Figura 3.4), el sistema obtiene una lista de datos de la respectiva Entidad fi ltrada por los campos de búsqueda y verifica si la l ista no está vacía.
Si no está vacía el sistema muestra la l ista fi ltrada en la respectiva Página de Manejo de Datos.
Flujos Alternativ os:Lista filtrada está v acía: El sistema muestra un mensaje en la Página de Manejo de Datos que dice “No se encontraron
registros”.
El usuario resetea la búsqueda: El sistema quita todos los fi ltros de búsqueda y muestra la l ista de datos sin fi ltrarla en la Página de Manejo de Datos.Excepción al buscar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Página de Manejo de
Datos
Ingresar los campos debúsqueda
Obtener lista de datosfiltrada
Entidad
Tiene datos la lista?
Mostrar Página de
Manejo de Datos
Resetear búsqueda
Mostrar mensaje "No seencontraron registros"
Quitar fi ltros debúsqueda
Capturar excepción
Mostrar mensaje queinforma el tipo de
excepción
Nota: El caso de uso "Listar parámetros generales del sistema" puede cambiar por "Listar datos asociados a un Proyecto", o "Listar datos iniciales de Proyectos", o por "Listar datos asociados a un Requerimiento", depende si se busca datos asociados a un Proyecto, o datos iniciales de Proyectos, o datos asociados a un Requerimiento respectivamente.
Usuario
(from Actores)
(from Parámetros Generales)
Listar parámetros
generales del sistema
clic en laopción
"Buscar"
no
<<precedes>>
si
Figura 3.36: (Diagrama de Robustez del caso de uso “Filtrar registros listados”)
Página | 131
Código: 08Caso de Uso: Editar registro seleccionado de una lista
Flujo Básico:El usuario da clic en la opción “Editar” de la l ista de datos en la
Página de Manejo de Datos (ver Figura 3.4), y el sistema obtiene los datos del registro seleccionado de la respectiva Entidad y muestra estos en la Página de Edición de Datos (ver Figura 3.6). El usuario edita cada dato, y el sistema valida que el dato sea correcto (no exceda el límite de caracteres permitidos, obligatoriedad, tipo de datos, reglas de negocio).
El usuario da clic en la opción “Guardar”. Si cada dato es correcto el
sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Datos mostrando la l ista de datos con sus respectivos campos editados, y un mensaje que dice “Actualización exitosa”.
Flujos Alternativ os:Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.El usuario cancela la edición de datos: El sistema se direcciona a la Página de Manejo de Datos mostrando la l ista de datos.Excepción al editar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Edición de Datos mostrando un mensaje que informa el tipo de error capturado.
Nota: El caso de uso "Listar parámetros generales del sistema" puede cambiar por "Listar datos asociados a un Proyecto", o "Listar datos iniciales de Proyectos", o por "Listar datos asociados a un Requerimiento", depende si se edita datos asociados a un Proyecto, o datos iniciales de Proyectos, o datos asociados a un Requerimiento respectivamente.
Página de Manejo de
Datos
Obtener datos delregistro seleccionado
EntidadMostrar Página de
Edición de Datos
Editar datosPágina de Edición de
Datos
Actualizar datos
Capturar excepciónMostrar en la Página
de Edición de Datos un
mensaje que informa eltipo de excepción
Mostrar Página de
Manejo de Datos
Son correctos los datoseditados?
Mostrar al lado del datoincorrecto un mensajeque informa el tipo de
error
Cancelar edición de
datos
Mostrar mensaje"Actualización exitosa"
Usuario
(from Actores)
(from Parámetros Generales)
Listar parámetros
generales del sistema
clic en laopción
"Guardar"
clic en laopción"Editar"<<precedes>>
sino
Figura 3.37: (Diagrama de Robustez del caso de uso “Editar registro seleccionado de una lista”)
Código: 09Caso de Uso: Eliminar registro seleccionado de una lista
Flujo Básico:El usuario da clic en la opción “Eliminar” de la l ista de datos en la
Página de Manejo de Datos (ver Figura 3.4), y el sistema obtiene los datos del registro seleccionado de la respectiva Entidad y muestra estos en una Ventana Emergente (tipo pop-up, ver Figura 3.7).
El usuario da clic en la opción “Confirmar”, y el sistema elimina
los datos de la respectiva tabla de la base de datos y se direcciona a la Página de Manejo de Datos quitando los datos eliminados de la l ista de datos, y mostrando un mensaje “Eliminación exitosa”.
Flujos Alternativ os:El usuario cancela la eliminación de datos: El sistema se direcciona a la Página de Manejo de Datos mostrando la l ista de datos.Excepción al eliminar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Página de Manejo de
Datos
Entidad
Ventana emergente
Obtener datos delregistro seleccionado
Mostrar VentanaEmergente
Cancelar eliminación
del registroseleccionado
Mostrar Página de
Manejo de Datos
Mostrar mensaje"Eliminación exitosa"
Eliminar datos
Capturar excepciónMostrar mensaje queinforma el tipo de
excepción
Nota: El caso de uso "Listar parámetros generales del sistema" puede cambiar por "Listar datosasociados a un Proyecto", o "Listar datos iniciales de Proyectos", o por "Listar datos asociados a un Requerimiento", depende si se elimina datos asociados a un Proyecto, o datos iniciales de Proyectos, o datos asociados a un Requerimiento respectivamente.
Usuario
(from Actores)
(from Parámetros Generales)
Listar parámetros
generales del sistema
clic en laopción
"Confirmar"
clic en laopción
"Eliminar"
<<precedes>>
Figura 3.38: (Diagrama de Robustez del caso de uso “Eliminar registro seleccionado de una lista”)
Página | 132
Figura 3.39: (Diagrama de Robustez del caso de uso “Manejar datos iniciales del
Proyecto”)
Có
dig
o:
10
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
inic
iale
s d
el
Pro
yect
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
(ve
r F
igu
ra
3.4
), y
el
sist
em
a o
bti
en
e u
na
lis
ta d
e
Cli
en
tes,
y m
ue
stra
est
a l
ista
de
fo
rma
d
esp
leg
ab
le j
un
to a
lo
s ca
mp
os
de
“có
dig
o”
y
“no
mb
re”
en
la
Pá
gin
a d
e C
rea
ció
n d
e
Pro
yect
o (
ver
Fig
ura
3.5
). E
l u
sua
rio
aso
cia
un
C
lie
nte
al
Pro
yect
o s
ele
ccio
na
do
un
Cli
en
te
de
la
lis
ta e
in
gre
sa c
ad
a d
ato
u c
am
po
, y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te e
l P
roye
cto
en
la
re
spe
ctiv
a t
ab
la d
e l
a b
ase
de
d
ato
s y
se d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo
de
Pro
yect
os
mo
stra
nd
o l
os
nu
evo
s d
ato
s e
n
la l
ista
de
Pro
yect
os,
y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
el
Pro
yect
o c
rea
do
, p
ara
lo
cu
al
se i
nclu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
el
Pro
yec
to:
El
sist
em
a s
e d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Pro
yect
os
mo
stra
nd
o l
a l
ista
de
P
roye
cto
s.E
xc
ep
ció
n a
l g
ua
rda
r P
roye
cto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
m
ism
a P
ág
ina
de
Cre
aci
ón
de
Pro
yect
o
mo
stra
nd
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e
err
or
cap
tura
do
.
Us
ua
rio
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
Fil
tra
r re
gis
tro
s
lis
tad
os
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e P
roye
cto
Ob
ten
er
list
a d
eC
lie
nte
s
Cli
en
te
Pá
gin
a d
e C
rea
ció
n d
e
Pro
yect
oIn
gre
sar
da
tos
Ca
nce
lar
cre
ació
n d
e
Po
yect
oM
ost
rar
Pá
gin
a d
e
Ma
ne
jo d
e P
roye
cto
s
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?
Pe
rsis
tir
da
tos
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e
Pro
yect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
xce
pció
n
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Pro
yect
o
Lis
tar
da
tos
in
icia
les
d
e P
roye
cto
s
clic
en
la
op
ció
n
"Cre
ar"
<<
invo
kes>
>
<<
invo
kes>
>
<<
invo
kes>
>
<<
pre
ced
es>
>
clic
en
la
op
ció
n
"Gu
ard
ar"
si
no
Página | 133
Figura 3.40: (Diagrama de Robustez del caso de uso “Manejar datos asociados a
un Proyecto”)
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
Pro
yect
o
Có
dig
o:
11
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
aso
cia
do
s a
un
P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
P
roye
cto
(ve
r F
igu
ra 3
.4),
y e
l si
ste
ma
mu
est
ra
la r
esp
ect
iva
Pá
gin
a d
e C
rea
ció
n d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
(ve
r F
igu
ra 3
.5).
El
usu
ari
o i
ng
resa
ca
da
da
to u
ca
mp
o,
y e
l si
ste
ma
va
lid
a q
ue
el
da
to s
ea
co
rre
cto
(n
o
exc
ed
a e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e
ne
go
cio
).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te l
os
da
tos
o c
am
po
s e
n l
a r
esp
ect
iva
ta
bla
(a
soci
ad
aa
un
Pro
yect
o)
de
la
ba
se d
e d
ato
s y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
Pro
yect
o m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
P
roye
cto
se
lecc
ion
ad
o,
y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
los
da
tos
cre
ad
os,
pa
ra l
o c
ua
l se
in
clu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
resp
ecti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
n n
ue
vo
d
ato
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
m
ost
ran
do
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
P
roye
cto
.E
xc
ep
ció
n a
l g
ua
rda
r d
ato
s:
El
sist
em
a
cap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a
mis
ma
Pá
gin
a d
e C
rea
ció
n d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
mo
stra
nd
o u
n
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e C
rea
ció
n d
e
Da
tos
rela
cio
na
do
s a
un
Pro
yect
o
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
Pro
yect
o
Ing
resa
r d
ato
sS
on
co
rre
cto
s lo
s d
ato
sin
gre
sad
os?
Pe
rsis
tir
da
tos
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e D
ato
sre
laci
on
ad
os
a u
nP
roye
cto
Ca
nce
lar
cre
ació
n d
e
da
tos
rela
cio
na
do
s a
un
Pro
yect
o
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
Pro
yect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
xce
pció
n
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Pro
yect
o
En
tid
ad
Aso
cia
da
Pro
yect
o
Fil
tra
r re
gis
tro
s
lis
tad
os
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
Us
ua
rio
(fro
m A
cto
res)
Lis
tar
da
tos
a
so
cia
do
s a
un
P
roye
cto
<<
invo
kes>
>
<<
invo
kes>
><
<in
voke
s>>
clic
en
la
op
ció
n
"Gu
ard
ar"
clic
en
la
op
ció
n
"Cre
ar"
no
<<
pre
ced
es>
>
si
Página | 134
Figura 3.41: (Diagrama de Robustez del caso de uso “Manejar datos asociados a
un Requerimiento”)
Có
dig
o:
12
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
aso
cia
do
s a
un
R
eq
ue
rim
ien
to
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to s
ele
ccio
na
do
(ve
r F
igu
ra 3
.4),
ye
l si
ste
ma
mu
est
ra l
a r
esp
ect
iva
Pá
gin
a d
e
Cre
aci
ón
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to (
ver
Fig
ura
3.5
). E
l u
sua
rio
in
gre
sa c
ad
a d
ato
u c
am
po
, y
el
sist
em
a
vali
da
qu
e e
l d
ato
se
a c
orr
ect
o (
no
exc
ed
a e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e
ne
go
cio
).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te l
os
da
tos
u c
am
po
s e
n l
a r
esp
ect
iva
ta
bla
(a
soci
ad
a a
un
Re
qu
eri
mie
nto
) d
e l
a b
ase
de
d
ato
s y
se d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo
de
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e
da
tos
aso
cia
da
a u
n R
eq
ue
rim
ien
to,
y u
n
me
nsa
je q
ue
dic
e “
Gra
ba
ció
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
n n
ue
vo
d
ato
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n
Re
qu
eri
mie
nto
mo
stra
nd
o l
a l
ista
de
da
tos
aso
cia
da
a u
n R
eq
ue
rim
ien
to.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
m
ism
a P
ág
ina
de
Cre
aci
ón
de
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
mo
stra
nd
o
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
Pá
gin
a d
e C
rea
ció
n d
e
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
Ing
resa
r d
ato
s
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?
Pe
rsis
tir
da
tos
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e D
ato
sre
laci
on
ad
os
a u
nR
eq
ue
rim
ien
to
Re
qu
eri
mie
nto
En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r e
n l
a P
ág
ina
de
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
un
me
nsa
je q
ue
in
form
a e
lti
po
de
exce
pció
nC
ap
tura
r e
xce
pció
n
Ca
nce
lar
cre
ació
n d
e
da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
Us
ua
rio
(fro
m A
cto
res)
Lis
tar
da
tos
a
so
cia
do
s a
un
R
eq
ue
rim
ien
to
Fil
tra
r re
gis
tro
s
lis
tad
os
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
<<
invo
kes>
><
<in
voke
s>>
<<
invo
kes>
>
clic
en
la
op
ció
n
"Gu
ard
ar"
clic
en
la
op
ció
n "
Cre
ar"
no
<<
pre
ced
es>
>
si
Página | 135
Código: 13Caso de Uso: Quitar ítem de una lista de datos
Flujo Básico:El usuario da clic en la opción “Quitar” del ítem de la l ista de
datos en su respectiva Página de ítems asociados a un registro seleccionado, y el sistema remueve el ítem seleccionado de la l ista de datos de la respectiva Entidad, además actualiza la l ista de datos quitando el ítem seleccionado.
Flujos Alternativ os:Excepción al remov er un ítem de una lista de datos: El sistema captura el tipo de error yse direcciona a su respectiva Página mostrando un mensaje que informa el tipo de error capturado.
Página de ítems
asociados a unRegistro seleccionado
Remover ítem
seleccionado
Capturar excepción
EntidadMostrar Página de
ítems asociados a un
Registro seleccionado
Mostrar mensaje queinforma el tipo de
excepción
Usuario
(from Actores) clic en laopción "Quitar
Figura 3.42: (Diagrama de Robustez del caso de uso “Quitar ítem de una lista de datos”)
Código: 14 Caso de Uso: Manejar Anexo o archivo del Proyecto
Flujo Básico:El usuario da clic en la opción “Crear” de la Página
de Manejo de Anexos (ver Figura 3.21), y el sistema muestra la Página de Creación de Anexo (ver Figura 3.22). El usuario ingresa los campos “código”,
“descripción”, y el sistema valida que estos datos
sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipos de datos, reglas de negocio); el usuario da clic en la opción “Agregar”, y
el sistema muestra una ventana emergente para navegar entre directorios. El usuario selecciona un archivo (de cualquier extensión) y cierra la ventana emergente, y el sistema muestra el nombre del archivo cargado, bloquea la opción “Agregar”, y
muestra una opción “Quitar”.
El usuario da clic en la opción “Guardar”. Si cada
dato es correcto el sistema persiste el Anexo en la respectiva tabla (asociada al Proyecto) de la base de datos y se direcciona a la Página de Manejo de Anexos mostrando el nuevo anexo en la lista de anexos asociada a un Proyecto seleccionado, y un mensaje que dice “Grabación exitosa”. El usuario da
clic en la opción “Descargar” de la lista de anexos, y
el sistema muestra una ventana emergente para descargar (abrir o guardar) el respectivo archivo. El usuario puede buscar, editar y eliminar los anexos creados, para lo cual se incluye los casos de uso “Filtrar registros listados”, “Editar registro
seleccionado de una lista” y “Eliminar registro
seleccionado de una lista” respectivamente.
Flujos Alternativ os:Dato incorrecto: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.El usuario cancela la creación de un nuev o anexo: El sistema se direcciona a la Página de Manejo de Anexos mostrando la lista de anexos asociada a un Proyecto.El usuario quita un archiv o cargado: El sistema oculta el nombre del archivo cargado, y la opción “Quitar”, y activa la opción “Agregar”.
Excepción al guardar datos: El sistema captura el tipo de error y se direcciona a la misma Página de Creación de un Anexo mostrando un mensaje que informa el tipo de error capturado.
Listar datos asociados a un
Proyecto
Filtrar registros listados
Editar registro seleccionado de una
lista
Eliminar registro seleccionado de una
lista
Usuario
(from Actores)
Página de Manejo de
Anexos
Página de Creación de
Anexo
Mostrar Página de
Creación de Anexo
Ingresar datos Son correctos los datosingresados?
Mostrar al lado del datoincorrecto un mensajeque informa el tipo de
errorPersistir datos
Capturar excepción
Mostrar en la Página
de Creación de Anexo
un mensaje queinforma el tipo de
excepción
Mostrar mensaje"Grabación exitosa"
Cancelar creación de
nuevos datosMostrar Página de
Manejo de Datos
Anexo
Mostrar VentaEmergente deNavegación
Venta Emergente deNavegación
Anexar archivo
Mostrar VentanaEmergente de
Descarga
Ventana Emergente deDescarga
Descargar archivo
si
clic en laopción
"Crear"
<<invokes>> <<invokes>> <<invokes>>clic en laopción
"Descargar"
clic en la opción
"Agregar"
clic en laopción
"Guardar"
<<precedes>>
no
Figura 3.43: (Diagrama de Robustez del caso de uso “Manejar Anexo o archivo del Proyecto”)
Página | 136
Código: 15Caso de Uso: Generar reporte
Flujo Básico:El usuario ingresa a la opción “Reportes” de la Página Principal (ver
Figura 3.2), y el sistema obtiene una lista de Proyectos y verifica si la l ista noestá vacía. Si la l ista no está vacía el sistema muestra esta lista (mostrar los campos: código, nombre del proyecto, cliente asociado al proyecto, y estado del proyecto) en la Página de Reportes con sus respectivas opciones como se puede observar en la Figura 3.23.
El usuario da clic en la opción “Reportes” de la lista de Proyectos en la
Página de Reportes, y el sistema obtiene una lista de tipos de reportes, y muestra esta lista en una ventana emergente con sus respectivas opciones (ver Figura 3.24 y 3.25). El usuario da clic en la opción “Descargar”, y el sistema obtiene el
respectivo reporte del Proyecto seleccionado mostrando este reporte en formato PDF.
Flujos Alternativ os:Lista de datos v acía: El sistema muestra en la Página de Reportes un mensaje que dice “No se encontraron
registros”.
El usuario cierra la v entana emergente: El sistema oculta la ventana emergente, y muestra la Página de Reportes.Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Reportes mostrando un mensaje que informa el tipo de error capturado.
Página Principal
Usuario
(from Actores)
(from Administración)
Iniciar sesión
Página de Reportes Mostrar Página de
Reportes
Proyecto
Cliente
Obtener l ista deProyectos
Tiene datos la l ista?
Mostrar mensaje "No seencontraron registros"
«enumeration»
TipoReporte
Obtener l ista de tiposde reportes
Ventana Emergente Mostrar VentanaEmergente
Obtener reporteseleccionado
Mostrar reporte enformato PDF
Cerrar VentanaEmergente
Ocultar VentanaEmergente
Capturar excepción
Mostrar mensaje queinforma el tipo de
excepción
<<precedes>>
clic en la opción
"Reportes"
si
no
clic en la opción
"Reportes"
clic en la opción
"Descargar"
Figura 3.44: (Diagrama de Robustez del caso de uso “Generar reporte”)
Código: 16Caso de Uso: Listar parámetrosgenerales del sistema
Flujo Básico:El usuario ingresa a la opción respectiva de la Página Principal (ver Figura 3.2), y el sistema obtiene una lista de datos de la respectiva Entidad y verifica si la l ista no está vacía.
Si la l ista no está vacía el sistema muestra la l ista de datos en su respectiva Página de Manejo de Datos con sus respectivas opciones como se puede observar en la Figura 3.4.
Flujos Alternativ os:Lista de datos v acía: El sistema muestra en la Página de Manejo de Datos un mensaje que dice “No se
encontraron registros”.
Excepción al listar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo deerror capturado.
Página Principal
Página de Manejo de
Datos
Obtener l ista de datos
Mostrar Página de
Manejo de Datos
Tiene datos la l ista?
Mostrar mensaje "No seencontraron registros"
Capturar excepciónMostrar mensaje queinforma el tipo de
excepción
Entidad
Usuario
(from Actores)
(from Administración)
Iniciar sesión
<<precedes>>
no
si
clic en laopción
respectiva
Figura 3.45: (Diagrama de Robustez del caso de uso “Listar parámetros generales del sistema”)
Página | 137
Figura 3.46: (Diagrama de Robustez del caso de uso “Manejar parámetros
generales del sistema”)
Có
dig
o:
17
Ca
so
de
Us
o:
Ma
ne
jar
pa
rám
etr
os
ge
ne
rale
s d
el
sist
em
a
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
(ve
r F
igu
ra 3
.4),
y e
l si
ste
ma
mu
est
ra l
a
Pá
gin
a d
e C
rea
ció
n d
e D
ato
s (v
er
Fig
ura
3.5
). E
l u
sua
rio
in
gre
sa c
ad
a
da
to u
ca
mp
o,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o e
xce
da
n e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
en
eg
oci
o).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a p
ers
iste
lo
s d
ato
s u
ca
mp
os
en
la
re
spe
ctiv
a t
ab
la d
e l
a b
ase
de
da
tos
yse
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
mo
stra
nd
o l
os
nu
evo
s d
ato
s e
n l
a
list
a d
e d
ato
s, y
un
me
nsa
je q
ue
dic
e
“Gra
ba
ció
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
,
“Ed
ita
r re
gis
tro
se
leccio
na
do
de
un
a
list
a”
y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
n
nu
ev
o d
ato
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
de
Da
tos
mo
stra
nd
o l
a l
ista
de
da
tos.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
cap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
ala
mis
ma
Pá
gin
a d
e C
rea
ció
n d
e D
ato
s m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e M
an
ejo
de
Da
tos
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e D
ato
s
Pá
gin
a d
e C
rea
ció
n d
e
Da
tos
Ing
resa
r d
ato
sS
on
co
rre
cto
s lo
s d
ato
sin
gre
sad
os?
Pe
rsis
tir
da
tos
En
tid
ad
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Ca
nce
lar
cre
ació
n d
e
nu
evo
s d
ato
s
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e D
ato
s
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e D
ato
s
un
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
n
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Us
ua
rio
(fro
m A
cto
res)
Lis
tar
pa
rám
etr
os
ge
ne
rale
s d
el
sis
tem
a
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
no
<<
invo
kes>
>
<<
invo
kes>
>
<<
invo
kes>
>
clic
en
la
op
ció
n
"Cre
ar"
si
<<
pre
ced
es>
>
clic
en
la
op
ció
n
"Gu
ard
ar"
Página | 138
Figura 3.47: (Diagrama de Robustez del caso de uso “Manejar Persona de
Desarrollo”)
Có
dig
o:
18
Ca
so
de
Us
o:
Ma
ne
jar
Pe
rso
na
de
De
sarr
oll
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Pe
rso
na
s d
e D
esa
rro
llo
, y
el
sist
em
a s
e d
ire
ccio
na
a l
a P
ág
ina
de
C
rea
ció
n d
e P
ers
on
a d
e D
esa
rro
llo
mo
stra
nd
o
un
a l
ista
de
sple
ga
ble
de
Ca
rgo
s, u
na
lis
ta
che
ckli
st d
e C
ara
cte
ríst
ica
s, y
el
rest
o d
e
cam
po
s co
mo
se
mu
est
ra e
n l
a F
igu
ra 3
.12
. E
l u
sua
rio
in
gre
sa l
os
cam
po
s so
lici
tad
os
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
oe
xce
da
n e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e
ne
go
cio
).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
los
cam
po
s so
n c
orr
ect
os
el
sist
em
a p
ers
iste
lo
sd
ato
s u
ca
mp
os
en
la
s re
spe
ctiv
as
tab
las
de
la
b
ase
de
da
tos
y se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e P
ers
on
as
de
De
sarr
oll
o m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e P
ers
on
as
de
D
esa
rro
llo
, y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
las
Pe
rso
na
s d
e D
esa
rro
llo
cre
ad
as,
p
ara
lo
cu
al
se i
nclu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
tos
in
co
rre
cto
s:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
na
N
ue
va
Pe
rso
na
de
De
sa
rro
llo
: E
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo d
e
Pe
rso
na
s d
e D
esa
rro
llo
mo
stra
nd
o l
a l
ista
de
P
ers
on
as
de
De
sarr
oll
o.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
m
ism
a P
ág
ina
de
Cre
aci
ón
de
Pe
rso
na
de
D
esa
rro
llo
mo
stra
nd
o u
n m
en
saje
qu
e i
nfo
rma
e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e M
an
ejo
de
Pe
rso
na
s d
e D
esa
rro
llo
Pá
gin
a d
e C
rea
ció
n d
e
Pe
rso
na
s d
e d
esa
rro
llo
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e P
ers
on
a
de
De
sarr
oll
o
Ca
rgo
Ob
ten
er
list
a d
e C
arg
os O
bte
ne
r li
sta
de
Ca
racte
ríst
ica
s d
e
Pe
rso
na
de
De
sarr
oll
o
Ca
ract
eri
stic
a P
ers
on
a
«e
nu
me
rati
on
»
Ca
rac
teri
sti
ca
Ob
ten
er
list
a d
e N
ive
lS
igm
a
«e
nu
me
rati
on
»
Niv
elS
igm
a
Ing
resa
r d
ato
sso
lici
tad
os
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Pe
rsis
tir
da
tos
Pe
rso
na
De
sarr
oll
o
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e P
ers
on
as
de
De
sarr
oll
o
Ca
ptu
rar
exce
pció
n
Mo
stra
r e
n l
a P
ág
ina
de
Cre
ació
n d
e
Pe
rso
na
de
De
sarr
oll
ou
n m
en
saje
qu
ein
form
a e
l ti
po
de
exce
pció
n
Ca
nce
lar
cre
ació
n d
e
nu
evo
s d
ato
s
Us
ua
rio
(fro
m A
cto
res)
Lis
tar
pa
rám
etr
os
ge
ne
rale
s d
el
sis
tem
a
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
<<
invo
kes>
>
<<
invo
kes>
><
<in
voke
s>>
clic
en
la
op
ció
n
"Cre
ar"
<<
pre
ced
es>
>
clic
en
la
op
ció
n
"Gu
ard
ar"
no
si
Página | 139
Figura 3.48: (Diagrama de Robustez del caso de uso “Actualizar datos adicionales
al Proyecto”)
Có
dig
o:
19
Ca
so
de
Us
o:
Act
ua
liza
r d
ato
s a
dic
ion
ale
s a
l P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ad
min
istr
ar”
de
la l
ista
de
Pro
yect
os
en
la
Pá
gin
a d
e M
an
ejo
d
e P
roye
cto
s, y
el
sist
em
a s
e d
ire
ccio
na
a l
a
Pá
gin
a d
e A
dm
inis
tra
ció
n d
e P
roye
cto
s m
ost
ran
do
la
s re
spe
ctiv
as
op
cio
ne
s co
mo
se
o
bse
rva
en
la
Fig
ura
3.8
. E
l u
sua
rio
in
gre
sa a
l e
nla
ce
“In
form
ació
n d
el
Pro
ye
cto
”, y
el
sist
em
a
ob
tie
ne
lo
s d
ato
s d
el
Pro
yect
o s
ele
ccio
na
do
y
mu
est
ra e
sto
s e
n l
a P
ág
ina
de
In
form
aci
ón
de
l P
roye
cto
co
mo
se
ob
serv
a e
n l
a F
igu
ra 3
.13
.
El
usu
ari
o e
dit
a l
os
da
tos
u c
am
po
s so
lici
tad
os
en
la
Pá
gin
a d
e I
nfo
rma
ció
n d
el
Pro
yect
o,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
de
da
tos,
re
gla
s d
e
ne
go
cio
). E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“G
ua
rda
r”.
Si
los
da
tos
son
co
rre
cto
s e
l si
ste
ma
act
ua
liza
lo
s d
ato
s u
ca
mp
os
en
la
re
spe
ctiv
a
tab
la d
e l
a b
ase
de
da
tos
y se
dir
ecc
ion
a a
la
m
ism
a P
ág
ina
de
In
form
aci
ón
de
l P
roye
cto
m
ost
ran
do
lo
s d
ato
s a
ctu
ali
zad
os,
y u
n m
en
saje
q
ue
dic
e “
Actu
ali
za
ció
n e
xit
osa
”.
Flu
jos
Alt
ern
ati
vo
s:
Da
tos
in
co
rre
cto
s:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
xc
ep
ció
n a
l m
os
tra
r in
form
ac
ión
de
l P
roye
cto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y m
ue
stra
est
e e
n l
a P
ág
ina
de
In
form
aci
ón
de
l P
roye
cto
.E
xc
ep
ció
n a
l a
ctu
ali
zar
los
da
tos
ad
icio
na
les
a
l P
roye
cto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
Pá
gin
a d
e I
nfo
rma
ció
n d
el
Pro
yect
o m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e I
nfo
rma
ció
n
de
l P
roye
cto
Ed
ita
r d
ato
sS
on
co
rre
cto
s lo
s d
ato
se
dit
ad
os?
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Act
ua
liza
r d
ato
s
Mo
stra
r m
en
saje
"Actu
ali
za
ció
n e
xit
osa
"
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
In
form
ació
n d
el
Pro
yect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
xce
pció
n
Pro
yect
o
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
Mo
stra
r P
ág
ina
de
Ad
min
istr
ació
n d
e
Pro
yect
os
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Pro
yect
os
Mo
stra
r P
ág
ina
de
Info
rma
ció
n d
el
Pro
yect
o
Ob
ten
er
da
tos
de
lP
roye
cto
se
lecc
ion
ad
o
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Lis
tar
da
tos
in
icia
les
d
e P
roye
cto
s
clic
en
la
op
ció
n
"Gu
ard
ar"
sin
o
clic
en
la
op
ció
n
"Ad
min
istr
ar"
cli
c e
n l
a o
pció
n
"In
form
ació
n d
el
Pro
yect
o"
<<
pre
ced
es>
>
Página | 140
Figura 3.49: (Diagrama de Robustez del caso de uso “Conformar Equipo de
Desarrollo”)
Có
dig
o:
20
Ca
so
de
Us
o:
Co
nfo
rma
r E
qu
ipo
de
De
sarr
oll
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Co
nfo
rma
r
Eq
uip
o”
de
la
Pá
gin
a d
e M
an
ejo
de
l E
qu
ipo
de
De
sarr
oll
o (
ver
Fig
ura
3.9
), y
el
sist
em
a
ob
tie
ne
la
lis
ta d
e P
ers
on
as
de
De
sarr
oll
o
asi
gn
ad
as
al
Eq
uip
o d
e D
esa
rro
llo
de
l P
roye
cto
sele
ccio
na
do
, y
veri
fica
si
la l
ista
est
á v
ací
a.
Si
la l
ista
no
est
á v
ací
a e
l si
ste
ma
mu
est
ra l
a l
ista
e
n l
a P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o c
on
su
s re
spe
ctiv
as
op
cio
ne
s co
mo
se
ob
serv
a e
n l
a F
igu
ra 3
.10
. E
l u
sua
rio
pu
ed
e
ag
reg
ar
o q
uit
ar
inte
gra
nte
s (P
ers
on
as
de
D
esa
rro
llo
) a
l E
qu
ipo
de
De
sarr
oll
o p
ara
lo
cu
al
se i
nclu
ye
lo
s ca
sos
de
uso
“A
sig
na
r P
ers
on
as
de
De
sarr
oll
o a
l P
roye
cto
” y “
Qu
ita
r ít
em
de
un
a l
ista
de
da
tos”
re
spe
cti
va
me
nte
.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
y e
l
sist
em
a p
ers
iste
el
Pro
yect
o s
ele
ccio
na
do
co
n
su r
esp
ect
iva
lis
ta d
e i
nte
gra
nte
s d
el
Eq
uip
o d
e
De
sarr
oll
o e
n l
as
resp
ect
iva
s ta
bla
s d
e l
a b
ase
d
e d
ato
s, y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
el
Eq
uip
o d
e D
esa
rro
llo
mo
stra
nd
o l
a
list
a d
e i
nte
gra
nte
s d
el
Eq
uip
o d
e D
esa
rro
llo
a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o,
y u
n
me
nsa
je q
ue
dic
e “
Gra
ba
ció
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r y
eli
min
ar
Pe
rso
na
s d
e
De
sarr
oll
o d
el
Eq
uip
o d
e D
esa
rro
llo
co
nfo
rma
do
, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
La
li
sta
de
in
teg
ran
tes
de
l E
qu
ipo
de
D
es
arr
oll
o e
stá
va
cía
: E
l si
ste
ma
mu
est
ra e
n
la P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o u
n m
en
saje
qu
e d
ice
“N
o s
e
en
co
ntr
aro
n r
eg
istr
os”
.
El
us
ua
rio
ca
nc
ela
la
co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
es
arr
oll
o:
El
sist
em
a s
e d
ire
ccio
na
a
la
Pá
gin
a d
e M
an
ejo
de
l E
qu
ipo
de
D
esa
rro
llo
mo
stra
nd
o l
a l
ista
de
in
teg
ran
tes
de
l E
qu
ipo
de
De
sarr
oll
o a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o.
Ex
ce
pc
ión
al
gu
ard
ar
el
Eq
uip
o d
e
De
sa
rro
llo
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
yse
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
e
rro
r ca
ptu
rad
o.
Pá
gin
a d
e M
an
ejo
de
l
Eq
uip
o d
e D
esa
rro
llo
Mo
stra
r P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
Pe
rsis
tir
da
tos
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
un
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
n
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
el
Eq
uip
o d
eD
esa
rro
llo
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Ca
nce
lar
co
nfo
rma
ció
n
de
l E
qu
ipo
de
De
sarr
oll
o
Ob
ten
er
Eq
uip
o d
eD
esa
rro
llo
de
l P
roye
cto
sele
ccio
na
do
Pro
yect
o
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o
Pe
rso
na
De
sarr
oll
o
Qu
ita
r P
ers
on
a d
eD
esa
rro
llo
Ag
reg
ar
Pe
rso
na
de
De
sarr
oll
o
(fro
m G
en
era
les)
Lis
tar
da
tos
a
so
cia
do
s a
un
P
roye
cto
As
ign
ar
Pe
rso
na
s d
e
De
sa
rro
llo
al
Pro
yec
to
(fro
m G
en
era
les)
Qu
ita
r ít
em
de
un
a
lis
ta d
e d
ato
s
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
Tie
ne
da
tos
la l
ista
?
Mo
stra
r m
en
saje
"N
o s
ee
nco
ntr
aro
n r
eg
istr
os"
cli
c e
n l
a o
pció
n
"Co
nfo
rma
r E
qu
ipo
"
<<
invo
kes>
>
<<
invo
kes>
>
clic
en
la
op
ció
n
"Gu
ard
ar"
<<
pre
ced
es>
>
<<
invo
kes>
>
<<
invo
kes>
>
no
si
Página | 141
Figura 3.50: (Diagrama de Robustez del caso de uso “Asignar Personas de
Desarrollo al Proyecto”)
Có
dig
o:
21
Ca
so
de
Us
o:
Asi
gn
ar
Pe
rso
na
s d
e D
esa
rro
llo
al
Pro
yect
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ag
reg
ar”
de
la
Pá
gin
a d
e C
on
form
aci
ón
de
l E
qu
ipo
de
De
sarr
oll
o
(ve
r F
igu
ra 3
.10
), y
el
sist
em
a o
bti
en
e u
na
lis
ta d
e
Pe
rso
na
s d
e D
esa
rro
llo
qu
e n
o e
stá
n e
n l
a l
ista
de
A
sig
na
cio
ne
s d
e P
ers
on
as
de
De
sarr
oll
o,
lue
go
el
sist
em
a v
eri
fica
si
est
a l
ista
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m.
Si
est
a l
ista
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m e
l si
ste
ma
mu
est
ra e
sto
s ít
em
s co
n
sus
resp
ect
iva
s o
pci
on
es
en
la
Pá
gin
a d
e S
ele
cció
n
de
Pe
rso
na
s d
e D
esa
rro
llo
co
mo
se
ob
serv
a e
n l
a
Fig
ura
3.1
1.
El
usu
ari
o p
ue
de
bu
sca
r u
na
Pe
rso
na
d
e D
esa
rro
llo
an
tes
de
se
lecc
ion
arl
a,
pa
ra l
o c
ua
l se
in
clu
ye
el
ca
so d
e u
so “
Fil
tra
r re
gis
tro
s li
sta
do
s”.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Se
leccio
na
r” d
e l
a
list
a d
e P
ers
on
as
de
De
sarr
oll
o y
el
sist
em
a a
gre
ga
la
re
spe
ctiv
a P
ers
on
a d
e D
esa
rro
llo
se
lecc
ion
ad
a a
la
lis
ta d
e A
sig
na
cio
ne
s d
e P
ers
on
as
de
De
sarr
oll
o
aso
cia
da
al
Pro
yect
o s
ele
ccio
na
do
, a
de
má
s e
l si
ste
ma
act
ua
liza
la
lis
ta d
e P
ers
on
as
de
De
sarr
oll
o
qu
ita
nd
o (
ocu
lta
nd
o)
la P
ers
on
a d
e D
esa
rro
llo
se
leccio
na
da
. E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Lis
to”
de
la
Pá
gin
a d
e S
ele
cció
n d
e P
ers
on
as
de
D
esa
rro
llo
y e
l si
ste
ma
ob
tie
ne
la
lis
ta a
ctu
al
de
A
sig
na
cio
ne
s d
e P
ers
on
as
de
De
sarr
oll
o a
soci
ad
a
al
Pro
yect
o s
ele
ccio
na
do
y m
ue
stra
est
a l
ista
en
la
P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e P
ers
on
as
de
De
sa
rro
llo
no
as
ign
ad
as
e
stá
va
cía
: E
l si
ste
ma
mu
est
ra e
n l
a P
ág
ina
de
S
ele
cció
n d
e P
ers
on
as
de
De
sarr
oll
o u
n m
en
saje
q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
ag
reg
ar
un
a P
ers
on
a d
e D
es
arr
oll
o:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r e
in
form
a e
ste
e
rro
r co
n u
n m
en
saje
en
la
Pá
gin
a d
e S
ele
cció
n d
eP
ers
on
as
de
De
sarr
oll
o.
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
Ob
ten
er
list
a d
eP
ers
on
as
de
De
sarr
oll
oq
ue
no
est
án
en
la
lis
ta
de
Asi
gn
aci
on
es
de
Pe
rso
na
s d
e D
esa
rro
llo
Pro
yect
o
Pe
rso
na
De
sarr
oll
o
Tie
ne
íte
ms
la l
ista
?
Mo
stra
r P
ág
ina
de
Se
lecció
n d
e P
ers
on
as
de
De
sarr
oll
o
Pá
gin
a d
e S
ele
cció
n
de
Pe
rso
na
s d
eD
esa
rro
llo
Mo
stra
r m
en
saje
"N
o s
ee
nco
ntr
aro
n r
eg
istr
os"
Bu
sca
r P
ers
on
aD
esa
rro
llo
Ag
reg
ar
Pe
rso
na
de
De
sarr
oll
o s
ele
ccio
na
da
Act
ua
lza
r li
sta
de
Pe
rso
na
s d
e D
esa
rro
llo
de
la
Pá
gin
a d
e
Se
lecció
n d
e P
ers
on
a
de
De
sarr
oll
o
Ca
ptu
rar
exce
pció
nM
ost
rar
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
n
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
Mo
stra
r P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e D
esa
rro
llo
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o
Co
nfo
rma
r E
qu
ipo
de
D
es
arr
oll
o
si no
clic
en
la
op
ció
n
"Ag
reg
ar"
clic
en
la
op
ció
n
"Lis
to"
<<
pre
ced
es>
>
<<
invo
kes>
>cl
ic e
n l
ao
pció
n
"Se
lecc
ion
ar"
Página | 142
Figura 3.51: (Diagrama de Robustez del caso de uso “Realizar Análisis de Metas
del Proyecto”)
Có
dig
o:
22
Ca
so
de
Us
o:
Re
ali
zar
An
áli
sis
de
Me
tas
de
l P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Me
tas,
y e
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
Cre
aci
ón
de
Me
ta
mo
stra
nd
o u
na
lis
ta d
e A
ná
lisi
s d
e M
eta
in
icia
liza
da
co
n u
na
lis
ta d
e C
ara
cte
ríst
ica
s (í
tem
s d
e c
ara
cte
ríst
ica
s: E
spe
cífi
ca,
Me
sura
ble
, A
lca
nza
ble
, R
ele
van
te),
co
mo
se
o
bse
rva
en
la
fig
ura
3.1
4.
El
usu
ari
o i
ng
resa
ca
da
ca
mp
o,
y e
l si
ste
ma
va
lid
a s
i e
ste
se
a
corr
ect
o (
no
exc
ed
a e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s, o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s,
reg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a c
am
po
es
corr
ect
o,
el
sist
em
a p
ers
iste
la
M
eta
co
n s
u l
ista
de
An
áli
sis
en
la
s re
spe
ctiv
as
tab
las
de
la
ba
se d
e d
ato
s, y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
de
Me
tas
mo
stra
nd
o l
a
nu
eva
Me
ta e
n l
a l
ista
de
Me
tas
aso
cia
da
a
un
Pro
yect
o s
ele
ccio
na
do
, y
un
me
nsa
je q
ue
d
ice
“G
rab
ació
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s M
eta
s cr
ea
da
s co
n s
u r
esp
ect
ivo
An
áli
sis,
pa
ra l
o c
ua
l se
in
clu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”,
y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
resp
ecti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
u c
am
po
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
na
n
ue
va
Me
ta:
El
sist
em
a s
e d
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
de
Me
tas
mo
stra
nd
o l
a
list
a d
e M
eta
s a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
m
ism
a P
ág
ina
de
Cre
aci
ón
de
Me
ta
mo
stra
nd
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e
err
or
cap
tura
do
.
Pá
gin
a d
e M
an
ejo
de
Me
tas
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e M
eta
Pá
gin
a d
e C
rea
ció
n d
e
Me
ta
Ca
nce
lar
cre
ació
n d
e
un
a M
eta
Mo
stra
r P
ág
ina
de
Ma
ne
jo M
eta
s
Pe
rsis
tir
da
tos
Ca
ptu
rar
exce
pció
n
Mo
stra
r e
n l
a P
ág
ina
de
Cre
ació
n d
e M
eta
un
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
nM
ost
rar
me
nsa
je"G
rab
ació
n e
xit
osa
"
Ob
ten
er
list
a d
eA
ná
lisi
s d
e M
eta
An
ali
sisM
eta
Ing
resa
r D
ato
Es
corr
ect
o e
l d
ato
ing
resa
do
?M
ost
rar
al
lad
o d
el
da
toin
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
rro
r
Me
taU
su
ari
o
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Lis
tar
da
tos
a
so
cia
do
s a
un
P
roye
cto
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
«e
nu
me
rati
on
»
Ca
rac
teri
sti
ca
Me
ta
cli
c e
n l
a o
pció
n
"Cre
ar"
<<
invo
kes>
>
<<
invo
kes>
><
<in
voke
s>>
no
si
clic
en
la
op
ció
n
"Gu
ard
ar"
<<
pre
ced
es>
>
Página | 143
Figura 3.52: (Diagrama de Robustez del caso de uso “Manejar Actividad por
Proceso”)
Có
dig
o:
24
Ca
so
de
Us
o:
Ma
ne
jar
Act
ivid
ad
po
r P
roce
so
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Act
ivid
ad
es,
y e
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Cre
aci
ón
de
Act
ivid
ad
mo
stra
nd
o u
na
lis
ta
de
sple
ga
ble
de
Pro
ceso
s a
soci
ad
os
al
Pro
yect
o s
ele
ccio
na
do
, ju
nto
a s
us
resp
ect
ivo
s ca
mp
os.
El
usu
ari
o i
ng
resa
ca
da
d
ato
u c
am
po
y a
soci
a l
a a
ctiv
ida
d a
un
P
roce
so s
ele
ccio
na
nd
o u
n P
roce
so d
e l
a
list
a d
esp
leg
ab
le,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o e
xce
da
n e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e
ne
go
cio
).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te l
a
Act
ivid
ad
en
la
re
spe
ctiv
a t
ab
la d
e l
a b
ase
d
e d
ato
s y
se d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Act
ivid
ad
es
mo
stra
nd
o l
a n
ue
va
Act
ivid
ad
en
la
lis
ta d
e A
ctiv
ida
de
s, y
un
m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s A
ctiv
ida
de
s cr
ea
da
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
,
“Ed
ita
r re
gis
tro
se
leccio
na
do
de
un
a l
ista
” y
“Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
de
un
a
nu
ev
a A
cti
vid
ad
: E
l si
ste
ma
se
dir
ecc
ion
a a
la P
ág
ina
de
Ma
ne
jo d
e A
ctiv
ida
de
s m
ost
ran
do
la
lis
ta d
e A
ctiv
ida
de
s.E
xc
ep
ció
n a
l g
ua
rda
r u
na
Ac
tiv
ida
d:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e C
rea
ció
n
de
Act
ivid
ad
mo
stra
nd
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Pa
gin
a d
e M
an
ejo
de
Act
ivid
ad
es
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e A
cti
vid
ad
Pá
gin
a d
e C
rea
ció
n d
e
Act
ivid
ad
Ing
resa
r d
ato
sS
on
co
rre
cto
s lo
s d
ato
sin
gre
sad
os?
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Pe
rsis
tir
da
tos
Act
ivid
ad
Pro
yect
oP
roce
soN
eg
oci
o
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r P
ag
ina
de
Ma
ne
jo d
e A
ctiv
ida
de
s
Ca
nce
lar
cre
ació
n d
e
Act
ivid
ad
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e
Act
ivid
ad
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
exce
pció
n
Ob
ten
er
list
a d
eP
roce
sos
aso
cia
da
al
Pro
yect
o s
ele
ccio
na
do
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
(fro
m G
en
era
les)
Lis
tar
da
tos
a
so
cia
do
s a
un
P
roye
cto
<<
invo
kes>
><<
invo
kes>
><
<in
voke
s>>
clic
en
la
op
ció
n
"Gu
ard
ar"
clic
en
la
op
ció
n "
Cre
ar"
si
<<
pre
ced
es>
>
no
Página | 144
Figura 3.53: (Diagrama de Robustez del Caso de Uso “Identificar Responsable por Actividad”)
Có
dig
o:
26
Ca
so
de
Us
o:
Ide
nti
fica
r R
esp
on
sab
le p
or
Act
ivid
ad
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
op
ció
n “
Inic
iació
n d
el
Pro
yect
o/I
de
nti
fica
ció
n d
e R
esp
on
sab
les
po
r A
cti
vid
ad
” d
e l
a P
ág
ina
de
Ad
min
istr
ació
n d
e
Pro
yect
os
(ve
r F
igu
ra 3
.8),
y e
l si
ste
ma
ob
tie
ne
un
a
list
a d
e A
ctiv
ida
de
s co
n s
u r
esp
ect
ivo
Pro
ceso
a
soci
ad
o,
y la
ca
nti
da
d d
e R
esp
on
sab
les
asi
gn
ad
os,
y
veri
fica
qu
e l
a l
ista
no
est
é v
ací
a.
Si
la l
ista
no
est
á
vací
a e
l si
ste
ma
mu
est
ra e
sta
lis
ta e
n l
a P
ág
ina
de
M
an
ejo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
co
mo
se
p
ue
de
ob
serv
ar
en
la
Fig
ura
3.1
5.
El
usu
ari
o d
a c
lic
en
la
op
ció
n “
Re
spo
nsa
ble
s” d
e l
a l
ista
de
Act
ivid
ad
es,
y e
l si
ste
ma
mu
est
ra e
l n
om
bre
de
la
A
ctiv
ida
d s
ele
ccio
na
da
co
n s
u P
roce
so a
soci
ad
o,
y o
bti
en
e s
u r
esp
ect
iva
lis
ta d
e R
esp
on
sab
les
asi
gn
ad
os,
y v
eri
fica
qu
e l
a l
ista
no
est
é v
ací
a.
Si
la
list
a n
o e
stá
va
cía
el
sist
em
a m
ue
stra
est
a l
ista
en
la
P
ág
ina
de
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
un
a
Act
ivid
ad
co
n s
us
resp
ect
iva
s o
pci
on
es
com
o s
e
ob
serv
a e
n l
a F
igu
ra 3
.16
.
El
usu
ari
o p
ue
de
ag
reg
ar
y q
uit
ar
Re
spo
nsa
ble
s d
e l
aA
ctiv
ida
d s
ele
ccio
na
da
, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“A
sig
na
r R
esp
on
sab
les
a u
na
Acti
vid
ad
”,
y “
Qu
ita
r ít
em
de
un
a l
ista
de
da
tos”
re
spe
cti
va
me
nte
.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
, y e
l si
ste
ma
pe
rsis
te l
a A
ctiv
ida
d c
on
su
re
spe
ctiv
a l
ista
de
R
esp
on
sab
les
asi
gn
ad
os
en
la
s re
spe
ctiv
as
tab
las
de
la
ba
se d
e d
ato
s, y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e R
esp
on
sab
les
po
r A
ctiv
ida
d,
act
ua
liza
nd
o
la c
an
tid
ad
de
re
spo
nsa
ble
s a
sig
na
do
s a
la
Act
ivid
ad
se
leccio
na
da
, y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar
las
Acti
vid
ad
es,
pa
ra l
o c
ua
l se
in
clu
ye
el
ca
so d
e u
so “
Fil
tra
r re
gis
tro
s
list
ad
os”
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e a
cti
vid
ad
es
es
tá v
ac
ía:
El
sist
em
a
mu
est
ra e
n l
a P
ág
ina
de
Ma
ne
jo d
e R
esp
on
sab
les
po
r A
cti
vid
ad
un
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
La
lis
ta d
e R
es
po
ns
ab
les
as
ign
ad
os
a u
na
A
cti
vid
ad
es
tá v
ac
ía:
El
sist
em
a m
ue
stra
en
la
P
ág
ina
de
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
un
a
Acti
vid
ad
un
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n
reg
istr
os”
.
El
us
ua
rio
ca
nc
ela
la
as
ign
ac
ión
de
Re
sp
on
sa
ble
s
a l
a A
cti
vid
ad
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a
de
Ma
ne
jo d
e R
esp
on
sab
les
po
r A
ctiv
ida
d m
ost
ran
do
la
lis
ta d
e A
ctiv
ida
de
s.E
xc
ep
ció
n a
l g
ua
rda
r d
ato
s:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
A
sig
na
ció
n d
e R
esp
on
sab
les
a u
na
Act
ivid
ad
m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Pá
gin
a d
e M
an
ejo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
eR
esp
on
sab
les
po
rA
ctiv
ida
d
Pro
ceso
Ne
go
cio
Ob
ten
er
list
a d
eA
ctiv
ida
de
s co
n s
ure
spe
ctiv
o P
roce
soa
soci
ad
o
Act
ivid
ad
Mo
stra
r P
ág
ina
de
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
un
aA
ctiv
ida
d
Pá
gin
a d
e A
sig
na
ció
n
de
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d
Mo
stra
r e
l n
om
bre
de
la
Act
ivid
ad
se
lecc
ion
ad
aco
n s
u P
roce
soa
soci
ad
o
Ob
ten
er
list
a d
eR
esp
on
sab
les
asi
gn
ad
os
a l
aA
ctiv
ida
d s
ele
ccio
na
da
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
Ag
reg
ar
Re
spo
nsa
ble
Qu
ita
r R
esp
on
sab
le
Pe
rsis
tir
da
tos
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Dir
eccio
na
r a
la
Pá
gin
a
de
Ma
ne
jo d
eR
esp
on
sab
les
po
rA
ctiv
ida
d
Ca
ptu
rar
exce
pció
nM
ost
rar
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
n
Ca
nce
lar
asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
un
aA
ctiv
ida
d
(fro
m G
en
era
les)
Qu
ita
r ít
em
de
un
a
lis
ta d
e d
ato
s
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Pro
yect
os
Tie
ne
da
tos
la l
ista
?M
ost
rar
me
nsa
je "
No
se
en
con
tra
ron
re
gis
tro
s"
Re
spo
nsa
ble
Act
ivid
ad
Tie
ne
da
tos
la l
ista
?
Mo
stra
r m
en
saje
"N
o s
ee
nco
ntr
aro
n r
eg
istr
os"
As
ign
ar
Re
sp
on
sa
ble
s a
u
na
Ac
tiv
ida
d
<<
invo
kes>
>
cli
c e
n l
a o
pció
n
"Id
en
tifi
ca
ció
n d
e
Re
spo
nsa
ble
s p
or
Act
ivid
ad
"
si
no
cli
c e
n l
a o
pció
n
"Re
spo
nsa
ble
s"
si
no
<<
invo
kes>
>
cli
c e
n l
a o
pció
n
"Gu
ard
ar"
<<
invo
kes>
>
Página | 145
Figura 3.54: (Diagrama de Robustez del caso de uso “Asignar Responsables a
una Actividad”)
Có
dig
o:
27
Ca
so
de
Us
o:
Asi
gn
ar
Re
spo
nsa
ble
s a
un
a
Act
ivid
ad
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ag
reg
ar”
de
la
Pá
gin
a d
e A
sig
na
ció
n d
e R
esp
on
sab
les
a u
na
A
ctiv
ida
d (
ver
Fig
ura
3.1
6),
y e
l si
ste
ma
o
bti
en
e u
na
lis
ta d
e R
esp
on
sab
les
qu
e n
o
est
án
en
la
lis
ta d
e A
sig
na
cio
ne
s d
e
Re
spo
nsa
ble
s, l
ue
go
el
sist
em
a v
eri
fica
si
est
a
list
a o
bte
nid
a c
on
tie
ne
al
me
no
s u
n í
tem
. S
i e
sta
lis
ta o
bte
nid
a c
on
tie
ne
al
me
no
s u
n í
tem
e
l si
ste
ma
mu
est
ra e
sto
s ít
em
s co
n s
us
resp
ect
iva
s o
pci
on
es
en
la
Pá
gin
a d
e
Se
lecc
ión
de
Re
spo
nsa
ble
s. E
l u
sua
rio
pu
ed
e
bu
sca
r u
n R
esp
on
sab
le a
nte
s d
e s
ele
ccio
na
rlo
,p
ara
lo
cu
al
se i
nclu
ye
el
ca
so d
e u
so “
Fil
tra
r
reg
istr
os
list
ad
os”
.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Se
leccio
na
r”
de
la
lis
ta d
e R
esp
on
sab
les,
y e
l si
ste
ma
a
gre
ga
el
Re
spo
nsa
ble
se
lecc
ion
ad
o a
la
lis
ta
de
Asi
gn
aci
on
es
de
Re
spo
nsa
ble
s a
soci
ad
a a
la
Act
ivid
ad
se
lecc
ion
ad
a,
ad
em
ás
el
sist
em
a
act
ua
liza
la
lis
ta d
e R
esp
on
sab
les
qu
ita
nd
o e
l R
esp
on
sab
le s
ele
ccio
na
do
. E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Lis
to”
de
la
Pá
gin
a d
e S
ele
cció
n
de
Re
spo
nsa
ble
s, y
el
sist
em
a o
bti
en
e l
a l
ista
a
ctu
al
de
Asi
gn
aci
on
es
de
Re
spo
nsa
ble
s a
soci
ad
a a
la
Act
ivid
ad
se
lecc
ion
ad
a,
y m
ue
stra
est
a l
ista
en
la
Pá
gin
a d
e A
sig
na
ció
n
de
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e R
es
po
ns
ab
les
no
as
ign
ad
os
es
tá
va
cía
: E
l si
ste
ma
mu
est
ra e
n l
a P
ág
ina
de
S
ele
cció
n d
e R
esp
on
sab
les
un
me
nsa
je q
ue
d
ice
“N
o s
e e
nco
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
ag
reg
ar
un
Re
sp
on
sa
ble
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
e i
nfo
rma
est
e
err
or
con
un
me
nsa
je e
n l
a P
ág
ina
de
S
ele
cció
n d
e R
esp
on
sab
les.
Us
ua
rio
(fro
m A
cto
res)
Pá
gin
a d
e A
sig
na
ció
n
de
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d
Pá
gin
a d
e S
ele
cció
n
de
Re
spo
nsa
ble
s
Mo
stra
r P
ág
ina
de
Se
lecció
n d
e
Re
spo
nsa
ble
s
Ob
ten
er
list
a d
eR
esp
on
sab
les
qu
e n
oe
stá
n e
n l
a l
ista
de
Asi
gn
aci
on
es
de
Re
spo
nsa
ble
s
Re
spo
nsa
ble
Act
ivid
ad
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
Tie
ne
íte
ms
la l
ista
?M
ost
rar
me
nsa
je "
No
se
en
con
tra
ron
re
gis
tro
s"
Bu
sca
r R
esp
on
sab
leA
ctiv
ida
d(f
rom
Ge
ne
rale
s)
Fil
tra
r re
gis
tro
s
lis
tad
os
Mo
stra
r P
ág
ina
de
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
un
aA
ctiv
ida
d
Ca
ptu
rar
exce
pció
n
Act
ua
lza
r li
sta
de
Re
spo
nsa
ble
s d
e l
aP
ág
ina
de
Se
lecció
n
de
Re
spo
nsa
ble
s
Ag
reg
ar
Re
spo
nsa
ble
sele
ccio
na
do
Act
ivid
ad
Mo
stra
r m
en
saje
qu
ein
form
a e
l ti
po
de
exce
pció
n
Ide
nti
fic
ar
Re
sp
on
sa
ble
p
or
Ac
tiv
ida
d
si
cli
c e
n l
a o
pció
n
"Ag
reg
ar"
clic
en
la
op
ció
n
"Lis
to"
clic
en
la
op
ció
n
"Se
lecc
ion
ar"<<
pre
ced
es>
>
no
<<
invo
kes>
>
Página | 146
Figura 3.55: (Diagrama de Robustez del caso de uso “Realizar identificación
macro de Procesos”)
Có
dig
o:
28
Ca
so
de
Us
o:
Re
ali
zar
ide
nti
fica
ció
n m
acr
o d
e
Pro
ceso
s
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a
de
Ma
ne
jo d
e D
eta
lle
s d
e P
roce
sos
(ve
r F
igu
ra
3.4
), y
el
sist
em
a o
bti
en
e u
na
lis
ta d
e P
roce
sos
aso
cia
do
s a
l P
roye
cto
se
lecc
ion
ad
o,
ob
tie
ne
un
a
list
a q
ue
in
dic
a e
l ti
po
de
de
tall
e d
el
Pro
ceso
(í
tem
s: P
rove
ed
or,
En
tra
da
, S
ali
da
, C
lie
nte
), y
m
ue
stra
est
as
list
as
de
sple
ga
ble
s ju
nto
a l
os
cam
po
s d
e c
ód
igo
y d
esc
rip
ció
n e
n l
a P
ág
ina
de
C
rea
ció
n d
e D
eta
lle
de
l P
roce
so r
ela
cio
na
do
al
Pro
yect
o s
ele
ccio
na
do
(ve
r F
igu
ra 3
.5).
El
usu
ari
o
ing
resa
ca
da
da
to u
ca
mp
o y
aso
cia
el
De
tall
e a
u
n P
roce
so s
ele
ccio
na
nd
o u
n P
roce
so d
e l
a l
ista
d
esp
leg
ab
le,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
corr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a p
ers
iste
el
De
tall
e
aso
cia
do
al
Pro
ceso
se
lecc
ion
ad
o e
n l
a r
esp
ect
iva
ta
bla
de
la
ba
se d
e d
ato
s, y
se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e D
eta
lle
s d
e P
roce
sos
mo
stra
nd
o e
l n
ue
vo D
eta
lle
en
la
lis
ta d
e D
eta
lle
s,
y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s D
eta
lle
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
n D
eta
lle
a
so
cia
do
a u
n P
roc
es
o:
El
sist
em
a s
e d
ire
ccio
na
ala
Pá
gin
a d
e M
an
ejo
de
De
tall
es
de
Pro
ceso
s m
ost
ran
do
la
lis
ta d
e D
eta
lle
s.E
xc
ep
ció
n a
l g
ua
rda
r u
n D
eta
lle
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
mis
ma
P
ág
ina
de
Cre
aci
ón
de
De
tall
e d
el
Pro
ceso
m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Us
ua
rio
(fro
m A
cto
res)
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
(fro
m G
en
era
les)
Lis
tar
da
tos
a
so
cia
do
s a
un
P
roye
cto
Pá
gin
a d
e M
an
ejo
de
De
tall
les
de
Pro
ceso
s
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e D
eta
lle
de
l
Pro
ceso
Pá
gin
a d
e C
rea
ció
n d
e
De
tall
e d
el
Pro
ceso
Ob
ten
er
list
a d
e t
ipo
de
De
tall
e d
el
Pro
ceso
«e
nu
me
rati
on
»
Tip
oD
eta
lle
Pro
ce
so
Ob
ten
er
list
a d
eP
roce
sos
aso
cia
da
al
Pro
yect
o s
ele
ccio
na
do
Pro
yect
o
Ca
nce
lar
cre
ació
n d
e
De
tall
e d
el
Pro
ceso
Mo
stra
r P
ag
ina
de
Ma
ne
jo d
e D
eta
lle
s d
eP
roce
sos
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?
Mo
stra
r a
l la
do
de
l d
ato
inco
rre
cto
un
me
nsa
jeq
ue
in
form
a e
l ti
po
de
err
or
Ing
resa
r d
ato
s
Pe
rsis
tir
da
tos
Ca
ptu
rar
exce
pció
n
Mo
stra
r e
n l
a P
ág
ina
de
Cre
ació
n d
e D
eta
lle
de
l P
roce
so u
nm
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
xce
pció
n
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Pro
ceso
Ne
go
cio
De
tall
eP
roce
so
<<
pre
ced
es>
>
<<
invo
kes>
> <<
invo
kes>
><
<in
voke
s>>
clic
en
la
op
ció
n "
Cre
ar"
no
si
cli
c e
n l
a o
pció
n
"Gu
ard
ar"
Página | 147
Código: 30Caso de Uso: Mostrar información actualdel Requerimiento
Flujo Básico:El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros listados”. El usuario da
clic en la opción “Administrar” de la lista
de Requerimientos asociada a un Proyecto en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos con sus respectivas opciones como se observa en la Figura 3.18.
El usuario ingresa al enlace “Información
del Requerimiento”, y el sistema obtiene
los datos del Requerimiento seleccionado y muestra estos en la Página de Información de un Requerimiento como se observa en la Figura 3.20.
Flujos Alternativ os:Excepción al mostrar información del Requerimiento: El sistema captura el tipo de error y muestra este en la Página de Información de un Requerimiento.
Página de Selección
de un RequerimientoMostrar Página de
Administración de
Requerimientos
Página de
Administración de
Requerimientos
Mostrar Página de
Información del
Requerimiento
Página de Información
del Requerimiento
Requerimiento
Obtener datos delRequerimientoseleccionado
Capturar excepción
Mostrar mensaje queinforma el tipo de
excepción
Usuario
(from Actores)
(from Generales)
Listar datos asociados a un
Proyecto
(from Generales)
Filtrar registros listados
<<precedes>>
clic en la opción
"Información del
Requerimiento"
<<invokes>>
clic en laopción
"Administrar"
Figura 3.56: (Diagrama de Robustez del caso de uso “Mostrar información actual del Requerimiento”)
Código: 31Caso de Uso: Actualizar datos adicionales al Requerimiento
Flujo Básico:El usuario puede buscar un requerimiento antes de seleccionarlo, para lo cual se incluye el caso de uso “Filtrar registros l istados”. El usuario da clic en
la opción “Administrar” de la l ista de
Requerimientos asociada al Proyecto seleccionado en la Página de Selección de un Requerimiento (ver Figura 3.17), y el sistema se direcciona a la Página de Administración de Requerimientos mostrando las respectivas opciones como se observa en la Figura 3.18. El usuario da clic en la opción “Datos Adicionales”, y el sistema obtiene
una lista desplegable que indica el tipo de requerimiento (ítems: “Funcional”, “No Funcional”),
y obtiene los Métodos de obtención asociados al requerimiento mostrando estos como una lista tipo checklist (posibles métodos de obtención: “Encuesta”, “Focus Group”, “Entrevistas
Individuales”, “Sitios visitados”, “Quejas de los
Clientes”, “Retornos”), además, si la prioridad del
Requerimiento seleccionado es diferente de cero el sistema bloquea el campo “Implementar
Requerimiento”, finalmente el sistema muestra las
l istas junto a otros campos en la Página de Actualización de datos adicionales al Requerimiento (ver Figura 3.19).
El usuario ingresa los campos solicitados y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, tipo de datos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si los datos son correctos el
sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direccionaa la misma Página de Actualización de datos adicionales al Requerimiento mostrando los datos actualizados, y un mensaje que dice “Actualización
exitosa”.
Flujos Alternativ os:Datos incorrectos: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.Excepción al actualizar los datos adicionales al Proyecto: El sistema captura el tipo de error y se direcciona a la misma Página de Actualización de datos adicionales al Requerimiento mostrando un mensaje que informa el tipo de error capturado.
Página de Selección
de un Requerimiento
Mostrar Página de
Administración de
Requerimientos
Página de
Administración de
Requerimientos
Mostrar Página de
Actualización de datos
adicionales alRequerimiento
Página de
Actualización de datos
adicionales alRequerimiento
Obtener l ista de Tiposde Requerimientos
Requerimiento
Mostrar mensaje queinforma el tipo de
excepción
Capturar excepción
«enumeration»
TipoRequerimiento
Metodo Obtencion
«enumeration»
TipoMetodoObtencion
Ontener l ista deMetodos de Obtención
Editar datos
Son correctos los datoseditados?
Mostrar al lado del datoincorrecto un mensajeque informa el tipo de
error
Actualizar datos
Mostrar mensaje"Actualización exitosa"
Usuario
(from Actores)
(from Generales)
Listar datos asociados a un
Proyecto
(from Generales)
Filtrar registros listados
Prioridad delRequerimiento
seleccionado esdiferente de cero?
Bloquear campo"Implementar
Requerimiento"
<<invokes>>
clic en la opción "Datos
Adicionales"
clic en la opción
"Aministrar"<<precedes>>
clic en laopción
"Guardar"
si
si
Figura 3.57: (Diagrama de Robustez del caso de uso “Actualizar datos adicionales al Requerimiento”)
Página | 148
Figura 3.58: (Diagrama de Robustez del Caso de Uso “Identificar Posible Mejora
Potencial”)
Có
dig
o:
34
Ca
so
de
Us
o:
Ide
nti
fica
r P
osi
ble
Me
jora
P
ote
nci
al
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la P
ág
ina
de
Ma
ne
jo d
e P
osi
ble
s M
ejo
ras,
y
el
sist
em
a g
en
era
do
s li
sta
s d
esp
leg
ab
les,
un
a q
ue
in
dic
a e
l ti
po
de
ti
em
po
(ít
em
s: B
ajo
, M
ed
io,
Alt
o),
y l
a o
tra
q
ue
in
dic
a e
l ti
po
de
co
sto
(ít
em
s: B
ajo
M
ed
io,
Alt
o,
De
sco
no
cid
o),
y m
ue
stra
est
as
list
as
jun
to a
lo
s ca
mp
os
de
có
dig
o y
d
esc
rip
ció
n e
n l
a P
ág
ina
de
Cre
aci
ón
de
P
osi
ble
Me
jora
re
laci
on
ad
a a
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
. E
l u
sua
rio
in
gre
sa c
ad
a d
ato
u c
am
po
, y
el
sist
em
a
vali
da
qu
e e
l d
ato
se
a c
orr
ect
o (
no
exc
ed
a
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s, r
eg
las
de
n
eg
oci
o).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
.
Si
cad
a d
ato
es
corr
ect
o e
l si
ste
ma
pe
rsis
te
la P
osi
ble
Me
jora
en
la
re
spe
ctiv
a t
ab
la d
e
la b
ase
de
da
tos
y se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e P
osi
ble
s M
ejo
ras
mo
stra
nd
o l
os
nu
evo
s d
ato
s e
n l
a l
ista
de
P
osi
ble
s M
ejo
ras
aso
cia
da
al
Re
qu
eri
mie
nto
se
lecc
ion
ad
o,
y u
n
me
nsa
je q
ue
dic
e “
Gra
ba
ció
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s P
osi
ble
s M
ejo
ras
cre
ad
as,
pa
ra l
o c
ua
l se
in
clu
ye
lo
s ca
sos
de
uso
“B
usc
ar
da
tos”
,
“Ed
ita
r d
ato
s” y
“E
lim
ina
r d
ato
s”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
de
un
a
Po
sib
le M
ejo
ra:
El
sist
em
a s
e d
ire
ccio
na
ala
Pá
gin
a d
e M
an
ejo
de
Po
sib
les
Me
jora
s m
ost
ran
do
la
lis
ta d
e P
osi
ble
s M
ejo
ras
aso
cia
da
al
Re
qu
eri
mie
nto
se
lecc
ion
ad
o.
Ex
ce
pc
ión
al
gu
ard
ar
Po
sib
le M
ejo
ra:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e C
rea
ció
n
de
Po
sib
le M
ejo
ra m
ost
ran
do
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Us
ua
rio
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Po
sib
les
Me
jora
s
(fro
m G
en
era
les)
Lis
tar
da
tos
a
so
cia
do
s a
un
R
eq
ue
rim
ien
to
Pá
gin
a d
e C
rea
ció
n d
e
Po
sib
le M
ejo
ra
Mo
stra
r P
ág
ina
de
Cre
ació
n d
e P
osi
ble
Me
jora
«e
nu
me
rati
on
»
Tip
oTi
em
po
Po
sib
leM
ejo
ra
«e
nu
me
rati
on
»
Tip
oC
os
toP
os
ible
Me
jora
Ob
ten
er
list
a d
e T
ipo
Tie
mp
o
On
ten
er
list
a d
e T
ipo
Co
sto
Ing
resa
r d
ato
s
So
n c
orr
ect
os
los
da
tos
ing
resa
do
s?M
ost
rar
al
lad
o d
el
da
toin
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
rro
r
Pe
rsis
tir
da
tos
Po
sib
leM
ejo
ra
Mo
stra
r m
en
saje
"Gra
ba
ció
n e
xit
osa
"
Mo
stra
r P
ág
ina
de
Ma
ne
jo d
e P
osi
ble
sM
ejo
ras
Ca
nce
lar
cre
ació
n d
e
Po
sib
le M
ejo
ra
Ca
ptu
rar
exce
pció
nM
ost
rar
en
la
Pá
gin
a
de
Cre
ació
n d
e P
osi
ble
Me
jora
un
me
nsa
je q
ue
info
rma
el
tip
o d
ee
xce
pció
n
(fro
m G
en
era
les)
Fil
tra
r re
gis
tro
s
lis
tad
os
(fro
m G
en
era
les)
Ed
ita
r re
gis
tro
s
ele
cc
ion
ad
o d
e u
na
li
sta
(fro
m G
en
era
les)
Eli
min
ar
reg
istr
o
se
lec
cio
na
do
de
un
a
lis
ta
<<
pre
ced
es>
>
no
si
clic
en
la
op
ció
n
"Gu
ard
ar"
<<
invo
kes>
><
<in
voke
s>>
<<
invo
kes>
>
Página | 149
Figura 3.59: (Diagrama de Robustez del caso de uso “Priorizar los
Requerimientos”)
Có
dig
o:
35
Ca
so
de
Us
o:
Pri
ori
zar
los
Re
qu
eri
mie
nto
s
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ad
min
istr
ar”
de
la
lis
ta d
e P
roye
cto
s e
n l
a P
ág
ina
de
M
an
ejo
de
Pro
yect
os,
y e
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
Ad
min
istr
aci
ón
de
P
roye
cto
s m
ost
ran
do
la
s re
spe
ctiv
as
op
cio
ne
s co
mo
se
ob
serv
a e
n l
a F
igu
ra 3
.8.
El
usu
ari
o
ing
resa
a l
a o
pció
n “
An
áli
sis
de
l S
iste
ma
/
Pri
ori
za
ció
n d
e R
eq
ue
rim
ien
tos”
, y e
l si
ste
ma
ge
ne
ra u
na
lis
ta d
e r
eq
ue
rim
ien
tos
con
e
sta
do
“A
ce
pta
do
” y o
rde
na
da
po
r p
rio
rid
ad
,
y ve
rifi
ca s
i la
lis
ta e
stá
va
cía
. S
i n
o e
stá
va
cía
el
sist
em
a m
ue
stra
est
a l
ista
en
un
a
tab
la c
on
lo
s co
lum
na
s “P
rio
rid
ad
”, “
Có
dig
o”,
“De
scri
pció
n”,
“R
an
go
de
im
po
rta
ncia
”,
“Ra
ng
o d
e s
ati
sfa
cció
n a
ctu
al”
, y d
os
op
cio
ne
s e
n c
ad
a f
ila
(S
ub
ir,
Ba
jar)
pa
ra
ord
en
ar
la p
rio
rid
ad
; la
op
ció
n “
Su
bir
” n
o s
e
de
be
vis
ua
liza
r e
n l
a p
rim
era
fil
a,
y la
op
ció
n“B
aja
r” n
o s
e d
eb
e v
isu
ali
za
r e
n l
a ú
ltim
a
fila
; e
sta
ta
bla
co
n s
us
resp
ect
iva
s o
pci
on
es
se m
ue
stra
en
la
Pá
gin
a d
e P
rio
riza
ció
n d
e
Re
qu
eri
mie
nto
s co
mo
se
ob
serv
a e
n l
a
Fig
ura
3.2
6.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Su
bir
” d
e u
na
fila
, y
el
sist
em
a i
nte
rca
mb
ia l
os
da
tos
de
la
fi
la a
ctu
al
con
lo
s d
ato
s d
e l
a f
ila
an
teri
or;
el
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Ba
jar”
, y e
l
sist
em
a i
nte
rca
mb
ia l
os
da
tos
de
la
fil
a
act
ua
l co
n l
os
da
tos
de
la
sig
uie
nte
fil
a.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
, y e
l
sist
em
a a
ctu
ali
za c
ad
a R
eq
ue
rim
ien
to e
n l
a
ba
se d
e d
ato
s.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e R
eq
ue
rim
ien
tos
es
tá v
ac
ía:
El
sist
em
a m
ue
stra
en
la
Pá
gin
a d
e P
rio
riza
ció
nd
e R
eq
ue
rim
ien
tos
un
me
nsa
je q
ue
dic
e “
No
se e
nco
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
su
bir
o b
aja
r u
n
Re
qu
eri
mie
nto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
P
rio
riza
ció
n d
e R
eq
ue
rim
ien
tos
mo
stra
nd
o
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Ex
ce
pc
ión
al
ac
tua
liza
r lo
s
Re
qu
eri
mie
nto
s:
El
sist
em
a c
ap
tura
el
tip
o
de
err
or
y se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a
de
Pri
ori
zaci
ón
de
Re
qu
eri
mie
nto
s m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
d
e e
rro
r ca
ptu
rad
o.
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
(fro
m G
en
era
les)
Lis
tar
da
tos
in
icia
les
d
e P
roye
cto
s
Us
ua
rio
(fro
m A
cto
res)
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Pro
yect
os
Mo
stra
r P
ág
ina
de
Ad
min
istr
ació
n d
e
Pro
yect
os
Pá
gin
a d
e P
rio
riza
ció
n
de
Re
qu
eri
mie
nto
s
Mo
stra
r P
ág
ina
de
Pri
ori
za
ció
n d
e
Re
qu
eri
mie
nto
s
Re
qu
eri
mie
nto
Ge
ne
rar
list
a d
eR
eq
ue
rim
ien
tos
ord
en
ad
os
op
rio
riza
do
s
Tie
ne
da
tos
la
list
a?
Vis
ua
liza
r o
pció
n
"Su
bir
"
Vis
ua
liza
r la
op
ció
n
"Ba
jar"
Mo
stra
r m
en
saje
"N
o s
ee
nco
ntr
aro
n r
eg
istr
os"
Su
bir
pri
ori
da
dB
aja
r p
rio
rid
ad
Act
ua
liza
rR
eq
ue
rim
ien
tos
Ca
ptu
rar
exce
pció
n
Mo
stra
r e
n l
a P
ág
ina
de
Pri
ori
za
ció
n d
e
Re
qu
eri
mie
nto
s u
nm
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
xce
pció
n
Ca
ptu
rar
exce
pció
n
<<
pre
ced
es>
>
clic
en
la
op
ció
n
"Ad
min
istr
ar"
cli
c e
n l
a o
pció
n
"Pri
ori
za
ció
n d
e
Re
qu
eri
mie
nto
s"
si
no
clic
en
la
op
ció
n
"Gu
ard
ar"
clic
en
la
op
ció
n
"Ba
jar"
clic
en
la
op
ció
n
"Su
bir
"
Página | 150
3.2.3 Modelo de dominio actualizado
Figura 3.60: (Modelo de Dominio actualizado)
Pro
yect
o
- co
dig
o:
Str
ing
- co
sto
To
tal:
fl
oa
t-
de
scri
pci
on
: S
trin
g-
fech
aE
fect
iva
: D
ate
- fe
cha
Fin
Pre
lim
ina
r:
Da
te-
fech
aF
inR
ea
l:
Da
te-
fech
aIn
icio
: D
ate
- fe
cha
Re
cep
cio
n:
Da
te-
no
mb
re:
Str
ing
- n
om
bre
Dir
ect
or:
S
trin
g-
no
mb
reL
ide
r:
Str
ing
Per
sona
Des
arro
llo
- a
pe
llid
o:
Str
ing
- co
dig
o:
Str
ing
- n
om
bre
: S
trin
g
Car
go
- co
dig
o:
Str
ing
- n
om
bre
: S
trin
g
«e
nu
me
rati
on
»
Niv
elS
igm
a
N
ING
UN
A
CA
MP
EO
N
MA
ES
TR
O_
CIN
TU
RO
N_
NE
GR
O
CIN
TU
RO
N_
NE
GR
O
CIN
TU
RO
N_
VE
RD
E
«e
nu
me
rati
on
»
Car
acte
rist
ica
C
OM
PR
OM
ISO
S
ES
GO
_A
CC
ION
F
LE
XIB
ILID
AD
IN
NO
VA
CIO
N
INF
LU
EN
CIA
_P
ER
SO
NA
L
TR
AB
AJO
_E
QU
IPO
T
IEM
PO
_D
ISP
ON
IBL
E
Car
acte
rist
icaP
erso
na
- id
: l
on
g
Clie
nte
- co
dig
o:
Str
ing
- n
om
bre
: S
trin
g-
tele
fon
o:
Str
ing
Pet
icio
n
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
Raz
onS
olic
itud
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
Req
ueri
mie
nto
- co
dig
o:
Str
ing
- p
rio
rid
ad
: i
nt
- d
esc
rip
cio
n:
Str
ing
- fu
en
te:
Str
ing
- ju
stif
ica
cio
n:
Str
ing
- o
bse
rva
cio
n:
Str
ing
- ra
ng
oS
ati
sfa
ccio
nA
ctu
al:
in
t-
ran
go
Imp
ort
an
cia
: i
nt
Fact
orC
ritic
o
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
«e
nu
me
rati
on
»
Tipo
Fact
or
E
XIT
O
RIE
SG
O
Met
a
- co
dig
o:
Str
ing
- d
esc
rip
ció
n:
Str
ing
Ana
lisis
Met
a
- ju
stif
ica
cio
n:
Str
ing
«e
nu
me
rati
on
»
Car
acte
rist
icaM
eta
E
SP
EC
IFIC
A
ME
SU
RA
BL
E
AL
CA
NZ
AB
LE
R
EL
EV
AN
TE
Pro
ceso
Neg
ocio
- a
lca
nce
: S
trin
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g-
no
mb
re:
Str
ing
Act
ivid
ad
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
Det
alle
Pro
ceso
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
Asi
gnac
ionP
erso
naD
esar
rollo
- id
: l
on
g
Pos
ible
Mej
ora
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
«e
nu
me
rati
on
»
Tipo
Req
ueri
mie
nto
F
UN
CT
ION
AL
N
O_
FU
NC
TIO
NA
L
«e
nu
me
rati
on
»
Est
adoR
eque
rim
ient
o
P
EN
DIN
G
AC
CE
PT
ED
D
EN
IED
Res
pons
able
Act
ivid
ad
- co
dig
o:
Str
ing
- n
om
bre
Co
mp
leto
: S
trin
g
Asi
gnac
ionR
espo
nsab
leA
ctiv
idad
- id
: l
on
g
«e
nu
me
rati
on
»
Est
adoP
roye
cto
P
EN
DIN
G
IN_
PR
OC
ES
S
CO
MP
LE
TE
D
CA
NC
EL
LE
D
«e
nu
me
rati
on
»
Tipo
Det
alle
Pro
ceso
P
RO
VID
ER
IN
PU
T
OU
TP
UT
C
US
TO
ME
R
«e
nu
me
rati
on
»
Tipo
Res
pons
able
Act
ivid
ad
IN
TE
RN
O
EX
TE
RN
O
Met
odoO
bten
cion
- id
: L
on
g
«e
nu
me
rati
on
»
Tipo
Met
odoO
bten
cion
E
NC
UE
ST
A
FO
CU
S_
GR
OU
P
EN
TR
EV
IST
A_
IND
IVID
UA
L
SIT
IO_
VIS
ITA
DO
Q
UE
JA_
CL
IEN
TE
R
ET
OR
NO
Cri
teri
oAce
ptac
ion
- co
dig
o:
Str
ing
- d
esc
rip
ció
n:
Str
ing
Con
flict
oRes
olv
er
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
«e
nu
me
rati
on
»
Tipo
Cos
toP
osib
leM
ejor
a
B
AJO
M
ED
IO
AL
TO
D
ES
CO
NO
CID
O
«e
nu
me
rati
on
»
Tipo
Tiem
poP
osib
leM
ejor
a
B
AJO
M
ED
IO
AL
TO
Ane
xo
- co
dig
o:
Str
ing
- d
esc
rip
cio
n:
Str
ing
- n
om
bre
Arc
hiv
o:
Str
ing
- a
rch
ivo
: b
yte
«e
nu
me
rati
on
»
Fase
Pro
ceso
Des
arro
llo
P
RO
JEC
T_
INIT
IAT
ION
S
YS
TE
M_
AN
AL
YS
IS
Página | 151
3.3 Diseño Detallado
3.3.1 Asignación de comportamiento
3.3.1.1 Diagrama de secuencia por cada caso de uso.
En la siguiente tabla se muestra un listado de todos los casos de uso de los
cuales se realizó su respectiva especificación, y ahora por cada caso de uso se
realizará un diagrama de secuencia.
Id Caso de uso 01 Iniciar sesión 02 Cerrar sesión 03 Manejar cuenta de usuario del sistema
04 Listar datos asociados a un Proyecto 05 Listar datos iniciales de Proyectos 06 Listar datos asociados a un Requerimiento
07 Filtrar registros listados 08 Editar registro seleccionado de una lista 09 Eliminar registro seleccionado de una lista 10 Manejar datos iniciales del Proyecto
11 Manejar datos asociados a un Proyecto 12 Manejar datos asociados a un Requerimiento 13 Quitar ítem de una lista de datos
14 Manejar Anexo o archivo del Proyecto 15 Generar reporte 16 Listar parámetros generales del sistema
17 Manejar parámetros generales del sistema 18 Manejar Persona de Desarrollo 19 Actualizar datos adicionales al Proyecto
20 Conformar Equipo de Desarrollo 21 Asignar Personas de Desarrollo al Proyecto 22 Realizar Análisis de Metas del Proyecto
24 Manejar Actividad por Proceso 26 Identificar Responsable por Actividad 27 Asignar Responsables a una Actividad
28 Realizar identificación macro de Procesos 30 Mostrar información actual del Requerimiento 31 Actualizar datos adicionales al Requerimiento
34 Identificar Posible Mejora Potencial 35 Priorizar los Requerimientos
Tabla 3.45: (Listado de Casos de Uso)
Página | 152
Antes de realizar los diagramas de secuencia se detallará la arquitectura
técnica del sistema, teniendo en cuenta que el software a desarrollar está basado
en web, y se trabajará sobre la plataforma Java EE empleando un framework
denominado JBoss Seam.
Figura 3.61: (Arquitectura Java EE con Seam)
Aspectos relevantes de la arquitectura:
Ø Al trabajar con JavaServer Faces (JSF) es recomendable usar Facelets
como controlador de vista en lugar de JavaServer Pages (JSP). Facelets
es un framework open source para plantillas (templates) centrado en JSF,
motivo por el cual se integran de manera muy fácil. Facelets no depende
del contenedor web, el proceso de compilación es más rápido que JSP,
soporta EL (Expression Language), además, provee templating, lo cual
Página | 153
implica reutilización de código, simplificación de desarrollo y facilidad en el
mantenimiento de grandes aplicaciones.
Ø Se empleará RichFaces para añadir la capacidad de Ajax (Asynchronous
JavaScript And XML - JavaScript asíncrono y XML) dentro de las
aplicaciones JSF. RichFaces es un framework open source que provee una
librería de componentes visuales para JSF, y permite la integración de
funcionalidades Ajax en dichos componentes mediante el soporte de la
librería Ajax4JSF.
Ø En un proyecto Seam las vistas de JSF terminan con el sufijo .xhtml,
siendo esta extensión el sufijo por defecto utilizado por Facelets. En la
Figura 3.62 se ilustra como una solicitud JSF entrante es procesada y
traducida en un árbol de componentes de interfaz de usuario.
Figura 3.62: (Traducción de una solicitud JSF en un árbol de componentes de interfaz de usuario)
Gráfico del libro “Seam in Action”
Página | 154
Ø Seam proporciona un “framework de clases” (colección especializada de
componentes plantillas) para construir controladores de página que
realizan operaciones CRUD y consultas en instancias de entidades. El
conjunto jerárquico de estas clases se ilustra en la siguiente figura.
Figura 3.63: (Framework de Clases de Seam implementadas para JPA)
Ø Controller, clase base que contiene métodos de convivencia para el
acceso a los contextos e instancias de componentes Seam que interactúan
con el API Servlet y el ciclo de vida de JSF. PersistenceController, clase
padre para el desarrollo de controladores para las páginas JSF, y diseñada
para ser utilizada como un gestor de persistencia administrada por Seam.
Ø Las tres ramas de clases que extienden de PersistenceController (ver
Figura 3.63) facilitan la interacción con el gestor de persistencia. Cada
rama tiene una implementación para JPA (EntityHome, EntityQuery, y
EntityController) y para Hibernate (HibernateEntityHome,
HibernateEntityQuery, y HibernateEntityController). Home, administra una
instancia de entidad única, y apoya las operaciones CRUD. Query,
administra un conjunto de resultados de una consulta JPQL/HQL, y apoya
las restricciones, ordenamiento, y paginación. Tener presente que estas
Página | 155
clases están destinadas a ser utilizadas como componentes JavaBeans.
En la Figura 3.64 y 3.65 se ilustra el diagrama de clases de EntityHome y
EntityQuery respectivamente.
Figura 3.64: (Diagrama de clases de EntityHome)
Figura 3.65: (Diagrama de clases de EntityQuery)
Página | 156
CuentaUsuarioPágina Principal
.XHTMLUsuario
(from Actores)
Página de Inicio de
sesión .XHTML
Authenticator Credentials IdentityPágina de Inicio de
sesión .PAGE.XML
Código: 01Caso de Uso: Iniciar sesión
Flujo Básico:El usuario da clic en el enlace “Iniciar
sesión” de la Página
Principal (ver Figura 3.2), y el sistema muestra la Página de Inicio de sesión (ver Figura 3.3). El usuario ingresa su nombre de usuario y contraseña y da clic en la opción “Ingresar”.
El sistema verifica si existen los datos ingresados en cuenta de usuario. Si estos datos existen, el sistema autentifica al usuario en sesión y se direcciona a la PáginaPrincipal mostrando un mensaje de bienvenida, y el nombre del usuario autentificado. Además el sistema cambia el enlace “Iniciar sesión”
por el enlace “Cerrar
sesión”.
Flujos Alternativ os:Datos inv álidos: El sistema se direcciona a la misma Página de Inicio de sesión mostrando un mensajeque dice “Nombre de
usuario y/o contraseña son incorrectos, inicio de sesión falló”.
Usuario cancela inicio de sesión: El usuario da clic en la opción “Cancelar”, y el
sistema muestra la Página Principal.
Consulta en CuentaUsuario de la base de datos el usuario y contraseña
Las clases "Credentials" y "Identity" son parte del Framework Seam y se encuentran en los paquetes org.jboss.seam.security.Credentials y org.jboss.seam.security.Identity respectivamente, tener en cuenta que cada clase debe ser inyectada en la clase AuthenticatorBean mediante la anotación @In de Seam
alt authenticate()
[si existe username y pasword en CuentaUsuario]
[else]
El método "login" de la clase "Identity" es llamado desde el atributo "action" del componente "h:commandButton" de "http://java.sun.com/jsf/html"
alt nav igation from-action="#{identity.login}"
[rule if="#{identity.loggedIn}"]
clic en la opción Iniciar sesión()
view()
ingresa username y password()
clic en la opción Ingresar()
setUsername() setUsername()
setPassword() setPassword()
login() :String
authenticate() :boolean
addRole(Rol)
true()
false()
showGlobalMessages()
redirect()
showGlobalMessages()
clic en la opción Cancelar()
view()
Figura 3.66: (Diagrama de Secuencia del caso de uso “Iniciar sesión”)
Usuario
(from Actores)
Página Principal
.XHTML VentanaEmergente
Identity
Código: 02Caso de Uso: Cerrar sesión
Flujo Básico:El usuario da clic en el enlace “Cerrar sesión” de
la Página Principal (ver Figura 3.2), y el sistema muestra una ventana pop-up (ventana emergente) con un mensaje que dice “¿Está
seguro que desea salir de la Aplicación?”, y dos
opciones (Confirmar, Cancelar).
El usuario da clic en la opción “Confirmar”, y el
sistema descarga los datos del usuario en sesión y vuelve a mostrar la Página Principal cambiando el enlace “Cerrar sesión” por el
enlace “Iniciar sesión”.
Flujos Alternativ os:Usuario cancela cerrar sesión: El usuario da clic en la opción “Cancelar”, y el sistema
oculta la ventana pop-up.
La clase "Identity" es parte del Framework Seam y se encuentra en el paquete org.jboss.seam.security.Identity
El método "logout" de la clase "Identity" es llamado desde el atributo "action" del componente "h:commandButton" de "http://java.sun.com/jsf/html"
El usuario visualiza la ventana pop-up con el mensaje "Esta seguro que desea salir de la Aplicación", y dos opciones "Confirmar" y "Cancelar"
Para ingresar a la opción "Cerrar sesión" el usuario debe estar en sesión, para esta acción ver el diagrama de secuencia del caso de uso "Iniciar sesión"
clic en la opción Cerrar sesión()
showVentanaEmergente()
clic en la opción Confirmar()
logout()
hideVentanaEmergente()
clic en la opción Cancelar()
hideVentanaEmergente()
Figura 3.67: (Diagrama de Secuencia del caso de uso “Cerrar sesión”)
Página | 157
Figura 3.68: (Diagrama de Secuencia del caso de uso “Manejar cuenta de usuario del sistema”)
Usu
ari
o
(fro
m A
cto
res)
Cu
en
taU
su
ari
o
«e
nu
me
rati
on
»
Ro
lUsu
ari
o
Pá
gin
a d
e M
an
ejo
de
Cu
en
tas
de
U
sua
rio
.X
HT
ML
Pá
gin
a d
e
Cre
ació
n d
e
Cu
en
ta d
e U
sua
rio
.X
HT
ML
Cu
en
taU
sua
rio
Ho
me
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Pá
gin
a d
e
Cre
ació
n d
e
Cu
en
ta d
e U
sua
rio
.P
AG
E.X
ML
Ro
lUsu
ari
oL
ist
Có
dig
o:
03
Ca
so
de
Us
o: M
an
eja
r cu
en
ta d
e
usu
ari
o d
el
sist
em
a
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo d
e
Cu
en
tas
de
Usu
ari
o d
el
sist
em
a (
ver
Fig
ura
3.4
), y
el
sist
em
a g
en
era
un
a
list
a q
ue
in
dic
a e
l ro
l d
el
usu
ari
o
(íte
ms:
Ad
min
istr
ad
or,
Líd
er
de
l P
roye
cto
, A
na
list
a,
Cli
en
te),
y
mu
est
ra e
sta
lis
ta e
n f
orm
a
de
sple
ga
ble
ju
nto
a l
os
cam
po
s d
e
“usu
ari
o”,
y “
co
ntr
ase
ña
” e
n l
a
Pá
gin
a d
e C
rea
ció
n d
e C
ue
nta
de
U
sua
rio
(ve
r F
igu
ra 3
.5).
El
usu
ari
o
asi
gn
a u
n r
ol
sele
ccio
na
do
un
íte
m
de
la
lis
ta e
in
gre
sa c
ad
a d
ato
u
cam
po
, y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s,
reg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a p
ers
iste
la
Cu
en
ta d
e
Usu
ari
o e
n l
a r
esp
ect
iva
ta
bla
de
la
b
ase
de
da
tos
y se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e C
ue
nta
s d
e
Usu
ari
o m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e c
ue
nta
s d
e u
sua
rio
, y
un
me
nsa
je q
ue
dic
e “
Gra
ba
ció
n
exit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
las
Cu
en
tas
de
u
sua
rio
cre
ad
as,
pa
ra l
o c
ua
l se
in
clu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” y
“Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to: E
l si
ste
ma
mu
est
ra
al
lad
o d
el
da
to i
nco
rre
cto
un
m
en
saje
qu
e i
nfo
rma
el
tip
o d
e
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
de
la
cu
en
ta d
e u
su
ari
o: E
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo
de
Cu
en
tas
de
Usu
ari
o m
ost
ran
do
la
list
a d
e c
ue
nta
s d
e u
sua
rio
.E
xc
ep
ció
n a
l g
ua
rda
r la
cu
en
ta d
e
us
ua
rio
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a
Pá
gin
a d
e C
rea
ció
n d
e C
ue
nta
de
U
sua
rio
mo
stra
nd
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Ob
tie
ne
un
a l
ista
de
va
lore
s d
e R
olU
sua
rio
Se
cre
a u
na
nu
eva
in
sta
nci
a d
e
Cu
en
taU
sua
rio
Gu
ard
a l
a i
nst
an
cia
de
C
ue
nta
Usu
ari
o e
n l
a
ba
se d
e d
ato
s co
mo
un
re
gis
tro
Pa
ra i
ng
resa
r a
la
o
pci
ón
"C
rea
r",
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e
cue
nta
s d
e u
sua
rio
en
la
Pá
gin
a d
e M
an
ejo
d
e C
ue
nta
s d
e
Usu
ari
o,
pa
ra e
sta
a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
d
e u
so “
Lis
tar
pa
rám
etr
os
ge
ne
rale
sd
el
sis
tem
a”.
Re
torn
a u
n n
ue
vo i
d p
ara
Cu
en
taU
sua
rio
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
s:se
lect
Ite
ms"
d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
lla
ma
al
mé
tod
o
ge
tRe
sult
Lis
t, y
mu
est
ra l
a
list
a d
e v
alo
res
de
l E
nu
me
rad
o R
olU
sua
rio
co
n
ayu
da
de
l co
mp
on
en
te
"h:s
ele
ctO
ne
Me
nu
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
.
Mu
est
ra l
a i
nst
an
cia
de
C
ue
nta
Usu
ari
o c
rea
da
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"r
ich
:me
ssa
ge
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s
:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{cu
en
taU
su
ari
oH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
Cu
en
taU
sua
rio
en
la
ba
se d
e d
ato
s, e
l si
ste
ma
lo
ca
ptu
ra y
m
ue
stra
un
me
nsa
je q
ue
in
form
a e
l e
rro
r
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s C
ue
nta
s d
e U
sua
rio
cre
ad
as,
pa
ra l
o c
ua
l se
in
clu
ye l
os
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
", "
Ed
ita
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" y
"Eli
min
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
li
sta
" re
spe
ctiv
am
en
te
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
ge
tRe
sult
Lis
t()
:Lis
t<R
olU
sua
rio
>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sCu
en
taU
sua
rio
()
sett
ers
Ca
mp
osC
ue
nta
Usu
ari
o()
sett
ers
Ca
mp
osC
ue
nta
Usu
ari
o()
sett
ers
Ca
mp
osC
ue
nta
Usu
ari
o()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()
red
ire
ct()
ge
tCre
ate
dM
ess
ag
eK
ey(
) :S
trin
g
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 158
Figura 3.69: (Diagrama de Secuencia del caso de uso “Listar datos asociados a
un Proyecto”)
Usu
ari
o
(fro
m A
cto
res)
Pro
yec
toE
nti
da
dA
so
cia
da
Pro
yec
to
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
.XH
TM
L
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Pro
yect
os
.XH
TM
L
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
P
roye
cto
.X
HT
ML
Se
ssio
nC
on
text
Va
rE
nti
da
dA
soci
ad
a
Pro
yect
oL
ist
En
tity
Qu
ery
Có
dig
o:
04
Ca
so
de
Us
o:
Lis
tar
da
tos
aso
cia
do
s a
un
P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n
la o
pci
ón
“A
dm
inis
tra
r” d
e l
a
list
a d
e P
roye
cto
s e
n
la P
ág
ina
de
Ma
ne
jo
de
Pro
yect
os,
y e
l si
ste
ma
se
dir
ecc
ion
a
a l
a P
ág
ina
de
A
dm
inis
tra
ció
n d
e
Pro
yect
os
mo
stra
nd
o
las
resp
ect
iva
s o
pci
on
es
com
o s
e
ob
serv
a e
n l
a F
igu
ra
3.8
.
El
usu
ari
o i
ng
resa
a
la o
pci
ón
re
spe
ctiv
a
de
la
Pá
gin
a d
e
Ad
min
istr
aci
ón
de
P
roye
cto
s, y
el
sist
em
a o
bti
en
e u
na
li
sta
de
da
tos
de
la
E
nti
da
d a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o y
ve
rifi
ca s
i la
lis
ta n
o
est
á v
ací
a.
Si
no
est
á
vací
a e
l si
ste
ma
m
ue
stra
la
lis
ta d
e
da
tos
en
su
re
spe
ctiv
a P
ág
ina
de
M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
P
roye
cto
.
Flu
jos
Alt
ern
ati
vo
s:
Lis
ta d
e d
ato
s
va
cía
: E
l si
ste
ma
m
ue
stra
en
la
Pá
gin
ad
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
P
roye
cto
un
me
nsa
je
qu
e d
ice
“N
o s
e
en
con
tra
ron
re
gis
tro
s”.
Ex
ce
pc
ión
al
lis
tar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
e
rro
r y
se d
ire
ccio
na
a
la
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n
Pro
yect
o m
ost
ran
do
u
n m
en
saje
qu
e
info
rma
el
tip
o d
e
err
or
cap
tura
do
.
Se
ob
tie
ne
el
Pro
yect
o e
n
sesi
ón
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
E
nti
da
dA
soci
ad
aP
roye
cto
alm
ace
na
da
se
n l
a b
ase
de
da
tos,
pe
ro a
soci
ad
as
al
Pro
yect
o e
n s
esi
ón
Pa
ra i
ng
resa
r a
la
op
ció
n "
Ad
min
istr
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e P
roye
cto
s e
n l
a P
ág
ina
de
Ma
ne
jo d
e P
roye
cto
s, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s i
nic
iale
s d
e P
roye
cto
s”
Mu
est
ra a
l u
sua
rio
el
no
mb
re d
el
Pro
yect
o e
n s
esi
ón
fij
ad
a e
n l
a c
lase
Se
ssio
nC
on
text
Va
r, a
de
má
s se
mu
est
ra l
as
resp
ect
iva
s o
pci
on
es
aso
cia
da
s a
un
Pro
yect
o
Fij
a e
l P
roye
cto
se
lecc
ion
ad
o e
n l
a c
lase
Se
ssio
nC
on
text
Va
r m
ed
ian
te e
l co
mp
on
en
te
"f:s
etP
rop
ert
yAct
ion
Lis
ten
er"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/co
re".
Te
ne
r e
n c
ue
nta
qu
e l
a
cla
se S
ess
ion
Co
nte
xtV
ar
de
be
est
ar
pre
ced
ida
po
r la
s a
no
taci
on
es
@N
am
e("
sess
ion
Co
nte
xtV
ar"
) y
@S
cop
e(S
cop
eT
ype
.SE
SS
ION
) d
e S
ea
m
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
E
nti
da
dA
soci
ad
aP
roye
cto
alm
ace
na
da
s e
n
la b
ase
de
da
tos
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e
con
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta q
ue
el
filt
ro d
e b
úsq
ue
da
es
el
"Pro
yect
o"
en
se
sió
n q
ue
se
ob
tie
ne
m
ed
ian
te e
l a
trib
uto
"se
ssio
nC
on
text
Va
r";
est
e a
trib
uto
de
be
est
ar
pre
ced
ido
po
r la
a
no
taci
ón
@In
de
Se
am
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
en
tid
ad
Aso
cia
da
Pro
yect
oL
ist.
resu
ltL
ist]La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"E
l u
sua
rio
vis
ua
liza
la
lis
ta d
e i
nst
an
cia
s d
e E
nti
da
dA
soci
ad
aP
roye
cto
en
un
a
tab
la
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e
"htt
p:/
/ric
hfa
ces.
org
/ric
h"
lla
ma
al
mé
tod
o g
etR
esu
ltL
ist
y m
ue
stra
la
li
sta
de
in
sta
nci
as
de
E
nti
da
dA
soci
ad
aP
roye
cto
cli
c e
n l
a o
pció
n A
dm
inis
tra
r()
setP
roye
cto
(pro
yect
o)
vie
w()
ge
tPro
yect
o()
:P
roye
cto
cli
c e
n l
a o
pció
n R
esp
ecti
va
()
vie
w()
En
tid
ad
Aso
cia
da
Pro
yect
oL
ist(
)se
tEjb
ql(
EJB
QL
)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tSe
ssio
nC
on
text
Va
r()
:S
ess
ion
Co
nte
xtV
ar
ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
dA
soci
ad
aP
roye
cto
>
ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
dA
soci
ad
aP
roye
cto
>
Exc
ep
tio
n()
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
n r
eg
istr
os"
)
Página | 159
Figura 3.70: (Diagrama de Secuencia del caso de uso “Listar datos iniciales de
Proyectos”)
Pá
gin
a P
rin
cip
al
.XH
TM
LU
sua
rio
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
.XH
TM
L
Pro
yect
oL
ist
En
tity
Qu
ery
Pro
yec
toC
lie
nte
Có
dig
o:
05
Ca
so
de
Us
o:
Lis
tar
da
tos
inic
iale
s d
e
Pro
yect
os
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
o
pci
ón
"P
roye
cto
s" d
e
la P
ág
ina
Pri
nci
pa
l (v
er
Fig
ura
3.2
), y
el
sist
em
ao
bti
en
e u
na
lis
ta d
e
Pro
yect
os,
y
veri
fica
si
la l
ista
no
est
á v
ací
a.
Si
la l
ista
no
est
á v
ací
a
el
sist
em
a m
ue
stra
lo
s ca
mp
os
de
có
dig
o,
no
mb
re,
est
ad
o,
y n
om
bre
de
l cl
ien
te e
l cu
al
se o
bti
en
e
me
dia
nte
el
ide
nti
fica
do
r d
el
Cli
en
te a
soci
ad
o a
l P
roye
cto
; e
sta
lis
ta s
e
mu
est
ra e
n l
a P
ág
ina
d
e M
an
ejo
de
P
roye
cto
s co
n s
us
resp
ect
iva
s o
pci
on
es.
Flu
jos
Alt
ern
ati
vo
s:
Lis
ta d
e P
roye
cto
s
va
cía
: E
l si
ste
ma
m
ue
stra
en
la
Pá
gin
a
de
Ma
ne
jo d
e
Pro
yect
os
un
me
nsa
je
qu
e d
ice
“N
o s
e
en
co
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
lis
tar
Pro
yec
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e
Pro
yect
os
mo
stra
nd
o u
nm
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Pa
ra i
ng
resa
r a
la
op
ció
n "
Pro
yect
os"
el
usu
ari
o d
eb
e e
sta
r e
n s
esi
ón
, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
"In
icia
r s
es
ión
"
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
Pro
yect
o
alm
ace
na
da
s e
n l
a b
ase
de
da
tos
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
rich
:da
taT
ab
le"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
t y
mu
est
ra l
a l
ista
de
in
sta
nci
as
de
Pro
yect
o,
pe
ro s
ólo
se
m
ost
rará
el
cód
igo
, n
om
bre
, e
sta
do
, y
no
mb
re d
el
Cli
en
te
aso
cia
do
al
Pro
yect
o
Se
ob
tie
ne
un
a l
ista
de
inst
an
cia
s d
e l
a
En
tid
ad
Pro
yect
o
alm
ace
na
da
s e
n l
a
ba
se d
e d
ato
s
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
pro
yect
oL
ist.
resu
ltL
ist]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
El
usu
ari
o
visu
ali
za
la l
ista
de
in
sta
nci
as
de
P
roye
cto
e
n u
na
ta
bla
cli
c e
n l
a o
pció
n P
roye
cto
s()
vie
w()
Pro
yect
oL
ist(
)se
tEjb
ql(
EJB
QL
)
ge
tRe
sult
Lis
t()
:Lis
t<P
roye
cto
>g
etR
esu
ltL
ist(
) :L
ist<
Pro
yect
o> E
xce
pti
on
()
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
nre
gis
tro
s")
Página | 160
Figura 3.71: (Diagrama de Secuencia del caso de uso “Listar datos asociados a
un Requerimiento”)
Usu
ari
o
(fro
m A
cto
res)
Re
qu
eri
mie
nto
En
tid
ad
As
oc
iad
aR
eq
ue
rim
ien
to
En
tity
Qu
ery
Se
ssio
nC
on
text
Va
rE
nti
da
dA
soci
ad
a
Re
qu
eri
mie
nto
Lis
tP
ág
ina
de
Se
lecció
n d
e u
n
Re
qu
eri
mie
nto
.X
HT
ML
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Re
qu
eri
mie
nto
s .X
HT
ML
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
.XH
TM
L
Có
dig
o:
06
Ca
so
de
Us
o:
Lis
tar
da
tos
aso
cia
do
s a
un
R
eq
ue
rim
ien
to
Flu
jo B
ás
ico
:E
l u
sua
rio
pu
ed
e b
usc
ar
un
req
ue
rim
ien
to a
nte
s d
e
sele
ccio
na
rlo
, p
ara
lo
cu
al
se i
ncl
uye
el
caso
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
. E
l
usu
ari
o d
a c
lic
en
la
o
pció
n “
Ad
min
istr
ar”
de
la
list
a d
e R
eq
ue
rim
ien
tos
aso
cia
da
al
Pro
yect
o
sele
ccio
na
do
en
la
Pá
gin
a
de
Se
lecc
ión
de
un
R
eq
ue
rim
ien
to (
ver
Fig
ura
3
.17
), y
el
sist
em
a s
e
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ad
min
istr
aci
ón
de
R
eq
ue
rim
ien
tos
mo
stra
nd
o
las
resp
ect
iva
s o
pci
on
es
com
o s
e o
bse
rva
en
la
F
igu
ra 3
.18
.
El
usu
ari
o i
ng
resa
a l
a
op
ció
n r
esp
ect
iva
de
la
P
ág
ina
de
Ad
min
istr
aci
ón
d
e R
eq
ue
rim
ien
tos,
y e
l si
ste
ma
ob
tie
ne
un
a l
ista
d
e d
ato
s d
e l
a E
nti
da
d
aso
cia
da
al
Re
qu
eri
mie
nto
se
lecc
ion
ad
o y
ve
rifi
ca s
i la
lis
ta n
o e
stá
va
cía
. S
i n
o
est
á v
ací
a e
l si
ste
ma
m
ue
stra
la
lis
ta d
e d
ato
s e
n s
u r
esp
ect
iva
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n
Re
qu
eri
mie
nto
se
lecc
ion
ad
o.
Flu
jos
Alt
ern
ati
vo
s:
Lis
ta d
e d
ato
s v
ac
ía:
El
sist
em
a m
ue
stra
en
la
P
ág
ina
de
Ma
ne
jo d
e
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
sele
ccio
na
do
un
me
nsa
je
qu
e d
ice
“N
o s
e
en
co
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
lis
tar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
d
e e
rro
r y
se d
ire
ccio
na
a
la P
ág
ina
de
Ma
ne
jo d
e
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
sele
ccio
na
do
mo
stra
nd
o
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to
alm
ace
na
da
s e
n l
a b
ase
de
da
tos,
pe
ro
aso
cia
da
s a
l R
eq
ue
rim
ien
to e
n s
esi
ón
Se
ob
tie
ne
el
Re
qu
eri
mie
nto
en
se
sió
n
Pa
ra i
ng
resa
r a
la
op
ció
n "
Ad
min
istr
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e R
eq
ue
rim
ien
tos
aso
cia
da
al
Pro
yect
o s
ele
ccio
na
do
en
la
Pá
gin
a d
e S
ele
cció
n d
e u
n R
eq
ue
rim
ien
to,
pa
ra e
sta
a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”.
Te
ne
r e
n c
ue
nta
qu
e e
l u
sua
rio
pu
ed
e b
usc
ar
un
re
qu
eri
mie
nto
an
tes
de
se
lecc
ion
arl
o,
pa
ra
lo c
ua
l se
in
clu
ye e
l ca
so d
e u
so “
Fil
tra
r re
gis
tro
s l
ista
do
s”.
Fij
a e
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
en
la
cla
se S
ess
ion
Co
nte
xtV
ar
me
dia
nte
el
com
po
ne
nte
"f:
setP
rop
ert
yAct
ion
Lis
ten
er"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/co
re".
Te
ne
r e
n
cue
nta
qu
e l
a c
lase
Se
ssio
nC
on
text
Va
r d
eb
e e
sta
r p
rece
did
a p
or
las
an
ota
cio
ne
s @
Na
me
("se
ssio
nC
on
text
Va
r")
y @
Sco
pe
(Sco
pe
Typ
e.S
ES
SIO
N)
de
Se
am
Mu
est
ra a
l u
sua
rio
el
no
mb
re d
el
Re
qu
eri
mie
nto
en
se
sió
n f
ija
da
en
la
cla
se S
ess
ion
Co
nte
xtV
ar,
ad
em
ás
se m
ue
stra
la
s re
spe
ctiv
as
op
cio
ne
s a
soci
ad
as
a u
n R
eq
ue
rim
ien
to
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
En
tid
ad
Aso
cia
da
Re
qu
eri
me
into
a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e c
on
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta q
ue
el
filt
ro
de
bú
squ
ed
a e
s e
l "R
eq
ue
rim
ien
to"
en
se
sió
n
qu
e s
e o
bti
en
e m
ed
ian
te e
l a
trib
uto
"s
ess
ion
Co
nte
xtV
ar"
; e
ste
atr
ibu
to d
eb
e e
sta
r p
rece
did
o p
or
la a
no
taci
ón
@In
de
Se
am
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
en
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
Lis
t.re
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
El
usu
ari
o v
isu
ali
za l
a
list
a d
e i
nst
an
cia
s d
e
En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
en
un
a t
ab
la
cli
c e
n l
a o
pció
n A
dm
inis
tra
r()
setR
eq
ue
rim
ien
to(r
eq
ue
rim
ien
to)
vie
w()
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
cli
c e
n l
a o
pció
n R
esp
ecti
va
()vi
ew
()E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
toL
ist(
)se
tEjb
ql(
EJB
QL
)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tSe
ssio
nC
on
text
Va
r()
:S
ess
ion
Co
nte
xtV
ar
ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to>
ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to> E
xce
pti
on
()
em
pty
ge
tRe
sult
Lis
t()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
n r
eg
istr
os"
)
Página | 161
Usuario
(from Actores)
Página de Manejo
de Datos .XHTML EntidadPágina de Manejo
de Datos .PAGE.XML
EntidadList EntityQuery
Código: 07Caso de Uso: Filtrar registros l istados
Flujo Básico:El usuario ingresa los fi l tros (o campos) de búsqueda y da clic en la opción “Buscar” de la
Página de Manejo de Datos (ver Figura3.4), el sistema obtiene una listade datos de la respectiva Entidad fi l trada por los campos de búsqueda y verifica si la l ista no está vacía.
Si no está vacía el sistema muestra la l ista fi l trada en la respectiva Página de Manejo de Datos.
Flujos Alternativ os:Lista filtrada está v acía: El sistema muestra un mensaje en la Página de Manejo de Datos que dice “No se
encontraron registros”.
El usuario resetea la búsqueda: El sistema quita todos los fi l tros de búsqueda y muestra la l ista de datos sin fi l trarla en la Página de Manejo de Datos.Excepción al buscar datos: El sistema captura el tipo de error y se direcciona a la Página de Manejo de Datos mostrando un mensaje que informa el tipo de error capturado.
Se obtiene una lista deinstancias de la Entidad fi l trada por los campos de búsqueda almacenadas en la base de datos
Fija la sentencia EJBQL que selecciona todas las instancias de Entidad almacenadas en la base de datos
Para fi jar los campos de búsqueda se debe declarar una variable de tipo Entidad en la clase EntidadList. Tener en cuenta que los campos ingresados serán enviados como parámetros de Página con ayuda del archivo descriptor .page.xml
Fija el arreglo RESTRICTIONS que contiene los fi l tros de búsqueda (atributos fi jados en Entidad), la clase EntityQuery se Seam verifica que campo fué ingresado por el usuario para ubicarlo como fi ltro
El atributo "value" del componente "rich:dataTable" de "http://richfaces.org/rich" l lama al método getResultList y muestra la l ista fi l trada de instancias de Entidad
Para quitar los parámetros de Página se debe fi jar el valor de "false" en el atributo "includePageParams" del componente "s:button" de "http://jboss.com/products/seam/taglib"
El usuario visualiza la l ista de instancias de Entidad sin fi l trarla
alt mensajes
[showGlobalMessages != 'false']
[empty entidadList.resultList]
La pregunta va en el atributo "rendered" del componente "h:messages" de "http://java.sun.com/jsf/html"
La pregunta va en el atributo "rendered" del componente "h:outputText" de "http://java.sun.com/jsf/html"
El usuario visualiza la l ista de instancias de Entidad fi l trarla por los campos de búsqueda
Para usar la opción "Buscar" el usuario debe estar viendo la l ista de datos en la respectiva Página de Manejo de Datos, para esta acción ver el diagrama de secuenciadel caso de uso “Listar
parámetros generales del sistema”, o "Listar
datos asociados a un Proyecto", o "Listar datos asociados a un Requerimiento", el diagrama depende de la l ista que el usuario desea fi l trarla
ingresa campos de búsqueda()
clic en la opcion Buscar()
settersCamposBusquedaEntidad()
settersCamposBusquedaEntidad()
settersCamposBusquedaEntidad()
EntidadList()
setEjbql(EJBQL)
setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS))
getEntidad() :Entidad
getResultList() :List<Entidad>
getResultList() :List<Entidad>
Exception()
empty getResultList()
renderedMessage("No se encontraronregistros")
clic en la opción Resetear Búsqueda()
noIncludePageParams()
Figura 3.72: (Diagrama de Secuencia del caso de uso “Filtrar registros listados”)
Página | 162
Figura 3.73: (Diagrama de Secuencia del caso de uso “Editar registro
seleccionado de una lista”)
Usu
ari
o
(fro
m A
cto
res)
En
tid
ad
En
tid
ad
Ho
me
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Pá
gin
a d
e M
an
ejo
de
Da
tos
.XH
TM
LP
ág
ina
de
Ed
ició
n
de
Da
tos
.PA
GE
.XM
L
Pá
gin
a d
e E
dic
ión
de
Da
tos
.XH
TM
L
Có
dig
o:
08
Ca
so
de
Us
o:
Ed
ita
r re
gis
tro
se
lecc
ion
ad
o
de
un
a l
ista
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
Ed
ita
r” d
e l
a
list
a d
e d
ato
s e
n l
a
Pá
gin
a d
e M
an
ejo
de
D
ato
s (v
er
Fig
ura
3.4
), y
el
sist
em
a o
bti
en
e l
os
da
tos
de
l re
gis
tro
se
lecc
ion
ad
o d
e l
a
resp
ect
iva
En
tid
ad
y
mu
est
ra e
sto
s e
n l
a
Pá
gin
a d
e E
dic
ión
de
D
ato
s (v
er
Fig
ura
3.6
).
El
usu
ari
o e
dit
a c
ad
a
da
to,
y e
l si
ste
ma
va
lid
a q
ue
el
da
to s
ea
co
rre
cto
(n
o e
xce
da
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
de
d
ato
s, r
eg
las
de
n
eg
oci
o).
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Gu
ard
ar”
. S
i
cad
a d
ato
es
corr
ect
o
el
sist
em
a a
ctu
ali
za l
os
da
tos
u c
am
po
s e
n l
a
resp
ect
iva
ta
bla
de
la
b
ase
de
da
tos
y se
d
ire
ccio
na
a l
a P
ág
ina
d
e M
an
ejo
de
Da
tos
mo
stra
nd
o l
a l
ista
de
d
ato
s co
n s
us
resp
ect
ivo
s ca
mp
os
ed
ita
do
s, y
un
me
nsa
je
qu
e d
ice
“A
ctu
ali
za
ció
n
exit
osa
”.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
od
el
da
to i
nco
rre
cto
un
m
en
saje
qu
e i
nfo
rma
e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
e
dic
ión
de
da
tos
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
d
e D
ato
s m
ost
ran
do
la
li
sta
de
da
tos.
Ex
ce
pc
ión
al
ed
ita
r d
ato
s:
El
sist
em
a
cap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a
mis
ma
Pá
gin
a d
e
Ed
ició
n d
e D
ato
s m
ost
ran
do
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e
err
or
cap
tura
do
.
Ob
tie
ne
un
a i
nst
an
cia
d
e E
nti
da
d
corr
esp
po
nd
ien
te a
l a
trib
uto
"e
nti
da
dN
am
eId
",
alm
ace
na
da
en
la
b
ase
de
da
tos
Act
ua
liza
el
reg
istr
o d
e
la b
ase
de
da
tos
corr
esp
on
die
nte
a l
a
inst
an
cia
de
la
En
tid
ad
Pa
ra u
sar
la o
pci
ón
"E
dit
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e d
ato
s e
n l
a r
esp
ect
iva
Pá
gin
a d
e M
an
ejo
de
Da
tos,
pa
ra e
sta
acc
ión
ve
r e
l d
iag
ram
a d
e s
ecu
en
cia
de
l ca
so d
e u
so “L
ista
r p
ará
me
tro
s
ge
ne
rale
s d
el
sis
tem
a”,
o "
Lis
tar
da
tos
as
oc
iad
os
a u
n P
roye
cto
",
o "
Lis
tar
da
tos
as
oc
iad
os
a u
n R
eq
ue
rim
ien
to",
el
dia
gra
ma
de
pe
nd
e d
el
reg
istr
o d
e l
a l
ista
qu
e e
l u
sua
rio
de
see
ed
ita
rlo
Fij
a e
l id
de
la
in
sta
nci
a d
e E
nti
da
d s
ele
ccio
na
da
de
la
lis
ta,
me
dia
nte
el
com
po
ne
nte
"f
:pa
ram
" d
e "
htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
" q
ue
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te
"s:b
utt
on
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b".
Te
ne
r e
n c
ue
nta
qu
e e
l a
trib
uto
"e
nti
da
dN
am
eId
" se
en
cue
ntr
a p
rece
did
a d
e l
a a
no
taci
ón
@R
eq
ue
stP
ara
me
ter
de
Se
am
alt
ge
tId
()
[if
ge
tEn
tid
ad
Na
me
Id()
==
nu
ll]
Mu
est
ra l
a i
nst
an
cia
de
En
tid
ad
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"<
rich
:me
ssa
ge
>"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
". T
en
er
en
cu
en
ta q
ue
la
s va
lid
aci
on
es
de
ca
da
ca
mp
o s
on
in
voca
da
s m
ed
ian
te e
l co
mp
on
en
te
"<f:
vali
da
tor>
" d
e "
htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
"
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{en
tid
ad
Ho
me
.up
da
te}"
[ru
le i
f-o
utc
om
e=
"up
da
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l a
ctu
ali
zar
la i
nst
an
cia
de
En
tid
ad
en
la
ba
se d
e
da
tos,
el
sist
em
a l
o c
ap
tura
y m
ue
stra
un
m
en
saje
qu
e i
nfo
rma
el
err
or
cli
c e
n l
a o
pció
n E
dit
ar(
)
setE
nti
da
dN
am
eId
(en
tid
ad
Na
me
Id)
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
setE
nti
da
dN
am
eId
((L
on
g)
sup
er.
ge
tId
())
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sEn
tid
ad
()
sett
ers
Ca
mp
osE
nti
da
d()
sett
ers
Ca
mp
osE
nti
da
d()
sett
ers
Ca
mp
osE
nti
da
d()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
up
da
te()
:S
trin
gu
pd
ate
() :
Str
ing
up
da
te()
:S
trin
g
en
d-c
on
vers
ati
on
()
red
ire
ct()
ge
tUp
da
ted
Me
ssa
ge
Ke
y()
:Str
ing
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 163
Figura 3.74: (Diagrama de Secuencia del caso de uso “Eliminar registro
seleccionado de una lista”)
Usu
ari
o
(fro
m A
cto
res)
Ve
nta
na
em
erg
en
te
Pá
gin
a d
e M
an
ejo
de
Da
tos
.XH
TM
LE
nti
da
dA
dm
inE
nti
tyH
om
eE
nti
tyH
om
eE
nti
da
dH
om
e
Có
dig
o:
09
Ca
so
de
Us
o:
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
ali
sta
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n
la o
pció
n “
Eli
min
ar”
de
la
lis
ta d
e d
ato
s e
n l
a P
ág
ina
de
M
an
ejo
de
Da
tos
(ve
r F
igu
ra 3
.4),
y e
l si
ste
ma
ob
tie
ne
lo
s d
ato
s d
el
reg
istr
o
sele
ccio
na
do
de
la
re
spe
ctiv
a E
nti
da
d y
m
ue
stra
est
os
en
u
na
Ve
nta
na
E
me
rge
nte
(ti
po
p
op
-up
, ve
r F
igu
ra
3.7
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Co
nfi
rma
r”,
y e
l
sist
em
a e
lim
ina
lo
s d
ato
s d
e l
a
resp
ect
iva
ta
bla
de
la
ba
se d
e d
ato
s y
sed
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
d
e D
ato
s q
uit
an
do
lo
s d
ato
s e
lim
ina
do
s d
e l
a l
ista
de
da
tos,
y
mo
stra
nd
o u
n
me
nsa
je
“Eli
min
ació
n
exit
osa
”.
Flu
jos
Alt
ern
ati
vo
s:
El
us
ua
rio
ca
nc
ela
la
eli
min
ac
ión
de
d
ato
s:
El
sist
em
a s
e
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo
de
Da
tos
mo
stra
nd
o
la l
ista
de
da
tos.
Ex
ce
pc
ión
al
eli
min
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
d
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
d
e D
ato
s m
ost
ran
do
u
n m
en
saje
qu
e
info
rma
el
tip
o d
e
err
or
cap
tura
do
.
Eli
min
a u
n r
eg
istr
o d
e
la b
ase
de
da
tos
corr
esp
on
die
nte
a l
a
inst
an
cia
de
la
En
tid
ad
fi
jad
a
Ob
tie
ne
la
in
sta
nci
a
de
En
tid
ad
fij
ad
a
Pa
ra u
sar
la o
pci
ón
"E
lim
ina
r" e
l u
sua
rio
de
be
est
ar
vie
nd
o l
a l
ista
de
da
tos
en
la
re
spe
ctiv
a P
ág
ina
de
Ma
ne
jo d
e D
ato
s, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
d
e s
ecu
en
cia
de
l ca
so d
e u
so “
Lis
tar
pa
rám
etr
os
ge
ne
rale
s d
el
sis
tem
a”,
o "
Lis
tar
da
tos
as
oc
iad
os
a u
n P
roye
cto
",
o "
Lis
tar
da
tos
as
oc
iad
os
a u
n
Re
qu
eri
mie
nto
", e
l d
iag
ram
a d
ep
en
de
de
l re
gis
tro
de
la
lis
ta q
ue
el
usu
ari
o d
ese
e e
lim
ina
rlo
Fij
a l
a i
nst
an
cia
de
En
tid
ad
se
lecc
ion
ad
a d
e l
a l
ista
, m
ed
ian
te e
l co
mp
on
en
te "
f:se
tPro
pe
rtyA
ctio
nL
iste
ne
r" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
" q
ue
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te "
a4
j:co
mm
an
dB
utt
on
" d
e "
htt
p:/
/ric
hfa
ces.
org
/a4
j"
Te
ne
r e
n c
ue
nta
qu
e l
a
ven
tan
a e
me
rge
nte
qu
e
se m
ue
stra
al
usu
ari
o,
corr
esp
on
de
al
com
po
ne
nte
"r
ich
:mo
da
lPa
ne
l" d
e
"htt
p:/
/ric
hfa
ces.
org
/ric
h"
cli
c e
n l
a o
pció
n E
lim
ina
r()
setI
nst
an
ce(e
nti
da
d)
setI
nst
an
ce(e
nti
da
d)
setI
nst
an
ce(e
nti
da
d)
sho
wV
en
tan
aE
me
rge
nte
()
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cli
c e
n l
a o
pció
n C
on
firm
ar(
)
rem
ove
() :
Str
ing
rem
ove
() :
Str
ing
rem
ove
() :
Str
ing
Exc
ep
tio
n()
hid
eV
en
tan
aE
me
rge
nte
()
ge
tDe
lete
dM
ess
ag
eK
ey(
) :S
trin
g
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
hid
eV
en
tan
aE
me
rge
nte
()
Página | 164
Figura 3.75: (Diagrama de Secuencia del caso de uso “Manejar datos iniciales del
Proyecto”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Pro
yect
os
.XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
Pro
yect
o .
XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
Pro
yect
o
.PA
GE
.XM
L
Cli
en
teP
roye
cto
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Pro
yect
oH
om
eE
nti
tyQ
ue
ryC
lie
nte
Lis
t
Có
dig
o:
10
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
inic
iale
s d
el
Pro
yect
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo d
e P
roye
cto
s (v
er
Fig
ura
3.4
), y
el
sist
em
a
ob
tie
ne
un
a l
ista
de
Cli
en
tes,
y
mu
est
ra e
sta
lis
ta d
e f
orm
a
de
sple
ga
ble
ju
nto
a l
os
ca
mp
os
de
“có
dig
o”
y “
no
mb
re”
en
la
Pá
gin
a d
e C
rea
ció
n d
e
Pro
yect
o (
ver
Fig
ura
3.5
). E
l u
sua
rio
aso
cia
un
Cli
en
te a
l P
roye
cto
se
lecc
ion
ad
o u
n
Cli
en
te d
e l
a l
ista
e i
ng
resa
ca
da
da
to u
ca
mp
o,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o e
xce
da
n e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s
corr
ect
o e
l si
ste
ma
pe
rsis
te e
l P
roye
cto
en
la
re
spe
ctiv
a t
ab
la
de
la
ba
se d
e d
ato
s y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e P
roye
cto
s m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e P
roye
cto
s, y
un
m
en
saje
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r, e
dit
ar
y e
lim
ina
r e
l P
roye
cto
cre
ad
o,
pa
ra l
o c
ua
l se
in
clu
ye l
os
caso
s d
e u
so
“Fil
tra
r re
gis
tro
s li
sta
do
s”,
“Ed
ita
r re
gis
tro
se
leccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a
cre
ac
ión
de
l P
roye
cto
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e
Pro
yect
os
mo
stra
nd
o l
a l
ista
de
P
roye
cto
s.E
xc
ep
ció
n a
l g
ua
rda
r P
roye
cto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e C
rea
ció
n
de
Pro
yect
o m
ost
ran
do
un
m
en
saje
qu
e i
nfo
rma
el
tip
o d
ee
rro
r ca
ptu
rad
o.
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
C
lie
nte
alm
ace
na
da
s e
n l
a b
ase
de
d
ato
s
Se
cre
a u
na
nu
eva
in
sta
nci
a d
e P
roye
cto
Gu
ard
a l
a i
nst
an
cia
de
P
roye
cto
en
la
ba
se d
e
da
tos
com
o u
n r
eg
istr
o
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
Cli
en
te a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
Re
torn
a u
n n
ue
vo i
d p
ara
Pro
yect
o
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
s:se
lect
Ite
ms"
d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
lla
ma
al
mé
tod
o
ge
tRe
sult
Lis
t, y
mu
est
ra l
a
list
a d
e i
nst
an
cia
s d
e C
lie
nte
co
n a
yud
a d
el
com
po
ne
nte
"h
:se
lect
On
eM
en
u"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
Mu
est
ra l
a
inst
an
cia
d
e
Pro
yect
o
cre
ad
a
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"r
ich
:me
ssa
ge
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s
:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{pro
yec
toH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
Pro
yect
o e
n l
a b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y
mu
est
ra u
n m
en
saje
qu
e i
nfo
rma
el
err
or
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s P
roye
cto
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
os
caso
s d
e
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
", "
Ed
ita
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" y
"Eli
min
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
lis
ta"
resp
ect
iva
me
nte
. T
en
er
pre
sen
te q
ue
no
se
pu
ed
e e
lim
ina
r u
n P
roye
cto
si
tie
ne
de
pe
nd
en
cia
s
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
Cli
en
teL
ist(
)se
tEjb
ql(
EJB
QL
)
ge
tRe
sult
Lis
t()
:Lis
t<C
lie
nte
>g
etR
esu
ltL
ist(
) :L
ist<
Cli
en
te>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sPro
yect
o()
sett
ers
Ca
mp
osP
roye
cto
()se
tte
rsC
am
po
sPro
yect
o()
sett
ers
Ca
mp
osP
roye
cto
()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()re
dir
ect
()
ge
tCre
ate
dM
ess
ag
eK
ey(
) :S
trin
g
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 165
Figura 3.76: (Diagrama de Secuencia del caso de uso “Manejar datos asociados a
un Proyecto”)
Pro
yec
toE
nti
da
dA
so
cia
da
Pro
yec
to
Pá
gin
a d
e
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
P
roye
cto
.X
HT
ML
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
P
roye
cto
.X
HT
ML
Usu
ari
o
(fro
m A
cto
res)
En
tity
Ho
me
Ad
min
En
tity
Ho
me
En
tid
ad
Aso
cia
da
P
roye
cto
Ho
me
Se
ssio
nC
on
text
Va
rP
ág
ina
de
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
P
roye
cto
.P
AG
E.X
ML
Có
dig
o:
11
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
aso
cia
do
s a
un
P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
Cre
ar”
de
la
Pá
gin
a
de
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
(v
er
Fig
ura
3.4
), y
el
sist
em
a
mu
est
ra l
a r
esp
ect
iva
P
ág
ina
de
Cre
aci
ón
de
D
ato
s re
laci
on
ad
os
a u
n
Pro
yect
o (
ver
Fig
ura
3.5
). E
l u
sua
rio
in
gre
sa c
ad
a d
ato
u
cam
po
, y
el
sist
em
a v
ali
da
q
ue
el
da
to s
ea
co
rre
cto
(n
o
exc
ed
a e
l lí
mit
e d
e
cara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
d
ato
s, r
eg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a
pe
rsis
te l
os
da
tos
o c
am
po
s e
n l
a r
esp
ect
iva
ta
bla
(a
soci
ad
a a
un
Pro
yect
o)
de
la
ba
se d
e d
ato
s y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
Pro
yect
o
sele
ccio
na
do
, y
un
me
nsa
je
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
,
“Ed
ita
r re
gis
tro
se
leccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
u
na
lis
ta”
resp
ecti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a
cre
ac
ión
de
un
nu
ev
o
da
to:
El
sist
em
a s
e
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
m
ost
ran
do
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
Pro
yect
o.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a
a l
a m
ism
a P
ág
ina
de
C
rea
ció
n d
e D
ato
s re
laci
on
ad
os
a u
n P
roye
cto
m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Cre
a u
na
nu
eva
in
sta
nci
a d
e
En
tid
ad
Aso
cia
da
Pro
yect
o
Ob
tie
ne
el
Pro
yect
o e
n
sesi
ón
pa
ra a
soci
ar
a l
ae
nti
da
d c
rea
da
Gu
ard
a l
a i
nst
an
cia
de
E
nti
da
dA
soci
ad
aP
roye
cto
en
la
ba
se d
e d
ato
s co
mo
un
re
gis
tro
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
Pro
yect
o e
n l
a r
esp
ect
iva
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
Pro
yect
o,
pa
ra e
sta
acc
ión
ve
r e
l d
iag
ram
a d
e
secu
en
cia
de
l ca
so d
e u
so “
Lis
tar
da
tos
as
oc
iad
os
a u
n P
roye
cto
”
Re
torn
a u
n n
ue
vo i
d p
ara
la
En
tid
ad
Aso
cia
da
Pro
yect
o
Mu
est
ra l
a i
nst
an
cia
de
E
nti
da
dA
soci
ad
aP
roye
cto
cre
ad
a
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"ri
ch:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
".
Te
ne
r p
rese
nte
qu
e c
ad
a c
am
po
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te "
s:va
lid
ate
All
" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
Fij
a e
l ca
mp
o "
pro
yect
o"
qu
e h
ace
re
fere
nci
a a
un
P
roye
cto
, m
ed
ian
te e
l P
roye
cto
en
se
sió
n.
Te
ne
r p
rese
nte
qu
e l
a v
ari
ab
le "
sess
ion
Co
nte
xtV
ar"
de
ti
po
"S
ess
ion
Co
nte
xtV
ar"
de
be
est
ar
de
cla
rad
a e
n
la c
lase
En
tid
ad
Aso
cia
da
Pro
yect
oH
om
e,
y d
eb
e
est
ar
pre
ced
ida
de
la
an
ota
ció
n @
In d
e S
ea
m
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{en
tid
ad
As
oc
iad
aP
roye
cto
Ho
me
.pe
rsis
t}"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s a
soci
ad
os
a u
n P
roye
cto
, p
ara
lo
cu
al
se i
ncl
uye
lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
os
caso
s d
e
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
",
"Ed
ita
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" y
"E
lim
ina
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" r
esp
ect
iva
me
nte
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
En
tid
ad
Aso
cia
da
Pro
yect
o e
n l
a b
ase
de
da
tos,
el
sist
em
a
lo c
ap
tura
y m
ue
stra
un
me
nsa
je q
ue
in
form
a e
l e
rro
r
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aP
roye
cto
()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aP
roye
cto
()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aP
roye
cto
()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aP
roye
cto
()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
ge
tPro
yect
o()
:P
roye
cto
setP
roye
cto
(se
ssio
nC
on
text
Va
r.g
etP
roye
cto
())
setP
roye
cto
(se
ssio
nC
on
text
Va
r.g
etP
roye
cto
())
setP
roye
cto
(se
ssio
nC
on
text
Va
r.g
etP
roye
cto
())
en
d-c
on
vers
ati
on
()re
dir
ect
()
ge
tCre
ate
dM
ess
ag
eK
ey(
)
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 166
Figura 3.77: (Diagrama de Secuencia del caso de uso “Manejar datos asociados a un Requerimiento”)
Re
qu
eri
mie
nto
En
tid
ad
As
oc
iad
aR
eq
ue
rim
ien
to
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
.XH
TM
L
Pá
gin
a d
e M
an
ejo
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
.XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e D
ato
s
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to
.PA
GE
.XM
L
En
tid
ad
Aso
cia
da
R
eq
ue
rim
ien
toH
om
eS
ess
ion
Co
nte
xtV
ar
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Có
dig
o:
12
Ca
so
de
Us
o:
Ma
ne
jar
da
tos
aso
cia
do
s a
un
Re
qu
eri
mie
nto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to s
ele
ccio
na
do
(v
er
Fig
ura
3.4
), y
el
sist
em
a
mu
est
ra l
a r
esp
ect
iva
Pá
gin
a d
e
Cre
aci
ón
de
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
(ve
r F
igu
ra
3.5
). E
l u
sua
rio
in
gre
sa c
ad
a
da
to u
ca
mp
o,
y e
l si
ste
ma
va
lid
a q
ue
el
da
to s
ea
co
rre
cto
(n
o e
xce
da
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s,
reg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s
corr
ect
o e
l si
ste
ma
pe
rsis
te l
os
da
tos
u c
am
po
s e
n l
a r
esp
ect
iva
ta
bla
(a
soci
ad
a a
un
R
eq
ue
rim
ien
to)
de
la
ba
se d
e
da
tos
y se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e D
ato
s re
laci
on
ad
os
a u
n
Re
qu
eri
mie
nto
mo
stra
nd
o l
os
nu
evo
s d
ato
s e
n l
a l
ista
de
da
tos
aso
cia
da
a u
n R
eq
ue
rim
ien
to,
y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
los
da
tos
cre
ad
os,
pa
ra l
o c
ua
l se
in
clu
ye l
os
caso
s d
e u
so
“Fil
tra
r re
gis
tro
s li
sta
do
s”,
“Ed
ita
r
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to: E
l si
ste
ma
m
ue
stra
al
lad
o d
el
da
to
inco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
d
e u
n n
ue
vo
da
to: E
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Da
tos
rela
cio
na
do
s a
u
n R
eq
ue
rim
ien
to m
ost
ran
do
la
li
sta
de
da
tos
aso
cia
da
a u
n
Re
qu
eri
mie
nto
.E
xc
ep
ció
n a
l g
ua
rda
r d
ato
s: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
yse
dir
ecc
ion
a a
la
mis
ma
P
ág
ina
de
Cre
aci
ón
de
Da
tos
rela
cio
na
do
s a
un
R
eq
ue
rim
ien
to m
ost
ran
do
un
m
en
saje
qu
e i
nfo
rma
el
tip
o d
e
err
or
cap
tura
do
.
Cre
a u
na
nu
eva
in
sta
nci
a d
e
En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
Ob
tie
ne
el
Re
qu
eri
mie
nto
en
se
sió
n p
ara
aso
cia
r a
la
en
tid
ad
cre
ad
a
Gu
ard
a l
a i
nst
an
cia
de
E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to e
n
la b
ase
de
da
tos
com
o u
n r
eg
istr
o
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e d
ato
s a
soci
ad
a a
un
Re
qu
eri
mie
nto
en
la
re
spe
ctiv
a P
ág
ina
de
Ma
ne
jo d
e
Da
tos
rela
cio
na
do
s a
un
Re
qu
eri
mie
nto
, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Re
qu
eri
mie
nto
”
Re
torn
a u
n n
ue
vo i
d p
ara
la
En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
Mu
est
ra l
a i
nst
an
cia
de
E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to
cre
ad
a
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"ri
ch:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
".
Te
ne
r p
rese
nte
qu
e c
ad
a c
am
po
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te "
s:va
lid
ate
All
" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
Fij
a e
l ca
mp
o "
req
ue
rim
ien
to"
de
la
cla
se
"En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
", m
ed
ian
te e
l R
eq
ue
rim
ien
to e
n s
esi
ón
. T
en
er
pre
sen
te q
ue
la
va
ria
ble
"s
ess
ion
Co
nte
xtV
ar"
de
tip
o "
Se
ssio
nC
on
text
Va
r" d
eb
e
est
ar
de
cla
rad
a e
n l
a c
lase
"E
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
toH
om
e",
y d
eb
e e
sta
r p
rece
did
a d
e l
a a
no
taci
ón
@In
de
Se
am
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
En
tid
ad
Aso
cia
da
Re
qu
eri
mie
nto
en
la
ba
se d
e d
ato
s, e
l si
ste
ma
lo
ca
ptu
ra y
mu
est
ra u
n m
en
saje
qu
e i
nfo
rma
el
err
or
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{en
tid
ad
As
oc
iad
aR
eq
ue
rim
ien
toH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s a
soci
ad
os
a u
n R
eq
ue
rim
ien
to,
pa
ra l
o c
ua
l se
in
clu
ye l
os
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
", "
Ed
ita
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" y
"Eli
min
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
lis
ta"
resp
ect
iva
me
nte
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to()
sett
ers
Ca
mp
osE
nti
da
dA
soci
ad
aR
eq
ue
rim
ien
to()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
setR
eq
ue
rim
ien
to(s
ess
ion
Co
nte
xtV
ar.
ge
tRe
qu
eri
mie
nto
())
setR
eq
ue
rim
ien
to(s
ess
ion
Co
nte
xtV
ar.
ge
tRe
qu
eri
mie
nto
())
setR
eq
ue
rim
ien
to(s
ess
ion
Co
nte
xtV
ar.
ge
tRe
qu
eri
mie
nto
())
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 167
Figura 3.78: (Diagrama de Secuencia del caso de uso “Quitar ítem de una lista de
datos”)
En
tid
ad
Pá
gin
a d
e í
tem
s
aso
cia
do
s a
un
R
eg
istr
o
sele
ccio
na
do
.X
HT
ML
Usu
ari
o
(fro
m A
cto
res)
En
tid
ad
Ho
me
En
tid
ad
Aso
cia
da
Có
dig
o:
13
Ca
so
de
Us
o:
Qu
ita
r ít
em
de
un
a l
ista
de
d
ato
s
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n
la o
pció
n “
Qu
ita
r” d
el
íte
m d
e l
a l
ista
de
d
ato
s e
n s
u r
esp
ect
iva
P
ág
ina
de
íte
ms
aso
cia
do
s a
un
re
gis
tro
se
lecc
ion
ad
o,
y e
l si
ste
ma
re
mu
eve
e
l ít
em
se
lecc
ion
ad
o
de
la
lis
ta d
e d
ato
s d
e
la r
esp
ect
iva
En
tid
ad
, a
de
má
s a
ctu
ali
za l
a
list
a d
e d
ato
s q
uit
an
do
el
íte
m
sele
ccio
na
do
.
Flu
jos
Alt
ern
ati
vo
s:
Ex
ce
pc
ión
al
rem
ov
er
un
íte
m d
e
un
a l
ista
de
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
d
ire
ccio
na
a s
u
resp
ect
iva
Pá
gin
a
mo
stra
nd
o u
n
me
nsa
je q
ue
in
form
a
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Qu
ita
de
la
En
tid
ad
re
spe
ctiv
a l
a E
nti
da
d
aso
cia
da
Act
ua
liza
la
lis
ta d
e i
nst
an
cia
s d
e E
nti
da
dA
soci
ad
a,
qu
ita
nd
o l
a i
nst
an
cia
re
mo
vid
a
Ob
tie
ne
la
li
sta
de
E
nti
da
de
s A
soci
ad
as
cli
c e
n l
a o
pció
n Q
uit
ar(
)
rem
ove
En
tid
ad
Aso
cia
da
(en
tid
ad
Aso
cia
da
)
reR
en
de
rLis
t()
ge
tEn
tid
ad
Aso
cia
da
() :
Lis
t<E
nti
da
dA
soci
ad
a>
ge
tAsi
gn
aci
on
esE
nti
da
dA
soci
ad
a()
:L
ist<
En
tid
ad
Aso
cia
da
>
Exc
ep
tio
n()
pri
ntS
tack
Tra
ce()
Página | 168
Figura 3.79: (Diagrama de Secuencia del caso de uso “Manejar Anexo o archivo del Proyecto”)
An
ex
oP
ág
ina
de
Cre
ació
n d
e A
ne
xo
.XH
TM
L
Pá
gin
a d
e M
an
ejo
de
An
exo
s .X
HT
ML
Ve
nta
Em
erg
en
ted
e N
av
eg
ac
ión
Ve
nta
na
Em
erg
en
te d
eD
es
ca
rga
Usu
ari
o
(fro
m A
cto
res)
En
tity
Ho
me
Ad
min
En
tity
Ho
me
An
exo
Ho
me
An
exo
Lis
tP
ág
ina
de
Cre
ació
n d
e A
ne
xo
.PA
GE
.XM
L
Có
dig
o:
14
C
as
o d
e U
so
: M
an
eja
r A
ne
xo o
arc
hiv
o
de
l P
roye
cto
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
An
exo
s (v
er
Fig
ura
3.2
1),
y e
l si
ste
ma
mu
est
ra l
a
Pá
gin
a d
e C
rea
ció
n d
e A
ne
xo (
ver
Fig
ura
3.2
2).
El
usu
ari
o i
ng
resa
lo
s ca
mp
os
“có
dig
o”,
“d
esc
rip
ció
n”,
y e
l
sist
em
a v
ali
da
qu
e e
sto
s d
ato
s se
an
co
rre
cto
s (n
o e
xce
da
n e
l lí
mit
e d
e
cara
cte
res
pe
rmit
ido
s, o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s, r
eg
las
de
ne
go
cio
); e
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ag
reg
ar”
, y
el
sist
em
a m
ue
stra
un
a v
en
tan
a
em
erg
en
te p
ara
na
veg
ar
en
tre
d
ire
cto
rio
s. E
l u
sua
rio
se
lecc
ion
a u
n
arc
hiv
o (
de
cu
alq
uie
r e
xte
nsi
ón
) y
cie
rra
la
ve
nta
na
em
erg
en
te,
y e
l si
ste
ma
m
ue
stra
el
no
mb
re d
el
arc
hiv
o c
arg
ad
o,
blo
qu
ea
la
op
ció
n “
Ag
reg
ar”
, y m
ue
stra
un
a o
pció
n “
Qu
ita
r”.
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a p
ers
iste
el
An
exo
en
la
re
spe
ctiv
a t
ab
la (
aso
cia
da
al
Pro
yect
o)
de
la
ba
se d
e d
ato
s y
se d
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
de
An
exo
s m
ost
ran
do
el
nu
evo
an
exo
en
la
lis
ta d
e
an
exo
s a
soci
ad
a a
un
Pro
yect
o
sele
ccio
na
do
, y
un
me
nsa
je q
ue
dic
e
“Gra
ba
ció
n e
xit
osa
”. E
l u
sua
rio
da
cli
c
en
la
op
ció
n “
De
sca
rga
r” d
e l
a l
ista
de
an
exo
s, y
el
sist
em
a m
ue
stra
un
a
ven
tan
a e
me
rge
nte
pa
ra d
esc
arg
ar
(ab
rir
o g
ua
rda
r) e
l re
spe
ctiv
o a
rch
ivo
. E
l u
sua
rio
pu
ed
e b
usc
ar,
ed
ita
r y
eli
min
ar
los
an
exo
s cr
ea
do
s, p
ara
lo
cu
al
se
inclu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je q
ue
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n d
e u
n
nu
ev
o a
ne
xo
: E
l si
ste
ma
se
dir
ecc
ion
a
a l
a P
ág
ina
de
Ma
ne
jo d
e A
ne
xos
mo
stra
nd
o l
a l
ista
de
an
exo
s a
soci
ad
a a
u
n P
roye
cto
.E
l u
su
ari
o q
uit
a u
n a
rch
ivo
ca
rga
do
: E
l si
ste
ma
ocu
lta
el
no
mb
re d
el
arc
hiv
o
ca
rga
do
, y l
a o
pció
n “
Qu
ita
r”,
y a
cti
va
la
op
ció
n “
Ag
reg
ar”
.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e C
rea
ció
n d
e u
n
An
exo
mo
stra
nd
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e A
ne
xos
aso
cia
da
a u
n P
roye
cto
en
la
Pá
gin
a d
e M
an
ejo
de
An
exo
s, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”
Re
torn
a u
n n
ue
vo i
d p
ara
la
En
tid
ad
An
exo
Mu
est
ra l
a i
nst
an
cia
de
A
ne
xo c
rea
da
La
op
ció
n "
Ag
reg
ar"
est
á r
ep
rese
nta
da
en
el
com
po
ne
nte
"r
ich
:fil
eU
plo
ad
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
qu
e l
a
pro
pie
da
d "
file
Up
loa
dL
iste
ne
r" d
el
com
po
ne
nte
"ri
ch:f
ile
Up
loa
d"
es
la
en
carg
ad
a d
e l
lam
ar
al
mé
tod
o "
list
en
er"
, e
ste
mé
tod
o f
ija
el
no
mb
re d
el
arc
hiv
o,
el
tip
o d
e c
on
ten
ido
de
l a
rch
ivo
, y
el
arc
hiv
o c
arg
ad
o
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"r
ich
:me
ssa
ge
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s
:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
Fij
a e
l ca
mp
o "
pro
yect
o"
qu
e h
ace
re
fere
nci
a a
un
Pro
yect
o,
me
dia
nte
el
Pro
yect
o e
n s
esi
ón
. T
en
er
pre
sen
te q
ue
la
va
ria
ble
"se
ssio
nC
on
text
Va
r" d
e t
ipo
"S
ess
ion
Co
nte
xtV
ar"
de
be
est
ar
de
cla
rad
a e
n l
a c
lase
An
exo
Ho
me
, y
de
be
est
ar
pre
ced
ida
de
la
an
ota
ció
n @
In d
e S
ea
m
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{an
ex
oH
om
e.p
ers
ist}
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]S
i e
xist
e a
lgú
n t
ipo
de
e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e A
ne
xo e
n
la b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y
mu
est
ra u
n m
en
saje
q
ue
in
form
a e
l e
rro
r
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s a
ne
xos
cre
ad
os,
pa
ra l
o c
ua
l se
in
clu
ye l
os
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
", "
Ed
ita
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" y
"E
lim
ina
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" r
esp
ect
iva
me
nte
cli
c e
n l
a o
pció
n "
Cre
ar"
()
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
r ca
mp
os(
)se
tte
rsC
am
po
sAn
exo
()se
tte
rsC
am
po
sAn
exo
()se
tte
rsC
am
po
sAn
exo
() sett
ers
Ca
mp
osA
ne
xo()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n "
Ag
reg
ar"
()sh
ow
()
sele
ccio
na
r a
rch
ivo
()li
ste
ne
r()
hid
e()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
setP
roye
cto
(se
ssio
nC
on
text
Va
r.g
etP
roye
cto
())
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n "
De
sca
rga
r"()
de
sca
rga
r(A
ne
xo a
ne
xo)
:Str
ing
sho
wV
en
tan
aD
esc
arg
a()
cli
c e
n l
a o
pció
n "
Gu
ard
ar"
o "
Ab
rir"
()
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 169
Figura 3.80: (Diagrama de Secuencia del caso de uso “Generar reporte”)
Usu
ari
o
(fro
m A
cto
res)
Cli
en
teP
roye
cto
«e
nu
me
rati
o..
.
Tip
oR
ep
ort
e
Pá
gin
a P
rin
cip
al
.XH
TM
LP
ág
ina
de
Re
po
rte
s .X
HT
ML
Ve
nta
na
Em
erg
en
te
Re
po
rte
rGe
ne
rato
rR
ep
ort
erH
elp
er
Pro
ye
cto
Lis
tE
nti
tyQ
ue
ryT
ipo
Re
po
rte
Lis
tP
roye
cto
Ho
me
Có
dig
o:
15
Ca
so
de
Us
o:
Ge
ne
rar
rep
ort
e
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
o
pció
n “
Re
po
rte
s” d
e l
a
Pá
gin
a P
rin
cip
al
(ve
r F
igu
ra 3
.2),
y e
l si
ste
ma
o
bti
en
e u
na
lis
ta d
e
Pro
ye
cto
s y v
eri
fica
si
la
list
a n
o e
stá
va
cía
. S
i la
li
sta
no
est
á v
acía
el
sist
em
a m
ue
stra
est
a
list
a (
mo
stra
r lo
s ca
mp
os:
có
dig
o,
no
mb
re d
el
pro
ye
cto
, cli
en
te
aso
cia
do
al
pro
ye
cto
, y
est
ad
o d
el
pro
ye
cto
) e
n
la P
ág
ina
de
Re
po
rte
s co
n s
us
resp
ecti
va
s o
pcio
ne
s co
mo
se
pu
ed
eo
bse
rva
r e
n l
a F
igu
ra
3.2
3.
El
usu
ari
o d
a c
lic e
n l
a
op
ció
n “
Re
po
rte
s” d
e l
a
list
a d
e P
roye
cto
s e
n l
a
Pá
gin
a d
e R
ep
ort
es,
y e
l si
ste
ma
ob
tie
ne
un
a l
ista
de
tip
os
de
re
po
rte
s, y
m
ue
stra
est
a l
ista
en
un
ave
nta
na
em
erg
en
te c
on
su
s re
spe
cti
va
s o
pcio
ne
s (v
er
Fig
ura
3.2
4 y
3.2
5).
E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
De
sca
rga
r”,
y e
l
sist
em
a o
bti
en
e e
l re
spe
cti
vo
re
po
rte
de
l P
roye
cto
se
leccio
na
do
m
ost
ran
do
est
e r
ep
ort
e
en
fo
rma
to P
DF
.
Flu
jos
Alt
ern
ati
vo
s:
Lis
ta d
e d
ato
s v
ac
ía:
El
sist
em
a m
ue
stra
en
la
P
ág
ina
de
Re
po
rte
s u
n
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
El
us
ua
rio
cie
rra
la
v
en
tan
a e
me
rge
nte
: E
l si
ste
ma
ocu
lta
la
ve
nta
na
em
erg
en
te,
y
mu
est
ra l
a P
ág
ina
de
R
ep
ort
es.
Ex
ce
pc
ión
al
lis
tar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y
se d
ire
ccio
na
a l
a
Pá
gin
a d
e R
ep
ort
es
mo
stra
nd
o u
n m
en
saje
q
ue
in
form
a e
l ti
po
de
e
rro
r ca
ptu
rad
o.
Pa
ra i
ng
resa
r a
la
op
ció
n "
Re
po
rte
s" e
l u
sua
rio
de
be
est
ar
en
se
sió
n,
pa
ra e
sta
acció
n v
er
el
dia
gra
ma
de
se
cu
en
cia
de
l ca
so d
e u
so "
Inic
iar
se
sió
n"
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
ncia
s d
e P
roye
cto
alm
ace
na
da
s e
n l
a
ba
se d
e d
ato
s
Ob
tie
ne
un
a l
ista
de
in
sta
ncia
s d
e l
a E
nti
da
d
Pro
ye
cto
alm
ace
na
da
s e
n l
a b
ase
de
da
tos
El
atr
ibu
to "
va
lue
" d
el
co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e
"htt
p:/
/ric
hfa
ce
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
ty m
ue
stra
la
lis
ta d
e
inst
an
cia
s d
e P
roye
cto
, p
ero
só
lo s
e m
ost
rará
el
có
dig
o,
no
mb
re,
est
ad
o,
y n
om
bre
de
lC
lie
nte
aso
cia
do
al
Pro
ye
cto
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
pro
ye
cto
Lis
t.re
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
co
mp
on
en
te "
h:m
ess
ag
es"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
co
mp
on
en
te "
h:o
utp
utT
ext"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
El
usu
ari
o v
isu
ali
za
la
li
sta
de
in
sta
ncia
s d
e
Pro
ye
cto
en
un
a t
ab
la
Ob
tie
ne
un
a l
ista
d
e v
alo
res
de
l E
nu
me
rad
o
Tip
oR
ep
ort
e
Fij
a u
na
in
sta
ncia
de
l P
roye
cto
se
leccio
na
do
en
la
cla
se P
roye
cto
Ho
me
, m
ed
ian
te e
l co
mp
on
en
te "
f:se
tPro
pe
rtyA
cti
on
Lis
ten
er"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/co
re",
qu
e s
e
en
cu
en
tra
de
ntr
o d
el
co
mp
on
en
te "
a4
j:co
mm
an
dB
utt
on
" d
e "
htt
p:/
/ric
hfa
ce
s.o
rg/a
4j"
, e
ste
co
mp
on
en
te e
s e
l e
nca
rga
do
de
lla
ma
r a
la
Ve
nta
na
Em
erg
en
te
El
atr
ibu
to "
va
lue
" d
el
co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e "
htt
p:/
/ric
hfa
ce
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
t y m
ue
stra
la
lis
tad
e v
alo
res
de
l E
nu
me
rad
o T
ipo
Re
po
rte
Mu
est
ra e
l n
om
bre
de
l P
roye
cto
fij
ad
o e
n l
a i
nst
an
cia
de
la
cla
se P
roye
cto
Ho
me
El
usu
ari
o v
isu
ali
za
el
no
mb
re d
el
Pro
ye
cto
se
leccio
na
do
y l
a l
ista
de
va
lore
s d
el
En
um
era
do
Tip
oR
ep
ort
e
Mu
est
ra e
l re
po
rte
se
leccio
na
do
en
fo
rma
to P
DF
Fij
a l
a v
ari
ab
le "
pro
ye
cto
" co
n l
a i
nst
an
cia
de
l P
roye
cto
se
leccio
na
do
; fi
ja l
a v
ari
ab
le "
tip
oR
ep
ort
e"
co
n e
l ti
po
de
re
po
rte
se
leccio
na
do
de
la
lis
ta.
Est
as
va
ria
ble
s so
n f
ija
da
s m
ed
ian
te e
l co
mp
on
en
te "
f:se
tPro
pe
rtyA
cti
on
Lis
ten
er"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/co
re",
qu
e s
e e
ncu
en
tra
de
ntr
o d
el
co
mp
on
en
te "
a4
j:co
mm
an
dB
utt
on
" d
e "
htt
p:/
/ric
hfa
ce
s.o
rg/a
4j"
cli
c e
n l
a o
pció
n "
Re
po
rte
s"() v
iew
()P
roye
cto
Lis
t()
setE
jbq
l(E
JB
QL
)
ge
tRe
sult
Lis
t()
:Lis
t<P
roye
cto
>
ge
tRe
sult
Lis
t()
:Lis
t<P
roye
cto
>
Exce
pti
on
()
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
n r
eg
istr
os"
)
cli
c e
n l
a o
pció
n "
Re
po
rte
s"()
sho
w()
setI
nst
an
ce
(Pro
ye
cto
pro
ye
cto
)
pro
ye
cto
Ho
me
.in
sta
nce
.no
mb
re()
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
Re
po
rte
>
cli
c e
n l
a o
pció
n "
De
sca
rga
r"()
setP
roye
cto
(Pro
ye
cto
pro
ye
cto
)
setT
ipo
Re
po
rte
(Tip
oR
ep
ort
e t
ipo
Re
po
rte
)
ge
tRe
po
rte
()
exp
ort
Pd
fRe
po
rt(S
trin
g r
ep
ort
Url
, M
ap
<?
, ?
> p
ara
me
ters
, S
trin
g o
utp
utF
ile
Na
me
, C
on
ne
cti
on
co
n)
cli
c e
n l
a o
pció
n "
Ace
pta
r"()
hid
eV
en
tan
aE
me
rge
nte
()
Página | 170
Figura 3.81: (Diagrama de Secuencia del caso de uso “Listar parámetros
generales del sistema”)
Usu
ari
o
(fro
m A
cto
res)
En
tid
ad
Pá
gin
a P
rin
cip
al
.XH
TM
LP
ág
ina
de
Ma
ne
jo
de
Da
tos
.XH
TM
LE
nti
tyQ
ue
ryE
nti
da
dL
ist
Có
dig
o:
16
Ca
so
de
Us
o:
Lis
tar
pa
rám
etr
os
ge
ne
rale
s d
el
sist
em
a
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
op
ció
n r
esp
ect
iva
d
e l
a P
ág
ina
P
rin
cip
al
(ve
r F
igu
ra
3.2
), y
el
sist
em
a
ob
tie
ne
un
a l
ista
de
d
ato
s d
e l
a r
esp
ect
iva
E
nti
da
d y
ve
rifi
ca s
i la
lis
ta n
o e
stá
va
cía
.
Si
la l
ista
no
est
á
vací
a e
l si
ste
ma
m
ue
stra
la
lis
ta d
e
da
tos
en
su
re
spe
ctiv
aP
ág
ina
de
Ma
ne
jo d
eD
ato
s co
n s
us
resp
ect
iva
s o
pci
on
es
com
o s
e p
ue
de
o
bse
rva
r e
n l
a F
igu
ra
3.4
.
Flu
jos
Alt
ern
ati
vo
s:
Lis
ta d
e d
ato
s v
ac
ía:
El
sist
em
a m
ue
stra
en
la P
ág
ina
de
Ma
ne
jo
de
Da
tos
un
me
nsa
je
qu
e d
ice
“N
o s
e
en
co
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
lis
tar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
e
rro
r y
se d
ire
ccio
na
ala
Pá
gin
a d
e M
an
ejo
d
e D
ato
s m
ost
ran
do
u
n m
en
saje
qu
e
info
rma
el
tip
o d
e
err
or
cap
tura
do
.
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
En
tid
ad
a
lma
cen
ad
as
en
la
b
ase
de
da
tos
Pa
ra i
ng
resa
r a
la
op
ció
n
Re
spe
ctiv
a e
l u
sua
rio
de
be
e
sta
r e
n s
esi
ón
, p
ara
est
a a
cció
n
ver
el
dia
gra
ma
d
e s
ecu
en
cia
d
el
caso
de
uso
"I
nic
iar
se
sió
n"
La
op
ció
n p
ue
de
se
r: C
ue
nta
s d
e U
sua
rio
, R
ole
s, C
lie
nte
s; d
e a
cue
rdo
a l
a o
pci
ón
se
lecc
ion
ad
a l
a E
nti
da
d p
ue
de
se
r: C
ue
nta
Usu
ari
o,
Ca
rgo
, C
lie
nte
re
spe
ctiv
am
en
te
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
tod
as
las
inst
an
cia
s d
e E
nti
da
d
alm
ace
na
da
s e
n l
a b
ase
de
da
tos
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e
"htt
p:/
/ric
hfa
ces.
org
/ric
h"
lla
ma
al
mé
tod
o
ge
tRe
sult
Lis
t y
mu
est
ra
la l
ista
de
in
sta
nci
as
de
E
nti
da
d
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
en
tid
ad
Lis
t.re
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
El
usu
ari
o
visu
ali
za l
a
list
a d
e
inst
an
cia
s d
e E
nti
da
d
en
un
a
tab
la
cli
c e
n l
a o
pció
n r
esp
ecti
va
()
vie
w()
En
tid
ad
Lis
t()
setE
jbq
l(E
JBQ
L)
ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
d> ge
tRe
sult
Lis
t()
:Lis
t<E
nti
da
d>
Exc
ep
tio
n()
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
nre
gis
tro
s")
Página | 171
Figura 3.82: (Diagrama de Secuencia del caso de uso “Manejar parámetros generales del sistema”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Da
tos
.XH
TM
LP
ág
ina
de
Cre
ació
n d
e D
ato
s
.PA
GE
.XM
L
Pá
gin
a d
e
Cre
ació
n d
e D
ato
s
.XH
TM
L
Ent
idad
En
tity
Ho
me
Ad
min
En
tity
Ho
me
En
tid
ad
Ho
me
Có
dig
o:
17
Cas
o d
e U
so:
Ma
ne
jar
pa
rám
etr
os
ge
ne
rale
s d
el
sist
em
a
Flu
jo B
ásic
o:
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Cre
ar”
de
la
Pá
gin
a
de
Ma
ne
jo d
e D
ato
s (v
er
Fig
ura
3.4
), y
el
sist
em
a
mu
est
ra l
a P
ág
ina
de
C
rea
ció
n d
e D
ato
s (v
er
Fig
ura
3.5
). E
l u
sua
rio
in
gre
sa c
ad
a d
ato
u c
am
po
, y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
e
xce
da
n e
l lí
mit
e d
e
cara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
d
ato
s, r
eg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Gu
ard
ar”
. S
i ca
da
da
to e
s co
rre
cto
el
sist
em
a
pe
rsis
te l
os
da
tos
u c
am
po
s e
n l
a r
esp
ect
iva
ta
bla
de
la
b
ase
de
da
tos
y se
d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Da
tos
mo
stra
nd
o
los
nu
evo
s d
ato
s e
n l
a l
ista
d
e d
ato
s, y
un
me
nsa
je q
ue
d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s cr
ea
do
s,
pa
ra l
o c
ua
l se
in
clu
ye l
os
ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
” y
“Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alte
rnat
ivo
s:D
ato
inco
rrec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l usu
ario
can
cela
la
crea
ció
n d
e u
n n
uev
o d
ato
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e D
ato
s m
ost
ran
do
la
lis
ta d
e d
ato
s.E
xcep
ció
n a
l gu
ard
ar
dat
os:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a
la
mis
ma
Pá
gin
a d
e
Cre
aci
ón
de
Da
tos
mo
stra
nd
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Cre
a u
na
nu
eva
in
sta
nci
a d
e E
nti
da
d
Gu
ard
a l
a i
nst
an
cia
de
E
nti
da
d e
n l
a b
ase
de
d
ato
s co
mo
un
re
gis
tro
Pa
ra i
ng
resa
r a
la
op
ció
n "
Gu
ard
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e d
ato
s e
n l
a r
esp
ect
iva
Pá
gin
a d
e M
an
ejo
de
Da
tos,
pa
ra e
sta
acc
ión
ver
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r
pa
rám
etr
os
ge
ne
rale
s d
el
sis
tem
a”
Re
torn
a u
n n
ue
vo i
d
pa
ra l
a E
nti
da
d
Mu
est
ra l
a i
nst
an
cia
de
E
nti
da
d c
rea
da
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a
el
tip
o d
e e
rro
r ca
ptu
rad
o m
ed
ian
te e
l co
mp
on
en
te
"ric
h:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
". T
en
er
pre
sen
te q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s
:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
alt n
avig
atio
n fr
om-a
ctio
n="#
{ent
idad
Hom
e.pe
rsis
t}"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]S
i e
xist
e a
lgú
n t
ipo
de
e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e E
nti
da
d
en
la
ba
se d
e d
ato
s, e
l si
ste
ma
lo
ca
ptu
ra y
m
ue
stra
un
me
nsa
je
qu
e i
nfo
rma
el
err
or
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s d
ato
s cr
ea
do
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
os
caso
s d
e u
so "
Filt
rar
reg
istr
os
lista
do
s",
"Ed
itar
reg
istr
o s
elec
cio
nad
o d
e u
na
lista
" y
"Elim
inar
reg
istr
o s
elec
cio
nad
o d
e u
na
lista
" re
spe
ctiv
am
en
te
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sEn
tid
ad
()se
tte
rsC
am
po
sEn
tid
ad
()se
tte
rsC
am
po
sEn
tid
ad
()se
tte
rsC
am
po
sEn
tid
ad
()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()
red
ire
ct()
ge
tCre
ate
dM
ess
ag
eK
ey(
) :S
trin
g
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 172
Figura 3.83: (Diagrama de Secuencia del caso de uso “Manejar Persona de Desarrollo”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Pe
rso
na
s d
e
De
sarr
oll
o .
XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
Pe
rso
na
s d
e
de
sarr
oll
o .
XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
Pe
rso
na
s d
e
de
sarr
oll
o
.PA
GE
.XM
L
Ca
rgo
Pe
rso
na
De
sa
rro
llo
Ca
rac
teri
sti
ca
Pe
rso
na
«e
nu
me
rati
on
»
Ca
ract
eri
stic
a
«e
nu
me
rati
on
»
Niv
elS
igm
a
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Pe
rso
na
D
esa
rro
llo
Ho
me
En
tity
Qu
ery
Ca
rgo
Lis
tN
ive
lSig
ma
Lis
tC
ara
cte
rist
ica
Lis
t
Có
dig
o:
18
Ca
so
de
Us
o:
Ma
ne
jar
Pe
rso
na
de
De
sarr
oll
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
Cre
ar”
de
la
Pá
gin
a
de
Ma
ne
jo d
e P
ers
on
as
de
D
esa
rro
llo
, y
el
sist
em
a s
e
dir
ecc
ion
a a
la
Pá
gin
a d
e
Cre
aci
ón
de
Pe
rso
na
de
D
esa
rro
llo
mo
stra
nd
o u
na
li
sta
de
sple
ga
ble
de
Ca
rgo
s,
un
a l
ista
ch
eck
list
de
C
ara
cte
ríst
ica
s, y
el
rest
o d
e
cam
po
s co
mo
se
mu
est
ra e
n
la F
igu
ra 3
.12
. E
l u
sua
rio
in
gre
sa l
os
cam
po
s so
lici
tad
os
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o e
xce
da
n e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s, o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s, r
eg
las
de
n
eg
oci
o).
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Gu
ard
ar”
. S
i lo
s
cam
po
s so
n c
orr
ect
os
el
sist
em
a p
ers
iste
lo
s d
ato
s u
ca
mp
os
en
la
s re
spe
ctiv
as
tab
las
de
la
ba
se d
e d
ato
s y
se d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Pe
rso
na
s d
e
De
sarr
oll
o m
ost
ran
do
lo
s n
ue
vos
da
tos
en
la
lis
ta d
e
Pe
rso
na
s d
e D
esa
rro
llo
, y
un
m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s P
ers
on
as
de
D
esa
rro
llo
cre
ad
as,
pa
ra l
o
cua
l se
in
clu
ye l
os
caso
s d
e
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
,
“Ed
ita
r re
gis
tro
se
leccio
na
do
de
un
a l
ista
” y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
resp
ecti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
tos
in
co
rre
cto
s:
El
sist
em
a m
ue
stra
al
lad
o d
el
da
to i
nco
rre
cto
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a
cre
ac
ión
de
un
a N
ue
va
P
ers
on
a d
e D
es
arr
oll
o:
El
sist
em
a s
e d
ire
ccio
na
a l
a
Pá
gin
a d
e M
an
ejo
de
P
ers
on
as
de
De
sarr
oll
o
mo
stra
nd
o l
a l
ista
de
P
ers
on
as
de
De
sarr
oll
o.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y se
dir
ecc
ion
a
a l
a m
ism
a P
ág
ina
de
C
rea
ció
n d
e P
ers
on
a d
e
De
sarr
oll
o m
ost
ran
do
un
m
en
saje
qu
e i
nfo
rma
el
tip
o
de
err
or
cap
tura
do
.
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
la
E
nti
da
d C
arg
o
alm
ace
na
da
s e
n l
a
ba
se d
e d
ato
s
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
Niv
elS
igm
a
Cre
a u
na
nu
eva
in
sta
nci
a d
e l
a E
nti
da
d
Pe
rso
na
De
sarr
oll
o
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
Ca
ract
eri
stic
a
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
C
ara
cte
rist
ica
aso
cia
do
s a
la
Pe
rso
na
de
D
esa
rro
llo
po
r m
ed
io d
e l
a E
nti
da
d
Ca
ract
eri
stic
aP
ers
on
a,
est
a l
ista
co
nte
nd
rá l
as
cara
cte
ríst
ica
s a
sig
na
da
s p
or
el
usu
ari
o
Fij
a l
as
Ca
rate
ríst
ica
s se
lecc
ion
ad
as
po
r e
l u
sua
rio
El
mé
tod
o "
ad
dC
ara
cte
rist
ica
sPe
rso
na
()"
ag
reg
a o
re
mu
eve
in
sta
nci
as
de
Ca
ract
eri
stic
aP
ers
on
a,
a l
a l
ista
de
in
sta
nci
as
de
C
ara
cte
rist
ica
Pe
rso
na
(fi
jad
as
las
resp
ect
iva
s C
ara
cte
ríst
ica
s a
sig
na
da
s p
or
el
usu
ari
o)
aso
cia
da
a l
a P
ers
on
ad
a d
e D
esa
rro
llo
Gu
ard
a l
a i
nst
an
cia
de
P
ers
on
aD
esa
rro
llo
en
la
ba
se d
e d
ato
s co
mo
u
n r
eg
istr
o,
ad
em
ás
gu
ard
a o
eli
min
a l
as
inst
an
cia
s d
e
Ca
ract
eri
stic
aP
ers
on
a
asi
gn
ad
as
a l
a P
ers
on
a
de
De
sarr
oll
o
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e P
ers
on
as
de
D
esa
rro
llo
en
la
Pá
gin
a d
e M
an
ejo
de
Pe
rso
na
s d
e D
esa
rro
llo
, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
elc
aso
de
uso
“L
ista
r p
ará
me
tro
s g
en
era
les
de
l s
iste
ma
”F
ija
la
se
nte
nci
a
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
C
arg
o a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
Re
torn
a u
n n
ue
vo
id p
ara
P
ers
on
aD
esa
rro
llo
Mu
est
ra l
a i
nst
an
cia
de
P
ers
on
aD
esa
rro
llo
cr
ea
da
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"r
ich
:me
ssa
ge
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
qu
e c
ad
a c
am
po
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te
"s:v
ali
da
teA
ll"
de
"h
ttp
://j
bo
ss.c
om
/pro
du
cts/
sea
m/t
ag
lib
"
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s P
ers
on
as
de
De
sarr
oll
o c
rea
da
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
os
caso
s d
e u
so "
Fil
tra
r re
gis
tro
s l
ista
do
s",
"E
dit
ar
reg
istr
o
se
lec
cio
na
do
de
un
a l
ista
" y
"Eli
min
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
lis
ta"
resp
ect
iva
me
nte
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e P
ers
on
aD
esa
rro
llo
e
n l
a b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y m
ue
stra
un
me
nsa
je q
ue
in
form
a e
l e
rro
r
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{en
tid
ad
Ho
me
.pe
rsis
t}"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
Ca
rgo
Lis
t()
setE
jbq
l(E
JBQ
L)
ge
tRe
sult
Lis
t()
:Lis
t<C
arg
o>
ge
tRe
sult
Lis
t()
:Lis
t<C
arg
o>
ge
tRe
sult
Lis
t()
:Lis
t<N
ive
lSig
ma
>
ge
tRe
sult
Lis
t()
:Lis
t<C
ara
cte
rist
ica
>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()
ge
tIn
sta
nce
()g
etI
nst
an
ce()
cre
ate
Inst
an
ce()
ge
tAss
ign
ed
Ca
ract
eri
stic
as(
) :L
ist<
Ca
ract
eri
stic
a>
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sPe
rso
na
De
sarr
oll
o()
sett
ers
Ca
mp
osP
ers
on
aD
esa
rro
llo
()se
tte
rsC
am
po
sPe
rso
na
De
sarr
oll
o()
sett
ers
Ca
mp
osP
ers
on
aD
esa
rro
llo
()
setA
ssig
ne
dC
ara
cte
rist
ica
s(L
ist<
Ca
ract
eri
stic
a>
)
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
ad
dC
ara
cte
rist
ica
sPe
rso
na
()p
ers
ist(
) :S
trin
gp
ers
ist(
) :S
trin
g
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 173
Usuario
(from Actores)
Página de Manejo
de Proyectos .XHTML
Página de
Administración de
Proyectos .XHTML
Página de
Información del
Proyecto .XHTML
ProyectoEntityHomeAdminEntityHomeProyectoHome SessionContextVarfaces-config .XML
Código: 19Caso de Uso: Actualizar datos adicionales al Proyecto
Flujo Básico:El usuario da clic en laopción “Administrar”
de la l ista de Proyectos en la Página de Manejo de Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8. El usuario ingresa al enlace “Información
del Proyecto”, y el
sistema obtiene los datos del Proyecto seleccionado y muestra estos en la Página de Informacióndel Proyecto como se observa en la Figura 3.13.
El usuario edita los datos u campos solicitados en la Página de Informacióndel Proyecto, y el sistema valida que los datos sean correctos (no excedan el límite de caracteres permitidos, obligatoriedad, tipo dedatos, reglas de negocio). El usuario da clic en la opción “Guardar”. Si los datos
son correctos el sistema actualiza los datos u campos en la respectiva tabla de la base de datos y se direcciona a la misma Página de Informacióndel Proyecto mostrando los datos actualizados, y un mensaje que dice “Actualización
exitosa”.
Flujos Alternativ os:Datos incorrectos: El sistema muestra al lado del dato incorrecto un mensaje que informa el tipo de error.Excepción al mostrar información del Proyecto: El sistema captura el tipo de error y muestra este en la Página de Informacióndel Proyecto.Excepción al actualizar los datos adicionales al Proyecto: El sistema captura el tipo de error y se direcciona a la Página de Informacióndel Proyecto mostrando un mensaje que informa el tipo de error capturado.
Obtiene una instancia de Proyecto correspondiente al id del Proyecto en sesión
Valida que la fecha de recepción sea <= a la fecha actual
Valida que la fecha de inicio sea >= a la fecha de recepción
Valida que la fecha efectiva sea >= a la fecha de inicio
Valida que la fecha fin preliminar sea >= a la fecha efectiva
Valida que la fecha fin real sea >= a la fecha fin preliminar
Actualiza los datos del Proyecto en la base de datos
Fija el Proyecto seleccionado en la clase SessionContextVar mediante el componente "f:setPropertyActionListener" de "http://java.sun.com/jsf/core"
Para ingresar a la opción "Administrar" el usuario debe estar viendo la l ista de Proyectos en la Página de Manejo de Proyectos, para esta acción ver el diagrama de secuencia del caso de uso “Listar datos iniciales de Proyectos”
Muestra al usuario el nombre del Proyecto en sesión fi jada en la clase SessionContextVar, además se muestra las respectivas opciones asociadas a un Proyecto
Fija el id del Proyecto en sesión
Muestra la instancia de Proyecto
Muestra al lado del campo incorrecto un mensaje que informa el tipo de error capturado mediante el componente "<rich:message>" de "http://richfaces.org/rich". Tener en cuenta que las validaciones de cada campo son invocadas mediante el componente "<f:validator>" de "http://java.sun.com/jsf/core"
clic en la opción Administrar()
setProyecto(Proyecto)
view()getProyecto() :Proyecto
clic en el enlace Información del Proyecto()
setProyectoId(Long)
view()getId() :Object
getId() :Object getId() :Object
getInstance()
getInstance()
getInstance()
ingresa campos()setDirector(String)
setDirector(String) setDirector(String)setDirector(String)
setLider(String)setLider(String) setLider(String)
setLider(String)
setFechaRecepcion(Date)setFechaRecepcion(Date)
setFechaRecepcion(Date)
setFechaRecepcion(Date)validatorFechaRecepcion()
setFechaInicio(Date)setFechaInicio(Date)
setFechaInicio(Date)
setFechaInicio(Date)validatorFechaInicio()
setFechaEfectiva(Date)setFechaEfectiva(Date)
setFechaEfectiva(Date)
setFechaEfectiva(Date)validatorFechaEfectiva()
getFechaFinPreliminar(Date)
getFechaFinPreliminar(Date)
getFechaFinPreliminar(Date)
getFechaFinPreliminar(Date)validatorFechaFinPreliminar()
setFechaFinReal(Date)setFechaFinReal(Date)
setFechaFinReal(Date)
setFechaFinReal(Date)validatorFechaFinReal()
renderedMessagesValidation()
cll ic en la opción Guardar()update() :String
update() :Stringupdate() :String
getUpdatedMessageKey()
showGlobalMessages()
Exception()
Figura 3.84: (Diagrama de Secuencia del caso de uso “Actualizar datos
adicionales al Proyecto”)
Página | 174
Figura 3.85: (Diagrama de Secuencia del caso de uso “Conformar Equipo de Desarrollo”)
Pro
yec
toP
ers
on
aD
es
arr
oll
oA
sig
na
cio
nP
ers
on
aD
es
arr
oll
o
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o .
XH
TM
L
Pá
gin
a d
e M
an
ejo
de
l E
qu
ipo
de
D
esa
rro
llo
.X
HT
ML
Usu
ari
o
(fro
m A
cto
res)
Pro
yect
oH
om
eS
ess
ion
Co
nte
xtV
ar
Ad
min
En
tity
Ho
me
En
tity
Ho
me
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o
.PA
GE
..X
ML
Có
dig
o:
20
Ca
so
de
Us
o:
Co
nfo
rma
r E
qu
ipo
de
D
esa
rro
llo
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
on
form
ar
Eq
uip
o”
de
la
Pá
gin
a d
e
Ma
ne
jo d
el
Eq
uip
o d
e D
esa
rro
llo
(ve
r F
igu
ra 3
.9),
y e
l si
ste
ma
ob
tie
ne
la
li
sta
de
Pe
rso
na
s d
e D
esa
rro
llo
a
sig
na
da
s a
l E
qu
ipo
de
De
sarr
oll
o d
el
Pro
yect
o s
ele
ccio
na
do
, y
veri
fica
si
la
list
a e
stá
va
cía
. S
i la
lis
ta n
o e
stá
va
cía
el
sist
em
a m
ue
stra
la
lis
ta e
n l
a
Pá
gin
a d
e C
on
form
aci
ón
de
l E
qu
ipo
d
e D
esa
rro
llo
co
n s
us
resp
ect
iva
s o
pci
on
es
com
o s
e o
bse
rva
en
la
F
igu
ra 3
.10
. E
l u
sua
rio
pu
ed
e a
gre
ga
r o
qu
ita
r in
teg
ran
tes
(Pe
rso
na
s d
e
De
sarr
oll
o)
al
Eq
uip
o d
e D
esa
rro
llo
p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
u
so “
Asi
gn
ar
Pe
rso
na
s d
e D
esa
rro
llo
al
Pro
ye
cto
” y “
Qu
ita
r ít
em
de
un
a l
ista
de
da
tos”
re
spe
cti
va
me
nte
.
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
y e
l si
ste
ma
pe
rsis
te e
l
Pro
yect
o s
ele
ccio
na
do
co
n s
u
resp
ect
iva
lis
ta d
e i
nte
gra
nte
s d
el
Eq
uip
o d
e D
esa
rro
llo
en
la
s re
spe
ctiv
as
tab
las
de
la
ba
se d
e d
ato
s,
y se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
de
l E
qu
ipo
de
De
sarr
oll
o m
ost
ran
do
la
li
sta
de
in
teg
ran
tes
de
l E
qu
ipo
de
D
esa
rro
llo
aso
cia
da
al
Pro
yect
o
sele
ccio
na
do
, y
un
me
nsa
je q
ue
dic
e
“Gra
ba
ció
n e
xit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r y
eli
min
ar
Pe
rso
na
s d
e
De
sarr
oll
o d
el
Eq
uip
o d
e D
esa
rro
llo
co
nfo
rma
do
, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
La
li
sta
de
in
teg
ran
tes
de
l E
qu
ipo
de
De
sa
rro
llo
es
tá v
ac
ía:
El
sist
em
a
mu
est
ra e
n l
a P
ág
ina
de
C
on
form
aci
ón
de
l E
qu
ipo
de
D
esa
rro
llo
un
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
El
us
ua
rio
ca
nc
ela
la
co
nfo
rma
ció
n
de
l E
qu
ipo
de
De
sa
rro
llo
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
d
el
Eq
uip
o d
e D
esa
rro
llo
mo
stra
nd
o l
a
list
a d
e i
nte
gra
nte
s d
el
Eq
uip
o d
e
De
sarr
oll
o a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o.
Ex
ce
pc
ión
al
gu
ard
ar
el
Eq
uip
o d
e
De
sa
rro
llo
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a
Pá
gin
a d
e C
on
form
aci
ón
de
l E
qu
ipo
d
e D
esa
rro
llo
mo
stra
nd
o u
n m
en
saje
q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Fij
a e
l id
de
l P
roye
cto
en
se
sió
n,
me
dia
nte
el
com
po
ne
nte
"f:
pa
ram
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
" q
ue
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te "
s:b
utt
on
" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b".
Te
ne
r e
n c
ue
nta
qu
e e
l a
trib
uto
"p
roye
cto
Id"
se e
ncu
en
tra
pre
ced
ida
de
la
an
ota
ció
n @
Re
qu
est
Pa
ram
ete
r d
e S
ea
m
Ob
tie
ne
un
a i
nst
an
cia
d
e P
roye
cto
a
lma
cen
ad
a e
n l
a
ba
se d
e d
ato
s co
rre
spo
nd
ien
te a
l a
trib
uto
"p
roye
cto
Id"
Gu
ard
a l
a i
nst
an
cia
de
Pro
yect
o c
on
su
re
spe
ctiv
a l
ista
de
A
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o e
n l
a b
ase
de
da
tos
Pa
ra i
ng
resa
r a
la
op
ció
n "
Co
nfo
rma
r E
qu
ipo
" e
l u
sua
rio
de
be
est
ar
vie
nd
o l
a l
ista
de
Pe
rso
na
s d
e D
esa
rro
llo
asi
gn
ad
as
al
Pro
yect
o s
ele
ccio
na
do
, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h"
lla
ma
a
l m
éto
do
"g
etA
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o"
y m
ue
stra
la
lis
ta d
e i
nst
an
cia
s d
e
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o a
soci
ad
a a
la
in
sta
nci
a d
e P
roye
cto
ob
ten
ida
Mu
est
ra e
n u
n t
ab
la l
a
list
a d
e i
nst
an
cia
s d
e
Asi
gn
aci
on
Pe
rso
na
De
sa
rro
llo
aso
cia
da
al
Pro
yect
o e
n s
esi
ón
El
usu
ari
o p
ue
de
ag
reg
ar
o q
uit
ar
inte
gra
nte
s (P
ers
on
as
de
De
sarr
oll
o)
al
Eq
uip
o d
e D
esa
rro
llo
pa
ra l
o c
ua
l ve
r lo
s d
iag
ram
as
de
se
cue
nci
a
de
lo
s ca
sos
de
uso
“A
sig
na
r P
ers
on
a d
e D
es
arr
oll
o a
l P
roye
cto
” y
“Q
uit
ar
íte
m d
e u
na
lis
ta d
e d
ato
s” r
esp
ect
iva
me
nte
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{pro
yec
toH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e P
roye
cto
co
n s
u
resp
ect
iva
lis
ta d
e A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
en
la
ba
se d
e d
ato
s, e
l si
ste
ma
lo
ca
ptu
ra y
mu
est
ra u
n m
en
saje
qu
e i
nfo
rma
el
err
or
El
usu
ari
o p
ue
de
bu
sca
r, y
eli
min
ar
Pe
rso
na
s d
e D
esa
rro
llo
de
l E
qu
ipo
co
nfo
rma
do
, p
ara
lo
cu
al
ver
los
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
"F
iltr
ar
reg
istr
os
lis
tad
os
", y
"E
lim
ina
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
" r
esp
ect
iva
me
nte
cli
c e
n l
a o
pció
n C
on
form
ar
Eq
uip
o()
ge
tPro
yect
o()
:P
roye
cto
setP
roye
cto
Id(p
roye
cto
Id)
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
ag
reg
a P
ers
on
a d
e D
esa
rro
llo
()
qu
ita
Pe
rso
na
de
De
sarr
oll
o()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
:Str
ing
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 175
Figura 3.86: (Diagrama de Secuencia del caso de uso “Asignar Personas de
Desarrollo al Proyecto”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o .
XH
TM
L
Pá
gin
a d
e
Se
lecció
n d
e
Pe
rso
na
de
D
esa
rro
llo
.X
HT
ML
Pá
gin
a d
e
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o
PA
GE
.XM
L
Pro
yect
oH
om
eP
ers
on
aD
esa
rro
llo
Lis
tE
nti
tyQ
ue
ryP
ers
on
aD
es
arr
oll
oP
roye
cto
As
ign
ac
ion
Pe
rso
na
De
sa
rro
llo
Có
dig
o:
21
Ca
so
de
Us
o:
Asi
gn
ar
Pe
rso
na
s d
e D
esa
rro
llo
al
Pro
yect
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“A
gre
ga
r” d
e l
a P
ág
ina
de
Co
nfo
rma
ció
n d
el
Eq
uip
o d
e
De
sarr
oll
o (
ver
Fig
ura
3.1
0),
y e
l si
ste
ma
ob
tie
ne
un
a l
ista
de
P
ers
on
as
de
De
sarr
oll
o q
ue
no
e
stá
n e
n l
a l
ista
de
Asi
gn
aci
on
es
de
Pe
rso
na
s d
e D
esa
rro
llo
, lu
eg
o e
l si
ste
ma
ve
rifi
ca s
i e
sta
li
sta
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m.
Si
est
a l
ista
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m e
l si
ste
ma
mu
est
ra e
sto
s ít
em
s co
n
sus
resp
ect
iva
s o
pci
on
es
en
la
P
ág
ina
de
Se
lecc
ión
de
P
ers
on
as
de
De
sarr
oll
o c
om
o s
e
ob
serv
a e
n l
a F
igu
ra 3
.11
. E
l u
sua
rio
pu
ed
e b
usc
ar
un
a
Pe
rso
na
de
De
sarr
oll
o a
nte
s d
e
sele
ccio
na
rla
, p
ara
lo
cu
al
se
inclu
ye
el
ca
so d
e u
so “
Fil
tra
r
reg
istr
os
list
ad
os”
.
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Se
leccio
na
r” d
e l
a l
ista
de
Pe
rso
na
s d
e D
esa
rro
llo
y e
l si
ste
ma
ag
reg
a l
a r
esp
ect
iva
P
ers
on
a d
e D
esa
rro
llo
se
lecc
ion
ad
a a
la
lis
ta d
e
Asi
gn
aci
on
es
de
Pe
rso
na
s d
e
De
sarr
oll
o a
soci
ad
a a
l P
roye
cto
se
lecc
ion
ad
o,
ad
em
ás
el
sist
em
a a
ctu
ali
za l
a l
ista
de
P
ers
on
as
de
De
sarr
oll
o q
uit
an
do
(o
cult
an
do
) la
Pe
rso
na
de
D
esa
rro
llo
se
lecc
ion
ad
a.
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Lis
to”
de
la
Pá
gin
a d
e
Se
lecc
ión
de
Pe
rso
na
s d
e
De
sarr
oll
o y
el
sist
em
a o
bti
en
e
la l
ista
act
ua
l d
e A
sig
na
cio
ne
s d
e P
ers
on
as
de
De
sarr
oll
o
aso
cia
da
al
Pro
yect
o
sele
ccio
na
do
y m
ue
stra
est
a l
ista
en
la
Pá
gin
a d
e C
on
form
aci
ón
d
el
Eq
uip
o d
e D
esa
rro
llo
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e P
ers
on
as
de
D
es
arr
oll
o n
o a
sig
na
da
s e
stá
v
ac
ía:
El
sist
em
a m
ue
stra
en
la
P
ág
ina
de
Se
lecc
ión
de
P
ers
on
as
de
De
sarr
oll
o u
n
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
Ex
ce
pc
ión
al
ag
reg
ar
un
a
Pe
rso
na
de
De
sa
rro
llo
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
ein
form
a e
ste
err
or
con
un
m
en
saje
en
la
Pá
gin
a d
e
Se
lecc
ión
de
Pe
rso
na
s d
e
De
sarr
oll
o.
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
P
ers
on
aD
esa
rro
llo
alm
ace
na
da
s e
n l
a b
ase
de
d
ato
s, q
ue
no
est
án
en
la
lis
ta d
e P
ers
on
as
de
D
esa
rro
llo
asi
gn
ad
as
Ag
reg
a u
na
in
sta
nci
a d
e
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o c
on
la
P
ers
on
a d
e D
esa
rro
llo
se
lecc
ion
ad
a,
a l
a
list
a d
e A
sig
na
cio
ne
s d
e P
ers
on
as
de
D
esa
rro
llo
aso
cia
da
al
Pro
yect
o e
n s
esi
ón
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e c
on
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta
qu
e e
l fi
ltro
de
bú
squ
ed
a e
s la
lis
ta d
e P
ers
on
as
de
De
sarr
oll
o a
sig
na
da
s. T
en
er
en
cu
en
ta q
ue
la
va
ria
ble
"p
ers
on
asD
esa
rro
llo
Asi
gn
ad
as"
de
tip
o "
Lis
t" d
e l
a c
lase
"P
ers
on
aD
esa
rro
llo
Lis
t" s
e e
ncu
en
tra
pre
ced
ida
po
r la
an
ota
ció
n @
In d
e S
ea
m
Fij
a l
a l
ista
de
Pe
rso
na
s d
e D
esa
rro
llo
asi
gn
ad
as
al
Pro
yect
o e
n s
esi
ón
, m
ed
ian
te l
as
asi
gn
aci
on
es
de
Pe
rso
na
sd
e D
esa
rro
llo
aso
cia
da
s a
l P
roye
cto
. T
en
er
en
cu
en
ta q
ue
la
va
ria
ble
"p
ers
on
asD
esa
rro
llo
Asi
gn
ad
as"
de
tip
o
"Lis
t" e
s p
art
e d
e l
a c
lase
"P
roye
cto
Ho
me
", y
se
en
cue
ntr
a p
rece
did
a p
or
la a
no
taci
ón
@O
ut
de
Se
am
. E
l m
éto
do
"se
tPe
rso
na
sDe
sarr
oll
oA
sig
na
da
s" e
s ll
am
ad
o m
ed
ian
te e
l a
trib
uto
"e
xecu
te"
de
la
eti
qu
eta
"a
ctio
n"
de
la
pá
gin
a c
on
ext
en
sió
n "
.pa
ge
.xm
l"
Te
ne
r p
rese
nte
qu
e e
l a
trib
uti
"a
ctio
n"
de
l co
mp
on
en
te "
a4
j:co
mm
an
dB
utt
on
" d
e
"htt
p:/
/ric
hfa
ces.
org
/a4
j" l
lam
a a
l m
éto
do
"a
dd
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o",
y a
ctu
ali
za l
a
list
a d
e i
nst
an
cia
s d
e P
ers
on
aD
esa
rro
llo
, q
uit
an
do
la
P
ers
on
a d
e D
esa
rro
llo
se
lecc
ion
ad
a,
me
dia
nte
el
atr
ibu
to "
reR
en
de
r"
Ob
tie
ne
la
lis
ta a
ctu
al
de
in
sta
nci
as
de
A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
a
soci
ad
a a
l P
roye
cto
en
se
sió
n
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
Pe
rso
na
De
sarr
oll
o
alm
ace
na
da
s e
n l
a b
ase
de
da
tos
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
rich
:da
taT
ab
le"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
t y
mu
est
ra l
a l
ista
de
in
sta
nci
as
de
En
tid
ad
Aso
cia
da
Pro
yect
o
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
ge
tRe
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
El
usu
ari
o v
isu
ali
za l
a
list
a d
e i
nst
an
cia
s d
e
Pe
rso
na
De
sarr
oll
o e
n
un
a t
ab
la
El
sist
em
a c
ap
tura
la
exc
ep
ció
n a
l e
jecu
tar
el
mé
tod
o
"ad
dA
sig
na
cio
nP
ers
on
aD
esa
rro
llo
"
Incl
uir
el
"alt
me
nsa
jes"
cli
c e
n l
a o
pció
n A
gre
ga
r()
setP
ers
on
asD
esa
rro
llo
Asi
gn
ad
as(
)
setP
ers
on
asD
esa
rro
llo
Asi
gn
ad
as(
)
vie
w()
Pe
rso
na
De
sarr
oll
oL
ist(
)se
tEjb
ql(
EJB
QL
)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tPe
rso
na
sDe
sarr
oll
oA
sig
na
da
s()
:L
ist<
Pe
rso
na
De
sarr
oll
o>
ge
tRe
sult
Lis
t()
:Lis
t<P
ers
on
aD
esa
rro
llo
>
ge
tRe
sult
Lis
t()
:Lis
t<P
ers
on
aD
esa
rro
llo
>
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
nre
gis
tro
s")
cli
c e
n l
a o
pció
n S
ele
ccio
na
r()
ad
dA
sig
na
cio
nP
ers
on
aD
esa
rro
llo
(pe
rso
na
De
sarr
oll
o)
Exc
ep
tio
n()
pri
ntS
tack
Tra
ce()
reR
en
de
rLis
t()
ge
tRe
sult
Lis
t()
:Lis
t<P
ers
on
aD
esa
rro
llo
>g
etR
esu
ltL
ist(
) :L
ist<
Pe
rso
na
De
sarr
oll
o>
cli
c e
n l
a o
pció
n L
isto
()
vie
w()
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
ge
tAsi
gn
aci
on
esP
ers
on
aD
esa
rro
llo
() :
Lis
t<A
sig
na
cio
nP
ers
on
aD
esa
rro
llo
>
Página | 176
Figura 3.87: (Diagrama de Secuencia del caso de uso “Realizar Análisis de Metas
del Proyecto”)
Usu
ari
o
(fro
m A
cto
res)
Me
taA
na
lis
isM
eta
Pá
gin
a d
e M
an
ejo
de
Me
tas
.XH
TM
LP
ág
ina
de
Cre
ació
n d
e M
eta
.XH
TM
L
En
tity
Ho
me
Ad
min
En
tity
Ho
me
Me
taH
om
eP
ág
ina
de
Cre
ació
n d
e M
eta
.PA
GE
.XM
L
«e
nu
me
rati
o..
.
Ca
ract
eri
stic
aM
eta
Có
dig
o:
22
Ca
so
de
Us
o:
Re
ali
zar
An
áli
sis
de
M
eta
s d
el
Pro
yect
o
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n o
pció
n “
Cre
ar”
de
la
Pá
gin
a d
e M
an
ejo
de
Me
tas,
y
el
sist
em
a s
e d
ire
ccio
na
a l
a
Pá
gin
a d
e C
rea
ció
n d
e M
eta
m
ost
ran
do
un
a l
ista
de
An
áli
sis
de
M
eta
in
icia
liza
da
co
n u
na
lis
ta d
e
Ca
ract
erí
stic
as
(íte
ms
de
ca
ract
erí
stic
as:
Esp
ecí
fica
, M
esu
rab
le,
Alc
an
zab
le,
Re
leva
nte
), c
om
o s
e o
bse
rva
en
la
fi
gu
ra 3
.14
. E
l u
sua
rio
in
gre
sa
cad
a c
am
po
, y
el
sist
em
a v
ali
da
si
est
e s
ea
co
rre
cto
(n
o e
xce
da
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s,
reg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
ca
mp
o e
s
corr
ect
o,
el
sist
em
a p
ers
iste
la
M
eta
co
n s
u l
ista
de
An
áli
sis
en
la
s re
spe
ctiv
as
tab
las
de
la
ba
se d
e
da
tos,
y s
e d
ire
ccio
na
a l
a P
ág
ina
d
e M
an
ejo
de
Me
tas
mo
stra
nd
o l
a
nu
eva
Me
ta e
n l
a l
ista
de
Me
tas
aso
cia
da
a u
n P
roye
cto
se
lecc
ion
ad
o,
y u
n m
en
saje
qu
e
dic
e “
Gra
ba
ció
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y
eli
min
ar
las
Me
tas
cre
ad
as
con
su
re
spe
ctiv
o A
ná
lisi
s, p
ara
lo
cu
al
se
inclu
ye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”, y
“Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
u c
am
po
in
corr
ect
o u
n m
en
saje
qu
e i
nfo
rma
e
l ti
po
de
err
or.
El
us
ua
rio
ca
nc
ela
la
cre
ac
ión
de
un
a n
ue
va
Me
ta:
El
sist
em
a s
e
dir
ecc
ion
a a
la
Pá
gin
a d
e M
an
ejo
d
e M
eta
s m
ost
ran
do
la
lis
ta d
e
Me
tas
aso
cia
da
al
Pro
yect
o
sele
ccio
na
do
.E
xc
ep
ció
n a
l g
ua
rda
r d
ato
s:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
d
e C
rea
ció
n d
e M
eta
mo
stra
nd
o
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
e
rro
r ca
ptu
rad
o.
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e M
eta
s a
soci
ad
as
al
Pro
yect
o s
ele
ccio
na
do
, co
n
su r
esp
ect
ivo
An
áli
sis
de
Me
tas,
pa
ra e
sta
acc
ión
ve
r e
l d
iag
ram
a d
e s
ecu
en
cia
de
l ca
so d
e u
so “
Lis
tar
da
tos
as
oc
iad
os
a u
n P
roye
cto
”
Re
torn
a u
n n
ue
vo i
d p
ara
Me
ta
Cre
a u
na
nu
eva
in
sta
nci
a d
e M
eta
, y
se
inic
iali
za l
a l
ista
de
A
ná
lisi
s co
n l
a l
ista
de
va
lore
s d
el
En
um
era
do
C
ara
cte
rist
ica
Me
ta,
me
dia
nte
el
con
stru
cto
rd
e M
eta
Mu
est
ra l
a
inst
an
cia
cre
ad
a
de
Me
ta c
on
su
re
spe
ctiv
a l
ista
d
e A
ná
lisi
s
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"ric
h:d
ata
Ta
ble
" d
e
"htt
p:/
/ric
hfa
ces.
org
/ric
h"
lla
ma
al
mé
tod
o
"ge
tAn
ali
sisM
eta
" y
mu
est
ra l
a l
ista
de
in
sta
nci
as
de
A
na
lisi
sMe
ta d
e l
a
Me
ta c
rea
da
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"r
ich
:me
ssa
ge
" d
e "
htt
p:/
/ric
hfa
ces.
org
/ric
h".
Te
ne
r p
rese
nte
q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s
:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
Gu
ard
a l
a i
nst
an
cia
de
Me
ta c
on
su
re
spe
ctiv
a
list
a d
e A
ná
lisi
s e
n l
a b
ase
de
da
tos
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a
de
Me
ta c
on
su
re
spe
ctiv
a l
ista
de
An
áli
sis
en
la
b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y m
ue
stra
un
m
en
saje
qu
e i
nfo
rma
el
err
or
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{me
taH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s M
eta
s cr
ea
da
s co
n s
u r
esp
ect
ivo
An
áli
sis,
pa
ra l
o c
ua
l ve
r lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
os
caso
s d
e u
so “
Fil
tra
r re
gis
tro
s l
ista
do
s”,
“E
dit
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
lis
ta”,
y “E
lim
ina
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
” r
esp
ect
iva
me
nte
.
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
Me
ta()
ge
tAn
ali
sisM
eta
() :
Lis
t<A
na
lisi
sMe
ta>
ge
tAn
ali
sisM
eta
() :
Lis
t<A
na
lisi
sMe
ta>
ge
tAn
ali
sisM
eta
() :
Lis
t<A
na
lisi
sMe
ta>
ge
tAn
ali
sisM
eta
() :
Lis
t<A
na
lisi
sMe
ta>
ing
resa
r ca
mp
os(
)se
tte
rsC
am
po
s()
sett
ers
Ca
mp
os(
)se
tte
rsC
am
po
s()
sett
ers
Ca
mp
os(
)
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
:Str
ing
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 177
Figura 3.88: (Diagrama de Secuencia del caso de uso “Manejar Actividad por Proceso”)
Usu
ari
o
(fro
m A
cto
res)
Pa
gin
a d
e M
an
ejo
d
e A
ctiv
ida
de
s .X
HT
ML
Pá
gin
a d
e
Cre
ació
n d
e
Act
ivid
ad
.X
HT
ML
Pá
gin
a d
e
Cre
ació
n d
e
Act
ivid
ad
.P
AG
E.X
ML
Ac
tiv
ida
dP
roc
es
oN
eg
oc
ioP
roye
cto
Ad
min
En
tity
Ho
me
En
tity
Ho
me
En
tity
Qu
ery
Act
ivid
ad
Ho
me
Pro
ceso
Ne
go
cio
Lis
t
Có
dig
o:
24
Ca
so
de
Us
o:
Ma
ne
jar
Act
ivid
ad
po
r P
roce
so
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo
de
Act
ivid
ad
es,
y e
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
C
rea
ció
n d
e A
ctiv
ida
d
mo
stra
nd
o u
na
lis
ta
de
sple
ga
ble
de
Pro
ceso
s a
soci
ad
os
al
Pro
yect
o
sele
ccio
na
do
, ju
nto
a s
us
resp
ect
ivo
s ca
mp
os.
El
usu
ari
o
ing
resa
ca
da
da
to u
ca
mp
o y
a
soci
a l
a a
ctiv
ida
d a
un
P
roce
so s
ele
ccio
na
nd
o u
n
Pro
ceso
de
la
lis
ta d
esp
leg
ab
le,
y e
l si
ste
ma
va
lid
a q
ue
lo
s d
ato
s se
an
co
rre
cto
s (n
o
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s
corr
ect
o e
l si
ste
ma
pe
rsis
te l
a
Act
ivid
ad
en
la
re
spe
ctiv
a t
ab
la
de
la
ba
se d
e d
ato
s y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e A
ctiv
ida
de
s m
ost
ran
do
la
nu
eva
Act
ivid
ad
e
n l
a l
ista
de
Act
ivid
ad
es,
y u
n
me
nsa
je q
ue
dic
e “
Gra
ba
ció
n
exit
osa
”. E
l u
sua
rio
pu
ed
e
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s A
ctiv
ida
de
s cr
ea
da
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s ca
sos
de
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
, “E
dit
ar
reg
istr
o s
ele
ccio
na
do
de
un
a
list
a”
y “
Eli
min
ar
reg
istr
o
sele
ccio
na
do
de
un
a l
ista
”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
nd
e u
na
nu
ev
a A
cti
vid
ad
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
P
ág
ina
de
Ma
ne
jo d
e
Act
ivid
ad
es
mo
stra
nd
o l
a l
ista
d
e A
ctiv
ida
de
s.E
xc
ep
ció
n a
l g
ua
rda
r u
na
A
cti
vid
ad
: E
l si
ste
ma
ca
ptu
ra
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a
la
mis
ma
Pá
gin
a d
e C
rea
ció
n
de
Act
ivid
ad
mo
stra
nd
o u
n
me
nsa
je q
ue
in
form
a e
l ti
po
de
e
rro
r ca
ptu
rad
o.
Ob
tie
ne
el
Pro
yect
o e
n s
esi
ón
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e c
on
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta q
ue
el
filt
ro d
e b
úsq
ue
da
es
el
"Pro
yect
o"
en
se
sió
n q
ue
se
ob
tie
ne
me
dia
nte
el
atr
ibu
to "
sess
ion
Co
nte
xtV
ar"
; e
ste
atr
ibu
to d
eb
e e
sta
r p
rece
did
o p
or
la a
no
taci
ón
@In
de
Se
am
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
Pro
ceso
Ne
go
cio
aso
cia
da
s a
l P
roye
cto
en
se
sió
n,
alm
ace
na
da
s e
n
la b
ase
de
da
tos
Se
cre
a u
na
nu
eva
in
sta
nci
a d
e A
ctiv
ida
d
Gu
ard
a l
a i
nst
an
cia
de
Act
ivid
ad
en
la
ba
se d
e d
ato
s co
mo
un
re
gis
tro
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
Pro
ceso
Ne
go
cio
alm
ace
na
da
s e
n l
a
ba
se d
e d
ato
s
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o l
ista
la
s A
ctiv
ida
de
s a
soci
ad
as
al
Pro
yect
o s
ele
ccio
na
do
, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s A
ctiv
ida
de
s cr
ea
da
s, p
ara
lo
cu
al
se i
ncl
uye
lo
s d
iag
ram
as
de
se
cue
nci
a d
e l
osc
aso
s d
e u
so “
Fil
tra
r
reg
istr
os
lis
tad
os
”,
“E
dit
ar
reg
istr
o s
ele
cc
ion
ad
o d
e u
na
lis
ta” y
“E
lim
ina
r re
gis
tro
se
lec
cio
na
do
de
un
a l
ista
” r
esp
ect
iva
me
nte
.
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"s:s
ele
ctIt
em
s" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
lla
ma
al
mé
tod
o g
etR
esu
ltL
ist,
y m
ue
stra
la
lis
ta d
e
inst
an
cia
s d
e P
roce
soN
eg
oci
o c
on
ayu
da
de
l co
mp
on
en
te "
h:s
ele
ctO
ne
Me
nu
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
.
Re
torn
a u
n n
ue
vo i
d
pa
ra A
ctiv
ida
d
Mu
est
ra l
a i
nst
an
cia
de
A
ctiv
ida
d c
rea
da
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"ri
ch:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
". T
en
er
pre
sen
te q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o
de
l co
mp
on
en
te "
s:va
lid
ate
All
" d
e "
htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{ac
tiv
ida
dH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e A
ctiv
ida
d e
n
la b
ase
de
da
tos,
el
sist
em
a l
o
cap
tura
y m
ue
stra
un
me
nsa
je q
ue
in
form
a e
l e
rro
r
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
Pro
ceso
Ne
go
cio
Lis
t()
setE
jbq
l(E
JBQ
L)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tSe
ssio
nC
on
text
Va
r()
:S
ess
ion
Co
nte
xtV
ar
ge
tRe
sult
Lis
t()
:Lis
t<P
roce
soN
eg
oci
o>
ge
tRe
sult
Lis
t()
:Lis
t<P
roce
soN
eg
oci
o>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sAct
ivid
ad
()se
tte
rsC
am
po
sAct
ivid
ad
()se
tte
rsC
am
po
sAct
ivid
ad
()se
tte
rsC
am
po
sAct
ivid
ad
()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
:Str
ing
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
) vie
w()
Página | 178
Figura 3.89: (Diagrama de Secuencia del Caso de Uso “Identificar Responsable por Actividad – Parte I”)
Usu
ari
o
(fro
m A
cto
res)
Ac
tiv
ida
dP
roc
es
oN
eg
oc
ioP
ág
ina
de
Ma
ne
jo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
.X
HT
ML
Pá
gin
a d
e
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
.X
HT
ML
En
tity
Qu
ery
Act
ivid
ad
Lis
tP
ág
ina
de
Ad
min
istr
ació
n d
e
Pro
yect
os
.XH
TM
L
Act
ivid
ad
Ho
me
Ad
min
En
tity
Ho
me
En
tity
Ho
me
As
ign
ac
ion
Re
sp
on
sa
ble
Ac
tiv
ida
d
Có
dig
o:
26
Ca
so
de
Us
o:
Ide
nti
fica
r R
esp
on
sab
le p
or
Act
ivid
ad
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
op
ció
n “
Inic
iació
n d
el
Pro
yect
o/I
de
nti
fica
ció
n d
e R
esp
on
sab
les
po
r A
cti
vid
ad
” d
e l
a P
ág
ina
de
Ad
min
istr
ació
n d
e
Pro
yect
os
(ve
r F
igu
ra 3
.8),
y e
l si
ste
ma
ob
tie
ne
u
na
lis
ta d
e A
ctiv
ida
de
s co
n s
u r
esp
ect
ivo
P
roce
so a
soci
ad
o,
y la
ca
nti
da
d d
e
Re
spo
nsa
ble
s a
sig
na
do
s, y
ve
rifi
ca q
ue
la
lis
ta
no
est
é v
ací
a.
Si
la l
ista
no
est
á v
ací
a e
l si
ste
ma
m
ue
stra
est
a l
ista
en
la
Pá
gin
a d
e M
an
ejo
de
R
esp
on
sab
les
po
r A
ctiv
ida
d c
om
o s
e p
ue
de
o
bse
rva
r e
n l
a F
igu
ra 3
.15
. E
l u
sua
rio
da
cli
c e
n
la o
pció
n “
Re
spo
nsa
ble
s” d
e l
a l
ista
de
Act
ivid
ad
es,
y e
l si
ste
ma
mu
est
ra e
l n
om
bre
de
la
Act
ivid
ad
se
lecc
ion
ad
a c
on
su
Pro
ceso
a
soci
ad
o,
y o
bti
en
e s
u r
esp
ect
iva
lis
ta d
e
Re
spo
nsa
ble
s a
sig
na
do
s, y
ve
rifi
ca q
ue
la
lis
ta
no
est
é v
ací
a.
Si
la l
ista
no
est
á v
ací
a e
l si
ste
ma
m
ue
stra
est
a l
ista
en
la
Pá
gin
a d
e A
sig
na
ció
n d
eR
esp
on
sab
les
a u
na
Act
ivid
ad
co
n s
us
resp
ect
iva
s o
pci
on
es
com
o s
e o
bse
rva
en
la
F
igu
ra 3
.16
.
El
usu
ari
o p
ue
de
ag
reg
ar
y q
uit
ar
Re
spo
nsa
ble
s d
e l
a A
ctiv
ida
d s
ele
ccio
na
da
, p
ara
lo
cu
al
se
inclu
ye
lo
s ca
sos
de
uso
“A
sig
na
r R
esp
on
sab
les
a
un
a A
cti
vid
ad
”, y
“Q
uit
ar
íte
m d
e u
na
lis
ta d
e
da
tos”
re
spe
cti
va
me
nte
. E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
Gu
ard
ar”
, y e
l si
ste
ma
pe
rsis
te l
a
Act
ivid
ad
co
n s
u r
esp
ect
iva
lis
ta d
e
Re
spo
nsa
ble
s a
sig
na
do
s e
n l
as
resp
ect
iva
s ta
bla
sd
e l
a b
ase
de
da
tos,
y s
e d
ire
ccio
na
a l
a P
ág
ina
d
e M
an
ejo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
, a
ctu
ali
zan
do
la
ca
nti
da
d d
e r
esp
on
sab
les
asi
gn
ad
os
a l
a A
ctiv
ida
d s
ele
ccio
na
da
, y
un
m
en
saje
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r la
s A
ctiv
ida
de
s, p
ara
lo
cu
al
se i
nclu
ye
el
ca
so d
e u
so “
Fil
tra
r re
gis
tro
s
list
ad
os”
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e a
cti
vid
ad
es
es
tá v
ac
ía:
El
sist
em
a
mu
est
ra e
n l
a P
ág
ina
de
Ma
ne
jo d
e
Re
spo
nsa
ble
s p
or
Act
ivid
ad
un
me
nsa
je q
ue
d
ice
“N
o s
e e
nco
ntr
aro
n r
eg
istr
os”
.
La
lis
ta d
e R
es
po
ns
ab
les
as
ign
ad
os
a u
na
A
cti
vid
ad
es
tá v
ac
ía:
El
sist
em
a m
ue
stra
en
la
P
ág
ina
de
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
un
a
Acti
vid
ad
un
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
El
us
ua
rio
ca
nc
ela
la
as
ign
ac
ión
de
R
es
po
ns
ab
les
a l
a A
cti
vid
ad
: E
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo d
e
Re
spo
nsa
ble
s p
or
Act
ivid
ad
mo
stra
nd
o l
a l
ista
de
Act
ivid
ad
es.
Ex
ce
pc
ión
al
gu
ard
ar
da
tos
: E
l si
ste
ma
ca
ptu
ra
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a
Pá
gin
a d
e A
sig
na
ció
n d
e R
esp
on
sab
les
a u
na
A
ctiv
ida
d m
ost
ran
do
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
A
ctiv
ida
d a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
Ob
tie
ne
el
Pro
yect
o
en
se
sió
nF
ija
el
arr
eg
lo R
ES
TR
ICT
ION
S q
ue
co
nti
en
e e
l fi
ltro
de
bú
squ
ed
a.
Te
ne
r e
n c
ue
nta
qu
e e
l fi
ltro
de
bú
squ
ed
a e
s e
l "P
roye
cto
" e
n s
esi
ón
q
ue
se
ob
tie
ne
me
dia
nte
el
atr
ibu
to "
sess
ion
Co
nte
xtV
ar"
; e
ste
a
trib
uto
de
be
est
ar
pre
ced
ido
po
r la
an
ota
ció
n @
In d
e S
ea
m
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
Act
ivid
ad
a
soci
ad
as
al
Pro
yect
o e
n s
esi
ón
, a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
rich
:da
taT
ab
le"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
t y
mu
est
ra l
a l
ista
de
in
sta
nci
as
de
Act
ivid
ad
. L
a c
an
tid
ad
de
re
spo
nsa
ble
s a
sig
na
do
s a
ca
da
act
ivid
ad
se
acc
ed
e m
ed
ian
te e
l n
om
bre
de
la
va
ria
ble
de
l a
trib
uto
"va
r" d
el
com
po
ne
nte
"ri
ch:d
ata
Ta
ble
". E
jem
plo
: a
ctiv
ida
d.a
sig
na
cio
ne
sRe
spo
nsa
ble
Act
ivid
ad
.siz
e()
; a
ctiv
ida
d=
no
mb
re d
e l
a v
ari
ab
le,
asi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d=
list
a d
e a
sig
na
cio
ne
s d
e r
esp
on
sab
les
aso
cia
da
a l
a a
ctiv
ida
d,
size
=o
bti
en
e e
l n
úm
ero
de
íte
ms
de
un
a l
ista
El
usu
ari
o v
isu
ali
za l
a
list
a d
e i
nst
an
cia
s d
e
Act
ivid
ad
, co
n s
u
resp
ect
ivo
Pro
ceso
a
soci
ad
o y
la
ca
nti
da
d
de
re
spo
nsa
ble
s a
sig
na
do
s
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
act
ivid
ad
Lis
t.re
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"
Fij
a e
l id
de
la
in
sta
nci
a d
e A
ctiv
ida
d s
ele
ccio
na
da
de
la
lis
ta,
me
dia
nte
el
com
po
ne
nte
"f:
pa
ram
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
" q
ue
se
en
cue
ntr
a d
en
tro
de
l co
mp
on
en
te "
s:b
utt
on
" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b".
Te
ne
r e
n c
ue
nta
qu
e e
l a
trib
uto
"a
ctiv
ida
dId
" se
en
cue
ntr
a
pre
ced
ida
de
la
an
ota
ció
n @
Re
qu
est
Pa
ram
ete
r d
e S
ea
m
El
mé
tod
o "
ge
tId
" y
"ge
tIn
sta
nce
" e
s p
art
e d
e l
a c
lase
"E
nti
tyH
om
e",
est
a
cla
se p
ert
en
ece
al
fra
me
wo
rk S
ea
m
Ob
tie
ne
un
a i
nst
an
cia
de
A
ctiv
ida
d c
orr
esp
po
nd
ien
te a
l a
trib
uto
"a
ctiv
ida
dId
",
alm
ace
na
da
en
la
ba
se d
e d
ato
s
El
usu
ari
o v
isu
ali
za l
a i
nst
an
cia
de
Act
ivid
ad
. T
en
er
pre
sen
te q
ue
se
de
be
vis
ua
liza
r la
de
scri
pci
ón
de
la
Act
ivid
ad
co
n s
u r
esp
ect
ivo
p
roce
so a
soci
ad
o,
y la
lis
ta d
e r
esp
on
sab
les
asi
gn
ad
os
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
rich
:da
taT
ab
le"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
"g
etA
sig
na
cio
ne
sRe
spo
nsa
ble
Act
ivid
ad
" y
mu
est
ra l
a l
ista
d
e i
nst
an
cia
s d
e A
sig
na
ció
nR
esp
on
sab
leA
ctiv
ida
d
Imp
ort
an
te:
ver
la c
on
tin
ua
ció
n d
e e
ste
dia
gra
ma
en
la
Fig
ura
3.8
5
De
spu
és
de
ob
ten
er
la l
ista
de
in
sta
nci
as
de
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
, in
clu
ir e
l "a
lt m
en
sa
jes
"
cli
c e
n l
a o
pció
n "
Ide
nti
fica
ció
n d
e
Re
spo
nsa
ble
s p
or
Act
ivid
ad
"()
vie
w()
Act
ivid
ad
Lis
t()
setE
jbq
l(E
JBQ
L)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tSe
ssio
nC
on
text
Va
r()
:Se
ssio
nC
on
text
Va
r
ge
tRe
sult
Lis
t()
:Lis
t<A
ctiv
ida
d>
Exc
ep
tio
n()
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
n r
eg
istr
os"
)
cli
c e
n l
a o
pció
n "
Re
spo
nsa
ble
s"()
setA
ctiv
ida
dId
(Lo
ng
act
ivid
ad
Id)
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()
ge
tIn
sta
nce
()
ge
tIn
sta
nce
()
ge
tAsi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d()
:L
ist<
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
>
ge
tAsi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d()
:L
ist<
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
>
Página | 179
Figura 3.90: (Diagrama de Secuencia del Caso de Uso “Identificar Responsable por Actividad – Parte II”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e M
an
ejo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
.X
HT
ML
Pá
gin
a d
e
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
.P
AG
E.X
ML
Pá
gin
a d
e
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
.X
HT
ML
Act
ivid
ad
Ho
me
En
tity
Ho
me
Ad
min
En
tity
Ho
me
Ac
tiv
ida
dA
sig
na
cio
nR
es
po
ns
ab
leA
cti
vid
ad
Có
dig
o:
26
Ca
so
de
Us
o:
Ide
nti
fica
r R
esp
on
sab
le p
or
Act
ivid
ad
Flu
jo B
ás
ico
:E
l u
sua
rio
in
gre
sa a
la
op
ció
n “
Inic
iació
n d
el
Pro
ye
cto
/Id
en
tifi
ca
ció
n d
e R
esp
on
sab
les
po
r A
cti
vid
ad
”
de
la
Pá
gin
a d
e A
dm
inis
tra
ció
n d
e P
roye
cto
s (v
er
Fig
ura
3.8
), y
el
sist
em
a o
bti
en
e u
na
lis
ta d
e
Act
ivid
ad
es
con
su
re
spe
ctiv
o P
roce
so a
soci
ad
o,
y la
ca
nti
da
d d
e R
esp
on
sab
les
asi
gn
ad
os,
y v
eri
fica
qu
e l
a
list
a n
o e
sté
va
cía
. S
i la
lis
ta n
o e
stá
va
cía
el
sist
em
a
mu
est
ra e
sta
lis
ta e
n l
a P
ág
ina
de
Ma
ne
jo d
e
Re
spo
nsa
ble
s p
or
Act
ivid
ad
co
mo
se
pu
ed
e o
bse
rva
r e
n
la F
igu
ra 3
.15
. E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“R
esp
on
sab
les”
de
la
lis
ta d
e A
cti
vid
ad
es,
y e
l si
ste
ma
mu
est
ra e
l n
om
bre
de
la
Act
ivid
ad
se
lecc
ion
ad
a c
on
su
P
roce
so a
soci
ad
o,
y o
bti
en
e s
u r
esp
ect
iva
lis
ta d
e
Re
spo
nsa
ble
s a
sig
na
do
s, y
ve
rifi
ca q
ue
la
lis
ta n
o e
sté
va
cía
. S
i la
lis
ta n
o e
stá
va
cía
el
sist
em
a m
ue
stra
est
a
list
a e
n l
a P
ág
ina
de
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
co
n s
us
resp
ect
iva
s o
pci
on
es
com
o s
e
ob
serv
a e
n l
a F
igu
ra 3
.16
.
El
usu
ari
o p
ue
de
ag
reg
ar
y q
uit
ar
Re
spo
nsa
ble
s d
e l
a
Act
ivid
ad
se
lecc
ion
ad
a,
pa
ra l
o c
ua
l se
in
clu
ye l
os
ca
sos
de
uso
“A
sig
na
r R
esp
on
sab
les
a u
na
Acti
vid
ad
”, y
“Qu
ita
r ít
em
de
un
a l
ista
de
da
tos”
re
spe
cti
va
me
nte
. E
l
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
, y e
l si
ste
ma
pe
rsis
te l
a A
ctiv
ida
d c
on
su
re
spe
ctiv
a l
ista
de
R
esp
on
sab
les
asi
gn
ad
os
en
la
s re
spe
ctiv
as
tab
las
de
la
b
ase
de
da
tos,
y s
e d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
, a
ctu
ali
zan
do
la
ca
nti
da
d d
e r
esp
on
sab
les
asi
gn
ad
os
a l
a A
ctiv
ida
d
sele
ccio
na
da
, y u
n m
en
saje
qu
e d
ice
“G
rab
ació
n
exit
osa
”. E
l u
sua
rio
pu
ed
e b
usc
ar
las
Acti
vid
ad
es,
pa
ra
lo c
ua
l se
in
clu
ye
el
ca
so d
e u
so “
Fil
tra
r re
gis
tro
s
list
ad
os”
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e a
cti
vid
ad
es
es
tá v
ac
ía:
El
sist
em
a m
ue
stra
e
n l
a P
ág
ina
de
Ma
ne
jo d
e R
esp
on
sab
les
po
r A
ctiv
ida
d
un
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
La
lis
ta d
e R
es
po
ns
ab
les
as
ign
ad
os
a u
na
Ac
tiv
ida
d
es
tá v
ac
ía:
El
sist
em
a m
ue
stra
en
la
Pá
gin
a d
e
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d u
n
me
nsa
je q
ue
dic
e “
No
se
en
co
ntr
aro
n r
eg
istr
os”
.
El
us
ua
rio
ca
nc
ela
la
as
ign
ac
ión
de
Re
sp
on
sa
ble
s a
la
Ac
tiv
ida
d:
El
sist
em
a s
e d
ire
ccio
na
a l
a P
ág
ina
de
M
an
ejo
de
Re
spo
nsa
ble
s p
or
Act
ivid
ad
mo
stra
nd
o l
a
list
a d
e A
ctiv
ida
de
s.E
xc
ep
ció
n a
l g
ua
rda
r d
ato
s:
El
sist
em
a c
ap
tura
el
tip
o
de
err
or
y se
dir
ecc
ion
a a
la
mis
ma
Pá
gin
a d
e
Asi
gn
aci
ón
de
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d m
ost
ran
do
u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
El
usu
ari
o p
ue
de
ag
reg
ar
y q
uit
ar
Re
spo
nsa
ble
s d
e l
a A
ctiv
ida
d s
ele
ccio
na
da
, p
ara
lo
cu
al
ver
los
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
“A
sig
na
r R
es
po
ns
ab
les
a u
na
Ac
tiv
ida
d”,
y “Q
uit
ar
íte
m d
e u
na
lis
ta d
e d
ato
s” r
esp
ect
iva
me
nte
.
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{ac
tiv
ida
dH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Gu
ard
a l
a i
nst
an
cia
de
A
ctiv
ida
d c
on
su
re
spe
ctiv
a l
ista
de
in
sta
nci
as
de
A
sig
na
cio
nR
esp
on
sab
leA
ctiv
ida
d e
n l
a b
ase
de
d
ato
s
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e A
ctiv
ida
d c
on
su
re
spe
ctiv
a l
ista
de
Asi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d e
n l
a
ba
se d
e d
ato
s, e
l si
ste
ma
lo
ca
ptu
ra y
m
ue
stra
un
me
nsa
je q
ue
in
form
a e
l e
rro
r
El
usu
ari
o p
ue
de
bu
sca
r la
s A
ctiv
ida
de
s, p
ara
lo
cu
al
se i
ncl
uye
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“F
iltr
ar
reg
istr
os
lis
tad
os
”
Imp
ort
an
te:
est
e d
iag
ram
a e
s la
co
nti
nu
aci
ón
d
el
dia
gra
ma
de
la
Fig
ura
3.8
4
cli
c e
n l
a o
pció
n "
Ag
reg
ar"
()
cli
c e
n l
a o
pció
n "
Qu
ita
r"()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()
red
ire
ct()
ge
tCre
ate
dM
ess
ag
eK
ey(
)
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 180
Figura 3.91: (Diagrama de Secuencia del caso de uso “Asignar Responsables a
una Actividad”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e
asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
.X
HT
ML
Pá
gin
a d
e
Se
lecció
n d
e
Re
spo
nsa
ble
s .X
HT
ML
Pá
gin
a d
e
Asi
gn
ació
n d
e
Re
spo
nsa
ble
s a
u
na
Act
ivid
ad
.P
AG
E.X
ML
Ac
tiv
ida
dR
es
po
ns
ab
leA
cti
vid
ad
As
ign
ac
ion
Re
sp
on
sa
ble
Ac
tiv
ida
d
En
tity
Qu
ery
Act
ivid
ad
Ho
me
Re
spo
nsa
ble
A
ctiv
ida
dL
ist
Có
dig
o:
27
Ca
so
de
Us
o:
Asi
gn
ar
Re
spo
nsa
ble
s a
un
a A
ctiv
ida
d
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a
op
ció
n “
Ag
reg
ar”
de
la
Pá
gin
a
de
Asi
gn
aci
ón
de
R
esp
on
sab
les
a u
na
Act
ivid
ad
(v
er
Fig
ura
3.1
6),
y e
l si
ste
ma
o
bti
en
e u
na
lis
ta d
e
Re
spo
nsa
ble
s q
ue
no
est
án
e
n l
a l
ista
de
Asi
gn
aci
on
es
de
R
esp
on
sab
les,
lu
eg
o e
l si
ste
ma
ve
rifi
ca s
i e
sta
lis
ta
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m.
Si
est
a l
ista
ob
ten
ida
co
nti
en
e a
l m
en
os
un
íte
m e
l si
ste
ma
mu
est
ra e
sto
s ít
em
s co
n s
us
resp
ect
iva
s o
pci
on
es
en
la
Pá
gin
a d
e S
ele
cció
n d
e
Re
spo
nsa
ble
s. E
l u
sua
rio
p
ue
de
bu
sca
r u
n R
esp
on
sab
le
an
tes
de
se
lecc
ion
arl
o,
pa
ra
lo c
ua
l se
in
clu
ye e
l ca
so d
e
uso
“F
iltr
ar
reg
istr
os
list
ad
os”
.
El
usu
ari
o d
a c
lic
en
la
o
pció
n “
Se
leccio
na
r” d
e l
a
list
a d
e R
esp
on
sab
les,
y e
l si
ste
ma
ag
reg
a e
l R
esp
on
sab
le s
ele
ccio
na
do
a
la l
ista
de
Asi
gn
aci
on
es
de
R
esp
on
sab
les
aso
cia
da
a l
a
Act
ivid
ad
se
lecc
ion
ad
a,
ad
em
ás
el
sist
em
a a
ctu
ali
za
la l
ista
de
Re
spo
nsa
ble
s q
uit
an
do
el
Re
spo
nsa
ble
se
lecc
ion
ad
o.
El
usu
ari
o d
a
cli
c e
n l
a o
pció
n “
Lis
to”
de
la
Pá
gin
a d
e S
ele
cció
n d
e
Re
spo
nsa
ble
s, y
el
sist
em
a
ob
tie
ne
la
lis
ta a
ctu
al
de
A
sig
na
cio
ne
s d
e
Re
spo
nsa
ble
s a
soci
ad
a a
la
A
ctiv
ida
d s
ele
ccio
na
da
, y
mu
est
ra e
sta
lis
ta e
n l
a
Pá
gin
a d
e A
sig
na
ció
n d
e
Re
spo
nsa
ble
s a
un
a
Act
ivid
ad
.
Flu
jos
Alt
ern
ati
vo
s:
La
lis
ta d
e R
es
po
ns
ab
les
no
a
sig
na
do
s e
stá
va
cía
: E
l si
ste
ma
mu
est
ra e
n l
a P
ág
ina
d
e S
ele
cció
n d
e
Re
spo
nsa
ble
s u
n m
en
saje
q
ue
dic
e “
No
se
en
co
ntr
aro
n
reg
istr
os”
.
Ex
ce
pc
ión
al
ag
reg
ar
un
R
es
po
ns
ab
le:
El
sist
em
a
cap
tura
el
tip
o d
e e
rro
r e
in
form
a e
ste
err
or
con
un
m
en
saje
en
la
Pá
gin
a d
e
Se
lecc
ión
de
Re
spo
nsa
ble
s.
Fij
a l
a l
ista
de
Re
spo
nsa
ble
s a
sig
na
do
s a
un
a A
ctiv
ida
d,
me
dia
nte
la
s a
sig
na
cio
ne
s d
e R
esp
on
sab
les
aso
cia
da
s a
la
Act
ivid
ad
. T
en
er
en
cu
en
ta q
ue
la
va
ria
ble
"re
spo
nsa
ble
sAct
ivid
ad
Asi
gn
ad
os"
de
tip
o "
Lis
t" e
s p
art
e d
e l
a c
lase
"A
ctiv
ida
dH
om
e",
y s
e e
ncu
en
tra
pre
ced
ida
po
r la
an
ota
ció
n @
Ou
t d
e S
ea
m.
El
mé
tod
o
"se
tRe
spo
nsa
ble
sAct
ivid
ad
Asi
gn
ad
os"
es
lla
ma
do
me
dia
nte
el
atr
ibu
to "
exe
cute
" d
e l
a e
tiq
ue
ta "
act
ion
" d
e l
a
pá
gin
a c
on
ext
en
sió
n "
.pa
ge
.xm
l"
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
R
esp
on
sab
leA
ctiv
ida
d a
lma
cen
ad
as
en
la
b
ase
de
da
tos
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e
con
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta q
ue
el
filt
ro d
e b
úsq
ue
da
es
la l
ista
d
e R
esp
on
sab
les
asi
gn
ad
os,
ad
em
ás
la
vari
ab
le
"re
spo
nsa
ble
sAct
ivid
ad
Asi
gn
ad
os"
de
tip
o
"Lis
t" d
e l
a c
lase
"R
esp
on
sab
leA
ctiv
ida
dL
ist"
se
en
cue
ntr
a
pre
ced
ida
po
r la
an
ota
ció
n @
In d
e S
ea
m
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
R
esp
on
sab
leA
ctiv
ida
d a
lma
cen
ad
as
en
la
ba
se d
e
da
tos,
qu
e n
o e
stá
n e
n l
a l
ista
de
Re
spo
nsa
ble
s a
sig
na
do
s
alt
me
ns
aje
s
[sh
ow
Glo
ba
lMe
ssa
ge
s !=
'fa
lse
']
[em
pty
ge
tRe
sult
Lis
t]
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:me
ssa
ge
s" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
La
pre
gu
nta
va
en
el
atr
ibu
to "
ren
de
red
" d
el
com
po
ne
nte
"h
:ou
tpu
tTe
xt"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/htm
l"E
l u
sua
rio
vis
ua
liza
la
lis
ta d
e i
nst
an
cia
s d
e R
esp
on
sab
leA
ctiv
ida
d e
n u
na
ta
bla
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
rich
:da
taT
ab
le"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
" ll
am
a a
l m
éto
do
ge
tRe
sult
Lis
t y
mu
est
ra l
a l
ista
de
in
sta
nci
as
de
Re
spo
nsa
ble
Act
ivid
ad
Ag
reg
a u
na
in
sta
nci
a d
e
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
co
n e
l R
esp
on
sab
le s
ele
ccio
na
do
, a
la
lis
ta d
e
Asi
gn
aci
on
es
de
Re
spo
nsa
ble
s a
soci
ad
a a
la
Act
ivid
ad
El
sist
em
a c
ap
tura
la
exc
ep
ció
n a
l e
jecu
tar
el
mé
tod
o
"ad
dA
sig
na
cio
nR
esp
on
sab
leA
ctiv
ida
d"
Te
ne
r p
rese
nte
qu
e e
l a
trib
uto
"a
ctio
n"
de
l co
mp
on
en
te "
a4
j:co
mm
an
dB
utt
on
" d
e
"htt
p:/
/ric
hfa
ces.
org
/a4
j" l
lam
a a
l m
éto
do
"a
dd
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
", y
act
ua
liza
la
li
sta
de
in
sta
nci
as
de
Re
spo
nsa
ble
Act
ivid
ad
, q
uit
an
do
e
l R
esp
on
sab
le s
ele
ccio
na
do
, m
ed
ian
te e
l a
trib
uto
"r
eR
en
de
r"
Incl
uir
el
"alt
me
ns
aje
s"
Ob
tie
ne
la
lis
ta a
ctu
al
de
in
sta
nci
as
de
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
a
soci
ad
a a
un
a A
ctiv
ida
d
Pa
ra i
ng
resa
r a
la
op
ció
n
"Ag
reg
ar"
el
usu
ari
o d
eb
e
est
ar
vie
nd
o l
a l
ista
de
R
esp
on
sab
les
asi
gn
ad
os
au
na
Act
ivid
ad
se
lecc
ion
ad
a,
en
la
P
ág
ina
de
Asi
gn
aci
ón
de
R
esp
on
sab
les
a u
na
A
ctiv
ida
d,
pa
ra e
sta
a
cció
n v
er
el
dia
gra
ma
de
secu
en
cia
de
l ca
so d
e u
so“Id
en
tifi
ca
r R
es
po
ns
ab
le
po
r A
cti
vid
ad
”
cli
c e
n l
a o
pció
n A
gre
ga
r()
setR
esp
on
sab
lesA
ctiv
ida
dA
sig
na
do
s()
setR
esp
on
sab
lesA
ctiv
ida
dA
sig
na
do
s()
vie
w()
Re
spo
nsa
ble
Act
ivid
ad
Lis
t()
setE
jbq
l(E
JBQ
L)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tRe
spo
nsa
ble
sAct
ivid
ad
Asi
gn
ad
os(
) :L
ist<
Re
spo
nsa
ble
Act
ivid
ad
>
ge
tRe
sult
Lis
t()
:Lis
t<R
esp
on
sab
leA
ctiv
ida
d>
ge
tRe
sult
Lis
t()
:Lis
t<R
esp
on
sab
leA
ctiv
ida
d>
ren
de
red
Me
ssa
ge
s()
ren
de
red
Me
ssa
ge
("N
o s
e e
nco
ntr
aro
n r
eg
istr
os"
)
cli
c e
n l
a o
pció
n S
ele
ccio
na
r()
ad
dA
sig
na
cio
nR
esp
on
sab
leA
ctiv
ida
d(r
esp
on
sab
leA
ctiv
ida
d)
Exc
ep
tio
n()
pri
ntS
tack
Tra
ce()
reR
en
de
rLis
t()
ge
tRe
sult
Lis
t()
:Lis
t<R
esp
on
sab
leA
ctiv
ida
d> g
etR
esu
ltL
ist(
) :L
ist<
Re
spo
nsa
ble
Act
ivid
ad
>
cli
c e
n l
a o
pció
n L
isto
()
vie
w()
ge
tAsi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d()
:L
ist<
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
>
ge
tAsi
gn
aci
on
esR
esp
on
sab
leA
ctiv
ida
d()
:L
ist<
Asi
gn
aci
on
Re
spo
nsa
ble
Act
ivid
ad
>
Página | 181
Figura 3.92: (Diagrama de Secuencia del caso de uso “Realizar identificación macro de Procesos”)
Usu
ari
o
(fro
m A
cto
res)Pá
gin
a d
e M
an
ejo
de
De
tall
les
de
P
roce
sos
.XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
De
tall
e d
el
Pro
ceso
.X
HT
ML
Pá
gin
a d
e
Cre
ació
n d
e
De
tall
e d
el
Pro
ceso
.P
AG
E.X
ML
Pro
yec
toP
roc
es
oN
eg
oc
io
«e
nu
me
rati
on
»
Tip
oD
eta
lle
Pro
ceso
En
tity
Qu
ery
En
tity
Ho
me
Ad
min
En
tity
Ho
me
De
tall
eP
roc
es
oD
eta
lle
Pro
ceso
H
om
eP
roce
soN
eg
oci
o
Lis
tT
ipo
De
tall
eP
roce
so
Lis
t
Có
dig
o:
28
Ca
so
de
Us
o:
Re
ali
zar
ide
nti
fica
ció
n m
acr
o d
e P
roce
sos
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo
de
De
tall
es
de
Pro
ceso
s (v
er
Fig
ura
3.4
), y
el
sist
em
a o
bti
en
e
un
a l
ista
de
Pro
ceso
s a
soci
ad
os
al
Pro
yect
o s
ele
ccio
na
do
, o
bti
en
e
un
a l
ista
qu
e i
nd
ica
el
tip
o d
e
de
tall
e d
el
Pro
ceso
(ít
em
s:
Pro
vee
do
r, E
ntr
ad
a,
Sa
lid
a,
Cli
en
te),
y m
ue
stra
est
as
list
as
de
sple
ga
ble
s ju
nto
a l
os
cam
po
s d
e c
ód
igo
y d
esc
rip
ció
n e
n l
a
Pá
gin
a d
e C
rea
ció
n d
e D
eta
lle
d
el
Pro
ceso
re
laci
on
ad
o a
l P
roye
cto
se
lecc
ion
ad
o (
ver
Fig
ura
3
.5).
El
usu
ari
o i
ng
resa
ca
da
da
to
u c
am
po
y a
soci
a e
l D
eta
lle
a u
n
Pro
ceso
se
lecc
ion
an
do
un
P
roce
so d
e l
a l
ista
de
sple
ga
ble
, y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
o
bli
ga
tori
ed
ad
, ti
po
s d
e d
ato
s,
reg
las
de
ne
go
cio
).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s
corr
ect
o e
l si
ste
ma
pe
rsis
te e
l D
eta
lle
aso
cia
do
al
Pro
ceso
se
lecc
ion
ad
o e
n l
a r
esp
ect
iva
ta
bla
de
la
ba
se d
e d
ato
s, y
se
d
ire
ccio
na
a l
a P
ág
ina
de
Ma
ne
jo
de
De
tall
es
de
Pro
ceso
s m
ost
ran
do
el
nu
evo
De
tall
e e
n l
a
list
a d
e D
eta
lle
s, y
un
me
nsa
je
qu
e d
ice
“G
rab
ació
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r lo
s D
eta
lle
s cr
ea
do
s, p
ara
lo c
ua
l se
in
clu
ye l
os
caso
s d
e u
so
“Fil
tra
r re
gis
tro
s li
sta
do
s”,
“Ed
ita
r
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
”
y “
Eli
min
ar
reg
istr
o s
ele
ccio
na
do
de
un
a l
ista
” re
spe
cti
va
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n
de
un
De
tall
e a
so
cia
do
a u
n
Pro
ce
so
: E
l si
ste
ma
se
dir
ecc
ion
a
a l
a P
ág
ina
de
Ma
ne
jo d
e
De
tall
es
de
Pro
ceso
s m
ost
ran
do
la
li
sta
de
De
tall
es.
Ex
ce
pc
ión
al
gu
ard
ar
un
De
tall
e:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
Cre
aci
ón
de
De
tall
e d
el
Pro
ceso
mo
stra
nd
o u
n m
en
saje
q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
.
Ob
tie
ne
el
Pro
yect
o e
n s
esi
ón
Fij
a e
l a
rre
glo
RE
ST
RIC
TIO
NS
qu
e c
on
tie
ne
el
filt
ro d
e b
úsq
ue
da
. T
en
er
en
cu
en
ta q
ue
el
filt
ro d
e b
úsq
ue
da
es
el
"Pro
yect
o"
en
se
sió
n q
ue
se
ob
tie
ne
m
ed
ian
te e
l a
trib
uto
"se
ssio
nC
on
text
Va
r";
est
e a
trib
uto
de
be
est
ar
pre
ced
ido
p
or
la a
no
taci
ón
@In
de
Se
am
Ob
tie
ne
un
a l
ista
de
in
sta
nci
as
de
Pro
ceso
Ne
go
cio
aso
cia
da
s a
l P
roye
cto
en
se
sió
n,
alm
ace
na
da
s e
n l
a b
ase
de
da
tos
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
T
ipo
De
tall
eP
roce
so
Se
cre
a u
na
nu
eva
in
sta
nci
a d
e
De
tall
eP
roce
so
Gu
ard
a l
a i
nst
an
cia
de
De
tall
eP
roce
so e
n l
a
ba
se d
e d
ato
s co
mo
un
re
gis
tro
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e D
eta
lle
s d
e P
roce
sos
aso
cia
do
s a
l P
roye
cto
se
lecc
ion
ad
o,
en
la
Pá
gin
a d
e M
an
ejo
de
De
tall
es
de
P
roce
sos,
pa
ra e
sta
acc
ión
ver
el
dia
gra
ma
de
se
cue
nci
a d
elc
aso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”
Fij
a l
a s
en
ten
cia
EJB
QL
qu
e s
ele
ccio
na
to
da
s la
s in
sta
nci
as
de
P
roce
soN
eg
oci
o a
lma
cen
ad
as
en
la
ba
se d
e d
ato
s
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te "
s:se
lect
Ite
ms"
de
"h
ttp
://j
bo
ss.c
om
/pro
du
cts/
sea
m/t
ag
lib
" ll
am
a a
l m
éto
do
g
etR
esu
ltL
ist,
y m
ue
stra
la
lis
ta
de
in
sta
nci
as
de
P
roce
soN
eg
oci
o c
on
ayu
da
de
l co
mp
on
en
te
"h:s
ele
ctO
ne
Me
nu
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
. D
e
la m
ism
a f
orm
a s
e m
ue
stra
la
li
sta
de
va
lore
s d
el
En
um
era
do
T
ipo
De
tall
eP
roce
so
Re
torn
a u
n n
ue
vo i
d
pa
ra D
eta
lle
Pro
ceso
Mu
est
ra l
a i
nst
an
cia
de
D
eta
lle
Pro
ceso
cre
ad
a
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or
cap
tura
do
me
dia
nte
el
com
po
ne
nte
"ri
ch:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
". T
en
er
pre
sen
te q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s:
vali
da
teA
ll"
de
"h
ttp
://j
bo
ss.c
om
/pro
du
cts/
sea
m/t
ag
lib
"
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{de
tall
eP
roc
es
oH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
De
tall
eP
roce
so e
n l
a b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y
mu
est
ra u
n m
en
saje
qu
e i
nfo
rma
el
err
or
cli
c e
n l
a o
pció
n C
rea
r()
vie
w()
Pro
ceso
Ne
go
cio
Lis
t()
setE
jbq
l(E
JBQ
L)
setR
est
rict
ion
Exp
ress
ion
Str
ing
s(A
rra
ys.a
sLis
t(R
ES
TR
ICT
ION
S))
ge
tSe
ssio
nC
on
text
Va
r()
:Se
ssio
nC
on
text
Va
r
ge
tRe
sult
Lis
t()
:Lis
t<P
roce
soN
eg
oci
o>
ge
tRe
sult
Lis
t()
:Lis
t<P
roce
soN
eg
oci
o>
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
De
tall
eP
roce
so>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sDe
tall
eP
roce
so() se
tte
rsC
am
po
sDe
tall
eP
roce
so()
sett
ers
Ca
mp
osD
eta
lle
Pro
ceso
()se
tte
rsC
am
po
sDe
tall
eP
roce
so()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 182
Figura 3.93: (Diagrama de Secuencia del caso de uso “Mostrar información actual del Requerimiento”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e
Se
lecció
n d
e u
n
Re
qu
eri
mie
nto
.X
HT
ML
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Re
qu
eri
mie
nto
s .X
HT
ML
Pá
gin
a d
e
Info
rma
ció
n d
el
Re
qu
eri
mie
nto
.X
HT
ML
Re
qu
eri
mie
nto
Se
ssio
nC
on
text
Va
rR
eq
ue
rim
ien
toH
om
eA
dm
inE
nti
tyH
om
eE
nti
tyH
om
e
Có
dig
o:
30
Ca
so
de
Us
o:
Mo
stra
r in
form
aci
ón
act
ua
l d
el
Re
qu
eri
mie
nto
Flu
jo B
ás
ico
:E
l u
sua
rio
pu
ed
e b
usc
ar
un
re
qu
eri
mie
nto
an
tes
de
se
lecc
ion
arl
o,
pa
ra l
o c
ua
l se
in
clu
ye
el
ca
so d
e u
so “
Fil
tra
r
reg
istr
os
list
ad
os”
. E
l u
sua
rio
da
cli
c e
n l
a o
pció
n “
Ad
min
istr
ar”
de
la
lis
ta d
e R
eq
ue
rim
ien
tos
aso
cia
da
a u
n P
roye
cto
en
la
P
ág
ina
de
Se
lecc
ión
de
un
R
eq
ue
rim
ien
to (
ver
Fig
ura
3
.17
), y
el
sist
em
a s
e
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ad
min
istr
aci
ón
de
R
eq
ue
rim
ien
tos
con
su
s re
spe
ctiv
as
op
cio
ne
s co
mo
se
o
bse
rva
en
la
Fig
ura
3.1
8.
El
usu
ari
o i
ng
resa
al
en
lace
“I
nfo
rma
ció
n d
el
Re
qu
eri
mie
nto
”, y
el
sist
em
a
ob
tie
ne
lo
s d
ato
s d
el
Re
qu
eri
mie
nto
se
lecc
ion
ad
o y
m
ue
stra
est
os
en
la
Pá
gin
a d
e
Info
rma
ció
n d
e u
n
Re
qu
eri
mie
nto
co
mo
se
o
bse
rva
en
la
Fig
ura
3.2
0.
Flu
jos
Alt
ern
ati
vo
s:
Ex
ce
pc
ión
al
mo
str
ar
info
rma
ció
n d
el
Re
qu
eri
mie
nto
: E
l si
ste
ma
ca
ptu
ra e
l ti
po
de
err
or
y m
ue
stra
est
e e
n l
a P
ág
ina
de
In
form
aci
ón
de
u
n
Re
qu
eri
mie
nto
.
Fij
a e
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
en
la
cla
se S
ess
ion
Co
nte
xtV
ar
me
dia
nte
el
com
po
ne
nte
"f
:se
tPro
pe
rtyA
ctio
nL
iste
ne
r" d
e "
htt
p:/
/ja
va.s
un
.co
m/j
sf/c
ore
". T
en
er
en
cu
en
ta q
ue
la
cla
se
Se
ssio
nC
on
text
Va
r d
eb
e e
sta
r p
rece
did
a p
or
las
an
ota
cio
ne
s @
Na
me
("se
ssio
nC
on
text
Va
r")
y @
Sco
pe
(Sco
pe
Typ
e.S
ES
SIO
N)
de
Se
am
Ob
tie
ne
un
a
inst
an
cia
de
la
E
nti
da
d
Re
qu
eri
mie
nto
de
la
b
ase
de
da
tos,
co
rre
spo
nd
ien
te a
l id
d
el
Re
qu
eri
mie
nto
e
n s
esi
ón
Pa
ra i
ng
resa
r a
la
op
ció
n "
Ad
min
istr
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e R
eq
ue
rim
ien
tos
aso
cia
da
a u
n
Pro
yect
o e
n l
a P
ág
ina
de
Se
lecc
ión
de
un
Re
qu
eri
mie
nto
, p
ara
lo
cu
al
ver
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”.
Ad
em
ás
el
usu
ari
o p
ue
de
bu
sca
r u
n r
eq
ue
rim
ien
to
an
tes
de
se
lecc
ion
arl
o,
pa
ra l
o c
ua
l ve
r e
l d
iag
ram
a d
el
caso
de
uso
“F
iltr
ar
reg
istr
os
lis
tad
os
”
Mu
est
ra a
l u
sua
rio
el
no
mb
re d
el
Re
qu
eri
mie
nto
en
se
sió
n f
ija
da
en
la
cla
se
Se
ssio
nC
on
text
Va
r, a
de
má
s se
mu
est
ra l
as
resp
ect
iva
s o
pci
on
es
aso
cia
da
s a
un
R
eq
ue
rim
ien
to
Mu
est
ra l
os
cam
po
s (c
ód
igo
, d
esc
rip
ció
n,
ran
go
de
im
po
rta
nci
a,
ran
go
de
sa
tisf
acc
ión
act
ua
l,
est
ad
o,
tip
o,
fue
nte
, p
rio
rid
ad
, ju
stif
ica
ció
n,
y o
bse
rva
ció
n)
de
la
in
sta
nci
a d
e R
eq
ue
rim
ien
to
ob
ten
ida
cli
c e
n l
a o
pció
n A
dm
inis
tra
r()
setR
eq
ue
rim
ien
to(R
eq
ue
rim
ien
to)
vie
w()
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
cli
c e
n l
a o
pció
n I
nfo
rma
ció
n d
el
Re
qu
eri
mie
nto
()
setR
eq
ue
rim
ien
toId
(re
qu
eri
mie
nto
Id)
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
Página | 183
Figura 3.94: (Diagrama de Secuencia del caso de uso “Actualizar datos adicionales al Requerimiento”)
Usu
ari
o
(fro
m A
cto
res)
Pá
gin
a d
e
Se
lecció
n d
e u
n
Re
qu
eri
mie
nto
.X
HT
ML
Pá
gin
a d
e
Ad
min
istr
ació
n d
e
Re
qu
eri
mie
nto
s .X
HT
ML
Pá
gin
a d
e
Actu
ali
za
ció
n d
e
da
tos
ad
icio
na
les
al
Re
qu
eri
mie
nto
.X
HT
ML
Re
qu
eri
mie
nto
Me
tod
o
Ob
ten
cio
n
«e
nu
me
rati
on
»
Tip
oM
eto
do
Ob
ten
cio
n
«e
nu
me
rati
on
»
Tip
oR
eq
ue
rim
ien
to
En
tity
Ho
me
Ad
min
En
tity
Ho
me
Re
qu
eri
mie
nto
H
om
eS
ess
ion
Co
nte
xtV
ar
Tip
oR
eq
ue
rim
ien
to
Lis
tT
ipo
Me
tod
o
Ob
ten
cio
nL
ist
Có
dig
o:
31
Ca
so
de
Us
o:
Act
ua
liza
r d
ato
s a
dic
ion
ale
s a
l R
eq
ue
rim
ien
to
Flu
jo B
ás
ico
:E
l u
sua
rio
pu
ed
e b
usc
ar
un
re
qu
eri
mie
nto
an
tes
de
se
lecc
ion
arl
o,
pa
ra l
o c
ua
l se
in
clu
ye e
l ca
so d
e u
so
“Fil
tra
r re
gis
tro
s li
sta
do
s”.
El
usu
ari
o d
a
cli
c e
n l
a o
pció
n “
Ad
min
istr
ar”
de
la
list
a d
e R
eq
ue
rim
ien
tos
aso
cia
da
al
Pro
yect
o s
ele
ccio
na
do
en
la
Pá
gin
a
de
Se
lecc
ión
de
un
Re
qu
eri
mie
nto
(v
er
Fig
ura
3.1
7),
y e
l si
ste
ma
se
d
ire
ccio
na
a l
a P
ág
ina
de
A
dm
inis
tra
ció
n d
e R
eq
ue
rim
ien
tos
mo
stra
nd
o l
as
resp
ect
iva
s o
pci
on
es
com
o s
e o
bse
rva
en
la
Fig
ura
3.1
8.
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Da
tos
Ad
icio
na
les”
, y e
l si
ste
ma
ob
tie
ne
un
a
list
a d
esp
leg
ab
le q
ue
in
dic
a e
l ti
po
d
e r
eq
ue
rim
ien
to (
íte
ms:
“F
un
cio
na
l”,
“No
Fu
ncio
na
l”),
y o
bti
en
e l
os
Mé
tod
os
de
ob
ten
ció
n a
soci
ad
os
al
req
ue
rim
ien
to m
ost
ran
do
est
os
com
o
un
a l
ista
tip
o c
he
ckli
st (
po
sib
les
mé
tod
os
de
ob
ten
ció
n:
“En
cu
est
a”,
“Fo
cu
s G
rou
p”,
“E
ntr
evis
tas
Ind
ivid
ua
les”
, “S
itio
s vis
ita
do
s”,
“Qu
eja
s d
e l
os
Cli
en
tes”
, “R
eto
rno
s”),
ad
em
ás,
si
la p
rio
rid
ad
de
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
es
dif
ere
nte
de
ce
ro e
l si
ste
ma
blo
qu
ea
e
l ca
mp
o “
Imp
lem
en
tar
Re
qu
eri
mie
nto
”, f
ina
lme
nte
el
sist
em
a
mu
est
ra l
as
list
as
jun
to a
otr
os
cam
po
s e
n l
a P
ág
ina
de
Act
ua
liza
ció
n d
e
da
tos
ad
icio
na
les
al
Re
qu
eri
mie
nto
(v
er
Fig
ura
3.1
9).
El
usu
ari
o i
ng
resa
lo
s ca
mp
os
soli
cita
do
s y
el
sist
em
a v
ali
da
qu
e l
os
da
tos
sea
n c
orr
ect
os
(no
exc
ed
an
el
lím
ite
de
ca
ract
ere
s p
erm
itid
os,
tip
o
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic e
n l
a o
pció
n “
Gu
ard
ar”
.
Si
los
da
tos
son
co
rre
cto
s e
l si
ste
ma
a
ctu
ali
za l
os
da
tos
u c
am
po
s e
n l
a
resp
ect
iva
ta
bla
de
la
ba
se d
e d
ato
s y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
A
ctu
ali
zaci
ón
de
da
tos
ad
icio
na
les
al
Re
qu
eri
mie
nto
mo
stra
nd
o l
os
da
tos
act
ua
liza
do
s, y
un
me
nsa
je q
ue
dic
e
“Actu
ali
za
ció
n e
xit
osa
”.
Flu
jos
Alt
ern
ati
vo
s:
Da
tos
in
co
rre
cto
s:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n
me
nsa
je q
ue
in
form
a e
l ti
po
de
err
or.
Ex
ce
pc
ión
al
ac
tua
liza
r lo
s d
ato
s
ad
icio
na
les
al
Pro
yec
to:
El
sist
em
a
cap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a m
ism
a P
ág
ina
de
Act
ua
liza
ció
n
de
da
tos
ad
icio
na
les
al
Re
qu
eri
mie
nto
mo
stra
nd
o u
n m
en
saje
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o.
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
T
ipo
Re
qu
eri
mie
nto
Fij
a e
l id
de
l R
eq
ue
rim
ien
to e
n s
esi
ón
Ob
tie
ne
un
a i
nst
an
cia
de
Re
qu
eri
mie
nto
d
e l
a b
ase
de
da
tos,
co
rre
spo
nd
ien
te a
l id
de
l R
eq
ue
rim
ien
to e
n s
esi
ón
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
Tip
oM
eto
do
Ob
ten
cio
n
On
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
T
ipo
Me
tod
oO
bte
nci
on
aso
cia
do
s a
l R
eq
ue
rim
ien
to p
or
me
dio
de
la
En
tid
ad
M
eto
do
Ob
ten
cio
n,
est
a l
ista
co
nte
nd
rá l
os
tip
os
de
mé
tod
os
de
ob
ten
ció
n (
pa
ra o
bte
ne
r e
l R
eq
ue
rim
ien
to)
asi
gn
ad
os
po
r e
l u
sua
rio
Fij
a l
os
Tip
os
de
M
éto
do
s d
e O
bte
nci
ón
se
lecc
ion
ad
os
po
r e
l u
sua
rio
El
mé
tod
o "
ad
dM
eto
do
sOb
ten
cio
n"
ag
reg
a o
re
mu
eve
in
sta
nci
as
de
M
eto
do
Ob
ten
cio
n,
a l
a l
ista
de
in
sta
nci
as
de
Me
tod
oO
bte
nci
on
(f
ija
do
s lo
s re
spe
ctiv
os
Tip
os
de
Mé
tod
os
de
Ob
ten
ció
n a
sig
na
do
s p
or
el
usu
ari
o)
aso
cia
da
al
Re
qu
eri
mie
nto
Act
ua
liza
la
in
sta
nci
a d
e
Re
qu
eri
mie
nto
co
n s
u r
esp
ect
iva
li
sta
de
Me
tod
oO
bte
nci
on
en
la
b
ase
de
da
tos
Pa
ra i
ng
resa
r a
la
op
ció
n "
Ad
min
istr
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e R
eq
ue
rim
ien
tos
aso
cia
da
a u
n P
roye
cto
en
la
Pá
gin
a d
e S
ele
cció
n
de
un
Re
qu
eri
mie
nto
, p
ara
lo
cu
al
ver
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Pro
ye
cto
”.
Ad
em
ás
el
usu
ari
o
pu
ed
e b
usc
ar
un
re
qu
eri
mie
nto
an
tes
de
se
lecc
ion
arl
o,
pa
ra l
o c
ua
l ve
r e
l d
iag
ram
a d
el
caso
de
uso
“F
iltr
ar
reg
istr
os
lis
tad
os
”
Fij
a e
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
en
la
cla
se S
ess
ion
Co
nte
xtV
ar
me
dia
nte
el
com
po
ne
nte
"f:
setP
rop
ert
yAct
ion
Lis
ten
er"
de
"h
ttp
://j
ava
.su
n.c
om
/jsf
/co
re".
Te
ne
r e
n c
ue
nta
qu
e l
a c
lase
Se
ssio
nC
on
text
Va
r d
eb
e e
sta
r p
rece
did
a p
or
las
an
ota
cio
ne
s @
Na
me
("se
ssio
nC
on
text
Va
r")
y @
Sco
pe
(Sco
pe
Typ
e.S
ES
SIO
N)
de
Se
am
Mu
est
ra a
l u
sua
rio
el
no
mb
re d
el
Re
qu
eri
mie
nto
en
se
sió
n f
ija
da
en
la
cla
se S
ess
ion
Co
nte
xtV
ar,
ad
em
ás
se m
ue
stra
la
s re
spe
ctiv
as
op
cio
ne
s a
soci
ad
as
a u
n R
eq
ue
rim
ien
to
Mu
est
ra l
a i
nst
an
cia
de
Re
qu
eri
mie
nto
co
n
su r
esp
ect
iva
lis
ta d
e M
eto
do
Ob
ten
cio
nE
l m
éto
do
"b
loq
ue
arE
sta
do
Re
qu
eri
mie
nto
" h
ab
ilit
a o
de
sha
bil
ita
el
cam
po
"Im
ple
me
nta
r re
qu
eri
mie
nto
", s
i la
pri
ori
da
d d
el
Re
qu
eri
mie
nto
en
se
sió
n e
s d
ife
ren
te d
e c
ero
cli
c e
n l
a o
pció
n A
dm
inis
tra
r()
setR
eq
ue
rim
ien
to(r
eq
ue
rim
ien
to)
vie
w()
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
cli
c e
n l
a o
pció
n D
ato
s A
dic
ion
ale
s()
setR
eq
ue
rim
ien
toId
(re
qu
eri
mie
nto
Id)
vie
w()
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
Re
qu
eri
mie
nto
>
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
Me
tod
oO
bte
nci
on
>
ge
tAss
ign
ed
Tip
osM
eto
do
sOb
ten
cio
n()
:L
ist<
Tip
oM
eto
do
Ob
ten
cio
n>
blo
qu
ea
rEst
ad
oR
eq
ue
rim
ien
to()
:b
oo
lea
n
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sRe
qu
eri
mie
nto
()se
tte
rsC
am
po
sRe
qu
eri
mie
nto
()se
tte
rsC
am
po
sRe
qu
eri
mie
nto
()se
tte
rsC
am
po
sRe
qu
eri
mie
nto
()
setA
ssig
ne
dT
ipo
sMe
tod
osO
bte
nci
on
(Lis
t<T
ipo
Me
tod
oO
bte
nci
on
>)
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
up
da
te()
:S
trin
ga
dd
Me
tod
osO
bte
nci
on
() up
da
te()
:S
trin
gu
pd
ate
() :
Str
ing
ge
tUp
da
ted
Me
ssa
ge
Ke
y()
:Str
ing
sho
wG
lob
alM
ess
ag
es(
)E
xce
pti
on
()sh
ow
Glo
ba
lMe
ssa
ge
s()
Página | 184
Figura 3.95: (Diagrama de Secuencia del Caso de Uso “Identificar Posible Mejora Potencial”)
Po
sib
leM
ejo
ra
«e
nu
me
rati
on
»
Tip
oC
ost
oP
osi
ble
Me
jora
«e
nu
me
rati
on
»
Tip
oT
iem
po
Po
sib
leM
ejo
ra
Usu
ari
o
(fro
m A
cto
res)P
ág
ina
de
Ma
ne
jo
de
Po
sib
les
Me
jora
s .X
HT
ML
Pá
gin
a d
e
Cre
ació
n d
e
Po
sib
le M
ejo
ra
.XH
TM
L
Pá
gin
a d
e
Cre
ació
n d
e
Po
sib
le M
ejo
ra
.PA
GE
.XH
TM
L
En
tity
Ho
me
Ad
min
En
tity
Ho
me
Po
sib
leM
ejo
ra
Ho
me
Tip
oT
iem
po
Po
sib
le
Me
jora
Lis
tT
ipo
Co
sto
Po
sib
le
Me
jora
Lis
t
Có
dig
o:
34
Ca
so
de
Us
o:
Ide
nti
fica
r P
osi
ble
M
ejo
ra P
ote
nci
al
Flu
jo B
ás
ico
:E
l u
sua
rio
da
cli
c e
n l
a o
pci
ón
“C
rea
r” d
e l
a P
ág
ina
de
Ma
ne
jo
de
Po
sib
les
Me
jora
s, y
el
sist
em
a
ge
ne
ra d
os
list
as
de
sple
ga
ble
s,
un
a q
ue
in
dic
a e
l ti
po
de
tie
mp
o
(íte
ms:
Ba
jo,
Me
dio
, A
lto
), y
la
o
tra
qu
e i
nd
ica
el
tip
o d
e c
ost
o
(íte
ms:
Ba
jo M
ed
io,
Alt
o,
De
sco
no
cid
o),
y m
ue
stra
est
as
list
as
jun
to a
lo
s ca
mp
os
de
có
dig
o y
de
scri
pci
ón
en
la
P
ág
ina
de
Cre
aci
ón
de
Po
sib
le
Me
jora
re
laci
on
ad
a a
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
. E
l u
sua
rio
in
gre
sa c
ad
a d
ato
u
cam
po
, y
el
sist
em
a v
ali
da
qu
e e
l d
ato
se
a c
orr
ect
o (
no
exc
ed
a e
l lí
mit
e d
e c
ara
cte
res
pe
rmit
ido
s,
ob
lig
ato
rie
da
d,
tip
os
de
da
tos,
re
gla
s d
e n
eg
oci
o).
El
usu
ari
o d
a c
lic
en
la
op
ció
n
“Gu
ard
ar”
. S
i ca
da
da
to e
s
corr
ect
o e
l si
ste
ma
pe
rsis
te l
a
Po
sib
le M
ejo
ra e
n l
a r
esp
ect
iva
ta
bla
de
la
ba
se d
e d
ato
s y
se
dir
ecc
ion
a a
la
Pá
gin
a d
e
Ma
ne
jo d
e P
osi
ble
s M
ejo
ras
mo
stra
nd
o l
os
nu
evo
s d
ato
s e
n l
a
list
a d
e P
osi
ble
s M
ejo
ras
aso
cia
da
al
Re
qu
eri
mie
nto
se
lecc
ion
ad
o,
y u
n m
en
saje
qu
e
dic
e “
Gra
ba
ció
n e
xit
osa
”. E
l
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s P
osi
ble
s M
ejo
ras
cre
ad
as,
pa
ra l
o c
ua
l se
in
clu
ye
los
ca
sos
de
uso
“B
usc
ar
da
tos”
,
“Ed
ita
r d
ato
s” y
“E
lim
ina
r d
ato
s”
resp
ect
iva
me
nte
.
Flu
jos
Alt
ern
ati
vo
s:
Da
to i
nc
orr
ec
to:
El
sist
em
a
mu
est
ra a
l la
do
de
l d
ato
in
corr
ect
o u
n m
en
saje
qu
e
info
rma
el
tip
o d
e e
rro
r.E
l u
su
ari
o c
an
ce
la l
a c
rea
ció
n
de
un
a P
os
ible
Me
jora
: E
l si
ste
ma
se
dir
ecc
ion
a a
la
Pá
gin
a
de
Ma
ne
jo d
e P
osi
ble
s M
ejo
ras
mo
stra
nd
o l
a l
ista
de
Po
sib
les
Me
jora
s a
soci
ad
a a
l R
eq
ue
rim
ien
to s
ele
ccio
na
do
.E
xc
ep
ció
n a
l g
ua
rda
r P
os
ible
M
ejo
ra:
El
sist
em
a c
ap
tura
el
tip
o d
e e
rro
r y
se d
ire
ccio
na
a l
a
mis
ma
Pá
gin
a d
e C
rea
ció
n d
e
Po
sib
le M
ejo
ra m
ost
ran
do
un
m
en
saje
qu
e i
nfo
rma
el
tip
o d
e
err
or
cap
tura
do
.
Pa
ra i
ng
resa
r a
la
op
ció
n "
Cre
ar"
el
usu
ari
o d
eb
e e
sta
r vi
en
do
la
lis
ta d
e P
osi
ble
s M
ejo
ras
aso
cia
da
a u
n R
eq
ue
rim
ien
to e
n l
a P
ág
ina
de
Ma
ne
jo
de
Po
sib
les
Me
jora
s, p
ara
est
a a
cció
n v
er
el
dia
gra
ma
de
se
cue
nci
a d
el
caso
de
uso
“L
ista
r d
ato
s a
so
cia
do
s a
un
Re
qu
eri
mie
nto
”.
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
Tip
oT
iem
po
Po
sib
leM
ejo
ra
Ob
tie
ne
un
a l
ista
de
va
lore
s d
el
En
um
era
do
Tip
oC
ost
oP
osi
ble
Me
jora
El
atr
ibu
to "
valu
e"
de
l co
mp
on
en
te
"s:s
ele
ctIt
em
s" d
e
"htt
p:/
/jb
oss
.co
m/p
rod
uct
s/se
am
/ta
gli
b"
lla
ma
al
mé
tod
o g
etR
esu
ltL
ist,
y m
ue
stra
la
lis
ta d
e v
alo
res
de
l E
nu
me
rad
o
Tip
oT
iem
po
Po
sib
leM
ejo
ra o
T
ipo
Co
sto
Po
sib
leM
ejo
ra c
on
ayu
da
de
l co
mp
on
en
te "
h:s
ele
ctO
ne
Me
nu
" d
e
"htt
p:/
/ja
va.s
un
.co
m/j
sf/h
tml"
Mu
est
ra l
a i
nst
an
cia
de
P
osi
ble
Me
jora
cre
ad
a
Cre
a u
na
nu
eva
in
sta
nci
a d
e
Po
sib
leM
ejo
ra
Mu
est
ra a
l la
do
de
l ca
mp
o i
nco
rre
cto
un
me
nsa
je
qu
e i
nfo
rma
el
tip
o d
e e
rro
r ca
ptu
rad
o m
ed
ian
te
el
com
po
ne
nte
"ri
ch:m
ess
ag
e"
de
"h
ttp
://r
ich
face
s.o
rg/r
ich
". T
en
er
pre
sen
te q
ue
ca
da
ca
mp
o s
e e
ncu
en
tra
de
ntr
o d
el
com
po
ne
nte
"s:v
ali
da
teA
ll"
de
"h
ttp
://j
bo
ss.c
om
/pro
du
cts/
sea
m/t
ag
lib
"
Ob
tie
ne
el
Re
qu
eri
mie
nto
en
se
sió
n
pa
ra a
soci
ar
a l
a e
nti
da
d P
osi
ble
Me
jora
Fij
a e
l ca
mp
o "
req
ue
rim
ien
to"
de
la
en
tid
ad
Po
sib
leM
ejo
ra,
me
dia
nte
el
Re
qu
eri
mie
nto
en
se
sió
n.
Te
ne
r p
rese
nte
qu
e l
a
vari
ab
le "
sess
ion
Co
nte
xtV
ar"
de
tip
o "
Se
ssio
nC
on
text
Va
r" d
eb
e
est
ar
de
cla
rad
a e
n l
a c
lase
Po
sib
leM
ejo
raH
om
e,
y d
eb
e e
sta
r p
rece
did
a d
e l
a a
no
taci
ón
@In
de
Se
am
Re
torn
a u
n n
ue
vo i
d
pa
ra l
a e
nti
da
d
Po
sib
leM
ejo
ra
alt
na
vig
ati
on
fro
m-a
cti
on
="#
{po
sib
leM
ejo
raH
om
e.p
ers
ist}
"
[ru
le i
f-o
utc
om
e=
"pe
rsis
ted
"]
Si
exi
ste
alg
ún
tip
o d
e e
rro
r a
l p
ers
isti
r la
in
sta
nci
a d
e
Po
sib
leM
ejo
ra e
n l
a b
ase
de
da
tos,
el
sist
em
a l
o c
ap
tura
y
mu
est
ra u
n m
en
saje
qu
e i
nfo
rma
el
err
or
El
usu
ari
o p
ue
de
bu
sca
r, e
dit
ar
y e
lim
ina
r la
s P
osi
ble
s M
ejo
ras
cre
ad
as,
pa
ra l
o c
ua
l se
in
clu
ye l
os
dia
gra
ma
s d
e s
ecu
en
cia
de
lo
s ca
sos
de
uso
“B
us
ca
r
da
tos
”,
“E
dit
ar
da
tos
” y
“E
lim
ina
r d
ato
s” r
esp
ect
iva
me
nte
cli
c e
n l
a o
pció
n "
Cre
ar"
()
vie
w()
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
Tie
mp
oP
osi
ble
Me
jora
>
ge
tRe
sult
Lis
t()
:Lis
t<T
ipo
Co
sto
Po
sib
leM
ejo
ra>
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tId
() :
Ob
ject
ge
tIn
sta
nce
()g
etI
nst
an
ce()
ge
tIn
sta
nce
()
cre
ate
Inst
an
ce()
ing
resa
ca
mp
os(
)se
tte
rsC
am
po
sPo
sib
leM
ejo
ra() se
tte
rsC
am
po
sPo
sib
leM
ejo
ra()
sett
ers
Ca
mp
osP
osi
ble
Me
jora
()se
tte
rsC
am
po
sPo
sib
leM
ejo
ra()
ren
de
red
Me
ssa
ge
Va
lid
ati
on
()
cli
c e
n l
a o
pció
n G
ua
rda
r()
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
pe
rsis
t()
:Str
ing
setR
eq
ue
rim
ien
to(s
ess
ion
Co
nte
xtV
ar.
ge
tRe
qu
eri
mie
nto
())
en
d-c
on
vers
ati
on
()re
dir
ect
()g
etC
rea
ted
Me
ssa
ge
Ke
y()
sho
wG
lob
alM
ess
ag
es(
)
Exc
ep
tio
n()
sho
wG
lob
alM
ess
ag
es(
)
cli
c e
n l
a o
pció
n C
an
ce
lar(
)
vie
w()
Página | 185
Usuario
(from Actores)
RequerimientoPágina de
Administración de
Proyectos .XHTML
Página de Manejo
de Proyectos .XHTML
Página de
Priorización de
Requerimientos .XHTML
RequerimientoHomeSessionContextVar
Código: 35Caso de Uso: Priorizar los Requerimientos
Flujo Básico:El usuario da clic en la opción “Administrar” de la l ista de
Proyectos en la Página de Manejode Proyectos, y el sistema se direcciona a la Página de Administración de Proyectos mostrando las respectivas opciones como se observa en la Figura 3.8. El usuario ingresa a la opción “Análisis del Sistema /
Priorización de Requerimientos”, y
el sistema genera una lista de requerimientos con estado “Aceptado” y ordenada por
prioridad, y verifica si la l ista está vacía. Si no está vacía el sistema muestra esta lista en una tabla con los columnas “Prioridad”,
“Código”, “Descripción”, “Rango de
importancia”, “Rango de
satisfacción actual”, y dos
opciones en cada fi la (Subir, Bajar) para ordenar la prioridad; laopción “Subir” no se debe
visualizar en la primera fi la, y la opción “Bajar” no se debe
visualizar en la última fi la; esta tabla con sus respectivas opciones se muestra en la Página de Priorización de Requerimientos como se observa en la Figura 3.26.
El usuario da clic en la opción “Subir” de una fi la, y el sistema
intercambia los datos de la fi la actual con los datos de la fi la anterior; el usuario da clic en la opción “Bajar”, y el sistema
intercambia los datos de la fi la actual con los datos de la siguiente fi la. El usuario da clic enla opción “Guardar”, y el sistema
actualiza cada Requerimiento en la base de datos.
Flujos Alternativ os:La lista de Requerimientos está v acía: El sistema muestra en la Página de Priorización de Requerimientos un mensaje que dice “No se encontraron registros”.
Excepción al subir o bajar un Requerimiento: El sistema capturael tipo de error y se direcciona a lamisma Página de Priorización de Requerimientos mostrando un mensaje que informa el tipo de error capturado. Excepción al actualizar los Requerimientos: El sistema captura el tipo de error y se direcciona a la misma Página de Priorización de Requerimientos mostrando un mensaje que informa el tipo de error capturado.
Para ingresar a la opción "Administrar" el usuario debe estar viendo la l ista de Proyectos en la Página de Manejo de Proyectos, para esta acción se incluye el diagrama de secuencia del caso de uso “Listar datos iniciales de Proyectos”
Fija el Proyecto seleccionado en la clase SessionContextVar mediante el componente "f:setPropertyActionListener" de "http://java.sun.com/jsf/core". Tener en cuenta que la clase SessionContextVar debe estar precedida por las anotaciones @Name("sessionContextVar") y @Scope(ScopeType.SESSION) de Seam
Muestra al usuario el nombre del Proyecto en sesión fi jada en la claseSessionContextVar, además se muestra las respectivas opciones asociadas a un Proyecto
El atributo "value" del componente "rich:dataTable" de "http://richfaces.org/rich" l lama al método "getRequerimientosPriorizados" y muestra la l ista de instancias de Requerimiento
alt
[showGlobalMessages != 'false']
[empty requerimientoHome.requerimientosPriorizados]
[si existe al menos una fi la en el componente "rich:dataTable"]
La pregunta va en el atributo "rendered" del componente "h:outputText" de "http://java.sun.com/jsf/html"
La pregunta va en el atributo "rendered" del componente "h:messages" de "http://java.sun.com/jsf/html"
El usuario visualiza la l ista de instancias de Requerimiento en una tabla
clic en la opción Administrar()setProyecto(proyecto)
view()getProyecto() :Proyecto
clic en la opción Priorización de
Requerimientos()
initializeRequerimientosPriorizados()
view()
getRequerimientosPriorizados() :List<Requerimiento>
renderedMessages()
renderedMessage("No se encontraron registros")
visualizarCommandButtonUp() :boolean
visualizarCommandButtonDown() :boolean
clic en la opción Subir()upPrioridadRequerimiento(Requerimiento requerimiento)
Exception()showGlobalMessages()
clic en la opción Bajar() downPrioridadRequerimiento(Requerimiento requerimiento)
Exception()showGlobalMessages()
clic en la opción Guardar()updatePrioridad() :String
Exception()showGlobalMessages()
Figura 3.96: (Diagrama de Secuencia del caso de uso “Priorizar los
Requerimientos”)
Página | 186
3.3.2 Diagrama de clases
Figura 3.97: (Diagrama de Clases - Entidades - Parte I)
Cli
en
te
- id
: L
on
g-
cod
igo
: S
trin
g-
tele
fon
o:
Str
ing
- n
om
bre
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
Pe
tic
ion
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id
Pe
rso
na
De
sa
rro
llo
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
re:
Str
ing
- a
pe
llid
o:
Str
ing
+
Pe
rso
na
De
sarr
oll
o()
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tCa
ract
eri
stic
asP
ers
on
a()
: L
ist<
Ca
ract
eri
stic
aP
ers
on
a>
+
setC
ara
cte
rist
ica
sPe
rso
na
(Lis
t<C
ara
cte
rist
ica
Pe
rso
na
>)
: vo
id+
g
etC
arg
o()
: C
arg
o+
se
tCa
rgo
(Ca
rgo
) :
void
+
ge
tNiv
elS
igm
a()
: N
ive
lSig
ma
+
setN
ive
lSig
ma
(Niv
elS
igm
a)
: vo
id
Pro
yec
to
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
re:
Str
ing
- d
ire
cto
r:
Str
ing
- li
de
r:
Str
ing
- fe
cha
Re
cep
cio
n:
Da
te-
fech
aIn
icio
: D
ate
- fe
cha
Efe
ctiv
a:
Da
te-
fech
aF
inP
reli
min
ar:
D
ate
- fe
cha
Fin
Re
al:
D
ate
+
Pro
yect
o()
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tEst
ad
o()
: E
sta
do
Pro
yect
o+
se
tEst
ad
o(E
sta
do
Pro
yect
o)
: vo
id+
g
etA
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o()
: L
ist<
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o>
+
setA
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o(L
ist<
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o>
) :
void
+
ge
tCli
en
te()
: C
lie
nte
+
setC
lie
nte
(Cli
en
te)
: vo
id
As
ign
ac
ion
Pe
rso
na
De
sa
rro
llo
- id
: L
on
g
+
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o()
+
ge
tId
() :
Lo
ng
+
setI
d(L
on
g)
: vo
id+
g
etP
ers
on
aD
esa
rro
llo
() :
Pe
rso
na
De
sarr
oll
o+
se
tPe
rso
na
De
sarr
oll
o(P
ers
on
aD
esa
rro
llo
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id
Ca
rac
teri
sti
ca
Pe
rso
na
- id
: L
on
g
+
ge
tCa
ract
eri
stic
a()
: C
ara
cte
rist
ica
+
setC
ara
cte
rist
ica
(Ca
ract
eri
stic
a)
: vo
id+
g
etI
d()
: L
on
g+
se
tId
(Lo
ng
) :
void
+
ge
tPe
rso
na
De
sarr
oll
o()
: P
ers
on
aD
esa
rro
llo
+
setP
ers
on
aD
esa
rro
llo
(Pe
rso
na
De
sarr
oll
o)
: vo
id
Ca
rgo
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
re:
Str
ing
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
«e
nu
me
rati
on
»
Ca
rac
teri
sti
ca
C
OM
PR
OM
ISO
S
ES
GO
_A
CC
ION
F
LE
XIB
ILID
AD
IN
NO
VA
CIO
N
INF
LU
EN
CIA
_P
ER
SO
NA
L
TR
AB
AJO
_E
QU
IPO
T
IEM
PO
_D
ISP
ON
IBL
E
«e
nu
me
rati
on
»
Es
tad
oP
roye
cto
P
EN
DIN
G
IN_
PR
OC
ES
S
CO
MP
LE
TE
D
CA
NC
EL
LE
D
«e
nu
me
rati
on
»
Niv
elS
igm
a
N
ING
UN
A
CA
MP
EO
N
MA
ES
TR
O_
CIN
TU
RO
N_
NE
GR
O
CIN
TU
RO
N_
NE
GR
O
CIN
TU
RO
N_
VE
RD
E
Pro
ce
so
Ne
go
cio
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
re:
Str
ing
- a
lca
nce
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id
De
tall
eP
roc
es
o
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
ceso
Ne
go
cio
() :
Pro
ceso
Ne
go
cio
+
setP
roce
soN
eg
oci
o(P
roce
soN
eg
oci
o)
: vo
id+
g
etT
ipo
() :
Tip
oD
eta
lle
Pro
ceso
+
setT
ipo
(Tip
oD
eta
lle
Pro
ceso
) :
void
Ac
tiv
ida
d
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
ceso
Ne
go
cio
() :
Pro
ceso
Ne
go
cio
+
setP
roce
soN
eg
oci
o(P
roce
soN
eg
oci
o)
: vo
id+
g
etA
sig
na
cio
ne
sRe
spo
nsa
ble
Act
ivid
ad
() :
Lis
t<A
sig
na
cio
nR
esp
on
sab
leA
ctiv
ida
d>
+
setA
sig
na
cio
ne
sRe
spo
nsa
ble
Act
ivid
ad
(Lis
t<A
sig
na
cio
nR
esp
on
sab
leA
ctiv
ida
d>
) :
void
«e
nu
me
rati
on
»
Tip
oD
eta
lle
Pro
ce
so
P
RO
VID
ER
IN
PU
T
OU
TP
UT
C
US
TO
ME
R
Re
sp
on
sa
ble
Ac
tiv
ida
d
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
reC
om
ple
to:
Str
ing
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id+
g
etT
ipo
() :
Tip
oR
esp
on
sab
leA
ctiv
ida
d+
se
tTip
o(T
ipo
Re
spo
nsa
ble
Act
ivid
ad
) :
void
As
ign
ac
ion
Re
sp
on
sa
ble
Ac
tiv
ida
d
- id
: L
on
g
+
ge
tId
() :
Lo
ng
+
setI
d(L
on
g)
: vo
id+
g
etR
esp
on
sab
leA
ctiv
ida
d()
: R
esp
on
sab
leA
ctiv
ida
d+
se
tRe
spo
nsa
ble
Act
ivid
ad
(Re
spo
nsa
ble
Act
ivid
ad
) :
void
+
ge
tAct
ivid
ad
() :
Act
ivid
ad
+
setA
ctiv
ida
d(A
ctiv
ida
d)
: vo
id
«e
nu
me
rati
on
»
Tip
oR
es
po
ns
ab
leA
cti
vid
ad
IN
TE
RN
O
EX
TE
RN
O
Página | 187
Figura 3.98: (Diagrama de Clases - Entidades - Parte II)
Pro
yect
o
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
re:
Str
ing
- d
ire
cto
r:
Str
ing
- li
de
r:
Str
ing
- fe
cha
Re
cep
cio
n:
Da
te-
fech
aIn
icio
: D
ate
- fe
cha
Efe
ctiv
a:
Da
te-
fech
aF
inP
reli
min
ar:
D
ate
- fe
cha
Fin
Re
al:
D
ate
+
Pro
yect
o()
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tEst
ad
o()
: E
sta
do
Pro
yect
o+
se
tEst
ad
o(E
sta
do
Pro
yect
o)
: vo
id+
g
etA
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o()
: L
ist<
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o>
+
setA
sig
na
cio
ne
sPe
rso
na
De
sarr
oll
o(L
ist<
Asi
gn
aci
on
Pe
rso
na
De
sarr
oll
o>
) :
void
+
ge
tCli
en
te()
: C
lie
nte
+
setC
lie
nte
(Cli
en
te)
: vo
id
Raz
onS
olic
itud
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id
Met
a
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
Me
ta()
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id+
g
etA
na
lisi
sMe
tas(
) :
Lis
t<A
na
lisi
sMe
ta>
+
setA
na
lisi
sMe
tas(
Lis
t<A
na
lisi
sMe
ta>
) :
void
Ana
lisis
Met
a
- id
: L
on
g-
just
ific
aci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
() :
vo
id+
g
etC
ara
cte
rist
ica
Me
ta()
: C
ara
cte
rist
ica
Me
ta+
se
tCa
ract
eri
stic
aM
eta
(Ca
ract
eri
stic
aM
eta
) :
void
+
ge
tMe
ta()
: M
eta
+
setM
eta
(Me
ta)
: vo
id
«e
nu
me
rati
on
»
Car
acte
rist
icaM
eta
E
SP
EC
IFIC
A
ME
SU
RA
BL
E
AL
CA
NZ
AB
LE
R
EL
EV
AN
TE
Ane
xo
- id
: L
on
g-
cod
igo
: S
trin
g-
no
mb
reA
rch
ivo
: S
trin
g-
de
scri
pci
on
: S
trin
g-
tip
oC
on
ten
ido
: S
trin
g-
arc
hiv
o:
byt
e
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tFa
seP
roce
soD
esa
rro
llo
() :
Fa
seP
roce
soD
esa
rro
llo
+
setF
ase
Pro
ceso
De
sarr
oll
o(F
ase
Pro
ceso
De
sarr
oll
o)
: vo
id+
g
etP
roye
cto
() :
Pro
yect
o+
se
tPro
yect
o(P
roye
cto
) :
void
«e
nu
me
rati
on
»
Fase
Pro
ceso
Des
arro
llo
P
RO
JEC
T_
INIT
IAT
ION
S
YS
TE
M_
AN
AL
YS
IS
Fact
orC
ritic
o
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tPro
yect
o()
: P
roye
cto
+
setP
roye
cto
(Pro
yect
o)
: vo
id+
g
etT
ipo
() :
Tip
oF
act
or
+
setT
ipo
(Tip
oF
act
or)
: v
oid
«e
nu
me
rati
on
»
Tipo
Fact
or
E
XIT
O
RIE
SG
O
Req
ueri
mie
nto
- id
: L
on
g-
cod
igo
: S
trin
g-
pri
ori
da
d:
In
teg
er
- d
esc
rip
cio
n:
Str
ing
- fu
en
te:
Str
ing
- ju
stif
ica
cio
n:
Str
ing
- o
bse
rva
cio
n:
Str
ing
- ra
ng
oIm
po
rta
nci
a:
In
teg
er
- ra
ng
oS
ati
sfa
ccio
nA
ctu
al:
In
teg
er
+
Re
qu
eri
mie
nto
()+
g
ett
ers
...(
)+
se
tte
rs..
.()
: vo
id+
g
etP
roye
cto
() :
Pro
yect
o+
se
tPro
yect
o(P
roye
cto
) :
void
+
ge
tEst
ad
o()
: E
sta
do
Re
qu
eri
mie
nto
+
setE
sta
do
(Est
ad
oR
eq
ue
rim
ien
to)
: vo
id+
g
etT
ipo
() :
Tip
oR
eq
ue
rim
ien
to+
se
tTip
o(T
ipo
Re
qu
eri
mie
nto
) :
void
+
ge
tMe
tod
osO
bte
nci
on
() :
Lis
t<M
eto
do
Ob
ten
cio
n>
+
setM
eto
do
sOb
ten
cio
n(L
ist<
Me
tod
oO
bte
nci
on
>)
: vo
id
«e
nu
me
rati
on
»
Est
adoR
eque
rim
ient
o
P
EN
DIN
G
AC
CE
PT
ED
D
EN
IED
Met
odoO
bten
cion
- id
: L
on
g
+
ge
tId
() :
Lo
ng
+
setI
d(L
on
g)
: vo
id+
g
etR
eq
ue
rim
ien
to()
: R
eq
ue
rim
ien
to+
se
tRe
qu
eri
mie
nto
(Re
qu
eri
mie
nto
) :
void
+
ge
tTip
o()
: T
ipo
Me
tod
oO
bte
nci
on
+
setT
ipo
(Tip
oM
eto
do
Ob
ten
cio
n)
: vo
id
«e
nu
me
rati
on
»
Tipo
Met
odoO
bten
cion
E
NC
UE
ST
A
FO
CU
S_
GR
OU
P
EN
TR
EV
IST
A_
IND
IVID
UA
L
SIT
IO_
VIS
ITA
DO
Q
UE
JA_
CL
IEN
TE
R
ET
OR
NO
Con
flict
oRes
olv
er
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
+
setR
eq
ue
rim
ien
to(R
eq
ue
rim
ien
to)
: vo
id
Cri
teri
oAce
ptac
ion
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
+
setR
eq
ue
rim
ien
to(R
eq
ue
rim
ien
to)
: vo
id
Pos
ible
Mej
ora
- id
: L
on
g-
cod
igo
: S
trin
g-
de
scri
pci
on
: S
trin
g
+
ge
tte
rs..
.()
+
sett
ers
...(
) :
void
+
ge
tRe
qu
eri
mie
nto
() :
Re
qu
eri
mie
nto
+
setR
eq
ue
rim
ien
to(R
eq
ue
rim
ien
to)
: vo
id+
g
etT
ipo
Co
sto
() :
Tip
oC
ost
oP
osi
ble
Me
jora
+
setT
ipo
Co
sto
(Tip
oC
ost
oP
osi
ble
Me
jora
) :
void
+
ge
tTip
oT
iem
po
() :
Tip
oT
iem
po
Po
sib
leM
ejo
ra+
se
tTip
oT
iem
po
(Tip
oT
iem
po
Po
sib
leM
ejo
ra)
: vo
id
«e
nu
me
rati
on
»
Tipo
Cos
toP
osib
leM
ejor
a
B
AJO
M
ED
IO
AL
TO
D
ES
CO
NO
CID
O
«e
nu
me
rati
on
»
Tipo
Tiem
poP
osib
leM
ejor
a
B
AJO
M
ED
IO
AL
TO
Página | 188
CuentaUsuario
- id: Long- usuario: String- clave: String
+ getters...()+ setters...() : void+ getRolUsuario() : RolUsuario+ setRolUsuario(RolUsuario) : void
«enumeration»
RolUsuario
ADMINISTRADOR LIDER_PROYECTO ANALISTA CLIENTE
Requerimiento
- id: Long- codigo: String- prioridad: Integer- descripcion: String- fuente: String- justificacion: String- observacion: String- rangoImportancia: Integer- rangoSatisfaccionActual: Integer
+ Requerimiento()+ getters...()+ setters...() : void+ getProyecto() : Proyecto+ setProyecto(Proyecto) : void+ getEstado() : EstadoRequerimiento+ setEstado(EstadoRequerimiento) : void+ getTipo() : TipoRequerimiento+ setTipo(TipoRequerimiento) : void+ getMetodosObtencion() : List<MetodoObtencion>+ setMetodosObtencion(List<MetodoObtencion>) : void
«enumeration»
TipoRequerimiento
FUNCTIONAL NO_FUNCTIONAL
Figura 3.99: (Diagrama de Clases - Entidades - Parte III)
EntityHome<T>
AdminEntityHome<T>
+ getCreatedMessageKey() : String+ getDeletedMessageKey() : String+ getUpdatedMessageKey() : String+ persist() : String+ remove() : String+ update() : String
AdminEntityHome<Entidad>
EntityQuery<T> EntityQuery<Entidad><T->Entidad>
<T->Entidad>
Figura 3.100: (Diagrama de Clases – Framework)
El diagrama de clases de EntityHome y EntityQuery (parte del framework de
clases de JBoss Seam) se detalla en la sección 3.3 Diseño Detallado.
Los controladores Home (ver Figura 3.103) apoyan en las operaciones CRUD
de su respectiva entidad, ya que se ha creado un controlador por Entidad. Tener
Página | 189
en cuenta que el nombre del controlador tiene la siguiente estructura
“nombre_entidadHome”, es decir, si un controlador tiene el nombre “AnexoHome”,
este apoyará las operaciones CRUD de la entidad “Anexo”. De igual forma, el
nombre de los controladores List (ver Figura 3.104) tiene la misma estructura pero
la palabra “Home” es reemplazada por “List”; estos controladores List administran
los resultados de una sentencia JPQL aplicada a su respectiva entidad.
En la Figura 3.101 y 3.102 se muestra como definir un controlador Home y List
respectivamente. Esta estructura fue utilizada por todos los controladores.
AnexoHome
- anexoId: Long
+ getId() : Object+ persist() : String+ listener(UploadEvent) : void+ getAnexoId() : Long+ setAnexoId(Long) : void
AdminEntityHome<T>
+ getCreatedMessageKey() : String+ getDeletedMessageKey() : String+ getUpdatedMessageKey() : String+ persist() : String+ remove() : String+ update() : String
EntityHome<T>
AdminEntityHome<Anexo>
Figura 3.101: (Definición de un Controlador Home)
AnexoList
- EJBQL: String- RESTRICTIONS: String[]
+ AnexoList()+ descargar(Anexo) : void+ getAnexo() : Anexo+ getSessionContextVar() : SessionContextVar
EntityQuery<T> EntityQuery<Anexo>
Figura 3.102: (Definición de un Controlador List)
Página | 190
ConflictoResolv erHome
- conflictoResolverId: Long
+ getId() : Object+ persist() : String+ getConflictoResolverId() : Long+ setConflictoResolverId(Long) : void
CriterioAceptacionHome
- criterioAceptacionId: Long
+ getId() : Object+ persist() : String+ getCriterioAceptacionId() : Long+ setCriterioAceptacionId(Long) : void
PosibleMejoraHome
- posibleMejoraId: Long
+ getId() : Object+ persist() : String+ getPosibleMejoraId() : Long+ setPosibleMejoraId(Long) : void
Activ idadHome
- actividadId: Long
+ ActividadHome()+ getId() : Object+ update() : String+ setResponsablesActividadAsignados() : void+ addAsignacionResponsableActividad(ResponsableActividad) : void+ removeAsignacionResponsableActividad(AsignacionResponsableActividad) : void+ getActividadId() : Long+ setActividadId(Long) : void
AsignacionPersonaDesarrolloHome
DetalleProcesoHome
- detalleProcesoId: Long
+ getId() : Object+ getDetalleProcesoId() : Long+ setDetalleProcesoId(Long) : void
FactorCriticoHome
- factorCriticoId: Long
+ getId() : Object+ persist() : String+ getFactorCriticoId() : Long+ setFactorCriticoId(Long) : void
MetaHome
- metaId: Long
+ getId() : Object+ persist() : String+ getMetaId() : Long+ setMetaId(Long) : void
PeticionHome
- peticionId: Long
+ getId() : Object+ persist() : String+ getPeticionId() : Long+ setPeticionId(Long) : void
ProcesoNegocioHome
- procesoNegocioId: Long
+ getId() : Object+ persist() : String+ getProcesoNegocioId() : Long+ setProcesoNegocioId(Long) : void
RazonSolicitudHome
- razonSolicitudId: Long
+ getId() : Object+ persist() : String+ getRazonSolicitudId() : Long+ setRazonSolicitudId(Long) : void
RequerimientoHome
- requerimientoId: Long- entityManager: EntityManager
+ getId() : Object+ persist() : String+ update() : String+ bloquearEstadoRequerimiento() : boolean+ initializeRequerimientosPriorizados() : void+ visualizarCommandButtonUp(Requerimiento) : boolean+ visualizarCommandButtonDown(Requerimiento) : boolean+ upPrioridadRequerimiento(Requerimiento) : void+ downPrioridadRequerimiento(Requerimiento) : void+ updatePrioridad() : String+ addMetodosObtencion() : void+ getAssignedTiposMetodosObtencion() : List<TipoMetodoObtencion>+ setAssignedTiposMetodosObtencion(List<TipoMetodoObtencion>) : void+ getRequerimientoId() : Long+ setRequerimientoId(Long) : void+ getRequerimientosPriorizados() : List<Requerimiento>
ResponsableActiv idadHome
- responsableActividadId: Long
+ getId() : Object+ persist() : String+ getResponsableActividadId() : Long+ setResponsableActividadId(Long) : void
CargoHome
- cargoId: Long
+ getId() : Object+ getCargoId() : Long+ setCargoId(Long) : void
ClienteHome
- clienteId: Long
+ getId() : Object+ getClienteId() : Long+ setClienteId(Long) : void
PersonaDesarrolloHome
- personaDesarrolloId: Long
+ getId() : Object+ persist() : String+ update() : String+ addCaracteristicasPersona() : void+ getPersonaDesarrolloId() : Long+ setPersonaDesarrolloId(Long) : void+ getAssignedCaracteristicas() : List<Caracteristica>+ setAssignedCaracteristicas(List<Caracteristica>) : void
AnexoHome
- anexoId: Long
+ getId() : Object+ persist() : String+ listener(UploadEvent) : void+ getAnexoId() : Long+ setAnexoId(Long) : void
ProyectoHome
- proyectoId: Long
+ ProyectoHome()+ getId() : Object+ update() : String+ setPersonasDesarrolloAsignadas() : void+ addAsignacionPersonaDesarrollo(PersonaDesarrollo) : void+ removeAsignacionPersonaDesarrollo(AsignacionPersonaDesarrollo) : void+ getProyectoId() : Long+ setProyectoId(Long) : void
CuentaUsuarioHome
- cuentaUsuarioId: Long
+ getId() : Object+ getCuentaUsuarioId() : Long+ setCuentaUsuarioId(Long) : void
Figura 3.103: (Diagrama de Clases – Controladores – Home)
Página | 191
ConflictoResolv erList
- EJBQL: String- RESTRICTIONS: String[]
+ ConflictoResolverList()+ getConflictoResolver() : ConflictoResolver+ getSessionContextVar() : SessionContextVar
CriterioAceptacionList
- EJBQL: String- RESTRICTIONS: String[]
+ CriterioAceptacionList()+ getCriterioAceptacion() : CriterioAceptacion+ getSessionContextVar() : SessionContextVar
PosibleMejoraList
- EJBQL: String- RESTRICTIONS: String[]
+ PosibleMejoraList()+ getPosibleMejora() : PosibleMejora+ getSessionContextVar() : SessionContextVar
Activ idadList
- EJBQL: String- RESTRICTIONS: String[]
+ ActividadList()+ getActividad() : Actividad+ getSessionContextVar() : SessionContextVar
AsignacionPersonaDesarrolloList
- EJBQL: String- RESTRICTIONS: String[]
+ AsignacionPersonaDesarrolloList()+ getAsignacionPersonaDesarrollo() : AsignacionPersonaDesarrollo+ getSessionContextVar() : SessionContextVar
DetalleProcesoList
- EJBQL: String- RESTRICTIONS: String[]
+ DetalleProcesoList()+ getDetalleProceso() : DetalleProceso+ getSessionContextVar() : SessionContextVar
FactorCriticoList
- EJBQL: String- RESTRICTIONS: String[]
+ FactorCriticoList()+ getFactorCritico() : FactorCritico+ getSessionContextVar() : SessionContextVar
MetaList
- EJBQL: String- RESTRICTIONS: String[]
+ MetaList()+ getMeta() : Meta+ getSessionContextVar() : SessionContextVar
PeticionList
- EJBQL: String- RESTRICTIONS: String[]
+ PeticionList()+ getPeticion() : Peticion+ getSessionContextVar() : SessionContextVar
ProcesoNegocioList
- EJBQL: String- RESTRICTIONS: String[]
+ ProcesoNegocioList()+ getProcesoNegocio() : ProcesoNegocio+ getSessionContextVar() : SessionContextVar
RazonSolicitudList
- EJBQL: String- RESTRICTIONS: String[]
+ RazonSolicitudList()+ getRazonSolicitud() : RazonSolicitud+ getSessionContextVar() : SessionContextVar
RequerimientoList
- EJBQL: String- RESTRICTIONS: String[]
+ RequerimientoList()+ getRequerimiento() : Requerimiento+ getSessionContextVar() : SessionContextVar
ResponsableActiv idadList
- EJBQL: String- RESTRICTIONS: String[]
+ ResponsableActividadList()+ getResponsableActividad() : ResponsableActividad+ getSessionContextVar() : SessionContextVar+ getResponsablesActividadAsignados() : List<ResponsableActividad>
CargoList
- EJBQL: String- RESTRICTIONS: String[]
+ CargoList()+ getCargo() : Cargo
ClienteList
- EJBQL: String- RESTRICTIONS: String[]
+ ClienteList()+ getCliente() : Cliente
PersonaDesarrolloList
- EJBQL: String- RESTRICTIONS: String[]
+ PersonaDesarrolloList()+ getPersonaDesarrollo() : PersonaDesarrollo+ getPersonasDesarrolloAsignadas() : List<PersonaDesarrollo>
AnexoList
- EJBQL: String- RESTRICTIONS: String[]
+ AnexoList()+ descargar(Anexo) : void+ getAnexo() : Anexo+ getSessionContextVar() : SessionContextVar
ProyectoList
- EJBQL: String- RESTRICTIONS: String[]
+ ProyectoList()+ getProyecto() : Proyecto
CuentaUsuarioList
- EJBQL: String
+ CuentaUsuarioList()+ getCuentaUsuario() : CuentaUsuario
Figura 3.104: (Diagrama de Clases – Controladores – List)
Página | 192
Los controladores de la Figura 3.105 están asociados a un componente de
interfaz de usuario, y muestran los valores de su respectiva clase de tipo
Enumerado.
CaracteristicaList
+ getResultList() : List<Caracteristica>
EstadoRequerimientoList
+ getResultList() : List<EstadoRequerimiento>+ getACCEPTED() : EstadoRequerimiento+ getDENIED() : EstadoRequerimiento+ getPENDING() : EstadoRequerimiento
Niv elSigmaList
+ getResultList() : List<NivelSigma>
TipoCostoPosibleMejoraList
+ getResultList() : List<TipoCostoPosibleMejora>TipoDetalleProcesoList
+ getResultList() : List<TipoDetalleProceso>
TipoFactorList
+ getResultList() : List<TipoFactor>
TipoMetodoObtencionList
+ getResultList() : List<TipoMetodoObtencion>
TipoRequerimientoList
+ getResultList() : List<TipoRequerimiento>
TipoResponsableActiv idadList
+ getResultList() : List<TipoResponsableActividad>
TipoTiempoPosibleMejoraList
+ getResultList() : List<TipoTiempoPosibleMejora>
RolUsuarioList
+ getResultList() : List<RolUsuario>
TipoReporteList
+ getResultList() : List<TipoReporte>+ getCUESTIONARIO_REQUERIMIENTOS_CLIENTE() : TipoReporte
Figura 3.105: (Diagrama de Clases – Controladores – Enumerations List)
Página | 193
Los controladores de la Figura 3.106, fueron creados con fines de validar el
ingreso de datos, almacenar variables de sesión, generar y mostrar reportes en
formato PDF, y autentificar usuario del sistema en sesión.
SessionContextVar
- proyecto: Proyecto- requerimiento: Requerimiento- faseProcesoDesarrollo: FaseProcesoDesarrollo
+ getProyecto() : Proyecto+ setProyecto(Proyecto) : void+ getRequerimiento() : Requerimiento+ setRequerimiento(Requerimiento) : void+ getFaseProcesoDesarrollo() : FaseProcesoDesarrollo+ setFaseProcesoDesarrollo(FaseProcesoDesarrollo) : void+ setFasePROJECT_INITIATION() : void+ setFaseSYSTEM_ANALYSIS() : void
«enumeration»
TipoReporte
FICHA_PROYECTO EQUIPO_DESARROLLO METAS_PROYECTO PROCESOS_NEGOCIO CARACTERIZACION_PROCESOS MATRIZ_REQUERIMIENTOS_CLIENTE REGISTRO_REQUERIMIENTOS CRITERIOS_ACEPTACION_REQUERIMIENTOS MATRIZ_PRIORIZACION_REQUERIMIENTOS EVALUACION_COSTO_TIEMPO_MEJORAS_REQUERIMIENTOS CUESTIONARIO_REQUERIMIENTOS_CLIENTE
Authenticator
- identity: Identity- entityManager: EntityManager
+ authenticate() : boolean
ValidatorFechaEfectiv a
+ validate(FacesContext, UIComponent, Object) : void
ValidatorFechaFinPreliminar
+ validate(FacesContext, UIComponent, Object) : voidValidatorFechaFinReal
+ validate(FacesContext, UIComponent, Object) : void
ValidatorFechaInicio
+ validate(FacesContext, UIComponent, Object) : voidValidatorFechaRecepcion
+ validate(FacesContext, UIComponent, Object) : void
ReporterGenerator
- entityManager: EntityManager- SUBREPORTS_PATH: String
+ getReporte() : String+ getTipoReporte() : TipoReporte+ setTipoReporte(TipoReporte) : void+ getProyecto() : Proyecto+ setProyecto(Proyecto) : void
ReporterHelper
+ ReporterHelper()+ getInstancia() : ReporterHelper+ exportPdfReport(String, Map<>, String, Connection) : void
Figura 3.106: (Diagrama de Clases – Controladores – Otros)
Página | 194
3.3.3 Modelo de datos
Figura 3.107: (Modelo de datos)
Página | 195
3.4 Implementación
En esta fase se realizó la codificación del software, en base al análisis y
diseño realizado en las fases anteriores de la metodología ICONIX. Antes de
empezar la codificación se instaló y configuró el ambiente de desarrollo, con las
herramientas mencionadas en la sección “2.5 Herramientas de Desarrollo” del
presente proyecto.
Luego se configuró y generó la estructura inicial del proyecto web con ayuda
de la herramienta “Seam Generator” que forma parte del framework Seam.
Posteriormente, la edición de este proyecto se realizó en Netbeans IDE.
Finalmente, para realizar las pruebas funcionales del software con el usuario,
se desplegó este proyecto en el Servidor de Aplicaciones JBoss.
3.5 Evaluación del Software
En esta sección se expondrá los resultados de una encuesta, ejecutada con el
fin de evaluar el software desarrollado en el presente proyecto.
Con esta finalidad se subió temporalmente al Internet el aplicativo y la
encuesta. Luego se reunió a un grupo de personas para explicarles en su
totalidad el funcionamiento del software, y concluir llenado la encuesta.
También se realizó la encuesta a otro grupo de personas de forma virtual
(online), enviándoles por correo electrónico el link de acceso al software para que
la utilicen, y de esta forma llenen la encuesta.
Página | 196
Al finalizar la evaluación, los resultados fueron procesados a través de una
hoja de cálculo del programa Google Docs. Las preguntas con sus respectivos
porcentajes obtenidos se muestran en la siguiente tabla.
Resultados de la evaluación del software
Sección Preguntas Opciones %
obtenido
Manejo de Parámetros Generales
En qué opción(s) tuvo mayor dificultad en el manejo de datos
Roles 17% Clientes 0%
Personas de Desarrollo 8% Ninguna 75%
Al buscar y listar datos
Todos los campos de búsqueda fueron los apropiados para filtrar la información, pero falta más opciones de búsqueda
8%
Los campos y opciones de búsqueda fueron suficientes para filtrar la información requerida
75%
Los campos seleccionados para mostrar en la lista de datos fue la apropiada
50%
Debería mostrarse más campos en la lista de datos
0%
En qué opción(s) se requirió el ingreso de algún dato importante que el sistema no disponía
Roles 8% Clientes 17%
Personas de Desarrollo 0% Ninguna 75%
Manejo de Proyectos
Al crear o editar un proyecto
Se pudo ingresar todos los datos, sin perder la secuencia de ingreso
83%
La aplicación le guió en el ingreso de todos los datos
58%
En el ingreso de datos se detectó validaciones que la aplicación no controlaba
0%
Al buscar proyectos
Hubo algún campo que se requirió para buscar un proyecto que no estuvo presente en los filtros de búsqueda
0%
Se necesitó otras opciones de búsqueda para encontrar un proyecto
17%
No se detectó ningún contratiempo en la búsqueda de proyectos
83%
Al listar Proyectos
Los campos mostrados en la lista de Proyectos son los adecuados
75%
Debería mostrarse más campos en la lista de Proyectos
33%
Se detectó problemas al listar los Proyectos
0%
Administración de las Fases “Iniciación del
Proyecto” y
“Análisis del
Sistema”
propuestas en la guía
Usted como Cliente desea realizar una notificación inicial sobre el desarrollo de un Proyecto de Software, para ello utiliza las opciones: “Proyectos”, “Peticiones
Generales del Cliente”, y “Razones de
Solicitud del Proyecto”. Cuál fue su
apreciación
Con los datos solicitados se podría dar inicio a la negociación del proyecto, pero se requiere más detalle
25%
Con los datos solicitados se podría dar inicio a la negociación del proyecto
75%
Página | 197
Se encontró la necesidad de ingresar otros datos que la aplicación no disponía
8%
Usted como Líder de un Proyecto de Desarrollo en que rango de porcentaje cree usted que los datos manejados en las opciones “Proyectos”, “Peticiones Generales del Cliente”, y “Razones de Solicitud del
Proyecto”, le ayudarían a comprender lo que
Cliente está solicitando
Del 1% al 30% 0%
Del 31% al 50% 8%
Del 51% al 70% 33%
Del 71% al 100% 58%
Está usted de acuerdo que los datos manejados en la opción “Información del
Proyecto” son suficientes para tener una
visión general de la identificación de un Proyecto de Desarrollo
Parcialmente de acuerdo 0%
Medianamente de acuerdo 25%
Completamente de acuerdo 75%
La conformación del equipo de desarrollo utilizando la opción “Equipo de Desarrollo” le
resultó
Muy Fácil 42%
Fácil 58% Complicado 0% Muy Complicado 0%
Los datos de las Personas de Desarrollo manejadas en la opción “Parámetros
Generales/Personas de Desarrollo” le
ayudaron con algún criterio para seleccionar a las Personas de deberían formar parte de un Equipo de Desarrollo. Seleccionar el rango de porcentaje de ayuda
Del 1% al 30% 8%
Del 31% al 50% 8%
Del 51% al 70% 33%
Del 71% al 100% 50%
Teniendo en cuenta que los Factores Críticos de Éxito hacen único a un Proyecto porque le ayudan a identificar cómo va a competir en el mercado; y los Factores de Riesgo ayudan a identificar los posibles problemas que se pueden enfrentar en un Proyecto. En base a lo expuesto la aplicación permite el ingreso de estos factores, y el registro de metas aplicando el criterio SMART mediante las opciones “Factores Críticos” y “Análisis de Metas”
respectivamente. Piensa usted que los datos manejados en estas opciones pueden influir de manera positiva en la toma de decisiones
Si 100%
No 0%
A través de las opciones “Iniciación del
Proyecto/Procesos del Negocio” y “Iniciación
del Proyecto/Actividades”, la aplicación
permite manejar información de los Procesos que requiere un sistema con sus respectivas actividades. Tener en cuenta que si se dispone de información adicional para comprender mejor los Procesos que serán automatizados, esta podrán ser anexada al Proyecto mediante la opción “Iniciación del Proyecto/Anexos”.
Seleccionar el rango de importancia que cree usted que puede resultar en un Proyecto de Desarrollo la información manejada en estas opciones
1 = no muy importante 0%
4 = moderadamente importante 8%
7 = muy importante 75%
10 = extremadamente importante 17%
En el rango del 1 al 5 siendo el 1 el más bajo. Cuanto cree usted que es necesario la identificación de las Personas encargadas de ejecutar las Actividades de los Procesos que requiere un sistema. Utilizar la opción “Iniciación del Proyecto/Responsables de
1 0%
2 0%
3 8%
Página | 198
Actividades” para registrar estas Personas, y
la opción “Iniciación del Proyecto/
Identificación de Responsables por Actividad” para identificar las Actividades
que tendrán asignadas
4 42%
5 50%
La opción “Iniciación del
Proyecto/Identificación Macro de Procesos”
permite determinar las salidas claves que provean un nivel de comprensión macro sobre los Procesos que requiere un sistema. Qué tan útil puede resultar esta opción en la identificación de un Proceso
Poco útil 0%
Moderadamente útil 42%
Muy útil 58%
La definición de requerimientos se realiza mediante la opción “Iniciación del
Proyecto/Definición de Requerimientos”.
Tener presente que la aplicación permite descargar un cuestionario para orientarle en la obtención de requerimientos. Estos requerimientos pueden ser analizados uno por uno mediante la opción “Análisis del
Sistema/Análisis de Requerimientos”. Para
utilizar todas las opciones de Análisis de Requerimientos, se recomienda iniciar sesión como usuario “Analista”. Después de finalizar el análisis de requerimientos, en qué rango de porcentaje cree usted que la aplicación le ayudo a definir el alcance del Proyecto
1% al 10% 0%
11% al 20% 0%
21% al 30% 0%
31% al 40% 0%
41% al 50% 0%
51% al 60% 0%
61% al 70% 17%
71% al 80% 8%
81% al 90% 67%
91% al 100% 8%
Los requerimientos aceptados para su desarrollo pueden ser priorizados a través de la opción “Análisis del
Sistema/Priorización de Requerimientos”. En
el rango del 1 al 5 siendo el 1 el más bajo, cuanto cree usted que la aplicación le ayudó en priorizar los requerimientos del Cliente en orden de desarrollo
1 0%
2 0%
3 0%
4 58%
5 42%
En cada fase de desarrollo se ha incluido una opción denominada “Anexos” que
permite registrar cualquier archivo que sea de importancia para el Proyecto. La aplicación le brindó las facilidades para subir y descargar todos sus documentos
Si, pero hubo contratiempos 0%
Si, totalmente 100%
No 0%
Generación de Reportes
La información presentada en cada reporte tiene relación con los datos ingresados
Si 100%
No 0%
En qué formato(s) le gustaría obtener los reportes
PDF 83%
Documento Word 58% XML 0% HTML 8%
Documento Excel 58% RTF 0%
Apreciación general de la herramienta
Las ayudas proporcionadas por la herramienta facilitaron
Ingreso de datos 58%
Manejo de todas las opciones 67%
Uso de toda la aplicación 75% Manejo de algunas opciones 25%
Qué pudo apreciar en los mensajes de validaciones de ingreso de datos
Son Confusos 0% Son Claros, pero falta detallarlos 33% Son aceptables como para no cometer errores
67%
En cuanto al uso de opciones de acuerdo al tipo de usuario en sesión (Líder del
Se encontró la forma de acceder a una opción no autorizada al usuario
0%
Página | 199
Proyecto, Analista, Cliente), cual fue el comportamiento de la herramienta La aplicación garantizó solo el uso
de opciones autorizadas al usuario 100%
Encontró alguna opción que no funcionó o produjo cierta caída de la aplicación, seleccione el rango de cantidad de opciones defectuosas encontradas
Ninguna 75%
De 1 a 3 25%
De 4 a 6 0%
De 7 a 9 0% De 10 a 15 0% De 16 en adelante 0%
Cree usted que la aplicación le resultó intuitiva en el uso de sus diferentes opciones
Nada intuitiva 0% Poco intuitiva 8% Bastante intuitiva 83%
Totalmente intuitiva 8%
Teniendo en cuenta que la herramienta en su versión actual permite la administración de dos fases de desarrollo de las seis que propone el modelo de la Guía mencionada en la introducción de la presente encuesta. Estaría usted de acuerdo en probar esta herramienta aplicándola en sus proyectos de desarrollo, pero al finalizar la automatización de todas las fases de desarrollo. Seleccione el porcentaje de aceptación
Del 1% al 30% 0%
Del 31% al 50% 0%
Del 51% al 70% 8%
Del 71% al 100% 92%
En el rango del 1 al 5 siendo el 1 el más bajo. En qué rango recomendaría usted a otras personas el uso de esta herramienta, con el fin de evaluarla y probarla en sus proyectos de desarrollo
1 0%
2 0% 3 0% 4 42% 5 58%
Tabla 3.46: (Resultados de la evaluación del software)
Página | 200
CAPÍTULO IV
4.1 Conclusiones
v Al aplicar la metodología ICONIX en el desarrollo del software, se pudo
apreciar que la parte más importante y sobre la cual se fundamenta el
análisis de un sistema es la identificación y redacción de los casos de uso.
v Para eliminar las posibles ambigüedades en la obtención de los
requerimientos funcionales del sistema, se aplicó algunas directrices
propuestas por ICONIX que facilitaron la ejecución de esta tarea, y es así,
que mediante la técnica de “Análisis de Robustez” se logró efectuar un
análisis profundo de los casos de uso, y a la vez se facilitó la identificación
de objetos como interfaces, entidades, y controles presentes en los
requerimientos; esto fue de gran utilidad al momento de pasar del análisis
al diseño del sistema.
v La herramienta case Enterprise Architect facilitó la aplicación de la
metodología ICONIX en el desarrollo del software, cabe mencionar que
esta herramienta dispone de un ejemplo que abarca todas las fases de
ICONIX con su respectiva explicación, el cual puede ser utilizado como
formato para iniciar un proyecto de desarrollo de software. Este ejemplo es
una guía muy práctica para personas que están iniciando en esta
metodología.
v Se implementó un software orientado a la web que gestione la aplicación
de la técnica de calidad SEIS SIGMA al proceso de desarrollo de software,
pero solo se automatizaron la dos primeras fases que son: “Iniciación del
Página | 201
Proyecto” y “Análisis del Sistema” de las seis que propone la guía
mencionada en los antecedentes del presente proyecto, entonces queda
abierta la posibilidad de finalizar la automatización de las fases restantes,
y así obtener un sistema que controle adecuadamente todo el proceso de
desarrollo de software.
v Mediante la especificación EJB 3.0 de la plataforma Java EE 5.0, se
aceleró considerablemente la codificación de los componentes de la capa
de negocio del sistema, ya que no hay que preocuparse por las
transacciones, la persistencia, la concurrencia, u otros servicios de nivel
de sistema, porque estos son responsabilidad del servidor de aplicaciones;
esto permitió centrarse exclusivamente en la codificación de la lógica de
negocio del sistema.
v La configuración y creación del proyecto web, se aceleró gracias a la
herramienta “Seam Generator” que forma parte del framework Seam.
v El framework de clases (EntityHome y EntityQuery) que proporciona
Seam, facilitó el desarrollo de controladores que apoyan la ejecución de
operaciones CRUD y consultas JPQL sobre las entidades JPA.
v Los resultados de una encuesta reflejaron que el software desarrollado en
el presente proyecto, es muy intuitivo para el usuario en un 83% gracias a
las diferentes ayudas, mensajes, y control de errores que proporciona este
software. Cabe mencionar que el 92% de los usuarios respondió que
estaría dispuesto en utilizar esta herramienta, y además recomendó el uso
de este software a otras personas, seleccionando un rango del 1 al 5
Página | 202
(siendo el 1 el más bajo) obteniéndose el siguiente resultado 4 – 42% y 5 –
58%.
4.2 Recomendaciones
v Utilizar herramientas que apoyen el control de Proyectos de Desarrollo de
Software y permitan tomar decisiones de mejoramiento continuo, y por
consiguiente obtener un Software de calidad.
v Emplear metodologías que fomenten la aplicación de buenas prácticas en
el Proceso de Desarrollo de Software.
v Usar herramientas case que permitan la aplicación de metodologías en el
análisis y diseño de Proyectos de Desarrollo de Software; esto facilitará el
mantenimiento del mismo.
v Al desarrollar una aplicación web con Seam Framework, se recomienda
recurrir a “Eclipse” como IDE de desarrollo, porque la mayoría de las
herramientas que facilitan la creación y edición de este tipo de
aplicaciones están hechas para este IDE.
v Para obtener una herramienta que permita el control de todo el proceso de
desarrollo de software, se recomienda continuar con el desarrollo de las
cuatro fases restantes que son: Diseño del Sistema, Construcción,
Evaluación y Aseguramiento de Calidad, e Implementación, de las seis
fases que propone el modelo de la Guía utilizada como base en el
presente proyecto.
Página | 203
BIBLIOGRAFÍA
v Doug Rosenberg and Matt Stephens. (2007). Use Case Driven Object
Modeling with UML. Berkeley: Apress.
v Kevin Mukhar & Chirs Zelenak, with James L. Weaver, Jim Crume, (2006). Beginning Java EE 5. United States of America: Apress.
v Mike Keith, Merrick Schincariol, (2006). Pro EJB 3: Java Persistence API. United States of America: Apress.
v Debu Panda, Reza Rahman, Derek Lane, (2007). EJB 3 in Action. United States of America: Manning Publications Co.
v Dan Allen, (2009). Seam in Action. United States of America: Manning Publications Co.
v Joseph Faisal Nusairat, (2007). Beginning JBoss Seam. United States of America: Apress.
v Jim Farley, (2007). Practical JBoss Seam Projects. United States of America: Apress.
v Jacobson I., Booch G., Rumbaugh J., (2000). El proceso unificado de
desarrollo de software. Madrid: Pearson Educación, S.A.
v Cecilia Hinojosa, R., (2008). Seis Sigma y el Proceso de Desarrollo de
Software. Obtenida el 20 de Noviembre del 2009, de http://www.espe.edu.ec/portal/files/sitiocongreso/congreso/c_computacion/SeisSigmaPDS.pdf.
v Pérsico, Carolina, Z., Daniel Oscar. (2009). Modelo de Dominio de
Larman-RUP vs Modelo de Dominio de ICONIX. Obtenida el 5 de Marzo del 2010, de URL.
v Jorge Arias, (2004). Aplicaciones Empresariales sobre Plataformas
J2EE Open Source. Obtenida el 20 de Noviembre del 2009, de http://www.acis.org.co/memorias/SalonInformatica/XXIVSalonInformatica/Conferencia-J2EE.pdf.
v Carla, S. Metodología ICONIX. Obtenida el 22 de Febrero del 2010, de http://www.portalhuarpe.com.ar/Seminario09/archivos/MetodologiaICONIX.pdf.
v Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato, (2004). Control de Versiones con Subversion.
Página | 204
v Sun Microsystems, Inc. The Java EE 5 Tutorial. Santa Clara, U.S.A. Obtenida el 4 de Abril del 2010 del sitio oficial de Sun, http://java.sun.com/javaee/5/docs/tutorial/doc.
Página | 205
BIOGRAFÍA
LUIS MIGUEL YACCHIREMA ESPÍN
Nació en la ciudad de Quito el 9 de Agosto de 1984.
Inició su formación académica en la escuela Fiscal “Federico González Suárez”
(1996) de Salcedo – Cotopaxi. Sus estudios secundarios los realizó en tres
colegios, por motivos de la profesión militar de su padre, iniciando en el Colegio
Nacional Técnico “JAMBELI” (1996 – 1998) de Santa Rosa – El Oro, continuando
en el Colegio Fiscal Mixto “Dr. Jorge Icaza Coronel” (1998 – 2000) de Guayaquil –
Guayas, finalizando la secundaria en el Colegio Nacional “Juan de Salidas” (2000
– 2002) de Sangolquí – Pichincha, y obtuvo el título de “Bachiller en ciencias
especialidad Químico – Biológicas”.
Realizó sus estudios superiores en la Escuela Politécnica del Ejército (ESPE),
egresando en la carrera de Ingeniería en Sistemas e Informática (2004 – 2009), y
obtuvo el certificado de suficiencia en el idioma Inglés en la misma institución.
En el año 2006 colaboró como soporte técnico en el diseño de animaciones web
para el Proyecto de Educación Virtual de la ESPE. Trabajó como Analista –
Programador en el Sistema Administrativo Financiero de la empresa
Termopichincha S.A., (2007 – 2008). Colaboró en la implantación del Sistema
Administrativo Financiero en la empresa Termoesmeraldas S.A., realizando tareas
de análisis, diseño, y capacitación de usuarios (2008). Desempeño el cargo de
“Líder de Desarrollo” en el Proyecto de Gestión de Recursos Humanos para la
empresa Carrasco & Asociados Consultores (2008 – 2009).
Se graduó de Ingeniero en Sistemas e Informática, en la Escuela Politécnica del
Ejército (2011) de Sangolquí – Pichincha.
Página | 206
HOJA DE LEGALIZACIÓN DE FIRMAS
ELABORADO POR
___________________________________
Sr. Yacchirema Espín Luis Miguel
COORDINADOR DE LA CARRERA
___________________________________
Sr. Ing. Mauricio Campaña
Lugar y fecha: Sangolquí, Agosto del 2011