Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


INGENIERIA DEL SOFTWARE, Guías, Proyectos, Investigaciones de Desarrollo de Software

MATERIAL COMPLEMENTARIO DESARROLLO DE SOFTWARE . ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN ANÁLISIS Y DESARROLLO DE SOFTWARE SERVICIO NACIONAL DE APRENDIZAJE SENA COMERCIO Y SERVICIOS PROCESO DE SOFWARE INTRODUCCION A LA CONSTRUCCIÓN DE ALGORITMOS

Tipo: Guías, Proyectos, Investigaciones

2022/2023

Subido el 13/07/2023

andrea-canizales-sanchez
andrea-canizales-sanchez 🇨🇴

1 documento

1 / 23

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FAVA - Formación en Ambientes Virtuales de Aprendizaje
SENA - Servicio Nacional de Aprendizaje.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Vista previa parcial del texto

¡Descarga INGENIERIA DEL SOFTWARE y más Guías, Proyectos, Investigaciones en PDF de Desarrollo de Software solo en Docsity!

FAVA - Formación en Ambientes Virtuales de Aprendizaje

FAVA - Formación en Ambientes Virtuales de Aprendizaje

ESTRUCTURA DE CONTENIDOS

Introducción.............................................................................................................................

Mapa de contenido...................................................................................................................

1. Generalidades.......................................................................................................................

1.1. Modelo de calidad..............................................................................................................

1.2. Métricas de calidad de software........................................................................................

1.2.1. Estructura de las métricas..............................................................................................

1.2.2. Métricas de Funcionalidad..............................................................................................

1.2.3. Métricas de Confiabilidad...............................................................................................

1.2.4. Métricas de facilidad de uso..........................................................................................

1.2.5. Métricas de eficiencia.....................................................................................................

1.2.6. Métricas de mantenibilidad.............................................................................................

1.2.7. Métricas de portabilidad..................................................................................................

2. Procedimiento de evaluación..............................................................................................

2.1. Determinar el artefacto de software a evaluar..................................................................

2.2. Seleccionar las características y subcaracterísticas a evaluar y las métricas a utilizar...

2.3. Determinar el valor de cada métrica.................................................................................

2.4. Determinar el cumplimiento de las características y subcaracterísticas...........................

2.5. Evaluar y analizar los resultados.......................................................................................

2.6. Elaborar informe de evaluación.........................................................................................

2.7. Identificar oportunidades de mejora.................................................................................

3. Ejemplo de aplicación..........................................................................................................

3.1. Análisis de resultados........................................................................................................

3.2. Análisis por características................................................................................................

3.3. Oportunidades de mejora..................................................................................................

Glosario...................................................................................................................................

Bibliografía..............................................................................................................................

Control del documento............................................................................................................

Pág.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

MAPA DE CONTENIDO

FAVA - Formación en Ambientes Virtuales de Aprendizaje

DESARROLLO DE CONTENIDOS

Característica Sub característica

Funcionalidad

a) Adecuación: capacidad del producto de software para proporcionar un conjunto apropiado de funciones para tareas y objetivos de usuario especificados.

b) Exactitud: capacidad del producto de software para proporcionar los resultados o efectos correctos o acordados con el grado necesario de precisión.

c) Interoperatividad: capacidad del producto de software para interactuar con uno o más sistemas especificados.

d) Seguridad de acceso: capacidad del producto de software para proteger la información y datos de manera que las personas o sistemas no autorizados no puedan leerlos o modificarlos, al tiempo que no deniega el acceso a las personas o sistemas autorizados.

e) Cumplimiento normativo: capacidad del producto de software para adherirse a normas, convenciones o regulaciones en leyes y prescripciones similares relacionadas con funcionalidad.

Confiabilidad o fiabilidad.

a) Madurez: capacidad del producto de software para evitar fallar como resultado de fallos en el software.

b) Tolerancia a fallos: capacidad del software de mantener un nivel especificado de prestaciones en caso de fallos de software o de infringir sus interfaces especificadas.

c) Capacidad de recuperación: capacidad del producto de software para restablecer un nivel de prestaciones especificado y de recuperar los datos directamente afectados en caso de fallo.

d) Cumplimiento de la fiabilidad: capacidad del producto de software para adherirse a normas, convenciones o regulaciones relacionadas con la fiabilidad.

