• No se han encontrado resultados

Desarrollo e implementación de la página web para la empresa Evita

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo e implementación de la página web para la empresa Evita"

Copied!
136
0
0

Texto completo

(1)ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACIÓN DE TECNÓLOGOS. DESARROLLO E IMPLEMENTACIÓN DE LA PÁGINA WEB PARA LA EMPRESA “EVITA”. PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE TECNÓLOGO EN ANÁLISIS DE SISTEMAS INFORMÁTICOS.. CHRISTIAN CARLOS SAMBACHI PANELUISA crisnenex@latimail.com. DIRECTOR: Ing. Myriam Peñafiel Aguilar MSc. mpenafiel07@gmail.com. Quito, enero 2010.

(2) DECLARACIÓN Yo CHRISTIAN CARLOS SAMBACHI PANELUISA, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentada para ningún grado o calificación profesional; y, que he consultado las referencias bibliográficas que se incluyen en este documento.. A través de la presente declaración cedo mis derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente.. CHRISTIAN CARLOS SAMBACHI PANELUISA.

(3) CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por CHRISTIAN CARLOS SAMBACHI PANELUISA, bajo mi supervisión.. Ing. Myriam Peñafiel.

(4) AGRADECIMIENTO. Deseo expresar mis más sinceros agradecimientos. A la Escuela Politécnica Nacional, por brindarme todas las facilidades para la conclusión de mi carrera.. A mis maestros, en especial al Ing. Myriam Peñafiel, por sus consejos y por compartir desinteresadamente sus amplios conocimientos y experiencia.. A mis compañeros de la carrera, por el apoyo y motivación que de ellos he recibido..

(5) DEDICATORIA A mi Dios, por guiarme en el correcto camino de la vida, quien siempre me da fuerzas para seguir.. A mis Padres, por creer y confiar siempre en mí, apoyándome en todas las decisiones que he tomado en la vida.. A mis Hermanos y Hermanas quienes siempre me dieron palabras de aliento en los momentos difíciles.. Todas aquellas personas que de una u otra forma contribuyeron con su granito de arena para lograr que mi objetivo.. CHRISTIAN CARLOS SAMBACHI PANELUISA.

(6) RESUMEN El presente documento describe el desarrollo e implementación del sitio Web para la empresa EVITA, el cual fue elaborada bajo software libre las herramientas utilizadas fueron: AppServ Open Project - 2.5.10 para Windows una herramienta que facilita la instalación de servidor Apache, MySQL y PHP en una sola herramienta. Apache servidor HTTP multiplataforma. PHP lenguaje de programación dinámico que utilizan la mayoría de gestores de contenidos más populares. MySQL gestor de bases de datos, rápido y seguro. Lenguajes adicionales utilizados en la elaboración de las páginas fueron HTML y JavaScript. La edición de. páginas se la llevo a cabo en Macromedia Dreamweaver 8. herramienta líder en su campo. Las. imágenes fueron elaboradas en Macromedia Fireworks 8, software que. facilita la edición y creación de imágenes. En la construcción del sitio Web se ha aplicado todos los conocimientos adquiridos durante la carrera, dando como resultado un sitio confiable, agradable y sobretodo útil para la empresa auspiciante del proyecto.. A continuación se explicara brevemente el contenido de los. capítulos del. documento.. CAPITULO I. Se da a conocer la problemática de la empresa y las soluciones encontradas. CAPITULO II. Se describe las herramientas utilizadas para la construcción del sitio Web. CAPITULO III. Se da a conocer los aspectos metodológicos utilizados en la construcción del sitio CAPITULO IV. Se expresan conclusiones, recomendaciones y adicional contiene los anexos que describen la construcción del proyecto..

(7) CONTENIDO CAPITULO I. ASPECTOS GENERALES………………………………………………………………1 1.1 ÁMBITO…………………………………………………………………………….1 1.2 PLANTEAMIENTO DEL PROBLEMA……………………………………...........1 1.3 FORMULACIÓN Y SISTEMATIZACIÓN DEL PROBLEMA…………………...2 1.3.1 FORMULACIÓN………………………………………………………………..2 1.3.2 SISTEMATIZACIÓN……………………………………………………………2 1.4 OBJETIVOS………………………………………………………………………..3 1.4.1 OBJETIVO GENERAL………………………………………………………...3 1.4. 2 OBJETIVOS ESPECÍFICOS…………………………………………...........3 1.5 JUSTIFICACIÓN DEL PROYECTO……………………………………….........3 1.6 ALCANCE Y LIMITACIONES……………………………………………….........4 1.6.1 PRESUPUESTO…………………………………………………………….…4. CAPITULO II. HERRAMIENTAS…………………………………………………………………….......5 2.1 INGENIERÍA WEB…………………………………………………………………5 2.1.1 EL PROCESO DE INGENIERÍA WEB………………………………………6 2.1.2 CONTROL Y GARANTÍA DE LA CALIDAD………………………………...7 2.1.3 CONTROL DE LA CONFIGURACIÓN………………………………………7 2.1.4 LA GESTIÓN DEL PROCESO………………………………………………..8 2.1.5 ¿QUÉ MARCA LA DIFERENCIA?.............................................................8 2.1.6 ¿POR QUÉ ES NECESARIA?...................................................................8 2.2 ARQUITECTURA WEB……………………………………………………………9 2.2.1 ASPECTOS GENERALES EN ARQUITECTURA WEB…………………...9 2.2.2 EVOLUCIÓN DE MODELOS ARQUITECTÓNICOS………………………9 2.2.3 ESTRUCTURA DE LAS APLICACIONES WEB…………………………..12 2.2.4 HERRAMIENTAS DE SOPORTE AL DESARROLLO....………………..13 2.2.4.1 HTML………………………………………………………………………13 2.2.4.2 XHTML…………………………………………………………………….14 2.2.4.3 JavaScript…………………………………………………………………14 2.2.4.4 Apache Web Server……………………………………………………...15.

