Control de Calidad

De Computacion

La creación de software de calidad dentro del tiempo y presupuesto planificado es uno de los problemas más importantes que tiene frente la industria del software. La calidad no es un concepto nuevo actualmente todas las empresas lo incluyen como prioridad en sus actividades diarias sin embargo todavía queda mucho por hacer. La industria del software no es la excepción su calidad a mejorado significativamente en los últimos quince años esto gracias a que las compañías han adoptado nuevas técnicas y tecnologías que les permiten tener un mayor control de sus tareas. El interés por la calidad crece de forma continua, a medida que los clientes se vuelven más selectivos y comienzan a rechazar los productos poco fiables o que realmente no dan respuesta a sus necesidades; sin embargo la calidad de software no es un concepto fácil de definir una primera aproximación podría mencionar la diferencia entre la calidad del producto software y la calidad del proceso de desarrollo, no obstante las metas que se establezcan para la calidad del producto determinan las metas para la calidad del proceso de desarrollo, ya que la calidad del producto estará en función de la calidad del proceso de desarrollo. La asignatura de CONTROL DE CALIDAD esta organizada en 8 capítulos, 4 dentro del primer bimestre y 4 en el segundo bimestre. En el primer bimestre el capítulo I se pretende introducir al alumno en el tema de calidad su evolución y tendencias, así como el análisis de los principales modelos de calidad de software, el capitulo II se enfoca a la gestión de calidad, cómo lograr calidad en el software desde el control hasta la garantía de calidad a través de un Plan de SQA, el capitulo III esta orientado a las actividades de verificación y validación que aseguran que el sistema software esta cumpliendo el propósito para el cual se desarrolló finalmente el capitulo IV proporcionará el conocimiento necesario para la aplicación de estrategias y técnicas de pruebas en el desarrollo de software. El segundo bimestre contiene igualmente 4 capítulos, el capitulo V Validación de Sistemas Críticos es la aplicación puntual de técnicas de verificación y validación utilizadas en el desarrollo de sistemas críticos, el capitulo VI Gestión de la Configuración el cual identificará los elementos de configuración así como el estudio de control de cambios y versiones de software, el capitulo VII muestra la Mejora de Proceso de software que pretende controlar el proceso de desarrollo para aliviar obstáculos que se puedan presentar en el proceso de desarrollo. Finalmente el capitulo VIII contiene una referencia a la normativa aplicable a algunas de las fases del desarrollo de software.

Tabla de contenidos


[editar] Objetivos Generales

  • Proporcionar al estudiante un marco conceptual, técnico y metodológico para la realización y monitoreo del Control de Calidad de Software

[editar] Objetivos Especificos

Los objetivos específicos de la materia, en función de los capítulos que se van a desarrollar son:

  • Conocer las principales filosofías de Administración de calidad.
  • Proporcionar al profesional en formación los conocimientos necesarios para entender y aplicar actividades de gestión de calidad en el desarrollo de software.

  • Comprender las estrategias y técnicas de verificación y validación de software existentes.
  • Proporcionar el marco teórico necesario para identificar y diferenciar los tipos de pruebas para software existentes
  • Conocer los aspectos a considerar para la validación de sistemas críticos
  • Comprender la importancia y el proceso para Gestión de Configuración de Software
  • Aprender los conceptos y técnicas relacionadas con la Mejora de Proceso de Software SPI
  • Conocer la normativa disponible referente a calidad de software
  • Familiarizar al estudiante con el tema de calidad, su evolución y gurus
  • Identificar el entorno en el cual se encuentra actualmente la calidad del software
  • Aprender a definir la calidad del software a través de los diferentes modelos existentes
  • Definir y diferenciar garantía del control de calidad
  • Conocer y aplicar las actividades de SQA
  • Identificar la calidad desde el enfoque Seis Sigma
  • Proporcionar al estudiante los conocimientos necesarios para elaborar un plan de SQA
  • Diferenciar las actividades de verificación y validación de software
  • Inducir al estudiante en el tema de inspecciones de software y descubrir defectos en los programas
  • Comprender la utilización de análisis estático automatizado
  • Comprender la diferencias estrategias de pruebas para software convencional y software orientado a objetos
  • Conocer las diferentes técnicas de pruebas de software existentes
  • Aplicar algunas formas de automatizar pruebas
  • Familiarizar al estudiante con el tema de calidad, su evolución y gurus
  • Identificar el entorno en el cual se encuentra actualmente la calidad del software
  • Aprender a definir la calidad del software a través de los diferentes modelos existentes
  • Definir y diferenciar garantía del control de calidad
  • Conocer y aplicar las actividades de SQA
  • Identificar la calidad desde el enfoque Seis Sigma
  • Proporcionar al estudiante los conocimientos necesarios para elaborar un plan de SQA
  • Diferenciar las actividades de verificación y validación de software
  • Inducir al estudiante en el tema de inspecciones de software y descubrir defectos en los programas
  • Comprender la utilización de análisis estático automatizado
  • Comprender la diferencias estrategias de pruebas para software convencional y software orientado a objetos
  • Conocer las diferentes técnicas de pruebas de software existentes
  • Aplicar algunas formas de automatizar pruebas

[editar] Bibliografía

Texto Básico:

  • Ian Sommerville. Ingeniería del Software, 7ma Edición, Pearson Addison Wesley, Madrid, España. ISBN 84 -7829 -074 -5
  • Roger S. Pressman. Ingeniería del Software Un enfoque práctico. 6ta Edición McGraw-Hill Interamericana, México. ISBN 970 -10 - 5473 - 3

Otras fuentes de información:

Otra fuente de información muy importante es el Internet a la que Usted debería ingresar. Aquí mostramos algunas direcciones de páginas web que resultan de interés para ésta asignatura:


[editar] Desarrollo del Aprendizaje

[editar] Capitulo 1: INTRODUCCIÓN Y DEFINICIÓN DE CALIDAD



[editar] Datos Generales:

Texto BaseAnexo 1
Capítulo
Páginas
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


¡Estimado estudiante! Hoy usted inicia el estudio de un tema que se ha vuelto muy relevante en la vida cotidiana de un ingeniero – la calidad. En este capitulo se analizarán sus definiciones, evolución, implicación en el desarrollo de software y algunos de los principales modelos de calidad en software, para éste capitulo no se referenciará a los libros base únicamente utilizaremos documentación seleccionada y anexada.


[editar] Conceptos Claves:


  • Calidad

Propiedad o conjunto de propiedades inherentes a una cosa, que permiten apreciarla como igual, mejor o peor que las restantes de su especie.

  • Guru de Calidad
Persona que ha aportado a la evolución del concepto de calidad en las diferentes empresas
  • Calidad de Software

Concordancia del software producido con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesionalmente (Pressman, 1998)

  • Crisis del Software

Etapa de la evolución del software que reunió características negativas respecto a la planificación de tiempo, dinero y baja calidad del producto software

  • Modelos de Calidad
