Ciclo de Vida del Software NTP 12207
ONGEI 2013
Objetivos de este seminario
Dar una visión global de la norma
Poder comprender sus principales aspectos
Identificar los requisitos a cumplir
Identificar prácticas comunes exitosas
3
Agenda
 Antecedentes históricos de la norma y la NTP
Poder comprender sus principales aspectos
Identificar los requisitos a cumplir
Identificar prácticas comunes exitosas
4
La realidad de los proyectos de Software
¿Que es ISO-IEC /12207?
•
Es una norma de la ingeniería de software, surge a principios de la
década de los noventa , como un estándar internacional resultado del
esfuerzo de todo el mundo entre académicos y laboral.
•
Es una norma conjunta entre ISO – IEC (International Organization for
Standarization – International Electrotechnical Commission)
•
Establece un marco de trabajo común para la ingeniería del software,
a lo largo de todo el ciclo de vida del software en el mundo.
•
Define los procesos, actividades y tareas asociadas a los procesos del
ciclo de vida del software desde la concepción hasta su retiro.
•
Define los procesos de ingeniería de software como: “un conjunto de
actividades que son realizadas por un conjunto de tareas que definen
como las acciones transforman las entradas en salidas”
Normas relacionadas con el proceso del Software
Un poco de historia
1987: Se conforma Joint Technical Committee JTC1 reúne a International
Organization for Standarization (ISO)
International Electrotechnical Commission (IEC)
1989: Se inicia el desarrollo de la ISO/IEC 12207
1995: En agosto, se publica la primera edición.
2002: En mayo, se publica la enmienda 1 a modo de revisión preliminar
se considera a: ISO/IEC 15504(evaluación del proceso), ISO/IEC 14598
(evaluación del producto), ISO/IEC 15939 (medición del software)
Un poco de historia
En Perú:
2003: Se traduce la norma al español.
2004: Se publica en mayo 2004 la NTP-ISO/IEC 12207:2004.
2004: Resolución Ministerial Nro.179-2004-PCM: que aprueba el uso obligatorio
de la Norma Técnica Peruana "NTP ISO/IEC 12207:2004 Tecnología de la
Información. Procesos del Ciclo de Vida del Software. 1ra edición" en entidades
del Sistema Nacional de Informática.
2006: Se publica en Julio la NTP-ISO/IEC 12207:2006
Un poco de historia
La NTP-ISO/IEC 12207 es una "adaptación" para el Perú de la norma
internacional, tratando de preservar el sentido original recogida en la norma
internacional.
La versión publicada y de uso obligatorio en el sector público en el Perú
corresponde a la versión ISO/IEC 12207:1995 y la ISO/IEC
12207:1995/Amd.1:2002; esta última que introduce cambios a la versión de
1995. Fue elaborada por el Comité Técnico de Normalización en Ingeniería del
Software y Sistemas de Información (CTN-ISSI); siendo revisada y aprobada por
la Comisión de Reglamentos Técnicos y Comerciales, del INDECOPI, en su
Calidad de Organismo Nacional de Normalización.
Características de la Norma
• Contiene procesos, actividades y tareas para aplicar durante la
adquisición de un sistema que contiene software, un producto
software puro o un servicio software, y durante el suministro,
desarrollo, operación y mantenimiento de productos software.
• Incluye también un proceso que puede emplearse para definir,
controlar y mejorar los procesos del ciclo de vida del software.
• 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.
• No pretende establecer el nombre, el formato o el contenido explícito
de la documentación que se genere.
Características de la Norma
• No establece un modelo de ciclo de vida concreto para el desarrollo del
software. Quien lo implementa es responsable de seleccionar un
modelo de ciclo de vida para el proyecto software y de elaborar una
correspondencia entre los procesos, actividades y tareas de esta
Norma Técnica Peruana y los de dicho modelo.
• ¿A quien esta dirigida? La norma esta concebida para ser aplicada a
ambas partes implicadas en el negocio (cliente – vendedor) o solo a
unas de ellas para ser usada como contralor.
• Cualquier organización que imponga el uso de esta norma es
responsable de especificar un grupo mínimo de: Procesos , Actividades
y Tareas
• La norma es concebida para ser aplicada tanto a productos de software
específicos o a sistemas donde el software es un parte del mismo.
• El software es concebido como una parte del sistema total.
• No existen certificaciones para el estándar
Beneficios de la NTP 12207
• Lenguaje común en el desarrollo de los proyectos
• Estandarización para identificar y desarrollar los
requerimientos usuarios
• Mejora en el orden y control de los proyectos
• Mejora en la ejecución de los proyectos
• Entendimiento e institucionalización en la Gerencia de
la importancia del trabajo orientada a la calidad de los
procesos
Alcance de la NTP-ISO/IEC 12207
Alcance de la NTP-ISO/IEC 12207
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:
o Modularidad del proceso: un proceso individual se dedica
solamente a una única función. Alta cohesión y bajo
acoplamiento.
o Responsabilidad del proceso: un proceso individual es
responsabilidad de una de las partes.
Ciclo de vida del Software
Ciclo de Vida del Software: Periodo de tiempo que comienza cuando
el producto software es concebido y termina cuando el software no esta
disponible permanentemente para el usuario (retirada del
software).(IEEE Std. 610.12-1990 Software Engineering Terminology).
Es una sucesión de etapas por las que pasa el software en su
desarrollo, desde que se concibe la idea hasta que deja de utilizarse.
Cada etapa lleva asociada una serie de actividades y tareas que se
deben realizar y una serie de documentos que serán la salida de cada
una de estas fases y que servirán de entrada a la fase siguiente.
Ciclo de vida del Software
• A grandes rasgos, el ciclo de vida de un sistema de
software comienza en el momento que se concibe
su idea o necesidad.
• 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.
18
Arquitectura
Arquitectura
Piratería de Software en Internet
Visión
• Aporta una visión global de los procesos.
• Los procesos establecen la arquitectura del ciclo de
vida. Pero no dependen de ningún ciclo de vida
concreto.
• Las organizaciones son la encargadas de seleccionar
y aplicar los métodos que entiendan convenientes
para llevar a cabo las actividades y tareas
21
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
 En la siguiente figura se muestra la estructura general de
