domingo, 24 de mayo de 2009

Normas para el Desarrollo Profesional

Recientemente la IEEE-Computer Society tiene constituido un comité de estándares para la Ingeniería del Software, dicho comité se denomina actualmente Software and Systems Engineering Standards Committee (S2ESC). Por su parte, la ISO (International Organization for Standardization), dispone del Subcomité de Normas 7 del Comité Técnico Conjunto 1 ISO/IEC(ISO/IEC JTC1/SC7) destinado a coordinar sus normas sobre a Ingeniería de Software y sistemas. El subcomité tiene como misión la estandarización de los procesos, herramientas y tecnologías de soporte para la ingeniería de los productos y sistemas software. Ambos comités, en su calidad de titulares de las dos principales recopilaciones del mundo sobre normas de Ingeniería de Software y normas para la ingeniería de sistemas que contienen software, establecen una correspondencia entre sus normas a fin de eliminar la confusión de los usuarios y coordinar el trabajo de elaboración de normas realizado por parte de las dos organizaciones.

sábado, 23 de mayo de 2009

Formación de la profesión de Ingeniería de Software

Las tecnologías de la información son un campo relativamente novedoso en los mercados laborales. Una de las razones que propicia la borrosa definición de la profesión es la inmadurez y novedad de las disciplinas. Actualmente, existen diversas iniciativas que pretenden, por una parte, establecer los criterios constitutivos de la profesión de Ingeniería del Software diferenciada de la profesión Informática, y por otra, la maduración de la profesión tanto informática, como de Ingeniería del software. Aquí pondremos de manifiesto el estado de madurez de la profesión de la Ingeniería de Software utilizando el modelo de madurez de las profesiones. Atendiendo a la definición de profesión es “Empleo, facultad u oficio que alguien ejerce y por el que percibe una retribución”. La aproximación del Software Engineering Institute (S.E.I), por otro lado toma como referencia las diversas profesiones reconocidas, y establece los componentes de una profesión reconocida:
  1. Una educación profesional a través de un currículum validado por alguna organización a través de la acreditación.
  2. Práctica profesional vía certificación voluntaria o licencia obligatoria.
  3. Desarrollo de capacidades especializado y educación profesional continuada.
  4. Soporte comunal a través de asociaciones profesionales. Compromiso de cumplimiento de un código ético propio.

Composición Curricular

En los últimos años han surgido diversas iniciativas tendentes al establecimiento de currículos normalizados que cubran las necesidades de los mercados laborales de profesionales en el campo de la informática. En estas iniciativas se ha puesto de manifiesto la importancia de la Ingeniería del Software, hasta el punto de demandar el establecimiento de la Ingeniería del Software como una profesión. En este sentido, una iniciativa venida de los E.E.U.U. ha causado un hondo impacto en la comunidad profesional informática. En 1998 la ACM (Association for Computing Machinery) y IEEE-CS (Computer Society of the Institute for Electrical Engineers) aunaron esfuerzos para formar el “Joint Task Force on Computing Curricula”, encargado de revisar el currículum publicado en 1991 y realizar una nueva versión en 2001. A diferencia de la edición de 1991, el Computing Curricula 2001 y la revisión de este último, Computing Curricula 2004 la cual está subdividido en cuatro recomendaciones curriculares específicas para cada disciplina informática:
  1. Informática (Computer Science)
  2. Arquitectura de Ordenadores (Computer Engineering)
  3. Ingeniería de Software(Software Engineering)
  4. Sistemas de Información (Information Systems)
  5. Tecnologías de la Información (Information Technology) Reciente

Estado de la Profesión de la Ingeniería de Software

Actualmente se cuenta con tres titulaciones oficiales en el campo de la Informática: Ingeniería Técnica en Informática de Gestión, Ingeniería Técnica en Informática Sistemas e Ingeniería en Informática. Las dos primeras tienen una duración de tres años (generalmente, 225 créditos), mientras que la tercera suele estar organizada en cinco años (375 créditos) aunque se pueden encontrar varias al respecto en el panorama nacional. No existe una titulación específica de Ingeniería de Software, pero, por una parte las recomendaciones curriculares de organismos internacionales, y por otra el proyecto EICE (Estudios de Informática y Convergencia Europea) patrocinado por la Agencia Nacional de Evaluación de la Calidad y Acreditación (ANECA) son dos seguros modificadores de la situación actual. Tanto nacionalmente como internacionalmente se argumenta la creación de un título de grado para la Ingeniería del Software, pero también existen serias reticencias.
Actualmente el volumen dedicado a la informática se encuentra acabado, encontrándose los restantes volúmenes en diferentes grados de avance. La última versión del volumen dedicado a Ingeniería del Software, el borrador público final, ha sido publicada el 21 de Mayo de 2004. Según se señala el propósito de la publicación es servir de guía para agencias de acreditación e instituciones académicas en el establecimiento de una titulación de grado en Ingeniería del Software.

DESARROLLO DE CAPACIDADES:

