NORMA ISO 12207 INFORMATION TECHNOLOGY/ SOFTWARE LIFE CYCLE PROCESSES ESTÁNDAR PAR ALOS PROCESOS DE CICLO DE VIDA DEL SOFTWARE DE LA ORGANIZACION ISO.
YORELY BRIGETH CEBALLOS CARDONA 908514 LUIS ALBERTO VELEZ TASCON 911531 PROFESORA: ADRIANA GIRALDO
UNIVERSIDAD NACIONAL –SEDE MANIZALES ADMINISTRACIÓN DE SISTEMAS INFORMÁTICOS INGENIERIA DE SOFTWARE III MANIZALES, 11 DE MARZO DE 2013
INTRODUCCION El mercado del software representa uno de los ingresos económicos más significativos en el mundo, ya que ofrece múltiples fuentes de negocio y es una gran oportunidad para los países que se encuentran actualmente en vía de desarrollo. Ahora bien enfocándonos en nuestro país podemos determinar que lastimosamente no hay muchas empresas que estén preparadas para una competitividad a nivel mundial, ya sea por falta de procedimientos o certificaciones que fundamenten la calidad de sus productos, por lo cual es muy importante considerar una variedad de normas, procedimientos, métodos y entornos para desarrollar y gestionar software. Una vez que las organizaciones de software implementen herramientas para la mejora de sus procesos podrán desarrollar productos de alta calidad, obteniendo un tiempo adecuado, costos competitivos, actividades de operación y mantenimiento menos complejas y aumentar considerablemente la satisfacción de los clientes y usuarios finales. Por lo tanto es necesario hacer mención a la Norma ISO 12207 la cual se encarga de todo lo relacionado al ciclo de vida del software, desde la conceptualización de ideas hasta la retirada y consta de procesos para la adquisición y suministro de proyectos y servicios del software, estableciendo pautas para su control y mantenimiento.
ORIGEN La Norma Tecnica 12207 fue elaborada por el comité técnico de normalización de ingeniería de software y sistemas de información, mediante el antecedente de la norma ISO/IEC 12207 durante los meses de enero a marzo del año 2006. Versiones ●
ISO/IEC 12207:1995. Primera publicación. ● ISO/IEC 12207:1995/Amd 1:2002. Primera modificación. ● ISO/IEC 12207:1995/Amd 2:2004. Segunda modificación. ● ISO/IEC 12207:1995/Amd 3:2008. Tercera modificación. ISO/IEC 12207:2008 Este conjunto de normas se desarrollaron a partir de trabajos realizados por el Departamento de Defensa con sus estándares de elaboración de la norma MIL-STD-498. El Institute of Electrical and Electronics Engineers (IEEE) y la Electronics Industry Association (EIA) también jugaron un papel importante en la construcción de la fundación con su estándar ANSI 016 Conjunto. La 12207:2008 fusionó la sabiduría de estas organizaciones.
OBJETIVOS El objetivo más importante de esta norma es proporcionar una estructura común para que los compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software utilicen un lenguaje en común. Los objetivos de una empresa que busca la certificación con la norma ISO/IEC 12207:2008 son transportar a los clientes o socios la seguridad de que la empresa utiliza los procesos en relación con las prácticas de confianza de la industria. Además, los principios promovidos dentro de estas normas darán una plataforma sólida para administrar una solución de software desde sus inicios.
CARACTERISTICAS DE LA ISO/IEC 12207
DE LA ARQUITECTURA ● La norma establece la arquitectura de alto nivel del ciclo de vida del software: los
procesos y sus interrelaciones. ● El ciclo comienza con la idea y termina con la retirada del software. Se derivan los procesos considerando: ● Modularidad del proceso: un proceso individual se dedica solamente a una única función. Alta cohesión y bajo acoplamiento. ● Responsabilidad del proceso: un proceso individual es responsabilidad de una de las partes. ● Parte: una organización (total o parcial) que entra en un contrato. La organización puede variar de una a muchas personas. DE LA ESTRUCTURA
● ●
Los procesos se organizan por actividades. Las actividades se implementan a través de las tareas.
Una tarea es: ● Un conjunto elemental o atómico de acciones. ● Una tarea consume entradas (datos, información, control) y produce salidas (datos, información, control). Se consideran tres tipos de procesos: ● Principales ● Soporte o Apoyo ● Organizacionales
ALCANCES El alcance de la norma es establecer un marco de referencia común para los procesos del ciclo de vida del software. Contiene procesos, actividades y tareas para aplicar durante el suministro, desarrollo, operación y mantenimiento de productos software. Los procesos son descritos en términos de lograr los propósitos y salidas. La norma no define cómo o en qué orden se lograrán los propósitos y salidas de los procesos. Los resultados serán alcanzados en una organización siguiendo prácticas detalladas para generar productos de trabajo. Estas prácticas realizadas y las características de los productos de trabajo son indicadores que demuestran si los propósitos específicos están siendo logrados. Además la norma permite a una organización definir “como” un proceso será ejecutado conservando de esta forma la flexibilidad necesaria para que los países o las organizaciones la implementen de acuerdo a la cultura local o a la tecnología disponible. CAMPO DE APLICACIÓN (F.J. PINO, 2006) Es aplicable a la adquisición de sistemas, productos y servicios software, al suministro, desarrollo, operación y mantenimiento de productos software. Esta norma además esta creada para ser utilizada tanto por personas adquirientes de sistemas, productos y servicios de software, como para desarrolladores, operadores, responsables de mantenimiento, administradores, responsables de aseguramiento de calidad y usuarios finales. Esta norma puede ser utilizada por: ●
Una organización de software: Con el fin de ayudar a establecer un entorno de trabajo.
●
Un proyecto: Con el fin de ayudar a seleccionar una infraestructura y emplear todos los elementos que conforman un ciclo de vida de software establecido. ● Un comprador o proveedor: Para ayudar a desarrollar un acuerdo sobre los procesos y actividades que se vayan a manejar. ● Asesores: Con el fin de realizar evaluaciones que puedan servir de apoyo para mejorar los procesos de la organización. La norma ISO 12207 no está dirigida a productos de software preelaborados a menos de que formen parte de un producto entregable. FASES Y PROCESOS DE LA NORMA ISO 12207 (ISO/IEC, 2013)
Esta norma agrupa las actividades que pueden llevarse a cabo durante el ciclo de vida del software en cinco procesos principales, ocho procesos de apoyo y cuatro procesos organizativos.
PROCESOS PRIMARIOS
1) Proceso de adquisición: Define las actividades del adquiriente, la organización que adquiere un sistema, producto software o servicio software. El proceso comienza con la identificación de la necesidad de adquirir un producto 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. 2) Proceso de suministro: Define las actividades del proveedor, organización que proporciona un sistema, producto software o servicio software al adquiriente. El proceso puede iniciarse 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 3) Proceso de desarrollo: El Proceso de Desarrollo contiene las actividades y tareas del desarrollador. El proceso contiene las actividades para el análisis de los requisitos, 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 al contrato. 4) Proceso de operación: Define las actividades del operador, organización que proporciona el servicio de operar un sistema informático en su entorno real, para sus usuarios. El proceso cubre la operación del producto software y el apoyo a la operación para los usuarios. 5) Proceso de mantenimiento: Define las actividades del responsable de mantenimiento, organización que proporciona el servicio de mantenimiento del producto software; esto es, la gestión de las modificaciones al producto software actualizada y operativa. Este proceso incluye la migración y retirada del producto software. Este proceso se activa cuando el producto software sufre modificaciones en el código y la documentación asociada PROCESOS DE SOPORTE
Proceso de documentación: Define las actividades para el registro de la información producida por un proceso del ciclo de vida. Proceso de administración de la configuración: Define las actividades de la gestión de la configuración.
Proceso de aseguramiento de la calidad: Define las actividades para asegurar, de una manera objetiva, que los productos software y los procesos son conformes a sus requisitos especificados y se ajustan a sus planes establecidos. Proceso de verificación: Define las actividades (para el adquiriente, proveedor o una parte independiente) para verificar hasta un nivel de detalle dependiente del proyecto software, los productos software. Proceso de validación: Define las actividades (para el adquiriente, proveedor o una parte independiente) para validar los productos software del proyecto software. Proceso de revisión conjunta: Define las actividades para evaluar el estado y productos de una actividad. Este proceso puede ser empleado por cualquiera de las dos partes, donde una de las partes (la revisora) revisa a la otra parte (la parte revisada), de una manera conjunta. Proceso de auditoría: Este proceso puede ser empleado por dos partes cualesquiera, donde una parte (la auditora) audita los productos software o actividades de otra parte (la auditada). Proceso de resolución de problemas: Define un proceso para analizar y eliminar los problemas (incluyendo las no conformidades) que sean descubiertos durante la ejecución del proceso de desarrollo, operación, mantenimiento u otros procesos, cualquiera que sea su naturaleza o causa. PROCESOS ORGANIZACIONALES Proceso de gestión: Define las actividades básicas de gestión, incluyendo la gestión de proyectos, durante un proceso del ciclo de vida. Proceso de infraestructura: Define las actividades básicas para establecer la infraestructura de un proceso del ciclo de vida. Proceso de mejora: Define las actividades básicas que una organización (adquiriente, proveedor, desarrollador, operador, responsable de mantenimiento o gestor de otro proceso) lleva a cabo para establecer, medir, controlar y mejorar su proceso del ciclo de vida. Proceso de entrenamiento: Define las actividades básicas para conseguir personal adecuadamente formado.
CERTIFICACIÓN Sudáfrica constituye el único país que hasta ahora ofrece certificación oficial ISO 12207:2008. Este servicio eventualmente se expandirá a otros países. Las empresas, sin embargo, ponen en práctica la filosofía de la ISO 12207 en previsión de necesidades futuras para cumplir con estas normas. Además, la certificación de la norma ISO 9001, que representa un conjunto de normas de gestión de calidad bien adoptadas en el mundo, introduce algunos de los requisitos de ISO 12207. Para cumplir con la norma ISO 12207, es necesario demostrar que tienes un documento de requerimientos que captura las expectativas del cliente. Luego, el plan del proyecto debe demostrar que se inició con una arquitectura de alto nivel, dividiendo el proyecto en módulos independientes. Siguiendo la escritura y depuración del código, tu equipo debe participar en pruebas de integración que combinen varios módulos juntos. El último requisito exige una verificación del sistema que compara el software en su entorno final para cada elemento del documento de requerimientos. CONFORMIDAD USO CORECTO: La aplicación de esta norma en general, consiste en seleccionar un conjunto de procesos con el fin de adecuarlos en una organización, ya que puede no ser necesaria la inclusión de todos los procesos de la norma. Las declaraciones de conformidad pueden ser citadas de las siguientes formas: Conformidad completa: esta se da cuando se demuestra que todos los procesos establecidos por la norma, han sido resueltos obteniendo los resultados como evidencia de esto. Conformidad medida: Se cumple cuando esta norma utiliza como base un conjunto de procesos específicos, y se logran resultados eficientes.
LIMITACIONES
Esta norma no realiza un detalle completo de los procesos, en términos de métodos o procedimientos necesarios para el cumplimiento de los requisitos y resultados de un proceso.
No presenta documentación detallada en términos de nombre, formato, contenido explícito y medio de grabación, puede requerir de elaboración de diversos documentos de características semejantes a la norma para su complementación.
Esta norma nos indica que debemos hacer en la empresa para encaminarse a la calidad, pero no nos indica cómo hay que hacerlo. RECOMENDACIONES DE LA NORMA ISO/IEC:2008
La norma recomienda un marco común para los procesos de los ciclos de vida del software, que nace de una idea o una necesidad, que puede ser satisfecha en parte o en su totalidad por el software y que culmina con la jubilación del mismo.
Esta norma, no requiere la implementación de un modelo de ciclo de vida de software, pero recomienda que para cada proyecto se defina el modelo de ciclo de vida apropiado, de manera preferencial, un modelo que haya sido establecido por la organización para manejar diversos proyectos
Esta norma, no requiere un conjunto de etapas determinadas, por ejemplo en una fase de ciclo de un sistema interviene: concepto, desarrollo, producción, utilización, apoyo y jubilación, o el caso de un ciclo de vida de un productos de software: desarrollo, operación y mantenimiento.
CONCLUSIONES ● El estándar 12207 se relaciona con normas de calidad, especialmente la “ISO 9001: Sistemas
de calidad – modelos para la garantía de calidad en la concepción, desarrollo, producción, instalación y prestación de servicios”. ● Tiene una gran relación con la segunda parte de la norma “ISO/IEC 15504: Tecnologías de la
información - Evaluación de los procesos de software”. ● La norma ISO/IEC 12207 realiza evaluaciones al final de cada proceso, tomando en cuenta
aspectos como: viabilidad, seguimiento a los requerimientos del software y consistencia a todo el diseño, antes de pasar al siguiente proceso, lo cual reduce las probabilidades de retroceder entre uno y otro proceso para verificar si hubo errores; esto agilizara el desarrollo y aumentara el control de errores que se puedan suscitar en los desarrollos de software. ● Para el éxito de la implementación del estándar es necesario realizarlo lo más conciso y claro
posible para facilitar al personal de la organización su entendimiento y fácil aplicación en proyectos de desarrollo tomando en base las necesidades del departamento de sistemas.
REFERENCIAS
F.J. PINO, F. G. (2006). Adaptacion de las normas ISO/IEC 12207 para la evaluacion de la madurez de procesos de software en paises de desarrollo. IEEE XPLORE. Obtenido de http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=01642455.
ISO/IEC. (21 de 03 de 2013). http://www.math.unipd.it/. Obtenido de http://www.math.unipd.it/~tullio/IS-1/2009/Approfondimenti/ISO_12207-2008.pdf.