Está en la página 1de 11

Qu es una Aplicacin Web?

En ingeniera del software una aplicacin Web es aquella que los usuarios usan accediendo a un servidor Web a travs de Internet o de una Intranet. Las aplicaciones Web son populares debido a la practicidad del navegador Web como cliente ligero. La habilidad para actualizar y mantener aplicaciones Web sin distribuir e instalar software en miles de potenciales clientes es otra razn de su popularidad. Aplicaciones como los Webmails, wikis, Weblogs, MMORPGs (juegos de rol multijugador masivo online), tiendas en lnea, etc. son ejemplos bien conocidos de aplicaciones Web. Un poco de historia En los primeros tiempos de la computacin cliente-servidor, cada aplicacin tena su propio programa cliente y su interfaz de usuario, estos tenan que ser instalados separadamente en cada estacin de trabajo de los usuarios. Una mejora al servidor, como parte de la aplicacin, requera tpicamente una mejora de los clientes instalados en cada una de las estaciones de trabajo, aadiendo un costo de soporte tcnico y disminuyendo la eficiencia del personal. En contraste, las aplicaciones Web generan dinmicamente una serie de pginas en un formato estndar, soportado por navegadores Web comunes como HTML o XHTML. Se utilizan lenguajes interpretados del lado del cliente, tales como JavaScript, para aadir elementos dinmicos a la interfaz de usuario. Generalmente cada pgina Web individual es enviada al cliente como un documento esttico, pero la secuencia de pginas provee de una experiencia interactiva. Interfaz Las interfaces Web tienen ciertas limitantes en la funcionalidad del cliente. Mtodos comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-soltar no estn soportadas por las tecnologas Web estndar. Los desarrolladores Web comnmente utilizan lenguajes interpretados del lado del cliente para aadir ms funcionalidad, especialmente para crear una experiencia interactiva que no requiera recargar la pgina cada vez (cosa que suele molestar a los usuarios). Recientemente se han desarrollado tecnologas para coordinar estos lenguajes con tecnologas del lado del servidor, como por ejemplo PHP. AJAX, es una tcnica de desarrollo Web que usa una combinacin de varias tecnologas. Consideraciones Tcnicas Una ventaja significativa en la construccin de aplicaciones Web que soporten las caractersticas de los navegadores estndar es que deberan de funcionar igual independientemente de la versin del sistema operativo instalado en el cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas operativos, la aplicacin 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 caractersticas de pantalla (como tamao y color de fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con la consistencia de la aplicacin Web. Otra (poco comn) aproximacin 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 tecnologas (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 tecnologas permiten ms control sobre la interfaz, aunque incompatibilidad entre implementaciones de Flash o Java puedan traer nuevas 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 aplicacin rica de Internet. Uso en negocios Una estrategia que est emergiendo para las empresas proveedoras de software, es proveer acceso va Web al software. Para aplicaciones previamente distribuidas como de escritorio, esto puede requerir el desarrollo de una nueva aplicacin o simplemente adaptar la aplicacin para usar una interfaz Web. Estos programas permiten al usuario pagar una cuota mensual o anual para usar la aplicacin, sin necesidad de instalarla en la computadora del usuario. Las compaas que siguen esta estrategia son llamadas Proveedores de Aplicaciones de Servicio (ASP por sus siglas en ingles), este modelo de negocios esta atrayendo la atencin de la industria del software. Lenguajes de programacin Existen numerosos lenguajes de programacin 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 programacin, 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).

Ejemplos de aplicaciones Web

Gmail por Google. Correo electrnico. MyWebDesktop.net 24SevenOffice. Solucin ERP/CRM. Basecamp por 37Signals. Administracin de proyectos. Bouchard Translator. Traductor en lnea 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 fotografas. NetSuite ERP/CRM PhantomEZForm Creador de formularios Web. Salesforce.com CRM Stellent UCM. Administrador de contenidos. SugarCRM CRM AceProject. Administracin de proyectos. Zheta. Framework por objetos hecho con PHP 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 caractersticas de un producto o servicio, que le confieren aptitud para satisfacer una necesidades explcitas o implcitas (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 explcitamente establecidos, con los estndares de desarrollo prefijados y con los requerimientos implcitos 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 nmero de actividades de garanta de calidad que es necesario adoptar en un proyecto o en una organizacin depende del tamao y complejidad de los productos software que se estn desarrollando. Tambin influyen otros factores, como pueden ser el tipo de proceso de desarrollo de software o los mtodos y herramientas utilizados, la estructura organizativa de la organizacin, la motivacin del personal, entre otros. Segn 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 satisfaccin de los usuarios (pertenecientes a perfiles determinados) que interactan con el producto en escenarios especficos de uso.

Las dimensiones de calidad de las aplicaciones Web y sus indicadores se deben identificar considerando algunas caractersticas que las diferencian de otras aplicaciones del tipo: Aplicaciones hipermedia Sistemas distribuidos Usuarios no identificados Mltiples perfiles de usuario

Dimensiones de calidad (aplicaciones Web) Calidad de Productos Web

Calidad de Modelos Conceptuales

Calidad del Producto Final

Calidad del Proceso de Desarrollo Web Calidad en Uso

Imagen niveles de calidad

II. Caractersticas de la calidad del software Las caractersticas 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 caractersticas de calidad que debe de cumplir toda aplicacin 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 implcitas de los usuarios. 2. Fiabilidad :

Es la capacidad de un producto software de mantener su nivel de desempeo, 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 guas 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 adaptacin 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.

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 comprensin del sitio global Servicios de ayuda y realimentacin en lnea Capacidades estticas y de interfaz Servicios especiales 2) Funcionalidad Capacidad de recuperacin y de bsqueda Servicios de bsqueda y navegacin Servicios relacionados con el dominio de la aplicacin 3) Fiabilidad Proceso correcto de enlace Recuperacin de errores Validacin y recuperacin de la entrada del usuario 4) Eficiencia Rendimiento del tiempo de respuesta Velocidad de generacin de pginas Velocidad de generacin de grficos 5) Capacidad de mantenimiento Facilidad de correccin Adaptabilidad Extensibilidad Normas ISO / IEC 9216 El estndar ISO/EIC 9216 (Internacional Standard Information technology Software Product Quality) se estructura en cuatro partes:

Parte 1: Modelo de Calidad proporcionan una base para especificar requisitos y evaluar la calidad. Parte 2: Mtricas Externas y explcitas cuando es usado bajo condiciones especficas. sistema (usando mtricas externas) de prueba del proceso del ciclo de vida o durante cualquier etapa operacional. Parte 3: Mtricas Internas determina su capacidad para satisfacer las necesidades implcitas y explcitas cuando usado bajo condiciones especificadas. etapas del proceso de desarrollo (especific, requisitos, modelos conceptuales, etc.) artefactos intermedios y de esta manera predecir la calidad del producto final. Parte 4: Mtricas de Calidad en Uso Calidad en uso producto (percepcin del usuario) que las propiedades del propio software. los escenarios de uso. un producto usable, se tienen que conocer, entender y trabajar con los usuarios potenciales del producto. Caractersticas 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 relacin con la efectividad lograda en un contexto especificado de uso.

Seguridad: la capacidad del producto software para lograr un nivel aceptable de riesgos de dao a las personas, el software, el equipamiento, o el entorno en un contexto especificado de uso. Satisfaccin: la capacidad del producto software de satisfacer a los usuarios en un contexto especificado de uso. Cmo se mide la Calidad en uso? Un producto se considera fcil de aprender y usar en trminos del: cabo sus tareas La satisfaccin del usuario se suele medir a travs del uso de cuestionarios (Ej.: SUMI, WebQual)

Diferentes aspectos de la calidad Interna: medible a partir de las caractersticas intrnsecas, como el cdigo fuente Externa: medible en el comportamiento del producto, como en una prueba En uso: durante la utilizacin efectiva por parte del usuario Utilidad de las normas ISO / IEC 9216 Este estndar 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 definicin de requisitos, identificar requisitos de calidad de software, objetivos de diseo y prueba, criterios de aseguramiento de la calidad, etc. La calidad de cualquier proceso del ciclo de vida del software (estndar 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 estticas o productos intermedios) o atributos externos (comportamiento del cdigo cuando se ejecuta).

Medicin del software Qu entendemos por medicin del software? A la asignacin de una medida a un atributo de una entidad a partir de una mtrica. Otras definiciones: Una funcin que toma como entrada cierta informacin del software que se est midiendo, y que devuelve como salida un valor numrico, 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 emprica y objetivamente nmeros o smbolos a los atributos de las entidades del mundo real, y al hecho de entender estos nmeros o smbolos como una manera de describir tales entidades Fenton y Pfleeger (1997) Qu entendemos por Mtrica? Un mtodo de medicin y una escala cuantitativos que pueden ser usados para determinar el valor que toma cierta caracterstica en un producto software concreto (ISO 14598-1:1999) Mtricas de calidad Mtricas 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 Carapua (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 mtricas de medicin de la calidad son especficas para dicho modelo conceptual.

Mtricas de calidad para modelos conceptuales Orientado a Objetos (OO) Aplicaciones Web Mtricas de tamao, conectividad, visibilidad de sitios [Bray, 1996] Mtricas hipermedia [Botafogo,1992] Relevancia de pginas Web [Yuwono y Lee, 1996] Mtricas de diseo de pginas Web [Ivory et al., 2001] Mtricas de usabilidad y calidad del diseo [Ivory y Hearst, 2002] Mtricas para Modelos Navegacionales OOWS [Abraho, 2002] Prediccin del esfuerzo de desarrollo de aplicaciones Web [Mendes et al., 2003]

MODELOS DE CALIDAD Modelo de Calidad Un conjunto de caractersticas 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 jerrquicamente en una serie de caractersticas y subcaractersticas que pueden usarse como una lista de comprobacin de aspectos relacionados con la calidad. Se han desarrollado varios modelos de calidad para diferentes productos y procesos software. Despus de haber analizado varios de ellos, podemos afirmar que la mayor parte estn basados en la norma ISO9126. Esta norma (descrita con anterioridad) define un conjunto de caractersticas de calidad que son despus refinadas en subcaractersticas que estn descompuestas en atributos. Los valores de estos atributos se calculan mediante la utilizacin de mtricas. A continuacin describiremos diversos modelos definidos por diferentes autores basados en su mayora por la norma estndar ISO9126, que acabamos de describir. De entre los modelos basados en esta norma, se encuentran: en el que los autores adaptan la norma ISO9126 a los componentes COTS. ampliacin de la norma ISO 9126, pensada para valorar la calidad de arquitecturas software. 003) en el que los autores han ampliado las subcaractersticas y atributos propuestos por la norma llegando a identificar 124 atributos de calidad para los componentes software.

una adaptacin de la ISO9126 para correo electrnico. tambin escogen como marco de trabajo el estndar de calidad ISO/IEC 9126-1 sistemas basados en componentes. software distribuido Zo and Ramamurhty (2002) presentan un modelo para valorar y seleccionar los sitios Web de comercio electrnico 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. 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 funcin 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 segn la finalidad de evaluacin. 2000) para componentes y

Se evala la calidad del producto software en funcin de un conjunto de caractersticas que pueden medirse Sirve para evaluar las actividades de desarrollo de software determinando la presencia en el proyecto de una serie de prcticas recomendable