Calidad de los Sistemas de SoftwareUniversidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Estándar de calidad del
ProductoISO 9126
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Agenda
Origen del EstándarOrigen del Estándar Estructura:Estructura:
• CaracterísticasCaracterísticas• SubcaracterísticasSubcaracterísticas
Ejemplos de métricasEjemplos de métricas ConclusionesConclusiones
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126 El Estándar Internacional para la Evaluación del Producto
de Software : ISO-9126 lista seis características que son importantes en la producción de software de calidad. Ellas son:
• Funcionalidad
• Usabilidad
• Fiabilidad
• Eficiencia
• Mantenibilidad
• Portabilidad
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126 Existen otras características como
facilidad de reutilización (reusability), escalabilidad (scalability) que pueden ser derivadas.
Llevar estos requerimientos de calidad de alto nivel al diseño y a los principios de implementación es uno de los grandes retos de los ingenieros de software
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Características de calidad de softwareFUNCIONALIDAD (FUNCTIONALITY)Capacidad del software para proveer un
conjunto de funciones y sus propiedades. Estas funciones son las que satisfacen necesidades específicas.
FIABILIDAD/CONFIABILIDAD (RELIABILITY)Capacidad del software para mantener su nivel
de rendimiento bajo condiciones especificadas dentro de un rango de tiempo.
USABILIDAD (USABILITY):Esfuerzo necesitado para usar y comprender el
software desde el punto de vista del usuario.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Características de calidad de software
EFICIENCIA (EFFICIENCY):Relación entre el nivel de rendimiento del Relación entre el nivel de rendimiento del
software y la cantidad de recursos software y la cantidad de recursos utilizados bajo condiciones específicas.utilizados bajo condiciones específicas.
MANTENIBILIDAD (MAINTAINABILITY):Esfuerzo necesitado para realizar Esfuerzo necesitado para realizar
modificaciones en el software.modificaciones en el software.
PORTABILIDAD (PORTABILITY): Capacidad del software para ser transferido Capacidad del software para ser transferido
de un ambiente a otro.de un ambiente a otro.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Sub-características de calidad (1)
Funcionalidad (Functionality)1 Ajuste a los propósitos (Suitability)2 Precisión (Accuracy)3 Interoperabilidad (Interoperability)4 Seguridad (Security)
Fiabilidad (Reliability)5 Madurez (Maturity)6 Tolerancia a fallas (Fault-tolerance)7 Recuperabilidad (Recoverability)
Usabilidad (Usability)8 Facilidad de comprensión (Understandability)9 Facilidad para ser aprendido (Learnability)10 Facilidad de operación (Operability)
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Sub-características de calidad (2)
Eficiencia (Efficiency)11 Comportamiento del Tiempo (Time Behaviour)12 Comportamiento de los recursos (Resource behaviour)
Mantenibilidad (Maintainability)13 Facilidad de análisis (Analysability)14 Facilidad de cambio (Changeability)15 Estabilidad (Stability)16 Facilidad de Prueba (Testability)
Portabilidad (Portability)17 Adaptabilidad (Adaptability)18 Facilidad de Instalación (Installability)19 Conformidad/Cumplimiento con los estándares (Conformance)20 Capacidad de remplazo (Replaceability)
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
PARÉNTESIS – ISO/IEC 25000
SQuaRESoftware Product Quality Requirements
and Evaluation
Nace por la inconsistencia entre el ISO/IEC 9126 y ISO/IEC 14598
El objetivo es aglutinar bajo una mismafamilia el modelo de calidad y el proceso deevaluación.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
PARÉNTESIS – ISO/IEC 25000
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
PARÉNTESIS – ISO/IEC 25000
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Actividad Evalúe y comente cada uno de los Evalúe y comente cada uno de los
ejemplos que se van a mostrar a ejemplos que se van a mostrar a continuación en cada continuación en cada subcaracterística.subcaracterística.
Luego en 5 minutos, genere al Luego en 5 minutos, genere al menos una métrica (pregunta y menos una métrica (pregunta y escala) aplicable al producto que escala) aplicable al producto que usted va a evaluar. usted va a evaluar.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: FUNCIONALIDAD
1. Ajuste a los propósitos1. Ajuste a los propósitos ( (SuitabilitySuitability))La capacidad del producto de software para proveer La capacidad del producto de software para proveer
un conjunto de funciones apropiado según tareas un conjunto de funciones apropiado según tareas y objetivos específicos del usuario. y objetivos específicos del usuario.
EJEMPLO:EJEMPLO:
¿El producto cumple con todas las necesidades ¿El producto cumple con todas las necesidades funcionales?funcionales?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: FUNCIONALIDAD
2. Precisión (2. Precisión (Accuracy)Accuracy)La capacidad del producto de software para proveer La capacidad del producto de software para proveer
los resultados correctos. Esto incluye el grado de los resultados correctos. Esto incluye el grado de precisión de los valores calculados.precisión de los valores calculados.
EJEMPLOEJEMPLO ¿Existe falta de precisión de la función debido a ¿Existe falta de precisión de la función debido a
ausencia de resultados esperados?ausencia de resultados esperados? ¿Existe falta de precisión en la función debido a ¿Existe falta de precisión en la función debido a
resultados incorrectos?resultados incorrectos?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: FUNCIONALIDAD
3. Interoperabilidad 3. Interoperabilidad (Interoperability(Interoperability), La ), La capacidad del producto de software para capacidad del producto de software para interactuar con uno o más sistemas interactuar con uno o más sistemas especificados.especificados.
EJEMPLO:EJEMPLO:¿Existen funcionalidades utilizadas por el producto, ¿Existen funcionalidades utilizadas por el producto,
que pertenecen a otro sistema? que pertenecen a otro sistema?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: FUNCIONALIDAD 4. Seguridad4. Seguridad,, La capacidad del producto de La capacidad del producto de
software para proteger información y datos de software para proteger información y datos de manera que las personas que no estén manera que las personas que no estén autorizadas no puedan leerlos o modificarlos y a autorizadas no puedan leerlos o modificarlos y a las personas o sistemas autorizados se les las personas o sistemas autorizados se les permita el acceso a los mismos.permita el acceso a los mismos.
EJEMPLO:EJEMPLO:¿Qué tan completa es la auditoría? ¿Qué tan completa es la auditoría? ¿Se evalúa la cantidad de registros de acceso que el ¿Se evalúa la cantidad de registros de acceso que el
sistema registró en la base de datos histórica? sistema registró en la base de datos histórica?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
5. Madurez5. Madurez,, La capacidad del producto de La capacidad del producto de software para evitar fallas como resultado de software para evitar fallas como resultado de errores en el software.errores en el software.
EJEMPLOS:EJEMPLOS:
1.1. Tiempo promedio entre fallasTiempo promedio entre fallas2.2. ¿Cuántas de las fallas ocurridas son resueltas?¿Cuántas de las fallas ocurridas son resueltas?3.3. Porcentaje de casos de prueba desde el punto Porcentaje de casos de prueba desde el punto
de vista de operación del usuario. de vista de operación del usuario. 4.4. ¿Cuántos casos de prueba el producto pasa ¿Cuántos casos de prueba el producto pasa
exitosamente?. exitosamente?.
ISO 9126: FIABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
6. Tolerancia a fallas,6. Tolerancia a fallas, La capacidad del producto La capacidad del producto de software para mantener un nivel de de software para mantener un nivel de rendimiento especificado en caso de errores en el rendimiento especificado en caso de errores en el software o de infracciones sobre sus interfaces software o de infracciones sobre sus interfaces
EJEMPLOEJEMPLO¿Qué tan frecuente puede el producto de software ¿Qué tan frecuente puede el producto de software
evitarevitar fallas, aún si el usuario lo opera fallas, aún si el usuario lo opera incorrectamente?incorrectamente?
ISO 9126: FIABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
7. Recuperabilidad7. Recuperabilidad, La capacidad del producto de , La capacidad del producto de software para restablecer un nivel especificado software para restablecer un nivel especificado de rendimiento y recuperar los datos afectados de rendimiento y recuperar los datos afectados en el caso de una falla. Después de una falla, el en el caso de una falla. Después de una falla, el producto de software algunas veces se encuentra producto de software algunas veces se encuentra no operativo por un período de tiempo, el lapso no operativo por un período de tiempo, el lapso de este tiempo es medido como su recuperación. de este tiempo es medido como su recuperación.
EJEMPLO:EJEMPLO: ¿Puede el producto de software recuperarse ¿Puede el producto de software recuperarse
fácilmente después de una caída?fácilmente después de una caída? Velocidad de la reinicialización.Velocidad de la reinicialización.
ISO 9126: FIABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
8. Facilidad de comprensión8. Facilidad de comprensión ((UnderstandabilityUnderstandability), La capacidad que tiene el ), La capacidad que tiene el producto de software para facilitar al usuario el producto de software para facilitar al usuario el entender el software y la forma en que puede ser entender el software y la forma en que puede ser utilizado para efectuar diferentes tareas bajo utilizado para efectuar diferentes tareas bajo condiciones específicas.condiciones específicas.
EJEMPLO:EJEMPLO: ¿Es fácil ubicar las funcionalidades del sistema?¿Es fácil ubicar las funcionalidades del sistema? ¿Están completas las demostraciones funcionales ¿Están completas las demostraciones funcionales
implementadas respecto al número de funciones implementadas respecto al número de funciones que requieren la demostración de uso?que requieren la demostración de uso?
ISO 9126: USABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
9. Facilidad de Aprendizaje9. Facilidad de Aprendizaje ( (LearnabilityLearnability), La ), La capacidad del producto de software para capacidad del producto de software para habilitar al usuario el aprendizaje de la habilitar al usuario el aprendizaje de la aplicación.aplicación.
EJEMPLOEJEMPLO1.1. ¿Brinda variedad de material de apoyo para los ¿Brinda variedad de material de apoyo para los
diferentes tipos de usuarios (programadores, diferentes tipos de usuarios (programadores, analistas, administradores, instaladores, entre analistas, administradores, instaladores, entre otros)?otros)?
2.2. ¿Brinda variedad de material de apoyo de ¿Brinda variedad de material de apoyo de acuerdo a su presentación (manuales, CD, Web, acuerdo a su presentación (manuales, CD, Web, entre otros)?entre otros)?
ISO 9126: USABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
10. Operabilidad10. Operabilidad, La capacidad del , La capacidad del
producto de software para habilitar al producto de software para habilitar al
usuario a operarlo y controlarlo. usuario a operarlo y controlarlo.
EJEMPLO:EJEMPLO:
Promedio de mensajes interactivos por Promedio de mensajes interactivos por
pantallapantalla
ISO 9126: USABILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: EFICIENCIA 11. Comportamiento de los tiempos11. Comportamiento de los tiempos
(Time behaviour), (Time behaviour), La capacidad del producto de La capacidad del producto de software para proveer respuestas y tiempos de software para proveer respuestas y tiempos de procesamiento apropiados en tiempo de procesamiento apropiados en tiempo de ejecución bajo condiciones específicasejecución bajo condiciones específicas..
EJEMPLO:EJEMPLO:
Tasa del tiempo de respuesta para lo que es Tasa del tiempo de respuesta para lo que es diseñado a ser ejecutadodiseñado a ser ejecutado
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: EFICIENCIA 12. Utilización de recursos12. Utilización de recursos: (: (ResourceResource behaviorbehavior) )
La capacidad del producto de software para La capacidad del producto de software para utilizar cantidades apropiadas de los recursos utilizar cantidades apropiadas de los recursos cuando el software ejecuta sus funciones bajo cuando el software ejecuta sus funciones bajo condiciones específicascondiciones específicas..
EJEMPLOEJEMPLO¿Se tiene suficiente velocidad de procesamiento ¿Se tiene suficiente velocidad de procesamiento
considerando a otros productos que compiten por considerando a otros productos que compiten por este recurso?este recurso?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
13. Capacidad de análisis, diagnostico13. Capacidad de análisis, diagnostico (Analyzability), (Analyzability), La capacidad del producto de La capacidad del producto de software para ser diagnosticado por deficiencias o software para ser diagnosticado por deficiencias o causas de fallas en el software, o por partes a ser causas de fallas en el software, o por partes a ser modificadas.modificadas.
EJEMPLO:EJEMPLO:
Grado de facilidad al diagnosticar el softwareGrado de facilidad al diagnosticar el software
¿Existe un registro de diagnósticos?¿Existe un registro de diagnósticos?
ISO 9126: MANTENIBILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
14. Capacidad de Cambio,14. Capacidad de Cambio,
(Changeability), (Changeability), La capacidad del La capacidad del
producto de software para facilitar una producto de software para facilitar una
modificación específica a ser modificación específica a ser
implementadaimplementada..
EJEMPLO:EJEMPLO:
¿Existe trazabilidad entre los ¿Existe trazabilidad entre los
requerimientos, diseño del sistema, e requerimientos, diseño del sistema, e
implementación?implementación?
ISO 9126: MANTENIBILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
15. Estabilidad15. Estabilidad (Stability), (Stability), La capacidad del La capacidad del producto de software para evitar efectos producto de software para evitar efectos inesperados después de modificaciones en el inesperados después de modificaciones en el software.software.
EJEMPLO:EJEMPLO:1.1. Cantidad de variables globales con relación a Cantidad de variables globales con relación a
los módulos que las utilizanlos módulos que las utilizan2.2. ¿Se trabaja con una matriz de impacto?¿Se trabaja con una matriz de impacto?
ISO 9126: MANTENIBILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
16. Capacidad de prueba16. Capacidad de prueba (Testability), La capacidad del (Testability), La capacidad del producto de software para producto de software para permitir que el software permitir que el software modificado sea validado.modificado sea validado.
EJEMPLO:EJEMPLO: ¿Existen pruebas internas en el ¿Existen pruebas internas en el
código?código?
ISO 9126: MANTENIBILIDAD
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: PORTABILIDAD
17. Adaptabilidad17. Adaptabilidad, La capacidad del producto , La capacidad del producto de software para ser adaptado a diferentes de software para ser adaptado a diferentes ambientes especificados sin aplicar acciones u ambientes especificados sin aplicar acciones u otros medios que los provistos para este otros medios que los provistos para este propósito en el software considerado.propósito en el software considerado.
EJEMPLO:EJEMPLO:
¿Existen funcionalidades en el producto que ¿Existen funcionalidades en el producto que permiten la adaptación a diferentes ambientes de permiten la adaptación a diferentes ambientes de hardware y software, sin que se tengan que hardware y software, sin que se tengan que realizar cambios en el producto?realizar cambios en el producto?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: PORTABILIDAD
18. Capacidad de Instalación18. Capacidad de Instalación ( (InstallabilityInstallability), La ), La capacidad del producto de software para ser capacidad del producto de software para ser instalado en un ambiente especificado. instalado en un ambiente especificado.
EJEMPLO:EJEMPLO:
¿Se necesitó soporte para llevar a cabo la ¿Se necesitó soporte para llevar a cabo la instalación?instalación?
¿Es fácil de entender el manual de instalación?¿Es fácil de entender el manual de instalación?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: PORTABILIDAD
19. Capacidad para remplazo19. Capacidad para remplazo (Replaceability) (Replaceability), La , La capacidad del producto de software para ser usado en lugar capacidad del producto de software para ser usado en lugar de otro producto de software especificado para el mismo de otro producto de software especificado para el mismo propósito en un mismo ambiente. Por ejemplo, la capacidad propósito en un mismo ambiente. Por ejemplo, la capacidad para el remplazo de una nueva versión de un producto es para el remplazo de una nueva versión de un producto es importante para el usuario, cuando ésta se actualiza. importante para el usuario, cuando ésta se actualiza.
EJEMPLO:EJEMPLO:
¿Pueden ser utilizados los mismos datos al sustituir a otro ¿Pueden ser utilizados los mismos datos al sustituir a otro producto?producto?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
ISO 9126: PORTABILIDAD
20. Co-existencia20. Co-existencia,, La capacidad del La capacidad del
producto de software para co-existir producto de software para co-existir
con otro software independiente en un con otro software independiente en un
ambiente común compartiendo ambiente común compartiendo
recursos comunes. recursos comunes.
EJEMPLO:EJEMPLO:
¿Existen otros productos ¿Existen otros productos
compartiendo los mismos recursos?compartiendo los mismos recursos?
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Conclusiones La calidad del producto de software La calidad del producto de software
implica, en primer lugar, identificar implica, en primer lugar, identificar cuáles son las características cuáles son las características funcionales y no funcionales que funcionales y no funcionales que son relevantes para el usuario. En son relevantes para el usuario. En segundo lugar, implica la medición segundo lugar, implica la medición del software en relación a las del software en relación a las características elegidas.características elegidas.
Estas características son diferentes Estas características son diferentes para cada software, y pueden ser para cada software, y pueden ser diferentes dependiendo de los diferentes dependiendo de los usuarios.usuarios.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Conclusiones
No es sencillo evaluar la calidad de No es sencillo evaluar la calidad de productos de software dado que se productos de software dado que se intenta medir algo subjetivo de algo intenta medir algo subjetivo de algo intangible.intangible.
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
Conclusiones
Las métricas deben estar bien Las métricas deben estar bien formuladas: formuladas: • no deben ser ambiguas, no deben ser ambiguas,
• deben tener una escala correcta (no deben tener una escala correcta (no solapada)solapada)
• deben estar dirigidas a la persona deben estar dirigidas a la persona indicada e incluso indicada e incluso
• deben ser factibles de alcanzar para los deben ser factibles de alcanzar para los productos actualesproductos actuales
Calidad de los Sistemas de Software Universidad Simón Bolívar – Departamento de Procesos y Sistemas
Prof. Kenyer Domínguez – Maestría en Ingeniería de Sistemas
BIBLIOGRAFIA
ISO/IEEC 9126. International Standarization OrganizationISO/IEEC 9126. International Standarization Organization
Ortega, Maryoly. Modelo de Calidad del Producto de Ortega, Maryoly. Modelo de Calidad del Producto de Software con un Enfoque Sistémico. Tesis de Maestría en Software con un Enfoque Sistémico. Tesis de Maestría en Ingeniería de Sistemas. 2001.Ingeniería de Sistemas. 2001.