(8) 2.2.4.5 CSS………………………………………………………………………...15 2.2.4.6 PHP………………………………………………………………………...15 2.2.4.7 MySQL……………………………………………………………………..16 2.2.5 HERRAMIENTAS DE APOYO………………………………………………17 2.2.5.1 Macromedia Dreamweaver 8……………………………………….......17 2.2.5.2 Macromedia Fireworks 8………………………………………………...18 2.2.5.3 Power Designer…………………………………………………………..18 2.3 DISEÑO DE APLICACIONES WEB…………………………………………….18 2.3.1 DISEÑO WEB APLICADO…………………………………………………..19 2.3.1.1 Etapas……………………………………………………………………..19 2.3.1.2 Fundamentos……………………………………………………………..20 2.3.1.3 Accesibilidad………………………………………………………….......20 2.3.2 PRINCIPIOS DE DISEÑO WEB…………………………………………….21 2.3.2.1 La ley de Fitts……………………………………………………………..21 2.3.2.2 Dar feedback al usuario…………………………………………………21 2.3.2.3 Reutilización de la experiencia del usuario……………………………22 2.3.2.4 Uso del Scroll……………………………………………………………..22 2.3.2.5 Sentencias y párrafos……………………………………………………22 2.3.2.6 Imágenes………………………………………………………………….23 2.3.2.7 Ancho de Banda………………………………………………………….23. CAPITULO III. ASPECTOS METODOLÓGICOS…………………………………………………..…24 3.1 MODELO ESPIRAL ORIENTADO A LA WEB…………………………….......24 3.1.1 ACTIVIDADES PRINCIPALES:……………………………………………..24 3.1.2 CARACTERÍSTICAS…………………………………………………….......24 3.1.3 DESVENTAJAS………………………………………………………………24 3.1.4 VENTAJAS……………………………………………………………………25 3.2 METODOLOGÍA OOHDM……………………………………………………….25 3.2.1 INTRODUCCIÓN……………………………………………………………..25 3.2.2 LOS PRINCIPIOS BÁSICOS DEL MÉTODO DE OOHDM………….......26 3.2.2.1 Modelo Conceptual……………………………………………………….26 3.2.2.2 Diseño Navegacional…………………………………………………….26.

(9) 3.2.2.3 Diseño de Interfaz Abstracta…………………………………………….27 3.2.2.4 Implementación…………………………………………………………..27 3.3 MODELO UML (UNIFIED MODELING LANGUAGE)………………………..28 3.3.1 DIAGRAMA DE CASO DE USO…………………………………………....29 3.3.2 DIAGRAMA DE CLASES……………………………………………………30 3.3.3 DIAGRAMA DE OBJETOS………………………………………………….32 3.3.3.1 Diccionario de Clases……………………………………………………33 3.3.4 DIAGRAMA DE INTERACCIÓN……………………………………………33 3.3.4.1 Diagrama de secuencia…………………………………………………33 3.3.4.2 Diagrama de Colaboración…………………………………………......34 3.3.5 DIAGRAMA DE ESTADOS………………………………………………….35 3.3.6 DIAGRAMA DE COMPONENTES………………………………………….36 3.3.7 DIAGRAMA DE ACTIVIDAD………………………………………………...37. CAPITULO IV. CONCLUSIONES Y RECOMENDACIONES………………………………………...38 4.1 CONCLUSIONES…………………………………………………………….......38 4.2 RECOMENDACIONES…………………………………………………………..39 4.3 BIBLIOGRAFIA……………………………………………………………….......40 LIBROS……………………………………………………………………………….40 DIRECCIONES WEB……………………………………………………………….40 ANEXOS……………………………………………………………………………….42 MANUAL TECNICO…………………………………………………………………..43 ANALISIS DE REQUISITOS…………………………………………………….......44 DIAGRAMA DE ACTORES…………………………………………………………..45 ANÁLISIS Y DISEÑO……………………………………………………………......46 MODELO ESTÁTICO……………………………………………………………......47 DIAGRAMA DE CASOS DE USO……………………………………………...48 DIAGRAMA DE CASOS DE USO POR ACTIVIDAD………………………48 DIAGRAMA DE CASOS DE USO PROCESOS……………………………52 DICCIONARIO DE CASOS DE USO………………………………………..57 DIAGRAMA DE CLASES……………………………………………………….62 DICCIONARIO DE CLASES…………………………………………………63.

(10) DIAGRAMA DE OBJETOS……………………………………………………..66 MODELO DINÁMICO……………………………………………………………...67 DIAGRAMA DE INTERACCIÓN………………………………………………..68 DIAGRAMA DE SECUENCIAS…………………………………………………68 DIAGRAMA DE COLABORACIÓN…………………………………………….73 MODELO FUNCIONAL……………………………………………………………77 DIAGRAMA DE ESTADOS…………………………………………………....78 MODELO ARQUITECTÓNICO……………………………………………….…80 DIAGRAMA ARQUITECTÓNICO……………………………………………..81 DIAGRAMA NAVEGACIONAL…………………………………………………82 CONSTRUCCIÓN…………………………………………………………………83 FROND END……………………………………………………………………..84 BACK END………………………………………………………………………..93 PRUEBAS……………………………………………………………………………94 MANUAL DEL USUARIO…………………………………………………………..99.

(11) CAPITULO I ASPECTOS GENERALES 1.1 ÁMBITO La empresa EVITA. Nace hace 6 años en la ciudad de Quito con la finalidad de proveer y comercializar suministros de oficina para el público en general, tratando de satisfacer todas las necesidades del la población. Actualmente la empresa cuenta con un amplio repertorio de mercancías y suministros para diferentes clientes que posee.. 1.2 PLANTEAMIENTO DEL PROBLEMA Al momento el proceso de facturación y de inventario de mercadería, en la empresa, se lleva en forma manual, por lo que se presenta entre otros los siguientes problemas: •. La empresa no emite facturas de forma eficiente.. •. La empresa no posee un inventario de sus productos.. •. La empresa no lleva un registro de sus clientes.. •. El personal toma demasiado tiempo en la atención de un cliente.. •. La búsqueda de información de un producto es lento y tedioso.. •. Debido ingreso de nueva mercadería es casi imposible administrar eficientemente los registros.. •. Pérdida de tiempo en la entrega de facturas al cliente debido a que se la llena en forma manual,. No se lleva un correcto informe de ganancia anual. De continuar así, tanto los datos de productos, clientes como de la emisión de facturas no serían totalmente consistentes, ocasionando demora en el manejo de la información de modo que estos inconvenientes causen malestar en la atención a los clientes y empleados..

