1. Procesos
1.1. Define un marco de trabajo para un conjunto de áreas clave de proceso que se deben establecer para la entrega efectiva de la tecnología
1.2. Importancia de un proceso
1.2.1. Proporciona claridad en cómo ha de realizarse el trabajo
1.2.2. Un proceso definido responde a las siguientes cuestiones:
1.2.2.1. ¿Quién se comunica con quién?
1.2.2.2. ¿Cómo se coordinan las actividades interdependientes?
1.2.2.3. ¿Quién es responsable de qué trabajo?
1.2.2.4. ¿Quién produce qué productos de trabajo, y cómo se evalúan?
1.3. Un proceso:
1.3.1. Identifica todas las actividades y tareas de la ingeniería del software
1.3.2. Define el flujo de trabajo entre las actividades y tareas
1.3.3. Identifica los productos de trabajo que se producen
1.3.4. Especifica los puntos de control de calidad requeridos
2. Herramientas
2.1. Proporciona soporte a las capas de proceso y métodos centrándose en el significado de la automatización de algunas de las actividades manuales
2.2. Las herramientas se pueden utilizar para automatizar las siguientes actividades:
2.2.1. Actividades de gestión de proyectos
2.2.2. Métodos técnicos usados en la ingeniería del software
2.2.3. Soporte de sistemas general
2.2.4. Marcos de trabajo para otras herramientas
2.3. Existen una gran variedad de herramientas para múltiples actividades:
2.3.1. Herramientas de gestión de proyectos
2.3.2. Herramientas de control de cambios
2.3.3. Herramientas de análisis y diseño
2.3.4. Herramientas de generación de código
2.3.5. Herramientas de pruebas
2.3.6. Herramientas de reingeniería
2.3.7. Herramientas de documentación
2.3.8. Herramientas de prototipos
3. Métodos
3.1. Identifica las tareas de ingeniería que se deben realizar para construir software de alta calidad.
3.1.1. Se centra en las actividades técnicas que se deben realizar para conseguir las tareas de ingeniería
3.2. Los métodos abarcan una gran gama de tareas que incluyen:
3.2.1. Análisis de requisitos
3.2.2. Diseño
3.2.3. Construcción de programas
3.2.4. Pruebas y mantenimiento
3.3. Las actividades técnicas fundamentales para construir software son:
3.3.1. Análisis: el análisis es el fundamento de todos los trabajos de ingeniería que siguen. Durante el análisis, se crea el modelo de lo que es requerido por el software
3.3.2. Diseño: las actividades de diseño siguen el análisis y traducen el modelo del análisis en cómo el producto proporciona estas funciones por medio del software
3.3.3. Codificación: una vez que el diseño es completo, la codificación traduce el modelo de diseño en una forma ejecutable
3.3.4. Pruebas: el proceso de pruebas ayuda a destapar errores en el código y el diseño subyacente