• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
461
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
23
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Estándares de Software + IEEE/EIA 12207 UMSA 2006 Nelson Terrazas
  • 2. 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?
  • 3. 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”
  • 4. Ingeniería de Software y Calidad Herramientas Métodos Procesos Enfoque de Calidad
  • 5. 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
  • 6. 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 72983) – “Capacidad del producto software para satisfacer los requisitos establecidos” (DoD 2168)
  • 7. 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
  • 8. 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
  • 9. 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 Factores de Calidad Punto de vista del producto software, también llamados Atributos de Calidad Internos Punto de vista del usuario, también llamados Atributos de Calidad Externos Criterios de Calidad del Producto Métricas del Producto Medidas cuantitativas del producto
  • 10. Estándares de Software IEEE
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. Introducción de Tecnología • Según SEI, los estándares juegan un rol vital en la transición tecnológica.
  • 17. 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
  • 18. 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
  • 19. 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)
  • 20. Objetivos Organizacionales – Asegurar niveles altos para el software • Planificación • Desempeño • Evaluación
  • 21. Organización • Organización orientada a objetos de la IS ayuda transforma Proceso desempeña Cliente interactúa con Proyecto produce Agente Producto usa se aplican a Recurso
  • 22. Estándares 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 1044-1993, Standard Classification for Software Anomalies 830-1998, Recommended Practice for Software Requirements Specifications 1045-1992, Standard for Software Productivity Metrics 982.1-1988, Standard Dictionary of Measures to Produce Reliable Software 1058-1998, Standard for Software Project Management Plans 1008-1987 (R1993), Standard for Software Unit Testing 1061-1998, Standard for a Software Quality Metrics Methodology 1012-1998, Standard for Software Verification and Validation 1062-1998, Recommended Practice for Software Acquisition IEEE/EIA 12207.0-1996, Industry Implementation of International Standard ISO/IEC 12207: 1995 IEEE/EIA 12207.1-1996, IEEE/EIA 12207.2-1997, 1063-2001, Standard for Software User Documentation 1074-1997, Standard for Developing Software Life Cycle Processes
  • 23. Estándares 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 • 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 1320.2-1998, Standard for Conceptual Modeling Language Syntax and Semantics... 1517-1999, IEEE Standard for Information Technology-Software Life Cycle ProcessesReuse 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 141431:1998 Information Technology-Software
  • 24. 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.
  • 25. 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
  • 26. Organización 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
  • 27. 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
  • 28. 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.
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. IEEE/EIA 12207 - Procesos Primarios • Suministro (cont.) – Ejecución y control – Revisiones y evaluación – Entrega y finalización
  • 33. 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
  • 34. Ciclo de Vida “CASCADA” Pruebas de calificación del Software Integración del Software Codificación y pruebas del Software Diseño detallado del software Componente del Software 1 Diseño arquitectónico del sistema Análisis de requisitos del sistema Diseño arquitectónico del software Instalación del Software Pruebas de calificación del Sistema Integración del Sistema Análisis de requisitos del software Componente del Software n ... Componentes de Hardware Aplicación del IEEE/EIA 12207.0 a la estrategia de desarrollo denominada “Cascada” Soporte al Software
  • 35. 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
  • 36. 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.
  • 37. FIN