(12) Solución Para ayudar a la solución de los problemas que se presentan en esta empresa proponemos la creación de una página web que permita la facturación y control de inventario de mercadería con la cual: •. Se agilita la entrega de facturas a los clientes con todos los detalles pertinentes.. •. La información de productos que ésta ofrece esté siempre disponible.. •. Se optimice el tiempo de atención a los clientes.. •. Los empleados pueden consultar información necesaria de los diferentes productos existentes.. •. La información de los productos y clientes se almacenen de forma adecuada.. Se agilice el tiempo de ubicación de un producto.. 1.3 FORMULACIÓN Y SISTEMATIZACIÓN DEL PROBLEMA 1.3.1 FORMULACIÓN ¿Cómo agilitar el proceso de facturación y optimizar la entrega de información de productos a los clientes de la empresa “Evita”?. 1.3.2 SISTEMATIZACIÓN ¿Cómo administrar la información de los productos que se ofrece, de manera que no exista perdida de información? ¿Cómo administrar la información del cliente, de manera que no exista perdida de información? ¿Cómo informarse de la disponibilidad de productos que se ofrece? ¿Cómo agilitar la atención a clientes, cuando estos requieren información? ¿Cómo se lleva un registro confiable de los productos mas requeridos? ¿Cómo realizar la búsqueda de información de forma rápida y oportuna? ¿Cómo los clientes pueden solicitar información más detallada y confidencial?.

(13) 1.4 OBJETIVOS 1.4.1 OBJETIVO GENERAL Desarrollar una Aplicación web que pueda automatizar las tareas administrativas y financieras con el fin de mejorar el control de la información y brindar una eficiente atención a sus clientes.. 1.4. 2 OBJETIVOS ESPECÍFICOS 1. Emitir facturas con información correcta y concreta. 2. Consultar existencias de productos por medio de la web. 3. Poder llevar una registro de clientes. 4. Permitir al usuario registrar el ingreso, actualizar, borrar datos de los clientes. 5. Permitir al usuario registrar el ingreso, actualizar, borrar datos de productos. 6. Mantener un inventario actualizado de la oferta de productos en una base de datos. 7. Permitir al administrador dar permisos a los diferentes usuarios que lo requieran. 8. Permitir utilizar software libre en beneficio de la empresa.. 1.5 JUSTIFICACIÓN DEL PROYECTO Justificación Teórica Se propone desarrollar un sitio Web dinámico que permita la optimización de entrega de información. la gestión de información de los clientes, productos además. automatizar las actividades que se realizan en la empresa para que proporcione información a los empleados en la toma de decisiones, aprovechando las ventajas de las tecnologías que se tiene en la actualidad..

(14) 1.6 ALCANCE Y LIMITACIONES 1.6.1 PRESUPUESTO Costo por hora ($). Horas. Total ($). Recursos Humanos Diseñador. 280. 6. 1680. Programador. 320. 5. 1600. Software Apache. 0. 0. PHP. 0. 0. MySQL. 0. 0. JavaScript. 0. 0. 0. 0. Xara Webstyle Macromedia. 120. 120. 500. 500. 200. 40. 200. 70. Hardware PC de Escritorio Otros Impresiones y copias Internet. Total :. 4010.

(15) CAPITULO II. HERRAMIENTAS 2.1 INGENIERÍA WEB La ingeniería web se debe al crecimiento desenfrenado que está teniendo la Web está ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la información en las diferentes áreas en que se presenta ha hecho que las personas tiendan a realizar todas sus actividades por esta vía. Desde que esto empezó a suceder el Internet se volvió más que una diversión y empezó a ser más serio, ya que el aumento de publicaciones y de informaciones hizo que la Web se volviera como un desafío para los ingenieros del software, a raíz de esto se crearon enfoques disciplinados, sistemáticos y metodologías donde tuvieron en cuenta aspectos específicos de este nuevo medio. La ingeniería Web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web. En este sentido, la ingeniería de la Web hace referencia a las metodologías, técnicas y herramientas que se utilizan en el desarrollo de aplicaciones Web complejas y de gran dimensión en las que se apoya la evaluación, diseño, desarrollo, implementación y evolución de dichas aplicaciones.. Aplicaciones Web En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación de software que se codifica en un lenguaje soportado por los navegadores web (HTML, Java Script, Java, php, asp, etc.) en la que se confía la ejecución al navegador. Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea que son ejemplos bien conocidos de aplicaciones web..

(16) Es importante mencionar que una página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la página responderá a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo. Uso empresarial. Una estrategia que está emergiendo para las empresas proveedoras de software consiste en proveer acceso vía web al software. Para aplicaciones previamente distribuidas, como las aplicaciones de escritorio, se puede optar por desarrollar una aplicación totalmente nueva o simplemente por adaptar la aplicación para ser usada con una interfaz web.. 2.1.1 EL PROCESO DE INGENIERÍA WEB Características como inmediatez y evolución y crecimiento continuos, nos llevan a un proceso incremental y evolutivo, que permite que el usuario se involucre activamente, facilitando el desarrollo de productos que se ajustan mucho lo que éste busca y necesita. Según Pressman [PRE00], las actividades que formarían parte del marco de trabajo incluiría las tareas abajo enumeradas. Dichas tareas serían aplicables a cualquier aplicación Web, independientemente del tamaño y complejidad de la misma. Las actividades que forman parte del proceso son: formulación, planificación análisis, modelización, generación de páginas, test y evaluación del cliente. •. La Formulación identifica objetivos y establece el alcance de la primera entrega.. •. La Planificación genera la estimación del coste general del proyecto, la evaluación de riesgos y el calendario del desarrollo y fechas de entrega.. •. El Análisis especifica los requerimientos e identifica el contenido.. •. La Modelización se compone de dos secuencias paralelas de tareas.. Una consiste en el diseño y producción del contenido que forma parte de la aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de usuario. Es importante destacar la importancia del diseño de la interfaz..

(17) Independientemente del valor del contenido y servicios prestados, una buena interfaz mejora la percepción que el usuario tiene de éstos. En la Generación de páginas se integra contenido, arquitectura, navegación e interfaz para crear estática o dinámicamente el aspecto más visible de la aplicación, las páginas. El Test busca errores a todos los niveles: contenido, funcional, navegacional, rendimiento, etc. El hecho de que las aplicaciones residan en la red, y que ínter operen en plataformas muy distintas, hace que el proceso de test sea especialmente difícil. Finalmente, el resultado es sometido a la evaluación del cliente.. 2.1.2 CONTROL Y GARANTÍA DE LA CALIDAD Una de las tareas colaterales que forman parte del proceso es el Control y Garantía de la Calidad (CGC). Todas las actividades CGC de la ingeniería software tradicional como son: establecimiento y supervisión de estándares, revisiones técnicas formales, análisis, seguimiento y registro de informes, etc., son igualmente aplicables a la Ingeniería Web. Sin embargo, en la Web toman especial relevancia para valorar la calidad aspectos como: Usabilidad, Funcionabilidad, Fiabilidad, Seguridad, Eficiencia y Mantenibilidad.. 2.1.3 CONTROL DE LA CONFIGURACIÓN Establecer mecanismos adecuados de control de la configuración para la Ingeniería Web es uno de los mayores desafíos a los que esta nueva disciplina se enfrenta. La Web tiene características únicas que demandan estrategias y herramientas nuevas. Hay cuatro aspectos importantes a tener en cuenta en el desarrollo de tácticas de control de la configuración para la Web [DAR99]: •. Contenido: Considerando la dinamicidad con la que el contenido se genera, es tarea. compleja. organizar. racionalmente. los. objetos. que. forman. la. configuración y establecer mecanismos de control. •. Personal: Cualquiera realiza cambios. Hay mucho personal no especializado que no reconoce la importancia que tiene el control del cambio.. •. Escalabilidad: Es común encontrar aplicaciones que de un día para otro crecen considerablemente. Sin embargo, las técnicas de control no escalan de forma adecuada..

