Inicio/Profesional/TICs y Computación/Ingeniería de Software/Calidad en el Desarrollo de Software – 2da Ed

Calidad en el Desarrollo de Software – 2da Ed

$368

Hay existencias

Autor: PANTALEO, Guillermo

Páginas: 248

Editorial: Alfaomega

Hay existencias

ISBN: 9789873832055 Categoría:

Descripción

Este libro trata la temática de la calidad en el desarrollo de software desde diferentes puntos de vista, la gestión del proyecto, las cuestiones técnicas, el análisis de errores más frecuentes y la propuesta de solución de ellos, así como el esbozo de una metodología integral para afrontar todos los problemas y optimizar los procesos. En este libro se asume que el lector se dedica a generar software de manera profesional y enfrenta los requerimientos de un cliente externo que le solicita un desarrollo en particular, sobre necesidades concretas y reales. Las metodologías mencionadas son de uso internacional y los puntos teóricos tratados cuentan con numerosas referencias bibliográficas que permiten profundizar el tema a aquellos que lo requieran.

Este libro fue concebido como una guía de estudio para estudiantes de carreras tales como Ingeniería Informática o Ingeniería de Sistemas. Es, también, una referencia para los profesionales que desempeñan roles técnicos o de gestión en proyectos de desarrollo de software.

Los estudiantes encontrarán un medio de relacionar conocimientos adquiridos a veces como entidades aisladas cuando en realidad forman parte de un todo en cuyas relaciones se fundamenta su comprensión.

Los profesionales encontrarán respuesta a muchos de los problemas que se les presentana diario, un análisis de ellos y una propuesta de solución. El objetivo es cubrir aspectos del desarrollo de software que son claves y en los cuales se debe trabajar bien a efectos de garantizar la calidad de los productos generados en los proyectos de desarrollo.

Este manual fue escrito pensando en los obstáculos que se presentan a la hora de llevar adelante un proyecto de desarrollo. Busca las causas de dichos problemas y guía al lector en la búsqueda de las soluciones a los problemas mencionados, a partir de la formación de criterios elaborados en función de la experiencia recogida por el autor, a lo largo de 30 años, en escenarios muy diversos.

En esta nueva edición se han corregido todos los errores de la primera, detectados por el profesorado.

Se han agregado dos apéndices:

  • Estándares de calidad en procesos de software. Norma ISO 9001-2000. Modelo CMMI
  • Modelos ISO para la calidad del producto software

CONTENIDO

CAPÍTULO 1: Calidad en el software

1.1 | Introducción ………. . . . . . ……. . . . . . . . . . . ..19

1.2 |Calidad en el software…….. . . . . . …….. . …19

1.2.1 Evolución histórica…………………………19

1.2.2 Lecciones no aprendidas ………. . . . . . ….23

1.3 | Calidad versus velocidad de desarrollo……24

1.3.1 Estándares……………………………….24

1.3.2 Creatividad…………………. . . ….. . . . ….24

1.3.3 Madurez………………………………….25

1.4 |Modelos de calidad de software………….25

1.4.1 Surgimiento y evolución………. . . . . . . . . . . 25

1.4.2 Modelos …………………………………26

1.4.3 Certificaciones y evaluaciones…………..32

1.5 | Conclusión……… . . . . . ……….. . . . . . . . . . …32

CAPÍTULO 2: CAUSAS QUE DETERIORAN LA

CALIDAD EN EL SOFTWARE

2.1 | Introducción………… . . . . ……….. . . . . . ……35

2.1.1 | Definiciones…….. . . . . . ……….. . . . . . . …35

2.1.1.1 Calidad de producto….. . . . …………35

2.1.1.2 Calidad de proceso….. ….. . . . … . . . . 36

2.2 |Causas que deterioran la calidad….. . . . . . . 37

2.3 |Aspectos que hay que trabajar para mejorar

la calidad….. . . . ………………………………..39

2.4 | Forma de tratamiento de los temas…. . . . .41

CAPÍTULO 3: Trabajo con la Organización –

Mejora de Procesos

