25
Proyecto de Ingeniería Web Calidad de las Aplicaciones Web 1 Título Procesos de las Aplicaciones Web Informe sobre la “Calidad de las Aplicaciones Web” Alumno: Enrique J. Abril Pérez Profesores: Francisco José García Peñalvo María N. Moreno García

Calidad Aplicaciones Web

Embed Size (px)

DESCRIPTION

Calidad En Aplicaciones Web

Citation preview

Page 1: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

1

Título

Procesos de las Aplicaciones Web

Informe sobre la “Calidad de las Aplicaciones Web”

Alumno: Enrique J. Abril Pérez

Profesores: Francisco José García Peñalvo María N. Moreno García

Page 2: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

2

INDICE

1. OBJETIVOS ..................................................................................................................................... 3

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

3. CONCEPTOS PREVIOS................................................................................................................. 6

I. ¿QUÉ SE ENTIENDE POR “CALIDAD”?.............................................................................................. 6

II. ¿POR QUÉ “CALIDAD”?................................................................................................................... 7

III. TIPOS DE CALIDAD ......................................................................................................................... 8

IV. ¿QUÉ ES UNA APLICACIÓN WEB? ................................................................................................... 8

4. CALIDAD DEL SOFTWARE....................................................................................................... 13

I. ¿QUÉ ES LA CALIDAD DEL SOFTWARE? ......................................................................................... 13

II. CARACTERÍSTICAS DE LA CALIDAD DEL SOFTWARE...................................................................... 14

III. NORMAS ISO / IEC 9216 ............................................................................................................. 16

IV. UTILIDAD DE LAS NORMAS ISO / IEC 9216 .................................................................................. 18

V. MEDICIÓN DEL SOFTWARE............................................................................................................ 18

MÉTRICAS DE CALIDAD ................................................................................................................ 19

5. MODELOS DE CALIDAD............................................................................................................ 20

6. CONTEXTO ................................................................................................................................... 22

EVOLUCIÓN DE LA MEJORA DE LA CALIDAD.................................................................................. 22

7. CONCLUSIONES .......................................................................................................................... 23

8. BIBLIOGRAFIA ............................................................................................................................ 25

Page 3: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

3

1. OBJETIVOS

o Profundizar en el ámbito de la calidad del software, haciendo un especial énfasis en la calidad de las aplicaciones Web

o Transmitir la importancia de este área en el desarrollo de las aplicaciones software basadas

en Web y en su evolución a lo largo del tiempo (mantenimiento)

o Consolidar y ampliar los conocimientos adquiridos durante la formación teórica

o Proponer unas pautas que debería de seguir todo desarrollo de aplicaciones Web para alcanzar productos finales de alta calidad

o Estudiar los estándares y marcos de calidad existentes para la medición y evaluación de la

calidad del proceso, de los productos (intermedios o finales), de la calidad en uso, así como otras propuestas para la estimación de proyectos Web.

o Proporcionar al público objetivo una visión integral de las distintas perspectivas en la

calidad de un sistema de información Web

Page 4: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

4

2. INTRODUCCIÓN

La principal motivación que me ha llevado a decidirme por este proyecto ha sido el poder investigar y ampliar mis conocimientos en el área de la calidad del software, concretamente en el ámbito de las aplicaciones Web.

Reseñar que todos los temas relacionados con la calidad adquieren cada día mayor

importancia en los ámbitos económicos y organizativos, y de modo particular en los Sistemas de Información Web.

Los continuos avances impuestos por las tecnologías han propiciado la evolución de los

sitios Web, inicialmente utilizados como repositorio de información, a aplicaciones cada vez más complejas en términos de estructura, funcionalidad e interfaz. El alcance y la complejidad de estas aplicaciones varían extensamente y pueden ser desde servicios de escala reducida hasta aplicaciones empresariales en larga escala distribuidas en la Internet.

En la actualidad, la comunidad de Ingeniería del Software reconoce que las aplicaciones

Web poseen características que las diferencian de los sistemas tradicionales. Estas características se deben al tamaño y complejidad de las aplicaciones, el carácter multidisciplinar del equipo de desarrollo, la tasa apresurada de entrega del proyecto, etc. Éstas características hacen con que los procesos, modelos y métricas existentes para evaluar la calidad tengan que ser adaptados para considerar los cambios impuestos por las nuevas tecnologías.

Como medida preventiva, el proceso de producción de sistemas de información Web debe

ser gestionado de una manera rigurosa y cuantitativa. La utilización de principios de medición para evaluar el desarrollo Web proporciona una retroalimentación que ayudará a entender, controlar, predecir, y mejorar estos productos y su proceso de desarrollo. Como en cualquier proyecto software, tener estimaciones realistas del coste y esfuerzo requerido en etapas tempranas del ciclo de vida de las aplicaciones Web propician a los directores de proyecto y organizaciones el manejo eficiente de sus recursos.

Entre los aspectos fundamentales de la calidad de las aplicaciones Web destacamos:

la medición y evaluación del producto software el control del proceso de desarrollo

A continuación mostraremos los estándares y modelos de evaluación y mejora de los