(18) •. Política: ¿Quién posee la información? ¿Quién asume la responsabilidad y coste de mantenerla?. 2.1.4 LA GESTIÓN DEL PROCESO En un proceso tan rápido como es el proceso de Ingeniería Web, donde los tiempos de desarrollo y los ciclos de vida de los productos son tan cortos, ¿merece la pena el esfuerzo requerido por la gestión? La respuesta es que dada su complejidad es imprescindible. Entre los aspectos que añaden dificultad a la gestión destacamos: Alto porcentaje de contratación a terceros. El desarrollo incluye una gran variedad de personal técnico y no técnico trabajando en paralelo. El equipo de desarrollo debe dominar aspectos tan variopintos como, software basado en componentes, redes, diseño de arquitectura y navegación, diseño gráfico y de interfaces, lenguajes y estándares en Internet, test de aplicaciones Web, etc., lo que hace que el proceso de búsqueda y contratación de personal sea arduo.. 2.1.5 ¿QUÉ MARCA LA DIFERENCIA? A modo de breve resumen enumeramos las siguientes diferencias: Confluencia de disciplinas: Sistemas de Información, Ingeniería Software y Diseño Gráfico que requiere equipos multidisciplinares y polivalentes. Ciclos de vida y tiempo de desarrollo muy cortos. Cambio continuo: Necesidad de soluciones que permitan flexibilidad y adaptación conforme el proyecto cambia. Requisitos fuertes de Seguridad, Rendimiento y Usabilidad.. 2.1.6 ¿POR QUÉ ES NECESARIA? La Web evoluciona y crece sin diseño alguno. Prácticas tan pobres de calidad pueden introducir defectos que dejen al efecto 2000 como un juego de niños. Es deber de todos proporcionar cimientos firmes a una tecnología que “mágicamente” nos permite acceder a cualquier hora a cualquier punto del planeta para obtener bienes tan valiosos como son los Servicios y la Información..

(19) 2.2 ARQUITECTURA WEB De la misma forma en que los arquitectos tradicionales diseñan y coordinan la construcción de edificios, los arquitectos web diseñan y coordinan el desarrollo de sitios web. Los sitios web son una conjunción muy compleja de distintos sistemas integrados entre sí (Bases de datos, servidores, redes, componentes de backup y seguridad, etc.). El resultado final será un sitio que pueda resolver las necesidades de negocios: Vender productos y servicios online y servir mejor a las necesidades de los clientes, en el siguiente grafico podemos observar una arquitectura Web básica.. 2.2.1 ASPECTOS GENERALES EN ARQUITECTURA WEB •. Escalabilidad. •. Separación de responsabilidades. •. Portabilidad. •. Gestión de la sesión del usuario. •. Aplicación de patrones de diseño. Portabilidad •. Una aplicación web debe poder adaptarse a las distintas arquitecturas físicas posibles en el despliegue.. •. Las tareas de adaptación a un nuevo entorno deben limitarse al ámbito de la configuración, no del desarrollo.. 2.2.2 EVOLUCIÓN DE MODELOS ARQUITECTÓNICOS •. Modelo de Arquitectura 1 (Aplicaciones CGI).

(20) •. Modelo de Arquitectura 1.5 (JSP y Servlets). •. Modelo de Arquitectura 2 (MVC). •. Modelo de Arquitectura 2 (MVC con Struts). •. Modelo de Arquitectura 2X. World Wide Web o Red Global Mundial Es un sistema de documentos de hipertexto enlazados y accesibles a través de Internet..

(21) El Navegador Web, Browser El navegador puede considerarse como una interfaz de usuario universal. Dentro de sus funciones están la petición de las páginas Web, la representación adecuada de sus contenidos y la gestión de los posibles errores que se puedan producir.. Sitio web Un sitio web (en inglés: website) es un conjunto de páginas web, típicamente comunes a un dominio de Internet o subdominio en la World Wide Web en Internet. Un sitio web puede ser el trabajo de una persona, una empresa u otra organización y está típicamente dedicada a algún tema particular o propósito. No debemos confundir sitio web con página web, esta última es sólo un archivo HTML, y forma parte de un sitio web.. Páginas Web Una página web u hoja electrónica es una fuente de información adaptada para la World Wide Web (WWW) y accesible mediante un navegador de Internet que normalmente forma parte de un Sitio web. Esta información se presenta generalmente en formato HTML.. Servidor Web Un servidor web es un programa que implementa el protocolo HTTP (hypertext transfer protocol). Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (hypertext markup language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música. Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error..

(22) Cliente El cliente es una aplicación informática que se utiliza para acceder a los servicios que ofrece un servidor, normalmente a través de una red de telecomunicaciones.. 2.2.3 ESTRUCTURA DE LAS APLICACIONES WEB Aunque existen muchas variaciones posibles, una aplicación web está normalmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera capa y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python (programming language) o Ruby on Rails) constituye la capa de en medio. Por último, una base de datos constituye la tercera y última capa. El navegador web manda peticiones a la capa de en medio que ofrece servicios valiéndose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario.. Aplicaciones Web y la importancia del desarrollo en capas Las aplicaciones hipermedia han evolucionado en los últimos años y se han concentrado mayormente en la Web. Las antiguas aplicaciones distribuidas en CDS dieron lugar a aplicaciones dinámicas, de constante actualización e incluso personalizables, capaces de adaptarse a los tipos de usuarios y en casos avanzados, a cada usuario en particular. Estas características encuentran el medio ideal en la Web, ya que de otra forma sería costoso su mantenimiento y evolución. La complejidad del desarrollo ocurre a diferentes niveles: dominios de aplicación sofisticados (financieros, médicos, geográficos, etc.); la necesidad de proveer acceso.