1. Generalidades

Este recurso está orientado a la elaboración de instrumentos de evaluación de la calidad

del producto de software desarrollado y toma como marco conceptual la familia de normas

ISO-9126 que se describen a continuación:

a) ISO 9126-1: modelo de calidad

b) ISO 9126-3: métricas internas de calidad

1.1. Modelo de calidad

El modelo de calidad que soporta la ISO 9126 está basado en seis características y 22

subcaracterísticas como muestra la tabla 1.1:

FAVA - Formación en Ambientes Virtuales de Aprendizaje

Portabilidad

a) Adaptabilidad: capacidad del producto de software para ser adaptado a diferentes entornos especificados sin aplicar acciones o mecanismos distintos de aquellos proporcionados para este propósito por el propio software considerado.

b) Instalabilidad: capacidad del producto de software para ser instalado en un entorno especificado.

c) Coexistencia: capacidad del producto de software para coexistir con otro software independiente en un entorno común compartiendo recursos comunes.

d) Capacidad para reemplazar: capacidad del producto de software para ser usado en lugar de otro producto de software para el mismo propósito en el mismo entorno.

e) Cumplimiento de la portabilidad: capacidad del producto de software para adherirse a normas o convenciones relacionadas con la portabilidad.

Tabla 1.1. Modelo de calidad

1.2 Métricas de calidad de software

Una métrica de calidad de software determina de manera cuantitativa el nivel de

cumplimiento de una característica y sub característica de calidad en el software

desarrollado.

Las métricas para la evaluación del software pueden ser tomadas de las propuestas por

la norma ISO 9126-3 o pueden ser diseñadas por el evaluador o auditor de calidad.

1.2.1 Estructura de las métricas

La norma ISO 9621-3 propone que las métricas de calidad de software tengan la estructura

descrita en la tabla 1.2.

No Nombre Descripción

1 Nombre Nombre único de la métrica.

2 Propósito de la métrica

Se expresa como la pregunta que debe responder la aplicación de la métrica. 3 Método de aplicación Suministra el enfoque de su aplicación.

Medida, fórmula y cómputo de datos. Suministra la fórmula de medida y el significado de sus componentes.

Interpretación de la medición

Suministra el rango y los valores deseados o esperados.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

6 Tipo de escala Tipo de escala usada por la métrica. Los tipos de escala usados son escala nominal, escala ordinal, intervalos, escala de relación y escala absoluta.

7 Tipo de medida

Los tipos de medida son: medidas de tamaño, tamaño de la función, tamaño del código fuente, medidas de tiempo , medidas de conteo, número de cambios, número de fallos. 8 Entrada a ser medida Fuente de los datos a ser usados en la medición.

Etapa del ciclo de vida del software que se evalúa

Identifica el proceso del ciclo de vida del software donde se aplica la métrica.

10 Audiencia Identifica el usuario que analizará los resultados de las mediciones.

Tabla 1.2. Estructura de las métricas de calidad ISO 9126-

Este recurso hará la descripción detallada de una métrica de la norma ISO 9126-3 para

cada característica de calidad y hará una descripción de las restantes métricas. Para

revisar el detalle de la totalidad de las métricas propuestas por la norma el aprendiz podrá

hacerlo a través de la bibliografía que se describe al final del documento.

1.2.2 Métricas de Funcionalidad

Las métricas de funcionalidad son usadas para predecir si el producto de software

analizado cumplirá con los requerimientos y las necesidades del cliente.

Para medir la funcionalidad de un software la norma ISO 9126-3 propone la siguiente

métricas:

Subcaracterística Métrica Pregunta

Adecuación

Adecuación funcional ¿Qué tan adecuadas son las funciones revisadas?

Completitud de la adecuación funcional

¿Qué tan completa es la implementación funcional?

Cobertura de la implementación funcional

¿Qué tan correcta es la implementación funcional?

Estabilidad de la implementación funcional

¿Qué tan estable es la especificación funcional durante el ciclo de desarrollo?

Precisión

Precisión computacional ¿Qué tan completa es la implementación de los requerimientos de precisión?

Precisión

¿Qué tan completa es la implementación de los niveles específicos de precisión para los datos?

FAVA - Formación en Ambientes Virtuales de Aprendizaje