procesos software que están relacionados con la calidad, en cualquiera de los términos analizados.

ISO 9001:2000. Modelo para conseguir la calidad total en el diseño, desarrollo, producción, instalación y servicio post-venta. ISO 9000-3:1991. Guía para la aplicación de la norma ISO 9001 al desarrollo, suministro y mantenimiento de software.

Page 5: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

5

En todo caso, si nos certificáramos según la ISO 9000-3, implicaría que no añade ni cambia los requerimientos de la ISO 90001, sino que los amplia y aclara. Otras normas aplicables: ISO 9004-1:2000. Gestión de la calidad y elementos del sistema de calidad (Guía para establecer el QA). ISO 8402:1995. Gestión de la calidad y garantía de la calidad. Vocabulario. ISO 12207:1995. Procesos del ciclo de vida del software. ISO/IEC 9126:1991/2001. Características de la calidad de un producto software. ISO/IEC 12119:1995. Productos software: evaluación y test. ISO/IEC 14102:1995. Guía para la evaluación y selección de herramientas CASE.

De todos estos estándares y modelos analizaremos con especial atención las normas

ISO/EIC 9126. Dichas normas nos permitirán conocer con mayor profundidad qué características debe cumplir todo producto software para que sea de alta calidad.

El informe lo hemos estructurado atendiendo a:

o definición de conceptos previos o calidad del software (definición, características, medición,…) o modelos de calidad existentes o contexto sobre el que nos encontramos o conclusiones obtenidas tras el estudio

Page 6: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

6

3. CONCEPTOS PREVIOS

Con objeto de estudiar la calidad del software se hace necesario definir este atributo. Podremos encontrarnos que una gran variedad de definiciones cuyo origen es muy variado y diverso (instituciones, organizaciones, estudiosos, etc.). A continuación vamos a intentar responder a las siguientes cuestiones:

¿Qué se entiende por calidad? ¿Por qué calidad? Tipos de calidad ¿Qué es una aplicación Web?

I. ¿Qué se entiende por “Calidad”?

Definición del concepto “calidad” según: 1) RAE (Real Academia Española) – Diccionario lengua española

Calidad (del lat. Qualitas, -atis y este calco del griego poiothz) .f.

Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor. Buena calidad, superioridad o excelencia. Carácter, genio, índole. Condición o requisito que se pone en un contrato. Estado de una persona, naturaleza, edad y demás circunstancias y condiciones que se

requieren para un cargo o dignidad. Nobleza del linaje. Importancia o gravedad de algo. PL. Prendas personales Condiciones que se ponen en algunos juegos de naipes.

De “calidad” Dicho de una persona o de una cosa: Que goza de estimación general.

2) Diccionario de uso del Español

Calidad, en sentido amplio, equivale a "cualidad". Como se puede observar las acepciones del término son muy variopintas,

3) Wikipedia

La palabra calidad tiene múltiples significados:

De un producto o servicio es la percepción que el cliente tiene del mismo. Conjunto de propiedades inherentes a un objeto que permiten apreciarlo como igual,

mejor o peor que el resto de objetos de los de su especie. Conjunto de cualidades que pueden definirse como buena, mala o regular. Conjunto de propiedades inherentes a un objeto que le confieren capacidad para

satisfacer necesidades implícitas o explícitas.

Page 7: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

7

Conjunto de propiedades y características (implícitas o establecidas) de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades implícitas o establecidas.

Debe definirse en el contexto que se esté considerando, por ejemplo, la calidad del servicio postal, del servicio dental, del producto, de vida, etc.

4) En ámbitos empresariales

Grado en el que un conjunto de características inherentes cumple con los requisitos. El conjunto de actividades encaminadas a descubrir y satisfacer las necesidades de

un colectivo o de una sociedad en general. Satisfacción del cliente y conformidad con sus requisitos y necesidades. El grado de satisfacción que produce al cliente.

II. ¿Por qué “Calidad”?

La industria del software, como tal industria, tiene muchas características de la industria tradicional, entre ellas la necesidad de que sus productos sean de calidad. El tema de la calidad está en el orden del día tanto en los medios de comunicación escritos y audiovisuales como en las revistas técnicas, y lo más importante, tiene una presencia continuada por el interés que despierta. Todo esto tiene como fundamento que el papel que la calidad ejerce sobre la competitividad empresarial es enorme. Hasta tal punto que incluso la Unión Europea propone la necesidad de la evaluación y certificación de los productos europeos mediante la calidad europea, como medio de discriminación en mercados internacionales. Dado que la situación actual está marcada por la exigencia máxima en un mercado abierto, se hace más necesaria que nunca la producción de productos de calidad. La calidad es crítica para la supervivencia de las empresas por diversas razones, entre las que destacamos:

• es un factor competitivo • es esencial para el comercio internacional • reduce las pérdidas producidas por la no calidad • mantiene a los clientes e incrementa los beneficios • es el sello distintivo de los negocios de nivel mundial

Page 8: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

8

III. Tipos de Calidad

