Atributos de Calidad Del Software

ATRIBUTOS DE CALIDAD DEL SOFTWARE Ingeniería del Software III Luis Fernando Salazar Escamilla Jhon Fredy Loaiza Herrera

Views 374 Downloads 0 File size 184KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ATRIBUTOS DE CALIDAD DEL SOFTWARE Ingeniería del Software III

Luis Fernando Salazar Escamilla Jhon Fredy Loaiza Herrera

Ingeniería de Sistemas y Computación

Universidad Tecnológica de Pereira Mayo de 2015

Contenido 1.

INTRODUCCIÓN ..................................................................................................................4

2.

CALIDAD DEL SOFWARE ..................................................................................................5

3.

MODELOS DE CALIDAD DEL SOFTWARE ....................................................................6

4.

3.1

Modelo de McCall:.........................................................................................................6

3.2

Modelo FURPS: .............................................................................................................9

3.3

Modelo Dromey .......................................................................................................... 10

ATRIBUTOS DE CALIDAD DE SOFTWARE ................................................................ 11 4.1

Funcionalidad .............................................................................................................. 11

4.2

Confiabilidad ............................................................................................................... 12

4.3

Facilidad de Uso ......................................................................................................... 12

4.4

Eficiencia ..................................................................................................................... 13

4.5

Portabilidad ................................................................................................................. 13

4.6

Facilidad de Mantenimiento ...................................................................................... 14

5.

MODELO ISO-9126 ........................................................................................................... 15

6.

BIBLIOGRAFÍA ................................................................................................................... 17

Contenido de Tablas Tabla 1 ................................................................................................................................................6 Tabla 2 ................................................................................................................................................9 Tabla 3 ............................................................................................................................................. 10 Tabla 4 ............................................................................................................................................. 15

1. INTRODUCCIÓN

La calidad del software es un punto muy delicado a la hora de desarrollar y para esto se invierten muchos esfuerzos. Sin embargo, por más que se trate el software nunca es perfecto y siempre puede ser mejor. Cualquier proyecto de software tiene como objetivo producir una aplicación de la mejor calidad posible, que cumpla con las expectativas de los usuarios o en el mejor de los casos pueda superar dichas expectativas. Los arquitectos de software pasan gran parte de su vida dedicados a diseñar e implementar software para satisfacer una serie de requisitos que podríamos decirles atributos de calidad. Los atributos de calidad del software generalmente incluyen la escalabilidad, la seguridad, el rendimiento y la fiabilidad. Dichos requisitos de atributos de calidad son parte de los requerimientos no funcionales de una aplicación, que captura las múltiples facetas de cómo se logran los requerimientos funcionales de la aplicación. Todos menos la aplicación más trivial tendrá requerimientos no funcionales que se pueden expresar en términos de requisitos de atributos de calidad.

2. CALIDAD DEL SOFWARE

Características propias del software, aquellas que se quieren controlar y asegurar, el software es un producto inmaterial que no se fabrica, tampoco se degradan físicamente, sino que se desarrolla. El software puede tener errores, incidencias pero no son similares a lo que cualquier equipo de carácter físico. La calidad del software se encuentra casi a la par de la calidad tradicional, ligeramente detrás debido a que la calidad tradicional tiene varias décadas de historia, mientras que la calidad de software tiene entre 50 y 30 años de haber surgido. En la industria del software es muy necesario saber identificar las necesidades de satisfacción del cliente sobre el producto o aplicación, utilizando buenas metodologías que satisfagan al cliente en los recursos que se utilizaron para el proyecto de software y un buen uso del talento humano. Una buena definición de calidad debe centrarse en los siguientes aspectos: 

Los requerimientos del software son los más importantes para poder hacer una medición de la calidad. Si éstos no se cumplen se identificara una mala calidad.



Es mejor seguir un estándar o guía para la definición de la calidad. La no definición o el no seguimiento de estándares y guías llevará a mala calidad.



Si no se hacen explícitos requerimientos no funcionales no se puede llevar a la satisfacción y esto no generaría un producto de mala calidad.

3. MODELOS DE CALIDAD DEL SOFTWARE Definir la Calidad de Software es una tarea compleja. Incluye muchos aspectos que deben ser caracterizados. Existen varios modelos y estándares de calidad del software que están definidos a continuación:

3.1 Modelo de McCall: En este modelo se describe la calidad como un concepto elaborado mediante relaciones jerárquicas de atributos de calidad, en base a una serie de criterios. Dicho atributos de calidad se concentran en tres aspectos importantes de un producto de software: características operativas, capacidad de cambios y adaptabilidad a nuevos entornos. Identifica una serie de criterios, tales como rastreabilidad, simplicidad, capacidad de expansión, etc. Las métricas desarrolladas están relacionadas con los atributos de calidad y la relación que se establece se mide en función del grado de cumplimiento de los criterios. En la siguiente tabla se establecen los tres ejes o puntos de vista importantes del producto en relación con los atributos de calidad.

Tabla 1 Puntos De Vista O Ejes

Atributo

Criterios

OPERACIÓN Facilidad de uso - Facilidad de operación: Atributos del software DEL que determinan la facilidad de operación del PRODUCTO software. - Facilidad de comunicación: Atributos del software que proporcionan entradas y salidas fácilmente asimilables. - Facilidad de aprendizaje: Atributos del software que facilitan la familiarización inicial del usuario con el software y la transición del modo actual de operación.

- Formación: El grado en que el software ayuda para permitir que nuevos usuarios apliquen el sistema.

OPERACIÓN DEL PRODUCTO

Integridad

- Control de accesos. Atributos del software que proporcionan control de acceso al software y los datos que maneja. - Facilidad de auditoría: Atributos del software que facilitan la auditoría de los accesos al software. - Seguridad: La disponibilidad de mecanismos que controlen o protejan los programas o los datos.

Corrección

- Completitud: Atributos del software que proporcionan la implementación completa de todas las funciones requeridas. - Consistencia: Atributos del software que proporcionan uniformidad en las técnicas y notaciones de diseño e implementación. - Trazabilidad o rastreabilidad: Atributos del software que proporcionan una traza desde los requisitos a la implementación con respecto a un entorno operativo concreto.

Fiabilidad

- Precisión: Atributos del software que proporcionan el grado de precisión requerido en los cálculos y los resultados. - Consistencia. - Tolerancia a fallos: Atributos del software que posibilitan la continuidad del funcionamiento bajo condiciones no usuales. - Modularidad: Atributos del software que proporcionan una estructura de módulos altamente independientes. - Simplicidad: Atributos del software que posibilitan la implementación de funciones de la forma más comprensible posible. - Exactitud: La precisión de los cálculos y del control.

Eficiencia

- Eficiencia en ejecución: Atributos del software que minimizan el tiempo de procesamiento. - Eficiencia en almacenamiento: Atributos del software que minimizan el espacio de almacenamiento necesario.

REVISION Facilidad de - Modularidad. DEL mantenimiento - Simplicidad. PRODUCTO - Consistencia. - Concisión: Atributos del software que posibilitan la implementación de una función con la menor cantidad de códigos posible. - Auto descripción: Atributos del software que proporcionan explicaciones sobre la implementación de las funciones. Facilidad de prueba

- Modularidad. - Simplicidad. - Auto descripción. - Instrumentación: Atributos del software que posibilitan la observación del comportamiento del software durante su ejecución para facilitar las mediciones del uso o la identificación de errores.

Flexibilidad

- Auto descripción. - Capacidad de expansión: Atributos del software que posibilitan la expansión del software en cuanto a capacidades funcionales y datos. - Generalidad: Atributos del software que proporcionan amplitud a las funciones implementadas. - Modularidad.

Reusabilidad

- Auto descripción. - Generalidad. - Modularidad. -Independencia entre sistema y software: Atributos del software que determinan su dependencia del entorno operativo. - Independencia del hardware: Atributos del software que determinan su dependencia del hardware.

Interoperabilidad - Modularidad. - Compatibilidad de comunicaciones: Atributos del software que posibilitan el uso de protocolos de comunicación e interfaces estándar. - Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estándar. - Estandarizacion en los datos: El uso de estructuras de datos y de tipos estándar a lo largo de todo el programa.

Portabilidad

- Auto descripción. - Modularidad. -Independencia entre sistema y software. - Independencia del hardware.

Fuente: http://www.monografias.com/trabajos5/call/call.shtml

3.2 Modelo FURPS: Basado en el modelo de McCall. Modelo desarrollado por Hewlett-Packard (HP) en 1987, desarrollando un conjunto de atributos de calidad de software y sus respectivos criterios. Su nombre fue dado por las siglas en ingles de los atributos a tener en cuenta en este modelo Funcionalidad (Functionality), Usabilidad (Usability), Confiabilidad (Reliability), Desempeño (Performance) y Capacidad de soporte (Supportability). Se utilizan para establecer métricas de la calidad para todas las actividades del proceso de desarrollo de un software, inclusive de un sistema de información. A continuación en la tabla 2 podrá observar una descripción de cada atributo y los atributos adicionales que presenta este modelo.

