Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
¿Qué es la calidad?
El significado de esta palabra puede adquirir múltiples interpretaciones, ya que todo dependerá
del nivel de satisfacción o conformidad del cliente. Sin embargo, la calidad es el resultado de un
esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del consumidor.
Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado por los clientes,
podremos decir si éste es bueno o malo.
Mantenibilidad: el software debe ser diseñado de tal manera, que permita ajustarlo a los cambios
en los requerimientos del cliente. Esta característica es crucial, debido al inevitable cambio del
contexto en el que se desempeña un software.
Eficiencia: tiene que ver con el uso eficiente de los recursos que necesita un sistema para su
funcionamiento.
Usabilidad: el software debiera ser utilizado sin un gran esfuerzo por los usuarios para los que fue
diseñado, documentado, etc.
Debe entenderse que el usuario es quien define la calidad; debiendo la empresa complacer a
los clientes, y no contentarse sólo con librarlos de sus problemas inmediatos, sino ir más
allá para entender a fondo sus necesidades presentes y futuras, a fin de sorprenderlos con
productos y servicios que ni siquiera imaginaban. Este conocimiento ya no debe ser sólo
del dominio exclusivo de grupos especiales de una organización; sino que debe ser
compartido y desarrollado por todos los empleados.
Una empresa que define la calidad sin tomar en cuenta a los consumidores corre con el
riesgo de producir bienes y servicios con escasa o nula demanda, ya sea porque los clientes
tienen otras expectativas y necesidades, o bien porque los competidores están generando
bienes con un mayor valor agregado.
Por tales motivos es esencial para las empresas practicar tanto la investigación de mercado,
como la inteligencia competitiva y el benchmarking.
Conocidos los deseos y necesidades de los consumidores, estos deben ser traducidas en
términos cuantitativos y tangibles. Este proceso de traducción no es sencillo y requiere de
la integración de conocimientos de mercadotecnia con ingeniería y administración, para que
las necesidades del consumidor y las expectativas que desarrolló durante el proceso de
selección del producto, puedan ser satisfechas completamente. Entre la técnica más
importante para tales fines tenemos el Despliegue de la Función de Calidad (QFD), el cual
sirve para realizar todo este proceso de traducción, ayudando a que la voz del cliente se
despliegue a través de toda la organización.
La función de despliegue de la calidad tiene como objetivo asegurar que se cumplan las
expectativas del cliente desde el diseño del producto, durante su proceso de manufactura, y
hasta que es utilizado por el consumidor. En japonés se le llama ten kai lo cuál significa
“despliegue”, refiriéndose a la idea de llevar las necesidades y expectativas del cliente
expresados en su lenguaje (voz del cliente) a todos los involucrados en la organización, e ir
en cada etapa “traduciéndolas” al lenguaje apropiado.
La calidad del software la define o avala una Gestión de la calidad del software por
ejemplo: ISO 9000, esto como política de calidad, se entiende como un conjunto de
actividades de la función general de la dirección que determina la calidad, los objetivos, el
control de la calidad.
Algunos de varios estándares para software provienen de ISO 9000 quien rige la calidad
mundial.
Interacción
Documentación
capacidad de la empresa
Es fundamental para que nuestros productos tengan éxito y aceptación reducir costos y
mejorar satisfacción del cliente así como aumentar competitividad de la empresa.
Hoy en día las compañías de todo el mundo industrializado reconocen que la calidad del
producto se traduce en ahorro de costos y en una mejora general. La industria de
desarrollo de software no es la excepción, por lo que en los últimos años se han realizado
intensos trabajos para aplicar los conceptos de calidad en el ámbito del software. Hablar
de calidad del software implica la necesidad de contar con parámetros que permitan
establecer los niveles mínimos que un producto de este tipo debe alcanzar para que se
considere de calidad.
En este sentido se han realizado muchos trabajos que establecen propuestas para el
establecimiento de los factores cualitativos que afectan la calidad del software. Entre los
principales están los factores de calidad de McCall y aquellos propuestos por Hewlett-
Packard (FURPS: Funcionality,Usability, Reliability; Performance, Supportability) .
Además se han hecho varios intentos por estandarizar los mecanismos de evaluación de
calidad del software. Entre los principales están la familia de normas ISO 9000 (en especial
la ISO 9001 y la ISO 9003–2)[5], el modelo de niveles madurez CMM (Capability Maturity
Model)[7], el estándar para el aseguramiento de planes de calidad del IEEE 730:1984 [7],
el plan general de garantía de calidad del Consejo Superior de Informática.
La calidad de vida es un concepto que va más allá de lo físico pues implica valores y
actitudes mentales. La calidad de vida es un estado positivo desde todos los puntos de vista.
Es estar en la plenitud, es poder funcionar ciento por ciento.
Toma de decisiones de gestión basada en datos y hechos objetivos sobre gestión basada
en la intuición. Dominio del manejo de la información.
La filosofía de la Calidad Total proporciona una concepción global que fomenta la Mejora
Continua en la organización y la involucración de todos sus miembros, centrándose en la
satisfacción tanto del cliente interno como del externo. Podemos definir esta filosofía del
siguiente modo: Gestión (el cuerpo directivo está totalmente comprometido) de la Calidad
(los requerimientos del cliente son comprendidos y asumidos exactamente) Total (todo
miembro de la organización está involucrado, incluso el cliente y el proveedor, cuando
esto sea posible).
El Aseguramiento de la Calidad nace como una evolución natural del Control de Calidad,
que resultaba limitado y poco eficaz para prevenir la aparición de defectos. Para ello, se
hizo necesario crear sistemas de calidad que incorporasen la prevención como forma de
vida y que, en todo caso, sirvieran para anticipar los errores antes de que estos se
produjeran. Un Sistema de Calidad se centra en garantizar que lo que ofrece una
organización cumple con las especificaciones establecidas previamente por la empresa y
el cliente, asegurando una calidad continua a lo largo del tiempo. Las definiciones, según
la Norma ISO, son:
Aseguramiento de la Calidad:
Sistema de Calidad:
Con el fin de estandarizar los Sistemas de Calidad de distintas empresas y sectores, y con
algunos antecedentes en los sectores nuclear, militar y de automoción, en 1987 se
publican las Normas ISO 9000, un conjunto de normas editadas y revisadas
periódicamente por la Organización Internacional de Normalización (ISO) sobre el
Aseguramiento de la Calidad de los procesos. De este modo, se consolida a nivel
internacional el marco normativo de la gestión y control de la calidad.
Estas normas aportan las reglas básicas para desarrollar un Sistema de Calidad siendo
totalmente independientes del fin de la empresa o del producto o servicio que
proporcione. Son aceptadas en todo el mundo como un lenguaje común que garantiza la
calidad (continua) de todo aquello que una organización ofrece.
En los últimos años se está poniendo en evidencia que no basta con mejoras que se
reduzcan, a través del concepto de Aseguramiento de la Calidad, al control de los procesos
básicamente, sino que la concepción de la Calidad sigue evolucionando, hasta llegar hoy
en día a la llamada Gestión de la Calidad Total. Dentro de este marco, la Norma ISO 9000
es la base en la que se asientan los nuevos Sistemas de Gestión de la Calidad.
UNIDAD II ASEGURAMIENTO DE LA CALIDAD DEL
SOFTWARE
2.1 RELACION DE LA INGENIERIA DEL SOFTWARE CON SQA
2.2 DEFINICION Y PROPOSITO DEL SQA
2.3 PROBLEMAS QUE RESUELVE EL SQA
2.4 CALIDAD DE SOFTWARE EN EL CICLO DE VIDA DEL MISMO
2.5 ROLES Y RESPONSABILIDADES DE LOS EQUIPOS DE DESARROLLO
2.6 HABILIDADES Y CAPACIDADES DEL PERSONAL SQA
2.7 ACTIVIDADES DEL SQA
2.8 HERRAMIENTAS Y METODOS
La función de aseguramiento de la calidad tiene como finalidad primaria el determinar si
las necesidades de los usuarios están siendo satisfechas adecuadamente. Otra de sus
funciones, aunque no se tocará mucho en la presente investigación, es la de determinar
los costos que puede causar el añadir ciertas características al producto, ya que tarde o
temprano, la economía resulta ser un factor decisivo para obtener un producto de calidad.
Para determinar si las necesidades de los usuarios están siendo satisfechas, se deben de
evaluar tres áreas:
Objetivos: Los objetivos de la organización son primero, luego vienen los requerimientos
del usuario. Los objetivos de cualquier usuario deben de estar en armonía con los
objetivos de la organización,
Para evaluar las áreas expuestas con anterioridad, es necesario que se cuente con un
programa de aseguramiento de calidad que sea efectivo y que tenga un impacto dentro
del desarrollo y prueba del producto de software final.
Ingenieros de software
Jefes de proyecto
Clientes
Vendedores
Quienes trabajan dentro de un grupo de la SQA
Estos últimos pueden ser independientes y tendrán las siguientes actividades para llegar al
objetivo de la SQA:
Definición:
SQA es un set de actividades sistemáticas que aseguran que el proceso del software y
productos conformados por requerimientos, estándares, y procedimientos. Los procesos
incluyen todas las actividades involucradas en el diseño, codificación, pruebas y
mantenimiento; Los productos incluyen software, datos asociados, documentación, y toda
la documentación para soporte y reportes.
El Rol:
Propósito:
Proporcionar visibilidad sobre los procesos utilizados por el proyecto de software y sobre
los productos que genera.
Objetivos:
2.-Revisar y auditar objetivamente los productos y las actividades para verificar que están
conformes con los procedimientos y estándares aplicables.
Define un plan de monitoreo del proceso de desarrollo del software (ciclo de vida)
El término ciclo de vida del software describe el desarrollo de software, desde la fase
inicial hasta la fase final. El propósito de este programa es definir las distintas fases
intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para
garantizar que el software cumpla los requisitos para la aplicación y verificación de los
procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los errores que
se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los
errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores
concentrarse en la calidad del software, en los plazos de implementación y en los costos
asociados.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
• Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del
cliente y examinar cualquier restricción que se pueda aplicar.
• Integración: para garantizar que los diferentes módulos se integren con la aplicación.
Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
• Prueba beta (o validación), para garantizar que el software cumple con las
especificaciones originales.
• Documentación: sirve para documentar información necesaria para los usuarios del
software y para desarrollos futuros.
• Implementación
Para facilitar una metodología común entre el cliente y la compañía de software, los
modelos de ciclo de vida se han actualizado para reflejar las etapas de desarrollo
involucradas y la documentación requerida, de manera que cada etapa se valide antes de
continuar con la siguiente etapa. Al final de cada etapa se arreglan las revisiones de
manera que (texto faltante).
Modelo en cascada
Modelo V
El modelo de ciclo de vida V proviene del principio que establece que los procedimientos
utilizados para probar si la aplicación cumple las especificaciones ya deben haberse
creado en la fase de diseño.
Debe conocer los conceptos y técnicas de Gestión de Calidad del Software. Debe
identificar las propiedades de calidad que deben cumplir los productos del proyecto.
Centralizar y revisar las entregas que se realizan durante el ciclo de vida del proyecto.
Realiza las Revisiones Técnicas Formales con los responsables de los productos a revisar.
•Asegurarse de que se desarrollen prototipos para probar y eliminar riesgos técnicos que
hagan fracasar el proyecto así como también disminuir la calidad del mismo
•Debe conocer los estándares o lineamientos del proyecto para asegurar la calidad.
•Planificar la Calidad
•Plan de Calidad
•Informe de RTF
•Planificar el Proyecto
•Describir la Versión
•Planificar la Transición
•Gestión de Riesgos
•Registrar Esfuerzo
•Auto estudio
•Reunión de Equipo
•Reunión Conmemorativa
Actividades
Para poder lograr una buena adherencia con los estándares se debe medir
cuantitativamente, donde sea posible, los aspectos de calidad (por ejemplo complejidad,
confiabilidad, mantenimiento, seguridad, defectos, número de problemas) utilizando
métricas bien establecidas. Para cumplir con esto, se deben realizar chequeos de:
- Administración.
- Documentación.
- Estándares, prácticas, convenciones y métricas.
- Revisiones e intervenciones.
- Actividades de testeo.
- Control de medios.
- Entrenamiento.