La industria del software, como tal industria, tiene muchas características de la industria tradicional. Podemos distinguir tres tipos de calidad relacionados entre sí: calidad necesaria, calidad programada (planificada) y calidad realizada. Calidad planificada. Es el nivel de calidad que se propone obtener el fabricante. Calidad necesaria. Es la calidad que pide el cliente y la que le gustaría recibir. Calidad realizada. Es la calidad que se puede obtener debido a las personas que realizan el trabajo o a los medios utilizados.

Calidad Realizada

Calidad Planificada

Calidad Necesaria

Podemos representar estas calidades como tres círculos que se cortan. Lo que la gestión de la calidad pretende conseguir es que el área común sea la mayor posible, incluso que lleguen a coincidir para evitar insatisfacciones y gastos superfluos. A veces se habla de calidad percibida, que no tiene que coincidir con la realizada, ya que depende de la subjetividad de algunas de las características, por ejemplo la estética, y es debido a que los usuarios no disponen de la información completa. En estos casos los productos o servicios se evalúan más por su nombre de marca o la publicidad que por sus características objetivas. La calidad percibida es el grado de calidad que el cliente cree que tiene el producto o servicio. Al ser subjetiva del cliente, el sistema de gestión poco puede hacer para que la calidad percibida sea igual a la realizada, salvo incrementar la comunicación a fin de conseguir la convergencia.

IV. ¿Qué es una Aplicación Web?

En ingeniería del software una aplicación Web es aquella que los usuarios usan accediendo a un servidor Web a través de Internet o de una Intranet. Las aplicaciones Web son populares debido a la practicidad del navegador Web como cliente ligero.

Page 9: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

9

