El documento presenta una introducción al concepto de calidad en el desarrollo de software. Explica que la calidad se refiere al grado en que un software cumple sus requisitos y las expectativas del cliente. También define normas, estándares, procesos y metodologías relacionadas con la calidad. Finalmente, describe métricas y factores que miden la calidad, como la corrección, facilidad de mantenimiento e integridad.
7. SITUACIÓN ACTUAL DE LA INDUSTRIA DEL
SOFTWARE EN MÉXICO
85% de los problemas vienen de la gerencia
8. I.1. Generalidades y conceptos de la
calidad en el desarrollo de software.
• Calidad de Software
– Grado de desempeño de las principales características con las que debe
cumplir un sistema computacional durante su ciclo de vida, dichas
características de cierta manera garantizan que el cliente cuente con un
sistema confiable, lo cual aumenta su satisfacción frente a la funcionalidad
y eficiencia del sistema construido.
– según Pressman (2010) se asocia a la “concordancia con los requisitos
funcionales y de rendimiento explícitamente establecidos con los
estándares de desarrollo plenamente documentados y con las
características implícitas que se espera de todo software desarrollado
profesionalmente”.
– Por su parte, el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE,
1990) define calidad de software como “el grado con el que un sistema,
componente o proceso cumple los requerimientos especificados y las
necesidades o expectativas del cliente o usuario.
9. I.1. Generalidades y conceptos de la
calidad en el desarrollo de software.
• Normas
– Una norma es una regla que debe ser respetada y que permite ajustar ciertas conductas o
actividades.
• Norma ISO/IEC 9126 – Evaluar productos de software
• MOPROSOFT - Es una norma mexicana, basada en procesos para las industrias
de software
• IEEE – 830 – Requerimientos de software
• Estándares
– Es un conjunto de reglas que deben cumplir los productos, procedimientos o investigaciones
que afirmen ser compatibles con el mismo producto. Los estándares ofrecen muchos
beneficios, reduciendo las diferencias entre los productos y generando un ambiente
de estabilidad, madurez y calidad en beneficio de consumidores e inversores.
• ISO 12207 – Modelos de Ciclos de Vida del Software.
• ISO/IEC 14598 - Evaluar un producto de software.
Las normas se enfocan más en los procesos por los que tienen que pasar los
productos y los estándares especifican la calidad con la que debe contar los
productos.
10. I.1. Generalidades y conceptos de la
calidad en el desarrollo de software.
• Proceso
– Un proceso es una serie de pasos a seguir, que permite mantener el control, estabilidad y
organización para las actividades, desde el punto de vista técnico el proceso de un software se
define como una estructura que define actividades, métodos y herramientas con el fin de obtener
un software de calidad.
– Un proceso de software efectivo habilita a la organización a incrementar su productividad al
desarrollar software.
• Metodologías de Desarrollo
– Tradicionales
– Agiles
• Modelos de Desarrollo
– CMMI
• Procesos de Desarrollo
– TSP – Proceso de Software en equipo
– PSP – Proceso Personal de Software
El desarrollo de un software es un proceso que no solo permite cumplir el objetivo
de desarrollarlo, sino que también es un proceso de aprendizaje reiterativo, ya
que permite documentar la información además de construir un software de
calidad.
11.
12. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
• Métricas de calidad de software
– Las Métricas de Calidad proporcionan una indicación de cómo se ajusta
el software, a los requerimientos implícitos y explícitos del cliente.
– El objetivo principal de la ingeniería del software es producir un producto de
alta calidad. Para lograr este objetivo, los ingenieros del software deben utilizar
mediciones que evalúen la calidad del análisis y los modelos de desafío, el
código fuente, y los casos de prueba que se han creado al aplicar la ingeniería
del software. Para lograr esta evaluación de la calidad en tiempo real, el
ingeniero debe utilizar medidas técnicas que evalúan la calidad con objetividad,
no con subjetividad.
13. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
• Importancia de las Métricas
• Las métricas de software se utilizan para
propósitos estratégicos.
• Son utilizadas para minimizar la
planificación de desarrollo y evitar
retrasos.
• Reducir problemas y riesgos potenciales
• Evaluar la calidad de los productos en el
momento actual y cuando sea necesario,
modificando el enfoque técnico que
mejore la calidad.
Para establecer objetivos de mejora durante el proceso de desarrollo de
software, se debe comprender el estado actual del desarrollo del software. Si no
se mide, no hay una forma real de determinar si se está mejorando y si no se
está mejorando, se está perdido.
14. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
Visión general de los factores que
afectan a la calidad
• Se han definido un conjunto de factores de
calidad, estos factores evalúan el software
desde tres puntos de vista distintos:
Operación del producto (utilizándolo).
Revisión del producto (cambiándolo).
Transición del producto (modificándolo
para que funcione en un entorno
diferente).
15. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
Medida de la Calidad
• Corrección: La corrección es el grado en el que el software lleva a cabo su
función requerida.
• Facilidad de mantenimiento: Es la facilidad con la que se puede corregir un
programa si se encuentra un error, se puede adaptar si su entono cambia, o
mejorar si el cliente desea un cambio de requisitos. Esta actividad cuenta con
más esfuerzo que cualquier otra actividad de ingeniería del software.
16. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
Medida de la Calidad
• Integridad: Mide la capacidad de un sistema para resistir ataques (tanto accidentales como
intencionados) contra su seguridad. El ataque se puede realizar en cualquiera de los tres
componentes del software: programas, datos y documentos.
17. I.2. Conceptos y métricas de calidad en el
desarrollo de software.
Medida de la Calidad
• Facilidad de uso: Es un intento de cuantificar lo amigable que puede ser el
programa con el usuario. Se puede medir en función de cuatro características:
Habilidad intelectual y/o fisica requerida para aprender el sistema.
El tiempo requerido para llegar a ser moderadamente eficiente en el uso del sistema.
Aumento neto en productividad, medida cuando alguien utiliza el sistema
moderadamente y eficientemente.
Valoración subjetiva de la disposición de 1os usuarios hacia el sistema, a veces
obtenida mediante un cuestionario.