CALIDAD DEL
 SOFTWARE
INTEGRANTES
     Stefani Mite Piña
 Verónica Herrera Bermeo
      Vanessa Toral
     Dayanna Gamboa
      Andy Carrillo
INTRODUCCIÓN
Es la aptitud de un producto o servicio para satisfacer
las necesidades del usuario.
En el desarrollo del software, la calidad del diseño
acompaña a la calidad de los requisitos
especificaciones y diseño de sistemas . La calidad de
concordancia es un aspecto centrado principalmente
en la implementación, si la implementación sigue al
diseño, y el sistema resultante cumple con los
objetivos de requisitos y de rendimiento, la calidad de
concordancia es alta.
Adicionalmente se puede seguir los sgts aspectos
para evaluar la calidad del Sofftware:
FUNCIONALIDAD: Conjunto de característica que algo sea
practico y utilitario.
CONFIABILIDAD: Probabilidad de un buen funcionamiento de
una cosa.
USABILIDAD: Es la facilidad que tiene una persona para
utilizar para utilizar una herramienta.
EFICIENCIA: Capacidad para realizar adecuadamente una
función.
MANTENIBILIDAD: La facilidad con la que un sistema o
componente software puede ser modificado para corregir
fallos, mejorar su funcionamiento u otros atributos.
PORTABILIDAD: Cualidad de un programa que se puede
ejecutar en diversos tipos de ordenador.
ESCALABILIDAD: Es la propiedad deseable de un sistema,
que indica su habilidad para extender el margen de
operaciones sin perder calidad.
CALIDAD DEL SOFTWARE A NIVEL
DE EMPRESA
La calidad del software se refiere a las acciones que se
toman de forma común para asegurar que se desarrolla
software de calidad en todos los proyectos. Se divide en
dos tipos de procesos.
• GESTIÓN DE LA CALIDAD DEL SW: aspecto de la
  función general de la gestión que determina y aplica la
  política    de     calidad.    Incluye    planificación
  estratégica, asignación de recursos, etc.
• ASEGURAMIENTO O GARANTÍA DE LA CALIDAD
  DEL SW: conjunto de actividades planificadas y
  sistemáticas necesarias para aportar la confianza en
  que el producto satisfará los requisitos dados de
  calidad.                                      Incluye
  evaluaciones, auditorías, revisiones, etc.
ESTÁNDARES
Los estándares de calidad de software son
normas emitidas por organismos específicos, que
sirven para sentar un marco con el que comparar
si un proceso de desarrollo es o no de calidad
ISO 9000
NORMATIVA ISO 9000
Pone a disposición de un certificador de procesos
internos, de forma que este se indique si cumple o no
la normativa 100%; si los resultados son positivos se
emite la certificación y cada cierto tiempo se tiene
que renovar. La certificación es costosa, a
consecuencia de costes que ocasionan la lejanía y el
tiempo de duración de procesos (aprox. 6 meses.).
Se certifica la empresa y la metodología para el
desarrollo de la aplicación. Se certifica la empresa y
la metodología para el desarrollo de la aplicación.
MEDICIÓN DE LA CALIDAD DEL
SOFTWARE
En el Software lo que se mide son atributos propios
del mismo, se descompone un atributo general en
otros más simples de medir; las ciencias bien
estructuradas se basan en medidas bien hechas, se
basan en la matemática:
TIPOS DE MEDIDAS:
• Número de errores durante un periodo determinado.
• Fallo en la codificación o diseño de un sistema que
  causa que el programa no funcione correctamente o
  falle.
• Tamaño de un producto informático (líneas de código).
• Métrica de punto de función           (IBM):   relaciona
  funcionalidades que ofrecía.
• Estimación de costes y esfuerzos.
• COCOMO.
MARCOS
DE TRABAJO
Lo marcos de trabajo recogen metas y procesos comunes
que debe cumplir una organización.
CMMI
Sirve para comprobar la habilidad de los procesos de las
organizaciones para realizar determinados proyectos.
CMMI clasifica el grado de madurez de las empresas en
cinco niveles: 1_caótico; hasta 5_optimizado.
SPICE
SPICE es un modelo de madurez propuesto por ISO.
Clasifica las organizaciones en seis niveles de
madurez, desde 0-incompleto, hasta 5-optimizado.
FACTORES DE CALIDAD
Los factores de calidad sirven para descomponer el
concepto de «calidad» en otros más sencillos, para
facilitar su control, y su medición.
FACTORES OPERATIVOS:
• CORRECCIÓN: el         software   cumple    con   las
  especificaciones.