(23) de navegación simple a grandes cantidades de datos multimedia les, y por último la aparición de nuevos dispositivos para los cuales se deben construir interfaces Web fáciles de usar. Esta complejidad en los desarrollos de software sólo puede ser alcanzada mediante la separación de los asuntos de modelización en forma clara y modular.. 2.2.4 HERRAMIENTAS DE SOPORTE AL DESARROLLO EN TRES NIVELES.. 2.2.4.1 HTML El HTML es una aplicación del SGML ( Standard Generalized Markup Language), que es un sistema para generar documentos estructurados y lenguajes de marcas. HTML ( Hyper Text Markup Language), es decir, lenguaje de definición por marcas para hipertexto, es un lenguaje muy sencillo que permite definir documentos hipertexto a base de ciertas etiquetas que marcan partes del documento dándoles una estructura o jerarquía, y que permite presentar el texto de una manera estructurada y agradable, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con inserciones multimedia (gráficos, sonido, video... ). El lugar donde se encuentra esta información puede ser el mismo documento o cualquier otro lugar de Internet. Es esta una de las cualidades que le ha dado tanta difusión a Internet, ya que permite a cualquier usuario sin conocimientos de informática la navegación por la Red. Para crear un documento hipertexto para la WWW sólo debemos añadir las etiquetas adecuadas al texto para especificar la estructura lógica ( títulos, párrafos de texto normal, definiciones, citas...) del contenido y los diferentes efectos (especificar los lugares del documento dónde se debe de poner cursiva, negrita o un gráfico determinado) que se quieren dar. La presentación final se realiza por un programa especializado llamado genéricamente Navegador o Browser, como Netscape Navigator o Microsoft Internet Explorer. Esta presentación no será igual en todos los visualizadores, por lo que al confeccionarlo debemos prestar más atención a la estructura y organización que a la apariencia del documento..

(24) 2.2.4.2 XHTML XHTML, acrónimo inglés de eXtensible Hypertext Markup Language (lenguaje extensible de marcado de hipertexto), es el lenguaje de marcado pensado para sustituir a HTML como estándar para las páginas web. En su versión 1.0, XHTML es solamente la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consorcio de lograr una web semántica, donde la información, y la forma de presentación. estén claramente. separadas. El lenguaje XHTML surgió ante los problemas de compatibilidad que surgían cuando se usaba un documento HTML en distintas plataformas.. 2.2.4.3 JavaScript Los autores inicialmente lo llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape, el 4 de diciembre de 1995. En 1997 los autores propusieron JavaScript para que fuera adoptado como estándar de la European Computer Manufacturers' Association ECMA, que a pesar de su nombre no es europeo sino internacional, con sede en Ginebra. En junio de 1997 fue adoptado como un estándar ECMA, con el nombre de ECMAScript. Poco después fue implementado como estándar ISO. JavaScript, al igual que Java o VRML, es una de las múltiples maneras que han surgido para extender las capacidades del lenguaje HTML. Al ser la más sencilla, es por el momento la más extendida. Antes que nada conviene aclarar lo siguiente: JavaScript no es un lenguaje de programación propiamente dicho. Es un lenguaje script orientado a documento, como pueden ser los lenguajes de macros que tienen muchos procesadores de texto, JavaScript sirve principalmente para mejorar la gestión de la interfaz cliente/servidor. Un script JavaScript insertado en un documento HTML permite reconocer y tratar localmente, es decir, en el cliente, los eventos generados por el usuario. Estos eventos pueden ser el recorrido del propio documento HTML o la gestión de un formulario..

(25) 2.2.4.4 Apache Web Server El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo.. 2.2.4.5 CSS Es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas. Separar la definición de los contenidos y la definición de su aspecto presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados "documentos semánticos"). Además, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes. Al crear una página web, se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los contenidos, es decir, para designar la función de cada elemento dentro de la página: párrafo, titular, texto destacado, tabla, lista de elementos, etc. Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada elemento dentro de la página, etc.. 2.2.4.6 PHP PHP es un lenguaje de programación de estilo clásico, con esto quiero decir que es un lenguaje de programación con variables, sentencias condicionales, bucles,.

(26) funciones. No es un lenguaje de marcas como podría ser HTML, XML o WML. Está más cercano a JavaScript o a C, para aquellos que conocen estos lenguajes. Pero a diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una página WML.. Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.. 2.2.4.7 MySQL MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. Desde enero de 2008 una subsidiaria de Sun Microsystems - desarrolla MySQL como software libre en un esquema de licenciamiento dual. MySQL es muy utilizado en aplicaciones web como, Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python),. y. por. herramientas. de. seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL..

(27) 2.2.5 HERRAMIENTAS DE APOYO 2.2.5.1 Macromedia Dreamweaver 8 Macromedia Dreamweaver 8 es un editor HTML profesional para diseñar, codificar y desarrollar sitios, páginas y aplicaciones Web. Tanto si desea controlar manualmente el código HTML como si prefiere trabajar en un entorno de edición visual, Dreamweaver le proporciona útiles herramientas que mejorarán su experiencia de creación Web.. Dreamweaver le permite crear aplicaciones Web dinámicas basadas en bases de datos empleando tecnologías de servidor como CFML, ASP.NET, ASP, JSP y PHP. Si prefiere trabajar con datos en XML, Dreamweaver incorpora herramientas que le permiten crear fácilmente páginas XSLT, adjuntar archivos XML y mostrar datos XML en sus páginas. Características Es herramienta líder en la industria del desarrollo web se enfoca en esta nueva versión en eficiencia, innovación e integración. Dreamweaver 8 incluye herramientas para trabajar aplicaciones que manejan XML, así como mejoras a su manejo de hojas de estilo (CSS). Del lado del XML, incluye interesantes herramientas visuales para incluir contenidos de este formato como son los feeds RSS, integrándolos fácilmente en sitios web y aplicaciones. Para el trabajo con CSS han simplificado la creación y manejo de diferentes estilos, promoviendo los estándares para nuevos usuarios y facilitando su aplicación para usuarios avanzados. También han buscado facilitar la difusión de Flash Video, con herramientas que permiten incluir este formato muy fácilmente en páginas web. Además incluye nuevas herramientas de zoom y guía para revisar los diseños. Y una barra de código para acceder a funciones frecuentes. Destaca también que las funciones para cargar y descargar archivos ahora funcionan en el background sin interrumpir la productividad en el programa..

