Directorio de libros de ingeniería de software orientado a objetos

Nota del editor

Orden del traductor

Prólogo

La primera parte es una introducción a la ingeniería de software orientada a objetos.

Capítulo 65438 0 Alcance de la Ingeniería de Software Orientada a Objetos 3

1.1 Aspectos Históricos 4

1.2 Aspectos Económicos 6

1.3 Aspectos de Mantenimiento 6

1.3.1 Perspectiva del mantenimiento del software moderno 8

1.3.2 La importancia del mantenimiento post-entrega 9

1.4 Requisitos, análisis y diseño 10

1.5 Desarrollo del equipo 11

1.6 Razones por las que no hay una etapa de planificación 12

1.7 Por qué no hay una etapa de prueba 12

1.8 Por qué no hay documento etapa 13

1.9 Paradigma orientado a objetos 13

1.10 Fecha límite 15

1.11 Cuestiones éticas 17

Revisión del capítulo 18

Materiales de lectura de extensión 18

Ejercicios 19

Referencias 20

Capítulo 2 Modelo de ciclo de vida del software 23

2.1 Desarrollo de software ideal 23

2.2 Estudio de caso pequeño de Weinberger 23

2.3 Estudio de caso pequeño de Weinberger 25

2.4 Estudio de caso pequeño de empresa de tractores 25

2.5 Iteraciones e incrementos 26

2.6 Redescubriendo el pequeño estudio de caso de Weinberg 28

2.7 Iteraciones e incrementos Riesgos y otros 29

2.8 Gestión de iteraciones e incrementos 31

2.9 Otros modelos de ciclo de vida 31

2.9.1 Redacción y cambio de modelos de ciclo de vida 32

2.9.2 Modelo de ciclo de vida en cascada 32

2.9.3 Modelo de ciclo de vida de creación rápida de prototipos 33

2.9.4 Modelo de ciclo de vida de código abierto 34

Proceso ágil 35

2.9.6 Vida síncrona y estable Modelo de ciclo 37

2.9.7 Modelo de ciclo de vida en espiral 38

2.10 Comparación de modelos de ciclo de vida 40

Comentarios sobre este capítulo 41

Materiales de lectura ampliados 41

Ejercicio 42

Referencias 43

Capítulo 3 Proceso de software 46

3.1 Proceso unificado 47

3.2 Iteración e incremento 48

3.3 Flujo de trabajo de requisitos 49

3.4 Flujo de trabajo de análisis 50

3.5 Flujo de trabajo de diseño 51

3.6 Flujo de trabajo de implementación 52

3.7 Flujo de trabajo de prueba 52

3.7.1 Producto de requisitos 53

Análisis del producto 53

Diseño de productos 53

Implementación del producto 53

3.8 Mantenimiento posterior a la entrega 54

3.9 Retiro 55

3.10 Etapa del proceso unificado 55

3.10.1 Etapa inicial 56

3.10.2 Etapa de refinamiento 57

3.10.3 Etapa de construcción 58

3.10.4 Etapa de entrega 58

3.11 Comparación de modelos de ciclo de vida unidimensionales y bidimensionales 59

3.12 Mejora de los procesos de software 60

3.13 Modelo de madurez de capacidades 60

3.14 Otros aspectos del proceso de software mejora 62

3.15 Costos y beneficios de la mejora de procesos de software 62

Este capítulo revisa 64

Extensiones Material de lectura 64

Ejercicio 65

Referencia 65

Capítulo 4 Equipo de software 68

4.1 Organización del equipo 68

4.2 Método del equipo democrático 69

4.3 Modelo de equipo de programador maestro 70

Proyecto del New York Times 71

4.3.2 El equipo de programador maestro tiene formas poco realistas 72

4.4 Más allá del programador jefe y los equipos demócratas 72

4.5 Sincronización - Equipos estables 73<

/p>

4.6 Equipo de procesos ágiles 74

4.7 Equipo de programación de código abierto 74

4.8 Modelo de madurez de capacidades de recursos humanos 75

4.9 Elija el equipo adecuado Organización 75

Este capítulo revisa 76

Lecturas adicionales 76

Ejercicios 77