Conjunto de características y sub características que debe reunir un producto software para que sea considerado de calidad


[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
1.1 Introducción Se pretende que el estudiante se ubique en el contexto de la calidad, su definición desde diferentes ópticas. Piense la definición más apropiada para calidad, cuando ueste dice que un producto o servicio es de calidad?
1.2. Evolución de la Calidad Se describe los avances del concepto e importancia de la calidad en las empresas Elaborar un cuadro resumen de las fases de evaluación de la calidad sus características y avances respecto a las anteriores
1.3. Filosofías de Calidad En este apartado se resume los aportes al avance de la calidad realizada por personas considerados maestros o gurús de calidad Buscar en Internet más información sobre los gurus y realizar un cuadro comparativo de las semejanzas y diferencias de cada una de las filosofías mencionadas en el Anexo1
1.4. Crisis de Calidad Se describe porque se dio esta etapa del desarrollo de software y sus características Consultar en otras fuentes bibliográficas o Internet a que se refiere el términos crisis de software
1.5. Calidad de Software Se mencionan algunas definiciones de calidad de software, se caracteriza las cualidades que hacen del software un producto singular y se introduce algunos conceptos de modelo, control y gestión de calidad Investigar sobre definiciones de calidad del software
1.6. Modelos de Calidad Se define modelo de calidad, además se describe y caracteriza los modelos de calidad de software más utilizados Realizar una lectura comprensiva del resumen proporcionado sobre el tema en el Anexo1 sobre modelos de calidad y algunos de los más utilizados en software, reflexionar sobre las ventajas y desventajas de cada uno.


[editar] Capitulo 2: DESTINCIÓN DE CALIDAD



[editar] Datos Generales:

Texto BaseRoger S. Pressman. Ingeniería del Software Un enfoque práctico. 6ta Edición McGraw-Hill Interamericana, México. 2005
Capítulo26. Gestión de Calidad
Páginas767 - 795
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


La calidad es el objetivo, en el capítulo anterior se analizó algunas definiciones generales, puntuales de software y modelos que nos ayudan a definirla y evaluarla con ciertas características y sub-características que pueden ser cuantificables, en el presente capitulo se estudiará la gestión de calidad con frecuencia denominada garantía de calidad del software un tema orientado a asegurar que la calidad esta presente en el producto software

[editar] Conceptos Claves:


  • PobControl de Calidad

El Control de Calidad de software sirve para comprobar si el software contiene o no contiene determinada característica de calidad, cuando un software no contiene una característica de calidad se dice que tiene un defecto. El objetivo del Control de Calidad es identificarlos y corregirlos.

  • Garantía de Calidad

La garantía de Calidad consiste en todas las actividades o prácticas que se realizan con el objetivo de asegurar un cierto nivel de calidad en el producto desarrollado

  • Revisiones Técnicas Formales o Inspecciones:

En las que la revisión se hace guiada por un documento comprobando en cada paso el cumplimiento de los criterios de una lista de comprobación.

  • Walkthrougth:

Tipo de revisión en la que se demuestra la funcionalidad del objeto revisado mediante la simulación de su funcionamiento con los casos de prueba o ejemplos.

  • Fiablidad del software
Probabilidad de la operación libre de fallas de un programa en un entorno específico durante un tiempo específico

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
2.1 Conceptos de calidad Control de Calidad, Garantía de calidad y Costo de la calidad Analice cual o cuales son las principales diferencias entre control y garantía de calidad.

Enfatice en la división de los costos de calidad de software Realice un cuadro resumen de la clasificación de las actividades de Control de Calidad de software

2.2. Garantía de calidad de Software SQA Antecedentes y Actividades Lea el texto base y reflexione sobre los antecedentes y actividades recomendadas para SQA
2.3. Revisiones de Software Impacto de los defectos del software en el coste y Amplificación y eliminación de defectos Analizar el impacto de los defectos de software en su costo, en la figura 26.2 así como la amplificación y eliminación en las figuras 26.3 y 26.4
2.4. Revisiones Técnicas Formales RTF La junta de revisión, informe de la revisión y conservación de registros, directrices de la revisión y revisiones basadas en muestras. Describa los objetivos de una RTF, la importancia del informe de la revisión y conservación de registros, cuales son los pasos genéricos que debe contener una revisión y revisiones basadas en muestras
2.5. Enfoques Formales acerca de SQA La necesidad de disponer de un modelo matemático que al aplicarlo proporcione un dato que demuestre que un programa concuerda exactamente con sus especificaciones Busque algunos documentos que se relacionen con el tema y reflexione sobre ellos
2.6. Garantía de calidad estadística del software Un ejemplo genérico y seis sigma para la ingeniería de software Mencione los pasos que implican la garantía de calidad estadística de software, analice el ejemplo mencionado en el apartado 26.6.1

Investigue la estrategia seis sigma sus características generales, elabore un cuadro resumen de los pasos que implica

2.7 Fiabilidad del Software Aspectos que incluye la fiabilidad del Software como: Medidas de fiabilidad, disponibilidad y seguridad del software Piense en algunos indicadores o metricas que se utilice o se puedan utilizar para medir la fiabilidad y disponibilidad del Software.

Resuma el procedimiento para eliminar o controlar los peligros que pueden afectar al software

2.8 El plan de SQA En este apartado se reflexiona sobre la definición y aplicación de un Plan de SQA Revice el Anexo 4 Plantilla para elaborar un Plan de SQA, elabore un resumen de componentes principales de un Plan de SQA, en lo posible elabore un Plan para algún Proyecto de su dominio


[editar] Capitulo 3: VERIFICACIÓN Y VALIDACIÓN


[editar] Datos Generales:

Texto BaseIan Sommerville. Ingeniería del Software, 7ma Edición, Pearson Addison Wesley, Madrid, España. 2005
Capítulo22. Verificación y Validación
Páginas471 - 486
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


¡Estimado estudiante! En este capítulo usted aprenderá a diferenciar entre verificación y validación del software, poniendo mayor énfasis en técnicas de verificación estática en el procesos de desarrollo, de este forma podrá conocer claramente la importancia de estos temas dentro de la evaluación de la calidad durante el desarrollo de productos software. En este capitulo se analizará definiciones básicas del proceso V&V, la planificación de la verificación y validación, inspecciones del software, análisis estático automatizado y verificación y métodos formales.

[editar] Conceptos Claves:


  • Validación

La validación es un proceso general en el cual se asegura que el sistema software satisface las expectativas del cliente. Responde a la pregunta ¿Estamos construyendo el producto correcto?

  • Verificación

La verificación implica comprobar que el software está de acuerdo con su especificación. Responde a la pregunta ¿Estamos construyendo el producto correctamente?

  • Inspecciones de software

Analizan y comprueban las representaciones del sistema, se va comprobando paso por paso el cumplimiento de lo especificado en la lista de comprobación, las inspecciones son una técnica estática de V&V ya que no se necesita ejecutar el software para poderla realizar

  • Pruebas de software
Implican ejecutar una implementación del software con datos de prueba, las pruebas con una técnica dinámica de V&V

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
3.1 Verificación y Validación En este apartado se describe el contexto en el que se desarrollan las pruebas, que son?, quien las realiza?, porqué son importantes?, cuales son los pasos?, cuál es el producto?, entre otros Reflexione algunas de las caracterísicas de las pruebas

Analice la sección 13.1.2 sobre consideraciones para la organización de pruebas del software

3.2. Planificación de la verificación y validación Se reflexiona sobre las razones para utilizar planificación de V&V, el proceso y las ventajas de utilizarla Piense en algunas razones de realizar una planificación del proceso de V&V

Cual considera sería el mejor proceso para realizarlo y cuando

Cuales son las ventajas de realizar la planificación

3.3. Inspecciones del software En este capítulo se explica que tipo de control es una inspección, sus ventajas, el proceso de una inspección Defina y clasifique el proceso de inspección

Mencione las principales ventajas de utilizar inspecciones y no pruebas

Mencione que actividades implica el proceso de inspección

Cuales son los requisitos a cumplir antes de realizar una inspección

3.4. Análisis estático automatizado En el presente tema de Análisis estático automatizado se reflexiona en que consiste, cual es su objetivo, que tipos de defectos se pueden detectar con este tipo de Análisis Describa los objetivos de una RTF, la importancia del informe de la revisión y conservación de registros, cuales son los p Mencione en que consisten el Análisis estático automatizado, cuales son sus etapas

Mencione cual o cuales son los objetivos de realizar un Análisis estático

Realice una tabla que muestre la clasificación de los defectos que se pueden detectar y como los comprueba el análisis estático asos genéricos que debe contener una revisión y revisiones basadas en muestras

3.5. Verificación y métodos formales Se realiza una reflexión sobre los métodos formales, definición, cuando se utilizan, para que nos sirven y para que no se podrían aplicar Reflexione que son los métodos formales

Desarrollo de software de sala limpia de que se trata, en que estrategias se basa, cual es el proceso, los equipos involucrados

Cuando se debería utilizar métodos formales

Que garantizan los métodos formales

Mencione la relación entre los métodos formales y el desarrollo de software de sala limpia

Mencione los pasos del proceso de desarrollo de Sala limpia

Mencione las estrategias en las que se basa la aproximación de Sala Limpia al desarrollo de software

Mencione cuales son los equipos involucrados


[editar] Capitulo 4: PRUEBA DE SOFTWARE



[editar] Datos Generales:

Texto BaseRoger S. Pressman. Ingeniería del Software Un enfoque práctico. 6ta Edición McGraw-Hill Interamericana, México. 2005
Capítulo13. Estrategias de Pruebas de software
Páginas382 – 461
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


¡Estimado estudiante! En el siguiente capitulo se analizará un componente importante del SQA estas son las pruebas (testing) Una prueba es un conjunto de actividades que se planean con anticipación y se realizan de manera sistemática.

[editar] Conceptos Claves:


  • Prueba
Se llama prueba del software al proceso en el que se ejecuta un sistema con el objetivo de detectar fallos.
  • Depuración
Se llama depuración al proceso en el que se localiza el defecto que es la causa de un fallo, se determina la forma de corregirlo

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que estima que necesita tutoría y realizar anotaciones.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
4.1 Introducción En este apartado se describe la definición algunas características de las Pruebas de software Reflexione las características de las pruebas de software
4.2. Estrategias de pruebas para software convencional Se hace una reflexión de las estrategias disponibles para pruebas de software

El enfoque adoptado es el incremental desde pruebas de unidad hasta pruebas de sistema

Piense en cual de las estrategias usted consideraría adecuada y en que casos

Realice un cuadro resumen comparativo sobre los tipos y subtipos de estrategias de prueba de software convencional

4.3. Estrategias de prueba para software orientado a objetos En este apartado se realiza un análisis de las pruebas de unidad y de integración en el contexto orientado a objetos Realice un resumen o cuadro que sistentice los aspectos más importantes de las pruebas de unidad y de integración en el contexto orientado a objetos
4.4. Pruebas de validación Se resume el contexto, los criterios, la configuración, tipos de las pruebas de validación Mencione cuando se deben aplicar las pruebas de validación

Diferencie las pruebas alfa de las pruebas beta

4.5. Pruebas de Sistema Se menciona el propósito, alcance y tipos de las Pruebas de Sistema Haga una síntesis del propósito y alcance de las pruebas de sistema

Realice en cuadro de los tipos de pruebas de sistema y sus características

4.6. Técnicas de Pruebas Se resume las técnicas de pruebas Enfatice en este capítulo profundice en cada una de las técnicas de pruebas (caja blanca y caja negra)
4.7. Métodos de Pruebas Orientadas a objetos, clases e interclases Se menciona el propósito, alcance y tipos de las Pruebas de Sistema Se muestra los objetivos, tipos y algunos ejemplos de los métodos de pruebas orientadas a objetos, clases e interclases
4.8. Automatización de Pruebas Existen algunas herramientas para automatizar el proceso de pruebas Consulte en Internet y resuma 2 o 3 de las principales herramientas utilizadas para automatización de pruebas de software


[editar] Capitulo 5: VALIDACIÓN DE SISTEMAS CRÍTICOS



[editar] Datos Generales:

Texto BaseIan Sommerville. Ingeniería del Software, 7ma Edición, Pearson Addison Wesley, Madrid, España. 2005
Capítulo24. Validación de Sistemas Críticos
Páginas520 - 539
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


Este capítulo se analizará algunas consideraciones para realizar la validación de Sistemas Críticos que incluye otro tipo de pruebas y análisis que las de un sistema común para garantizar su óptimo funcionamiento.

[editar] Conceptos Claves:


  • Sistemas Críticos

Son aquellos sistemas cuya falla puede ocasionar pérdidas muy grandes incluso catástrofes por ejemplo el software del tren de aterrizaje de un avión

  • Perfil Operacional
Conjunto de datos de prueba cuya frecuencia coincide con la frecuencia real de entradas uso normal del sistema
  • Argumento de seguridad
Es aquel que demuestra que la ejecución de un programa no conduce a un estado inseguro

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
5.1 Validación de la Fiabilidad Ya hemos mencionado los concepto de validación (¿estamos construyendo el producto correcto?) y fiabilidad (¿El producto hace lo que tiene que hacer todo el tiempo?) para determinar el grado de fiabilidad del software se hace tomando datos mediante una medición que normalmente se denomina pruebas estadísticas. Leer el apartado 5.1 Pág. 521 - 522 del texto base, Ingeniería de Software de IAN SOMMERVILLE

Analizar y asimilar el gráfico Proceso de medición de fiabilidad Reflexionar cada uno de los conceptos y fases involucradas en el Proceso de medición de la fiabilidad

5.2 Garantía de la seguridad Se menciona las características de la Garantía de seguridad se mencionan cinco tipos de revisiones que deberían ser obligatorias para los sistemas de seguridad críticos. Revise la página 527 del texto base, Ingeniería de Software de IAN SOMMERVILLE.
5.2.1 Argumentos de Seguridad Este apartado introduce, define y ejemplifica el tema de argumentos de seguridad. Se menciona también la técnica más efectiva para demostrar la seguridad de un sistema crítico Revise la página 529 del texto base, Ingeniería de Software de IAN SOMMERVILLE.
5.2.2 Garantía del proceso La calidad del producto esta directamente relacionada con la calidad del proceso de ahí la importancia de garantizar la calidad del proceso en sistemas críticos en este apartado se menciona un ejemplo de garantía de proceso en sistemas críticos Revise la página 530 – 531 del texto base, Ingeniería de Software de IAN SOMMERVILLE.
5.2.3 Comprobaciones de seguridad en tiempo de ejecución En este apartado se mencionan algunas formas de comprobaciones puntualmente el uso de aserciones Revise la página 531 – 532 del texto base, Ingeniería de Software de IAN SOMMERVILLE.
5.3 Valoración de la protección Actualmente es cada vez más importante considerar la protección de los sistemas debido a la incursión en la globalización cada vez más personas acceden a nuestras aplicaciones especialmente las orientadas a web aunque sea difícil determinarla cuantitativa o cualitativamente. En este apartado se mencionan cuatro aproximaciones para comprobar la protección de un sistema crítico Revise la página 533 – 534 del texto base, Ingeniería de Software de IAN SOMMERVILLE.
5.4 Argumentos de confiabilidad y seguridad Los argumentos de seguridad recogen toda la evidencia que demuestra que un sistema es segur. Estos argumentos requieren de un regulador externo que certifique que se esta utilizando correctamente en este apartado se describen más a detalle sus componentes, estructura y ejemplos. Lea y reflexione las Pág 534 - 537 del texto base, Ingeniería de Software de IAN SOMMERVILLE



[editar] Capitulo 6: GESTIÓN DE CONFIGURACIÓN DE SOFTWARE


[editar] Datos Generales:

Texto BaseRoger S. Pressman. Ingeniería del Software Un enfoque práctico. 6ta Edición McGraw-Hill Interamericana, México. 2005
Capítulo27. Gestión del Cambio
Páginas796 – 827
Horas de estudio empleadas para el desarrollo del contenido4 horas

[editar] Propositos:


Los elementos que comprenden la información producida como parte del proceso de software se denominan colectivamente configuración del software. Si cada elemento de configuración condujera a otros elementos habría poca confusión, por desgracia, otra variable entra en el proceso: el cambio. Éste puede ocurrir en cualquier momento, por cualquier razón. De hecho, la primera ley de la ingeniería de sistemas afirma: “No importa dónde se encuentre en el ciclo de vida del sistema, el sistema cambiará y el deseo de cambiarlo persistirá a lo largo de todo el ciclo de vida”. La Gestión de configuración del software es un conjunto de actividades que se han desarrollado para gestionar el cambio a lo largo del ciclo de vida del software de computadora. Se la considera como una actividad de aseguramiento de la calidad del software que se aplica a lo largo del proceso respectivo.

[editar] Conceptos Claves:


  • Línea Base

Una especificación o producto que se ha revisado formalmente y se está de acuerdo con los resultados, y que a partir de ahí sirve como la base para el desarrollo ulterior y que puede cambiarse sólo por medio de procedimientos formales de control de cambio.

  • Elemento de configuración de software ECS
Es información que se crea como parte del proceso de ingeniería de software

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
6.1 Gestión de Configuración de Software Introducción, definición y algunos conceptos clave de la Gestión de Configuración de Software Págs. 796 - 797 Ingeniería de Software de ROGER S. PRESSMAN reflexione ¿qué es GCS?, ¿quién la hace?, ¿porqué es importante?, ¿cuáles son los pasos?.¿que se obtiene?, ¿como garantizar que es correcta?, reflexione cuales son las fuentes de cambios
6.1.2 Elementos de un sistema de gestión de configuración Se mencionan los cuatro elementos más importantes que deben estar presentes en un sistema de gestión de configuración de software Págs. 799 - 800 Ingeniería de Software de ROGER S. PRESSMAN, reflexione los componentes y a que se refiere cada uno de ellos
6.1.3 Línea Base Concepto utilizado en gestión de configuración de software que es parte del proyecto, se analiza su aplicación a través de un gráfico Págs. 800 – 801 Ingeniería de Software de ROGER S. PRESSMAN Reflexione el concepto de línea base, los eventos que conducen a su creación y modificación
6.1.4 Elementos de configuración de software En esta sección se proporciona la definición de un ECS como se organizan y con que objeto Págs. 801 - 802 Ingeniería de Software de ROGER S. PRESSMAN, reflexione el concepto y las herramientas utilizadas para los ECS
6.2 Depósito de ECS Este apartado menciona la utilidad, características y contenido de un depósito de ECS Págs. 803 - 806 Ingeniería de Software de ROGER S. PRESSMAN, realice un gráfico resumen de las características y contenido del deposito tome como base la figura 27.3
6.2 El proceso de GCS Se analizan los objetivos y tareas del proceso de GCS Págs. 806 - 807 Ingeniería de Software de ROGER S. PRESSMAN, analice los objetivos y la figura 27.4 que muestra las capas o tareas del proceso de GCS
6.2.1 Objetos de configuración Se menciona en proceso de identificación de objetos en la configuración del software Págs. 807 - 808 Ingeniería de Software de ROGER S. PRESSMAN, diferencie objetos básico y objeto agregado
6.2.2 Control de versión Se analiza los objetivos y capacidades de un Sistema de Control de versión Págs. 808 - 809 Ingeniería de Software de ROGER S. PRESSMAN, reflexione los objetivos, capacidades y modelado del sistema para Control de versión
6.2.3 Control de cambio Importancia del control de cambio y proceso de control de cambio Págs. 810 - 813 Ingeniería de Software de ROGER S. PRESSMAN, reflexione porque se tiene temor al cambio, porque deberíamos controlarlo y el proceso de control de cambio en la figura 27.5
6.2.4 Auditoria de configuración La forma de comprobar que se ha implementado un cambio con propiedad puede ser por revisiones técnicas formales o por auditorías de configuración, que características tiene cada una y quien las realiza son temas que se abarcan en esta sección Págs. 813 - 814 Ingeniería de Software de ROGER S. PRESSMAN, diferencie auditoría de la configuración y revisiones técnicas formales para que sirven y que temas abarcan cada una
6.2.5 Informe de estado Se menciona los aspectos que debe incluir el informe de estado, cuando se genera, para que se utiliza y a quién le interesa Págs. 814 - 815 Ingeniería de Software de ROGER S. PRESSMAN, sintetice los aspectos que debe considerar el informe de estado de la configuración, cuantas veces debe generarse, donde debe almacenarse y quienes deben tener acceso


[editar] Capitulo 7: MEJORA DEL PROCESO SOFTWARE SPI


[editar] Datos Generales:

Texto BaseIan Sommerville. Ingeniería del Software, 7ma Edición, Pearson Addison Wesley, Madrid, España. 2005
Capítulo28. Mejora del Procesos
Páginas608 – 626
Horas de estudio empleadas para el desarrollo del contenido8 horas

[editar] Propositos:


Este capitulo pretende proporcionar una visión de las tendencias de calidad de software, en el primer capítulo de esta guía se menciona que la calidad del producto depende directamente de la calidad del proceso es por ésta razón al igual que se definen modelos de calidad orientados al producto (Mc Call, Boehm, FURS, etc) existen técnicas y modelos de Mejora de Proceso de Software (SPI Software Process Improvement) que definen la forma ideal en que se deberían desarrollar las diferentes etapas del proceso las que analizaremos a continuación.

[editar] Conceptos Claves:


  • PSP Personal Software Process

Brinda una base a los desarrolladores de software para mejorar la calidad, predictibilidad y productividad de su trabajo. Esta especialmente pensado para individuos y organizaciones de software pequeñas.

  • TSP Team Software Process

Guía de proceso para crear equipos de alta productividad, enfatiza la identificación e implementación de varios roles para el equipo incluido la creación de backups para cada rol

  • CMM Capability Maturity Model

Modelo de proceso que pretende guiar el desarrollo y mantenimiento es decir un mejoramiento del proceso de software, además permite determinar el grado de madurez del proceso de desarrollo y los problemas críticos del mismo así como identificar riesgos de seleccionar proveedores de software.

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
7.1 PSP (Proceso Personal de Software) PSP pretende mejorar las prácticas de los desarrolladores de software que influyen directamente en la calidad del Proceso, proporcionando algunos aportes, principios y una estructura de trabajo. En el Entorno Virtual de Aprendizaje EVA encontrará el documento PSP, TSP y CMM.pdf lea la sección correspondiente a PSP realice una síntesis de los aspectos más importantes ¿que aporta al proceso?, ¿por qué es importante?, ¿cómo se implementa?, ¿qué herramientas utiliza?
7.2 TSP (Proceso Software en Equipo) TSP es una extensión de PSP es una forma de guiar a los ingenieros y sus managers en la utilización de métodos efectivos de trabajo en equipo

En el proceso TSP asigna roles como administrador de contacto con el cliente, administrador de diseño, administrador de implementación, administrador de planificación, administrador de proceso, administrador de calidad, administrador de pruebas y soporte

Lea el documento PSP, TSP y CMM.pdf disponible en el Entorno Virtual de Aprendizaje EVA, la sección correspondiente a TSP identifique los siguientes aspectos ¿cuáles son sus objetivos?, ¿cuál es su proceso de implementación?, ¿qué aporta al proceso?
7.3 CMM (Capability Maturity Model) Modelo de Capacidad del Proceso al igual que PSP y TSP esta orientado a mejorar el Proceso de desarrollo del Software el cual pretende ser una guía para que los desarrolladores puedan obtener control de su proceso de desarrollo y mantenimiento es decir un mejoramiento del proceso de software, se menciona sus aportes y estructura, prácticas clave, entre otros aspectos importantes Lea el documento PSP, TSP y CMM.pdf disponible en el Entorno Virtual de Aprendizaje EVA la sección correspondiente a CMM
7.4 CMMI (Capability Maturity Model Integrated ) Integra las disciplinas de sistemas y software en una armazón de la mejora del proceso. CMMI se propone desde dos enfoques el primero definido para un área o conjunto de áreas de la organización Continuo y el segundo definido para aplicar a toda la organización Staged áreas de la Págs. 619 - 625 Ingeniería del Software de IAN SOMMERVILLE, sección 28.6 El marco de trabajo para la mejora de procesos CMMI compare y analice los aspectos que contemplan CMM y CMMI

[editar] Capitulo 8: NORMATIVA DE CALIDAD DE SOFTWARE


[editar] Datos Generales:

Texto BaseAnexos 2
Capítulo
Páginas
Horas de estudio empleadas para el desarrollo del contenido8 horas

[editar] Propositos:


Estimado estudiante llegamos al capitulo final de esta guía el cual tiene por objeto proporcionar una vista panorámica de las normativa existente respecto a calidad de software se analizarán dos de los más utilizados ISO e IEEE.

[editar] Conceptos Claves:


  • Estándar
Se dice de lo que sirve como modelo, tipo, patrón, norma o referencia
  • ISO

Internnational Organization for Standarization, es una organización internacional no gubernamental, compuesta por representantes de los organismos de normalización (ONs) nacionales, que produce normas internacionales industriales y comerciales estándares.

  • IEEE

Los contenidos del capítulo 8, tienen varios aspectos claves, por lo que se recomienda su lectura, y la obtención de un resumen de características que permitan analizar de mejor manera cada una de las soluciones comerciales.

[editar] Esquema de Estudio:


A continuación se detallan los temas que se deben desarrollar, una descripción general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilación de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicación a cada tema, marcar las actividades que cada estudiante estima que necesita tutoría y realizar anotaciones personales.

Tema a revisar Descripción del Contenido a revisar Actividades Recomendadas Planificación Personal del estudio (fecha) ¿Requiero Tutorial? Anotaciones
8.1. Estándares ISO Describe un sistema de garantía de la calidad en términos genéricos que se aplican a cualquier negocio sin importar los productos o servicios ofrecidos, en el Anexo2 se menciona como está estructurada esta norma y el alcance de cada uno de sus componentes Leer el Anexo2, reflexione los aspectos que ahí se mencionan en lo posible investigue y profundice el alcance y avance del estándar

ISO para calidad de productos particularmente software.

Visite los siguiente sitios web:

http://www.iso.org

Busque estándares aplicables a la calidad de software

8.1. Estándares IEEE Los estándares IEEE están orientados al aseguramiento de la calidad a nivel del proyecto, en el Anexo2 se mencionan algunos de los estándares aplicables a la calidad de software Lea y reflexione el contenido del Anexo2 relacionado con estándares IEEE aplicables a la calidad del software


[editar] ANEXOS

El presente material ha sido reproducido con fines netamente didácticos, cuyo objetivo es brindar al estudiante mayores elementos de juicio para la comprensión de la materia, por lo tanto no tiene fin comercial.

[editar] ANEXOS 1

Calidad

Para iniciar con el estudio de la asignatura es importante analizar la definición de calidad, se ha preguntado que es para usted la calidad? cuándo usted afirma que un producto o servicio es de calidad?

El diccionario de la Real Academia Española define la calidad como: propiedad o conjunto de propiedades inherentes a una cosa, que permiten apreciarla como igual, mejor o peor que las restantes de su especie.

Veamos algunas de las definiciones que dan algunos de los pioneros de este concepto.

nnbnb

-   Según Deming, calidad es “Conformidad con los requisitos y confianza en el funcionamiento”
-   Según Juran, calidad es “Adecuación para su uso”
-   Crosby la define como “Hacerlo bien a la primera”
Otras definiciones de calidad extraídas de estándares internacionales:
-   “Calidad es la sumatoria de todos aquellos aspectos o características de un producto o servicio que influyen en su capacidad de 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” (000 2168)

Con estas definiciones como antecedente podemos concluir que la calidad no es un concepto absoluto más bien es algo relativo, siempre dependerá de los requisitos o necesidades que se desee satisfacer. Por eso la evaluación de la calidad de un producto implica una comparación entre requisitos preestablecidos y el producto desarrollado.

La consecución de la calidad puede tener diferentes visiones
•   Calidad Necesaria o Requerida, la calidad que el cliente exige
•   Calidad Programada o Especificada la calidad que se pretende obtener
•   Calidad Realizada, la calidad que se ha conseguido

Lo ideal es que las 3 visiones coincidan, a la intersección entre la calidad Requerida y la calidad Realizada se llama calidad

Percibída, y es la única que el cliente valora toda calidad que se realiza pero no se necesita es un gasto inútil de tiempo y dinero.

La evolución de la calidad

En el documento Evolución de la calidad.pdf encontrará información sobre la evolución histórica e importancia de la calidad, el cual se puede resumir en la siguiente ilustración la cual muestra el avance de la calidad a partir de la Segunda Guerra Mundial tomando ese momento como punto de partida se pueden distinguir tres etapas diferentes y sucesivas:

Imagen:La_evolución_de_la_calidad.JPG<center>

Principales filosofías de la calidad

La evolución de la calidad se ha dado gracias a la presión de los consumidores, los cambios tecnológicos, la pérdida de competitividad de algunas empresas y el pensamiento de algunos hombres que dejaron un legado mediante la creación de filosofías y herramientas enfocadas a la mejora de la calidad. Por su valioso aporte éstos han sido considerados como Maestros o Gurús de la calidad.

En el documento Filosofias de calidad.pdf encontrará información sobre las filosofías de calidad de cinco de los gurús de la calidad, a continuación ponemos a consideración un cuadro resumen con algunos de los puntos principales considerados en cada uno de ellos:

<center>

GURU ORIGEN FILOSOFIA
Edward Deming Americano “Conformidad con los requisitos”, “cero defectos, menos variaciones”, su filosofía se basa en 14puntos planteados para conseguir calidad, propone el ciclo de Shewart conocido también como PHVA planifique, haga, verifique y actué, da énfasis en que la calidad lleva a más productividad y a un poder competitivo a largo plazo esto lo muestra en una reacción en cadena para mejora de la Empresa; en su honor se instituyo en premio Deming a la calidad.
Joseph Juran Americano “adecuabilidad para el uso”, “la calidad no pasa por casualidad debe ser planificada”, la definición divide a la calidad en: calidad del diseño, calidad en conformidad con las especificaciones, disponibilidad y servicio de campo. Se enfoca en 3 procesos principales: Planeación de la calidad, control de calidad y mejora de la calidad. Propone 10 pasos para la mejora de la calidad.
Philip Crosby Americano Su filosofía se deduce en los absolutos de la calidad entre ellos “La calidad no cuesta es gratis”, “La calidad empieza en la no en las cosas”, “Cero defectos”, los elementos de mejora son la determinación, la educación y laimplatación. Para lograr cero defectos Crosby promueve un proceso de 14 pasos
Koru Ishikawa Japonés Pionero del concepto de calidad en Japón realizó varios aportes entre los principales los diagramas causa -efecto (espina de pescado), simplificó los métodos estadísticos de control de calidad y el trabajo en círculos de calidad, propone algunos puntos clave que se mencionan en el Anexo2
Genichi Taguchi Japonés Diseño Robusto”, “Exceder las expectativas de calidad del cliente” La contribución más importante del Dr. Taguchi, ha sido la aplicación de la estadística y la ingeniería para la reducción de costos y mejora de la calidad en el diseño de productos y los procesos de fabricación.

Tabla1.1 Síntesis Filosofías de Calidad

1.4 Crisis del software

La evolución del software esta dividida en varias etapas, una dé ellas es la llamada “crisis del software”. Esta crisis fue el resultado de la introducción de la tercera generación del hardware.

El hardware dejo de ser un impedimento para el desarrollo de la informática; redujo los costos y mejoro la calidad y eficiencia en el software producido. La crisis se caracterizo por los siguientes problemas:

-   Imprecisión en la planificación del proyecto y estimación de los costos.
-   Baja calidad del software.
-   Dificultad de mantenimiento de programas con un diseño poco estructurado, etc.

A raíz de esta crisis se vio la necesidad de crear estándares de desarrollo del software que permitan obtener software de calidad con características como fiabilidad, eficiencia, facilidad de uso y mantenimiento. Ahora bien ¿qué se define como calidad de software?

1.5 Calidad de software

Algunas definiciones de calidad de software:
  • Grado con el que un sistema, componente o proceso cumple: los requisitos especificados, las necesidades o expectativas del cliente o usuario (IEEE, 1993)

  • Concordancia del software producido con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se espera de todo software desarrollado profesional mente (Presuman, 1998)

A la hora de definir la calidad de software se puede dar algunas aproximaciones, como primera aproximación es importante diferenciar entre la calidad del PRODUCTO software y la calidad del PROCESO de desarrollo; no obstante la calidad del producto va a estar en función de la calidad del proceso de desarrollo, sin un buen proceso es casi imposible obtener un buen producto.

La calidad del producto software se diferencia de la calidad de otros productos de fabricación industrial, ya que el software tiene características especiales:

-   El software es un producto mental;
-   Se desarrolla, no se fabrica;
-   El software no se deteriora con el tiempo;
-   Es artesanal en gran medida;
-   El mantenimiento del software es más complejo que el mantenimiento del hardware;
-   Es engañosamente fácil realizar cambios sobre un producto software;
-   El software con errores no se rechaza.

También es importante destacar que la calidad del software debe ser considerada en todas sus fases (requerimientos, diseño, desarrollo, implementación, pruebas, etc). Ni es suficiente considerar la calidad del producto una vez finalizado, cuando los problemas de calidad ya no tienen solución o ésta es muy costosa.

Los principales problemas a los que nos enfrentamos a la hora de hablar de calidad de software son:

•   La definición misma de calidad del software: ¿Es realmente posible encontrar un conjunto de propiedades en un software que nos indique su calidad? Para dar respuesta a esta pregunta aparecen los Modelos de Calidad quienes resuelven mediante la descomposición un concepto que abarca a un conjunto de sub-conceptos.

•   La comprobación de la calidad ¿Cómo medir e! grado de calidad de un software? Aquí aparece en concepto de Control de Calidad que no es más que un conjunto de actividades para evaluar la calidad en productos desarrollados.

•   La mejora de calidad de software ¿Como mejorar la calidad del software a lo largo de su ciclo de vida? Es decir construir la calidad aquí aparecen dos conceptos importantes: gestión de calidad (determinar y aplicar políticas de calidad en la empresa) y garantía o aseguramiento de calidad (Actividades planificadas y sistemáticas necesarias para proporcionar confianza en el producto elaborado)

Cuando hablamos de evaluar la calidad de producto software implica una comparación entre los requisitos preestablecidos y el producto desarrollado, el problema es que por lo general una parte de los requisitos van a ser explícitos (se encuentran en la FRS tanto funcionales como otros requisitos) pero otra parte son los requisitos implícitos que el usuario los sabe pero no siempre es capaz de expresarlos se debe tratar que queden implícitos la menor cantidad de requisitos.

1.6 Modelos de Calidad

Como se mencionaba en el apartado anterior los Modelos de Calidad ayudan a definir y poner en marcha el concepto general de Calidad de Software, los Modelos de Calidad se definen de forma jerárquica es un concepto que se deriva de un conjunto de sub-conceptos, cada uno de los cuales se va a evaluar a través de un conjunto de indicadores o métricas. Existen algunos Modelos de calidad entre los más conocidos el Modelo Mc Call, ISO 9126, IEEE, Boehm, GQM, Gilb, entre otros, de éstos a continuación vamos analizar los tres primeros para tener una concepción de los restantes. La ventaja de los modelos de calidad es que la calidad se convierte en algo concreto, que se puede definir, medir y sobre todo planificar.

Imagen:Modelos_de_Calidad.JPG

1.6.1 Modelo Boehm

Los componentes o constructores del modelo se centran en el producto final, se identifican características de calidad desde el punto de vista del usuario.

Figura1.2 Modelo Calidad Boehm

1.6.2 Modelo de Me Call

El Modelo Mc Call es el más antiguo (1977) y difúndido, de él se han derivado la mayoría de los modelos que existen ella actualidad.

El Modelo descompone el concepto de calidad en tres puntos de vista importantes para un producto de software operación del producto, revisión del producto y transición del producto, éstos a su vez descomponen en 11 FACTORES de calidad o Atributos de calidad

Externos que muestran la calidad desde el punto de vista del usuario; y éstos a su vez se subdividen en 23 CRITERIOS de calidad o

Atributos de calidad Internos se trata de una. visión de calidad desde el punto de vista del desarrollador para cada uno de los criterios se definen métricas que son medidas cuantitativas de ciertas características del producto.


PUNTO DE VISTA FACTORES (Vista de Usuario) CRITERIOS (Vista del Desarrollador)
Operación del producto
Facilidad de Uso

¿Puedo utilizar/o?

-   Facilidad de operación

-   Facilidad de comunicación

-   Facilidad de aprendizaje

Integridad

¿Es seguro?

-  Control de accesos

-  Facilidad de Auditoria

Corrección

¿Hace lo que yo necesito?

-  Completitud

-   Consistencia

-   Trazabilidad

Fiabilidad

¿Lo hace correctamente todo el tiempo?

-  Precisión

-  Consistencia

-  Tolerancia a fallos

-  Modularidad

-  Simplicidad

Eficiencia

¿Se ejecutará lo mejor posible?

-  Eficiencia en ejecución

-  Eficiencia en almacenamiento

Revisión del Producto
Facilidad de mantenimiento

¿Puedo arreglar/o?

-  Modularidad

- Simplicidad

-  Auto Descripción

-  Instrumentación

de Prueba

¿Pueda probar/o?

-  Modularidad

-  Simplicidad

-  Auto Descripción

-  Instrumentación

Flexibilidad

¿Puedo modificar/o?

-  Auto descripción

-  Capacidad de expansión

-  Generalidad

-  Modularidad

Transición del Producto
Reusabilidad

¿Podré reutilizar algunas partes?

-  Auto descripción

-  Generalidad

-  Modularidad

-  Independencia entre sistema y software

-  Independencia del hardware

Interoperabilidad

¿Podré comunicar/o con otros sistemas?

-  Modularidad

-  Compatibilidad de comunicaciones

-  Compatibilidad de datos

Portabilidad

¿Podré utilizar/o en otra máquina?

-  Auto descripción

-  Modularidad

-  Independencia entre sistema y software

-  Independencia del hardware

Tabla1.2 Organización Puntos de Vista, Factores y Criterios Modelo Mc Call

1.6.3 Modelo ISO 9126

ISO plantea un Modelo genérico de calidad de software en su norma ISO 9126, en éste el concepto de calidad se divide en 6 sub-conceptos funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad y estos a su vez Incluyen otros como se muestra en la siguiente tabla:

CARACTERISTICA DESCRIPCION
Funcionalidad El software cumple con el propósito para el que fue creado?
• Adecuación Capacidad de proporcionar un conjunto defunciones para cumplir las tareas y objetivos especificados por el usuario.
• Exactitud Capacidad de proporcionar los resultados correctos con el grado de precisión necesario
• Interoperabilidad Capacidad de interactuar con uno o más sistemas especificados
• Seguridad Habilidad para prevenir accesos no autorizados accidentales o intencionales, protección de programas y datos
• Conformidad El software debe estar de la mano con estándares, convenciones, regulaciones en leyes y protocolos
Fiabilidad El software puede mantener su correcto desempeño bajo que condiciones y porque período de tiempo?
• Madurez Capacidad del software de evitar fallar con la frecuencia que se dan los fallos en el software
• Tolerancia a fallos Habilidad de mantener su nivel y rendimiento en casos de fallos o errores de ingreso
• Recuperación Capacidad de reestablecer su nivel, rendimiento y recuperar los datos ante posibles fallos
Usabilidad Cuanto esfuerzo necesito para utilizarlo?
• Capacidad de Entendimiento El esfuerzo necesario para que un usuario entienda la lógica y la aplicabilidad del producto software
• Capacidad de Aprendizaje El esfuerzo requerido para que el usuario aprenda la aplicación, proceso, entradas y salidas
• Operabilidad Capacidad de operatividad y control de usuarios
Eficiencia Los recursos que utiliza e/software para funcionar son los óptimos?
• Tiempo respuesta Capacidad de que el tiempo de respuesta y procesamiento este dentro del necesario para realizar determinada función
• Optimización de Recursos El promedio de recursos es el necesario para realizar una función
Mantenibilidad Cuanto esfuerzo es necesario para realizar modificaciones, incluir correcciones, mejoras o adaptaciones al entorno?
• Capacidad de análisis El esfuerzo necesario para encontrar las diferencias o causas de fallas o para identificar las partes a modificar
• Flexibilidad Capacidad de reducir el esfuerzo necesario para realizar cambios remover errores o cambios de entorno especificos
• Estabilidad Capacidad del software de evitar efectos no esperados luego de las modificaciones
• Capacidad prueba Capacidad de reducir el esfuerzo necesario para validar el software Portabilidad
Portabilidad Es posible transferir el software desde una organización a un entorno hardware o software diferente?
• Adaptabilidad Habilidad del software de adaptarse a diferentes entornos
• Instalabilidad El esfuerzo necesario para instalar el software en un entorno específico
• Coexistencia Capacidad de trabajar con otros sistemas adaptados a estándares y convenciones existentes
• Capacidad reemplazar El esfuerzo necesario para utilizar y reemplazar partes del software en entornos puntuales

Tabla1.3 Criterios y Subcriterios considerados en ISO 9126

Imagen:Criterios_y_Subcriterios_considerados_en_ISO_9126.JPG


[editar] ANEXOS 2

Estándares ISO

La organización internacional de estándares, ISO, ha producido una serie de estándares para la gestión y aseguramiento de la calidad conocida colectivamente como ISO 9000.

El estándar ISO 9000 describe un sistema de garantía de la calidad en términos genéricos que se aplican a cualquier negocio sin importar los productos o servicios ofrecidos. El registro en uno de los modelos del sistema de garantía de calidad contenidos en ISO 9000 requiere que los sistema y operaciones de calidad de una compañía los sometan a escrutinio auditores de una tercera entidad respecto se su concordancia con el estándar y se su funcionamiento eficaz. Se pueden dividir en dos grupos (Figura 8.1):

-   Normas para el aseguramiento externo de la calidad.
»   ISO 9001: Aseguramiento de la calidad en organizaciones cuyo proceso abarca desde el diseño hasta el servicio posventa.
»  ISO 9002: Aseguramiento de la calidad en organizaciones cuya actividad se basa en las fases de producción y de instalación

»  ISO 9003: Aseguramiento de la calidad en organizaciones cuya actividad consiste en inspecciones y ensayos finales. - Normas para la gestión interna de la calidad.

»  ISO 9004: Elementos de un sistema de calidad


Figura 8.1: Normativa ISO 9000

Dentro de la normativa ISO 9000, se ha creado la Guía ISO 9000-3, utilizada para aplicar ISO 9001 al desarrollo, suministro y mantenimiento de software apoyando a:

-  Marco de trabajo de fa empresa
-  Actividades del ciclo de vida
-  Actividades de apoyo
Entre la normativa ISO para la gestión de la calidad tenemos:

La ISO 9000:2000. Sistemas de gestión de la calidad - Fundamentos y vocabulario, define los términos fundamentales y definiciones usadas en la familia ISO 9000

La ISO 9001 :2000. Sistemas de gestión de la calidad - Requisitos, la cual define la auditoria de sistemas de calidad lo que permite realizar certificaciones externas de la calidad. Se organiza en las siguientes secciones:

-  Responsabilidad de gestión
-  Gestión de recursos
-  Realización de productos y/o servicios
-  Medición, análisis y mejora

La norma ISO 9004:2000. Sistemas de gestión de la calidad - Guías para la mejora del desempeño (performance), la que describe un sistema de calidad que cumple los requisitos básicos especificados en la norma 9001. Es una guía para las organizaciones que quieren mejorar la calidad de sus sistemas después de aplicar ISO 9001. ISO 9000 describe lo que se debe hacer para ser manejable, pero no describe cómo se debe hacer, en la siguiente tabla se resume algunos de algunos de los estándares ISO relacionados con calidad de software.

ISO 9126, 1991 Software product evaluation. Quality characteristics and guidelines for their use
ISO 9001:1994 Quality systems - to development, supply, intall and maintenance of computer software
ISO 9002:1994 Quality systems - Model for quality assurance in production, intallation and servicing
ISO/IEC FCD 14102 Informacion technology - Guideline for the evaluation and selection of CASE tools
ISO/IEC PRF TR 14471 Information technology - Software engineering - Guidelines for the adoption of CASE tools
ISO/ICE FCD 15288 Systems engineering - System life cycle processes
ISO/ICE DTR 15476-5 Information thecnology - CDIF semantic metamodels Part 5: Data flow models
ISO 15504-1: 1998 Software process assessment. Part 1: Concept and introductory guides
ISO/IEC CD 15909-2 Software and system engineering - High - level Petri nets - Part 2: Transfer Format
ISO/IEC NP 16326 Software engineering - guide for the application of ISO/IEC 12207 to project management
ISO/IEC FCD 19793 Information technology - Open Distributed Processing - Use of UML for ODP system specifications
ISO/IEC WD 24773 Software Engineering - Certification of sofware Engineers
ISO/IEC PRF TR 24774 Software and systems engineering - Life cycle management - Guidelines for process decription
ISO/IEC NP 24780 Information Thechnology - Service Management, Specification and Code of Practice
ISO/IEC FCD 24783 Guidelines for the application of ISO 9001 to System Life Cycle Processes
ISO/ICE FCD 25012 Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Data quality model
ISO /ICE PRF TR 25021 Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - quality measure elements
ISO/IEC NP 25062 Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Common Industry Form (CIF) for usability test reports
ISO/IEC DIS 29382 Corporate Governance of information and Communication Technology
ISO/IEC DIS 29881 Information technology - Software and systems engineering - FISMA 1.1 Funcional size measurement

Estándares ISO para software

Estándares IEEE

Los estándares IEEE están orientados al aseguramiento de la calidad a nivel del proyecto.
Algunos estándares conocidos son mencionados a continuación:
-  Std. 730: proporciona la estructura de la documentación del plan de aseguramiento de la calidad.

-  Std.1 061: definición de métricas para productos y para procesos, así como procedimientos para la recogida de valores de métricas.

Existen también estándares para otras actividades relacionadas con la calidad como pruebas, verificación y validación, revisiones, etc. Los principales se recogen en la siguiente tabla.

lEEE 730 - 2002 Planes de aseguramiento de calidad de software
IEEE 829 -1998 Documentación de pruebas del software
IEEE 982.1,982.2 Diccionario estándar de medidas para producir software fiable
IEE E1008 - 1987 Pruebas de unidad del software
IEEE 1012 - 1998 Verificación y validación del software
IEEE 1028 - 1997 Revisiones del software
IEEE 1044 - 1993 Clasificación estándar de anomalías del software
IEEE 1061 - 1992 Standard for a software quality metrics methodology
IEE E 1074 - 1995 Standard for developing software life cycle p rocesses
IEE E 1 228 - 1994 Planes de seguridad del software

Estándares IEEE para software

Herramientas personales