(28) 2.2.5.2 Macromedia Fireworks 8 Macromedia Fireworks 8 le permite crear y optimizar de forma precisa imágenes para la Web en un entorno intuitivo y personalizable. Las herramientas de optimización líderes de la industria que ofrece Fireworks le ayudan a encontrar el equilibrio entre una calidad de imagen máxima y un tamaño de compresión mínimo.. 2.2.5.3 Power Designer Es la herramienta de modelamiento número uno de la industria, permite a las empresas, de manera más fácil, visualizar, analizar y manipular metadatos, logrando un efectiva arquitectura empresarial de información. PowerDesigner para Arquitectura Empresarial también brinda un enfoque basado en modelos, el cual permite alinear al negocio con la tecnología de información, facilitando la implementación de arquitecturas efectivas de información empresarial. Brinda potentes técnicas de análisis, diseño y gestión de metadatos a la empresa. PowerDesigner combina varias técnicas estándar de modelamiento con herramientas líder de desarrollo, como .NET, Sybase WorkSpace, Sybase Powerbuilder, Java y Eclipse, para darle a las empresas soluciones de análisis de negocio y de diseño formal de base de datos. Además trabaja con más de 60 bases de datos relacionales.. 2.3 DISEÑO DE APLICACIONES WEB El diseño web es una actividad que consiste en la planificación, diseño e implementación de sitios web y páginas web. No es simplemente una aplicación del diseño convencional, ya que requiere tener en cuenta cuestiones tales como navegabilidad, interactividad, usabilidad, arquitectura de la información y la interacción de medios como el audio, texto, imagen y vídeo. Se lo considera dentro del Diseño Multimedia. La unión de un buen diseño con una jerarquía bien elaborada de contenidos aumenta la eficiencia de la web como canal de comunicación e intercambio de datos, que brinda posibilidades como el contacto directo entre el productor y el consumidor de contenidos, característica destacable del medio. El diseño web ha visto amplia aplicación en los sectores comerciales de Internet especialmente en la World Wide Web. Asimismo, a menudo la web se utiliza como.

(29) medio de expresión plástica en sí. Artistas y creadores hacen de las páginas en Internet un medio más para ofrecer sus producciones y utilizarlas como un canal más de difusión de su obra.. 2.3.1 DISEÑO WEB APLICADO El diseño de páginas web trata básicamente de realizar un documento con información hiperenlazado con otros documentos y asignarle una presentación para diferentes dispositivos de salida (en una pantalla de computador, impreso en papel, en un teléfono móvil, etc.). Estos documentos o páginas web pueden ser creados: •. creando archivos de texto en HTML.. •. utilizando un programa WYSIWYG o WYSIWYM de creación de páginas.. •. utilizando lenguajes de programación del lado servidor para generar la página web.. 2.3.1.1 Etapas Para el diseño de páginas web debemos tener en cuenta tres etapas: •. La primera es el diseño visual de la información que se desea editar. En esta etapa se trabaja distribuyendo el texto, los gráficos, los vínculos a otros documentos y otros objetos multimedia que se consideren pertinentes. Es importante que antes de trabajar sobre el computador se realice un bosquejo o prediseño sobre el papel. Esto facilitará tener un orden claro sobre el diseño.. •. La segunda, una vez que se tiene este boceto se pasa a 'escribir' la página web. Para esto, y fundamentalmente para manejar los vínculos entre documentos, se creó el lenguaje de marcación de hipertexto o HTML.. •. La tercera, etapa consiste en el posicionamiento en buscadores o SEO. Ésta consiste en optimizar la estructura del contenido para mejorar la posición en que aparece la página en determinada búsqueda. Etapa no gustosa por los diseñadores gráficos, por que a diferencia del texto, aún para el año 2009 no se pueden tener nuevos resultados en los buscadores con sitios muy gráficos..

(30) 2.3.1.2 Fundamentos Un correcto diseño web implica conocer cómo se deben utilizar cada una de los elementos permitidos en el HTML, es decir, hacer un uso correcto de este lenguaje dentro de los estándares establecidos por la W3C y en lo referente a la web semántica. Debido a la permisibilidad de algunos navegadores web como Internet Explorer, esta premisa original se ha perdido. Por ejemplo, este navegador permite que no sea necesario cerrar las etiquetas del marcado, utiliza código propietario, etc. Esto impide que ese documento web sea universal e independiente del medio que se utilice para ser mostrado. La web semántica, por otra parte, aboga por un uso lógico de los elementos según el significado para el que fueron concebidas. Por ejemplo se utilizará el elemento <P> para marcar párrafos, y <TABLE> para tabular datos (nunca para disponer de manera visual los diferentes elementos del documento). En su última instancia, esto ha supuesto una auténtica revolución en el diseño web puesto que apuesta por separar totalmente el contenido del documento de la visualización. De esta forma se utiliza el documento HTML únicamente para contener, organizar y estructurar la información y las hojas de estilo CSS para indicar como se mostrará dicha información en los diferentes medios (como por ejemplo, una pantalla de computadora, un teléfono móvil, impreso en papel, leída por un sintetizador de voz, etc.). Por lógica, esta metodología beneficia enormemente la accesibilidad del documento. También existen páginas dinámicas, las cuales permiten interacción entre la web y el visitante, proporcionándole herramientas tales como buscadores, chat, foros, sistemas de encuestas, etc. y poseen de un Panel de Control de administración de contenidos. Este permite crear, actualizar y administrar cantidades ilimitadas de contenido en la misma.. 2.3.1.3 Accesibilidad El diseño web debe seguir unos requerimientos mínimos de accesibilidad web que haga que sus sitios web o aplicaciones puedan ser visitados por el mayor número de personas. Para conseguir estos objetivos de accesibilidad se han desarrollado pautas como las del W3C: Pautas de accesibilidad al contenido Web..