• FIABILIDAD: grado que el software es confiable.
• EFICIENCIA: necesidad de recursos del software y
  hardware del producto.
• SEGURIDAD: grado en el que puede controlarse el
  acceso al software y a los datos.
• FACILIDAD DE USO: grado de esfuerzo necesario
  para utilizar el software.
FACTORES DE MANTENIMIENTO:
• FLEXIBILIDAD: esfuerzo necesario para modificar un
  programa.
• FACILIDAD DE PRUEBA: esfuerzo requerido para
  realizar las pruebas de un programa.
• FACILIDAD DE MANTENIMIENTO: esfuerzo requerido
  para localizar y reparar un error.
FACTORES EVOLUTIVOS:
• PORTABILIDAD: facilidad de inmigrar un software de
  un entorno de operación a otro.
• CAPACIDAD DE REUTILIZACIÓN: grado de un
  programa o parte del mismo se puede utilizar en otras
  aplicaciones.
• CAPACIDAD DE INTEROPERACIÓN: esfuerzo
  necesario para que un software opere conjuntamente
  con otros sistemas.
MÉTRICAS DE CALIDAD.
Las métricas de calidad del software se aplica para
valorar cualitativamente algún factor relativo al mismo.
Características de una nueva métrica:
• Simple y fácil de calcular, empírica, consistentes y
  objetiva,   independiente     del     lenguaje    de
  programación, que proporcione
PUNTO DE FUNCIÓN:
Sirve para cuantificar la cantidad de funcionalidad que
tiene un sistema a partir de la descripción del mismo.
Se basa en cinco ciclos:
ENTRADAS DE USUARIO
SALIDAS DE USUARIO
PETICIONES
ARCHIVOS
INTERFACES EXTERNAS.
• MÉTRICAS DE BANG: Sirve para calcular el
  tamaño del software a desarrollar a partir del
  modelo de análisis.
• MÉTRICA DE CALIDAD DE ESPECIFICACIÓN:
  Mide la calidad de análisis y de los requisitos
  capturados.
FASES DE DISEÑO
Trabajan frecuentemente con parámetros típicos
de la estructura de los programas o con medidas
del grado de cohesión, acoplamiento y
complejidad de los algoritmos.
Algunas de ellas son:
Métricas de calidad de Card y Glass métrica que
se basan en dos factores, calculados para cada
módulo a partir de un diagrama de estructura:
• COMPLEJIDAD ESTRUCTURAL: Número de
  módulos que controla un módulo dado.
• COMPLEJIDAD DE DATOS: Suma de variables
  de entrada y salida de un módulo.
