INTRODUCCIN El software es una parte esencial de sistemas convencionales y de tecnologas de la informacin. Hay una proliferacin de normas, procedimientos, mtodos, herramienta y entornos para desarrollar y gestionar el software. La disciplina del software necesita evolucionar desde esta proliferacin, hacia un marco de referencia comn Los procesos que hay en esta Norma Tcnica Peruana forman un conjunto completo.
OBJETO Y CAMPO DE APLICACIN OBJETO: Esta ISO establece un marco de referencia comn para los procesos del ciclo de vida del software, con una terminologa bien definida a la que puede hacer referencia la industria del software. CAMPO DE APLICACIN Esta ISO es aplicable a la adquisicin de sistemas, productos y servicios software, al suministro, desarrollo, operacin y mantenimiento de productos software independientemente de que sea hecho interna o externamente a una organizacin. LIMITACIONES Describe la arquitectura de los procesos del ciclo de vida del software. Esta NTP no pretende establecer el nombre, el formato o el contenido explcito de la documentacin que se genere. No establece un modelo de ciclo de vida concreto para el desarrollo del software. No pretende entrar en conflicto con las polticas, normas o procedimientos actualmente en vigor en ninguna organizacin. PROCESOS DEL CICLO DE VIDA
ISO 12207
PROCESOS PRINCIPALES DEL CICLO DE VIDA Adquisicin Suministro
Desarrollo
Operacin
Mantenimiento PROCESOS DE APOYO DEL CICLO DE VIDA Documentacin Gestin de configuracin Solucin de problemas PROCESOS ORGANIZATIVOS DEL CICLO DE VIDA Gestin Infraestructura Mejora Recursos humanos Aseguramiento de calidad Verificacin Auditoria Validacin Revisin conjunta
PROCESOS PRINCIPALES
Los procesos principales del ciclo de vida son cinco, que dan servicio a las partes principales durante el ciclo de vida del software. Una parte principal es aquella que inicia o lleva a cabo el desarrollo, operacin, o mantenimiento de los productos software. Estas partes principales son el adquiriente, el proveedor, el desarrollador, el operador y el responsable de mantenimiento de productos software Dicho proceso contiene las actividades y las tareas del adquiriente. El proceso comienza con la identificacin de la necesidad de adquirir un sistema, un producto software o un servicio software. El proceso contina con la preparacin y publicacin de una solicitud de propuestas, la seleccin de un proveedor y la gestin del proceso de adquisicin hasta la aceptacin del sistema, del producto software o del servicio software.
PROCESOS DE ADQUISICION PROCESOS DE ADQUISICION Inicio Preparacin de la solucin de propuestas Preparacin y actualizacin del contrato Seguimiento del proveedor Aceptacin y finalizacin El adquiriente describe un concepto o una necesidad de adquirir, desarrollar o de mejorar un sistema, productos software o un servicio del software, definir y analizar los requerimientos del sistema, contratar a un proveedor para llevar a cabo el anlisis de requerimientos del sistema, aprobar los requerimientos analizados, definir y analizar los requerimientos software. Inicio Preparacin de la solucin de propuestas Conviene que el adquiriente documente los requerimientos de la adquisicin los cuales son: Requerimientos del sistema. Definicin del alcance. Instrucciones para los ofertantes. Lista de los productos de software. Trminos y condiciones. Control de los sub-contratos. Restricciones tcnicas (por ejemplo, entorno de destino). Preparacin y actualizacin del contrato Conviene que el adquiriente establezca un procedimiento para la seleccin de proveedores seleccione un proveedor basndose en la evaluacin de su capacidad, deber preparar y negociar un contrato con el proveedor estableciendo los requerimientos de la adquisicin. Una vez que el contrato est en curso el adquiriente controlar las modificaciones del contrato por la va de la negociacin con el proveedor las cuales sern investigadas con relacin al posible impacto en los planes, costo, beneficios, calidad y plazos del proyecto Seguimiento del proveedor El adquiriente supervisar las actividades del proveedor, con el proceso de revisin conjunta y auditoria conviene que complemente la supervisin con el proceso de verificacin y validacin, segn sea necesario Cooperar para proporcionar toda la informacin necesaria en el momento preciso y resolver todos los asuntos pendientes. Aceptacin y finalizacin El adquiriente preparar la aceptacin basndose en los criterios de aceptacin definidos, llevar cabo revisiones de aceptacin y pruebas de aceptacin del producto o servicio software entregable y solo lo aceptara del proveedor cuando se satisfagan todas las condiciones de aceptacin, ya despus de aceptarlo el adquiriente debera asumir la responsabilidad sobre la gestin de la configuracin del producto software entregado. Define las actividades del proveedor, organizacin que proporciona un sistema, producto software o servicio software al adquiriente.
PROCESOS DE SUMINISTRO PROCESOS DE SUMINISTRO Inicio Preparacin de la respuesta Contrato Planificacin Ejecucin y control Revision y evaluacin Entrega y finalizacin Inicio El proveedor lleva a cabo una revisin de los requerimientos de la solicitud de propuestas, teniendo en cuenta las polticas de la organizacin y otras reglamentaciones. Preparacin de la respuesta Conviene que el proveedor defina y prepare una oferta como respuesta a la solicitud de propuestas. Contrato El proveedor deber negociar y contratar con la organizacin adquiriente para proporcionar el producto o servicio software. Planificacin El proveedor deber llevar a cabo una revisin de los requerimientos de adquisicin para definir el marco para la gestin y aseguramiento del proyecto y asegurar la calidad del producto o servicio de software Revisin y evaluacin Entrega y finalizacin Ejecucin y control El proveedor deber implementar y ejecutar el plan o planes de gestin del proyecto. Deber supervisar y controlar el progreso y la calidad de los productos o servicios software El proveedor coordina las actividades de revisin del contrato, de interfaces y de comunicacin con la organizacin adquiriente, deber llevar a cabo las reuniones informales, las revisiones de aceptacin, las pruebas de aceptacin, El proveedor deber entregar el producto o servicio software tal como se especifique en el contrato. Deber proporcionar asistencia al adquiriente para el soporte del producto o servicio software entregado PROCESOS DE DESARROLLO Define las actividades del desarrollador, organizacin que define y desarrolla el producto software.
Implementacin del proceso Anlisis de los requerimientos del sistema Diseo de la arquitectura del sistema Anlisis de los requerimientos del software Diseo de la arquitectura del software Diseo detallado del software Codificacin y pruebas del software Integracin del software Pruebas de calificacin del software Integracin del sistema Pruebas de calificacin del sistema Instalacin del software Apoyo a la aceptacin del software Implementacin del proceso Definir el modelo de ciclo de vida. Seleccionar, adaptar y usar normas, herramientas y lenguajes de programacin. Anlisis de los requerimientos del sistema Deber analizarse el uso previsto del sistema (requisitos de negocio, organizativos y de usuario, de seguridad fsica y de acceso). Diseo de la arquitectura del sistema Establecer la arquitectura del sistema a alto nivel (identificar los elementos hardware, software y operaciones manuales); evaluar dicha arquitectura. Anlisis de los requerimientos del software Definir los requerimientos funcionales y no funcionales; definicin de datos y requisitos de la base de datos; definicin de la documentacin de usuario. Diseo de la arquitectura del software Transformar los requerimientos en una arquitectura de alto nivel e identificar los componentes software. Desarrollar un diseo para los componentes externos y para la comunicacin. Diseo detallado del software Refinar el diseo de alto nivel hasta los elementos software que puedan ser codificados, compilados y probados. Codificacin y pruebas del software Probar cada unidad software y la base de datos. Actualizar los requisitos de pruebas y el plan de integracin. Integracin del software Preparar un plan de integracin que deber incluir requisitos de prueba, datos y plazos. Integrar los componentes de acuerdo al plan y probar. Pruebas de calificacin del software Llevar a cabo las pruebas de calificacin de acuerdo a los requisitos software de calificacin. Pruebas de calificacin Integracin del sistema Los elementos de configuracin software, los elementos de configuracin hardware, las operaciones manuales y otros sistemas si es necesario, debern integrarse para formar el sistema. Pruebas de calificacin del sistema Se llevan a cabo las pruebas de calificacin del sistema de acuerdo a los requisitos de calificacin para el sistema. Instalacin del software Preparar un plan para instalar el producto software en el entorno destino, tal cual especifica el contrato. Determinar los recursos y datos necesarios para la instalacin. Apoyo a la aceptacin del software Brindar apoyo a las revisiones y pruebas de aceptacin llevadas a cabo por el adquiriente. PROCESOS DE OPERACION Implementacin del proceso Pruebas de operacin Operacin del sistema Soporte al usuario Define las actividades del operador, organizacin que proporciona el servicio de operar un sistema informtico en su entorno real, para sus usuarios. Las actividades y tareas hacen referencia al sistema. Las actividades y tareas son responsabilidad del operador.
PROCESOS DE MANTENIMIENTO Se resume en: modificar el producto software preservando su integridad. Incluye la migracin y retirada del producto.
Implementacin del proceso Anlisis de problemas y modificaciones Implementacin de las modificaciones Revisin/aceptacin del mantenimiento Migracin Retirada de software TIPO ALCANCE ASPECTOS CRITICOS EJECUTAR EL PROCESO DE DESARROLLO PARA IMPLEMENTAR MODIFICACIONES PLAN PARA MIGRACION ELEMENTOS DE LA MIGRACION DE ACUERDO CON ESTA ISO NOTIFICAR A LOS USUARIOS DE LA MIGRACION LLEVAR EN PARALELO EL RETIRO Y EL INGRESO DE UN NUEVO PRODUCTO PROCESOS DE SOPORTE 1. PROCESO DE DOCUMENTACIN Se deber preparar, documentar e implementar un plan que identifique los documentos que se van a producir durante el ciclo de vida del producto software. Se considera: Titulo, propsito, audiencia, procedimientos y responsbilidades Implementacin del proceso Cada documento identificado se deber disear de acuerdo con las normas de documentacin aplicables para el formato, descripcin del contenido, numeracin de pginas, situacin de las figuras y tablas, marcas de propiedad y seguridad, empaquetado y otros elementos de presentacin. Diseo y desarrollo Los documentos se debern producir y poner a disponibilidad de acuerdo con el plan. Se debern almacenar los originales de acuerdo con los requerimientos de conservacin de registros, seguridad de acceso, mantenimiento y copias de seguridad. Produccin Se ejecutan las tareas necesarias para la modifiacin de la documentacin. Mantenimiento 2. Proceso de Gestin de la Configuracin El plan deber describir: las actividades de gestin de la configuracin; procedimientos y plazos para llevar a cabo dichas actividades; la organizacin u organizaciones responsables de llevar a cabo dichas actividades; sus relaciones con otras organizaciones, tales como las de desarrollo o mantenimiento del software. Implementacin del proceso Se deber identificar para cada elemento software y sus versiones: la documentacin que establece la lnea de referencia, las referencias a las versiones y otros detalles de identificacin. Identificacin de la configuracin Se deber llevar a cabo lo siguiente: identificacin y registro de las peticiones de cambio, anlisis y evaluacin de los cambios, aprobacin o rechazo de la peticin, e implementacin, verificacin y release del elemento software modificado. Control de la configuracin Se debern preparar registros de la gestin e informes del estado que muestren el estado y la historia de los elementos, software controlados, incluyendo las lneas de referencia. Determinacin del estado de la configuracin Se deber determinar y asegurar lo siguiente: completitud funcional de los elementos software frente a sus requerimientos y completitud fsica de los elementos software (si su diseo y cdigo reflejan una descripcin tcnica actualizada). Evaluacin de la configuracin El release y entrega de los productos software y de la documentacin se deber controlar formalmente. Se debern guardar copias maestras del cdigo y la documentacin durante toda la vida del producto software. Gestin de releases y entrega 3. Proceso de Aseguramiento de la Calidad Los objetivos del proceso de aseguramiento de la calidad debern asegurar que los productos software y los procesos empleados para proporcionar dichos productos software cumplen con sus requerimientos establecidos y se adhieren a sus planes establecidos. Implementacin del proceso Se deber asegurar que todos los planes requeridos por el contrato se documenten, cumplan con el contrato, son mutuamente consistentes y se ejecuten tal como se requiere. Aseguramiento del producto Se deber asegurar que aquellos procesos del ciclo de vida del software (suministro, desarrollo, operacin, mantenimiento y procesos de apoyo incluyendo el aseguramiento de la calidad) empleados para el proyecto, cumplen con el contrato y se adhieren a los planes. Aseguramiento del proceso Las actividades adicionales de gestin de la calidad se debern asegurar de acuerdo con las clusulas de NTP-ISO 9001 tal como se especifica en el contrato. Aseguramiento del sistema de calidad 4. Proceso de Verificacin Se deber determinar si el proyecto requiere un esfuerzo de verificacin y el grado de independencia organizativa necesaria para dicho esfuerzo. Se deber analizar los aspectos crticos de los requerimientos del proyecto. Implementacin del proceso Verificacin del contrato Verificacin del proceso Verificacin de los requerimientos Verificacin del diseo Verificacin del diseo Verificacin de la integracin Verificacin de la documentacin Verificacin 5. Proceso de Validacin Se deber determinar si el proyecto merece un esfuerzo de validacin y el grado de independencia organizativa necesaria para dicho esfuerzo. Implementacin del proceso Preparar los requerimientos de prueba, casos de prueba y especificaciones de prueba seleccionados para analizar los resultados de las pruebas. Asegurar que estos requerimientos de prueba, casos de prueba y especificaciones de prueba reflejan los requerimientos particulares para el uso especfico previsto. Validacin 6.Revisin Conjunta Se debern llevar a cabo revisiones peridicas en hitos predeterminados tal como se especifica en los planes del proyecto. Implementacin del proceso Se deber evaluar el estado del proyecto con relacin a los planes, plazos, normas y guas del proyecto aplicables. Revisiones de la gestin del proyecto Se debern mantener revisiones tcnicas para evaluar los productos o servicios software bajo consideracin y proporcionar evidencia de que: Son completos, Cumplen con sus normas y especificaciones, Estn listos para la siguiente actividad, etc. Revisiones tcnicas 7. Proceso de Auditora Se debern llevar a cabo auditoras en hitos predeterminados tal como se especifique en los planes del proyecto. Implementacin del proceso Se debern llevar a cabo auditoras para asegurar que Los productos software tal como estn codificados (tales como un elemento software) reflejan la documentacin de diseo.
Auditora 8. Proceso de Solucin de Problemas Se deber establecer un proceso de solucin de problemas para manejar todos los problemas (incluyendo las no conformidades) detectados en los productos y actividades software. Implementacin del proceso Cuando se han detectado problemas (incluyendo no conformidades) en un producto o actividad software, se deber preparar para cada problema detectado un informe describiendo el problema. Solucin de problemas