Fundamentos de la Calidad del Software - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Fundamentos de la Calidad del Software

Description:

Versi n 1.0, Noviembre 2006 Asley A. Cristales Pav n - ITESM Fundamentos de Calidad de Software: Calidad del Producto y Calidad del Proceso – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 42
Provided by: MCAs73
Category:

less

Transcript and Presenter's Notes

Title: Fundamentos de la Calidad del Software


1
Fundamentos de la Calidad del Software
  • Calidad del Producto y Calidad del Proceso
  • Enfoques de Calidad
  • El Enfoque hacia el Producto
  • El Enfoque hacia el Proceso

2
Enfoques de Calidad
  • La terminología para las características de
    calidad del software difiere de una taxonomía (o
    modelo de calidad de software) a otra, cada
    modelo quizás tenga un número diferente de
    niveles jerárquicos y un número total diferente
    de características

3
Enfoques de Calidad
  • Varios autores han enunciado distintos modelos de
    características de calidad de software o
    atributos que pueden ser útiles para la
    negociación, planificación, y tasación de la
    calidad de productos software (Boehm 78 McCall
    77)

4
Enfoques de Calidad
  • ISO/IEC ha definido tres modelos relacionados de
    calidad de productos software (la calidad
    interna, la calidad externa, y la calidad en el
    empleo) (ISO9126-01) y un conjunto de partes
    relacionadas (ISO14598-98)
  • Esto da por consecuencia dos enfoques principales
    para las características de la calidad del
    software, el enfoque hacia el producto y el
    enfoque hacia el proceso

5
Enfoques de Calidad
  • La gestión de la calidad de software y la calidad
    de proceso en la ingeniería de software guardan
    relación directa con la calidad del producto
    software
  • Desde luego, no es posible distinguir
    completamente la calidad del proceso de la
    calidad del producto

6
Enfoques de Calidad
  • La calidad de proceso, afecta a las
    características de calidad de los productos
    software, que a su vez repercuten en la calidad
    en el uso tal y como es percibido por el cliente

7
El Enfoque hacia el Producto
  • El ingeniero de software, ante todo, necesita
    determinar el Objetivo verdadero del software
  • En cuanto a esto, es de capital importancia tener
    presente los requerimientos del cliente y
    aquellos que estos incluyen como requerimientos
    de calidad, no únicamente los requerimientos
    funcionales

8
El Enfoque hacia el Producto
  • Así, el ingeniero de software tiene como
    responsabilidad obtener los requerimientos de
    calidad, que pueden no estar explícitos en un
    principio, tratar su importancia así como el
    nivel dificultad para alcanzarlos

9
El Enfoque hacia el Producto
  • Todos los procesos asociados a la Calidad de
    software (como por ejemplo, construcción,
    pruebas, mejora de la calidad) serán diseñados
    con estas exigencias en mente, y ello conlleva
    gastos adicionales

10
El Enfoque hacia el Producto
  • La calidad de un producto no se limita a su
    confiabilidad o corrección, aunque ésta debería
    estar en consonancia con el precio y el uso de la
    aplicación de este software

11
El Enfoque hacia el Producto
  • Atañe a aspectos de similar importancia a la
    confiabilidad, como la seguridad del producto, de
    sus partes, cada vez más importante en tanto y
    cuanto una parte del software actual se realiza
    mediante la composición de componentes
    proporcionados bien por el programador, bien por
    el sistema de desarrollo, bien suministrado por
    terceros

12
El Enfoque hacia el Producto
  • Otros aspectos fundamentales de la calidad de un
    producto de software son la facilidad de
    utilización por los usuarios esperados, las
    prestaciones ofrecidas por las aplicaciones, la
    adaptación a su mantenimiento y producción de
    nuevas versiones, la flexibilidad y la
    transportabilidad a sistemas hardware/software
    diferentes, etc.

13
El Enfoque hacia el Producto
  • Una de las acepciones más utilizadas de la
    calidad es la relacionada con modelos de
    aseguramiento tipo ISO 9000
  • El concepto se orienta más a predecir la calidad
    (sea la que sea) del producto final mediante el
    control de las tareas para su realización y,
    sobretodo su registro

14
El Enfoque hacia el Producto
  • De esta forma, si el producto final no responde a
    nuestros criterios de calidad (lo esperado, no lo
    deseable), podemos saber en qué punto del proceso
    se produjo un error y subsanarlo

