Está en la página 1de 39

Unidad I : Introducción a la calidad en el desarrollo

del software

Tema 1: Generalidades de la calidad en el desarrollo del


software

Asignatura: Estándares y métricas en el desarrollo del software


Profesor :ISC Danniela Gutiérrez Rivera
¿Qué es Calidad?

En general el hablar de calidad nos conduce a algo “bueno”,


“adecuado”, “superior”.
El origen etimológico de la palabra origen griego
Kalos: bueno, hermoso, apto, favorable
Qualitatem: Propiedad
La palabra calidad designa el conjunto de atributos o propiedades de
un objeto que nos permiten emitir un juicio de valor acerca de el.
¿Qué es Calidad?

Según el modelo de la norma ISO 9000, la calidad es el “grado en


el que un conjunto de características inherentes cumple con los
requisitos”,

Según Philip Crosby la calidad es cero defectos, hacer las cosas


bien a la primera.
¿Qué es Calidad del Software?

Para Pressman, (1998) define la calidad del software como:

“la concordancia con los requerimientos 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”.
Garantía de Calidad

 Conjunto de acciones planificadas y sistemáticas necesarias


para proporcionar la confianza adecuada de que un producto o
servicio satisface los requerimientos dados sobre calidad.

 La garantía de calidad del software es un "diseño de acciones


planificado y sistemático" que se requiere para asegurar la
calidad del software. Muchos de los que constituyen una
organización tienen responsabilidad en relación con la garantía
de calidad del software: ingenieros de software, jefes de
proyecto, clientes, vendedores y aquellas personas que trabajan
dentro de un grupo de aseguramiento de la calidad.
Control de Calidad

• Este proceso se sigue durante la elaboración de los productos y


los servicios, para asegurar que se cumplan con los objetivos de
calidad definidos y corregir las desviaciones en caso necesario.
Control de Calidad

• Aplicado al software, el control de calidad es una serie de


inspecciones, revisiones, y pruebas utilizados a lo largo del ciclo
de desarrollo para asegurar que cada producto cumple con los
requisitos que le han sido asignados.
Control de Calidad

Cuando definimos calidad del software se involucran varios aspectos


como la ausencia de defectos, facilidad de uso , seguridad, confiablidad y
documentación.

Sin embargo, hay algo importante que se debe tener presente: la calidad
del software debe ser construida desde el comienzo, no es algo que
puede ser añadido después.

• Para que el producto final sea de calidad, el proceso por medio del cual
éste es elaborado debe ser también de calidad.
Calidad en el proceso

La calidad vista desde el mundo de los procesos nos dice que la calidad
del producto software está determinada por la calidad del proceso (Parra,
2014). Por proceso se entienden las actividades, tareas, entrada, salida,
procedimientos, etc., para desarrollar y mantener software.
Modelos, normas y metodologías típicas aquí son CMMI, ISO 15504 /
ISO 12207, el ciclo de vida usado; incluso las metodologías ágiles entran
en este apartado.
Calidad en el producto

La calidad que pueden alcanzar los productos de software, y en general


cualquier tipo de producto, está sometida a la manera cómo se desarrolla
cada una de las etapas de la vida del producto, iniciándose con la
concepción de la idea del producto hasta la entrega final y mantenimiento
del mismo.

Existen modelos de calidad de producto, destacando entre ellos la ISO


9126 (ISO, 2001), o la nueva serie ISO 25000 (ISO, 2005a), que
especifica diferentes dimensiones de la calidad de producto.
Norma de Calidad

Una norma de calidad es un documento, establecido por


consenso y aprobado por un organismo reconocido (nacional o
internacional), que proporciona para un uso común y repetido , una
serie de reglas, directrices o características para las actividades de
calidad o sus resultados, con el fin de conseguir un grado óptimo
de orden en el contexto de la calidad. Las principales
organizaciones internacionales, emisoras de normas de calidad
son: ISO (Organización Internacional de Estándares).
Estándares de Calidad

Los estándares de calidad de software hacen parte de la ingeniería de


software, utilización de estándares y metodologías para el diseño,
programación, prueba y análisis del software desarrollado, con el
objetivo de ofrecer una mayor confiabilidad, mantenibilidad en
concordancia con los requisitos exigidos, con esto se eleva la
productividad y el control en la calidad de software, parte de la gestión
de la calidad se establecen a mejorar su eficacia y eficiencia.
Estándares de Calidad

Los estándares definen un conjunto de criterios que guían la


forma en que se aplican procedimientos y metodologías al
software desarrollado, la certificación de calidad permite una
valoración independiente de la organización, donde se demuestra
la capacidad de desarrollar productos y servicios de calidad.
(Lozano, 2013)
Normas y estándares de calidad del software

Históricamente se han desarrollado para