QUÉ ES LA CALIDAD DEL
SOFTWARE ?
La calidad del software es el conjunto de cualidades
que lo caracterizan y que determinan su utilidad y
existencia. La calidad del software es medible y varía
de un sistema a otro o de un programa a otro.
Un software elaborado para el control de naves
espaciales debe ser confiable al nivel de "cero
fallas"; un software hecho para ejecutarse una sola
vez no requiere el mismo nivel de calidad; mientras
que un producto de software para ser explotado
durante un largo período (10 años o más), necesita
ser confiable, mantenible y flexible para disminuir los
costos de mantenimiento y perfeccionamiento
durante el tiempo de explotación.
La calidad del software puede medirse después
de elaborado el producto. Pero esto puede
resultar muy costoso si se detectan problemas
deriva dos de imperfecciones en el diseño, por lo
que es imprescindible tener en cuenta tanto la
obtención de la calidad como su control durante
todas las etapas del ciclo de vida del software.
COMO OBTENER UN SOFTWARE
DE CALIDAD?
La obtención de un software con calidad implica la
utilización de metodologías o procedimientos
estándares para el análisis, diseño, programación y
prueba del software que permitan uniformar la
filosofía de trabajo, en áreas de lograr una mayor
confiabilidad, mantenibilidad y facilidad de prueba, a
la vez que eleven la productividad, tanto para la
labor de desarrollo como para el control de la calidad
del software. La política establecida debe estar
sustentada sobre tres principios básicos:
tecnológico, administrativo y ergonómico.
El principio tecnológico define las técnicas a utilizar en el
proceso de desarrollo del software.
El principio administrativo contempla las funciones de
planificación y control del desarrollo del software, así
como la organización del ambiente o centro de ingeniería
de software.
El principio ergonómico define la interfaz entre el usuario
y el ambiente automatizado.
La adopción de una buena política contribuye en gran
medida a lograr la calidad del software, pero no la
asegura. Para el aseguramiento de la calidad es
necesario su control o evaluación.
COMO CONTROLAR LA CALIDAD
DEL SOFTWARE ?
Para controlar la calidad del software es
necesario, definir los parámetros,
indicadores o criterios de medición, ya
que, como bien plantea Tom De Marco,
"usted no puede controlar lo que no se
puede medir"
Las cualidades para medir la calidad del software son
definidas por innumerables autores, los cuales las
denominan y agrupan de formas diferentes. Por
ejemplo, John Wiley define métricas de calidad y
criterios, donde cada métrica se obtiene a partir de
combinaciones de los diferentes criterios.
La Metodología para la evaluación de la calidad de
los medios de programas de la CIC, define
indicadores de calidad estructurados en cuatro
niveles jerárquicos: factor, criterio, métrica, elemento
de evaluación, donde cada nivel inferior contiene los
indicadores que conforman el nivel precedente.
Otros autores identifican la calidad con el
nivel de complejidad del software y
definen dos categorías de métricas: de
complejidad de programa o código, y de
complejidad de sistema o estructura.
Todos los autores coinciden en que
el software posee determinados índices
medibles que son las bases para la
calidad, el control y el perfeccionamiento
de la productividad.
Una vez seleccionados los índices de calidad, se
debe establecer el proceso de control, que requiere
los siguientes pasos:
• Definir el software que va a ser controlado:
  clasificación    por      tipo,     esfera     de
  aplicación, complejidad, etc., de acuerdo con los
  estándares establecidos para el desarrollo
  del software.
• Seleccionar una medida que pueda ser aplicada al
  objeto de control. Para cada clase de software es
  necesario definir los indicadores y sus magnitudes.
• Crear o determinar los métodos de valoración de
  los indicadores: métodos manuales como
  cuestionarios o encuestas estándares para la
  medición de criterios periciales y herramientas
  automatizadas para medir los criterios de cálculo.
• Definir las regulaciones organizativas para realizar
  el control: quiénes participan en el control de la
  calidad, cuándo se realiza, qué documentos deben
  ser revisados y elaborados, etc.

