You are on page 1of 39

Estndares de Software

+ IEEE/EIA 12207
UMSA 2006
Nelson Terrazas

Primero hablemos de Calidad


La Ingeniera de Software tiene como
objetivo principal:
La produccin de software de alta
calidad.
Pero qu es la calidad del software?

Calidad del Software


Calidad del PRODUCTO
Calidad del PROCESO
Ambos estn relacionados
Sin un buen proceso de desarrollo es casi
imposible obtener un buen producto

Ingeniera de Software y Calidad

Herramientas
Mtodos
Procesos
Enfoque de Calidad

Definiciones de calidad
Conformidad con los requisitos y
confianza en el funcionamiento, Deming
Adecuacin para su uso, Juran
Hacerlo bien a la primera, Crosby

Definiciones - Calidad
Segn estndares internacionales:
La calidad es la suma de todos aquellos aspectos
o caractersticas de un producto o servicio que
influyen en su capacidad para satisfacer las
necesidades, expresadas o implcitas (ISO 8402)
Grado con el cual el cliente o usuario percibe que
el software satisface sus expectativas (IEEE 72983)
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 evaluacin de la calidad de un producto
siempre implicar una comparacin 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 explcitamente 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 ms precisa y til.
Un modelo de calidad es definido jerrquicamente.
Calidad del Software
Factores de Calidad
Punto de vista del producto
software, tambin llamados
Atributos de Calidad Internos

Punto de vista del usuario,


tambin llamados Atributos de
Calidad Externos

Criterios de
Calidad del Producto
Mtricas del Producto

Medidas cuantitativas del


producto

Estndares de Software
IEEE

Importancia
Segn su uso:

Mejoramiento del producto


Proteccin al comprador
Proteccin al negocio
Incrementa la disciplina profesional
Introduccin de tecnologa

Mejoramiento del Producto


Estndares IEEE son voluntarios.
La organizacin que los adoptan lo hace para
mejorar sus productos o mejora la percepcin
de sus productos en el mercado
Los estndares pueden mejorar los procesos
de negocios permitiendo desarrollar sus
productos con costos mas apropiados.

Proteccin al comprador
Con muchos productos disponibles el comprador
toma decisiones basadas en propaganda, folletos,
experiencias anteriores con el vendedor o
examinacin directa.
La creciente complejidad de productos tecnolgicos
causa inevitablemente la imposibilidad de examinar
muchos aspectos que se mantiene ocultos hasta
despus de ser adquiridos.
Los estndares pueden jugar un rol cuando proveen
informacin precisa acerca de la adecuacin de los
productos para usos especficos.

Proteccin al negocio
Litigios
Estndares pueden respaldar la defensa en casos
en que se pretende demostrar negligencia.

Respaldo
El adherirse voluntariamente a estndares
respalda la seriedad y confiabilidad de la empresa
que as lo hace.

Contratos
En situaciones contractuales la aplicacin
adecuada de estndares protegen a ambas partes
divide responsabilidades, clarifica terminologa y
define procedimientos esperados.

Incrementa la Disciplina Profesional


La existencia de estndares y uso de los
mismo es un paso importante en la
formalizacin de la Ingeniera de Software.
Define los mtodos esperados en la practica
responsable de la ingeniera de software.

Introduccin de Tecnologa
Segn SEI, los estndares juegan un rol vital
en la transicin tecnolgica.

Estandares IEEE SESC


(Software Engineering Standards Comitee)

Alrededor de 50
4 volmenes, 2,300 paginas
Cada uno de estos estndares toma de 2 a 4
aos en ser elaborados.
Costo 2,000 a 10,000 US$ por pgina
Precio de venta 300-400 US$, para miembros
de IEEE

Objetivos Organizacionales
Diferentes motivos por los cuales una
organizacin adopta estos estndares:
Mejorar y evaluar su capacidad tomado en cuanta
estos aspectos:

Calidad
Satisfaccin del Cliente
Productividad
Madurez de los procesos
Tecnologa

Objetivos Organizacionales
Proveer el marco y terminologa para un contrato
de dos partes.

Proceso de adquisicin
Proceso de provisin
Proceso de ciclo de vida
Documentos (entregas) durante el ciclo de vida

Evaluar los productos de la Ingeniera de SW


Mediciones externas (producto final)
Mediciones internas (productos incompletos,
intermedios)

