Fundamentos de la Calidad del
Software
Conceptos Básicos de la
Calidad del Software
Introducción
Calidad del Software
Evolución de las Propuestas de Calidad
Fundamentos de la
Calidad del Software
Introducción
• Los computadoras están siendo usadas en una
amplia y creciente variedad de áreas de
aplicación y su operación correcta es a menudo
crítica para el éxito de los negocios y la
seguridad humana
Fundamentos de la
Calidad del Software
Introducción
• Hoy en día programas altamente complejos
controlan aspectos fundamentales de nuestras
vidas, desde cuestiones mínimas como el
funcionamiento de nuestro teléfono móvil hasta
situaciones esenciales, como las constantes
vitales de un enfermo
• Desarrollar o seleccionar productos de software
de alta calidad es por lo tanto un asunto de
primera importancia
Fundamentos de la
Calidad del Software
Introducción
• La calidad en el desarrollo y el mantenimiento
del software se ha convertido hoy en día en uno
de los principales objetivos estratégicos de las
organizaciones, debido a que cada vez más, los
procesos principales de las organizaciones – y su
supervivencia - dependen de los sistemas
informáticos para su buen funcionamiento
Fundamentos de la
Calidad del Software
Introducción
• Parece claro que todas las aplicaciones que
pueden tener el software deben ser productos
de alta calidad: fáciles de usar, confiables y
seguros, tan rápidos como necesite el cliente,
baratos en relación con sus prestaciones,
flexibles y fáciles de mantener y modificar
• En cierto sentido no debe hacerse distinción
entre construir un programa y fabricar
cualquier otro bien de consumo
Fundamentos de la
Calidad del Software
Introducción
• Sin embargo la realidad nos muestra cómo
estamos acostumbrados a buscar el certificado
de calidad cuando adquirimos, por ejemplo,
una lavadora, pero por otro lado, aceptamos
que muchas aplicaciones que usamos no
cumplan con mínimos requisitos de calidad
exigibles a cualquier otra mercancía
Fundamentos de la
Calidad del Software
Introducción
• La similitud no sólo alcanza a las características
del producto, sino que cada vez más afecta a su
proceso de producción; así pues se habla acerca
del concepto de fábrica del software
Fundamentos de la
Calidad del Software
Introducción
• Además, en la industria, normas internacionales hablan
acerca de que la especificación de gran amplitud y la
evaluación de los productos de software son un factor
clave para asegurar la calidad adecuada del software
(ISO/IEC 9126-1:2001)
• Otro de los conceptos que se maneja es el de Ingeniería
del Software que incluye una serie de principios,
metodologías, técnicas y herramientas para el
desarrollo de software
Fundamentos de la
Calidad del Software
Introducción
• El objetivo primordial de la ingeniería de
software es producir un sistema, aplicación o
producto de software de alta calidad
• Para lograr este objetivo, los ingenieros del
software deben aplicar métodos efectivos junto
con herramientas modernas dentro del contexto
de un proceso maduro de desarrollo de
software
Fundamentos de la
Calidad del Software
Introducción
• Existen estudios y estadísticas que representan
con claridad la problemática del desarrollo de
software
“Sólo el 51% de los proyectos de software
tienen éxito”
Standish Group, CHAOS Report, 2004
Fundamentos de la
Calidad del Software
Introducción
• Existe una mejora al revisar los datos de años
anteriores, pues se han implantado prácticas de
calidad de software, tales como la aplicación
de programas de mejora de procesos
Fundamentos de la
Calidad del Software
Introducción
1995 2004
Se gastaron US$250 billones* al año
en tecnología de información
Se gastaron US$255 billones al año
en tecnología de información
31% de los proyectos se cancelaron
antes de su terminación
15% de los proyectos se cancelaron
antes de su terminación
53% de los proyectos costaron 189%
más de sus estimados originales
34% de los proyectos costaron 43%
más de los estimados originales
Se gastaron $81 billones por los
proyectos cancelados de software
Se gastaron $55 billones por los
proyectos cancelados de software
El 16% de los proyectos se
terminaron en tiempo y en
presupuesto
El 51% de los proyectos se
terminaron en tiempo y en
presupuesto
http://www.standishgroup.com/chaos.html
* Miles de millones
Fundamentos de la
Calidad del Software
Definición de Calidad
• Por lo anterior, se hace necesario de principio,
definir qué es Calidad
• Una definición es la siguiente
– “Es la totalidad de las características de una entidad
que dan soporte a su capacidad de satisfacer
necesidades manifiestas e implícitas”
ISO 8402:1994
• La entidad relevante en nuestro caso es un
producto de software
Fundamentos de la
Calidad del Software
Definición de Calidad del Software
• “Concordancia con los requisitos funcionales y
de rendimiento explícitamente establecidos,
con los estándares de desarrollo
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 98]
Fundamentos de la
Calidad del Software
Definición de Calidad del Software
• La definición anterior sirve además para hacer
hincapié en tres aspectos:
– Los requisitos (requerimientos) de software se deben
cumplir, en caso contrario, indican claramente la
falta de calidad
– Los estándares definen un conjunto de criterios de
desarrollo que deben seguirse de manera explícita
– Las características implícitas de calidad, a menudo
no mencionadas, también deben ser cumplidas
Fundamentos de la
Calidad del Software
Definición de Calidad del Software
• Según la norma IEEE 1601 la calidad de un
producto de software se define como el grado
en que posee una combinación adecuada de
determinadas características como son el
rendimiento, la fiabilidad o la seguridad
• Como se puede observar, se puede considerar
esta definición un tanto vaga debido a la
subjetividad inherente en el término
Fundamentos de la
Calidad del Software
Definición de Calidad del Software
• Por la razón anterior, son muchos los autores
que han propuesto marcos de trabajo en los que
caracterizan la calidad y trabajan con ella de
una forma sistemática
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• MacCall y otros en 1977, y Cavano y MacCall en
1978, fueron de los primeros que ofrecieron
propuestas en este sentido
• Según los autores, la calidad puede llegar a
cuantificarse tan sólo mediante el análisis de un
conjunto de factores
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Estos factores se agrupan de acuerdo con las
características operativas del software, su
capacidad para aceptar cambios y su
adaptabilidad a nuevos entornos
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Los factores que considera esta propuesta están
organizados según 3 grupos:
– Factores de Revisión
– Factores de Transición
– Factores de Operación
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Los Factores de Revisión incluyen:
– Flexibilidad
– Mantenibilidad
– Contestación
• Los Factores de Transición incluyen:
– Portabilidad
– Reusabilidad
– Interoperabilidad
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Los factores de Operación incluyen:
– Eficiencia
– Integridad
– Usabilidad
– Fiabilidad
– Corrección
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Dado que en la mayoría de los casos es casi
imposible realizar medidas directas de los
mismos también definieron un conjunto de
atributos de calidad que cuantificados
subjetivamente entre 0 y 10 permiten valorar la
calidad de un producto como una medida
ponderada de esos valores
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Otros autores como Boehm y otros (1978),
Grady y Caswell (1987) y la ISO (1991) siguieron
los pasos de MacCall y Cavano y profundizaron
en el conocimiento de los factores más comunes
que influyen en la calida del software
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• El resultado más significativo de esta primera
generación de marcos de calidad fue la
creación de un conjunto de catálogos
jerárquicos de factores de calidad, así como
una primera aproximación sistemática al
proceso de evaluación de la misma, aún cuando
tuviese una fuerte componente subjetiva
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Por desgracia, ninguna de estas propuestas
deslindaba claramente el concepto de atributo
de calidad (medidas) y requisito de calidad
(restricciones sobre estas medidas), por lo que
en muchas ocasiones resultaban confusos
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Más adelante, Gilb (1998), Keller y otros (1995)
y Olsina (1999), profundizaron en el problema y
llegaron a la conclusión de que no es posible
determinar un conjunto de atributos
universalmente válido, por lo que sus marcos
estaban basados en la creación de catálogos ad
hoc que en algunas ocasiones se obtenían como
concreciones de normas internacionales
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Además, se empezó a separar claramente entre
ofertas y demandas de calidad, aunque el
concepto de atributo, por desgracia, aún se
confundía con el de requisito
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Una limitación común a todos los marcos de
segunda generación es la falta de lenguajes
formales para expresar la calidad
• Estos marcos proponen plantillas, técnicas o
métodos para trabajar con ella, pero nunca un
lenguaje dotado de una semántica
rigurosamente definida que permita construir
herramientas útiles a su alrededor
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Frølud y Koistinen, Franch (en 1998) y Burgués y
Franch (2000), entre otros, son los abanderados
de una tercera generación de marcos de calidad
en los que el objetivo ha sido proporcionar
estos lenguajes
Fundamentos de la
Calidad del Software
Evolución de las Propuestas de Calidad
• Existen también hoy en día propuestas para una
posible cuarta generación orientada
principalmente a la calidad en aplicaciones en
servicios web utilizados en portales y comercio
electrónico, tales como la de Ruiz-Cortés (2000)
y Corchuelo y otros (2002)
Fin de la Presentación
Continúe en la siguiente actividad
Conceptos Básicos de la
Calidad del Software
Introducción
Calidad del Software
Evolución de las Propuestas de Calidad