Referencias 77

Capítulo 5 Herramientas de ingeniería de software 79

5.1 Refinamiento gradual 79

5.2 Análisis costo-beneficio 82

5.3 Indicadores de software 83

5.4 Caso 84

5.5 Clasificación del caso 85

5.6 Alcance del caso 86

5.7 Versión del software 88

5.7.1 Versión 89

Variación 89

5.8 Control de configuración 89

5.8.1 Control de configuración durante el mantenimiento posterior a la entrega 91

Línea base 91

p>

5.8.3 Control de configuración en el proceso de desarrollo de productos 91

5.9 Herramientas de construcción 92

5.10 Uso de la tecnología CASE para mejorar la productividad 93

Revisión de este capítulo 93

Materiales de lectura ampliados 93

Ejercicios 94

Referencias 95

Examen del Capítulo 6 97

6.1 Calidad cuestiones 97

6.1.1 Garantía de calidad del software 98

6.1.2 Independencia de la gestión 98

6.2 Pruebas no basadas en la ejecución 99

Ejercicio 99

Ejercicio de Gestión 100

6.2.3 Revisión 100

6.2.4 Comparación entre recorrido y revisión 102

6.2. 5 Revisión de las ventajas y desventajas de 102

6.2.6 Revisión de los métodos de medición 102

6.3 Pruebas basadas en la ejecución de 103

6.4 Qué se debe probar 103

6.4.1 Practicidad 104

Fiabilidad 104

6.4.3 Robustez 104

6.4.4 Rendimiento 105

Corrección 105

6.5 Prueba y corrección Cláusula 106

6.5.1 Ejemplo de corrección Cláusula 106

6.5.2 Corrección Un pequeño estudio de caso de sexualidad cláusulas 108

6.5.3 Pruebas de corrección e ingeniería de software 109

6.6 ¿Quién completará las pruebas basadas en ejecución 111?

6.7 Cuándo detener la prueba 112

Repaso del capítulo 112

Material de lectura ampliado 112

Ejercicio 113

Referencia 114

Capítulo 7 Del módulo al objeto 117

7.1 ¿Qué es el módulo 117?

7.2 Cohesión 119

7.2.1 Conexión inesperada 119

Coherencia lógica 120

7.2.3 Consistencia temporal 120

p>

7.2.4 Conexión del programa 121

7.2.5 Conexión de comunicación 121

7.2.6 Conexión funcional 121

7.2.7 Conexión de información 121

7.2.8 Ejemplo de cohesión 122

7.3 Acoplamiento 122

7.3.1 Acoplamiento de contenido 122

7.3.2 Externo Rosca* * *Acoplamiento 123

Acoplamiento de control 124

7.3.4 Acoplamiento de impresión 125

Acoplamiento de datos 125

7.3.6 Acoplamiento Ejemplo 126

7.3.7 Importancia del acoplamiento 126

7.4 Encapsulación de datos 127

7.4.1 Empaquetado y desarrollo de datos 128

7.4 .2 Empaquetado y mantenimiento de datos 129

7.5 Abstracción

Tipos de datos 133

7.6 Ocultamiento de información 134

7.7 Objetos 135

7.8 Herencia, polimorfismo y vinculación dinámica 137

7.9 Orientación Ejemplos de Objetos 139

Repaso del capítulo 140

Lecturas adicionales 141

Ejercicios 141

Referencias 142

Capítulo 8 Reutilización y portabilidad 144

8.1 El concepto de reutilización 145

8.2 Barreras para la reutilización 146

8.3 Estudio de caso de reutilización 147

8.3. 1 División de Sistemas de Misiles Raytheon 147

Agencia Espacial Europea 148

8.4 Objetos y Multiplexación 149

8.5 Diseño y reutilización en implementación 149

8.5.1 Reutilización de diseños 149

8.5.2 Arquitectura de aplicaciones 150

8.5.3 Patrones de diseño 151

Arquitectura de software 152

8.5 .5 Ingeniería de software basada en componentes 153

8.6 Más sobre patrones de diseño 153

8 6 1 Estudio de caso pequeño 153

8.6.2 Patrón de diseño de adaptador. 154