15
El Enfoque hacia el Producto
  • El estándar ISO/IEC 9126-01 define, para dos de
    sus tres modelos de calidad, características de
    calidad, Sub-características, y las medidas que
    son útiles para Evaluación de calidad de producto
    de software
  • El significado del término "producto" es ampliado
    para incluir cualquier artefacto que es la salida
    de cualquier proceso empleado para construir el
    producto de software final

16
El Enfoque hacia el Producto
  • Como ejemplos de un producto cabe incluir, aunque
    no con carácter limitativo, una completa
    especificación del sistema, una especificación de
    requerimientos de software para un componente de
    software de un sistema, un módulo de diseño,
    código, documentación de prueba, o los informes
    producidos como consecuencia de tareas de
    análisis de calidad

17
El Enfoque hacia el Producto
  • Mientras la mayor parte del tratamiento de la
    calidad es descrito en términos del software
    final y funcionamiento del sistema, una
    ingeniería práctica responsable requiere que los
    productos intermedios relevantes para la calidad
    sean evaluados a lo largo de todo el proceso de
    ingeniería de software

18
El Enfoque hacia el Proceso
  • Las metodologías de desarrollo nos ayudan a
    realizar este proceso (el de desarrollo) reglado
    y prefijado para conseguir productos adecuados
  • No se entiende un concepto como el de Fábrica de
    Software sin la asociación con el concepto de
    tareas repetibles, planificables, organizadas,
    igual que no se entiende una fábrica como un
    conjunto de tareas anárquicas, sin control ni
    organización

19
El Enfoque hacia el Proceso
  • Dentro de la Ingeniería de Software existen
    multitud de metodologías para el desarrollo de
    productos de software
  • Incluso, cada país suele tener su versión de
    metodología obligatoria (normalmente en lo
    relativo a los aspectos formales orientados a la
    documentación) en los productos de administración
    pública

20
El Enfoque hacia el Proceso
  • La orientación adecuada consiste en partir de una
    metodología de desarrollo suficientemente
    contrastada y admitida, personalizada para la
    propia organización pero sin pérdida de la
    generalidad de la misma (lo que consiguen muchas
    personalizaciones es la pérdida de la eficiencia
    de la metodología)

21
El Enfoque hacia el Proceso
  • Un proceso de desarrollo de software determina
    quién debe hacer qué, cuándo y cómo
  • Un proceso de software define la forma en que se
    organiza el trabajo de un equipo de desarrollo y
    otros grupos de apoyo

22
El Enfoque hacia el Proceso
  • Son las actividades que se realizan siguiendo
    métodos y técnicas para desarrollar un producto
    de software
  • El proceso de desarrollo recibe como entrada
    requisitos nuevos o modificados y genera un
    sistema nuevo o modificado

23
El Enfoque hacia el Proceso
  • Los procesos de software difícilmente se inventan
    desde cero, más bien recogen las mejores
    prácticas y experiencias de los que han tenido
    éxito en el desarrollo de software
  • Actualmente, disponemos de una serie de modelos
    generados por consenso entre profesionistas, que
    podemos tomar como modelos de referencia

24
El Enfoque hacia el Proceso
  • Los ejemplos más destacados de estos modelos el
    CMM-SW, el CMMI, el ISO/IEC 12207 e ISO/IEC 15504
  • La confianza en estos modelos se debe al hecho de
    que fueron sustraídos de las experiencias de
    varias empresas y de muchos proyectos exitosos
    desarrollados anteriormente

25
El Enfoque hacia el Proceso
  • Los modelos de referencia mencionados muestran,
    que para tener éxito en el proceso de desarrollo
    de software hay que darle la debida importancia
    no solamente a los aspectos técnicos, sino
    también a los aspectos de gestión de un proyecto

26
El Enfoque hacia el Proceso
  • Una organización que quiera medir la calidad, o
    usando los términos de los modelos, la capacidad
    y/o madurez de sus procesos, puede comparar su
    forma de trabajar con respecto a lo que sugieren
    estos modelos
  • Esto se conoce como evaluación de procesos
    (Process Assessment)