1.2.3 Métricas de Confiabilidad

Las métricas de confiabilidad son usadas para predecir si el software en revisión cumplirá

con las necesidades de confiabilidad solicitadas.

Para medir la confiabilidad de un software la norma ISO 9126-3 propone la siguiente

métricas:

Subcaracterística Métrica Pregunta

Madurez

Detección de fallas ¿Cuántos fallos se detectaron en el sistema revisado? Resolución de fallas ¿Cuántas fallas fueron corregidas?

Pertinencia de las pruebas

¿Qué porción de los casos de pruebas requeridos están cubiertos por el plan de pruebas?

Tolerancia a fallos

Prevención de fallas

¿Qué patrones de fallos se tuvieron en cuenta para evitar fallos serios o críticos?

Prevención de operaciones incorrectas

¿Cuántas funciones se han implementado con la capacidad para prevenir que se hagan operaciones incorrectas?

Recuperación de fallos

Recuperabilidad

¿Qué capacidad tiene el sistema para recuperarse después de un evento anormal o a solicitud del usuario?

Efectividad de la recuperación ¿Qué tan efectiva es la capacidad de recuperación? Cumplimiento con estándares de confiabilidad

Cumplimiento de estándares de confiabilidad

¿Qué tanto cumple el sistema con estándares, regulaciones o convenciones de confiabilidad?

No Nombre Descripción 1 Nombre Detección de fallas del software

2 Propósito de la métrica ¿Cuántas fallas fueron detectadas en el software revisado?

3 Método de aplicación Contar el número de fallas detectadas y compararlas con el número de fallas estimadas.

Medida, fórmula y cómputo de datos.

X = A / B

A: Número absoluto de fallas.

B: Número de fallas estimadas como máximo.

Un ejemplo de estas métricas se detalla a continuación:

FAVA - Formación en Ambientes Virtuales de Aprendizaje

Interpretación de la medición

0 <= X

Un número alto de X representa una buena medida. Un valor 0 de X no necesariamente quiere decir que el producto está libre de defectos.

6 Tipo de escala Absoluta.

7 Tipo de medida X: contador , A: contador, B: contador

8 Entrada a ser medida

Los valores de A vienen del reporte de revisión y el valor de B viene de la historia de proyectos de la organización.

Etapa del ciclo de vida del software que se evalúa

Verificación.

10 Audiencia Revisores. Desarrolladores.

1.2.4 Métricas de facilidad de uso (usability)

Las métricas de facilidad de uso son usadas para predecir si el software en revisión

puede ser entendido, aprendido, operado y además es agradable al usuario. También

predice si el software cumple con regulaciones acerca de facilidad de uso.

Para medir la facilidad de uso de un software la norma ISO 9126-3 propone la siguiente

métricas :

Subcaracterística Métrica Pregunta

Capacidad para ser entendido

Completitud de la descripción

¿Qué proporción de las funciones son descritas en la descripción del producto?

Capacidad de demostración ¿Qué cantidad de las funciones que requieren demo la tienen implementada? Funciones evidentes ( que no nece- sitan explicación )

¿Qué porción de las funciones del sistema son evidentes al usuario?

Comprensibilidad de las funciones

¿Qué porción de las funciones del sistema está en capacidad el usuario de entender correctamente?

Capacidad para ser aprendido

Completitud de la documentación del usuario o del módulo de ayudas

¿Qué porción de las funciones están descritas en la documentación del usuario o en el módulo de ayuda?

FAVA - Formación en Ambientes Virtuales de Aprendizaje

1.2.5 Métricas de eficiencia

Las métricas de eficiencia son usadas para predecir la eficiencia del software durante las

pruebas u operación. Para medir la eficiencia se debe definir un ambiente de hardware y

software donde se realizarán las pruebas.

Para medir la eficiencia de un software la norma ISO 9126-3 propone la siguiente métrica:

Subcaracterística Métrica Pregunta

Comportamiento temporal

Tiempo de respuesta. ¿Cuál es el tiempo estimado para completar una tarea específica?

Capacidad operativa.

¿Cuántas tareas se pueden realizar por unidad de tiempo?

Tiempo de respuesta transaccional. ¿Cuál es el tiempo estimado para realizar un conjunto de tareas?

Utilización de recursos

Utilización de operación de E/S

