Está en la página 1de 39

Estándares de Software

+ IEEE/EIA 12207

UMSA 2006

Nelson Terrazas
Primero hablemos de Calidad

• La Ingeniería de Software tiene como


objetivo principal:
“La producción de software de alta
calidad.”

• Pero qué es la calidad del software?


Calidad del Software
• Calidad del PRODUCTO

• Calidad del PROCESO

– Ambos están relacionados

– “Sin un buen proceso de desarrollo es casi


imposible obtener un buen producto”
Ingeniería de Software y Calidad

Herramientas
Métodos
Procesos
Enfoque de Calidad
Definiciones de “calidad”

– “Conformidad con los requisitos y


confianza en el funcionamiento”, Deming

– “Adecuación para su uso”, Juran

– “Hacerlo bien a la primera”, Crosby


Definiciones - Calidad
• Según estándares internacionales:
– “La calidad es la suma de todos aquellos aspectos
o características de un producto o servicio que
influyen en su capacidad para satisfacer las
necesidades, expresadas o implícitas” (ISO 8402)
– “Grado con el cual el cliente o usuario percibe que
el software satisface sus expectativas” (IEEE 729-
83)
– “Capacidad del producto software para satisfacer
los requisitos establecidos” (DoD 2168)
Calidad del Software
• La calidad es algo relativo:

– Siempre dependerá de los requisitos o


necesidades que se deseen satisfacer.

– La evaluación de la calidad de un producto


siempre implicará una comparación entre los
requisitos preestablecidos y el producto
desarrollado
Calidad del Software
• Diferentes visiones de la calidad:
- Necesaria o requerida: la que quiere el cliente.
- Programada o especificada: la que se ha
especificado explícitamente y se intenta
conseguir.
- Realizada: la que se ha conseguido.

• El objetivo es conseguir que las tres visiones


coincidan
Modelos de Calidad de SW
• Nos ayudan a definir la calidad del software de una
forma más precisa y útil.
• Un modelo de calidad es definido jerárquicamente.

Calidad del Software

Punto de vista del usuario,


también llamados Atributos de
Factores de Calidad
Calidad Externos

Punto de vista del producto Criterios de


software, también llamados
Atributos de Calidad Internos Calidad del Producto

Medidas cuantitativas del


Métricas del Producto producto
Estándares de Software
IEEE
Importancia
• Según su uso:

– Mejoramiento del producto


– Protección al comprador
– Protección al negocio
– Incrementa la disciplina profesional
– Introducción de tecnología
Mejoramiento del Producto

• Estándares IEEE son voluntarios.


• La organización que los adoptan lo hace para
mejorar sus productos o mejora la percepción
de sus productos en el mercado
• Los estándares pueden mejorar los procesos
de negocios permitiendo desarrollar sus
productos con costos mas apropiados.
Protección al comprador
• Con muchos productos disponibles el comprador
toma decisiones basadas en propaganda, folletos,
experiencias anteriores con el vendedor o
examinación directa.
• La creciente complejidad de productos tecnológicos
causa inevitablemente la imposibilidad de examinar
muchos aspectos que se mantiene ocultos hasta
después de ser adquiridos.
• Los estándares pueden jugar un rol cuando proveen
información precisa acerca de la adecuación de los
productos para usos específicos.
Protección al negocio
• Litigios
– Estándares pueden respaldar la defensa en casos
en que se pretende demostrar negligencia.
• Respaldo
– El adherirse voluntariamente a estándares
respalda la seriedad y confiabilidad de la empresa
que así lo hace.
• Contratos
– En situaciones contractuales la aplicación
adecuada de estándares protegen a ambas partes
divide responsabilidades, clarifica terminología y
define procedimientos esperados.
Incrementa la Disciplina Profesional

• La existencia de estándares y uso de los


mismo es un paso importante en la
formalización de la Ingeniería de Software.

• Define los métodos esperados en la practica


responsable de la ingeniería de software.
Introducción de Tecnología

• Según SEI, los estándares juegan un rol vital


en la transición tecnológica.
Estandares IEEE SESC
(Software Engineering Standards Comitee)

• Alrededor de 50
• 4 volúmenes, 2,300 paginas
• Cada uno de estos estándares toma de 2 a 4
años en ser elaborados.
• Costo 2,000 a 10,000 US$ por página
• Precio de venta 300-400 US$, para miembros
de IEEE
Objetivos Organizacionales

• Diferentes motivos por los cuales una


organización adopta estos estándares:
– Mejorar y evaluar su capacidad tomado en cuanta
estos aspectos:
• Calidad
• Satisfacción del Cliente
• Productividad
• Madurez de los procesos
• Tecnología
Objetivos Organizacionales

– Proveer el marco y terminología para un contrato