La habilidad para actualizar y mantener aplicaciones Web sin distribuir e instalar software en miles de potenciales clientes es otra razón de su popularidad. Aplicaciones como los Webmails, wikis, Weblogs, MMORPGs (juegos de rol multijugador masivo online), tiendas en línea, etc. son ejemplos bien conocidos de aplicaciones Web. Un poco de historia En los primeros tiempos de la computación cliente-servidor, cada aplicación tenía su propio programa cliente y su interfaz de usuario, estos tenían que ser instalados separadamente en cada estación de trabajo de los usuarios. Una mejora al servidor, como parte de la aplicación, requería típicamente una mejora de los clientes instalados en cada una de las estaciones de trabajo, añadiendo un costo de soporte técnico y disminuyendo la eficiencia del personal. En contraste, las aplicaciones Web generan dinámicamente una serie de páginas en un formato estándar, soportado por navegadores Web comunes como HTML o XHTML. Se utilizan lenguajes interpretados del lado del cliente, tales como JavaScript, para añadir elementos dinámicos a la interfaz de usuario. Generalmente cada página Web individual es enviada al cliente como un documento estático, pero la secuencia de páginas provee de una experiencia interactiva. Interfaz Las interfaces Web tienen ciertas limitantes en la funcionalidad del cliente. Métodos comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-soltar no están soportadas por las tecnologías Web estándar. Los desarrolladores Web comúnmente utilizan lenguajes interpretados del lado del cliente para añadir más funcionalidad, especialmente para crear una experiencia interactiva que no requiera recargar la página cada vez (cosa que suele molestar a los usuarios). Recientemente se han desarrollado tecnologías para coordinar estos lenguajes con tecnologías del lado del servidor, como por ejemplo PHP. AJAX, es una técnica de desarrollo Web que usa una combinación de varias tecnologías. Consideraciones Técnicas Una ventaja significativa en la construcción de aplicaciones Web que soporten las características de los navegadores estándar es que deberían de funcionar igual independientemente de la versión del sistema operativo instalado en el cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas operativos, la aplicación es escrita una vez y es mostrada casi en todos lados. Sin embargo, aplicaciones inconsistentes de HTML, CSS, DOM y otras especificaciones de navegadores pueden causar problemas en el desarrollo y soporte de aplicaciones Web. Adicionalmente, la habilidad de los usuarios a personalizar muchas de características de pantalla (como tamaño y color de fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con la consistencia de la aplicación Web. Otra (poco común) aproximación es utilizar Macromedia Flash o Java applets para producir parte o toda la interfaz de usuario. Como casi todos los navegadores incluyen soporte para estas tecnologías (usualmente por medio de plug-ins), aplicaciones basadas en Flash o Java pueden ser implementadas con aproximadamente la misma facilidad. Como hacen caso omiso de las configuraciones de los navegadores estas tecnologías permiten más control sobre la interfaz, aunque incompatibilidad entre implementaciones de Flash o Java puedan traer nuevas

Page 10: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

10

complicaciones. Por las similitudes con una arquitectura clienta-servidor, con un cliente un poco “especializado”, hay disputas sobre si llamara a estos sistemas “aplicaciones Web”; un termino alternativo es “aplicación rica de Internet”. Estructura (Arquitectura de capas) Aunque muchas variaciones son posibles, una aplicación Web está comúnmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador Web es la primera capa (cliente / interfaz de usuario), un motor usando alguna tecnología Web dinámica (ejemplo: CGI, PHP, Java Servlets o ASP) es la capa de en medio (reglas de negocio), y una base de datos como última capa. El navegador Web manda peticiones a la capa media, que la entrega valiéndose de consultas y actualizaciones a la base de datos generando una interfaz de usuario. Ejemplo de arquitectura 3 capas:

La tendencia actual y futura es la arquitectura de n capas, en la que se separan las reglas de negocios del acceso a los datos. Entre las razones de su uso en el desarrollo de aplicaciones encontramos:

Abstracción total acerca del origen de datos. Las distintas capas se especializan absolutamente en la funcionalidad que deben brindar (procesamiento en las reglas de negocios o presentación de datos en la capa cliente) sin importar cual es el origen de los datos procesados.

Bajo costo de desarrollo y mantenimiento de las aplicaciones. Si bien al momento del

diseño podemos observar una mayor carga de complejidad, la utilización de esta arquitectura nos brinda un control más cercano de cada componente, así como también la posibilidad de una verdadera reutilización del código. Por ejemplo: La reutilización de código y a su vez, una herramienta que nos ofrece seguridad, ya que mediante la utilización de esta arquitectura, el desarrollador de una interfaz de usuario jamás llegará a manipular directamente un dato en nuestro servidor sino es a través de un componente.

Page 11: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

11

Estandarización de las reglas de negocio. Las reglas de negocio se encuentran encapsuladas en un conjunto de rutinas comunes y pueden ser llamadas desde diversas aplicaciones sin necesidad de saber cómo esta funciona o ha sido diseñada.

Ejemplo de arquitectura 4 capas;

Uso en negocios Una estrategia que está emergiendo para las empresas proveedoras de software, es proveer acceso vía Web al software. Para aplicaciones previamente distribuidas como de escritorio, esto puede requerir el desarrollo de una nueva aplicación o simplemente adaptar la aplicación para usar una interfaz Web. Estos programas permiten al usuario pagar una cuota mensual o anual para usar la aplicación, sin necesidad de instalarla en la computadora del usuario. Las compañías que siguen esta estrategia son llamadas Proveedores de Aplicaciones de Servicio (ASP por sus siglas en ingles), este modelo de negocios esta atrayendo la atención de la industria del software. Lenguajes de programación Existen numerosos lenguajes de programación utilizados para el desarrollo de Aplicaciones Web, entre los que destacan: * PHP * ASP/ASP.NET * JSP * Perl * Ruby * Python Aunque ciertamente ASP no es un lenguaje de programación, sino una arquitectura de desarrollo Web en la que se pueden usar por debajo distintos lenguajes (por ejemplo VB.NET o C# para ASP.NET, o VBScript/JScript para ASP).

Page 12: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

12

Ejemplos de aplicaciones Web

• Gmail por Google. Correo electrónico. • MyWebDesktop.net • 24SevenOffice. Solución ERP/CRM. • Basecamp por 37Signals. Administración de proyectos. • Bouchard Translator. Traductor en línea de fuente abierta. • eRequirements. Administrador de requerimientos para desarrollo de aplicaciones Web. • eZ publish Administrador de contenido de fuente abierta. • Flickr por Ludicorp. Administrador de fotografías. • NetSuite ERP/CRM • PhantomEZForm Creador de formularios Web. • Salesforce.com CRM • Stellent UCM. Administrador de contenidos. • SugarCRM CRM • AceProject. Administración de proyectos. • Zheta. Framework por objetos hecho con PHP

Page 13: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

13

4. CALIDAD DEL SOFTWARE

I. ¿Qué es la calidad del software? “Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas” (IEEE 729-83) “Conjunto de propiedades y de características de un producto o servicio, que le confieren aptitud para satisfacer una necesidades explícitas o implícitas” (ISO 8402:1984) “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). “Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándares de desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que desea el usuario” (Pressman, 1998) La calidad del software puede ser entendida como el grado con el cual el usuario percibe que el software satisface sus expectativas (IEEE 729-83). El tipo y número de actividades de garantía de calidad que es necesario adoptar en un proyecto o en una organización depende del tamaño y complejidad de los productos software que se estén desarrollando. También influyen otros factores, como pueden ser el tipo de proceso de desarrollo de software o los métodos y herramientas utilizados, la estructura organizativa de la organización, la motivación del personal, entre otros. Según el modelo de calidad descrito en la ISO 9126, la calidad de un proceso contribuye a mejorar la calidad del producto, y, a su vez, la calidad del producto contribuye a mejorar la calidad en uso. La finalidad de la calidad en uso es medir la efectividad, productividad, seguridad y la satisfacción de los usuarios (pertenecientes a perfiles determinados) que interactúan con el producto en escenarios específicos de uso. Las dimensiones de calidad de las aplicaciones Web y sus indicadores se deben identificar considerando algunas características que las diferencian de otras aplicaciones del tipo:

Aplicaciones hipermedia Sistemas distribuidos Usuarios no identificados Múltiples perfiles de usuario

Dimensiones de calidad (aplicaciones Web) Calidad de Productos Web

o Calidad de Modelos Conceptuales o Calidad del Producto Final

Calidad del Proceso de Desarrollo Web Calidad en Uso

Page 14: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

14

II. Características de la calidad del software Las características generales de la calidad del software se aplican a las aplicaciones Web y nos proporcionan una base útil para evaluar la calidad de los sistemas Web. El modelo de calidad ISO/IEC 9216 (Internacional Standard “Information technology – Software Product Quality”) define 6 características de calidad que debe de cumplir toda aplicación Web para que sea un producto de calidad.

1. Funcionalidad : Es la capacidad de un producto software de satisfacer los requisitos funcionales prescriptos y las necesidades implícitas de los usuarios.

2. Fiabilidad : Es la capacidad de un producto software de mantener su nivel de desempeño, bajo condiciones establecidas, por un periodo de tiempo.

3. Usabilidad: Es la capacidad de un producto software de ser comprendido, aprendido, usado, atractivo y conforme con las reglamentaciones y guías de usabilidad.

4. Eficiencia: Es la capacidad de un producto software de proporcionar un rendimiento apropiado, de acuerdo a la cantidad de recursos usados bajo condiciones establecidas.

5. Mantenibilidad: Es la capacidad de un producto software para ser modificado. Las modificaciones pueden incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en los requisitos o en las especificaciones funcionales.

6. Portabilidad: Es la capacidad de un producto software de ser transferido de un ambiente a otro. Nota: El ambiente puede ser organizacional, de software o de hardware.

Page 15: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

15

Calidad aplicación Web

Funcionalidad

Fiabilidad

Usabilidad Eficiencia

Portabilidad

Mantenibilidad

Capacidad para ser entendido

Capacidad para ser aprendido

Capacidad para ser operado

Capacidad de atracción

Cumplimiento de la usabilidad

Madurez

Tolerancia a Fallos

Capacidad de recuperación

Cumplimiento de la fiabilidad

Adecuación

Exactitud

Seguridad de Acceso

Cumplimiento funcional

Comportamiento Temporal (Tiempo de respuesta) Utilización de Recursos Cumplimiento de la eficiencia

Adaptabilidad

Instalabilidad

Coexistencia

Capacidad para reemplazar

Cumplimiento de la portabilidad

Capacidad para ser analizado

Capacidad para ser cambiado

Estabilidad

Capacidad para ser probado

Cumplimiento de la mantenibilidad

Olsina et al. (2001) han desarrollado un árbol de requisitos de calidad que identifica un conjunto de atributos que conducen a aplicaciones Web de alta calidad.

1) Usabilidad •Capacidad de comprensión del sitio global •Servicios de ayuda y realimentación en línea •Capacidades estéticas y de interfaz •Servicios especiales