Tabla 2 SIGLA F

TIPO DE REQUERIMIENTO Functional Funcional

U

Usability

Facilidad de Uso

R

Reliability

Fiabilidad

P

Performance

Rendimiento

S

Supportability

Soporte

DESCRIPCIÓN Características, capacidades y algunos aspectos de seguridad. Factores humanos (interacción), ayuda, documentación. Frecuencia de fallos, capacidad de recuperación de un fallo y grado de previsión. Tiempos de respuesta, productividad, precisión, disponibilidad, uso de los recursos. Adaptabilidad, facilidad de mantenimiento,

Internacionalización, facilidad de configuración. Plus Implementación Limitación de recursos, lenguaje y herramientas. Interfaz Restricciones impuestas para la interacción con sistemas externos. Operaciones Gestión del sistema, pautas administrativas, puesta en marcha Empaquetamiento Forma de distribución Legales Licencia, Derechos de autor, etc. Fuente: http://clases3gingsof.wikifoundry.com/page/FURPS

+

3.3

Modelo Dromey

Resalta el hecho de que la calidad del producto es altamente determinada por los componentes del mismo (incluyendo documentos de requerimientos, guías de usuarios, diseños, y código), Sugiere el uso de cuatro categorías que implican propiedades de calidad, que son: correctitud, internas, contextuales y descriptivas.

Tabla 3 ATRIBUTO Correctitud

CRITERÍO Funcionalidad Confiabilidad Internas Mantenibilidad Eficiencia Confiabilidad Conceptuales Mantenibilidad Reusabilidad Portabilidad Confiabilidad Descrptivas Mantenibilidad Reusabilidad Portabilidad Usabilidad Fuente: http://es.slideshare.net/hopdie/metricasmmm

4. ATRIBUTOS DE CALIDAD DE SOFTWARE Los atributos de calidad son ortogonales a la funcionalidad. Son los requerimientos que especifican los criterios para juzgar la operación de un sistema en lugar de su comportamiento específico. Existen diferentes aplicaciones y agrupaciones de los atributos de calidad. Dentro de las más conocidas en la literatura clásica de esta área del conocimiento se encuentras las propuestas en el apartado anterior. A partir de ellas nacen nuevos modelos como los son la ISO-9126, la IEEE 1061, entre otras, pero el objetivo de este documento es definir los atributos de calidad y dar ejemplos de los mismos. Dentro de los atributos más utilizados se encuentran:

4.1 Funcionalidad La funcionalidad se podría definir como grado en que las necesidades asumidas por la implementación de una aplicación se satisfacen. Para poder definir si una aplicación es funcional o no, se deben de tener ciertos criterios de pruebas donde dichos criterios dicen el estado del sistema. Tales criterios son:



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



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



Interoperabilidad: Facilidad del producto software para interactuar con uno o más sistemas especificados.



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



Cumplimiento funcional: Facilidad del producto software para adherirse a normas, convenciones o regulaciones en leyes y prescripciones similares relacionadas con funcionalidad.

4.2 Confiabilidad Se podría definir la confiabilidad como Grado en que el sistema responde bajo las condiciones definidas durante un intervalo de tiempo dado. Y consta de los siguientes criterios de calidad:



Madurez: Facilidad del producto software para evitar fallar como resultado de fallos en el software.



Tolerancia a fallos: Facilidad del software para mantener un nivel especificado de prestaciones en caso de fallos software o de infringir sus interfaces especificados.



Facilidad de recuperación: Facilidad del producto software para reestablecer un nivel de prestaciones especificado y de recuperar los datos directamente afectados en caso de fallo.



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

4.3 Facilidad de Uso Son el conjunto de características que influyen en el esfuerzo requerido para el uso y la evaluación individual de cada uso por parte de un conjunto de usuarios dados.



Facilidad para ser entendido: Facilidad del producto software que permite al usuario entender si el software es adecuado y cómo puede ser usado para unas tareas o condiciones de uso particulares.



Facilidad para ser aprendido: Facilidad del producto software que permite al usuario aprender sobre su aplicación.



Facilidad para ser operado: Facilidad del producto software que permite al usuario operarlo y controlarlo.



Facilidad de atracción: Facilidad del producto software para ser atractivo al usuario.



Cumplimiento de la usabilidad: Facilidad del producto software para adherirse a normas, convenciones, guías de estilo o regulaciones relacionadas con la usabilidad.

4.4 Eficiencia Conjunto de características que determinan la relación entre el nivel de rendimiento del software y el número de recursos usados, bajo ciertas condiciones dadas.