8.6.3 Patrón de diseño de puente 154

8.6.4 Patrón de diseño de iterador 155

8.6.5 Patrón de diseño de fábrica abstracta 156

8.7 Categorías de patrón de diseño 159

8.8 Ventajas y desventajas del patrón de diseño 159

8.9 Reutilización y entrega posmantenimiento 160

8.10 Portabilidad 161

Incompatibilidad de hardware 161

8.10.2 Incompatibilidad del sistema operativo 162

8.10.3 Incompatibilidad del software de cálculo numérico 162

8.10.4 Incompatibilidad del compilador 163

8.11 ¿Por qué es necesaria la 165 portabilidad?

8.12 Tecnología para lograr la portabilidad 166

8.12.1 Software de sistema portátil 5438 066

8.12.2 Software de aplicación portátil 166

8.12 .3 Datos portátiles 167

8.12.4 Aplicaciones de red 167

Revisión del capítulo 168

Materiales de lectura ampliados 168

Ejercicios 169

p>

Referencia 170

Capítulo 9 Planificación y estimación 174

9.1 Planificación de actividades y proceso de software 174

9.2 Estimación del ciclo y costo del proyecto 175

9.2.1 Estándares de medición para escalas de productos 176

9.2.2 Tecnología de estimación de costos 178

9.2.3 Cacao intermedio 180

9. 2.4 Información de la computadora 182

9.2.5 Período de seguimiento y estimación de costos 183

9.3 Discusión sobre la estimación 183

9.4 Composición del plan para la dirección del proyecto de software 184

9.5 Marco del plan de gestión de proyectos de software 185

9.6 Plan de gestión de proyectos de software IEEE 186

9.7 Pruebas planificadas 188

9.8 Requisitos de capacitación 188

9.9 Estándares de documentación 189

9.65438 Herramientas de casos para planificación y evaluación 189

9.11 Plan de gestión de proyectos de software de prueba 190

Revisión del capítulo 190

Materiales de lectura ampliados 190

Ejercicios 191

Referencia 192

Parte 2 Flujo de trabajo del ciclo de vida del software

p>

Capítulo 10 Flujo de trabajo de requisitos 196

Determinar lo que los clientes necesitan 196

10.2 Descripción general del flujo de trabajo de requisitos 197

>Comprensión de 10.3 Dominio 197

10.4 Modelo de negocio 198

10.4.1 Entrevista 198

10.4.2 Otras tecnologías

10.4. 3 Casos de uso 199

10.5 Requisitos iniciales 200

10.6 Comprensión preliminar de las áreas de aplicación: estudio de caso de MSG Foundation 200

10.7 Modelo de negocio inicial: caso de MSG Foundation 202 Investigación

10.8 Requisitos iniciales: estudio de caso de MSG Foundation 204

10.9 Continuación del flujo de trabajo de requisitos: estudio de caso de MSG Foundation 205

10.10 Requisitos de revisión: investigación de caso de MSG Foundation 206

10.11 Flujo de trabajo de prueba: estudio de caso de MSG Foundation 211

10.12 Qué son los requisitos orientados a objetos 217

10.13 Creación rápida de prototipos 218

10.14 Factores humanos 218

10.15 Creación rápida de prototipos multicanal 219

10.16 Herramientas de casos para el flujo de trabajo de requisitos 220

10.17 Flujo de trabajo de medición de requisitos 220

10.18 Flujo de trabajo del desafío de requisitos 220

Comentarios sobre este capítulo 221

Materiales de lectura extendidos 222

Ejercicios 222

Referencia 223

Capítulo 11 Flujo de trabajo de análisis 224

11.1 Documento de especificación 224

11.2 Especificación informal 225

11.3 Revisión de pequeños estudios de casos para comprobar la corrección 226

11.4 Flujo de trabajo de análisis 227

11.5 Extracción de clases de entidad 228

11.6 Problema del ascensor 228

11.7 Modelado funcional: estudio de caso del problema del ascensor 229

11.8 Modelado de clases de entidad: estudio de caso del problema del ascensor 230

11.8.1 Extracción de sustantivos 230

11. 8. 2 Tarjeta RC 232