la NTP-ISO/IEC 12207.
Estructura General de los Procesos
La norma describe los procesos, pero no especifica como
implementarlos, ya sea de sus actividades y/o tareas
Introducción a los Procesos
• Modularidad.-Máximamente cohesivos y mínimamente acoplados
• Responsabilidad.- Se considera que cada proceso es responsable
por una parte del ciclo de vida del software
• La calidad es considerada desde el principio del ciclo de vida, el
estándar implementa los principios de TQM (Total Quality
Management)
• Cada proceso tiene asociado un ciclo PDCA (plan-do-check-act).
• Procesos de soporte relacionados
– validación y verificación
– Aseguramiento de la calidad
24
Requisitos de la NTP 12207
Análisis de los requerimientos:
• Se deberá analizar el uso específico previsto del sistema a ser
desarrollado para especificar los requerimientos del sistema.
• Se deberá documentar la especificación de los requerimientos del
sistema.
• Se deberá documentar las características de calidad.
• El desarrollador deberá evaluar los requerimientos de software
teniendo en cuenta los siguientes criterios: capacidad para ser
probado, visibilidad del diseño de software y viabilidad de la
operación y mantenimiento.
35
Requisitos de la NTP 12207
Diseño de la Arquitectura de software:
• Se deberá establecer la arquitectura alto nivel, la arquitectura
debe establecer los elementos hardware, software y operaciones
manuales.
• Se deberá documentar la arquitectura del sistema y los
requerimientos asignados a cada elemento.
• El desarrollador deberá desarrollar y documentar un diseño a alto
nivel para la base de datos.
• El desarrollador deberá definir y documentar los requerimientos
preliminares de pruebas y la planificación para la integración de
software.
36
Requisitos de la NTP 12207
Diseño detallado del software:
• El desarrollador deberá preparar y documentar un diseño
detallado de las interfaces externas al elemento de software y
entre.
• El desarrollador deberá documentar el diseño detallado para la
base de datos.
37
Requisitos de la NTP 12207
Codificación y pruebas de software:
• Documentar los procedimientos de pruebas y datos para probar
cada unidad software y base de datos.
• El desarrollador deberá probar cada unidad de software y base de
datos asegurando que satisfacen sus requerimientos. Se deberá
documentar los resultados de las pruebas.
• El desarrollador deberá actualizar el plan de prueba los
requerimientos de prueba y el plan para la integración de
software.
38
Requisitos de la NTP 12207
Integración de software:
• Se deberá tener un plan de integración para cada unidad de
software. El plan deberá incluir requerimientos de prueba,
procedimientos, datos, responsabilidades y plazos.
• Se deberá documentar un conjunto de pruebas, casos de prueba y
procedimiento de prueba.
39
Requisitos de la NTP 12207
Pruebas de Calificación:
• Se deberá documentar el resultado de las pruebas.
Integración del sistema:
• Se deberán documentar los resultados de la integración y pruebas.
Pruebas de calificación del software:
• Se deberá asegurar que se prueba la conformidad de la
implantación de cada requerimiento del sistema y que el sistema
esté listo para su entrega. Se deberá documentar los resultados de
las pruebas.
40
Requisitos de la NTP 12207
Instalación del software:
• El desarrollador deberá apoyar en la labor de configuración de los
componentes del producto de software.
• El desarrollador deberá preparar un plan de instalación del
producto de software en el mismo entorno de destino.
• El desarrollador deberá instalar el producto de software de
acuerdo con el plan de instalación. Se deberán á asegurar que el
código software y base de datos se inicialicen y ejecuten y
terminan tal como se especifica en el contrato.
• Se deberán documentar las incidencias y resultados de la
instalación.
41
Requisitos de la NTP 12207
Apoyo a la aceptación de software:
• Se deberá entregar el producto de software tal como se especifica
el contrato.
• Se deberá dar formación inicial y continua y dar apoyo al
adquiriente tal como se especifica en el contrato.
42
Requisitos de la NTP 12207
Plan de operación:
• Se deberá contar con un plan de operación, donde se incluyan los
procedimientos de operación.
• El operador deberá establecer procedimientos para recibir,
registrar, solucionar y hacer un seguimiento de los problemas y
proporcionar información sobre su situación. En cuanto se
encuentren problemas, se deberán introducir en el proceso de
solución de problemas.
• Se deberá contar con procedimientos para probar el producto
software en su entorno de operación.
43
Requisitos de la NTP 12207
Pruebas de operación:
• Para cada reléase del producto software, se deberá llevar a cabo
pruebas de operación y tras satisfacerse los criterios especificados,
liberar el software para uso de operación.
• Se deberá asegurar que el código software y las bases de datos se
inicialicen, ejecuten y terminan tal como se describe en el plan.
Operación del sistema:
• El producto de software deberá ser operado en el entorno previsto
de acuerdo con la documentación del usuario.
44
Requisitos de la NTP 12207
Soporte al usuario:
• Se deberá proporcionar asistencia y consultaría a los usuarios
cuando la pidan. Estas peticiones y las acciones subsecuentes se
deberán registrar y supervisar.
• Se deberá pasar las peticiones del usuario, cuando sea necesario al
proceso de mantenimiento.
45
¿PREGUNTAS?
Consultas: Andrés Eduardo Barba Rebaza, PMP
[email protected]
46
Descargar

Diapositiva 1 - Oficina Nacional de Gobierno Electronico e