Calidad del software

  • 1.
  • 2.
    INTEGRANTES Stefani Mite Piña Verónica Herrera Bermeo Vanessa Toral Dayanna Gamboa Andy Carrillo
  • 3.
  • 4.
    Es la aptitudde un producto o servicio para satisfacer las necesidades del usuario. En el desarrollo del software, la calidad del diseño acompaña a la calidad de los requisitos especificaciones y diseño de sistemas . La calidad de concordancia es un aspecto centrado principalmente en la implementación, si la implementación sigue al diseño, y el sistema resultante cumple con los objetivos de requisitos y de rendimiento, la calidad de concordancia es alta. Adicionalmente se puede seguir los sgts aspectos para evaluar la calidad del Sofftware:
  • 5.
    FUNCIONALIDAD: Conjunto decaracterística que algo sea practico y utilitario. CONFIABILIDAD: Probabilidad de un buen funcionamiento de una cosa. USABILIDAD: Es la facilidad que tiene una persona para utilizar para utilizar una herramienta. EFICIENCIA: Capacidad para realizar adecuadamente una función. MANTENIBILIDAD: La facilidad con la que un sistema o componente software puede ser modificado para corregir fallos, mejorar su funcionamiento u otros atributos. PORTABILIDAD: Cualidad de un programa que se puede ejecutar en diversos tipos de ordenador. ESCALABILIDAD: Es la propiedad deseable de un sistema, que indica su habilidad para extender el margen de operaciones sin perder calidad.
  • 6.
    CALIDAD DEL SOFTWAREA NIVEL DE EMPRESA
  • 7.
    La calidad delsoftware se refiere a las acciones que se toman de forma común para asegurar que se desarrolla software de calidad en todos los proyectos. Se divide en dos tipos de procesos. • GESTIÓN DE LA CALIDAD DEL SW: aspecto de la función general de la gestión que determina y aplica la política de calidad. Incluye planificación estratégica, asignación de recursos, etc. • ASEGURAMIENTO O GARANTÍA DE LA CALIDAD DEL SW: conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto satisfará los requisitos dados de calidad. Incluye evaluaciones, auditorías, revisiones, etc.
  • 8.
  • 9.
    Los estándares decalidad de software son normas emitidas por organismos específicos, que sirven para sentar un marco con el que comparar si un proceso de desarrollo es o no de calidad
  • 10.
  • 11.
    NORMATIVA ISO 9000 Ponea disposición de un certificador de procesos internos, de forma que este se indique si cumple o no la normativa 100%; si los resultados son positivos se emite la certificación y cada cierto tiempo se tiene que renovar. La certificación es costosa, a consecuencia de costes que ocasionan la lejanía y el tiempo de duración de procesos (aprox. 6 meses.). Se certifica la empresa y la metodología para el desarrollo de la aplicación. Se certifica la empresa y la metodología para el desarrollo de la aplicación.
  • 12.
    MEDICIÓN DE LACALIDAD DEL SOFTWARE
  • 13.
    En el Softwarelo que se mide son atributos propios del mismo, se descompone un atributo general en otros más simples de medir; las ciencias bien estructuradas se basan en medidas bien hechas, se basan en la matemática:
  • 14.
    TIPOS DE MEDIDAS: •Número de errores durante un periodo determinado. • Fallo en la codificación o diseño de un sistema que causa que el programa no funcione correctamente o falle. • Tamaño de un producto informático (líneas de código). • Métrica de punto de función (IBM): relaciona funcionalidades que ofrecía. • Estimación de costes y esfuerzos. • COCOMO.
  • 15.
  • 16.
    Lo marcos detrabajo recogen metas y procesos comunes que debe cumplir una organización. CMMI Sirve para comprobar la habilidad de los procesos de las organizaciones para realizar determinados proyectos. CMMI clasifica el grado de madurez de las empresas en cinco niveles: 1_caótico; hasta 5_optimizado. SPICE SPICE es un modelo de madurez propuesto por ISO. Clasifica las organizaciones en seis niveles de madurez, desde 0-incompleto, hasta 5-optimizado.
  • 17.
  • 18.
    Los factores decalidad sirven para descomponer el concepto de «calidad» en otros más sencillos, para facilitar su control, y su medición.
  • 19.
    FACTORES OPERATIVOS: • CORRECCIÓN:el software cumple con las especificaciones. • FIABILIDAD: grado que el software es confiable. • EFICIENCIA: necesidad de recursos del software y hardware del producto. • SEGURIDAD: grado en el que puede controlarse el acceso al software y a los datos. • FACILIDAD DE USO: grado de esfuerzo necesario para utilizar el software.
  • 20.
    FACTORES DE MANTENIMIENTO: •FLEXIBILIDAD: esfuerzo necesario para modificar un programa. • FACILIDAD DE PRUEBA: esfuerzo requerido para realizar las pruebas de un programa. • FACILIDAD DE MANTENIMIENTO: esfuerzo requerido para localizar y reparar un error.
  • 21.
    FACTORES EVOLUTIVOS: • PORTABILIDAD:facilidad de inmigrar un software de un entorno de operación a otro. • CAPACIDAD DE REUTILIZACIÓN: grado de un programa o parte del mismo se puede utilizar en otras aplicaciones. • CAPACIDAD DE INTEROPERACIÓN: esfuerzo necesario para que un software opere conjuntamente con otros sistemas.
  • 22.
  • 23.
    Las métricas decalidad del software se aplica para valorar cualitativamente algún factor relativo al mismo. Características de una nueva métrica: • Simple y fácil de calcular, empírica, consistentes y objetiva, independiente del lenguaje de programación, que proporcione
  • 24.
    PUNTO DE FUNCIÓN: Sirvepara cuantificar la cantidad de funcionalidad que tiene un sistema a partir de la descripción del mismo. Se basa en cinco ciclos: ENTRADAS DE USUARIO SALIDAS DE USUARIO PETICIONES ARCHIVOS INTERFACES EXTERNAS.
  • 25.
    • MÉTRICAS DEBANG: Sirve para calcular el tamaño del software a desarrollar a partir del modelo de análisis. • MÉTRICA DE CALIDAD DE ESPECIFICACIÓN: Mide la calidad de análisis y de los requisitos capturados.
  • 26.
  • 27.
    Trabajan frecuentemente conparámetros típicos de la estructura de los programas o con medidas del grado de cohesión, acoplamiento y complejidad de los algoritmos. Algunas de ellas son: Métricas de calidad de Card y Glass métrica que se basan en dos factores, calculados para cada módulo a partir de un diagrama de estructura:
  • 28.
    • COMPLEJIDAD ESTRUCTURAL:Número de módulos que controla un módulo dado. • COMPLEJIDAD DE DATOS: Suma de variables de entrada y salida de un módulo.
  • 29.
    QUÉ ES LACALIDAD DEL SOFTWARE ?
  • 30.
    La calidad delsoftware es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad del software es medible y varía de un sistema a otro o de un programa a otro. Un software elaborado para el control de naves espaciales debe ser confiable al nivel de "cero fallas"; un software hecho para ejecutarse una sola vez no requiere el mismo nivel de calidad; mientras que un producto de software para ser explotado durante un largo período (10 años o más), necesita ser confiable, mantenible y flexible para disminuir los costos de mantenimiento y perfeccionamiento durante el tiempo de explotación.
  • 31.
    La calidad delsoftware puede medirse después de elaborado el producto. Pero esto puede resultar muy costoso si se detectan problemas deriva dos de imperfecciones en el diseño, por lo que es imprescindible tener en cuenta tanto la obtención de la calidad como su control durante todas las etapas del ciclo de vida del software.
  • 32.
    COMO OBTENER UNSOFTWARE DE CALIDAD?
  • 33.
    La obtención deun software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en áreas de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. La política establecida debe estar sustentada sobre tres principios básicos: tecnológico, administrativo y ergonómico.
  • 34.
    El principio tecnológicodefine las técnicas a utilizar en el proceso de desarrollo del software. El principio administrativo contempla las funciones de planificación y control del desarrollo del software, así como la organización del ambiente o centro de ingeniería de software. El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado. La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación.
  • 35.
    COMO CONTROLAR LACALIDAD DEL SOFTWARE ?
  • 36.
    Para controlar lacalidad del software es necesario, definir los parámetros, indicadores o criterios de medición, ya que, como bien plantea Tom De Marco, "usted no puede controlar lo que no se puede medir"
  • 37.
    Las cualidades paramedir la calidad del software son definidas por innumerables autores, los cuales las denominan y agrupan de formas diferentes. Por ejemplo, John Wiley define métricas de calidad y criterios, donde cada métrica se obtiene a partir de combinaciones de los diferentes criterios. La Metodología para la evaluación de la calidad de los medios de programas de la CIC, define indicadores de calidad estructurados en cuatro niveles jerárquicos: factor, criterio, métrica, elemento de evaluación, donde cada nivel inferior contiene los indicadores que conforman el nivel precedente.
  • 38.
    Otros autores identificanla calidad con el nivel de complejidad del software y definen dos categorías de métricas: de complejidad de programa o código, y de complejidad de sistema o estructura. Todos los autores coinciden en que el software posee determinados índices medibles que son las bases para la calidad, el control y el perfeccionamiento de la productividad.
  • 39.
    Una vez seleccionadoslos índices de calidad, se debe establecer el proceso de control, que requiere los siguientes pasos: • Definir el software que va a ser controlado: clasificación por tipo, esfera de aplicación, complejidad, etc., de acuerdo con los estándares establecidos para el desarrollo del software. • Seleccionar una medida que pueda ser aplicada al objeto de control. Para cada clase de software es necesario definir los indicadores y sus magnitudes.
  • 40.
    • Crear odeterminar los métodos de valoración de los indicadores: métodos manuales como cuestionarios o encuestas estándares para la medición de criterios periciales y herramientas automatizadas para medir los criterios de cálculo. • Definir las regulaciones organizativas para realizar el control: quiénes participan en el control de la calidad, cuándo se realiza, qué documentos deben ser revisados y elaborados, etc.