2) Funcionalidad

•Capacidad de recuperación y de búsqueda •Servicios de búsqueda y navegación •Servicios relacionados con el dominio de la aplicación

3) Fiabilidad

•Proceso correcto de enlace •Recuperación de errores •Validación y recuperación de la entrada del usuario

4) Eficiencia

•Rendimiento del tiempo de respuesta •Velocidad de generación de páginas •Velocidad de generación de gráficos

5) Capacidad de mantenimiento

•Facilidad de corrección •Adaptabilidad •Extensibilidad

Page 16: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

16

III. Normas ISO / IEC 9216

El estándar ISO/EIC 9216 (Internacional Standard “Information technology – Software Product Quality”) se estructura en cuatro partes:

CALIDAD DEL PROCESO

CALIDAD DEL PROCESO

CALIDAD INTERNA

CALIDAD INTERNA

CALIDAD EXTERNA

CALIDAD EXTERNA

CALIDAD EN USO

CALIDAD EN USO

9126-1

9126-3

9126-2

9126-4

• Parte 1: Modelo de Calidad

Conjunto de características y las relaciones entre ellas que proporcionan una base para especificar requisitos y evaluar la calidad.

• Parte 2: Métricas Externas

El ámbito en que un producto satisface las necesidades implícitas y explícitas cuando es usado bajo condiciones específicas.

Se obtiene a través de la medición del comportamiento del sistema (usando métricas externas)

Las métricas externas pueden ser usadas sólo durante las etapas de prueba del proceso del ciclo de vida o durante cualquier etapa operacional.

• Parte 3: Métricas Internas

La totalidad de los atributos internos de un producto que determina su capacidad para satisfacer las necesidades implícitas y explícitas cuando usado bajo condiciones especificadas.

Se obtiene a través de métricas internas durante las primeras etapas del proceso de desarrollo (especific, requisitos, modelos conceptuales, etc.)

Las métricas internas proporcionan la habilidad de medir los artefactos intermedios y de esta manera predecir la calidad del producto final.

Page 17: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

17

• Parte 4: Métricas de Calidad en Uso

Calidad en uso Es la visión del usuario de la calidad que tiene un producto (percepción del

usuario) Se mide en términos de los resultados del uso del software, más que las

propiedades del propio software. Se debe tener en cuenta los objetivos del negocio, el contexto y los escenarios

de uso. Para desarrollar un producto usable, se tienen que conocer, entender y trabajar

con los usuarios potenciales del producto. Características de Calidad en uso

