atributos de calidad del software

17
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

Upload: salomonriverar

Post on 26-Sep-2015

310 views

Category:

Documents


13 download

DESCRIPTION

Orientado a la Arquitectura de Software

TRANSCRIPT

  • ATRIBUTOS DE CALIDAD DEL SOFTWARE

    Ingeniera del Software III

    Luis Fernando Salazar Escamilla

    Jhon Fredy Loaiza Herrera

    Ingeniera de Sistemas y Computacin

    Universidad Tecnolgica de Pereira

    Mayo de 2015

  • Contenido

    1. INTRODUCCIN ..................................................................................................................4

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

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

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

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

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

    4. 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. BIBLIOGRAFA ................................................................................................................... 17

  • Contenido de Tablas

    Tabla 1 ................................................................................................................................................6

    Tabla 2 ................................................................................................................................................9

    Tabla 3 ............................................................................................................................................. 10

    Tabla 4 ............................................................................................................................................. 15

  • 1. INTRODUCCIN

    La calidad del software es un punto muy delicado a la hora de desarrollar y para

    esto se invierten muchos esfuerzos. Sin embargo, por ms que se trate el software

    nunca es perfecto y siempre puede ser mejor. Cualquier proyecto de software tiene

    como objetivo producir una aplicacin 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 disear e

    implementar software para satisfacer una serie de requisitos que podramos 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 aplicacin, que captura las mltiples facetas de cmo se logran

    los requerimientos funcionales de la aplicacin. Todos menos la aplicacin ms

    trivial tendr requerimientos no funcionales que se pueden expresar en trminos de

    requisitos de atributos de calidad.

  • 2. CALIDAD DEL SOFWARE

    Caractersticas propias del software, aquellas que se quieren controlar y asegurar,

    el software es un producto inmaterial que no se fabrica, tampoco se degradan

    fsicamente, sino que se desarrolla. El software puede tener errores, incidencias

    pero no son similares a lo que cualquier equipo de carcter fsico.

    La calidad del software se encuentra casi a la par de la calidad tradicional,

    ligeramente detrs debido a que la calidad tradicional tiene varias dcadas de

    historia, mientras que la calidad de software tiene entre 50 y 30 aos de haber

    surgido.

    En la industria del software es muy necesario saber identificar las necesidades de

    satisfaccin del cliente sobre el producto o aplicacin, utilizando buenas

    metodologas que satisfagan al cliente en los recursos que se utilizaron para el

    proyecto de software y un buen uso del talento humano.

    Una buena definicin de calidad debe centrarse en los siguientes aspectos:

    Los requerimientos del software son los ms importantes para poder hacer

    una medicin de la calidad. Si stos no se cumplen se identificara una mala

    calidad.

    Es mejor seguir un estndar o gua para la definicin de la calidad. La no

    definicin o el no seguimiento de estndares y guas llevar a mala calidad.

    Si no se hacen explcitos requerimientos no funcionales no se puede llevar a

    la satisfaccin y esto no generara 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 estndares de calidad del

    software que estn definidos a continuacin:

    3.1 Modelo de McCall:

    En este modelo se describe la calidad como un concepto elaborado mediante

    relaciones jerrquicas 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: caractersticas operativas, capacidad de cambios y adaptabilidad a

    nuevos entornos. Identifica una serie de criterios, tales como rastreabilidad,

    simplicidad, capacidad de expansin, etc. Las mtricas desarrolladas estn

    relacionadas con los atributos de calidad y la relacin que se establece se mide en

    funcin del grado de cumplimiento de los criterios. En la siguiente tabla se

    establecen los tres ejes o puntos de vista importantes del producto en relacin con

    los atributos de calidad.

    Tabla 1

    Puntos De Vista O Ejes

    Atributo Criterios

    OPERACIN DEL

    PRODUCTO

    Facilidad de uso - Facilidad de operacin: Atributos del software que determinan la facilidad de operacin del software. - Facilidad de comunicacin: Atributos del software que proporcionan entradas y salidas fcilmente asimilables. - Facilidad de aprendizaje: Atributos del software que facilitan la familiarizacin inicial del usuario con el software y la transicin del modo actual de operacin.

  • - Formacin: El grado en que el software ayuda para permitir que nuevos usuarios apliquen el sistema.

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

    Correccin - Completitud: Atributos del software que proporcionan la implementacin completa de todas las funciones requeridas. - Consistencia: Atributos del software que proporcionan uniformidad en las tcnicas y notaciones de diseo e implementacin. - Trazabilidad o rastreabilidad: Atributos del software que proporcionan una traza desde los requisitos a la implementacin con respecto a un entorno operativo concreto.

    OPERACIN DEL

    PRODUCTO

    Fiabilidad - Precisin: Atributos del software que proporcionan el grado de precisin requerido en los clculos 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 mdulos altamente independientes. - Simplicidad: Atributos del software que posibilitan la implementacin de funciones de la forma ms comprensible posible. - Exactitud: La precisin de los clculos y del control.

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

  • REVISION DEL

    PRODUCTO

    Facilidad de mantenimiento

    - Modularidad. - Simplicidad. - Consistencia. - Concisin: Atributos del software que posibilitan la implementacin de una funcin con la menor cantidad de cdigos posible. - Auto descripcin: Atributos del software que proporcionan explicaciones sobre la implementacin de las funciones.

    Facilidad de prueba

    - Modularidad. - Simplicidad. - Auto descripcin. - Instrumentacin: Atributos del software que posibilitan la observacin del comportamiento del software durante su ejecucin para facilitar las mediciones del uso o la identificacin de errores.

    Flexibilidad - Auto descripcin. - Capacidad de expansin: Atributos del software que posibilitan la expansin del software en cuanto a capacidades funcionales y datos. - Generalidad: Atributos del software que proporcionan amplitud a las funciones implementadas. - Modularidad.

    Reusabilidad - Auto descripcin. - 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 comunicacin e interfaces estndar. - Compatibilidad de datos: Atributos del software que posibilitan el uso representaciones de datos estndar. - Estandarizacion en los datos: El uso de estructuras de datos y de tipos estndar a lo largo de todo el programa.

  • Portabilidad - Auto descripcin. - 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), Desempeo (Performance) y Capacidad de soporte

    (Supportability). Se utilizan para establecer mtricas de la calidad para todas las

    actividades del proceso de desarrollo de un software, inclusive de un sistema de

    informacin. A continuacin en la tabla 2 podr observar una descripcin de cada

    atributo y los atributos adicionales que presenta este modelo.

    Tabla 2

    SIGLA TIPO DE REQUERIMIENTO DESCRIPCIN

    F Functional Funcional Caractersticas, capacidades y algunos aspectos de seguridad.

    U Usability Facilidad de Uso Factores humanos (interaccin), ayuda, documentacin.

    R Reliability Fiabilidad Frecuencia de fallos, capacidad de recuperacin de un fallo y grado de previsin.

    P Performance Rendimiento Tiempos de respuesta, productividad, precisin, disponibilidad, uso de los recursos.

    S Supportability Soporte Adaptabilidad, facilidad de mantenimiento,

  • Internacionalizacin, facilidad de configuracin.

    + Plus Implementacin Limitacin de recursos, lenguaje y herramientas.

    Interfaz Restricciones impuestas para la interaccin con sistemas externos.

    Operaciones Gestin del sistema, pautas administrativas, puesta en marcha

    Empaquetamiento Forma de distribucin

    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, guas de

    usuarios, diseos, y cdigo), Sugiere el uso de cuatro categoras que implican

    propiedades de calidad, que son: correctitud, internas, contextuales y descriptivas.

    Tabla 3

    ATRIBUTO CRITERO

    Correctitud 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 operacin de un sistema en lugar de su

    comportamiento especfico. Existen diferentes aplicaciones y agrupaciones de los

    atributos de calidad. Dentro de las ms conocidas en la literatura clsica 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 ms utilizados se encuentran:

    4.1 Funcionalidad

    La funcionalidad se podra definir como grado en que las necesidades asumidas por

    la implementacin de una aplicacin se satisfacen. Para poder definir si una

    aplicacin es funcional o no, se deben de tener ciertos criterios de pruebas donde

    dichos criterios dicen el estado del sistema. Tales criterios son:

    Adecuacin: 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 precisin.

    Interoperabilidad: Facilidad del producto software para interactuar con uno o

    ms sistemas especificados.

    Seguridad de acceso: Facilidad del producto software para proteger

    informacin 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 podra 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 recuperacin: 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 caractersticas que influyen en el esfuerzo requerido para el uso

    y la evaluacin 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 cmo 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 aplicacin.

  • Facilidad para ser operado: Facilidad del producto software que permite al

    usuario operarlo y controlarlo.

    Facilidad de atraccin: Facilidad del producto software para ser atractivo al

    usuario.

    Cumplimiento de la usabilidad: Facilidad del producto software para

    adherirse a normas, convenciones, guas de estilo o regulaciones

    relacionadas con la usabilidad.

    4.4 Eficiencia

    Conjunto de caractersticas que determinan la relacin entre el nivel de rendimiento

    del software y el nmero 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.

    Utilizacin de recursos: Facilidad del producto software para usar las

    cantidades y tipos de recursos adecuados cuando el software lleva a cabo

    su funcin 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 caractersticas que determinan la facilidad del software para ser

    transferido de un entorno de operacin 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 propsito por el propio software

    considerado.

  • Facilidad de instalacin: 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 comn, compartiendo recursos comunes.

    Facilidad para reemplazar: Facilidad del producto software para ser usado en

    lugar de otro producto software, para el mismo propsito, 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

    Caractersticas 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 modificacin 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 definicin de algunos atributos de calidad que

    son usados en su mayora por el modelo ISO 9126, es uno de los mejores modelos

    de calidad y est basado en los modelos clsicos (vase capitulo 3). ISO 9126 es

    un estndar internacional para la evaluacin del Software, fue originalmente

    desarrollado en 1991 para proporcionar un esquema para la evaluacin de calidad

    del software. A continuacin se encontrar una tabla con los atributos de calidad

    que abarca este modelo:

    Tabla 4

    ATRIBUTOS CRITERIOS

    Funcionalidad Adecuacin

    Exactitud

    Interoperabilidad

    Seguridad

    Cumplimiento funcional

    Confiabilidad Madurez

    Recuperabilidad

    Tolerancia a fallos

    Cumplimiento de fiabilidad

    Usabilidad Aprendizaje

    Comprensin

    Operatividad

    Atractividad

    Eficiencia Comportamiento en el tiempo

    Comportamiento de recursos

    Mantenibilidad Estabilidad

    Facilidad de anlisis

    Facilidad de cambios

    Facilidad de pruebas

    Portabilidad Capacidad de instalacin

    Capacidad de reemplazamiento

    Adaptabilidad

    Co-existencia

    Fuente: Elaboracin Propia

  • Adems 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 distincin similar es la que se establece entre

    validacin y verificacin.

    El estndar 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

    organizacin la tarea de especificar precisamente su propio modelo. Esto podra ser

    hecho, por ejemplo, especificando los objetivos para las mtricas de calidad las

    cuales evalan el grado de presencia de los atributos de calidad.

  • 6. BIBLIOGRAFA

    Pressman, Roger, Ingeniera de Software 3 Ed., McGraw Hill, 1993.

    Standard Glossary of Software Engineering Terminology, IEEE STD 610-

    1990, IEEE 1990

    Pardo, C. (17 de marzo del 2013). ESTNDARES 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

    anlisis de software [Mensaje de un blog]. Recuperado de:

    http://bemuserp.blogspot.com/2011/09/norma-iso-9126-para-analisis-

    de.html

    Collasas, Ruby. Atributos de Calidad de Software [en lnea]. 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