¿Cuál es la estimación de operaciones de E/S para realizar una tarea específica?

Utilización de la memoria.

¿Cuál es la cantidad de memoria que requiere el sistema para completar una función específica?

Utilización de ancho de banda. ¿Cuánto ancho de banda requiere el sistema para completar una tarea específica?

Cumplimiento de la eficiencia

Cumplimiento de estándares de eficiencia.

¿Qué tanto cumple el sistema con estándares, regulaciones o convenciones sobre eficiencia?

Un ejemplo de estas métricas se detalla a continuación:

No Nombre Descripción 1 Nombre Tiempo de respuesta. 2 Propósito de la métrica ¿Cuál es el tiempo estimado para realizar una tarea dad?

3 Método de aplicación Evaluar la eficiencia del software.

4 Medida, fórmula y cómputo de datos. X = tiempo (calculado o simulado).

5 Interpretación de la medición Entre menor valor de la X mejor la eficiencia. 6 Tipo de escala Relativa. 7 Tipo de medida Tiempo. 8 Entrada a ser medida El software en estado operacional.

9 Etapa del ciclo de vida del software que se evalúa Verificación.

10 Audiencia Desarrolladores y revisores.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

1.2.6 Métricas de mantenibilidad

Las métricas de mantenibilidad predicen el esfuerzo requerido para realizar modificaciones

al software producido.

Para medir la mantenibilidad de un software la norma ISO 9126-3 propone las siguientes

métricas:

Subcaracterística Métrica Pregunta

Capacidad de ser analizado

Registro de activiades.

¿Qué tan directo es el registro del status del sistema? Disponibilidad de la función de diagnóstico. ¿Están disponibles funciones de diagnóstico?

Capacidad para ser cambiado Registro de cambios.

¿Se registran los cambios a las especificación y a los módulos de manera adecuada en el código fuente?

Estabilidad

Impacto de los cambios.

¿Cuál es la frecuencia de impactos negativos después de una modificación? Localización del impacto de la modificación.

¿Qué tan grande es el impacto de una modificación sobre el sistema?

Capacidad de ser probado

Completitud de la función de pruebas incorporada.

¿Qué tan completa es la función interna de pruebas del sistema?

Autonomía de las pruebas. ¿Con qué independencia puede probarse el sistema?

Indicador de progreso de las pruebas.

¿Qué tan completa es la implementación del indicador de progreso de las pruebas?

Cumplimiento de estándares de facilidad de mantenimiento

Cumplimiento de estándares de facilidad de mantenimiento.

¿Qué tanto cumple el sistema con estándares, regulaciones y convenciones sobre facilidad de mantenimiento?

Un ejemplo de estas métricas se detalla a continuación:

No Nombre Descripción

1 Nombre Trazabilidad de los cambios.

2 Propósito de la métrica ¿Se registran adecuadamente los cambios a los cambios y especificaciones como comentarios en el código fuente?

3 Método de aplicación Registrar la relación de los cambios.

4 Medida, fórmula y cómputo de datos.

X = A / B A: número de cambios a las funciones o clases que han sido comentareados. B: número total de cambios.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

Coexistencia Disponibilidad de la coexistencia.

¿Qué tan flexible es el sistema para compartir el ambiente con otros productos sin impactarlos negativamente?

Capacidad para ser reemplazado

Uso continuo de datos.

¿Cuál la cantidad original de datos que continúan sin cambiar después de reemplazarse por este producto?

Inclusividad de las funciones.

¿Qué cantidad de requerimientos cubre el nuevo software comparado con los que cubría el antiguo?

Un ejemplo de estas métricas se detalla a continuación:

No Nombre Descripción 1 Nombre Esfuerzo para la instalación.

2 Propósito de la métrica ¿Qué nivel de esfuerzo se requiere para la instalación?

3 Método de aplicación Contar el número de pasos de instalación automatizados en comparación con el número de pasos totales de la instalación.

4 Medida, fórmula y cómpu- to de datos.

X = A / B

A: número de pasos automatizados confirmados en la revisión.

B: total de pasos requeridos para la instalación.

5 Interpretación de la medi- ción

0 <= X <= 1

Entre más cerca esté X de 1 mejor.

6 Tipo de escala Absoluta.

7 Tipo de medida

X: cociente.