Comportamiento temporal: Facilidad del producto software para proporcionar tiempos de respuesta, tiempos de proceso y potencia apropiados, bajo condiciones determinadas.



Utilización de recursos: Facilidad del producto software para usar las cantidades y tipos de recursos adecuados cuando el software lleva a cabo su función bajo condiciones determinadas.



Cumplimiento de la eficiencia: Facilidad del producto software para adherirse a normas o convenciones relacionadas con la eficiencia.

4.5 Portabilidad Conjunto de características que determinan la facilidad del software para ser transferido de un entorno de operación a otro.



Adaptabilidad: Facilidad del producto 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.



Facilidad de instalación: Facilidad del producto software para ser instalado en un entorno especificado.



Coexistencia: Facilidad del producto software para coexistir con otro software independiente, en un entorno común, compartiendo recursos comunes.



Facilidad para reemplazar: Facilidad del producto software para ser usado en lugar de otro producto software, para el mismo propósito, en el mismo entorno.



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

4.6 Facilidad de Mantenimiento Características del software que determinaran el esfuerzo requerido para implementar cambios.



Facilidad para ser analizado: Es la Facilidad del producto software para serle diagnosticadas deficiencias o causas de los fallos en el software, o para identificar las partes que han de ser modificadas.



Facilidad para ser cambiado: Facilidad del producto software que permite que una determinada modificación sea implementada.



Estabilidad: Facilidad del producto software para evitar efectos inesperados debidos a modificaciones del software.



Facilidad para ser probado: Facilidad del producto software que permite que el software modificado sea validado.



Cumplimiento de la mantenibilidad: Facilidad del producto software para adherirse a normas o convenciones relacionadas con la mantenibilidad.

5. MODELO ISO-9126 En el apartado anterior se presentó la definición de algunos atributos de calidad que son usados en su mayoría por el modelo ISO 9126, es uno de los mejores modelos de calidad y está basado en los modelos clásicos (véase capitulo 3). ISO 9126 es un estándar internacional para la evaluación del Software, fue originalmente desarrollado en 1991 para proporcionar un esquema para la evaluación de calidad del software. A continuación se encontrará una tabla con los atributos de calidad que abarca este modelo:

Tabla 4 ATRIBUTOS Funcionalidad

Confiabilidad

Usabilidad

Eficiencia Mantenibilidad

Portabilidad

CRITERIOS Adecuación Exactitud Interoperabilidad Seguridad Cumplimiento funcional Madurez Recuperabilidad Tolerancia a fallos Cumplimiento de fiabilidad Aprendizaje Comprensión Operatividad Atractividad Comportamiento en el tiempo Comportamiento de recursos Estabilidad Facilidad de análisis Facilidad de cambios Facilidad de pruebas Capacidad de instalación Capacidad de reemplazamiento Adaptabilidad Co-existencia Fuente: Elaboración Propia

Además de los criterios presentados en la tabla anterior cabe resaltar que existe un criterio que se aplica en cada uno de los atributos y es la conformidad. ISO 9126 distingue entre fallo y no conformidad. Un fallo es el incumplimiento de los requisitos previos, mientras que la no conformidad es el incumplimiento de los requisitos especificados. Una distinción similar es la que se establece entre validación y verificación. El estándar provee un entorno para que las organizaciones definan un modelo de calidad para el producto software. Haciendo esto así, sin embargo, se lleva a cada organización la tarea de especificar precisamente su propio modelo. Esto podría ser hecho, por ejemplo, especificando los objetivos para las métricas de calidad las cuales evalúan el grado de presencia de los atributos de calidad.

6. BIBLIOGRAFÍA

  





Pressman, Roger, Ingeniería de Software 3ª Ed., McGraw Hill, 1993. Standard Glossary of Software Engineering Terminology, IEEE STD 6101990, IEEE 1990 Pardo, C. (17 de marzo del 2013). ESTÁNDARES Y MODELOS DE CALIDAD DEL SOFTWARE [Mensaje de un blog]. Recuperado de: http://evaluaciondesoftware2013.blogspot.com/ Smartsys Cia Ltda. (1 de septiembre del 2011). Norma ISO-9126 para análisis de software [Mensaje de un blog]. Recuperado de: http://bemuserp.blogspot.com/2011/09/norma-iso-9126-para-analisisde.html Collasas, Ruby. Atributos de Calidad de Software [en línea]. Universidad de los Andes Colombia. [Fecha de consulta: 05 de Mayo del 2015]. Disponible en: https://sistemas.uniandes.edu.co/~isis2603/dokuwiki/lib/exe/fetch.php?medi a=principal:isis2603-iso9126.pdf