Un aspecto del desarrollo profesional es el aprendizaje de los apropiados estándares de práctica profesional, el IEEE desarrolla estándares desde hace más de 25 años y colectivamente suponen un estándar de prácticas para los Ingenieros del Software. El primer comité para estándares en la Ingeniería del Software se formó en 1976 con el propósito de establecer estándares para el aseguramiento de la calidad. Actualmente, IEEE-CS tiene constituido un comité de estándares para la Ingeniería del Software.Dentro de las recomendaciones futuras del modelo de profesión para Ingeniería del Software se incluyen tres aspectos principales:
  1. Desarrollo a través del SEBOK
  2. Desarrollo a través del SEEK
  3. Desarrollo a través del SE2004

A través del SEBOK

Para definir el conocimiento que debe poseer un Ingeniero de Software, IEEE-CS y ACM desarrollan una iniciativa conjunta que pretende establecer el núcleo de conocimiento de la ingeniería del software. El proyecto SEBOK, Software Engineering Body of Knowledge (SEBOK) comenzó sus actividades dentro del SECC (Software Engineering Coordinating Comittee), comité constituido por IEEE Computer Society y ACM para promover la profesión de Ingeniería del Software, en 1997. La última versión se ha publicado en Junio de 2004, y se pretende que la versión final se encuentre disponible en 2008. El objetivo de SEBOK es describir el cuerpo de conocimiento, organizarlo y dar acceso al mismo. Las pautas que utiliza el SEBOK para la definición de las áreas de conocimiento son, se han identificado diez áreas de conocimiento:

- Requisitos del Software
- Diseño del Software
- Construcción del Software
- Pruebas del Software
- Mantenimiento del Software
- Gestión de Configuración del Software
- Calidad del Software
- Gestión de la Ingeniería del Software
- Infraestructura de Ingeniería del Software
- Proceso de Ingeniería del Software

A través del SEEK

La selección inicial de las áreas del SEEK(Software Engineering Education Body of Knowledge) se basó en el SWEBOK áreas de conocimiento y múltiples conversaciones con docenas de voluntarios del área SEEK. Las áreas de voluntarios SEEK fueron divididos en grupos que representan a cada una de las de esas áreas específicas de SEEK, donde cada grupo posee aproximadamente siete voluntarios. A estos grupos se les asignó la tarea de proporcionar los detalles de las unidades que componen una determinada área de conocimiento de educación y de perfeccionamiento de estas unidades en los temas. Para facilitar su trabajo, las referencias actuales relacionados con la ingeniería de software y los esfuerzos del cuerpo de conocimientos (por ejemplo, SWEBOK, PESD exámenes, y SEI recomendaciones de estudios) y un conjunto de plantillas para el apoyo a la generación de las unidades y temas proporcionados.
Por último, el máximo nivel recomendado dentro de la taxonomía es el de Análisis, por encima únicamente del de Aplicación, recomendación máxima SEEK publicado en, Comprensión y Conocimiento.

A través del SE2004

Software Engineering'04(SE2004) es el primero de una serie de conferencias en los principios de la ingeniería de software, que se celebrará cada 18 meses, alternando entre todos los países del mundo. SE'04 pretende reunir a los investigadores y profesionales que entienden que la Ingeniería de Software, como una disciplina de ingeniería, debe basarse en una sólida teórica y científica, pero centrándose en la definición de métodos de ingeniería de sonido y el desarrollo de herramientas de análisis asociados que apoyan al desarrollo de software fiable. Estos buscan presentar documentos de alta calidad en todos los aspectos fundamentales de la ingeniería de software. Documentos teóricos, documentos que describen métodos de ingeniería fundada y herramientas asociadas, documentos que describen las experiencias exitosas y fallidas industriales, pero una perspicaz industria de experiencias, tanto para analizarse desde una perspectiva de ingeniería, son todos igualmente bienvenidos. Además, las descripciones y demostraciones de herramientas de apoyo a la industria de calidad buscan métodos para el desarrollo curricular de la ingeniería software.

Etica profesional Ing software

1.-Sociedad:Los ingenieros de software actuarán en forma congruente con el interés social.

2.-Cliente y/o empresario: Los ingenieros de software actuarán de manera que se concilien los mejores intereses de sus clientes y empresarios, congruentemente con el interés social.

3.-Producto: Los ingenieros de software asegurarán que sus productos y modificaciones correspondientes cumplen los estándares profesionales más altos posibles.

4.-Juicio: Los ingenieros de software mantendrán integridad e independencia en su juicio profesional.

5.-Administración: Los ingenieros de software gerentes y líderes promoverán y se suscribirán a un enfoque ético en la administración del desarrollo y mantenimiento de software.

6.-Profesión: Los ingenieros de software incrementarán la integridad y reputación de la profesión congruentemente con el interés social.

7.-Colegas: Los ingenieros de software apoyarán y serán justos con sus colegas.

8.-Personal: Los ingenieros de software participarán toda su vida en el aprendizaje relacionado con la práctica de su profesión y promoverán un enfoque ético en la práctica de la profesión.