3.1 | Visión del cambio. ……………… . . . . ….43

3.1.1 Análisis de casos……………………….43

3.1.2 Primeros pasos en un proceso de mejoras ..50

3.2 | Trabajando en los cambios……………..53

3.2.1 Forma de trabajo……………………….53

3.2.1.1 Modelo IDEAL…………… . . . . . . …..54

3.2.1.2 Modelo EOALG………. . . . … . . . . . . ..55

3.2.2 Dos fenómenos espontáneos.. . . . …… . . 55

3.2.2.1 Desconcierto.. . . . .. . . . … . . . . . ….. . . 55

3.2.2.2 Procesos virtuales.. . . . …….. . . . . . . . 57

3.3 | Aspectos y factores del proceso de mejoras..57

3.3.1 Direcciones del cambio organizacional en sus

múltiples dimensiones …………………………58

3.3.2 Aspecto socio-cultural de la gestión del

cambio……………………………… ………58

3.3.3 Factores críticos y de riesgo…………….59

3.3.4 Factores generales de éxito…………….60

3.3.5 Factores de éxito en pymes……………..62

3.3.6 Factores adicionales……………………62

3.3.7 Recomendaciones……………………..63

3.4 |Gestión del cambio……………………..63

3.4.1 Oposición al cambio…………………….63

3.4.1.1 Razones de resistencia al cambio…..63

3.4.1.2 Rescatar lo positivo de la resistencia..64

3.4.2 Influencia de la cultura organizacional…..65

3.4.2.1 Tipos de cultura organizacional…….65

3.4.3 Comportamientos generadores de conflictos

y tensiones en la implementación de procesos de

mejora de los roles participantes……………..66

3.4.4 Estrategia………………………………69

3.4.5 Tácticas………………………………..70

Alfaomega Calidad en el desarrollo de software

14 CALIDAD EN EL DESARROLLO DE SOFTWARE

3.4.5.1 Diferentes tácticas para el trabajo con

los miembros jerárquicos y con los demás

miembros…………………………………70

3.4.5.2 Diferentes formas de comunicación

con áreas jerárquicas y racionales, y canal de

comunicación entre ellas…………………72

3.4.5.3 Compartir lugar físico con los

miembros de las áreas……………………72

3.4.5.4 Foco en temas puntuales y en grupos

reducidos con intereses comunes …. . . . . . …..72

3.4.6 Liderazgo………………………………72

3.5 | Respuesta a los casos de estudio……….73

Caso 1……………………………………72

Caso 2………………………… …. …….74

Caso 3……………………………………74

3.6 | Conclusión……………………………..75

CAPÍTULO 4: Trabajo con Requerimientos

4.1 | Importancia de los requerimientos……..77

4.1.1 El rol de analista……………………….78

4.1.1.1 Definición…………………………78

4.1.2 ¿Qué son los requerimientos?………….78

4.1.3 ¿Para qué sirven?……………. . . …….78

4.1.4 ¿Cuál es el impacto en un proyecto de

desarrollo de software?…………. . . . . ………78

4.2 |Tareas asociadas a los requerimientos…..82

4.2.1 Foco…………………………. ………83

4.2.2 Nivel…………………………………..84

4.2.3 Vista…………………………………..84

4.3| Estrategia y tácticas en el trabajo con

requerimientos….. . . . . . . ……………………..86

4.3.1 Estrategia……………………………..86

4.3.2 Tácticas……………………. . . …. …..88

4.3.2.1 Especificación de requerimientos de

software y sus atributos de calidad… . . . ….88

4.3.2.2 Especificación de casos de uso……89

4.4 | Análisis de requerimientos………. . . ….91

4.4.1 No confundir dominio y negocio con diseño.91

4.4.1.1 Nota para desarrolladores ágiles……95

4.4.1.2 Nota a los analistas de sistemas… . .96

4.4.2. Paquetes………………………………96

4.4.2.1 Alternativas de selección…………..96

4.5 | Validación y verificación… … …………98

4.5.1 Validación……………………………..98

4.5.2 Verificación…………….. ……. ………98