27
El Enfoque hacia el Proceso
  • Esencialmente el proceso está definido por un
    modelo de proceso junto con la definición de
    artefactos, actividades y roles
  • El modelo de proceso se base en uno o más de los
    siguientes enfoques codificar y reparar
    (code-and-fix), modelo en cascada, desarrollo
    evolutivo, desarrollo formal (paradigma de
    programación automática) y desarrollo basado en
    componentes

28
El Enfoque hacia el Proceso
  • Además, existe consenso respecto a que el proceso
    de desarrollo debe ser iterativo
  • En este sentido normalmente se combinan una
    estrategia de desarrollo incremental con una de
    desarrollo en espiral

29
El Enfoque hacia el Proceso
  • Una importante característica de un proceso
    iterativo es que la especificación del software
    es desarrollada a lo largo del proceso de
    desarrollo de software, es decir, no se establece
    de forma completa e inmutable al principio del
    desarrollo

30
El Enfoque hacia el Proceso
  • Un artefacto es cualquier información usada o
    producida por el proceso de desarrollo de
    software (OMG 2002)
  • Ejemplos de artefactos son documentos, modelos,
    archivos fuente y ejecutables

31
El Enfoque hacia el Proceso
  • Un rol es la definición del comportamiento y
    responsabilidades de un individuo o conjunto de
    individuos trabajando juntos como un equipo,
    dentro del contexto de la organización de
    ingeniería de software

32
El Enfoque hacia el Proceso
  • Una actividad es una unidad de trabajo que puede
    realizar un determinado rol
  • Todo lo anterior se define de acuerdo a la
    terminología utilizada en RUP (Rational Unfied
    Process) que es la versión de la empresa Rational
    del proceso unificado

33
El Enfoque hacia el Proceso
  • No existe un proceso de desarrollo de software
    universal que sea adecuado para cualquier
    proyecto
  • Debido a esto, un proceso de desarrollo debe ser
    entendido como un marco de trabajo configurable,
    capaz de ser adoptado y escalda según las
    características del proyecto

34
El Enfoque hacia el Proceso
  • En la actualidad, quizá dos de los exponentes más
    representativos de procesos en cuanto a su
    interés industrial, son RUP y XP (Extreme
    Programming) (Beck 2000)
  • Ambos representan una pugna entre lo que se ha
    clasificado por algunos autores como procesos
    peso pesado (heavyweight) y procesos peso ligero
    (lightweight) o también llamados metodologías
    ágiles

35
El Enfoque hacia el Proceso
  • La diferencia más clara entre los procesos
    llamados pesados y los ligeros está en la
    envergadura de los proyectos para los cuales
    están orientados y el grado de ceremonia o
    mejor dicho, formalidad que el proceso establece

36
El Enfoque hacia el Proceso
  • XP se orienta fuertemente a la producción de
    código y sus pruebas, restando protagonismo al
    modelado y enfatizando aspectos tales como la
    satisfacción del cliente, el potenciar la
    capacidad individual y promover una estrecha
    colaboración del equipo de desarrollo

37
El Enfoque hacia el Proceso
  • En RUP se hace mayor hincapié en el modelado y
    hay una precisa definición de cada uno de los
    roles, actividades y artefactos que deben formar
    el proceso de desarrollo
  • RUP es un marco de trabajo que puede ser adaptado
    a las necesidades del proyecto, con lo cual puede
    configurarse para proyectos de distintas
    envergaduras

38
El Enfoque hacia el Proceso
  • XP debido a sus principios, presenta
    inconvenientes para ser escalado a grandes
    proyectos en condiciones en las cuales, por
    ejemplo, como lo señala Smith (2001) hay más de
    10 participantes, el equipo está distribuido
    geográficamente, el tiempo de desarrollo es de
    años, etc.

39
El Enfoque hacia el Proceso
  • Se puede resumir todo lo anterior de la forma
    siguiente

Gente
Proceso
Tecnología
40
El Enfoque hacia el Proceso
  • Gente
  • Con las habilidades, entrenamiento y motivación
  • Tecnología
  • Herramientas e Infraestructura
  • Proceso
  • Procedimientos y Métodos definiendo las
    relaciones de las tareas

41
Fin de la PresentaciónContinúe en la siguiente
actividad
  • Calidad del Producto y Calidad del Proceso
  • Enfoques de Calidad
  • El Enfoque hacia el Producto
  • El Enfoque hacia el Proceso
Write a Comment
User Comments (0)
About PowerShow.com