evaluar la calidad de los productos
software diferentes modelos que
pretenden seguir las directrices de calidad
de otros tipos de productos: descomponer
la calidad en una categoría de
características más sencillas que facilita su
estudio.
Modelo Mc Call

Uno de los modelos clásicos y mas utilizados desde su creación, es el


desarrollado por McCall (McCall, 1977), en el la calidad de un
software se descompone en 11 características o factores de calidad
agrupados en tres categorías.

Factores de Calidad de McCall.


Modelo Mc Call
Modelo Boehm

Este modelo fue propuesto por Barry Boehm en el año de 1978. Este
se basa en que el software debe hacer lo que el usuario quiere que
haga, por lo tanto se espera que el software:

· Utilice los recursos de la computadora correcta y eficientemente.


· Sea fácil de usar y de aprender para los usuarios.
· Estar bien diseñado, codificado y ser probado y mantenido
fácilmente.

La estructura presenta 3 niveles para las características: de alto


nivel, de nivel intermedio y características primitivas. Cada una de
estas características contribuye al nivel general de calidad.
Modelo Boehm
Modelo Dromey (1996)

Es un modelo de calidad a medida, propuesto por Robert Geoff


Dromey en 1995. sugiere una técnica genérica para construir un
modelo de calidad. El mismo resalta el hecho de que la calidad del
producto es altamente determinada por los componentes del mismo
(incluyendo documentos de requerimientos, guías de usuarios,
diseños, y código), las propiedades tangibles de los componentes y
las propiedades tangibles de la composición de los componentes.
Modelo Dromey

Clasifica las cualidades tangibles utilizando cuatro (4) propiedades:


-Correctitud. Pueden ser internas (asociadas con los componentes
individuales) o contextuales (asociadas con la manera en que los
componentes son utilizados en el contexto)
-Internas. Miden que tan bien un componente ha sido entregado de
acuerdo a su objetivo, implementación o que tan bien ha sido
compuesto.
-Contextuales. Cómo los componentes son compuestos y las
influencias que ejercen sobre la calidad del producto.
-Descriptivas. Para ser útil un software debe ser fácil de entender y
utilizar de acuerdo a su propósito. Estas propiedades descriptivas
aplican a requerimientos, diseños, implementación ya las interfaces
de usuario.
Modelo Dromey
Modelo FURPS
(Funcionality, Usability, Reliability, Performance, Supportability)

Hewlett-Packard lo presenta en 1987, desarrollando un conjunto de


factores de calidad de software (funcionalidad, facilidad de empleo,
fiabilidad, rendimiento y capacidad de soporte) y sus atributos.
Los factores de calidad FURPS y sus atributos, pueden usarse para
establecer métricas de la calidad para todas las actividades del
proceso de desarrollo de Sistemas de Información.
Modelo FURPS
(Funcionality, Usability, Reliability, Performance, Supportability)
ISO/IEC9126

Estándar basado en el modelo de McCall, dirigido a desarrolladores,


aseguradores de calidad, evaluadores, analistas y cualquier otro
involucrado en el proceso de construcción de software. Está dividido en
cuatro partes:
modelo de calidad, métricas externas, métricas internas y
calidad de métricas en uso; elementos en torno a seis características
(funcionalidad, fiabilidad, usabilidad, eficiencia, mantenibilidad y
portabilidad) y subcaracterísticas asociadas (Ango, 2014).
ISO/IEC9126
ISO/IEC9126
ISO 25000

SO/IEC 25000, conocida como SQuaRE (System and Software Quality


Requirements and Evaluation), es una familia de normas que tiene por
objetivo la creación de un marco de trabajo común para evaluar la calidad
del producto software.
La familia ISO/IEC 25000 es el resultado de la evolución de otras normas
anteriores, especialmente de las normas ISO/IEC 9126, que describe las
particularidades de un modelo de calidad del producto software, e ISO/IEC
14598, que abordaba el proceso de evaluación de productos software. Esta
familia de normas ISO/IEC 25000 se encuentra compuesta por cinco
divisiones.
ISO 25000
ISO 25010

La norma ISO/IEC 25010 hace parte de la familia de normas ISO 25000. Es una
norma que está centrada hacia la usabilidad, en el cual se determinan las
características de calidad que se deben tener en cuenta en el momento de
evaluar las propiedades de un producto software terminado.
Se define que la calidad del producto software se puede tomar como el grado
en que satisface los requisitos de sus usuarios, aportando de esta forma valor.
Se trata de medir la calidad del producto software. Son precisamente estos
requisitos (funcionalidad, rendimiento, seguridad, mantenibilidad, etc.) los que
se encuentran representados en el modelo de calidad, el cual categoriza la
calidad del producto en características y subcaracterísticas.

El modelo de calidad del producto definido por la ISO/IEC 25010 se encuentra


compuesto por las ocho características de calidad que se muestran en la
siguiente figura
ISO 25010
Modelos y normas enfocadas al proceso software

