Get Started. It's Free
or sign up with your email address
SWEBOK by Mind Map: SWEBOK

1. CONSTRUCCION

1.1. se refiere a la creación de software útil a través de la programación, depuración (debugging), pruebas unitarias e integración de componentes. La construcción lidia con la creación y aplicación de algoritmos para la resolución de problemas, así como su implementación utilizando algún lenguaje de programación. Todo esto se debe hacer buscando minimizar la complejidad y cumpliendo estándares para que el código generado sea entendible y extensible por otros, además de que esté optimizado para consumir la menor cantidad de recursos posible.

2. PRUEBAS

2.1. Las pruebas de software consisten en la verificación dinámica del comportamiento real de un programa comparado con su comportamiento esperado en un conjunto finito de casos de prueba seleccionados de un dominio de ejecuciones típicamente infinito. Las pruebas se realizan para evaluar la calidad de un producto a través de la detección de fallas en éste.Las pruebas pueden ser de diferentes tipos, ya sea por su alcance (unitarias, integrales, de sistema) o su objetivo (funcionalidad, confiabilidad, desempeño, regresión, aceptación, beta, etc.). Para esto se utilizan diferentes técnicas como tablas de decisión, análisis de fronteras, máquinas de estados, y la experiencia misma. Por último, para cuantificar la calidad de un producto de software es necesario entender métricas como la densidad de defectos y la evaluación de confiabilidad.

3. GESTION DE CONFIGURACION

3.1. La configuración de un sistema se refiere al conjunto de elementos de hardware y software que lo forman. La gestión de configuración (GC) es la disciplina de identificar la configuración en distintos puntos del tiempo con el propósito de controlar los cambios a ésta, manteniendo su integridad y rastreabilidad durante el ciclo completo de vida del software. GC va más allá del simple control de versiones, y requiere saber identificar los elementos de configuración, definir un proceso de control de cambios, auditar y reportar el estatus de la configuración, y administrar la integración y liberación del sistema completo.

4. GESTIÓN DE PROCESO

4.1. es una metodología para estudiar flujos de conocimiento en procesos de software, con el fin de aprovechar de mejor manera tanto el conocimiento como los canales y herramientas utilizadas para su gestión, a la vez de permitir la identificación de necesidades y requisitos para mejorar la infraestructura de apoyo al flujo del conocimiento. GP propone una guía que ayuda a la identificación y entendimiento de flujos de conocimiento en procesos organizacionales, por medio del modelado de estos flujos utilizando un enfoque de ingeniería de procesos.

5. CALIDAD

5.1. El área de conocimiento de calidad se enfoca en la aplicación de técnicas estáticas para evaluar y mejorar la calidad del software. Esto difiere del acercamiento utilizado en pruebas, donde las técnicas utilizadas son dinámicas, ya que requieren la ejecución del software. El área de conocimiento de calidad involucra los subprocesos de aseguramiento de calidad, verificación, validación, revisión y auditoria. Además considera tópicos como la clasificación de defectos, control estadístico de calidad, modelos de predicción y análisis de tendencias.

6. REQUERIMIENTOS

6.1. Esta área de conocimiento considera la obtención, análisis, especificación y validación de los requerimientos, así como el rol que juegan dentro del proceso de desarrollo de software. Un especialista en requerimientos tiene conocimiento y experiencia en técnicas para obtener, cuantificar, negociar, clasificar, priorizar, modelar, documentar y validar los requerimientos de software. Además debe saber administrar adecuadamente los cambios a éstos.

7. DISEÑO

7.1. El diseño juega un rol clave en el desarrollo de software ya que es donde se generan modelos que sirven como “planos” para la construcción. Se divide en dos tipos: • Diseño arquitectónico - Describe la estructura y organización de alto nivel de un sistema. Identifica los componentes e interfaces entre éstos. • Diseño detallado - Describe individualmente cada componente con suficiente detalle para ser construido.

8. GESTIÓN DE INGENIERÍA

8.1. Cada área de conocimiento considera un proceso para las actividades técnicas y administrativas que deben realizarse para adquirir, desarrollar, mantener y retirar software; éste es considerado como un primer nivel de procesos. Adicionalmente existe un segundo nivel, o meta-nivel, que se enfoca en la definición, implantación, evaluación, mejora y administración del cambio de los procesos de primer nivel. A éste es al que se refiere el área de conocimiento de proceso de ingeniería de software.

9. MÉTODOS Y HERRAMIENTAS

9.1. Las herramientas permiten la automatización de tareas repetitivas y bien definidas, habilitando al ingeniero de software para que se concentre en los aspectos creativos del proceso. Existen una gran cantidad de herramientas para asistir todas las áreas de conocimiento, desde la administración de requerimientos hasta las pruebas automatizadas.

9.1.1. Los métodos de ingeniería de software establecen una estructura para sistematizar las actividades con el objetivo de aumentar las posibilidades de éxito. Esta área de conocimiento se enfoca en los métodos que abarcan múltiples KAs, ya que los que son relativos a una sola área de conocimiento se incluyen en el área correspondiente. Los métodos pueden aplicar técnicas heurísticas (informales), formales, y basadas en prototipos.