1 u1 conceptos_basicoscalidadsoftware

  • 1.
    Fundamentos de laCalidad del Software Conceptos Básicos de la Calidad del Software Introducción Calidad del Software Evolución de las Propuestas de Calidad
  • 2.
    Fundamentos de la Calidaddel Software Introducción • Los computadoras están siendo usadas en una amplia y creciente variedad de áreas de aplicación y su operación correcta es a menudo crítica para el éxito de los negocios y la seguridad humana
  • 3.
    Fundamentos de la Calidaddel Software Introducción • Hoy en día programas altamente complejos controlan aspectos fundamentales de nuestras vidas, desde cuestiones mínimas como el funcionamiento de nuestro teléfono móvil hasta situaciones esenciales, como las constantes vitales de un enfermo • Desarrollar o seleccionar productos de software de alta calidad es por lo tanto un asunto de primera importancia
  • 4.
    Fundamentos de la Calidaddel Software Introducción • La calidad en el desarrollo y el mantenimiento del software se ha convertido hoy en día en uno de los principales objetivos estratégicos de las organizaciones, debido a que cada vez más, los procesos principales de las organizaciones – y su supervivencia - dependen de los sistemas informáticos para su buen funcionamiento
  • 5.
    Fundamentos de la Calidaddel Software Introducción • Parece claro que todas las aplicaciones que pueden tener el software deben ser productos de alta calidad: fáciles de usar, confiables y seguros, tan rápidos como necesite el cliente, baratos en relación con sus prestaciones, flexibles y fáciles de mantener y modificar • En cierto sentido no debe hacerse distinción entre construir un programa y fabricar cualquier otro bien de consumo
  • 6.
    Fundamentos de la Calidaddel Software Introducción • Sin embargo la realidad nos muestra cómo estamos acostumbrados a buscar el certificado de calidad cuando adquirimos, por ejemplo, una lavadora, pero por otro lado, aceptamos que muchas aplicaciones que usamos no cumplan con mínimos requisitos de calidad exigibles a cualquier otra mercancía
  • 7.
    Fundamentos de la Calidaddel Software Introducción • La similitud no sólo alcanza a las características del producto, sino que cada vez más afecta a su proceso de producción; así pues se habla acerca del concepto de fábrica del software
  • 8.
    Fundamentos de la Calidaddel Software Introducción • Además, en la industria, normas internacionales hablan acerca de que la especificación de gran amplitud y la evaluación de los productos de software son un factor clave para asegurar la calidad adecuada del software (ISO/IEC 9126-1:2001) • Otro de los conceptos que se maneja es el de Ingeniería del Software que incluye una serie de principios, metodologías, técnicas y herramientas para el desarrollo de software
  • 9.
    Fundamentos de la Calidaddel Software Introducción • El objetivo primordial de la ingeniería de software es producir un sistema, aplicación o producto de software de alta calidad • Para lograr este objetivo, los ingenieros del software deben aplicar métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo de software
  • 10.
    Fundamentos de la Calidaddel Software Introducción • Existen estudios y estadísticas que representan con claridad la problemática del desarrollo de software “Sólo el 51% de los proyectos de software tienen éxito” Standish Group, CHAOS Report, 2004
  • 11.
    Fundamentos de la Calidaddel Software Introducción • Existe una mejora al revisar los datos de años anteriores, pues se han implantado prácticas de calidad de software, tales como la aplicación de programas de mejora de procesos
  • 12.
    Fundamentos de la Calidaddel Software Introducción 1995 2004 Se gastaron US$250 billones* al año en tecnología de información Se gastaron US$255 billones al año en tecnología de información 31% de los proyectos se cancelaron antes de su terminación 15% de los proyectos se cancelaron antes de su terminación 53% de los proyectos costaron 189% más de sus estimados originales 34% de los proyectos costaron 43% más de los estimados originales Se gastaron $81 billones por los proyectos cancelados de software Se gastaron $55 billones por los proyectos cancelados de software El 16% de los proyectos se terminaron en tiempo y en presupuesto El 51% de los proyectos se terminaron en tiempo y en presupuesto http://www.standishgroup.com/chaos.html * Miles de millones
  • 13.
    Fundamentos de la Calidaddel Software Definición de Calidad • Por lo anterior, se hace necesario de principio, definir qué es Calidad • Una definición es la siguiente – “Es la totalidad de las características de una entidad que dan soporte a su capacidad de satisfacer necesidades manifiestas e implícitas” ISO 8402:1994 • La entidad relevante en nuestro caso es un producto de software
  • 14.
    Fundamentos de la Calidaddel Software Definición de Calidad del Software • “Concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo 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 98]
  • 15.
    Fundamentos de la Calidaddel Software Definición de Calidad del Software • La definición anterior sirve además para hacer hincapié en tres aspectos: – Los requisitos (requerimientos) de software se deben cumplir, en caso contrario, indican claramente la falta de calidad – Los estándares definen un conjunto de criterios de desarrollo que deben seguirse de manera explícita – Las características implícitas de calidad, a menudo no mencionadas, también deben ser cumplidas
  • 16.
    Fundamentos de la Calidaddel Software Definición de Calidad del Software • Según la norma IEEE 1601 la calidad de un producto de software se define como el grado en que posee una combinación adecuada de determinadas características como son el rendimiento, la fiabilidad o la seguridad • Como se puede observar, se puede considerar esta definición un tanto vaga debido a la subjetividad inherente en el término
  • 17.
    Fundamentos de la Calidaddel Software Definición de Calidad del Software • Por la razón anterior, son muchos los autores que han propuesto marcos de trabajo en los que caracterizan la calidad y trabajan con ella de una forma sistemática
  • 18.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • MacCall y otros en 1977, y Cavano y MacCall en 1978, fueron de los primeros que ofrecieron propuestas en este sentido • Según los autores, la calidad puede llegar a cuantificarse tan sólo mediante el análisis de un conjunto de factores
  • 19.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Estos factores se agrupan de acuerdo con las características operativas del software, su capacidad para aceptar cambios y su adaptabilidad a nuevos entornos
  • 20.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Los factores que considera esta propuesta están organizados según 3 grupos: – Factores de Revisión – Factores de Transición – Factores de Operación
  • 21.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Los Factores de Revisión incluyen: – Flexibilidad – Mantenibilidad – Contestación • Los Factores de Transición incluyen: – Portabilidad – Reusabilidad – Interoperabilidad
  • 22.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Los factores de Operación incluyen: – Eficiencia – Integridad – Usabilidad – Fiabilidad – Corrección
  • 23.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Dado que en la mayoría de los casos es casi imposible realizar medidas directas de los mismos también definieron un conjunto de atributos de calidad que cuantificados subjetivamente entre 0 y 10 permiten valorar la calidad de un producto como una medida ponderada de esos valores
  • 24.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Otros autores como Boehm y otros (1978), Grady y Caswell (1987) y la ISO (1991) siguieron los pasos de MacCall y Cavano y profundizaron en el conocimiento de los factores más comunes que influyen en la calida del software
  • 25.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • El resultado más significativo de esta primera generación de marcos de calidad fue la creación de un conjunto de catálogos jerárquicos de factores de calidad, así como una primera aproximación sistemática al proceso de evaluación de la misma, aún cuando tuviese una fuerte componente subjetiva
  • 26.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Por desgracia, ninguna de estas propuestas deslindaba claramente el concepto de atributo de calidad (medidas) y requisito de calidad (restricciones sobre estas medidas), por lo que en muchas ocasiones resultaban confusos
  • 27.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Más adelante, Gilb (1998), Keller y otros (1995) y Olsina (1999), profundizaron en el problema y llegaron a la conclusión de que no es posible determinar un conjunto de atributos universalmente válido, por lo que sus marcos estaban basados en la creación de catálogos ad hoc que en algunas ocasiones se obtenían como concreciones de normas internacionales
  • 28.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Además, se empezó a separar claramente entre ofertas y demandas de calidad, aunque el concepto de atributo, por desgracia, aún se confundía con el de requisito
  • 29.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Una limitación común a todos los marcos de segunda generación es la falta de lenguajes formales para expresar la calidad • Estos marcos proponen plantillas, técnicas o métodos para trabajar con ella, pero nunca un lenguaje dotado de una semántica rigurosamente definida que permita construir herramientas útiles a su alrededor
  • 30.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Frølud y Koistinen, Franch (en 1998) y Burgués y Franch (2000), entre otros, son los abanderados de una tercera generación de marcos de calidad en los que el objetivo ha sido proporcionar estos lenguajes
  • 31.
    Fundamentos de la Calidaddel Software Evolución de las Propuestas de Calidad • Existen también hoy en día propuestas para una posible cuarta generación orientada principalmente a la calidad en aplicaciones en servicios web utilizados en portales y comercio electrónico, tales como la de Ruiz-Cortés (2000) y Corchuelo y otros (2002)
  • 32.
    Fin de laPresentación Continúe en la siguiente actividad Conceptos Básicos de la Calidad del Software Introducción Calidad del Software Evolución de las Propuestas de Calidad

