Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La calidad ha dejado de ser un tópico, y forma parte, es necesario que forme parte de los productos
o servicios que comercializamos para nuestros clientes Esta incorporada en nuestra forma de ver la
vida. Cada vez exigimos mas que los productos o servicios que nos suministran nuestros
proveedores tengan el mayor grado de calidad dentro de un precio razonable. El aforismo de “El
precio se olvida y la calidad perdura" se hace cada vez más patente.
El cliente es el mejor auditor de la Calidad, él exige el nivel que está dispuesto a pagar por ella
pero no mas. Por tanto, debemos de cuantificar cuál es el nivel de Calidad que nos exige para
poder planificar la Calidad de los productos semielaborados que se generen a lo largo del proceso
de producción del producto o servicio final.
Es por ello que los Sistemas de Software son cada vez más importantes en la sociedad actual y
crecen rápidamente en tamaño y complejidad .los software de Calidad, estan basados en
estándares con funcionalidad y rendimiento ajustado a las necesidades y exigencias del cliente,
son aspectos fundamentales para asegurar el éxito del producto software.
La calidad, por su parte, es una propiedad y cualidad inherente de las cosas, que
permite la comparación entre éstas y otras de su misma especie. Se trata de una
apreciación subjetiva que, respecto a un usuario, implica satisfacer las necesidades y
deseos (si lo logra, es de buena calidad).
Un modelo de calidad es, por lo tanto, un conjunto de prácticas vinculadas a los
procesos de gestión y el desarrollo de proyectos. Este modelo supone una
planificación para alcanzar un impacto estratégico, cumpliendo con los objetivos
fijados en lo referente a la calidad del producto o servicio.
Al implementar un modelo de calidad, una empresa busca desarrollar
sistemáticamente productos y servicios que cumplan con los requerimientos y las
exigencias de los clientes.
Calidad de software:
La definición de la calidad del software según la IEEE, Std. 610-1990, es “el grado
con el que un sistema, componente o proceso cumple los requerimientos especificados
y las necesidades o expectativas del cliente o usuario”
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.
Calidad en el software:
Los beneficios que se pueden obtener como resultado de aplicar los procesos de aseguramiento de
calidad son muchos y variados, algunos que se pueden citar con brevedad son:
2. Se crean y se siguen estándares de trabajo, Con apoyo del proceso de aseguramiento de calidad,
se pueden establecer estándares tan diversos como son los de codificación o de documentación,
los cuales apoyan a uniformizar y consolidar el proceso de desarrollo.
3. Se verifica que los objetivos individuales vayan acordes con los objetivos de la organización, Se
busca y se recomienda que los requerimientos expuestos por usuarios finales estén alineados con
los objetivos globales de la empresa, facilitando así el logro de los mismos y la integración total de
los usuarios a la organización.
5. Se evita incurrir en costos innecesarios, Como un efecto generalizado de algunos de los puntos
mencionados con anterioridad, la práctica de procesos de aseguramiento de calidad lleva a las
organizaciones a evitar costos no deseados como pueden ser todos aquellos ocasionados por
mantenimiento correctivo.
6. Se planea la calidad, Está claro que el concepto de calidad no es algo que se da de una manera
automática e impredeciblemente. Es algo que se busca. Por lo mismo, se debe de planear, construir
e implantar en el producto .
Problemas y costos de la calidad en el software:
Uno de los principales problemas con los que se encuentra la actividad de aseguramiento de la
calidad en el software es la falta de apoyo por parte de la alta dirección de las organizaciones. Este
apoyo es esencial para que la función de aseguramiento de calidad tenga éxito. Los costos
económicos de la función de aseguramiento de la calidad en el software se han estimado que varía
entre un 2.5 y 5 por ciento del costo total de un proyecto de desarrollo de un producto de software.
El costo se localiza en las actividades (como son revisiones periódicas y constantes de las
aplicaciones) que tienen que realizar algunos desarrolladores de software, mismas que se deben de
integrar a sus actividades ordinarias .
Control de la Calidad
Son las Técnicas y actividades de carácter operativo, utilizadas para satisfacer los requisitos
relativos a la calidad, centradas en dos objetivos fundamentales:
2. Eliminar las causas de los defectos en las diferentes fases del ciclo de vida, que puedan
presentarse en los desarrollos de los productos de software.
Es de suma importancia entender las diferencias que existen entre el control de la calidad y el
aseguramiento de la calidad. El aseguramiento de la calidad aprovecha los resultados del control
de calidad para evaluar y mejorar los procesos con los que se desarrolla el producto. Esto dicho, el
control de calidad se enfoca en productos, mientras que el aseguramiento de la calidad lo hace en
los procesos .
Gestión de la calidad
Se debe conocer:
Control de calidad: "Conjunto de técnicas y actividades de carácter operativo, utilizadas para
verificar los requerimientos relativos a la calidad del producto o servicio".
Control de la calidad del software: Técnicas y actividades de carácter operativo, utilizadas para
verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de
desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
El control de la calidad del software está centrado en dos objetivos fundamentales:
Mantener bajo control un proceso.
Eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
En general, se puede decir que el control de de la calidad del software son las actividades para
evaluar la calidad de los productos desarrollados.
Sistema de calidad:
Básicamente, tiene que ver con la aplicación de técnicas y medidas para el mejoramiento de los
procesos internos de una compañía, sin importar cuál sea el área en la que se desempeñe.
Pero también surge la incógnita de para qué sirven estos sistemas o con qué objetivo se
implementan dentro de una organización. La respuesta es muy sencilla: el control de calidad se
centra en planear, controlar y vigilar los elementos que hacen posible la prestación de un buen
servicio para que, de esa forma, se consiga satisfacer a los clientes.
El control de calidad también puede definirse como las normas y estándares internacionales que se
ejecutan para mejorar los procedimientos de una empresa.
Certificación de la calidad:
las certificaciones de calidad están relacionadas con el establecimiento previo de una norma o
referencial entre todas las partes que tienen interés sobre un producto como pueden ser
proveedores, compradores y usuarios, o gobiernos, entre otros. De esta manera, una vez
alcanzado un consenso sobre las características básicas y mínimas que tiene que tener un producto
o servicio, se llega a la certificación.
Así, la certificación de calidad será el resultado de un proceso en el que una serie de auditores
calificados de una entidad de certificación acreditada para ello garantice que un producto o un
sistema de gestión se ajustan a las características de la norma que se ha tomado como referencia.
Medidas Indirectas: Cuando hablamos de sistemas informáticos no siempre es posible realizar una
medida directa, porque no disponemos del instrumento adecuado que nos permita realizar esa
medición.
Modelos de calidad:
Los modelos de calidad son referencias que las organizaciones utilizan para mejorar su gestión.
Los modelos, a diferencia de las normas, no contienen requisitos que deben cumplir los sistemas
de gestión de la calidad sino directrices para la mejora. Existen modelos de calidad orientados a la
calidad total y la excelencia, modelos orientados a la mejora, modelos propios de determinados
sectores e incluso modelos de calidad que desarrollan las propias organizaciones.
√De carácter voluntario. Los modelos de Excelencia no son de cumplimiento obligatorio. Cada
empresa, de manera voluntaria, decide asumir ese modelo de gestión basado en la Excelencia y se
compromete a llevarlo a respetarlo.
√Constituyen un marco de referencia para mejorar los procesos y alcanzar la calidad total. Los
diversos modelos señalan los requisitos necesarios y establecen una serie de recomendaciones que
orientan la puesta en práctica del método, pero no son prescriptivos, no se debe acatar como si
fuera una ley. Las empresas deberán adaptarlo según sus necesidades.
√Se pueden adaptar para cualquier tipo de empresa. Los métodos de Excelencia están diseñados
para que puedan llevarse a cabo en cualquier tipo de empresa, con independencia de su tamaño o
sector. Las empresas sólo tendrán que adaptar el modelo seleccionado conforme a sus
particularidades.
√Sirven como método de autoevaluación. Los modelos de Excelencia, además de constituir las
bases para optar a los premios que dan nombre y servir de referente para implantar un sistema de
gestión empresarial basado en la Excelencia, también permiten llevar a cabo una autoevaluación
para analizar si se cumplen con las exigencias necesarias y averiguar qué procesos se deben
mejorar para cumplir los objetivos de Calidad Total propuestos.
√No prevén auditorías externas propiamente dichas. Estos modelos no plantean auditorías externas
que lleven un riguroso control del cumplimiento de las condiciones necesarias, sin embargo, sí que
se plantean evaluaciones con este fin.
El modelo de Gilb aparece alrededor de los años 1986 - 1988. Este modelo utiliza el termino de
‘atributos’ los cuales hacen referencia a la medida de calidad que determinado sistema (producto)
a evaluar posee. El modelo muestra especial interés en aquellos atributos de calidad que son de
interés para el usuario con miras a satisfacer los requerimientos o necesidades de éste. Los
atributos que GILB definió para establecer la calidad de un sistema son los siguientes:
Capacidad de trabajo: Este atributo busca medir la capacidad del sistema para ejecutar tareas.
Tiene como sub atributos la capacidad de almacenamiento, capacidad de proceso y capacidad de
respuesta.
Disponibilidad: Este atributo mide la capacidad del sistema para realizar un trabajo de forma útil.
Adaptabilidad: Hace referencia a la medida de la capacidad que tiene el sistema para sufrir
modificaciones.
Utilizabilidad: Mide la facilidad con la cual las personas serán capaces y estarán motivadas para
hacer uso del sistema.
El modelo proporciona ciertas características que proveen indicadores útiles para describir la
calidad de la aplicación del sistema y usa métricas detalladas para dicho fin.
GQM:
Goal Question Metric busca formas por medio de las cuales se puedan definir las métricas para
medir los avances que ocurren aplicando preguntas que tengan que ver con el tema del proyecto.
Nivel Conceptual:
aquí se define un objetivo para un objeto, se tienen en cuenta varios puntos de vista con relación
a un entorno particular.
Nivel Cuantitativo: Un grupo de métricas se asocian con cada una de las preguntas para
responderlas utilizando medidas.
En el modelo GQM encontramos objetivos comerciales que se utilizan en la identificación de las
mediciones correctas. También se realizan otros pasos para almacenar los datos de medición;
luego esta información servirá para tomar decisiones y realizar mejoras.
MCCall:
El modelo de McCall fue el primero en ser presentado en el 1977 y se origino motivado por Air
Forcé y Dod. Este modelo se focaliza en el producto final identificando atributo claves desde el
punto de vista del Cliente. Esto atributos se denominan factores de calidad y son normalmente
atributos externos pero también se incluyen algunos atributos internos.
Cada atributo externo atributo se dominan factores de calidad los cuales son abstractos para ser
medidos directamente por lo cual se introduce un atributo de bajo nivel denominado criterios de
calidad.
Según McCall algunos criterios de calidad son atributos internos que tienen efectos directos en
atributos externos.
El modelo de McCall organiza los factores en tres ejes o puntos de vista desde los cuales el
usuario puede contemplar la calidad de un producto, basándose en once factores de calidad
organizados en torno a los tres ejes y a su vez cada factor se desglosa en otros criterios:
Criterios:
√Facilidad de operación: Atributos del software que determinan la facilidad de operación del
software.
- Facilidad de comunicación: Atributos del software que proporcionan entradas y salidas
fácilmente asimilables.
- Facilidad de aprendizaje: Atributos del software que facilitan la familiarización inicial del
usuario con el software y la transición del modo actual de operación.
- Formación: El grado en que el software ayuda para permitir que nuevos usuarios apliquen el
sistema.
√Control de accesos. Atributos del software que proporcionan control de acceso al software y los
datos que maneja.
- Facilidad de auditoría: Atributos del software que facilitan la auditoría de los accesos al software.
- Seguridad: La disponibilidad de mecanismos que controlen o protejan los programas o los datos.
√Completitud: Atributos del software que proporcionan la implementación completa de todas las
funciones requeridas.
- Consistencia: Atributos del software que proporcionan uniformidad en las técnicas y notaciones
de diseño e implementación.
- Trazabilidad o rastreabilidad: Atributos del software que proporcionan una traza desde los
requisitos a la implementación con respecto a un entorno operativo concreto.
-√Precisión: Atributos del software que proporcionan el grado de precisión requerido en los
cálculos y los resultados.
-Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo
condiciones no usuales.
-Modularidad: Atributos del software que proporcionan una estructura de módulos altamente
independientes.
-Simplicidad: Atributos del software que posibilitan la implementación de funciones de la forma
más comprensible posible.
- Exactitud: La precisión de los cálculos y del control.
Criterios:
√Concisión: Atributos del software que posibilitan la implementación de una función con la menor
cantidad de códigos posible.
-Auto descripción: Atributos del software que proporcionan explicaciones sobre la
implementación de las funciones.
√Instrumentación: Atributos del software que posibilitan la observación del comportamiento del
software durante su ejecución para facilitar las mediciones del uso o la identificación de errores.
√Capacidad de expansión: Atributos del software que posibilitan la expansión del software en
cuanto a capacidades funcionales y datos.
-Generalidad: Atributos del software que proporcionan amplitud a las funciones implementadas.
√Independencia entre sistema y software: Atributos del software que determinan su dependencia
del entorno operativo.
- Independencia del hardware: Atributos del software que determinan su dependencia del
hardware.
Este modelo dispone de una serie de test para las diferentes etapas del producto, los usuarios
prueban el producto antes de comercializarlo y obtener un “leed-back”. Asimismo, existe un plan
de soporte definido que incluye una base de datos con todos los errores registrados para poder
subsanar los errores.
El modelo FURPS incluye, además de los factores de calidad y los atributos, restricciones de
diseño y requerimientos de implementación, físicos y de interfaz. Una limitación de este modelo
de calidad es que no tiene en cuenta la portabilidad de los productos software que se estén
considerando, factor digno de consideración en función de las exigencias actuales que recaen
sobre el proceso de desarrollo del software. La funcionalidad puede incluir: Características de
sistemas. Capacidades. Seguridad.
Los requerimientos de usabilidad pueden incluir subcategorías tales como: Factores humanos.
Estética. Consistencia. Documentación.
La confiabilidad incluye: Recuperabilidad. Precisión. Predicción.
Prestación: Velocidad. Eficiencia. Consumo. Productividad. Tiempo de respuesta.
Soporte: Adaptabilidad. Extensibilidad.
Mantenibilidad. Compatibilidad. Configurabilidad.
CMML:
El modelo CMMI DEV, cuyo objetivo esbservir de guía para mejorar el proceso de desarrollo de
software, puede aplicarsede dos formas distintas: una utilizándolo para mejorar algunas
actividades, cuyo conjunto corresponde a una de las llamadas áreas de proceso, hasta alcanzar un
nivel esperado y otra mejorando un grupo establecido de actividades, organizadas en áreas de
proceso. Los distintos caminos se denominan representaciones. El primero es la “representación
continua” y el segundo, la “representación por etapas”.
En la representación por etapas, la preferida hasta ahora por las organizaciones, el primer nivel
que se evalúa es el 2 y se llega hasta el 5. En el nivel 2 hay siete áreas de proceso:
El origen del PSP se dio debido a ciertos problemas que se empezaron a presentar en forma
recurrente respecto al proceso de desarrollo de software. Por ejemplo:
El pensamiento de Humphrey es que la calidad del software está dada por la calidad de los
procesos usados para desarrollar y mantener el software. Dentro de las principales ventajas están:
Registros
Procedimientos
Formularios y plantillas
Estándares.
TSP:
El team process software inicio como una herramienta capaz de ayudarle a los equipos de gerentes
de proyectos, así como a los ingenieros a organizar y producir proyectos de software a gran escala;
se dio a conocer en 1996 y fue desarrollado por el ingeniero y físico Watts S. Humprey, el cual
publico el primer reporte técnico en el 2000. Humprey buscaba dotar a sus estudiantes de
ingeniería de software, una visión total del ciclo de vida del software.
Esta novedosa herramienta es considerada como una metodología para administrar el trabajo de
mejora y desarrollo de los procesos de software, además de garantizar un entorno de trabajo
agradable y natural para los equipos. El TSP brinda un conjunto de pasos bien estructurados que
indican qué hacer en cada fase del desarrollo del proyecto y muestra cómo conectar cada fase para
construir un producto completo, además brinda una ayuda acerca de como conformar equipos para
el desarrollo de software de calidad (Humphrey, 2000a; 2000b).
Objetivos de Team Process Software:
Maximizar la calidad del software en detrimento de los costos
Formar equipos que sean capaces de planear y registrar su trabajo, establecer metas bien definidas
y sean aptos para realimentar su propio trabajo mediante la medición del mismo.
Brindar un punto de vista a los gerentes y lideres de proyecto acerca de como monitorear y como
motivar a sus equipos de trabajo para sacar el máximo potencial del mismo.
Establecer una guía para el mejoramiento en organizaciones maduras; asi como acelerar la mejora
continua de procesos.
BOEHM:
Este se basa en que el software debe hacer lo que el usuario quiere que haga, por lo tanto se espera
que el software:
Características Primitivas
Este es el nivel más bajo y corresponde a características directamente asociadas a una o dos
métricas de calidad:
√Portabilidad
√ Independencia de dispositivos
√ Auto-contención de confiabilidad.
√Auto-contención
√Exactitud
√ Completitud
√ Consistencia
√ Robustez/Integridad
Para el proceso:
CMDI dev:
es un modelo de referencia que cubre las
PSP:
Proceso
La entrada de PSP son los requerimientos; el documento de requerimientos es completado y
entregado al ingeniero.
TSP:
El TSP comienza con un proceso de cuatro días llamado despegue. El despegue está diseñado para
comenzar el proceso de construcción de los equipos y durante éste tiempo, los equipos y sus
administradores establecen metas, definen roles, evalúan riesgos y producen un plan de equipo. El
despegue generalmente se hace con un coach específicamente entrenado, o con un líder que ya ha
gerenciado varios proyectos que han usado TSP para su desarrollo.
Estándares de calidad:
Qué es un estándar?
De acuerdo con la definición de la Real Academia Española, “estándar es aquello que sirve como
tipo, modelo, norma, patrón o referencia”.
Un producto software está definido en un sentido amplio como: los ejecutables, código fuente,
descripciones de arquitectura, y así. Como resultado, la noción de usuario se amplía tanto a
operadores como a programadores, los cuales son usuarios de componentes como son bibliotecas
software.
El modelo incluye métricas internas y externas. Métricas internas son aquellas que no dependen de
la ejecución del software (medidas estáticas), mientras que las métricas externas son aquellas
aplicables al software en ejecución. La calidad en las métricas de uso están sólo disponibles
cuando el producto final es usado en condiciones reales. Idealmente, la calidad interna no
necesariamente implica calidad externa y esta a su vez la calidad en el uso.
ISO 14598:
La norma ISO/IEC 14598 establece un marco de trabajo para evaluar la calidad de los productos
de software en 6 etapas. Proporciona métricas y requisitos para los procesos de evaluación.
ISO/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.
Ventajas :
√Para la organización:
Alinea los objetivos del software con las necesidades reales que se le demandan.
Evitando ineficiencias y maximizando la rentabilidad y calidad del producto de software. Por otro
lado, certificar el software aumenta la satisfacción del cliente y mejora la imagen de la empresa.
Cumplir los requisitos contractuales y demostrar a los clientes que la calidad del software es
primordial.
El proceso de evaluaciones periódicas ayuda a supervisar continuamente el rendimiento y la
mejora.
Para el proceso:
ISO/IEC 12207:
ISO/IEC 12207 Information Technology / Software Life Cycle Processes, es el estándar para los
procesos de ciclo de vida del software de la organización ISO.
Procesos
Los procesos se clasifican en tres tipos: procesos principales, procesos de soporte y procesos de la
organización. Los procesos de soporte y de organización deben existir independientemente de la
organización y del proyecto ejecutado. Los procesos principales se instancian de acuerdo con la
situación particular.
Procesos principales.
Adquisición.
Suministro.
Desarrollo.
Operación.
Mantenimiento.
Destrucción
Procesos de soporte.
Gestión de la configuración.
Aseguramiento de calidad.
Verificación.
Validación.
Revisión conjunta.
Auditoría.
Resolución de problemas.
Procesos de la organización.
Gestión.
Infraestructura.
Mejora.
Recursos Humanos.
ISO/IEC 15504:
La norma ISO/IEC 15504 ha sido denominada como Determinación de la Capacidad de Mejora
del Proceso de Software o SPICE nos propone un modelo para la evaluación de la capacidad en
los procesos de desarrollo de productos software.
a norma ISO/IEC 15504 se trata de una herramienta con los siguientes objetivos:Es necesario
proponer y desarrollar un estándar de evaluación de procesos de softwareEvaluar el desempeño
mediante la experimentación en la industria emergente del desarrollo de softwarePromover la
transferencia de tecnología de la evaluación de procesos de software a la industria del software a
nivel mundial
Conclusión:
Aunque se es consciente de que el abordar una auditoría sólo con este bagaje no es suficiente. Un
buen auditor en Tecnologías de la Información necesita tener una amplia experiencia en las
distintas funciones de dicha actividad, estar muy al día en las distintas metodologías, procesos y
herramientas que se emplean, de forma que le sea fácil detectar los defectos en los planes, en los
productos y en los procesos, así como estar capacitado para poder proponer recomendaciones.
Se reconoce que no es una tarea fácil, pero precisamente por ello es altamente gratificante el
alcanzar un éxito que satisfaga los intereses, en muchas ocasiones contrapuestos, de las partes
involucradas, consiguiendo de la entidad auditada el reconocimiento de la profesionalidad del
auditor al conseguir detectar los problemas existentes y proponer soluciones, y de la parte que
promovió la auditoría el conseguir que se pueda conocer en dónde residían los problemas que no
permitían alcanzar los objetivos deseables.
Pero debemos recordar que esta actividad no es un arte, sino una técnica, y como tal debe seguirse
un orden y un método en el que nada se da por supuesto si no existe una evidencia objetiva que lo
acredita.
En términos generales se puede concluir que la calidad del software puede parecer un concepto
alejado de la vida diaria de la mayoría de las personas, pero nada más lejos de la realidad. Cuando
en nuestro ordenador aparece un mensaje de error o una pantalla azul, estamos ante un problema
de calidad del software; cuando un fallo en el sistema de gestión aeroportuaria provoca retrasos,
pérdidas de maletas o inutiliza pantallas de información, estamos ante un problema de calidad del
software;Los fallos de software afectan a todos los sectores y a todos los países, pero si bien es
cierto que Los auténticos profesionales y las empresas bien organizadas son prudentes y saben que
deben aplicar distintas técnicas de control y prevención, además de un buen proceso de desarrollo.