4.6 | Administración de cambios a los

requerimientos…………… ……… . . . . ….. .100

4.6.1 Problema………………… ……… ….100

4.6.2 Alternativas de solución………… .. ….102

4.6.2.1 Nota para desarrolladores ágiles….102

4.7 | Conclusión……… … . . . . . . .. . …… ……..102

CAPÍTULO 5: Trabajo con la gestión

de proyectos

5.1 | Proyectos…… . . . ………. . . . …………105

5.1.1 Planes y planificación….. . . . ………….105

5.1.2 Cascada versus iteraciones……………106

5.1.2.1 La dinámica de las iteraciones… …107

5.1.2.2 Las vistas de los roles…………….109

5.1.3 Planificación de iteraciones……………111

5.1.3.1 Medidas de estabilidad…………..112

5.1.4 Fases, actividades, objetivos…… . ……114

5.1.5 Cuestiones a tener en cuenta y algunas

recomendaciones…………………… … ….116

5.1.5.1 A tener en cuenta………….. . …..116

5.1.5.2 Recomendaciones………………..117

5.1.6 Condiciones de contexto…… …………117

5.2 | Planificación de proyectos………………118

5.2.1 Estrategia…………………………….120

5.2.1.1 Un caso demostrativo…………….120

5.2.2 Construcción de una estrategia……….122

5.2.2.1 Visión……………………………122

5.2.2.2 Objetivos………………………..122

5.2.2.3 Prioridades………………………123

Guillermo Pantaleo Alfaomega

15

5.2.2.4 Riesgos………………. … ……..123

5.2.2.5 Estimaciones…………………….124

5.2.2.6 Estrategia ………………. … …..127

Ejemplo de estrategia………….. . … …..128

5.3 | Seguimiento del desarrollo de proyectos….130

5.3.1 Roles…………………………………130

5.3.1.1 Qué cosas debe hacer un líder de

proyectos para cubrir sus responsabilidades

…………………………………………130

5.3.1.2 Qué cosas no debe hacer un líder de

proyectos……. . . . . . . . . . . . . . . . . . . . . ……….. 131

5.3.2 Actividades…………………………..131

5.3.3 Puntos de observación………………..132

5.3.4 Fotos versus película…………… . . …133

5.3.4.1 Tratamiento de una decena de temas

……….. ……………………………….133

5.3.4.2 No seguimiento de los temas tratados

…………………………………………133

5.3.5 Escalamiento…………………………133

5.3.6 Acciones……………………………..134

5.3.7 Métricas……………………………..134

5.4 | Conclusión………… . . . . . …………….137

CAPÍTULO 6: Trabajo con la Implementación

– Diseño Codificación y Pruebas

6.1 | Diseño, codificación y pruebas……………139

6.1.1| Problemas…………………………..140

6.1.1.2 Proceso de diseño ………………140

6.1.1.3 Coordinación de la construcción ……140

6.1.1.4 Pruebas ………………….. … ….140

6.2| Pruebas de software………………………141

6.2.1| Trabajo con el repositorio ……………145

6.2.2| Test sistemáticos y automáticos……..146

6.2.3| Cómo adoptar la nueva forma de trabajo

……………………………………………147

6.2.3.1 Obstáculos para automatizar las

pruebas………………………………….147

6.2.3.2 Qué debería automatizarse… …….148

6.2.3.3 Qué no debería automatizarse ……..148

6.2.3.4 Estrategia para comenzar la

automatización………………………………148

6.3| Integración continua…………………. … …..149

6.3.1| Forma de trabajo………………. … ..149

6.3.1.1 Pasos………………………. … ..149

6.3.1.2 Principios………………….. … ..150

6.3.2 | Infraestructura……… . . . . . . . . . . . … ..151

6.3.3| Resultados……………………… … ..153

6.4|Revisiones de diseño y código…………. ….154

6.4.1 Revisiones……… … …………… … ..154

6.4.1.1 Objetivos…………. .. . . . . . … … ..155

6.4.1.2 Beneficios ……… … .. ……… ….155