Objetivos Organizacionales
Asegurar niveles altos para el software
Planificacin
Desempeo
Evaluacin

Organizacin
Organizacin orientada a objetos de la IS
ayuda

transforma
Proceso
desempea

Cliente

interacta
con

Proyecto
produce
Agente

Producto

usa
se aplican a
Recurso

Estndares IEEE

610.12-1990 Standard Glossary of Software


Engineering Terminology

1012a-1998, Supplement to Standard for


Software Verification and Validation

730-2002, Standard for Software Quality


Assurance Plans

1016-1998, Recommended Practice for


Software Design Descriptions

828-1998, Standard for Software Configuration


Management Plans

1028-1997, Standard for Software Reviews

829-1998, Standard for Software Test


Documentation
830-1998, Recommended Practice for Software
Requirements Specifications
982.1-1988, Standard Dictionary of Measures to
Produce Reliable Software

1044-1993, Standard Classification for


Software Anomalies
1045-1992, Standard for Software Productivity
Metrics
1058-1998, Standard for Software Project
Management Plans
1061-1998, Standard for a Software Quality
Metrics Methodology

1008-1987 (R1993), Standard for Software Unit


Testing

1062-1998, Recommended Practice for


Software Acquisition

1012-1998, Standard for Software Verification


and Validation

1063-2001, Standard for Software User


Documentation

IEEE/EIA 12207.0-1996, Industry


Implementation of International Standard
ISO/IEC 12207: 1995
IEEE/EIA 12207.1-1996,
IEEE/EIA 12207.2-1997,

1074-1997, Standard for Developing


Software Life Cycle Processes

Estndares IEEE (cont.)

1175.1-2002, Guide for CASE Tool


Interconnections - Classification and
Description
1219-1998, Standard for Software Maintenance
1220-1998, Standard for the Application and
Management of the Systems Engineering
1228-1994, Standard for Software Safety Plans
1233-1998, Guide for Developing System
Requirements Specifications

1420.1a-1996, Supplement to Standard for


Information Technology-Software Reuse-Data
1420.1b-1999, IEEE Trial-Use Supplement to
Standard for Information
1462-1998, Standard - Adoption of International
Standard ISO/IEC 14102: 1995; 1465-1998,
Standard - Adoption of International Standard
ISO/IEC 12119: 1994(E)
1471-2000, Recommended Practice for
Architectural Description of Software Intensive

1320.1-1998, Standard for Functional Modeling


Language-Syntax and Semantics for IDEF0

1490-1998, Guide - Adoption of PMI Standard A Guide to the Project Management Body of
Knowledge

1320.2-1998, Standard for Conceptual


Modeling Language Syntax and Semantics...

1517-1999, IEEE Standard for Information


Technology-Software Life Cycle Processes-Reuse

1362-1998, Guide for Information TechnologySystem Definition-Concept of Operations

1540-2001, Standard for Software Life Cycle


Processes- Risk Management

1420.1-1995, Standard for Information


Technology-Software Reuse-Data Model for
Reuse

2001-2002, Recommended Practice for Internet


Practices - Web Page Engineering
14143.1-2000, Adoption of ISO/IEC 14143-1:1998
Information Technology-Software

IEEE/EIA 12207
Tecnologa de la Informacin
Procesos del Ciclo de Vida del Software
Establece un marco comn para el software a travs de sus
ciclo de vida, desde la concepcin hasta el retiro del mismo.
Enfoca los procesos del software desde el punto de vista
tcnico del sistema y desde el punto de vista comercial de la
empresa.
Es considerado ampliamente como base para el comercio
mundial de software.
Su adopcin es completa o en camino de serla en los pases
mas desarrollados.

Estructura del IEEE/EIA 12207


Procesos Primarios del Ciclo de Vida

Procesos de Soporte al Ciclo de Vida

Adquisicin

Documentacin
Gestin de la Configuracin

Suministro
Aseguramiento de la Calidad
Verificacin
Operacin

Validacin
Revisin Conjunta

Desarrollo

Auditora
Mantenimiento
Resolucin de Problemas

Procesos Organizacionales del Ciclo de Vida


Administracin/Gestin

Infraestructura

Mejoramiento

Capacitacin

Organizacin
Ciclo de vida
Concepto
Retirada

Proceso
1

Actividad 1
Tarea 1
Tarea 2

Tarea n

Proceso
N

Actividad n
Tarea 1
Tarea 2

Tarea n

IEEE/EIA 12207 - Procesos Primarios


Adquisicin
Iniciacin
Anlisis de requerimientos (int. - ext.)
Eleccin de software (empaquetado, desarrollo int. - ext. ,etc)
Plan de adquisicin
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
Trminos y condiciones
Control de subcontratos
Restricciones tcnicas

IEEE/EIA 12207 - Procesos Primarios

Adquisicin (cont.)
Preparacin y actualizacin de contrato

Establecer procedimientos de seleccin


Eleccin del proveedor
Preparacin y negociacin del contrato
Control y negociacin de cambios al contrato

Supervisin del proveedor


Se supervisara al proveedor de acuerdo a un Procesos de Revisin
Conjunta y a un Proceso de Auditora preestablecidos, suplementando a
los procesos de Verificaciny Validacin

Aceptacin y finalizacin
Preparacin para la aceptacin del sistema de acuerdo a la estrategia
definida inicialmente. Preparacin de casos para las pruebas, datos,
procedimientos y ambientes deben ser incluidos.

IEEE/EIA 12207 - Procesos Primarios


Suministro
Iniciacin
Revisin de los requisitos tomando en cuenta las reglas de la
organizacin
Tomar la decisin de proponer o aceptar contrato

Preparacin de la propuesta
El ofertante debe definir y preparar la oferta incluyendo la adecuacin
de este estndar al proyecto.

Contrato
El ofertante negociar y firmar contrato
El ofertante podr solicitar cambios al contrato

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.)
Planificacin
Establecer marco de administracin del proyecto
Seleccin del ciclo de vida (si no fue estipulado)
Establecer requisitos para el plan (recursos y participacin del
cliente)
Considerar opciones de desarrollo y prestacin de servicios

Recursos internos
Sub-contratacin
Empaquetados de procedencia interna o externa
Combinacin de los puntos anteriores

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.)
Planificacin (cont.)
Desarrollo del plan considerando:

Organizacin del proyecto


Ambiente de ingeniera
Actividades del ciclo de vida y su sub-divisin
Gestin de la Calidad de los productos o servicios
Gestin de la Seguridad
Supervisin y administracin de sub-contratistas
Aseguramiento de la Calidad
Verificacin y validacin
Involucramiento del cliente
Involucramiento del usuario
Gestin de Riesgos
Seguridad
Medios para planificar tiempos, controlar y reportar
Capacitacin del personal

IEEE/EIA 12207 - Procesos Primarios


Suministro (cont.)
Ejecucin y control
Revisiones y evaluacin
Entrega y finalizacin

IEEE/EIA 12207 - Proceso de Desarrollo


1 - Seleccin e Implementacin de un proceso de ciclo de vida
2 - Anlisis de requisitos del sistema
3 - Diseo arquitectnico del sistema
4 - Anlisis de requisitos del software
5 - Diseo detallado del software
6 - Codificacin y pruebas del software
7 - Integracin del software
8 - Pruebas de calificacin del software
9 - Integracin del sistema
10 - Pruebas de calificacin del sistema
11 - Instalacin del software
12 - Soporte al software

Ciclo de Vida
CASCADA

Pruebas de
calificacin del
Software
Integracin del
Software
Codificacin y
pruebas del
Software
Diseo detallado
del software

Componente del
Software 1

Diseo
arquitectnico
del sistema

Anlisis de
requisitos del
sistema

Diseo
arquitectnico
del software

Instalacin
del Software
Pruebas de
calificacin del
Sistema
Integracin
del Sistema

Anlisis de
requisitos del
software

Componente del
Software n ...

Componentes de
Hardware

Aplicacin del IEEE/EIA 12207.0 a la estrategia de desarrollo denominada Cascada

Soporte al
Software

IEEE/EIA 12207 - Procesos de Gestin


Administracin/Gestin

Iniciacin y definicin de alcances.


Planificacin
Ejecucin y control
Revisin y evaluacin
Conclusin / Finalizacin

Infraestructura
Implantacin de procesos
Establecimiento de la infraestructura
Mantenimiento de la infraestructura

IEEE/EIA 12207 - Procesos de Gestin


Mejoramiento
Establecimiento de procesos
Valoracin de procesos
Mejoramiento de procesos

Capacitacin
Implantacin del Proceso
Desarrollo de materiales de capacitacin
Implantacin del plan de capacitacin.

FIN