A: contador.

B: contador.

8 Entrada a ser medida Resultado de la revisión del instalador.

9 Etapa del ciclo de vida del software que se evalúa Validación.

10 Audiencia Desarrolladores.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

2. Procedimiento de evaluación

Para la evaluación de la calidad del software se proponen los siguientes pasos

(Scalone,2006):

Figura 2.1. Procedimiento propuesto para evaluar la calidad del software.

2.1. Determinar el artefacto de software a evaluar

En este punto se establece los componentes del software que se evaluarán. Además

de la aplicación como tal también se deben tener en cuenta el programa instalador, los

manuales de usuario y configuración entre otros.

2.2. Seleccionar las características y subcaracterísticas a evaluar y las métricas a

utilizar

A partir del universo planteado en el modelo de calidad de la norma ISO 9126-3 se deben

seleccionar las características y subcaracterísticas que se evaluarán y las métricas que

se utilizarán para medir los resultados.

2.3. Determinar el valor de cada métrica

En este punto se determina el valor de cada métrica de acuerdo con la evaluación que

se realice sobre el producto de software. Este paso califica el cumplimiento por parte del

software de una subcaracterística de software.

Determinar el software a evaluar

Seleccionar las caracteristicas, sub- caracteristicas a evaluar y las métricas a utilizar

Determinar el valor de cada métrica

Elaborar informe de evaluación

oportunidades de mejora

Evaluar y analizar los resultados

Determinar el cumplimiento

FAVA - Formación en Ambientes Virtuales de Aprendizaje

3. Ejemplo de aplicación

A continuación, se muestra un ejemplo de una evaluación realizada a un software ficticio

con el objeto de analizar los resultados:

No. Característica Subcaracterística Métrica

Nivel requerido por el cliente

Nivel Obtenido

Nivel de cumplimiento

C: Cumple NC: No cumple

1 Funcionalidad

Adecuación

Adecuación funcional. 0.8 0.75 NC Completitud de la adecuación funcional. 0.7 0.75 C

Estabilidad de la implementación funcional 0.9 0.9 C

Seguridad

Auditabilidad del acceso. 1.0 1.0 C

Cifrado o encriptación de datos. 1.0 0.8 NC

2 Confiabilidad Tolerancia a fallos Prevención de fallas. 0.85 0.9 C

3 Facilidad de uso Capacidad para ser operado

Completitud de la documentación del usuario o del módulo de ayudas.

1.0 0.9 NC

4 Eficiencia

Comportamiento temporal Tiempo de respuesta. 0.8 0.85 C

Utilización de recursos Utilización de memoria. 0.9 0.9 C

5 Mantenibilidad

Capacidad para ser cambiado Registro de cambios. 0.75 0.4 NC

Estabilidad Impacto de los cambios. 0.75 0.7 NC

6 Portabilidad Adaptabilidad Adaptabilidad de las estructuras de datos. 0.9 0.9 C

3.1 Análisis de resultados

Para el ejercicio se aplicaron 12 métricas de calidad para evaluar 9 subcaracterísticas y

6 características de calidad de software.

De las 12 métricas aplicadas siete cumplen y cinco no cumplen con los niveles de calidad

esperados por el cliente.

FAVA - Formación en Ambientes Virtuales de Aprendizaje

3.3. Análisis por características

Al agrupar los resultados por características se obtiene lo siguiente:

Se puede observar que sólo se cumplen tres de las seis características. Es decir, la

funcionalidad, la facilidad de uso y la mantenibilidad del sistema no es la esperada por el

cliente.

3.2. Oportunidades de mejora

Una vez identificadas las características que no cumplen se puede plantear un plan de

acción para mejorar las métricas de los requisitos de calidad o subcaracterísticas.

Para el ejemplo se deben revisar más en detalle la funcionalidad, la facilidad de uso y la

mantenibilidad. Lo anterior para determinar cuáles fueron las causas que originaron que

la métrica arrojara un incumplimiento.

Característica Calidad esperada Calidad obtenida Nivel de cumplimiento Funcionalidad 4,4 4,2 NC Confiabilidad 0,85 0,9 C Facilidad de uso 1 0,9 NC Eficiencia 1,7 1,75 C Mantenibilidad 1,5 1,1 NC Portabilidad 0,9 0,9 C