6.4.1.3 Métricas guía………… … …. … ..156

6.4.1.4 Indicadores……… … ……….. .. ..157

6.4.1.5 Polimétrica de complejidad……… .158

6.5 |Conclusiones……… …….. …………. … ..158

6.6 |Herramientas……………………. … ….. ..158

CAPÍTULO 7: Trabajo con modelos de

desarrollo – CMMI

7.1 | Modelos de referencia……….. …………..161

7.1.1 CMMI…………………………………162

7.1.2 Relación entre áreas de proceso….. . . ..167

7.1.3| Desmistificando el modelo……………169

7.1.3.1 Por qué CMMI…………………….169

7.1.3.2 Con quién trabajar……….. ………169

7.1.3.3 Cómo es el proceso de mejoras con CMMI

…………….. . . . . . . . . . . . . … . . . . . . …….171

7.1.3.4 Qué recursos se necesitan……. ….175

7.1.3.5 Cómo es la evaluación con CMMI

(SCAMPI)…………………………. ……..177

7.2| Mejora de procesos utilizando el modelo CMMI

………………………………………………….181

7.2.1 | Estrategia general……………………182

7.2.1.1 Políticas y Procesos……………….183

7.2.1.2 Interpretación y mapeo de objetivos y

tareas…………………………. . ………184

Alfaomega Calidad en el desarrollo de software

16 CALIDAD EN EL DESARROLLO DE SOFTWARE

7.2.1 | Institucionalización…….. . . . ……….187

7.2.1.1 Relación entre áreas de proceso y

objetivos genéricos………………………187

7.3 | Modelos y metodologías………………189

7.3.1 | Metodologías y modelos…………….189

7.3.2 | CMMI y metodologías……………….190

7.4 | Madurez……………………………..191

7.5 | Conclusiones…………………………192

Apéndice A: Temas varios

Apéndice – Ejemplos de activos…………….195

Especificación de requerimientos de software (ERS)

……………………………………………195

Modelo de especificación de casos de uso… . 197

Ejemplo de priorización de requerimientos.. . . 199

Modelo de informe de avance………………202

Modelo de procedimiento…………………..203

Procedimiento de trabajo con código compartido

(CC) en ambiente de IC……………. . . …….204

Descripción……………………………..204

Forma de trabajo………………… . . . . . ..204

Condiciones de entrada………………….205

Entradas ……………………….. . . ……205

Roles……………………………………205

Activos…………………….. . ………….205

Pasos de la actividad…… . . . ……………206

Salida…………………………………..206

Condiciones de salida……. . . …………..206

Métricas ……………………….. . …….207

Verificación y validación……. . . . . . ………207

Apéndice B: Métricas aplicadas al Sofware

Las medidas como mecanismo de aseguramiento

y control de calidad …………………………..209

Medidas como verificación de aseveraciones .209

Modelo conceptual y modelo operacional………210

Indicadores y herramientas ………………………….210

Medidas de la calidad de productos de software…..211

Atributos internos ………………………………………..212

Atributos externos ……………………………………….212

Medidas de la calidad de procesos de software ….

……………………………………………………………………213

Medidas asociadas al desarrollo …………………..213

Medidas asociadas a la mejora de procesos …214

Conclusiones ………………………………………………220

Referencias……………………………………………….220

Apéndice C: Estándares de calidad en

procesos de software

Introducción…………………………………223

Normas y modelos de referencia……………223

Norma ISO 9001-2000……………………..230

Modelo CMMI ………………………………232

Enfoque y alcance de aplicación…………….237

Conclusiones…………… . . . . ………………237

Referencias………….. . . . . …………………237

Apéndice D: Estándares de calidad en

productos de software

Modelos ISO para la calidad del producto software

………………………………………………..239

El estándar ISO/IEC 9126 …………………….240

Calidad Interna y externa………….. . . ……….242

Calidad en uso…………………………………243

Estándar ISO/IEC 25000:2005……………………244

El estándar ISO/IEC 25010:2011……………….247

Referencias………………………………………………247

Título

Ir a Arriba