11.9 Modelado dinámico: estudio de caso del problema del ascensor 233

11.10 Flujo de trabajo de prueba: estudio de caso del problema del ascensor 235

11.11 Extracción de clases de límite y clases de control 237

11.12 Inicial Modelado funcional: Estudio de caso de MSG Foundation 238

11.13 Diagrama de clases inicial: Estudio de caso de MSG Foundation 239

11.14 Modelado dinámico inicial: Estudio de caso de MSG Foundation 240

11.15 Modificar clase de entidad: estudio de caso de MSG Foundation 242

11.16 Extraer clase de límite: estudio de caso de MSG Foundation 243

11.17 Extraer clase de control: estudio de caso de MSG Foundation 243

11.18 Implementación de casos de uso: Estudio de caso de MSG Foundation 243

11.18.1 Financiamiento estimado disponible para el caso de uso semanal 244

11.18.2 Caso de uso de colección de administrador 248

11.18.3 Caso de uso de actualización de gastos operativos anualizados estimados 251

11.18.4 Caso de uso de informe del productor 252

11.19 Incremento del diagrama de clases: estudio de caso básico de MSG 256

11.20 Plan de gestión de proyectos de software: estudio de caso de MSG Foundation 257

11.21 Flujo de trabajo de prueba: estudio de caso de MSG Foundation 257

11.22 Documentos de especificación de unificación en el proceso 257

11.23 Más información sobre actores y casos de uso 258

11.24 Herramientas de casos para soportar flujos de trabajo de análisis 259

11.25 Trabajo de análisis Streaming Challenge 259

Revisión del capítulo 259

Lectura ampliada 260

Ejercicios 260

Referencias 262

Capítulo 12 Flujo de trabajo de diseño 264

Diseño orientado a objetos 264

12.2 Diseño orientado a objetos: caso de estudio del problema del ascensor 268

12.3 Diseño orientado a objetos: estudio de caso de MSG Foundation 270

12.4 Proceso de diseño 272

12.5 Proceso de prueba: Diseño 273

12.6 Flujo de trabajo de prueba: Caso básico de MSG 273

12.7 Tecnología formal de diseño detallado 273

12.8 Tecnología de diseño en tiempo real 274

12.9 Herramientas de casos para diseño 274

12.10 Indicadores de diseño 275

El flujo de trabajo de diseño enfrenta desafíos 276

Revisión del capítulo 277

Materiales de lectura adicionales 277

Ejercicios 277

Documentos de referencia 278

Capítulo 13 Implementación de flujos de trabajo 280

Elección de un lenguaje de programación 280

13.2 Buenas prácticas de programación 282

13.2.1 Utilice nombres de variables coherentes y significativos 282.

13.2.2 Problemas con el código de grabación automática 283

13.2.3 Uso de parámetros 284

13.2.4 Disposición del código legible 284

13.2.5 Declaraciones if anidadas 285

13.3 Estándares de codificación 286

13.4 Reutilización de código 286

13.5 Integración 286

13.5.1 Integración de arriba hacia abajo 287

13.5.2 Integración de abajo hacia arriba 288

13.5.3 Integración de mezzanine 288

13.5.4 Tecnología de integración 289

Gestión integrada 290

13.6 Implementación del flujo de trabajo 290

13.7 Implementación del flujo de trabajo: Estudio de caso de MSG Foundation 290

13.8 Prueba del flujo de trabajo: Implementación 290

13.9 Selección de casos de prueba 290

Pruebas de especificaciones y pruebas de código 291

13.9.2 La especificación ilustra la viabilidad de las pruebas 291

p>

13.9.3 Viabilidad de las pruebas de código 291

13.10 Tecnología de pruebas unitarias de caja negra 293

13.10.6543438 0 Pruebas de equivalencia y análisis de valores límite 56438.66666666666

13.10.2 Funcional Pruebas 294

13.11 Caso de prueba de caja negra: estudio de caso de MSG Foundation 294

13.12 Tecnología de prueba unitaria de caja de vidrio 2996

13.12.1 Pruebas estructurales: declaración, rama y cobertura de ruta 296

13.12.2 Medición de la complejidad 297

