PARTE PRIMERA: EL PRODUCTO Y EL PROCESO
CAP~TULO 1: EL PRODUCTO, 3
1.2. EL SOFTWARE, 5
1.1. LA EVOLUCI~N DEL SOFTWARE 4
1.2.1. CARACTER~STICAS DEL SOFTWARE, 5
1.2.2. APLICACIONES DEL SOFTWARE, 6
1.3. SOFTWARE: LUNA CRISIS EN EL HORIZONTE?, 8
1.4. MITOS DEL SOFTWARE, 8
RESUMEN, 10
REFERENCIAS, 10
PROBLEMAS Y PUNTOS A CONSIDERAR, 11
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 11
CAP~TULO 2: EL PROCESO, 13
2.1. INGENIERIA DEL SOFTWARE: UNA TECNOLOGÍA ESTRATIFICADA, 14
2.1.1. PROCESO, MÉTODOS Y HERRAMIENTAS, 14
2.1.2.
2.2. EL PROCESO DEL SOFTWARE, 16
2.3. MODELOS DE PROCESO DEL SOFTWARE, 19
2.4. EL MODELO LINEAL SECUENCIAL, 20
UNA VISIÓN GENERAL DE LA INGENIERíA DEL SOFTWARE, 14
2.5. EL MODELO DE CONSTRUCCI~N DE PROTOTIPOS, 21
2.6. EL MODELO DRA, 22
2.7. MODELOS EVOLUTIVOS DE PROCESO DEL SOFTWARE, 23
2.7.1. EL MODELO INCREMENTAL, 23
2.1.2. EL MODELO ESPIRAL, 24
2.7.3. EL MODELO ESPIRAL WINWIN (Victoria & Victoria), 26
2.7.4. EL MODELO DE DESARROLLO CONCURRENTE, 27
2.8. DESARROLLO BASADO EN COMPONENTES, 28
2.9. EL MODELO DE MÉTODOS FORMALES, 29
2.10. TÉCNICAS DE CUARTA GENERACI~N, 29
2.11. TECNOLOG~AS DE PROCESO, 30
2.12. PRODUCTO Y PROCESO, 31
RESUMEN, 31
REFERENCIAS, 32
PROBLEMAS Y PUNTOS A CONSIDERAR, 32
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 33
PARTE SEGUNDA: GESTIÓN DE PROYECTOS DE SOFTWARE
CAP~TULO 3: CONCEPTOS SO BRE GESTIÓN DE PROYECTOS, 37
3.1. EL ESPECTRO DE LA GESTIÓN, 38
3.1.1. PERSONAL, 38
VI1
CONTENIDO
3.1.2. PRODUCTO, 38
3.1.3. PROCESO, 38
3.1.4. PROYECT0,39
3.2. PERSONAL, 39
3.2.1. LOS PARTICIPANTES, 39
3.2.2.
3.2.3.
LOS JEFES DE EQUIPO, 40
EL EQUIPO DE SOFTWARE, 40
3.2.4. ASPECTOS SOBRE LA COORDINACI~N Y LA COMUNICACI~N, 43
3.3. PRODUCTO, 44
3.3.1. ÁMBITO DEL SOFTWARE, 44
3.3.2. DESCOMPOSICIÓN DEL PROBLEMA, 45
3.4. PROCESO, 45
3.4.1, MADURACI~N DEL PRODUCTO Y DEL PROCESO, 46
3.4.2. DESCOMPOSICI~N DEL PROCESO, 47
3.5. PROYECTO, 48
3.6. EL PRINCIPIO W5HH, 49
3.7. PRÁCTICAS CR~TICAS, 49
RESUMEN, 50
REFERENCIAS, 50
PROBLEMAS Y PUNTOS A CONSIDERAR, 51
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 51
CAPÍTULO 4: PROCESO DE SOFTWARE Y MÉTRICAS DE PROYECTOS, 53
4.1. MEDIDAS, MÉTRICAS E INDICADORES, 54
4.2. MÉTRICAS EN EL PROCESO Y DOMINIOS DEL PROYECTO, 55
4.2.1.
4.2.2. MÉTRICAS DEL PROYECTO, 58
MÉTRICAS DEL PROCESO Y MEJORAS EN EL PROCESO DEL SOFTWARE, 55
4.3. MEDICIONES DEL SOFTWARE, 58
4.3.1. MÉTRICAS ORIENTADAS AL TAMANO, 59
4.3.2. MÉTRICAS ORIENTADAS A LA FUNCI~N, 61
4.3.3. MÉTRICAS AMPLIADAS DE PUNTO DE FUNCIÓN, 61
4.4. RECONCILIACIÓN DE LOS DIFERENTES ENFOQUES DE MÉTRICAS, 62
VISIÓN GENERAL DE LOS FACTORES QUE AFECTAN A LA CALIDAD, 63
MEDIDA DE LA CALIDAD, ó4
4.5. MÉTRICAS PARA LA CALIDAD DEL SOFTWARE, 63
4.5.1.
4.5.2.
4.5.3. EFICACIA DE LA ELIMINACI~N DE DEFECTOS, 64
4.6. INTEGRACI~N DE LAS MÉTRICAS DENTRO DEL PROCESO DE INGENIER~A
DEL SOFTWARE, 65
4.6.1.
4.6.2.
4.6.3.
ARGUMENTOS PARA LAS MÉTRICAS DEL SOFTWARE, 65
ESTABLECIMIENTO DE UNA LÍNEA BASE, 66
COLECCIÓN DE MÉTRICAS, CÓMPUTO Y EVALUACIÓN, 66
4.7. EL DESARROLLO DE LA MÉTRICA Y DE LA OPM (OBJETIVO, PREGUNTA,
4.8. VARIACI~N DE LA GESTIÓN: CONTROL DE PROCESOS ESTAD~STICOS, 69
4.9. MÉTRICA PARA ORGANIZACIONES PEQUEÑAS, 71
MÉTRICA), 67
4.10. ESTABLECIMIENTO DE UN PROGRAMA DE MÉTRICAS DE SOFTWARE, 72
RESUMEN, 73
REFERENCIAS, 74
PROBLEMAS Y PUNTOS A CONSIDERAR, 75
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 75
5.1. OBSERVACIONES SOBRE LA ESTIMACI~N, 78
5.2. OBJETIVOS DE LA PLANIFICACI~N DEL PROYECTO, 79
CAPÍTULO 5: PLANIFICACI ÓN DE PROYECTOS DE SOFTWARE, 77
VI11
CONTENIDO
5.3. ÁMBITO DEL SOFTWARE, 79
5.3.1. OBTENCI~N DE LA INFORMACI~N NECESARIA PARA EL ÁMBITO, 79
5.3.3. UN EJEMPLO DE ÁMBITO, 80
5.3.2. VIABILIDAD, 80
5.4. RECURSOS,82
5.4.1. RECURSOS HUMANOS, 82
5.4.2.
5.4.3. RECURSOS DE ENTORNO, 83
RECURSOS DE SOFTWARE REUTILIZABLES, 82
5.5. ESTIMACIÓN DEL PROYECTO DE SOFTWARE, 84
5.6. TÉCNICAS DE DESCOMPOSICI~N, 85
5.6.1 TAMAÑO DEL SOFTWARE, 85
5.6.2.
5.6.3.
ESTIMACIÓN BASADA EN EL PROBLEMA, 86
UN EJEMPLO DE ESTIMACIÓN BASADA EN LDC, 87
5.6.4. UN EJEMPLO DE ESTIMACI~N BASADA EN PF, 88
5.6.5. ESTIMACI~N BASADA EN EL PROCESO, 89
5.6.6. UN EJEMPLO DE ESTIMACI~N BASADA EN EL PROCESO, 89
5.7.1. LA ESTRUCTURA DE LOS MODELOS DE ESTIMACI~N, 90
5.7.3. LAECUACI~N DEL SOFTWARE, 92
5.8.1. CREACI~N DE UN ÁRBOL DE DECISIONES, 93
5.8.2. SUBCONTRATACI~N (OUTSOURCM), 94
5.7. MODELOS EMPIRICOS DE ESTIMACIÓN, 90
5.7.2. EL MODELO COCOMO, 91
5.8. LA DECISIÓN DE DESARROLLAR-COMPRAR, 92
5.9. HERRAMIENTAS AUTOMÁTICAS DE ESTIMACI~N, 94
RESUMEN, 95
REFERENCIAS, 95
PROBLEMAS Y PUNTOS A CONSIDERAR, 96
OTRAS LECTURAS Y FUENTES DE INFORMACIÓN, 96
CAPÍTULO 6: ANÁLISIS Y GESTIÓN DEL RIESGO, 97
6.1. ESTRATEGIAS DE RIESGO PROACTIVAS VS. REACTIVAS, 98
6.2. RIESGO DEL SOFTWARE, 98
6.3. IDENTIFICACI~N DEL RIESGO, 99
6.3.1. EVALUACI~N GLOBAL DEL RIESGO DEL PROYECTO, 100
6.3.2. COMPONENTES Y CONTROLADORES DEL RIESGO, 101
6.4. PROYECCIÓN DEL RIESGO, 101
6.4.1.
6.4.2.
6.4.3. EVALUACIÓN DEL RIESGO, 103
DESARROLLO DE UNA TABLA DE RIESGO, 101
EVALUACIÓN DEL IMPACTO DEL RIESGO, 103
6.5. REFINAMIENTO DEL RIESGO, 104
6.6. REDUCCIÓN, SUPERVISIÓN Y GESTIÓN DEL RIESGO, 105
6.7. RIESGOS Y PELIGROS PARA LA SEGURIDAD, 106
6.8. EL PLAN RSGR, 107
RESUMEN, 107
REFERENCIAS, 107
PROBLEMAS Y PUNTOS A CONSIDERAR, 108
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 108
CAPÍTULO 7: PLANIFICACI~N TEMPORAL Y SEGUIMIENTO DEL PROYECTO, 111
7.1. CONCEPTOS BÁSICOS, 112
7.1.1.
7.1.2. PRINCIPIO BÁSICOS, 11 3
COMENTARIOS SOBRE «LOS RETRASOS», 112
IX
CONTENIDO
7.2.
7.3.
7.4.
7.5.
1.6.
7.7.
7.8.
7.9.
7.10.
LA RELACI~N ENTRE LAS PERSONAS Y EL ESFUERZO, 114
7.2.2. UNA RELACI~N EMP~RICA, 115
DEFINICI~N DE UN CONJUNTO DE TAREAS PARA EL PROYECTO DE SOFTWARE, 116
7.3.2. DEFINIR LOS CRITERIOS DE ADAPTACI~N, 117
7.2.1. UN EJEMPLO, 115
7.2.3. DISTRIBUCIÓN DEL ESFUERZO, 115
7.3.1. GRADO DE RIGOR, 117
7.3.3.
7.3.4.
CÁLCULO DEL VALOR SELECTOR DEL CONJUNTO DE TAREAS, 117
INTERPRETAR EL VALOR SCT Y SELECCIONAR EL CONJUNTO DE TAREAS, 119
SELECCI~N DE LAS TAREAS DE INGENIER~A DEL SOFTWARE, 119
REFINAMIENTO DE LAS TAREAS PRINCIPALES, 120
DEFINIR UNA RED DE TAREAS, 121
7.7.1. GRÁFICOS DE TIEMPO, 123
ANÁLISIS DE VALOR GANADO, 125
SEGUIMIENTO DEL ERROR, 126
EL PLAN DEL PROYECTO, 127
LA PLANIFICACI~N TEMPORAL, 122
7.7.2. SEGUIMIENTO DE LA PLANIFICACI~N TEMPORAL, 124
RESUMEN, 127
REFERENCIAS, 128
PROBLEMAS Y PUNTOS A CONSIDERAR, 128
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 129
CAP~TULO 8: GARANT~A DE CALIDAD DEL SOFTWARE íSOA/GCS), 131
8.1. CONCEPTOS DE CALIDAD, 132
8.1.1. CALIDAD, 132
8.1.2. CONTROLDE CALIDAD, 133
8.1.3. GARANTIADECALIDAD, 133
8.1.4. COSTE DE CALIDAD, 133
8.2. LA TENDENCIA DE LA CALIDAD, 134
8.3. GARANTIA DE CALIDAD DEL SOFTWARE, 135
8.3.1. PROBLEMAS DE FONDO, 135
8.3.2. ACTIVIDADES DE SQA, 136
8.4. REVISIONES DEL SOFTWARE, 137
8.4.1.
8.4.2.
IMPACTO DE LOS DEFECTOS DEL SOFTWARE SOBRE EL COSTE, 137
AMPLIFICACIÓN Y ELIMINACIÓN DE DEFECTOS, 138
8.5. REVISIONES TÉCNICAS FORMALES, 138
8.5.1. LAREUNI~N DE REVISI~N, 139
8.5.2. REGISTRO E INFORME DE LAREVISI~N, 140
8.5.3. DIRECTRICES PARALAREVISI~N, 140
8.6. GARANT~A DE CALIDAD ESTAD~STICA, 141
8.7. FIABILIDAD DEL SOFTWARE, 143
8.7.1.
8.7.2. SEGURIDAD DEL SOFTWARE, 144
8.8. PRUEBA DE ERRORES PARA EL SOFTWARE, 145
8.9. EL ESTÁNDAR DE CALIDAD ISO 9001,146
MEDIDAS DE FIABILIDAD Y DE DISPONIBILIDAD, 143
8.10. EL PLAN DE SQA, 147
RESUMEN, 148
REFERENCIAS, 148
PROBLEMAS Y PUNTOS A CONSIDERAR, 149
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 150
CAP~TULO 9: GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE íGCSISCM1,lSl
9.1. GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE, 152
X
CONTENIDO
9.1.1. LÍNEAS BASE, 152
9.1.2. ELEMENTOS DE CONFIGURACI~N DEL SOFTWARE, 153
9.2. EL PROCESO DE GCS, 154
9.3. IDENTIFICACI~N DE OBJETOS EN LA CONFIGURACI~N DEL SOFTWARE, 154
9.4. CONTROL DE VERSIONES, 155
9.5. CONTROL DE CAMBIOS, 156
9.6. AUDITORÍA DE LA CONFIGURACI~N, 158
9.7. INFORMES DE ESTADO, 159
RESUMEN, 159
REFERENCIAS, 160
PROBLEMAS Y PUNTOS A CONSIDERAR, 160
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 161
PARTE TERCERA: MÉTODOS CONVENCIONALES PARA LA INGENIERÍA DEL SOFTWARE
CAPÍTULO 10: INGENIERÍA DE SISTEMAS, 165
10.1. SISTEMAS BASADOS EN COMPUTADORA, 167
10.2. LA JERARQUÍA DE LA INGENIERÍA DE SISTEMAS, 167
10.2.1. MODELADO DEL SISTEMA, 167
10.2.2. SIMULACI~N DEL SISTEMA, 168
10.3. INGENIERIA DE PROCESO DE NEGOCIO: UNA VISIÓN GENERAL, 169
10.4. INGENIERIA DE PRODUCTO: UNA VISIÓN GENERAL, 171
10.5. INGENIERÍA DE REQUISITOS, 171
10.5.1. IDENTIFICACIÓN DE REQUISITOS, 172
10.5.3. ESPECIFICACIÓN DE REQUISITOS, 173
10.5.4. MODELADO DEL SISTEMA, 174
10.5.5. VALIDACIÓN DE REQUISITOS, 174
10.5.6. GESTIÓN DE REQUISITOS, 174
10.5.2. ANÁLISIS Y NEGOCIACI~N DE REQUISITOS, 173
10.6. MODELADO DEL SISTEMA, 175
RESUMEN, 178
REFERENCIAS, 178
PROBLEMAS Y PUNTOS A CONSIDERAR, 179
OTRAS LECTURAS Y FUENTES DE INFORMACION, 179
CAPITULO 11: CONCEPTOS Y PRINCIPIOS DEL ANÁLISIS, 181
11.1. ANÁLISIS DE REQUISITOS, 182
11.2. IDENTIFICACIÓN DE REQUISITOS PARA EL SOFTWARE, 183
11.2.1. INICIO DEL PROCESO, 183
11.2.3. DESPLIEGUE DE LA FUNCIÓN DE CALIDAD, 186
11.2.4. CASOS DE USO, 186
11.2.2. TÉCNICAS PARA FACILITAR LAS ESPECIFICACIONES DE UNA APLICACI~N, I84
11.3. PRINCIPIOS DEL ANÁLISIS, 188
11.3.1. EL DOMINIO DE LA INFORMACIÓN, 189
11.3.2. MODELADO, 190
11.3.3. PARTICIÓN, 190
11.3.4. VISIONES ESENCIALES Y DE IMPLEMENTACI~N, 191
11.4.1. SELECCI~N DEL ENFOQUE DE CREACI~N DE PROTOTIPOS, I 92
11.4. CREACIÓN DE PROTOTIPOS DEL SOFTWARE, 192
11.4.2. MÉTODOS Y HERRAMIENTAS PARA EL DESARROLLO DE PROTOTIPOS, 193
11.5. ESPECIFICACI~N, 193
XI
CONTENIDO
11.5.1. PRINCIPIOS DE LA ESPECIFICACIÓN, 194
11.5.3. LAESPECIFICACIÓN DE LOS REQUISITOS DEL SOFTWARE, 194
11.5.2. REPRESENTACI~N, 194
11.6. REVISI~N DE LA ESPECIFICACI~N, 195
RESUMEN, 196
REFERENCIAS, 196
PROBLEMAS Y PUNTOS A CONSIDERAR, 197
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 197
CAPÍTULO 12: MODELADO DEL A NÁLISIS, 199
12.1. BREVE HISTORIA, 200
12.2. LOS ELEMENTOS DEL MODELO DE ANÁLISIS, 200
12.3. MODELADO DE DATOS, 201
12.3.1. OBJETOS DE DATOS, ATRIBUTOS Y RELACIONES, 201
12.3.2. CARDINALIDAD Y MODALIDAD, 203
12.3.3. DIAGRAMAS ENTIDAD-RELACIÓN, 204
12.4. MODELADO FUNCIONAL Y FLUJO DE INFORMACIÓN, 205
12.4.1. DIAGRAMAS DE FLUJO DE DATOS, 206
12.4.2. AMPLIACIONES PARA SISTEMAS DE TIEMPO REAL, 207
12.4.3. AMPLIACIONES DE WARD Y MELLOR, 207
12.4.4. AMPLIACIONES DE HATLEY Y PIRBHAI, 208
12.5. MODELADO DEL COMPORTAMIENTO, 209
12.6. MECANISMOS DEL ANÁLISIS ESTRUCTURADO, 210
12.6.1. CREACI~N DE UN DIAGRAMA ENTIDAD-RELACI~N, 210
12.6.2. CREACI~N DE UN MODELO DE FLUJO DE DATOS, 211
12.6.3. CREACIÓN DE UN MODELO DE FLUJO DE CONTROL, 213
12.6.4. LAESPECIFICACIÓN DE CONTROL, 214
12.6.5. LA ESPECIFICACIÓN DEL PROCESO, 214
12.7. EL DICCIONARIO DE DATOS, 215
12.8. OTROS MÉTODOS CLÁSICOS DE ANÁLISIS, 216
RESUMEN, 216
REFERENCIAS, 217
PROBLEMAS Y PUNTOS A CONSIDERAR, 217
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 218
CAPÍTULO 13: CONCEPTOS Y PRINCIPIOS DE DISENO, 219
13.1. DISENO DEL SOFTWARE E INGENIERIA DEL SOFTWARE, 220
13.2. EL PROCESO DE DISENO, 221
13.2.1. DISEÑOY CALIDAD DEL SOFTWARE, 221
13.2.2. LA EVOLUCI~N DEL DISENO DEL SOFTWARE, 221
13.3. PRINCIPIOS DEL DISENO, 222
13.4. CONCEPTOS DEL DISENO, 223
13.4.2. REFINAMIENTO, 224
13.4.3. MODULARIDAD, 224
13.4.4. ARQUITECTURA DEL SOFTWARE, 226
13.4.5. JERARQU~A DE CONTROL, 226
13.4.6. DIVISIÓN ESTRUCTURAL, 227
13.4.7. ESTRUCTURA DE DATOS, 228
13.4.8. PROCEDIMIENTO DE SOFTWARE, 229
13.4.1. ABSTRACCI~N, 223
13.4.9. OCULTACI~N DE INFORMACI~N, 229
13.5. DISENO MODULAR EFECTIVO. 229
CONTENIDO
13.5.1. INDEPENDENCIA FUNCIONAL, 229
13.5.2. COHESIÓN, 230
13.5.3. ACOPLAMIENTO, 231
13.6. HEURÍSTICA DE DISENO PARA UNA MODULARIDAD EFECTIVA, 231
13.7. EL MODELO DEL DISENO, 233
13.8. DOCUMENTACI~N DEL DISENO, 233
RESUMEN, 234
REFERENCIAS, 234
PROBLEMAS Y PUNTOS A CONSIDERAR, 235
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 236
CAPÍTULO 14: DISENO AROU ITECT~NICQ ,237
14.1.1. LQUÉ ES ARQUITECTURA?, 238
14.1.2. ¿POR QUÉ ES IMPORTANTE LA ARQUITECTURA?, 238
14.1. ARQUITECTURA DEL SOFTWARE, 238
14.2. DISENO DE DATOS, 239
14.2.1 MODELADO DE DATOS, ESTRUCTURAS DE DATOS, BASES DE DATOS Y ALMACÉN DE
DATOS, 239
14.2.2. DISENO DE DATOS A NIVEL DE COMPONENTES, 240
14.3. ESTILOS ARQUITECT~NICOS, 241
14.3.1. UNA BREVE TAXONOMíADE ESTILOS Y PATRONES, 241
14.3.2. ORGANIZACIÓN Y REFINAMIENTO, 243
14.4. ANÁLISIS DE DISEHOS ARQUITECT~NICOS ALTERNATIVOS, 243
14.4.1. UN MÉTODO DE ANALISIS DE COMPROMISO PARA LA ARQUITECTURA, 243
14.4.2. GUíA CUANTITATIVA PARA EL DISENO ARQUITECTÓNICO, 244
14.4.3. COMPLEJIDAD ARQUITECTÓNICA, 245
14.5. CONVERSIÓN DE LOS REQUISITOS EN UNA ARQUITECTURA DEL SOFTWARE, 245
14.5.1. FLUJO DE TRANSFORMACI~N, 246
14.5.2. FLUJO DE TRANSACCIÓN, 246
14.6. ANÁLISIS DE LAS TRANSFORMACIONES, 247
14.6.1. UN EJEMPLO, 247
14.6.2. PASOS DEL DISENO, 247
14.7. ANÁLISIS DE LAS TRANSACCIONES, 252
14.7.1. UN EJEMPLO, 252
14.7.2. PASOS DEL DISEÑO, 252
14.8. REFINAMIENTO DEL DISENO ARQUITECT~NICO, 25s
RESUMEN, 256
REFERENCIAS, 256
PROBLEMAS Y PUNTOS A CONSIDERAR, 257
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 258
CAPITULO 15 : DISENO DE LA 1 NTERFAZ DE USUARIO ,259
15.1. LAS REGLAS DE ORO, 260
15.1.1. DAR ELCONTROLALUSUARIO, 260
15.1.2. REDUCIR LA CARGA DE MEMORIA DEL USUARIO, 260
15.1.3. CONSTRUCCIÓN DE UNA INTERFAZ CONSISTENTE, 261
15.2. DISEÑO DE LA INTERFAZ DE USUARIO, 262
15.2.1. MODELOS DE DISENO DE LAINTERFAZ, 262
15.2.2. EL PROCESO DE DISENO DE LA INTERFAZ DE USUARIO, 263
15.3. ANÁLISIS Y MODELADO DE TAREAS, 264
15.4. ACTIVIDADES DEL DISENO DE LA INTERFAZ, 264
15.4.1. DEFINICIÓN DE OBJETOS Y ACCIONES DE LA INTERFAZ, 265
15.4.2. PROBLEMAS DEL DISEÑO, 266
XIII
CONTENIDO
15.5. HERRAMIENTAS DE IMPLEMENTACI~N, 268
15.6. EVALUACIÓN DEL DISENO, 268
RESUMEN, 270
REFERENCIAS, 270
PROBLEMAS Y PUNTOS A CONSIDERAR, 270
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 271
CAPÍTULO 16: DISENO A NIVEL DE COMPONENTES, 273
16.1. PROGRAMACI~N ESTRUCTURADA, 274
16.1.1. NOTACIÓN GRÁFICA DEL DISENO, 274
16.1.2. NOTACIÓN TABULAR DE DISENO, 274
16.1.3. LENGUAJE DE DISENO DE PROGRAMAS, 276
16.1.4. UN EJEMPLO DE LDP, 277
16.2. COMPARACI~N DE NOTACIONES DE DISENO, 278
RESUMEN, 279
REFERENCIAS, 279
PROBLEMAS Y PUNTOS A CONSIDERAR, 280
OTRAS LECTURAS Y FUENTES DE INFORMACIÓN, 280
CAPÍTULO 17: TÉCNICAS DE PRUEBA DEL SOFTWARE, 281
17.1. FUNDAMENTOS DE LAS PRUEBAS DEL SOFTWARE, 282
17.1.1. OBJETIVOS DE LAS PRUEBAS, 282
17.1.2. PRINCIPIOS DE LAS PRUEBAS, 282
17.1.3. FACILIDAD DE PRUEBA, 283
17.2. DISENO DE CASOS DE PRUEBA, 285
17.3. PRUEBA DE CAJA BLANCA, 286
17.4. PRUEBA DEL CAMINO BÁSICO, 286
17.4.1. NOTACIÓN DE GRAFO DE FLUJO, 286
17.4.2. COMPLEJIDAD CICLOMÁTICA, 287
17.4.3. OBTENCI~N DE CASOS DE PRUEBA, 288
17.4.4. MATRICES DE GRAFOS, 290
17.5. PRUEBA DE LA ESTRUCTURA DE CONTROL, 291
17.5.1. PRUEBA DE CONDICIÓN, 291
17.5.2. PRUEBA DEL FLUJO DE DATOS, 292
17.5.3. PRUEBA DE BUCLES, 293
17.6. PRUEBA DE CAJA NEGRA, 294
17.6.1. MÉTODOS DE PRUEBA BASADOS EN GRAFOS, 294
17.6.2. PARTICIÓN EQUIVALENTE, 296
17.6.3. ANÁLISIS DE VALORES L~MITE, 297
17.6.4. PRUEBA DE COMPARACIÓN, 297
17.6.5. PRUEBA DE LATABLA ORTOGONAL, 298
17.7. PRUEBA DE ENTORNOS ESPECIALIZADOS, ARQUITECTURAS Y APLICACIONES, 299
17.7.1. PRUEBA DE INTERFACES GRÁFICAS DE USUARIO (IGUs), 299
17.7.2. PRUEBA DE ARQUITECTURA CLIENTE/SERVIDOR, 300
17.7.3. PRUEBA DE LA DOCUMENTACI~N Y FACILIDADES DE AYUDA, 300
17.7.4. PRUEBA DE SISTEMAS DE TIEMPO-REAL, 300
RESUMEN, 301
REFERENCIAS, 302
PROBLEMAS Y PUNTOS A CONSIDERAR, 302
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 303
XIV
CONTENIDO
CAPITULO 18: ESTRATEGIAS DE PRUEBA DEL SOFTWARE, 305
18.1. UN ENFOQUE ESTRATÉGICO PARA LAS PRUEBAS DEL SOFTWARE, 306
18.1.1, VERIFICACI~N Y VALIDACI~N, 306
18.1.2. ORGANIZACIÓN PARA LAS PRUEBAS DEL SOFTWARE, 307
18.1.3. UNA ESTRATEGIA DE PRUEBA DEL SOFTWARE, 307
18.1.4. CRITERIOS PARA COMPLETAR LA PRUEBA, 308
18.2. ASPECTOS ESTRATÉGICOS, 309
18.3. PRUEBA DE UNIDAD, 310
18.3.1. CONSIDERACIONES SOBRE LAPRUEBA DE UNIDAD, 310
18.3.2. PROCEDIMIENTOS DE PRUEBA DE UNIDAD, 31 1
18.4. PRUEBA DE INTEGRACI~N, 312
18.4.1. INTEGRACIÓN DESCENDENTE, 312
18.4.2. INTEGRACIÓN ASCENDENTE, 3 13
18.4.3. PRUEBA DE REGRESIÓN, 314
18.4.4. PRUEBA DE HUMO, 314
18.4.5. COMENTARIOS SOBRE LA PRUEBA DE INTEGRACIÓN, 31 5
18.5. PRUEBA DE VALIDACIÓN, 316
18.5.1. CRITERIOS DE LA PRUEBA DE VALIDACIÓN, 316
18.5.2. REVISI~N DE LACONFIGURACI~N, 316
18.5.3. PRUEBAS ALFAY BETA, 316
18.6. PRUEBA DEL SISTEMA, 317
18.6.1. PRUEBA DE RECUPERACIÓN, 317
18.6.2. PRUEBADE SEGURIDAD, 317
18.6.3. PRUEBA DE RESISTENCIA (STRESS), 318
18.6.4. PRUEBA DE RENDIMIENTO, 318
18.7. EL ARTE DE LA DEPURACIÓN, 318
18.7.1. ELPROCESO DE DEPURACIÓN, 319
18.7.2. CONSIDERACIONES PSICOLÓGICAS, 319
18.7.3. ENFOQUES DE LA DEPURACIÓN, 320
RESUMEN, 321
REFERENCIAS, 321
PROBLEMAS Y PUNTOS A CONSIDERAR, 322
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 322
CAPÍTULO 19: MÉTRICAS TÉCNICAS DEL SOFTWARE, 323
19.1. CALIDAD DEL SOFTWARE, 324
19.1.1. FACTORES DE CALIDAD DE McALL, 324
19.1.2. FURPS, 325
19.1.3. FACTORES DE CALIDAD ISO 9126,326
19.1.4. LA TRANSICIÓN A UNA VISIÓN CUANTITATIVA, 326
19.2. UNA ESTRUCTURA PARA LAS MÉTRICAS TÉCNICAS DEL SOFTWARE, 327
19.2.1. ELRETO DE LAS MÉTRICAS TÉCNICAS, 327
19.2.2. PRINCIPIOS DE MEDICIÓN, 328
19.2.3. CARACTER~STICAS FUNDAMENTALES DE LAS MÉTRICAS DEL SOFTWARE, 328
19.3. MÉTRICAS DEL MODELO DE ANÁLISIS, 329
19.3.1. MÉTRICAS BASADAS EN LAFUNCIÓN, 329
19.3.2. LAMÉTRICABANG, 330
19.3.3. MÉTRICAS DE LA CALIDAD DE LA ESPECIFICACI~N, 331
19.4.1. MÉTRICAS DEL DISENO ARQUITECT~NICO, 332
19.4. MÉTRICAS DEL MODELO DE DISENO, 332
19.4.2. MÉTRICAS DE DISEÑO A NIVEL DE COMPONENTES, 333
19.4.3. MÉTRICAS DE DISEÑO DE INTERFAZ, 335
19.5. MÉTRICAS DEL CÓDIGO FUENTE, 336
xv
CONTENIDO
19.6. MÉTRICAS PARA PRUEBAS, 337
19.7. MÉTRICAS DEL MANTENIMIENTO, 338
RESUMEN, 338
REFERENCIAS, 338
PROBLEMAS Y PUNTOS A CONSIDERAR, 339
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 340
PARTE CUARTA: INGENIERÍA DEL SOFTWARE ORIEN TADA A 0B.IETOS
CAPÍTULO 20: CONCEPTOS Y PRINCIPIOS ORIENT ADOS A OBJETOS, 343
20.1.
20.2.
20.3.
20.4.
EL PARADIGMA ORIENTADO A OBJETOS, 344
CONCEPTOS DE ORIENTACI~N AOBJETOS, 345
20.2.1. CLASES Y OBJETOS, 346
20.2.2. ATRIBUTOS, 347
20.2.3. OPERACIONES, MÉTODOS Y SERVICIOS, 347
20.2.4. MENSAJES, 347
20.2.5. ENCAPSULAMIENTO, HERENCIA Y POLIMORFISMO, 348
20.3.1. IDENTIFICACIÓN DE CLASES Y OBJETOS, 350
20.3.2. ESPECIFICACIÓN DE ATRIBUTOS, 353
20.3.4. FIN DE LA DEFINICIÓN DEL OBJETO, 354
GESTIÓN DE PROYECTOS DE SOFTWARE ORIENTADO A OBJETOS, 354
20.4.1. EL MARCO DE PROCESO COMÚN PARA 00,355
20.4.2. MÉTRICAS Y ESTIMACIÓN EN PROYECTOS ORIENTADOS A OBJETOS, 356
20.4.3. UN ENFOQUE O0 PARA ESTIMACIONES Y PLANIFICACIÓN, 357
20.4.4. SEGUIMIENTO DEL PROGRESO EN UN PROYECTO ORIENTADO A OBJETOS, 358
IDENTIFICACI~N DE LOS ELEMENTOS DE UN MODELO DE OBJETOS, 350
20.3.3. DEFINICI~N DE OPERACIONES, 353
RESUMEN, 358
REFERENCIAS, 359
PROBLEMAS Y PUNTOS A CONSIDERAR, 359
OTRAS LECTURAS Y FUENTES DE INFORMACIÓN, 360
CAPITULO 21: ANÁLISIS ORIENTADO A OBJETOS, 361
21.1.
21.2.
21.3.
21.4.
21.5.
21.6.
ANÁLISIS ORIENTADO A OBJETOS, 362
20.1.1. ENFOQUES CONVENCIONALES Y ENFOQUES 00,362
21.1.2. EL PANORAMA DEL AOO, 362
21.1.3. UN ENFOQUE UNIFICADO PARA EL AOO, 363
ANÁLISIS DEL DOMINIO, 364
21.2.1. ANÁLISIS DE REUTILIZACIÓN Y DEL DOMINIO, 364
21.2.2. EL PROCESO DE ANÁLISIS DEL DOMINIO, 365
COMPONENTES GENÉRICOS DEL MODELO DE ANÁLISIS 00,366
EL PROCESO DE AOO, 367
21.4.1. CASOS DE USO, 367
21.4.2. MODELADO DE CLASES-RESPONSABILIDADES-COLABORACIONES, 368
21.4.3. DEFINICI~N DE ESTRUCTURAS Y JERARQU~AS, 371
EL MODELO OBJETO-RELACI~N, 373
21.4.4. DEFINICIÓN DE SUBSISTEMAS, 372
EL MODELO OBJETO-COMPORTAMIENTO, 374
21.6.1. IDENTIFICACIÓN DE SUCESOS CON CASOS DE USO, 374
21.6.2. REPRESENTACIONES DE ESTADOS, 375
RESUMEN, 376
REFERENCIAS, 377
XVI
CONTENIDO
PROBLEMAS Y PUNTOS A CONSIDERAR, 377
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 378
CAPÍTULO 22: DISENO ORIE NTADO A OBJETOS ,379
22.1. DISENO PARA SISTEMAS ORIENTADOS A OBJETOS, 380
22.1.1. ENFOQUE CONVENCIONAL VS. 00,380
22.1.2. ASPECTOS DEL DISENO, 381
22.1.3. EL PANORAMA DE DOO, 382
22.1.4. UN ENFOQUE UNIFICADO PARA EL DOO, 383
22.2. EL PROCESO DE DISENO DE SISTEMA, 384
22.2.1. PARTICIONAR EL MODELO DE ANALISIS, 384
22.2.3. COMPONENTE DE ADMINISTRACIÓN DE TAREAS, 386
22.2.4. COMPONENTE DE INTERFAZ DE USUARIO, 386
22.2.6. COMPONENTE DE GESTIÓN DE RECURSOS, 387
22.2.7. COMUNICACIONES ENTRE SUBSISTEMAS, 387
22.2.2. ASIGNACI~N DE CONCURRENCIA Y SUBSISTEMAS, 385
22.2.5. COMPONENTE DE LA ADMINISTRACI~N DE DATOS, 386
22.3. PROCESO DE DISENO DE OBJETOS, 388
22.3.1. DESCRIPCIÓN DE OBJETOS, 388
22.3.2. DISENO DE ALGORITMOS Y ESTRUCTURAS DE DATOS, 389
22.4.1. ~QUÉ ES UN PATRÓN DE DISENO?, 390
22.4.2. OTRO EJEMPLO DE UN PATRÓN, 391
22.4.3. UN EJEMPLO FINAL DE UN PATRÓN, 391
22.4.4. DESCRIPCIÓN DE UN PATRÓN DE DISENO, 392
22.4.5. EL FUTURO DE LOS PATRONES, 392
22.4. PATRONES DE DISENO, 390
22.5. PROGRAMACI~N ORIENTADA A OBJETOS, 393
22.5.1. EL MODELO DE CLASES, 393
22.5.2. GENERALIZACI~N, 394
22.5.3. AGREGACI~N Y COMPOSICI~N, 394
23.5.4. ASOCIACIONES, 395
22.5.5. CASOS DE USO, 395
22.5.6. COLABORACIONES, 396
22.5.7. DIAGRAMAS DE ESTADO, 397
22.6. CASO DE ESTUDIO. LIBROS EN LÍNEA, 398
22.6.1. LIBROS-EN-LÍNEA, 399
22.7. PROGRAMACI~N ORIENTADA A OBJETOS, 400
RESUMEN, 404
REFERENCIAS, 404
PROBLEMAS Y PUNTOS A CONSIDERAR, 405
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 405
CAPÍTULO 23: PRUEBAS ORIENT ADAS A OBJETOS, 407
23.1. AMPLIANDO LA VISIÓN DE LAS PRUEBAS, 408
23.2. PRUEBAS DE LOS MODELOS DE A00 Y DOO, 409
23.2.1. EXACTITUD DE LOS MODELOS DE A00 Y DOO, 409
23.2.2. CONSISTENCIA DE LOS MODELOS DE A00 Y DOO, 409
23.3. ESTRATEGIAS DE PRUEBAS ORIENTADAS A OBJETOS, 410
23.3.1. LAS PRUEBAS DE UNIDAD EN EL CONTEXTO DE LA00,410
23.3.3. PRUEBAS DE VALIDACIÓN EN UN CONTEXTO 00,411
23.4. DISENO DE CASOS DE PRUEBA PARA SOFTWARE 00,412
23.4.1. IMPLICACIONES DE LOS CONCEPTOS DE O0 AL DISENO DE CASOS DE PRUEBA, 412
23.3.2. LAS PRUEBAS DE INTEGRACI~N EN EL CONTEXTO 00,4i 1
XVII
CONTENIDO
23.4.2. APLICABILIDAD DE LOS MÉTODOS CONVENCIONALES DE DISENO DE CASOS DE
23.4.3. PRUEBAS BASADAS EN ERRORES, 412
23.4.4. EL IMPACTO DE LA PROGRAMACIÓN O0 EN LAS PRUEBAS, 413
23.4.5. CASOS DE PRUEBA Y JERARQUíA DE CLASES, 414
23.4.6. DISENO DE PRUEBAS BASADAS EN EL ESCENARIO, 414
23.4.7. LAS ESTRUCTURAS DE PRUEBAS SUPERFICIALES Y PROFUNDAS, 415
23.5. MÉTODOS DE PRUEBA APLICABLES AL NIVEL DE CLASES, 416
PRUEBA, 4 12
23.5.1. LA VERIFICACIÓN ALAZAR PARA CLASES 00,416
23.5.2. PRUEBA DE PARTICIÓN AL NIVEL DE CLASES, 416
23.6. DISENO DE CASOS DE PRUEBA INTERCLASES, 417
23.6.1. PRUEBA DE MÚLTIPLES CLASES, 417
23.6.2. PRUEBA DERIVADA DE LOS MODELOS DE COMPORTAMIENTO, 418
RESUMEN, 419
REFERENCIAS, 419
PROBLEMAS Y PUNTOS A CONSIDERAR, 419
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 420
CAPÍTULO 24: MÉTRICAS TÉCNICAS PARA SISTEMAS ORIENTADOS A OBJETOS, 421
24.1. EL PROPÓSITO DE LAS MÉTRICAS ORIENTADAS A OBJETOS, 422
24.2. CARACTERISTICAS DISTINTIVAS DE LAS MÉTRICAS ORIENTADAS A OBJETOS, 422
24.2.1. LOCALIZACIÓN, 422
24.2.2. ENCAPSULACIÓN, 422
24.2.3. OCULTACI~N DE INFORMACI~N, 423
24.2.4. HERENCIA, 423
24.2.5. ABSTRACCIÓN, 423
24.3. MÉTRICAS PARA EL MODELO DE DISENO 00,423
24.4. MÉTRICAS ORIENTADAS A CLASES, 424
24.4.1. LA SERIE DE MÉTRICAS CK, 425
24.4.2. MÉTRICAS PROPUESTAS POR LORENZ Y KIDD, 426
24.4.3. LA COLECCIÓN DE MÉTRICAS MDOO, 427
24.5. MÉTRICAS ORIENTADAS A OPERACIONES, 428
24.6. MÉTRICAS PARA PRUEBAS ORIENTADAS A OBJETOS, 428
24.7. MÉTRICAS PARA PROYECTOS ORIENTADOS A OBJETOS, 429
RESUMEN, 430
REFERENCIAS, 430
PROBLEMAS Y PUNTOS A CONSIDERAR, 431
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 431
PARTE OUINTA: TEMAS AVANZADOS EN INGENIERÍA DEL SOFTWARE
CAPÍTULO 25: MÉTODOS FORMALES, 435
25.1. CONCEPTOS BÁSICOS, 436
25.1.1. DEFICIENCIAS DE LOS ENFOQUES MENOS FORMALES, 436
25.1.2. MATEMÁTICAS EN EL DESARROLLO DEL SOFTWARE, 437
25.1.3. CONCEPTOS DE LOS MÉTODOS FORMALES, 438
25.2. PRELIMINARES MATEMÁTICOS, 441
25.2.1. CONJUNTOS Y ESPECIFICACI~N CONSTRUCTIVA, 442
25.2.2. OPERADORES DE CONJUNTOS, 442
25.2.3. OPERADORES LÓGICOS, 443
25.2.4. SUCESIONES. 443
XVIII
CONTENIDO
25.3. APLICACI~N DE LA NOTACI~N MATEMÁTICA PARA LA ESPECIFICACI~N
25.4. LENGUAJES FORMALES DE ESPECIFICACI~N, 445
FORMAL, 444
25.5. USO DEL LENGUAJE Z PARA REPRESENTAR UN COMPONENTE EJEMPLO DE
SOFTWARE, 446
25.6. MÉTODOS FORMALES BASADOS EN OBJETOS, 447
25.7. ESPECIFICACIÓN ALGEBRAICA, 450
25.8. MÉTODOS FORMALES CONCURRENTES, 452
25.9. LOS DIEZ MANDAMIENTOS DE LOS MÉTODOS FORMALES, 455
25.10. MÉTODOS FORMALES: EL FUTURO, 456
RESUMEN, 456
REFERENCIAS, 457
PROBLEMAS Y PUNTOS A CONSIDERAR, 457
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 458
CAPITULO 26: INGENIERIA DEL SOFTWARE DE SALA LIMPIA, 459
26.1. EL ENFOQUE DE SALA LIMPIA, 460
26.1.1. LA ESTRATEGIA DE SALA LIMPIA, 460
26.1.2. ¿QUÉ HACE DIFERENTE LA SALA LIMPIA?, 461
26.2.1. ESPECIFICACIÓN DE CAJA NEGRA, 463
26.2.2. ESPECIFICACIÓN DE CAJA DE ESTADO, 463
26.2. ESPECIFICACIÓN FUNCIONAL, 462
26.2.3. ESPECIFICACI~N DE CAJA LIMPIA, 464
26.3. REFINAMIENTO Y VERIFICACI~N DEL DISENO, 464
26.3.2. VENTAJAS DE LA VERIFICACI~N DEL DISENO, 466
26.3.1. REFINAMIENTO Y VERIFICACIÓN DEL DISENO, 464
26.4. PRUEBA DE SALA LIMPIA, 467
26.4.1. PRUEBA ESTADíSTICA DE CASOS PRÁCTICOS, 467
26.4.2. CERTIFICACI~N, 468
RESUMEN, 469
REFERENCIAS, 469
PROBLEMAS Y PUNTOS A CONSIDERAR, 470
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 470
CAPÍTULO 27: INGENIERIA DEL SOFTWARE BASADA EN COMPONENTES, 473
27.1. INGENIERÍA DE SISTEMAS BASADA EN COMPONENTES, 474
27.2. EL PROCESO DE ISBC, 475
27.3. INGENIERIA DEL DOMINIO, 476
27.3.1. EL PROCESO DE ANÁLISIS DEL DOMINIO, 476
27.3.2. FUNCIONES DE CARACTERIZACI~N, 477
27.3.3. MODELADO ESTRUCTURAL Y PUNTOS DE ESTRUCTURA, 477
27.4. DESARROLLO BASADO EN COMPONENTES, 478
27.4.2. INGENIERíA DE COMPONENTES, 481
27.4. I . CUALIFICACI~N, ADAPTACI~N Y COMPOSICI~N DE COMPONENTES, 479
27.4.3. ANÁLISIS Y DISEÑO PARA LA REUTILIZACI~N, 481
27.5. CLASIFICACI~N Y RECUPERACI~N DE COMPONENTES, 482
27.5.1. DESCRIPCIÓN DE COMPONENTES REUTILIZABLES, 482
27.5.2. EL ENTORNO DE REUTILIZACIÓN, 484
27.6. ECONOMIA DE LA ISBC, 484
27.6.1, IMPACTO EN LA CALIDAD, PRODUCTIVIDAD Y COSTE, 484
27.6.2. ANÁLISIS DE COSTE EMPLEANDO PUNTOS DE ESTRUCTURA, 485
XIX
CONTENIDO
27.6.3. MÉTRICAS DE REUTILIZACIÓN, 486
RESUMEN, 486
REFERENCIAS, 487
PROBLEMAS Y PUNTOS A CONSIDERAR, 488
OTRAS LECTURAS Y FUENTES DE INFORMACIÓN, 488
CAPITULO 28: INGENIERIA DEL SOFTWARE DEL COMERCIO ELECTRÓNICO
CLIENTE/SERVIDOR, 491
28.1. INTRODUCCIÓN, 492
28.2. SISTEMAS DISTRIBUIDOS, 492
28.3.
28.4.
28.5.
28.6.
28.7.
28.8.
28.2.1. CLIENTES Y SERVIDORES, 492
28.2.2. CATEGOR~AS DE SERVIDORES, 492
28.2.3. SOFIWARE INTERMEDIO (MIDDLEWARE), 494
28.2.4. UN EJEMPLO DE SOFIWARE INTERMEDIO, 495
ARQUITECTURAS ESTRATIFICADAS, 496
PROTOCOLOS, 497
28.4.1. ELCONCEPT0,497
28.4.2. IP E ICMP, 498
28.4.3. POP3,498
28.4.4. EL PROTOCOLO H'ITP, 499
28.5.1. ~QUÉ ES EL COMERCIO ELECTRÓNICO?, 499
28.5.2. UN SlSTEMATíPICO DE COMERCIO ELECTRÓNICO, 500
TECNOLOGIAS USADAS PARA EL COMERCIO ELECTRÓNICO, 502
28.6.1. CONEXIONES (SOCKETS), 502
28.6.2. OBJETOS DISTRIBUIDOS, 502
28.6.3. ESPACIOS, 503
28.6.4. CGI, 503
28.6.5. CONTENIDO EJECUTABLE, 503
28.6.6. PAQUETES CLIENTE/SERVIDOR, 504
EL DISENO DE SISTEMAS DISTRIBUIDOS, 504
28.7.1. CORRESPONDENCIA DEL VOLUMEN DE TRANSMISIÓN CON LOS MEDIOS DE TRANS-
28.7.2. MANTENIMIENTO DE LOS DATOS MÁS USADOS EN UN ALMACENAMIENTO
28.7.3. MANTENIMIENTO DE LOS DATOS CERCA DE DONDE SE UTILIZAN, 504
28.7.4. UTILIZACIÓN DE LADUPLICACIÓN DE DATOS TODO LO POSIBLE, 505
28.7.5. ELIMINAR CUELLOS DE BOTELLA, 505
28.7.6. MINIMIZAR LA NECESIDAD DE UN GRAN CONOCIMIENTO DEL SISTEMA, 505
28.7.7. AGRUPAR DATOS AFINES EN LA MISMA UBICACIÓN, 505
28.7.8. CONSIDERAR LA UTILIZACIÓN DE SERVIDORES DEDICADOS A FUNCIONES
28.7.9. CORRESPONDENCIA DE LA TECNOLOGíA CON LAS EXIGENCIAS DE
UN SISTEMA DE COMERCIO ELECTR~NICO, 499
MISIÓN, 504
RÁPIDO, 504
FRECUENTES, 506
RENDIMIENTO, 506
28.7.10. EMPLEO DEL PARALELISMO TODO LO POSIBLE, 506
28.7.11. UTILIZACIÓN DE LA COMPRESIÓN DE DATOS TODO LO POSIBLE, 506
28.7.12. DISENO PARA EL FALLO, 506
28.7.13. MINIMIZAR LA LATENCIA, 506
28.7.14. EPíLOGO, 506
INGENIERIA DE SEGURIDAD, 507
28.8.1. ENCRIPTACIÓN, 507
28.8.2. FUNCIONES DE COMPENDIO DE MENSAJES, 508
28.8.3. FIRMAS DIGITALES, 508
28.8.4. CERTIFICACIONES DIGITALES, 508
xx
CONTENIDO
28.9. COMPONENTES DE SOFTWARE PARA SISTEMAS C/S, 509
28.9.2. DISTRIBUCIÓN DE COMPONENTES DE SOITWARE, 509
28.9.3. LÍNEAS GENERALES PARA LA DISTRIBUCIÓN DE COMPONENTES DE
28.9.1. INTRODUCCI~N, 509
APLICACIONES, 510
28.9.4. ENLAZADO DE COMPONENTES DE SOFTWARE C/S, 5 11
28.9.5. SOFTWARE INTERMEDIO (MIDDLEWARE) Y ARQUITECTURAS DE AGENTE DE SOLICI-
TUD DE OBJETOS, 512
28.10. INGENIERÍA DEL SOFTWARE PARA SISTEMAS C/S, 512
28.11. PROBLEMAS DE MODELADO DE ANÁLISIS, 512
28.12. DISENO DE SISTEMAS C/S, 513
28.12.1. DISEÑO ARQUITECT~NICO PARA SISTEMAS CLIENTEISERVIDOR, 51 3
28.12.2. ENFOQUES DE DISEÑO CONVENCIONALES PARA SOFTWARE DE APLICACIONES, 514
28.12.3. DISENO DE BASES DE DATOS, 514
28.12.4. VISIÓN GENERAL DE UN ENFOQUE DE DISEÑO, 515
28.12.5. ITERACIÓN DEL DISEÑO DE PROCESOS, 516
28.13. PROBLEMAS DE LAS PRUEBAS, 516
28.13.1. ESTRATEGIA GENERAL DE PRUEBAS C/S, 516
28.13.2. TÁCTICADE PRUEBAS C/S, 518
RESUMEN, 518
REFERENCIAS, 519
PROBLEMAS Y PUNTOS A CONSIDERAR, 519
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 519
CAPITULO 29: INGENIERIA WEB, 521
29.1. LOS ATRIBUTOS DE APLICACIONES BASADAS EN WEB, 522
29.1.1. ATRIBUTOS DE CALIDAD, 523
29.1.2. LAS TECNOLOGíAS, 524
29.2. EL PROCESO DE IWEB, 525
29.3. UN MARCO DE TRABAJO PARA LA IWEB, 525
29.4. FORMULACI~N Y ANÁLISIS DE SISTEMAS BASADOS EN WEB, 526
29.4.1. FORMULACIÓN, 526
29.4.2. ANÁLISIS, 527
29.5. DISENO PARA APLICACIONES BASADAS EN WEB, 527
29.5.1. DISENO ARQUITECT~NICO, 528
29.5.2. DISENO DE NAVEGACI~N, 530
24.5.3. DISENO DE LA INTERFAZ, 531
29.6. PRUEBAS DE LAS APLICACIONES BASADAS EN WEB, 532
29.7. PROBLEMAS DE GESTI~N, 533
29.7.1. EL EQUIPO DE iWEB, 533
29.7.2. GESTIÓN DEL PROYECTO, 534
29.1.3. PROBLEMAS GCS PARA LA IWEB, 536
RESUMEN, 537
REFERENCIAS, 538
PROBLEMAS Y PUNTOS A CONSIDERAR, 539
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 539
CAPÍTULO 30 : REINGENIERIA ,541
30.1. REINGENIERÍA DE PROCESOS DE NEGOCIO, 542
30.1.1. PROCESOS DE NEGOCIOS, 542
30.1.2. PRINCIPIOS DE REINGENIERíA DE PROCESOS DE NEGOCIOS, 542
CONTENIDO
30.1.3. UN MODELO DE RPN, 543
30.1.4. ADVERTENCIAS, 544
30.2. REINGENIER~A DEL SOFTWARE, 544
30.2.1. MANTENIMIENTO DEL SOFTWARE, 544
30.2.2. UN MODELO DE PROCESOS DE REINGENIERfA DEL SOFTWARE, 545
30.3. INGENIER~A INVERSA, 547
30.3.1. INGENIERÍA INVERSA PARA COMPRENDER EL PROCESAMIENTO, 548
30.3.2. INGENIER~A INVERSA PARA COMPRENDER LOS DATOS, 549
30.3.3. INGENIERíA INVERSA DE INTERFACES DE USUARIO, 550
30.4. REESTRUCTURACI~N, 550
30.4.1. REESTRUCTURACI~N DEL CÓDIGO, 550
30.4.2. REESTRUCTURACI~N DE LOS DATOS, 551
30.5. INGENIERIA DIRECTA (FORWARD ENGINEERING), 551
30.5.1. INGENIERíA DIRECTA PARA ARQUITECTURAS CLIENTE/SERVIDOR, 552
30.5.2. INGENIERíA DIRECTA PARA ARQUITECTURAS ORIENTADAS A OBJETOS, 553
30.5.3. INGENIERíA DIRECTA PARA INTERFACES DE USUARIO, 553
30.6. LA ECONOM~A DE LA REINGENIER~A, 554
RESUMEN, 555
REFERENCIAS, 555
PROBLEMAS Y PUNTOS A CONSIDERAR, 556
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 556
CAP~TULO 31: INGENIERIA DEL SOFTWARE ASISTIDA POR COMPUTADORA, 559
31.1. ~QUÉ SIGNIFICA CASE?, 560
31.2. CONSTRUCCIÓN DE BLOQUES BÁSICOS PARA CASE, 560
31.3. UNA TAXONOM~A DE HERRAMIENTAS CASE, 561
31.4. ENTORNOS CASE INTEGRADOS, 565
31.5. LA ARQUITECTURA DE INTEGRACI~N, 566
31.6. EL REPOSITORIO CASE, 567
3 1.6.1. EL PAPEL DEL REPOSITORIO EN 1-CASE, 567
31.6.2. CARACTERÍSTICAS Y CONTENIDOS, 568
RESUMEN, 571
REFERENCIAS, 571
PROBLEMAS Y PUNTOS A CONSIDERAR, 572
OTRAS LECTURAS Y FUENTES DE INFORMACIÓN, 572
CAPITULO 32: PERSPECTIVAS FUTURAS. 573
32.1. IMPORTANCIA DEL SOFTWARE SEGUNDA PARTE-, 574
32.2. EL ÁMBITO DEL CAMBIO, 574
32.3. LAS PERSONAS Y LA FORMA EN QUE CONSTRUYEN SISTEMAS, 574
32.4. EL <<NUEVO» PROCESO DE INGENIER~A DEL SOFTWARE, 575
32.5. NUEVOS MODOS DE REPRESENTAR LA INFORMACI~N, 576
32.6. LA TECNOLOGIA COMO IMPULSOR, 577
32.7. COMENTARIO FINAL, 578
REFERENCIAS, 578
PROBLEMAS Y PUNTOS A CONSIDERAR, 579
OTRAS LECTURAS Y FUENTES DE INFORMACI~N, 579