(31) 2.3.2 PRINCIPIOS DE DISEÑO WEB. Internet es un medio riquísimo tanto en posibilidades como en contenidos. La competitividad existente en la red de redes es enorme debido entre muchas razones a la relativa pequeña inversión que requiere el crear un website. Una navegación engorrosa, puede por tanto hacernos perder de forma inmediata a casi todos nuestros posibles clientes-usuarios. Si a esto añadimos que la construcción de un website se realiza con lenguajes que posibilitan una enorme flexibilidad, podemos ver la gran importancia que tiene el especificar algunos principios de diseño para el desarrollo de nuestros webs.. 2.3.2.1 La ley de Fitts. Esta es prácticamente la única regla no subjetiva que está establecida dentro del campo del diseño de interfaces y hace referencia a las características que tienen que tener los objetos para que sea más fácil o difícil pulsarlos (o mejor dicho interaccionar con ellos): posición en la que se encuentren, tamaño del mismo, y una característica adicional, la ‘expresividad’ de dichos elementos. Con este último concepto quiero dar a entender que un objeto será más ‘visible’ (en cuanto a la interacción con el usuario) si éste da a entender o expresa su existencia como objeto de interfaz y no como simple información (ya sea dato o imagen). Un ejemplo es el cambio que sufren ciertos enlaces web al pasar por encima de ellos con el puntero del ratón (por ejemplo cambiando de color). Cualquiera puede pensar que todo lo dicho por la ley de Fitts es absolutamente evidente, y de hecho generalmente lo es, pero más sorprendente es aún la gran cantidad de veces que se no se aplican estos principios logrando por tanto que la usabilidad de nuestra interfaz se vea claramente comprometida.. 2.3.2.2 Dar feedback al usuario. Existen muchísimos casos en los que una acción por parte del usuario implica modificaciones en la aplicación (sea esta web o no) que no tienen una correspondencia visual que mostrarse al usuario, y si ésta existe no se da ninguna información sobre la acción ejecutada. Imaginemos que conectamos con una página de sugerencias de un website, y al completar toda la información que se nos pide y enviarla, esta vuelve a aparecer vacía o nos devuelve a la página principal de dicho.

(32) website. El usuario no sabría si la sugerencia ha sido enviada, o si lo que ha ocurrido es que la página está mal programada y al darle al botón de envío vuelve a cargarse el mismo formulario u otro. Dar información de retorno al usuario sobre las acciones que realiza es un punto fundamental y en demasiadas ocasiones olvidado. Afortunadamente en el mundo web, la principal acción que realizan los internautas es pulsar enlaces y descargar archivos, acciones ambas que tienen inmediatas consecuencias. Para las que no tienen, dar feedback al usuario es el camino a seguir para conseguir aplicaciones consistentes y de alta usabilidad.. 2.3.2.3 Reutilización de la experiencia del usuario. Consiste en exponer al usuario ante lo conocido. Actualmente está proliferando en demasía el uso de ciertos elementos que dan a la web mucha flexibilidad y riqueza como es el uso de Flash. En estos nuevos interfaces parece primar el efecto visual, y la realización de todo tipo de piruetas estilísticas sobre la facilidad de uso consiguiendo confundir al usuario. En el entorno web es particularmente poco razonable crear interfaces que requieran excesivo aprendizaje ya que cualquier dificultad presentada al usuario suele significar una pérdida considerable de visitas a favor de nuestra competencia (no olvidemos la enorme proliferación que ha vivido y sigue viviendo la creación de websites de todo tipo). El uso de estructuras de navegación no estándar es posiblemente el error más grave que podamos cometer. También debemos saber que existen ciertas excepciones plenamente justificadas como son la creación de websites en los que prima la forma al contenido o en los que casi no existe competencia.. 2.3.2.4 Uso del Scroll. Es una buena idea hacer que todos los elementos de navegación y la información importante se le muestre al usuario nada más se cargan las páginas sin necesidad de hacer scroll. De esta forma nos aseguramos la información importante es expuestas a todos nuestro clientes-usuarios.. 2.3.2.5 Sentencias y párrafos. La gran mayoría de los usuarios lee lo mínimo e imprescindible para obtener aquello que buscan de nuestro web. Incluir sentencias largas y párrafos grandes dificulta.

(33) generalmente esta actividad con lo que se pierde algo de usabilidad (y por lo tanto de visitas!!). Evidentemente no podemos aplicar lo anteriormente dicho a lo que son propiamente documentos en formato web (html), ya sean artículos, o incluso libros. De todas formas pienso que ya existe una tendencia que se va a ir consolidando, y es la de diferenciar lo que es la propia aplicación web (es decir aquellos objetos que nos permiten comunicarnos con el servidor) de todo aquellos elementos que obtenemos como resultado de la interacción con dicha aplicación. Esta postura introduce una clara riqueza conceptual al diferenciar entre aplicación e información, teniendo numerosas ventajas y a su vez un grave inconveniente (que puede resultar argumento más que suficiente para desecharla) y es que necesitamos un programa adicional para la lectura de los documentos obtenidos (por ejemplo el Adobe Acrobat Reader) que aunque puede ser gratuito implica mayores requisitos al usuario (y esto casi siempre suele ir en decremento del número de visitas). Conocer a nuestros posibles clientes es un punto fundamental a la hora de tomar estas decisiones de diseño.. 2.3.2.6 Imágenes. Debido a las limitaciones del ancho de banda resulta poco recomendable cargar excesivamente nuestras páginas de imágenes, y si debemos de hacerlo una técnica muy interesante consiste en crear thumbnails (imágenes de muy reducido tamaño que al pulsarse abren otra ventana en la que se carga la imagen original). Por lo general en los thumbnails se muestra la suficiente información para que un usuario decida si le es útil obtener la imagen original o no.. 2.3.2.7 Ancho de Banda. El universo web ofrece muchísimas posibilidades interactivas y multimedia pero hay que ser plenamente conscientes de que aún existen muchos usuarios que disponen de un ancho de banda reducido y que por lo tanto pueden necesitar bastante segundos (o incluso minutos) en cargar nuestras páginas. Conforme se vayan extendiendo las redes de alta velocidad, este panorama irá cambiando, aunque el tiempo que va a requerir se mide en años y no en meses. La economía, y la simplicidad siguen siendo normas de capital importancia en el diseño de interfaces web..

(34) CAPITULO III. ASPECTOS METODOLÓGICOS 3.1 MODELO ESPIRAL ORIENTADO A LA WEB El MODELO en espiral, propuesto originalmente por BOEHM en 1976, es un modelo de proceso de software evolutivo donde se conjuga la naturaleza de construcción de prototipos con los aspectos controlados y sistemáticos del MODELO LINEAL y SECUENCIAL. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software que no se basa en fases claramente definidas y separadas para crear un sistema. Se divide en un número de actividades de marco de trabajo, también llamadas REGIONES DE TAREAS , Cada una de las regiones están compuestas por un conjunto de tareas del trabajo llamado CONJUNTO DE TAREAS que se adaptan a las características del proyecto que va a emprenderse en todos los casos se aplican actividades de protección.. 3.1.1 ACTIVIDADES PRINCIPALES: 1. Planificación: determinación de objetivos, alternativas y restricciones. 2. Análisis de riesgo: análisis de alternativas e identificación/resolución de riesgos. 3. Ingeniería: desarrollo del producto del "siguiente nivel", 4. Evaluación del cliente: Valorización de los resultados de la ingeniería.. 3.1.2 CARACTERÍSTICAS •. En cada giro se construye un nuevo modelo del sistema completo.. •. Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo). •. Mejor modelo para el desarrollo de grandes sistemas.. •. El análisis de riesgo requiere la participación de personal con alta cualificación.. 3.1.3 DESVENTAJAS •. Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.. •. Es nuevo (1988) y no se ha utilizado tanto como otros modelos de ciclo de vida..