13.13 Recorrido y revisión del código 298

13.14 Pruebas unitarias Comparación de tecnologías 36646.866668666666

13.15 Sala limpia 298

13.16 Problemas en las pruebas 299

Gestión de pruebas unitarias 301

Cuándo reescribir en lugar de depurar el código del producto 301

13.19 Pruebas integrales 302

13.20 Pruebas de producto 303

13.21 Pruebas de aceptación 303

13.22 Proceso de prueba: estudio de caso básico de MSG 304

13.23 Herramientas de implementación 304

13 . 23 . 65438 Herramientas CASE para todo el proceso de desarrollo de software 56636.66866866661

Entorno de desarrollo integrado 304

Entorno de aplicaciones empresariales 305

13.23.4 Infraestructura de herramientas públicas 305

Problemas potenciales en el entorno

13.24 Se utiliza para probar el flujo de trabajo 306 Herramienta CASE

Implementación del indicador de flujo de trabajo 306

13.26 Desafíos en la implementación del flujo de trabajo 307

Revisión de este capítulo 307

Materiales de lectura extendidos 308

Ejercicio 309

Referencia 310

Capítulo 14 Mantenimiento posterior a la entrega 313

Desarrollo y mantenimiento 313

14.2 Por qué es necesario el mantenimiento posterior a la entrega 314

14.3 Qué necesitan los programadores para el mantenimiento post-entrega 314

14.4 Pequeños casos de mantenimiento post-venta 316

14.5 Gestión del mantenimiento post-entrega 317

14.5.1 Informe de defectos 317

14.5.2 Autorizar modificaciones del producto 318

Garantizar la mantenibilidad

14.5.4 Problemas de mantenimiento duplicados 319

14.6 Problemas de mantenimiento 319

14.7 Habilidades de mantenimiento posterior a la entrega y habilidades de desarrollo 321

14.8 Ingeniería inversa 321

14.9 Pruebas durante el mantenimiento posterior a la entrega 3

22

14.65438 Herramientas del chasis para mantenimiento posterior a la entrega323

14.11 Medición del mantenimiento posterior a la entrega323

14.12 Mantenimiento posterior a la entrega: estudio de caso de MSG Foundation323

14.13 Desafíos de mantenimiento posteriores a la entrega 323

Revisión del capítulo 323

Materiales de lectura extendidos 324

Ejercicios 324

Documento de referencia 325

15 Más información sobre UML en el Capítulo 327

15.1 UML no es una metodología.

15.2 Diagrama de clases 327

15.2.1 Agregación 328

15.2.2 Multiplex 329

15.2.3 Combinación 329

15.2.4 Resumen 330

15.2.5 Asociación 330

15.3 Nota 330

15.4 Diagrama de casos de uso 330

15.5 Tipo de estructura 331

15.6 Diagrama de interacción 331

15.7 Diagrama de estado 333

15.8 Diagrama de actividad 335

15.9 335 piezas por paquete

p>

15.10 Diagrama de componentes 336

15.11 Diagrama de implementación 336

Revisión del diagrama UML 336

15.13UML e iteración 336

Revisión del capítulo 337

Lectura ampliada 337

Ejercicio 337

Documento de referencia 337

Apéndice 338

Apéndice A Proyecto semestral: Proyecto de la empresa de decoración y suministros de oficina Aoli 338

Apéndice B Recursos de ingeniería de software 340

Apéndice C Flujo de trabajo de requisitos: Estudio de caso de MSG Foundation 341

Apéndice D Flujo de trabajo de análisis: Estudio de caso 341 de MSG Foundation

Apéndice E Plan de gestión de ingeniería de software: Estudio de caso 341 de MSG Foundation

Apéndice F Flujo de trabajo de diseño: Estudio de caso 345 de MSG Foundation

Apéndice G Flujo de trabajo de implementación: Estudio de caso de MSG Foundation (versión C) 349

Apéndice H Flujo de trabajo de implementación: Estudio de caso de MSG Foundation (versión Java) 349

Apéndice 1 Prueba Flujo de trabajo: Estudio de caso 350 de la Fundación MSG

……

opyright">

copyright 2024 Red idiomática china All rights reserved