Ingeniería de Sistemas
Estándares y Calidad del Software
Cód. 201810017601 Est: Kevin Leonardo Barbosa Moreno Fecha:09/03/2021
Laboratorio - Taller – ISO 9241 9126
Actividad
Introducción
ISO 27001 es una norma internacional que permite el aseguramiento, la confidencialidad e integridad de los datos y de la
información, así como de los sistemas que la procesan.
Objetivos
Objetivo General
Comprender como está regida la normatividad para el desarrollo del software con el fin de que las personas
interesadas puedan desarrollar un software que se encuentre dentro de los parámetros que ofrece la ISO
27001.
Objetivos Específicos
Comprender las etapas del desarrollo de software para obtener un buen producto.
Conocer los estamentos para poder tener una buena gestión de la seguridad de nuestro software.
Conocer cuál es la estructura para desarrollar un buen software que se encuentre al nivel de una alta
competitividad empresarial.
Desarrollo del taller
Norma ISO 9241-11
La Norma ISO/IEC 9126 es un estándar internacional para la evaluación del software que surge debido a la
necesidad de un modelo único para expresar la calidad de un software. Fue publicado en 1992 con el nombre de
“Information technology – Software product evaluation: Quality characteristics and guidelines for their use”, en el
cual se establecen las características de calidad para productos de software estándar.
El estándar se divide en cuatro partes que trata los siguientes temas: modelo de la calidad, métricas externas,
métricas internas y métricas de calidad en uso. A su vez el modelo de calidad que propone este estándar se divide en
dos: calidad externa y calidad interna, así como la calidad durante el uso. La primera parte del modelo especifica
seis características para la calidad interna y externa, que son además divididas en sub-características y son el
resultado de los atributos o cualidades internas del software.
La Calidad.
Es el conjunto de propiedades y características de un producto o servicio, que le confieren aptitud para
satisfacer unas necesidades explícitas o implícitas [ISO 8402].
Calidad de Software.
La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos
especificados y las necesidades o expectativas del cliente o usuario´.
(IEEE, Std. 610-1990).
ISO 9000.
Un Conjunto de normas internacionales que definen requisitos para los llamados sistemas de gestión de calidad.
ISO 9000 tiene reconocimiento internacional y se aplica a todas las industrias, incluso al desarrollo de tecnologías
de la información.
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. La calidad del producto se
traduce en ahorro de costos y en una mejora general. La calidad de cualquiera de los procesos del ciclo de vida
contribuye a mejorar la calidad del producto, y esta a su vez contribuye a mejorar la calidad en el uso.
Características:
Funcionalidad.
Esta característica permite calificar si un producto de software maneja en forma adecuada el conjunto de
funciones que satisfagan las necesidades para las cuales fue diseñado.
Atributos: Adecuación. Exactitud. Interoperabilidad. Conformidad. Seguridad.
Confiabilidad.
Se refieren a la capacidad del software de mantener su nivel de ejecución bajo condiciones normales en un
periodo de tiempo establecido.
Sub-características: Nivel de Madurez. Tolerancia a fallas. Recuperación.
Usabilidad.
Característica que permiten evaluar el esfuerzo necesario que deberá invertir el usuario para utilizar el sistema.
Atributos: Comprensibilidad. Facilidad de Aprender. Operabilidad.
Eficiencia.
Esta característica permite evaluar la relación entre el nivel de funcionamiento del software y la cantidad de
recursos usados.
Aspectos a evaluar: Comportamiento con respecto al Tiempo. Comportamiento con respecto a Recursos.
Mantenibilidad.
Aquí permite medir el esfuerzo necesario para realizar modificaciones al software, ya sea por la corrección de
errores o por el incremento de funcionalidad.
Factores: Capacidad de análisis. Capacidad de modificación. Estabilidad. Facilidad de Prueba.
Portabilidad.
Se refiere a la habilidad del software de ser transferido de un ambiente a otro.
Aspectos: Adaptabilidad. Facilidad de Instalación. Conformidad. Capacidad de reemplazo.
(Bermudez, 2019)
Sub Característica Descripción
Funcionalidad Aplicabilidad La capacidad del producto software para proveer un
conjunto apropiado de funciones para las tareas y
objetivos especificados por el usuario.
Precisión La capacidad del producto software para proveer los
resultados o efectos acordados con un grado necesario
de precisión.
Interoperabilidad La capacidad del producto software a interactuar con
uno o más sistemas especificados.
Seguridad La capacidad del producto software para proteger la
información y los datos de modo que las personas o los
sistemas no autorizados no puedan leerlos o
modificarlos y a las personas o sistemas autorizados no
se les denegará el acceso.
Conformidad de la La capacidad del producto software de adherirse a los
funcionalidad estándares, convenciones o regulaciones legales
y prescripciones similares referente a la funcionalidad.
Fiabilidad Madurez La capacidad del producto software para evitar fallas
como resultado de errores en el software.
Tolerancia a fallos La capacidad del producto software para mantener un
nivel especificado de funcionamiento en caso de
errores del software o de incumplimiento de su interfaz
especificada.
Recuperabilidad La capacidad del producto software para reestablecer
un nivel especificado de funcionamiento y recuperar
los datos afectados directamente en el caso de una
falla.
Conformidad de fiabilidad La capacidad del producto software para adherirse a las
normas, convenciones o regulaciones relativas a la
fiabilidad.
Usabilidad Entendibilidad La capacidad del producto software para permitir al
usuario entender si el software es aplicable, y cómo
puede ser utilizado para las tareas y las condiciones
particulares de la aplicación.
Facilidad de aprendizaje La capacidad del producto software para permitir al
usuario aprender su aplicación.
Operabilidad La capacidad del producto software para permitir al
usuario operarlo y controlarlo.
Atractividad La capacidad del producto software de ser atractivo al
usuario.
Conformidad de usabilidad La capacidad del producto software para adherirse a las
normas, convenciones, guías de estilo o regulaciones
relacionadas a su usabilidad.
Eficiencia Comportamiento en el La capacidad del producto software para proveer
tiempo tiempos apropiados de respuesta y procesamiento, y
ratios de rendimiento cuando realiza su función bajo
las condiciones establecidas.
Utilización de recursos La capacidad del producto software para utilizar
apropiadas cantidades y tipos de recursos cuando éste
funciona bajo las condiciones establecidas.
Conformidad de eficiencia La capacidad del producto software para adherirse a
normas o convenciones relacionadas a la eficiencia.
Facilidad de Analizabilidad La capacidad del producto software para ser
Mantenimiento diagnosticado por deficiencias o causas de fallas en el
software o la identificación de las partes a ser
modificadas.
Cambiabilidad La capacidad del software para permitir que una
determinada modificación sea implementada.
Estabilidad La capacidad del producto software para evitar efectos
inesperados debido a modificaciones del software.
Testeabilidad La capacidad del software para permitir que las
modificaciones puedan ser validadas.
Conformidad de facilidad de La capacidad del software para adherirse a estándares o
mantenimiento convenciones relativas a la facilidad de mantenimiento.
Portabilidad Adaptabilidad La capacidad del producto software para ser adaptado a
diferentes entornos definidos sin aplicar acciones o
medios diferentes de los previstos para el propósito del
software considerado.
Instalabilidad La capacidad del producto software para ser instalado
en un entorno definido.
Co existencia La capacidad del producto software para coexistir con
otro producto software independiente dentro de un
mismo entorno compartiendo recursos comunes.
Reemplazabilidad La capacidad del producto software para ser utilizado
en lugar de otro producto software, para el mismo
propósito y en el mismo entorno.
Conformidad de portabilidad La capacidad del software para adherirse a estándares o
convenciones relacionados a la portabilidad.
Calidad de Uso
Característica Definición
Efectividad La capacidad del producto software para permitir a los usuarios lograr las metas
especificadas con precisión y completitud en un contexto de uso específico.
Productividad La capacidad del producto software para permitir a los usuarios emplear cantidades
apropiadas de recursos en relación a la efectividad lograda en un contexto de uso
específico.
Integridad La capacidad del producto software para lograr niveles aceptables de riesgo de daño a
las personas, negocio, software, propiedad o entorno en un contexto de uso específico.
Satisfacción La capacidad del producto software para satisfacer a los usuarios en un contexto de uso
específico.
(Informatica, 2018)
Norma ISO/IEC 9126-1.
ISO 9126 es un estándar internacional para la evaluación de la calidad del software. Está reemplazado por
el proyecto Saqueare, ISO 25000:2005, el cual sigue los mismos conceptos.
El estándar está dividido en cuatro partes las cuales dirigen, realidad, métricas externas, métricas
internas y calidad en las métricas de uso y expendido. El modelo de calidad establecido en la primera
parte del estándar, ISO 9126-1, clasifica la calidad del software en un conjunto estructurado de
características y sus características de la siguiente manera:
Imagen tomada de: [Link]
Funcionalidad.
Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus
propiedades específicas. Las funciones son aquellas que satisfacen las necesidades implícitas o explícitas.
Adecuación:
Atributos del software relacionados con la presencia y aptitud de un conjunto de funciones para tareas
especificadas.
Exactitud:
Atributos del software relacionados con la disposición de resultados o efectos correctos o acordados.
Interoperabilidad:
Atributos del software que se relacionan con su habilidad para la interacción con sistemas especificados.
Seguridad:
Atributos del software relacionados con su habilidad para prevenir acceso no autorizado ya sea accidental
o deliberado, a programas y datos.
Fiabilidad
Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación
bajo condiciones establecidas durante un período establecido.
Madurez:
Atributos del software que se relacionan con la frecuencia de falla por fallas en el software.
Recuperabilidad:
Atributos del software que se relacionan con la capacidad para restablecer su nivel de desempeño y
recuperar los datos directamente afectos en caso de falla y en el tiempo y esfuerzo relacionado para ello.
Tolerancia a fallos:
Atributos del software que se relacionan con su habilidad para mantener un nivel especificado de
desempeño en casos de fallas de software o de una infracción a su interfaz especificada.
Cumplimiento de Fiabilidad:
La capacidad del producto software para adherirse a normas, convenciones o legislación relacionadas con
la fiabilidad.
Usabilidad:
Un conjunto de atributos relacionados con el esfuerzo necesario para su uso, y en la valoración individual
de tal uso, por un establecido o implicado conjunto de usuarios.
Aprendizaje:
Atributos del software que se relacionan al esfuerzo de los usuarios para reconocer el concepto lógico y
sus aplicaciones.
Comprensión:
Atributos del software que se relacionan al esfuerzo de los usuarios para reconocer el concepto lógico y
sus aplicaciones.
Operatividad:
Atributos del software que se relacionan con el esfuerzo de los usuarios para la operación y control del
software.
Eficiencia.
Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad
de recursos necesitados bajo condiciones establecidas.
Comportamiento en el tiempo:
Atributos del software que se relacionan con los tiempos de respuesta y procesamiento y en las tasas de
rendimientos en desempeñar su función.
Comportamiento de recursos:
Usar las cantidades y tipos de recursos adecuados cuando el software lleva a cabo su función bajo
condiciones determinadas.
Mantenibilidad:
Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un
sistema software.
Estabilidad:
Atributos del software relacionados con el riesgo de efectos inesperados por modificaciones.
Facilidad de análisis:
Atributos del software relacionados con el esfuerzo necesario para el diagnóstico de deficiencias o causas
de fallos, o identificaciones de partes a modificar.
Facilidad de cambio:
Atributos del software relacionados con el esfuerzo necesario para la modificación, corrección de falla, o
cambio de ambiente.
Facilidad de pruebas:
Atributos del software relacionados con el esfuerzo necesario para validar el software modificado.
Portabilidad.
Conjunto de atributos relacionados con la capacidad de un sistema de software para ser transferido y
adaptado desde una plataforma a otra.
Capacidad de instalación:
Atributos del software relacionados con el esfuerzo necesario para instalar el software en un ambiente
especificado.
Capacidad de reemplazamiento:
Atributos del software relacionados con la oportunidad y esfuerzo de usar el software en lugar de otro
software especificado en el ambiente de dicho software especificado.
Calidad en uso.
Conjunto de atributos relacionados con la aceptación por parte del usuario final y Seguridad.
Eficacia:
Atributos relacionados con la eficacia del software cuando el usuario final realiza los procesos.
Productividad:
Atributos relacionados con el rendimiento en las tareas cotidiana realizadas por el usuario final.
Seguridad:
Atributos para medir los niveles de riesgo.
(Prieto, 2017)
Conclusiones y reflexión del taller
Estas normas son propuestas para que el software que vaya a ser desarrollado este dentro de todos los parámetros de seguridad
y confiabilidad que debe tener un software para poder ser lanzado al mercado por ello es necesario que se implementen estas
normativas al momento de realizar un proyecto de esta magnitud.
Referencias bibliográficas
Bibliografía
Bermudez, L. C. (9 de 06 de 2019). Lescabe. Obtenido de [Link]
Informatica. (10 de 08 de 2018). Informatica. Obtenido de [Link]
Prieto, R. M. (24 de 07 de 2017). Obtenido de [Link]
[Link]