La NTP-ISO/IEC 12207 como un marco de referencia a los procesos del ciclo de vida del software
Resumen
El software es una parte esencial de sistemas
convencionales y de tecnologías de la información,
tales como sistemas de transporte, militares, médicos y
financieros.
Hay una proliferación de normas, procedimientos,
métodos, herramienta y entornos para desarrollar y
gestionar el software. Esta proliferación ha creado
dificultades en la gestión y en la ingeniería de
software, especialmente en la integración de productos y
servicios. La disciplina del software necesita evolucionar desde
esta proliferación, hacia un marco de referencia
común que pueda ser usado por los profesionales del
software para "hablar el mismo lenguaje", a la hora de crear y
gestionar el software. Esta Norma Técnica Peruana
proporciona ese marco de referencia común.
La NTP-ISO/IEC 12207 tiene como objetivo principal
proporcionar una estructura común para que compradores,
proveedores, desarrolladores, personal de mantenimiento,
operadores, gestores y técnicos involucrados en el
desarrollo de software usen un lenguaje común.
Palabras Claves: NTP-ISO/IEC
12207.
Abstract
The software is an essential part of conventional
systems and information technologies , such as financial and
transportation systems , military doctors.
There is a proliferation of standards , procedures,
methods , tools and environments for developing and managing the
software. This proliferation has created difficulties in
management and software engineering , particularly in the
integration of products and services. The discipline of software
needs to evolve from this proliferation towards a common
framework that can be used by software professionals to "speak
the same language" when creating and managing software. This
International Standard provides the common framework .
NTP-ISO/IEC 12207 The main objective is to provide a
common structure for buyers, suppliers , developers , maintainers
, operators, managers and technicians involved in software
development using a common language.
Antecedentes
"Hoy en día las Organizaciones compran o
desarrollan productos de software para apoyar los procesos de
negocio. Las Normas internacionales de Ingeniería del
software brindan las mejores prácticas para la
adquisición y desarrollo de productos con calidad con el
objetivo de satisfacer las necesidades y expectativas del
Cliente".
Para lograr la construcción del software o
sistema, se necesita una guía o marco de referencia que
asegura en gran medida la calidad y el éxito del
proyecto.
Con ésta finalidad fue creado la norma 12207 para
los procesos del ciclo de vida del software.
La norma surge a principios de la década de los
noventa, como un estándar internacional. Es una norma
conjunta entre Iso – Iec (International Organization for
Standarization – International Electrotechnical
Commission). Su principal motivación fue establecer un
marco de trabajo común a la ingeniería del
software. Aplicable a la Ingeniería y a la
gestión.
La norma iso/iec 12207 establece un marco de trabajo
común para la ingeniería del software, a lo largo
de todo el ciclo de vida del producto.
El ciclo de vida de un sistema de software comienza en
el momento que se concibe su idea o necesidad. Momento en el que
ya es necesario comenzar a actuar de manera ortodoxa para
describir el ámbito del problema y las soluciones
posibles. El ciclo de vida comprende el desarrollo, mantenimiento
y operación y no concluye hasta que el sistema deja de
utilizarse y es definitivamente retirado.
Basado en esta norma internacional, en el Perú se
desarrolló la NTP-ISO/IEC 12207.
La presente Norma Técnica Peruana fue elaborada
por el Comité Técnico de Normalización de
Ingeniería de Software y Sistemas de Información,
mediante el Sistema 1 ó de Adopción, durante los
meses de enero a marzo del 2006, utilizando como antecedente a la
Norma ISO/IEC 12207:1995/Amd 1:2002/Amd 2:2005 Information
technology. Software life cycle processes.
El Comité Técnico de Normalización
de Ingeniería de Software y Sistemas de Información
presentó a la Comisión de Reglamentos
Técnicos y Comerciales – CRT, con fecha 2006-04-21,
el PNTP-ISO/IEC 12207:2006, para su revisión y
aprobación, siendo sometido a la etapa de Discusión
Pública el 2006-06-09. No habiéndose presentado
observaciones fue oficializado como Norma Técnica Peruana
NTP-ISO/IEC 12207:2006 TECNOLOGÍA DE LA
INFORMACIÓN. Procesos del ciclo de vida del software,
2ª Edición, el 28 de julio de 2006.
Esta Norma Técnica Peruana reemplaza a la
NTP-ISO/IEC 12207:2004 y es una adopción de la ISO/IEC
12207:1995/Amd 1:2002/Amd 2:2005. La presente Norma
Técnica Peruana presenta cambios editoriales referidos
principalmente a terminología empleada propia del idioma
español y ha sido estructurada de acuerdo con las
Guías Peruanas GP 001:1995 y GP 002:1995.2
Estructura de la
norma
La NTP 12207 está estructurada en 3
procesos grandes: principales, de apoyo y organizativos del ciclo
de vida.
Procesos principales
Adquisición: El proceso comienza con
la identificación de la necesidad de adquirir un
sistema, un producto software o un servicio software. El
proceso continúa con la preparación y
publicación de una solicitud de propuestas, la
selección de un proveedor y la gestión del
proceso de adquisición hasta la aceptación del
sistema, del producto software o del servicio software. El
proceso lo inicia el adquiriente del producto o servicio
software. Sus actividades son:Inicio.
Preparación de la solicitud de
propuestas.Preparación y actualización del
contrato.Seguimiento del proveedor.
Aceptación y finalización.
Suministro: El proceso se puede iniciar ya
sea por la decisión de preparar una oferta para
contestar a una solicitud de propuestas de un adquiriente, o
por la firma e inicio de un contrato con el adquiriente para
proporcionarle un sistema, producto software o servicio
software. El proceso continúa con la
determinación de los procedimientos y recursos
necesarios para gestionar y asegurar el proyecto, incluyendo
la preparación y ejecución de los planes del
proyecto hasta la entrega al adquiriente del sistema,
producto o servicio software. Sus actividades son:Inicio.
Preparación de la respuesta.
Contrato.
Planificación.
Ejecución y control.
Revisión y evaluación.
Entrega y finalización.
Desarrollo: contiene las actividades para el
análisis de los requerimientos, diseño,
codificación, integración, pruebas e
instalación y aceptación relacionadas con los
productos software. Puede contener actividades a nivel de
sistema si se estipula en el contrato. El desarrollador lleva
a cabo o soporta las actividades de este proceso de acuerdo
con el contrato.
Sus actividades son:
Implementación del proceso.
Análisis de los requerimientos del
sistema.Diseño de la arquitectura del
sistemaAnálisis de los requerimientos
software.Diseño de la arquitectura del
software.Diseño detallado del software.
Codificación y pruebas del
software.Integración del software.
Pruebas de calificación del
software.Integración del sistema.
Pruebas de calificación del
sistema.Instalación del software.
Apoyo a la aceptación del
software.Operación: El proceso cubre la
operación del producto software y el apoyo a la
operación de los usuarios. Ya que la operación
del producto software está integrada a la
operación del sistema, las actividades y tareas de
este proceso hacen referencia al sistema. Las actividades
son:Implementación del proceso.
Pruebas de operación.
Operación del sistema.
Soporte al usuario.
Mantenimiento: Este proceso se inicia cuando
el producto software sufre modificaciones en el código
y la documentación asociada, debido a un problema o a
la necesidad de mejora o adaptación. El objetivo es
modificar el producto software existente preservando su
integridad. Este proceso incluye la migración y
retirada del producto software. El proceso termina con la
retirada del producto software.
Consta de las siguientes actividades:
Implementación del proceso.
Análisis de problemas y
modificaciones.Implementación de las
modificaciones.Revisión/aceptación del
mantenimiento.Migración.
Retirada del software.
Procesos de apoyo
Documentación: es un proceso para
registrar la documentación producida por un proceso o
actividad del ciclo de vida. El proceso contiene el conjunto
de actividades para planificar, diseñar, desarrollar,
producir, editar, distribuir y mantener aquellos documentos
que necesitan todos los involucrados tales como gerentes,
ingenieros y usuarios del sistema o producto software. consta
de las siguientes actividades:Implementación del proceso.
Diseño y desarrollo.
Producción.
Mantenimiento.
Gestión de la configuración: es
el proceso de aplicar procedimientos técnicos y
administrativos a lo largo del ciclo de vida del software
para: identificar, definir y establecer la línea base
de los elementos software en un sistema; controlar
modificaciones y releases de los elementos; registrar e
informar del estado de los elementos y peticiones de
modificación; asegurar la completitud, consistencia y
corrección de los elementos; y controlar el
almacenamiento, manipulación y entrega de los
elementos. Sus actividades son:Implementación del proceso.
Identificación de la
configuración.Control de la configuración.
Determinación del estado de la
configuración.Evaluación de la
configuración.Gestión de releases y entrega.
Aseguramiento de la calidad: proporcionar la
seguridad apropiada de que los productos y procesos software
del ciclo de vida del proyecto son conformes con sus
requerimientos especificados y se adhieren a los planes
establecidos. Sus actividades son:Implementación del proceso.
Aseguramiento del producto.
Aseguramiento del proceso.
Aseguramiento del sistema de calidad.
Verificación: es un proceso para
determinar si los productos software de una actividad cumplen
con los requerimientos o condiciones que tienen impuestas por
las actividades precedentes. Por motivos de efectividad en
costo y rendimiento, se debería integrar, lo antes
posible, la verificación, en los procesos (tales como
los de suministro, desarrollo, operación o
mantenimiento) que la emplean. Estos procesos pueden incluir
análisis, revisión y prueba. Sus actividades
son:Implementación del proceso.
Verificación.
Validación: es un proceso para
determinar si los requerimientos y el sistema o producto
software, tal como se ha construido, cumplen con su uso
específico previsto. La validación se puede
llevar a cabo en etapas tempranas. Este proceso se puede
llevar a cabo como parte del apoyo a la aceptación del
producto.Implementación del proceso.
Validación.
Revisión conjunta: proceso para
evaluar el estado y los productos de una actividad de un
proyecto, según sea adecuado. Las revisiones conjuntas
están a nivel tanto de gestión del proyecto
como técnico y se mantienen a lo largo de la vida del
contrato. Este proceso puede ser empleada por cualquiera de
las dos partes, donde una de ellas (la revisora) revisa a la
otra parte (la revisada). Sus actividades son:lmplementación del proceso.
Revisiones de la gestión del
proyecto.Revisiones técnicas.
Auditoría: proceso para determinar el
cumplimiento con los requerimientos, planes y contrato,
según aplique. Este proceso puede ser empleado por
cualquiera de las dos partes, donde una de ellas (la
auditora) audita los productos software o actividades de la
otra parte (la auditada). Sus actividades son:lmplementación del proceso.
Auditoría.
Solución de problemas: proceso para
analizar y resolver problemas (incluidas las no
conformidades), cualquiera que sea su naturaleza u origen,
que se descubran durante la ejecución de los procesos
de desarrollo, operación, mantenimiento u otros. El
objetivo es el proporcionar un mecanismo que responsable,
documentariamente y a tiempo asegure que todos los problemas
descubiertos se analizan y resuelven y se reconozcan las
tendencias. Sus actividades son:lmplementación del proceso.
Solución de problemas.
Procesos organizativos
Gestión: contiene las actividades
genéricas y tareas que pueden ser empleadas por
cualquier parte que tenga que gestionar sus respectivos
procesos. El gerente es responsable de la gestión del
producto, gestión del proyecto y gestión de las
tareas de los procesos aplicables, tales como el de
adquisición, suministro, desarrollo, operación,
mantenimiento o soporte. Sus actividades son:Inicio y definición del alcance.
Planificación.
Ejecución y control.
Revisión y evaluación.
Finalización.
Infraestructura: proceso para establecer y
mantener la infraestructura que necesita cualquier otro
proceso. La infraestructura puede incluir hardware, software,
herramientas, técnicas, normas e instalaciones para el
desarrollo, operación o mantenimiento. Sus actividades
son:Implementación del proceso.
Establecimiento de la infraestructura.
Mantenimiento de la infraestructura.
Mejora: proceso es un proceso para
establecer, evaluar, medir, controlar y mejorar un proceso
del ciclo de vida del software. Sus procesos son:Establecimiento del proceso.
Evaluación del proceso.
Mejora del proceso.
Recursos humanos: proceso para proporcionar y
mantener personal capacitado. La adquisición,
suministro, desarrollo, operación o mantenimiento de
los productos software depende en gran medida de personal
entendido y competente. Sus actividades son:lmplementación del proceso.
Desarrollo del material de
formación.lmplementación del plan de
formación.
Campo de
aplicación
Es aplicable en la adquisición de sistemas,
productos y servicios software, al suministro, desarrollo,
operación y mantenimiento de productos software y a la
parte software del firmware, independientemente de que sea
hecho interna o externamente a una organización.
Incluye también aquellos aspectos de la
definición de sistema necesarios para proporcionar el
contexto de los productos y servicios software.Está orientada para ser usada en situaciones
en las que haya dos partes incluido el caso en que estas dos
partes pertenezcan a la misma organización. La
situación puede ir desde un acuerdo informal, hasta un
contrato con responsabilidades legales. Esta NTP puede ser
usada por una sola parte como una
autoimposición.Está escrita para adquirientes de sistemas y
productos y servicios software y para proveedores,
desarrolladores, operadores, responsables de mantenimiento,
administradores, responsables de aseguramiento de calidad y
usuarios de productos software.
Aportes
Espiritual: Las normas nos indican cambio, mejora
y superación. En la Biblia el Dios del cielo, dejó
verdades eternas de obediencia a sus normas o mandamientos para
ser felices. Los que cumplen las normas por amor y gratitud a un
Dios Todopoderoso llegan a lograr estándares de calidad
para beneficio de su familia y sociedad. Las normas de Dios
están en Éxodo 20:12 y a lo largo de toda la Biblia
se dan sus detalles y no solamente el qué debes hacer sino
también cómo logarlo. Es una ISO integrada del
cielo.
Innovación: Entendemos la
innovación como un proceso de negocios a través del
cual las ideas se transforman en soluciones en forma
sistemática y eficiente creando valor superior para
clientes, consumidores y accionistas.
La innovación tecnológicos que ayuden a
fortalecer su competitividad y mejorar su
productividad.
Tecnológico: La tecnología hoy en
día en una herramienta muy importante ya que con ella
contamos con la información necesaria y las herramientas
para poder desarrollar los trabajos o proyectos
En la tecnología la ISO 12207 la
aportación es que nos da la información y el
material, nosotros vemos como lo usamos y en que lo
usamos
Social: El hombre es un ser social y
biológicamente es imposible un ser humano fuera de la
sociedad. Aplicaríamos la Iso 12207 con los deberes de los
ciudadanos obrando conforme al principio de la solidaridad
social
Conclusiones
La norma te dice qué es lo que debes hacer,
pero no cómo, para ello juegan un papel muy importante
las metodologías para cumplir con los requerimientos
de la norma.En desarrollo fielmente de la norma mejores
definitivamente los procesos del ciclo de vida del software
porque está validado a nivel internacional.Este marco de referencia cubre el ciclo de vida del
software desde la conceptualización de ideas hasta su
retirada y consta de procesos para adquirir y suministrar
productos y servicios software. Cubre además el
control y la mejora de estos procesos.
Referencias
1Comité Técnico de
Normalización y de Ingeniería de Software y
Sistemas de Información. (2006). Norma Técnica
Peruana NTP-ISO/IEC 12207 – 2006. Perú.
194p.2http://www.minedu.gob.pe/ofin/xtras/rm0164-2010ed_part1.pdf
Autor:
Persy Quiroz Menor1,
Oscar Requejo
García2,
Hitler Collantes Chules3.