Efectividad: la capacidad de un producto software de permitir a los usuarios lograr las metas especificadas con exactitud e integridad en un contexto especificado de uso.

Productividad: la capacidad del producto software para permitirles a los usuarios que gasten cantidades apropiadas de recursos (tiempo. Esfuerzo, materiales, costo) en relación con la efectividad lograda en un contexto especificado de uso.

Seguridad: la capacidad del producto software para lograr un nivel aceptable de riesgos de daño a las personas, el software, el equipamiento, o el entorno en un contexto especificado de uso.

Satisfacción: la capacidad del producto software de satisfacer a los usuarios en un contexto especificado de uso.

¿Cómo se mide la Calidad en uso? Un producto se considera fácil de aprender y usar en términos del:

Tiempo que toma el usuario para llevar a cabo su objetivo Número de pasos que tiene que realizar para ello, y el Éxito que tiene que predecir la acción apropiada para llevar a cabo sus tareas

La satisfacción del usuario se suele medir a través del uso de cuestionarios (Ej.: SUMI, WebQual)

Page 18: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

18

Diferentes aspectos de la calidad • Interna: medible a partir de las características intrínsecas, como el código fuente • Externa: medible en el comportamiento del producto, como en una prueba • En uso: durante la utilización efectiva por parte del usuario

IV. Utilidad de las normas ISO / IEC 9216 Este estándar está pensado para los desarrolladores, adquirentes, personal que asegure la calidad y evaluadores independientes, responsables de especificar y evaluar la calidad del producto software. Por tanto, puede servir para validar la completitud de una definición de requisitos, identificar requisitos de calidad de software, objetivos de diseño y prueba, criterios de aseguramiento de la calidad, etc. La calidad de cualquier proceso del ciclo de vida del software (estándar ISO 12.207) influye en la calidad del producto software que, a su vez, contribuye a mejorar la calidad en el uso del producto. La calidad del software puede evaluarse midiendo los atributos internos (medidas estáticas o productos intermedios) o atributos externos (comportamiento del código cuando se ejecuta).

V. Medición del software ¿Qué entendemos por medición del software? A la asignación de una medida a un atributo de una entidad a partir de una métrica. Otras definiciones: “Una función que toma como entrada cierta información del software que se está midiendo, y que devuelve como salida un valor numérico, el cual es interpretado como el grado en que el producto software posee un atributo dado que afecta a su calidad” (IEEE:1992) “Proceso de asignar empírica y objetivamente números o símbolos a los atributos de las entidades del mundo real, y al hecho de entender estos números o símbolos como una manera de describir tales entidades” Fenton y Pfleeger (1997) ¿Qué entendemos por Métrica? “Un método de medición y una escala cuantitativos que pueden ser usados para determinar el valor que toma cierta característica en un producto software concreto” (ISO 14598-1:1999)

Page 19: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

19

Métricas de calidad

Métricas de calidad para modelos conceptuales Orientado a Objetos (OO) Tradicionales

Chidamber and Kemerer (1991; 1994) Kesh (1995) Li and Henry (1993) Moody (1998)

Brito e Abreu and Carapuça (1994) Lorenz and Kidd (1994)

Briand et al.´s (1997) Marchesi (1998)

Harrison et al. (1998) Banisya et al. (1999)

Dentro de los modelos conceptuales orientado a objetos podemos encontrar el desarrollo de las aplicaciones Web, cuyas métricas de medición de la calidad son específicas para dicho modelo conceptual.

Métricas de calidad para modelos conceptuales Orientado a Objetos (OO) – Aplicaciones Web

Métricas de tamaño, conectividad, visibilidad de sitios… [Bray, 1996] Métricas hipermedia [Botafogo,1992]

Relevancia de páginas Web [Yuwono y Lee, 1996] Métricas de diseño de páginas Web [Ivory et al., 2001]

Métricas de usabilidad y calidad del diseño [Ivory y Hearst, 2002] Métricas para Modelos Navegacionales OOWS [Abrahão, 2002]

Predicción del esfuerzo de desarrollo de aplicaciones Web [Mendes et al., 2003]

Page 20: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

20

5. MODELOS DE CALIDAD

Modelo de Calidad “Un conjunto de características y las relaciones entre ellas que proporcionan una base para especificar requisitos y evaluar la calidad.” La calidad de un producto software debe evaluarse usando un modelo de calidad que tiene en cuenta criterios para satisfacer las necesidades de los desarrolladores, mantenedores, adquisidores y usuarios finales (ISO, 2001). Los modelos de calidad pueden ser utilizados para construir mejores productos y asegurar su calidad. Construir un modelo de calidad es bastante complejo y es usual que estos modelos descompongan la calidad del producto software jerárquicamente en una serie de características y subcaracterísticas que pueden usarse como una lista de comprobación de aspectos relacionados con la calidad. Se han desarrollado varios modelos de calidad para diferentes productos y procesos software. Después de haber analizado varios de ellos, podemos afirmar que la mayor parte están basados en la norma ISO9126. Esta norma (descrita con anterioridad) define un conjunto de características de calidad que son después refinadas en subcaracterísticas que están descompuestas en atributos. Los valores de estos atributos se calculan mediante la utilización de métricas. A continuación describiremos diversos modelos definidos por diferentes autores basados en su mayoría por la norma estándar ISO9126, que acabamos de describir. De entre los modelos basados en esta norma, se encuentran: el modelo propuesto Bertoa y Vallecillo (2002) para componentes software en el que los