Notas del editor

  • #3 ISO/IEC 9126-1:2001, Software Engineering — Product Quality — Part 1:Quality Model
  • #4 Piattini, Mario G., García, Félix O; Calidad en el desarrollo y mantenimiento del software , Ed. Alfaomega RA-MA, México, 2003 ISO/IEC 9126-1:2001, Software Engineering — Product Quality — Part 1:Quality Model This can be achieved by defining appropriate quality characteristics, taking account of the purpose of usage of the software product. It is important that every relevant software product quality characteristic is specified and evaluated, whenever possible using validated or widely accepted metrics
  • #5 Piattini, Mario G., García, Félix O; Calidad en el desarrollo y mantenimiento del software , Ed. Alfaomega RA-MA, México, 2003
  • #6 Piattini, Mario G., García, Félix O; Calidad en el desarrollo y mantenimiento del software , Ed. Alfaomega RA-MA, México, 2003
  • #7 Piattini, Mario G., García, Félix O; Calidad en el desarrollo y mantenimiento del software , Ed. Alfaomega RA-MA, México, 2003
  • #8 Basado de Piattini, Mario G., García, Félix O; Calidad en el desarrollo y mantenimiento del software , Ed. Alfaomega RA-MA, México, 2003
  • #9 Basado de ISO/IEC 9126-1:2001, Software Engineering — Product Quality — Part 1: Quality Model This can be achieved by defining appropriate quality characteristics, taking account of the purpose of usage of the software product. It is important that every relevant software product quality characteristic is specified and evaluated, whenever possible using validated or widely accepted metrics
  • #10 Pressman, Roger S., Ingeniería del Software: Un enfoque práctico , Cuarta Edición, McGraw-Hill, 1998 Pg. 61
  • #14 ISO/IEC 14598-1:1999 – Software product evaluation [ISO 8402:1994]
  • #15 Pressman, Roger S., Ingeniería del Software: Un enfoque práctico , Cuarta Edición, McGraw-Hill, 1998 Pg. 125
  • #16 Basado de Pressman, Roger S., Ingeniería del Software: Un enfoque práctico , Cuarta Edición, McGraw-Hill, 1998 Pg. 125