El documento describe factores y características que determinan la calidad en el desarrollo de software según McCall. McCall proporciona 11 factores de calidad como corrección, fiabilidad, eficiencia, etc. También describe características como ser simple y fácil de calcular, empírica e intuitivamente persuasiva. Finalmente, presenta ejemplos de 5 métricas como tiempo medio entre fallos y eficacia de la eliminación de defectos.
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Calidad de software según McCall
1. Unidad Académica de Pinos
Tecnologías de la Información y Comunicación
Calidad de Software
Calidad en el desarrollo de software según Mcall
Lucia Gonzales Hernández
Integrantes:
María Guadalupe Contreras Aguilar
María de los Ángeles Rivera Chávez
Ruby Citlalli Pérez Galaviz
Fecha de entrega: 06/02/2015
2. Factores y características que determinan la calidad en el desarrollo de software
según Mcall
Michael define las métricas de software como “La aplicación continua de
mediciones basadas en técnicas para el proceso de desarrollo del software y sus
productos para suministrar información relevante a tiempo, así el administrador
junto con el empleado de estas técnicas mejorara el proceso y sus productos”. Las
métricas son la maduración de una disciplina, que según pressman van a ayudar
a la evaluación de los modelos de análisis y diseño, en donde proporcionaran una
indicación de la complejidad de diseños procedimentales y de código fuente,
ayudaran en el diseño de pruebas más efectivas.
Factores que determinan la calidad en el desarrollo de software según Mcall
McCall proporciona los siguientes factores de la calidad así como sus definiciones:
Corrección: Hasta dónde satisface un programa su especificación y consigue los
objetivos de la misión del cliente.
Fiabilidad: Hasta dónde puede quedarse un programa que lleve a cabo su función
pretendida con la exactitud solicitada. Cabe hacer notar que se han propuesto otras
definiciones de fiabilidad más completas.
Eficiencia: El conjunto de recursos informáticos y de código necesarios para que
un programa realice su función.
Integridad: Hasta dónde se puede controlar el acceso al software o a los datos por
individuos no autorizados.
Usabilidad (facilidad de manejo): El esfuerzo necesario para aprender, operar, y
preparar datos de entrada e interpretar la salida (resultados) de un programa.
Facilidad de mantenimiento: El esfuerzo necesario para localizar y arreglar un
error en un programa.
Flexibilidad: El esfuerzo necesario para modificar un programa operativo.
3. Facilidad de prueba: El esfuerzo necesario para aprobar un programa para
asegurarse de que realiza su función pretendida.
Portabilidad: El esfuerzo necesario para trasladar el programa de un entorno de
sistema hardware y/o software a otro.
Reusabilidad: (capacidad de reutilización): Hasta dónde se puede volver a utilizar
un programa (o partes) en otras aplicaciones con relación al empaquetamiento y
alcance de las funciones que ejecuta el programa.
Interoperabilidad: El esfuerzo necesario para acoplar un sistema con otro. Es difícil
y en algunos casos improbables, desarrollar medidas directas de los factores de
calidad anteriores.
Características que determinan la calidad en el desarrollo de software según
Mcall
Simple y fácil de calcular: debería ser relativamente fácil de aprender a obtener
la métrica y su cálculo no obligara a un esfuerzo o a una cantidad de tiempo
inusuales.
Empírica e intuitivamente persuasiva: la métrica debería satisfacer las nociones
intuitivas del ingeniero de software sobre el atributo del producto en cuestión (por
ejemplo: una métrica que mide la cohesión de un módulo debería aumentar su
valor a medida que crece el nivel de cohesión).
Consistente en el empleo de unidades y tamaños: el cálculo matemático de la
métrica debería utilizar medidas que no llevan a extrañas combinaciones de
unidades. Por ejemplo, multiplicando el número de personas de un equipo por las
variables del lenguaje de programación en el programa resulta una sospechosa
mezcla de unidades que no son intuitivamente concluyentes.
Independiente del lenguaje de programación: las métricas deberían apoyarse
en el modelo de análisis, modelo de diseño o en la propia estructura del programa.
No debería depender de los caprichos de la sintaxis o semántica del lenguaje de
programación. Un mecanismo eficaz para la realimentación de calidad La métrica
debería suministrar el desarrollador de software información que le lleve a un
producto final de superior calidad.
Un mecanismo eficaz para la realimentación de calidad: la métrica debería
suministrar el desarrollador de software información que le lleve a un producto final
de superior calidad.
4. Ejemplos de 5 métricas
Métrica de Tiempo Medio Entre Fallos (TMEF) = Horas de marcha de los equipos
en el periodo de tiempo a utilizar.
Una aplicación después de 61 días de funcionar correctamente tuvo 4 errores cada
366 horas puede ocurrir este fallo.
TMEF = 1464 = 366 horas / fallos
4
Métrica de Eficacia de la Eliminación de Defectos (EED) = Proporciona beneficios
tanto a nivel del proyecto como del proceso.
Una aplicación concluida el 3 de enero fue entregada sin ningún error, después de la
entrega comenzó a marcar un error el cual era al inicio de arranque del equipo
después de 11 horas de funcionamiento se presentaron 2 errores.
EDD =E / (E+D)
EED = Ei / (Ei+Ei+1) = 0 / (0+3) = 3 / (3+3+1) = 7 horas / fallos
Métrica de Mantenimiento (IMS=[Mr-(Fa+Fc+Fd)])/Mr = Determinar el índice de
madurez del software.
Una aplicación tiene 8 módulos de los cuales 3 requieren ser modificados y los otros 5
no requieren de ninguna acción y se añadirán otros 2 módulos para complementar la
aplicación.
Lo cual significa que aún no es tan confiable nuestra aplicación ya que este resultado
tiene que llegar al número 1.0 para que sea totalmente confiable y seguro.
5. (IMS = [Mr-(Fa+Fc+Fd)])/Mr = [8- (2+3+0)]/8
[8-5]/8
[3]/8 = 0.375
Métrica integridad (integridad = 0 [1-amenaza] * (1-seguridad)] =
Amenaza = probabilidad de un ataque de tipo establecido.
Seguridad = Probabilidad de repeler un ataque establecido.
Una aplicación recibe un archivo infectado y por cada archivo infectado tenemos una
seguridad.
1=0 [1-1 * (1-1)]
1=0 [0*0]
1=0
Métrica de Disponibilidad = Mide el grado de una aplicación en cuanto a
disponibilidad.
Disponibilidad = TMEF / (TMEF+TMDR) * 100%
TMEF = Tiempo medio entre fallos.
TMDR = Tiempo medio de reparación.