autores adaptan la norma ISO9126 a los componentes COTS. el modelo de calidad QUINT2 (Niessink, 2002) también presenta una ampliación de la

norma ISO 9126, pensada para valorar la calidad de arquitecturas software. el modelo realizado por Simão y Belchior (2003) en el que los autores han ampliado las

subcaracterísticas y atributos propuestos por la norma llegando a identificar 124 atributos de calidad para los componentes software.

el modelo de calidad propuesto por Franch and Carvallo (2003) presenta una adaptación de la ISO9126 para correo electrónico.

el modelo que proponen Botella et al. (2003) para la selección de ERP y también escogen como marco de trabajo el estándar de calidad ISO/IEC 9126-1

el modelo de calidad que proponen Cai et al. (2000) para componentes y sistemas basados en componentes.

el modelo de calidad definido por Fernández and Rossi (2000) para software distribuido Zo and Ramamurhty (2002) presentan un modelo para valorar y seleccionar los sitios Web de comercio electrónico en un entorno B2C (Business-to-consumer). En Web and Web (2002) se presentan los factores de calidad del sitio Web que son importantes para los consumidores.

Page 21: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

21

En Parasuraman et al (1998) se describe el modelo SERVQUAL el cual contiene cinco dimensiones y 22 ítems para medir los diferentes elementos de la calidad de un servicio en general. La idea de este modelo es que puede ser adaptado a diferentes entornos en función de los servicios ofrecidos por cada uno de ellos adaptando las dimensiones descritas en el modelo original. Los modelos de calidad del software proponen diferentes atributos de calidad y las relaciones entre ellos. Podemos distinguir dos tipos de modelos según la finalidad de evaluación. Evaluación de la calidad del producto

Se evalúa la calidad del producto software en función de un conjunto de características que pueden medirse

Evaluación de la calidad del proceso Sirve para evaluar las actividades de desarrollo de software determinando la presencia en el proyecto de una serie de prácticas recomendable

Entre las propuestas para evaluar y predecir la calidad de los sistemas Web podemos encontrar:

WebQEM: Proceso para la evaluación de la calidad de sitios Web (Olsina et al., 1999) (Olsina y Rossi, 2002)

Proyecto WebTango: Métricas cuantitativas para la calidad de páginas Web (centradas en la usabilidad) (Ivory, 2001)

Métricas Web y el Proyecto Tukutuku - Benchmarking de proyectos Web (Mendes et al., 2001)

Métricas para Modelos Navegacionales OOWS (Abrahão, 2002)

Page 22: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

22

6. CONTEXTO

o La Unión Europea edita el libro blanco sobre crecimiento, competitividad y puestos de trabajo, y reconoce la calidad como un elemento esencial de éxito de la empresa y constituye un factor estratégico en la política europea de competitividad.

o Las empresas precisan marcas y certificados que ayuden a vender sus productos en el

mercado único en la era de la globalización. Se potencia la creación de infraestructuras de calidad: entidades de acreditación, organismos de normalización, entidades de inspección, etc.

Evolución de la mejora de la calidad

Definiciones según la terminología ISO8402:

Calidad: “Conjunto de propiedades y características de un producto o servicio que le confieren su aptitud para satisfacer unas necesidades explícitas o implícitas” Control de calidad: “Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio”. Garantía de calidad: “Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad”

Control de calidad

Garantía de calidad

Calidad total

Detectar defectos

Prevenir defectos

Mejora Continua

MMeejjoorraa ddee llaa

ccaalliiddaadd

Tiempo

Page 23: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

23

7. CONCLUSIONES

o Investigar sobre la calidad de las “aplicaciones Web” es como si acotáramos la investigación sobre una parte de la calidad del software, porque al fin y al cabo, el producto “aplicaciones Web” es un subconjunto del producto “software”.

o Analizando el proceso de producción de software podemos concluir que todos los métodos

y herramientas utilizados en el mismo tienen un único objetivo: “producir software de alta calidad”

o Uno de los principales problemas que acucia la calidad del software es la falta de consenso

generalizado en esta disciplina, es decir, el tener definido un punto de vista unificado que simplifique y dé coherencia a los modelos existentes. A continuación citamos algunos de estos modelos que han sido generados con gran esmero y esfuerzo, por universidades, asociaciones de carácter internacional y organismos públicos (BOOTSTRAP, SQAM, proyecto ALVEY, proyecto SPICE, CMM, ISO/EIC 9126, METRICA,…)