de dos partes.
• Proceso de adquisición
• Proceso de provisión
• Proceso de ciclo de vida
• Documentos (entregas) durante el ciclo de vida
– Evaluar los productos de la Ingeniería de SW
• Mediciones externas (producto final)
• Mediciones internas (productos incompletos,
intermedios)
Objetivos Organizacionales

– Asegurar niveles altos para el software


• Planificación
• Desempeño
• Evaluación
Organización
• Organización orientada a objetos de la IS
ayuda transforma
Proceso

desempeña

Proyecto
interactúa
con produce
Cliente Agente Producto

usa

se aplican a
Recurso
Estándares IEEE
• 610.12-1990 Standard Glossary of Software • 1012a-1998, Supplement to Standard for
Engineering Terminology Software Verification and Validation

730-2002, Standard for Software Quality 1016-1998, Recommended Practice for


Assurance Plans Software Design Descriptions

828-1998, Standard for Software Configuration 1028-1997, Standard for Software Reviews
Management Plans 1044-1993, Standard Classification for
Software Anomalies
829-1998, Standard for Software Test
Documentation 1045-1992, Standard for Software Productivity
Metrics
830-1998, Recommended Practice for Software
Requirements Specifications 1058-1998, Standard for Software Project
Management Plans
982.1-1988, Standard Dictionary of Measures to
Produce Reliable Software 1061-1998, Standard for a Software Quality
Metrics Methodology
1008-1987 (R1993), Standard for Software Unit 1062-1998, Recommended Practice for
Testing Software Acquisition
1012-1998, Standard for Software Verification 1063-2001, Standard for Software User
and Validation Documentation
IEEE/EIA 12207.0-1996, Industry 1074-1997, Standard for Developing
Implementation of International Standard Software Life Cycle Processes
ISO/IEC 12207: 1995
IEEE/EIA 12207.1-1996,
IEEE/EIA 12207.2-1997,
Estándares IEEE (cont.)
• 1175.1-2002, Guide for CASE Tool • 1420.1a-1996, Supplement to Standard for
Interconnections - Classification and Information Technology-Software Reuse-Data
Description
1420.1b-1999, IEEE Trial-Use Supplement to
1219-1998, Standard for Software Maintenance Standard for Information

1220-1998, Standard for the Application and 1462-1998, Standard - Adoption of International
Management of the Systems Engineering Standard ISO/IEC 14102: 1995; 1465-1998,
Standard - Adoption of International Standard
1228-1994, Standard for Software Safety Plans ISO/IEC 12119: 1994(E)

1233-1998, Guide for Developing System 1471-2000, Recommended Practice for


Architectural Description of Software Intensive
Requirements Specifications
1490-1998, Guide - Adoption of PMI Standard -
1320.1-1998, Standard for Functional Modeling A Guide to the Project Management Body of
Language-Syntax and Semantics for IDEF0 Knowledge
1320.2-1998, Standard for Conceptual 1517-1999, IEEE Standard for Information
Modeling Language Syntax and Semantics... Technology-Software Life Cycle Processes-Reuse
1362-1998, Guide for Information Technology- 1540-2001, Standard for Software Life Cycle
System Definition-Concept of Operations Processes- Risk Management
1420.1-1995, Standard for Information 2001-2002, Recommended Practice for Internet
Technology-Software Reuse-Data Model for Practices - Web Page Engineering
Reuse
14143.1-2000, Adoption of ISO/IEC 14143-1:1998
Information Technology-Software
IEEE/EIA 12207
Tecnología de la Información
Procesos del Ciclo de Vida del Software

• Establece un marco común para el software a través de sus


ciclo de vida, desde la concepción hasta el retiro del mismo.

• Enfoca los procesos del software desde el punto de vista


técnico del sistema y desde el punto de vista comercial de la
empresa.

• Es considerado ampliamente como base para el comercio


mundial de software.

• Su adopción es completa o en camino de serla en los países


mas desarrollados.
Estructura del IEEE/EIA 12207
Procesos Primarios del Ciclo de Vida Procesos de Soporte al Ciclo de Vida

Adquisición Documentación

Gestión de la Configuración
Suministro
Aseguramiento de la Calidad

Verificación
Operación
Validación

Revisión Conjunta
Desarrollo
Auditoría
Mantenimiento
Resolución de Problemas

Procesos Organizacionales del Ciclo de Vida

Administración/Gestión Infraestructura

Mejoramiento Capacitación
Organización
Ciclo de vida
Concepto

Retirada

Proceso
1

Proceso

N

Actividad 1 … Actividad n
Tarea 1 Tarea 1
Tarea 2 Tarea 2
… …
Tarea n Tarea n
IEEE/EIA 12207 - Procesos Primarios