El modelo CMMI (Modelo integrado de madurez de la capacidad) se usa para


evaluar el nivel de madurez de una compañía en términos de desarrollo
informático.
Este modelo puede ser utilizado como guía para mejorar las actividades de un
proyecto, área u organización, ya que proporciona un marco de referencia
para evaluar la efectividad de los procesos actuales, facilitando con ello la
definición de actividades, prioridades y metas para garantizar la mejora
continua. Es el estándar más conocido para la mejora de procesos en mejora
de procesos para el desarrollo de proyectos, gestión de proveedores y gestión
de servicio.
El objetivo es alentar a las compañías para que monitoreen y mejoren
continuamente sus procesos, y evalúen el nivel de madurez de los mismos en
una escala de cinco niveles establecida por el CMMI.
Modelos y normas enfocadas al proceso software

El CMMI establece cinco niveles de madurez los cuales son:

Nivel 0 Incompleto: El proceso no se realiza, o no se consiguen los objetivos.

Nivel 1 Inicial o ejecutando: Este es el nivel en donde todas las empresas que
no tienen procesos, es donde el proceso se ejecuta y se logra su objetivo, así
sea fuera de presupuesto y de cronograma.

Nivel 2 Repetible: Se da cuando el éxito de los resultados obtenidos se puede


repetir.
Modelos y normas enfocadas al proceso software

Nivel 3 Definido: Significa que la forma de desarrollar proyectos está definida,


establecida, documentada y que existen métricas.

Nivel 4 Administrado: Los proyectos usan objetivos medibles y cuantificables


para alcanzar cubrir las necesidades de los clientes y la organización. Es
decir, se usan métricas para gestionar la organización.

Nivel 5 Optimizado: Los procesos de los proyectos y de la organización están


orientados a la mejora de las actividades, que mediante métricas son
identificadas, evaluadas y puestas en práctica.
Es el Modelo de Procesos para la Industria del Software. Un modelo para la
mejora y evaluación de los procesos de desarrollo y mantenimiento de
sistemas y productos de software. Desarrollado por la Asociación Mexicana
para la Calidad en Ingeniería de Software a través de la Facultad de Ciencias
de la Universidad Nacional Autónoma de México (UNAM) y a solicitud de la
Secretaría de Economía para obtener una norma mexicana que resulte
apropiada a las características de tamaño de la gran mayoría de empresas
mexicanas de desarrollo y mantenimiento de software, la cual sirve para
estandarizar operaciones y prácticas en gestión de ingeniería de software,
para así elevar la capacidad de las organizaciones de ofrecer servicios con
calidad y alcanzar niveles internacionales de competitividad. Está enfocado a
las Pymes de la Industria de Software en México.
Team Software Process es un método de establecimiento y mejora del
trabajo en equipo para procesos de software. Es un proceso para
equipos de software, a través del cual se contribuye equipos de alto
rendimiento, capaces de comprometerse con el plan y administración
del desarrollo de software, así como de producir productos de calidad y
a bajo costo, logrando el mejor desempeño posible.
El proceso personal del software (PSP) apoya a las empresas que están
llevando a cabo o tienen planeado implementar un plan de mejora de procesos
basados en un modelo como CMM, ayudando a crear personal capacitado y
disciplinado en su trabajo.

El proceso personal del software es un método de autoconocimiento, que


permite estimar cuánto se tarda un individuo en realizar una aplicación de
software, para así calcular el presupuesto y asegurar la operatividad de los
desarrollos. PSP se concentra en las prácticas de trabajo de los ingenieros en
una forma individual.

El PSP se caracteriza porque es de uso personal y se aplica a programas


pequeños de menos de 10.000 líneas de código. El PSP sirve para producir
software de calidad, donde cada ingeniero debe trabajar en la necesidad de
realizar trabajo de calidad.
Modelo para la mejora y valuaciòn de los procesos de desarrollo y mantenimiento
de sistemas y productos de softeare. esta norma que trata de los procesos de
ingenierìa, gestiòn,relaciòn cliente-proveedor, de la organizaciòn y del soporte.

Las siglas SPICE significa: Software Process Improvement Capability


Determination, que en español es: "Determinación de la Capacidad de Mejora del
Proceso de Software".

La ISO 15504, también conocida como SPICE, es un estándar internacional de


evaluación de los procesos de software. Comprende principalmente la evaluación
y mejora de procesos así como la determinación de capacidad. Es un estandar
equivalente y compatible al CMMI.
El proyecto SPICE tenia tres objetivos principales:

-Desarrollar un borrador de trabajo para un estàndar de evaluaciòn de procesos de


software
-llevar a cabo los ensayos de la industria de la norma emergente.
promover la transferencia de tecnología de la evaluación de procesos de software
a la industria del software a nivel mundial.

También podría gustarte