SWEBOK

De InfoWiki

El Corpus de Conocimiento de la Ingeniería de Software (Software Engineering Body of Knowledge o SWEBOK) es un proyecto impulsado por Software Engineering Coordinating Committee, un grupo formado por universidades estadounidenses, el IEEE-CS y originalmente también ACM.

En este documento se recoge el conocimiento generado durante los cuarenta años de existencia de la Ingeniería de Software (iniciada en 1968).

The software engineering body of knowledge is an all-inclusive term that describes the sum of knowledge within the profession of software engineering. Since it is usually not possible to put the full body of knowledge of even an emerging discipline, such as software engineering, into a single document, there is a need for a Guide to the Software Engineering Body of Knowledge. This Guide will seek to identify and describe that subset of the body of knowledge that is generally accepted, even though software engineers must be knowledgeable not only in software engineering, but also, of course, in other related disciplines.

Como indica el párrafo anterior, su intención no es establecer un marco cerrado y completo para la Ingeniería del Software, dado que esta está en crecimiento. Sin embargo si tiene una firme voluntad de incorporar y ordenar los conocimientos ampliamente aceptados y dotarlos de una forma objetiva y estandarizada, de tal manera que sea posible tratarlos sin ambigüedades o confusión accidental o intencionada.


Contenido

¿Donde conseguirlo?

página oficial
swebok.org
descarga en inglés
PDF, requiere un e-mail válido.

El conflicto con ACM

El proyecto toma relevancia con la decisión del estado de Texas de acreditar la profesión de Ingeniero de Software, considerándola distinta a la de Informática Teórica, conocida en los paises anglosajones como Computer Science o ciencias de la computación. Este hecho provoca el rechazo de los formados en Ciencias de la computación y otros científicos que defienden una orientación mas teórica.

En este momento se produce también el divorcio de la ACM con el resto de integrantes del comité. Desde ACM se ofrecen una serie de objecciones, aunque principalmente se argumenta contra la intervención de la Sociedad Nacional de Ingenieros Profesionales (NSPE) y la orientación que esta trata de darle al comité.

Finally, the PE licensing mechanism is inappropriate for software engineering because its exam structure would preclude many of the most qualified software engineers from becoming licensed. ACM is opposed to any process that could prevent highly qualified software engineers, including many ACM members, from professional practice for which they are qualified.

Concretando, de lograrse el objetivo de NSPE, de tal manera que los Ingenieros de Software fueran licenciados conforme al examen estatal propuesto por NSPE, significaría que muchos Científicos de la Computación (que constituyen la base mayoritaria de asociados de ACM) podrían quedar excluidos de dicha acreditación y del ejercicio profesional.

El examen de NSPE tiene dos partes: una generalista de ingeniería y una especialista de la rama. Por lo general requiere una mayor base en física de la que se obtiene en los programas de Computer Science. Para un comentario acerca de la posición de enfrentamiento entre la visión de los ingenieros y los científicos de la computación véase esta presentación.

El documento

IEEE publica la primera versión del SWEBOK en mayo de 2001, siendo la última revisión del año 2004.


En la versión vigente (2004) se describen las siguientes áreas de conocimiento propias de la Ingeniería de Software:


  • Requisitos.
  • Diseño.
  • Contrucción de Software.
  • Pruebas.
  • Manteniemiento.
  • Gestión de la configuración (administración, control del cambio, versiones).
  • Gestión de proyecto específica de la Ingeniería de Software.
  • Procesos de Ingeniería para el Software.
  • Herramientas y Métodos.
  • Procesos de control y aseguramiento de la Calidad en el Software.


SWEBOK también habla acerca de otras disciplinas relacionadas con la Ingeniería de Software, que son:


  • Arquitectura y Tecnología de Computadores.
  • Ciencias de la Computación, Lenguajes y Autómatas.
  • Gestión de proyectos.
  • Matemáticas.
  • Control y aseguramiento de la Calidad en producción genérica.
  • Ergonomía del Software: Comunicación Hombre-Máquina.
  • Ingeniería de Sistemas (integrados de hardware-software, mecánica, electrónica, etc).

Objetivos

Los objetivos que persigue principalmente este Corpus son:

Formalizar el conocimiento de Ingeniería de Software
Mediante la adopción de nomenclaturas y normas que puedan ser discutidas objetivamente, sin recurrir a autores particulares.
Facilitar una clasificación de dicho conocimiento
Mediante la organización por temas y la agrupación de elementos relacionados de tal manera que puedan ser consultados y encontrados con facilidad.
Promover una visión consistente de la Ingeniería de Software en todo el mundo
El uso de una nomenclatura única y una clasificación clara facilitará la comunicación entre distintos contextos culturales o escuelas de pensamiento.
Clarificar el papel del Ingeniero de Software con respecto a otras disciplinas y profesionales (cientificos de la computación, ingenieros proyectistas, electrónicos, físicos y matemáticos)
Mediante la separación de las áreas de conocimiento propias y las relacionadas.
Aportar una base para el desarrollo de currícula universitarios y exámenes de acreditación que permitan la regulación profesional
Estableciendo un criterio concreto que poder verificar y debatir para licenciar profesionales como Ingenieros de Software.

Criticas

El resultado final ha sido ampliamente criticado por la comunidad. Se recogen contra el SWEBOK los siguientes argumentos:

  • Sería incompleto y difuso
  • No refleja métodos ágiles, sino que estandariza las técnicas tradicionales.
  • Pretende servir como base a una regulación como ingeniería, lo que, a juicio de los opositores, no sería correcto por dos cosas: en primer lugar podría dejar fuera a profesionales capacitados y en segundo no cubriría los mínimos que serían exigibles (por ejemplo a nivel de aplicaciones en tiempo real).

Estos argumentos y otros similares se han aplicado en España al conjunto de las Ingenierías en Informática.

Herramientas personales