o Encontramos con otra de las principales carencias en aspectos del aseguramiento de la calidad es la falta de estrategias y herramientas que soporten el desarrollo, la explotación y la administración de las métricas de cada dominio. Añadir que ante la existencia de numerosas propuestas de modelos de calidad para distintos dominios de aplicación, hemos observado que no existe un consenso general sobre cómo ha de documentarse o explotarse de forma efectiva las métricas de calidad que cada una de estas propuestas definidas. Ante esta necesidad ha aparecido un framework que pretende proporcionar una infraestructura genérica que facilite la especificación y uso de tales métricas, y que permita el desarrollo de herramientas industriales para tratar de automatizar los procesos de especificación, consulta y análisis de métricas basado en estándares de amplia aceptación como pueden ser UML, XML, RDF y tecnologías de Web Semántica. (ver más info. en el artículo)

o Los modelos navegacionales constituyen la ‘espina dorsal’ del diseño de las aplicaciones

Web y su calidad tiene un gran impacto en la calidad del producto final entregado al usuario. Durante la evaluación de la calidad es importante analizar la arquitectura de la aplicación Web y el balance entre la profundidad y la amplitud de un Mapa Navegacional. La disponibilidad de métricas “tempranas” permitirá a los diseñadores predecir y mejorar la mantenibilidad de los modelos navegacionales contribuyendo de esta manera a la mejora de la aplicación Web final.

o Para poder asegurar una alta calidad del software no sólo pasa por la unión con los estándares de desarrollo y mantenimiento del software sino que se debe concienciar a todos los empleados de una compañía de los grandes beneficios que genera.

o La calidad del software carece de un punto de vista unificado que simplifique y dé

coherencia a los modelos existentes permitiendo su equiparación en objetivos y resultados.

Page 24: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

24

o Como conclusión final vamos a abordar un análisis estratégico sobre la situación actual de

la calidad de las aplicaciones Web en la UE mediante una matriz DAFO.

DEBILIDADES

- Falta de consenso para unificar criterios - Existen múltiples modelos de calidad -Falta de estrategias y herramientas que

soporten el desarrollo, la explotación y la administración de las métricas de cada dominio

AMENAZAS

- Continua aparición de nuevos modelos de calidad - Los mercados emergentes (asiático) consiga mejores productos de calidad a menor coste

FORTALEZAS

- Existen ciertos modelos de calidad francamente válidos

- Es un atributo diferenciador con el que se aumenta la competitividad

OPORTUNIDADES

- Definir un estándar internacional válido para todos los ámbitos

existentes - Se está potenciando desde la UE la

calidad de los productos (como un atributo diferenciador)

Page 25: Calidad Aplicaciones Web

Proyecto de Ingeniería Web

Calidad de las Aplicaciones Web

25

8. BIBLIOGRAFIA

Ponencia sobre “Calidad de los Sistemas de Información: Hacia la medición del software” Dr. Mario Piattini Velthuis. Grupo Alarcos. Universidad de Castilla-La Mancha. Valladolid-2006

“Calidad de Sistemas de Información Web” Silvia Abrahão. Departamento de Sistemas

Informáticos y Computación (DSIC). Universidad Politécnica de Valencia. 2004-2005 http://www.dsic.upv.es/~sabrahao/ficheros/seminarioCalidad-parte1.pdf

“Método de Medición de Tamaño Funcional para la Web” Silvia Abrahão. Departamento de Sistemas Informáticos y Computación (DSIC). Universidad Politécnica de Valencia. 2004-2005 http://www.dsic.upv.es/~sabrahao/ficheros/OOmFPWeb.pdf

La calidad del software y su medida. Jesús María Minguet Melián – Juan Francisco

Hernández Ballesteros. Ed. Centros de estudios Ramón Areces S.A. 2003

Introducción a la arquitectura de n-Capas. http://www.microsoft.com/spanish/msdn/comunidad/mtj.net/voices/art20.asp

Un Método para Medir el Tamaño Funcional y Evaluar la Calidad de Sitios Web. Silvia

Mara Abrahão, Oscar Pastor, Luis Olsina, Joan J. Fons http://paginas.fe.up.pt/ipc/suporte/praticas/JISBD-01.pdf

Un Marco Conceptual para la Definición y Explotación de Métricas de Calidad

L. A. Olsina, M. F. Bertoa, G. J. Lafuente, M. A. Martín, M. Katrib, A. Vallecillo http://congresos.lcc.uma.es/~av/Publicaciones/02/MarcoConceptualJISBD02.pdf

Normas ISO (International Organization for Standardization) http://www.iso.org

Norma estándar ISO/IEC TR 9126-1:2001, “Software engineering -- Product quality -- Part 1: Quality model, 2001.

Norma estándar ISO/IEC TR 9126-2:2003, “Software engineering -- Product quality -- Part 2: External metrics”, 2003.

Norma estándar ISO/IEC TR 9126-3:2003, “Software engineering -- Product quality -- Part 3: Internal metrics”, 2003.

Norma estándar ISO/IEC TR 9126-4:2004, “Software engineering -- Product quality -- Part 4: Quality in use metrics”, 2004.

Gestión de la calidad. Administración de proyectos informáticos. Dr. María N. Moreno

García. Departamento de Informática y Automática. Universidad de Salamanca

Real Academia Española. Diccionario de la lengua española. http://www.rae.es

Diccionario de uso del español. María Moliner.