(35) •. Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas.. 3.1.4 VENTAJAS •. El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora.. •. Como el software evoluciona a medida que progresa el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los nivele evolutivos.. •. El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en cualquier etapa de evolución del producto.. •. El modelo en espiral demanda una consideración directa de los riesgos técnicos en todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos antes de que se conviertan en problemas.. En la utilización de grandes sistemas a doblado la productividad. 3.2 METODOLOGÍA OOHDM 3.2.1 INTRODUCCIÓN La metodología de Diseño Hipermedia orientada a objetos, propuesta por D. Schwabe y G. Rossi, OOHDM es una mezcla de estilos de desarrollo basado en prototipos, en desarrollo interactivo y de desarrollo incremental. En cada fase se elabora un modelo orientado a objetos conceptual que recoge las características a resaltar en la misma incrementando los resaltados de la fase o fases siguientes.. Según OOHDM, el desarrollo de aplicaciones de hypermedia ocurre cuando cuatro actividades se procesan: •. El Modelo Conceptual. •. Diseño de la Navegación. •. Diseño Interfaz Abstracta. •. Implementación. Que se realiza en una mezcla de estilos de desarrollo iterativo e incremental; en cada paso un modelo será construido o mejorado..

(36) 3.2.2 LOS PRINCIPIOS BÁSICOS DEL MÉTODO DE OOHDM Contempla los objetos que representan la navegación como vistas de los objetos detallados en el modelo conceptual. El uso de abstracciones apropiadas para organizar el espacio de la navegación, con la introducción de contextos de navegación. La separación de las características de interfaz de las características de la navegación. Una identificación explícita que hay en las decisiones de diseño que sólo necesitan ser hechos en el momento de la implementación.. 3.2.2.1 Modelo Conceptual Durante esta actividad, se construye un esquema conceptual que representa objetos, sus relaciones y colaboraciones que existen en el dominio designado. En aplicaciones de hypermedia convencionales, es decir, aquellos en los que los componentes de la hypermedia no serán modificados durante su ejecución, se podría usar un modelo semántico estructural [Banerjee87], sin embargo, cuando la base de información puede cambiar dinámicamente o si se piensa realizar cómputos complejos o consultas en los objetos o el esquema, se necesita una abundante conducta del modelo orientado a objetos. En OOHDM, el esquema conceptual es construido en las clases, relaciones y subsistemas. Las clases son descritas como de costumbre en el modelo orientado a objetos, sin embargo, pueden multi-digitar atributos representando perspectivas diferentes de la misma entidad del mundo. Se usa una notación que es similar a UML [OMG 00], la Clase y Tarjetas de las relaciones, similar a las tarjetas de CRC [WirfsBrock 90] son usadas como una ayuda de la documentación, ayudando remontar decisiones de diseño enviados y al revés.. 3.2.2.2 Diseño Navegacional En OOHDM, la navegación es considerada un paso crítico en el diseño de una aplicación de hypermedia. Un Modelo de navegación se construye como una vista más de un modelo conceptual y permite la construcción de modelos diferentes según los perfiles diferentes de los usuarios. Cada modelo de navegación proporciona una vista "Subjetiva" del modelo conceptual..

(37) El diseño de navegación se expresa en dos esquemas, el esquema de la Clase De navegación, y el Esquema del Contexto De navegación. Los objetos navegables de una hypermedia en la aplicación es definida por un esquema de la clase navegacional cuyas clases reflejan la vista escogida sobre del dominio de la aplicación.. 3.2.2.3 Diseño de Interfaz Abstracta En OOHDM, se usa un acercamiento del Diseño de Datos de Vista Abstractos (ADVs), para describir la interfaz del usuario de una aplicación de hypermedia. ADVs son objetos en los que tienen un estado y una interfaz, donde la interfaz puede ser ejercido a través de mensajes (en particular, eventos externos generados por el usuario). Las ADVs son abstractas en el sentido de que ellos sólo representan la interfaz y el estado, y no la aplicación. Las ADVs han sido usados para representar interfaces entre dos medios de comunicación diferentes como un usuario, una red o un dispositivo (un cronómetro, por ejemplo) o como una interfaz entre dos u mas Objetos de Datos Abstractos (ADOs). Los ADOs son objetos que no soportan externamente eventos generados por el usuario. Desde un punto de vista arquitectónico, las ADVs son observadores para ADOss, para que el protocolo de comunicación entre la interfaz y los objetos de aplicación siga las reglas descritas en el Modelo de Diseño de Observador.. 3.2.2.4 Implementación En esta fase, el diseñador realmente implementará el diseño. Hasta ahora, todos los modelos fueron deliberadamente construidos de semejante manera en lo que se refiere a ser independiente de la plataforma de implementación; en esta fase el ambiente particular de (tiempo de ejecución) runtime se toma el derecho de acceso a un servidor o a la red internet. A continuación se fijará cómo los diseños de OOHDM pueden ser implementados en el WWW. Cuando la fase de implementación se alcanza, el diseñador ya tiene definido los artículos de información que son parte del dominio del problema. También tiene identificado cómo estos artículos deben ser organizados según el perfil del Usuario y asignaciones; ya que se ha decidido lo la interfaz, y cómo se comportará. En orden para implementar todos esto en el ambiente de WWW y aplicaciones de multimedia, el diseñador tiene que decidir cómo.

Referencias

Documento similar

 Cuando una solicitud HTTP llama a la página HTML (ver la etapa 1 de la siguiente figura), el servidor Web la devuelve al cliente para que esta pueda ser

- Organismo donde trabaja (seleccionar la opción “Otro Organismo Público”, luego ingresar el código dentro del recuadro blanco, o cliquear en el botón

Se llega así a una doctrina de la autonomía en el ejercicio de los derechos que es, en mi opinión, cuanto menos paradójica: el paternalismo sería siempre una discriminación cuando

A partir de los resultados de este análisis en los que la entrevistadora es la protagonista frente a los entrevistados, la información política veraz, que se supone que

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal