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 Proceso desempea interacta con Cliente Proyecto produce Agente
Producto

transforma

usa se aplican a Recurso

Estndares IEEE
610.12-1990 Standard Glossary of Software Engineering Terminology 730-2002, Standard for Software Quality Assurance Plans 828-1998, Standard for Software Configuration Management Plans 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 1008-1987 (R1993), Standard for Software Unit Testing 1012-1998, Standard for Software Verification and Validation IEEE/EIA 12207.0-1996, Industry Implementation of International Standard ISO/IEC 12207: 1995 IEEE/EIA 12207.1-1996, IEEE/EIA 12207.2-1997, 1012a-1998, Supplement to Standard for Software Verification and Validation 1016-1998, Recommended Practice for Software Design Descriptions 1028-1997, Standard for Software Reviews 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 1062-1998, Recommended Practice for Software Acquisition 1063-2001, Standard for Software User Documentation 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 1320.1-1998, Standard for Functional Modeling Language-Syntax and Semantics for IDEF0 1320.2-1998, Standard for Conceptual Modeling Language Syntax and Semantics... 1362-1998, Guide for Information TechnologySystem Definition-Concept of Operations 1420.1-1995, Standard for Information Technology-Software Reuse-Data Model for Reuse 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 1490-1998, Guide - Adoption of PMI Standard - A Guide to the Project Management Body of Knowledge 1517-1999, IEEE Standard for Information Technology-Software Life Cycle ProcessesReuse 1540-2001, Standard for Software Life Cycle Processes- Risk Management 2001-2002, Recommended Practice for Internet Practices - Web Page Engineering 14143.1-2000, Adoption of ISO/IEC 141431: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 Adquisicin Procesos de Soporte al Ciclo de Vida Documentacin Gestin de la Configuracin Suministro Aseguramiento de la Calidad Verificacin Operacin Validacin Revisin Conjunta Auditora Mantenimiento Resolucin de Problemas

Desarrollo

Procesos Organizacionales del Ciclo de Vida


Administracin/Gestin Mejoramiento Infraestructura Capacitacin

Organizacin
Ciclo de vida Concepto Retirada

Proceso 1

Proceso N

Actividad 1 Tarea 1 Tarea 2 Tarea 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 Instalacin del Software Pruebas de calificacin del Sistema Integracin del Sistema Soporte al Software

Componente del Software 1

Diseo arquitectnico del software Anlisis de requisitos del software

Diseo arquitectnico del sistema

Componente del Software n ...

Anlisis de requisitos del sistema

Componentes de Hardware

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

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