• Adquisición
– Iniciación
• Análisis de requerimientos (int. - ext.)
• Elección de software (empaquetado, desarrollo int. - ext. ,etc)
• Plan de adquisición
– Requisitos - Uso planeado del sistema - Tipo de contrato
– Responsabilidades - Soporte a emplearse - Riesgos y metodos
– Pliego de especificaciones y condiciones
• Requisitos del sistema
• Alcance
• Instrucciones para los ofertantes
• Lista de los productos software
• Términos y condiciones
• Control de subcontratos
• Restricciones técnicas
IEEE/EIA 12207 - Procesos Primarios

• Adquisición (cont.)
• Preparación y actualización de contrato
– Establecer procedimientos de selección
– Elección del proveedor
– Preparación y negociación del contrato
– Control y negociación de cambios al contrato
• Supervisión del proveedor
– Se supervisara al proveedor de acuerdo a un “Procesos de Revisión
Conjunta” y a un “Proceso de Auditoría” preestablecidos, suplementando a
los procesos de “Verificación”y “Validación”
• Aceptación y finalización
– Preparación para la aceptación del sistema de acuerdo a la estrategia
definida inicialmente. Preparación de casos para las pruebas, datos,
procedimientos y ambientes deben ser incluidos.
IEEE/EIA 12207 - Procesos Primarios

• Suministro
– Iniciación
• Revisión de los requisitos tomando en cuenta las reglas de la
organización
• Tomar la decisión de proponer o aceptar contrato
– Preparación de la propuesta
• El ofertante debe definir y preparar la oferta incluyendo la adecuación
de este estándar al proyecto.
– Contrato
• El ofertante negociará y firmará contrato
• El ofertante podrá solicitar cambios al contrato
IEEE/EIA 12207 - Procesos Primarios

• Suministro (cont.)
– Planificación
• Establecer marco de administración del proyecto

• Selección del ciclo de vida (si no fue estipulado)

• Establecer requisitos para el plan (recursos y participación del


cliente)

• Considerar opciones de desarrollo y prestación de servicios


– Recursos internos
– Sub-contratación
– Empaquetados de procedencia interna o externa
– Combinación de los puntos anteriores
IEEE/EIA 12207 - Procesos Primarios

• Suministro (cont.)
– Planificación (cont.)
• Desarrollo del plan considerando:
– Organización del proyecto
– Ambiente de ingeniería
– Actividades del ciclo de vida y su sub-división
– Gestión de la Calidad de los productos o servicios
– Gestión de la Seguridad
– Supervisión y administración de sub-contratistas
– Aseguramiento de la Calidad
– Verificación y validación
– Involucramiento del cliente
– Involucramiento del usuario
– Gestión de Riesgos
– Seguridad
– Medios para planificar tiempos, controlar y reportar
– Capacitación del personal
IEEE/EIA 12207 - Procesos Primarios

• Suministro (cont.)
– Ejecución y control

– Revisiones y evaluación

– Entrega y finalización
IEEE/EIA 12207 - Proceso de Desarrollo

1 - Selección e Implementación de un proceso de ciclo de vida


2 - Análisis de requisitos del sistema
3 - Diseño arquitectónico del sistema
4 - Análisis de requisitos del software
5 - Diseño detallado del software
6 - Codificación y pruebas del software
7 - Integración del software
8 - Pruebas de calificación del software
9 - Integración del sistema
10 - Pruebas de calificación del sistema
11 - Instalación del software
12 - Soporte al software
Ciclo de Vida
“CASCADA” Pruebas de
calificación del
Software
Integración del
Software Instalación
Codificación y del Software
pruebas del
Software Pruebas de
calificación del
Diseño detallado
Sistema
del software
Diseño Integración Soporte al
arquitectónico del Sistema Software
del software
Componente del
Análisis de
Software 1 requisitos del
software

Diseño
Componente del
arquitectónico
Software n ...
del sistema
Análisis de
requisitos del Componentes de
sistema Hardware

Aplicación del IEEE/EIA 12207.0 a la estrategia de desarrollo denominada “Cascada”


IEEE/EIA 12207 - Procesos de Gestión

• Administración/Gestión
– Iniciación y definición de alcances.
– Planificación
– Ejecución y control
– Revisión y evaluación
– Conclusión / Finalización
• Infraestructura
– Implantación de procesos
– Establecimiento de la infraestructura
– Mantenimiento de la infraestructura
IEEE/EIA 12207 - Procesos de Gestión

• Mejoramiento
– Establecimiento de procesos
– Valoración de procesos
– Mejoramiento de procesos
• Capacitación
– Implantación del Proceso
– Desarrollo de materiales de capacitación
– Implantación del plan de capacitación.
FIN

También podría gustarte