Trabajo para optar por el Título de Ingeniero en Ciencias Informáticas
Titulo: Diseño del Portal Web Bohemia
Autores: Yunior Rodríguez Hernández.
Gendry Adalberto Vargas Moret.
Tutores: Ing. Leansy Alfonso Pérez
Lic. Hailem Dreis Carrasco Fuentes
Consultor: Lic. José Miguel Rodríguez Bacallao.
DECLARACIÓN DE AUTORÍA
Declaramos ser autores de la presente tesis y reconocemos a la Universidad de las Ciencias Informáticas los derechos patrimoniales de la misma, con carácter exclusivo.
Para que así conste firmo la presente a los ____ días del mes de _________ del año ________.
Yunior Rodríguez Hernández Leansy Alfonso Pérez
Gendry Adalberto Vargas Moret
______________ ______________
Firma del Autor Firma del Tutor
OPINIÓN DEL TUTOR DEL TRABAJO DE DIPLOMA
Título: Diseño del Portal Web Bohemia.
Autores:
Yunior Rodríguez Hernández y Gendry Adalberto Vargas Moret
El tutor del presente Trabajo de Diploma considera que durante su ejecución el estudiante mostró las cualidades que a continuación se detallan.
<Aquí el tutor debe expresar cualitativamente su opinión y medir (usando la escala: muy alta, alta, adecuada) entre otras las cualidades siguientes:
- Independencia - Originalidad - Creatividad - Laboriosidad
- Responsabilidad >
< Además, debe evaluar la calidad científico-técnica del trabajo realizado (resultados y documento) y expresar su opinión sobre el valor de los resultados obtenidos (aplicación y beneficios) >
Por todo lo anteriormente expresado considero que el estudiante está apto para ejercer como Ingeniero Informático; y propongo que se le otorgue al Trabajo de Diploma la calificación de <nota>.
<Además, si considera que los resultados poseen valor para ser publicados, debe expresarlo también>
________________ _________________
Firma Fecha
OPINIÓN DEL USUARIO DEL TRABAJO DE DIPLOMA
El Trabajo de Diploma, titulado: “Diseño del Portal Web Bohemia”, fue realizado en la Universidad de las Ciencias Informáticas (UCI). Este centro considera que, en correspondencia con los objetivos trazados, el trabajo realizado le satisface:
Totalmente
Parcialmente en un ____ %
Los resultados de este Trabajo de Diploma le reportan a esta Universidad los beneficios siguientes:
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
Como resultado de la implantación de este trabajo se reportará un efecto económico que asciende a
<valor en MN o USD del efecto económico>
Y para que así conste, se firma la presente a los ____ días del mes de ________ del año ______
________________________________ ____________
Representante de la entidad Cargo
___________ ___________
Firma Firma
DATOS DE CONTACTO
TUTOR: Ing. Leansy Alfonso Pérez
Profesor graduado de ingeniero informático en el Instituto Superior Politécnico José Antonio Echeverría.
Posee la categoría docente de instructor. Ha impartido asignaturas de Programación 2, Programación 3.
Es profesor de la facultad 10 y se desempeña actualmente como Jefe del Proyecto Prensa de la facultad.
CONSULTANTE: Lic. Jose Miguel Rodriguez Bacallao
Actualmente administrador de redes de la Refinería de Santiago de Cuba, graduado de cibernético en la Universidad Central de las Villas (UCLV). Posee la categoría docente de instructor. Ha impartido clases en la Universidad de las Ciencias Informáticas (UCI) en las asignaturas de Base Datos, Programación 1 y Programación 2. Desempeñó el rol de Jefe de Proyecto de la Prensa en la facultad 10.
Agradecimientos
Agradecemos a todos los que de alguna forma han contribuido a nuestra formación profesional especialmente:
A la Revolución Cubana y a nuestro Comandante en Jefe.
A nuestros profesores por su ayuda en nuestra preparación profesional.
A nuestros tutores Leansy y Hailem por toda la ayuda que nos han brindado y por sus orientaciones y la confianza que depositó en nosotros.
A Nuestras familias por su apoyo y ejemplo durante la vida.
A nuestros amigos por estar siempre ahí desinteresadamente.
“Nunca consideres el estudio como una obligación sino como una oportunidad para penetrar en el bello y maravilloso mundo del saber”
Albert Einstein
Dedicatoria
A nuestras familias por todo el apoyo que nos han brindado especialmente a:
Yunior
Mi abuela Lilia Cira Juís Valentín Mi tío José A. Hernández Juís Mi madre Vivian Perfecta Hernández Juís
Mi abuelo Pedro Hernández Sosa Mi hermano Andy Damián Del Sol Hernández Gendry
Mi abuela Blanca Rosa Arencibia Rodríguez Mi abuelo Adalberto Moret Ordoñez Mi madre Laudelina Moret Arencibia
Mi tía María Elena Moret Arencibia Mi tía Yaquelin Moret Arencibia
Mi novia Yaimi Aguilar Reyes
Mis Amigos y familiares más cercanos.
Resumen
La Ingeniería del Software, definida como el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software, lleva marcando las pautas de cómo se debe trabajar en el desarrollo de sistemas de información dentro de la ingeniería informática. Sin embargo, el término de la Ingeniería del Software es un término amplio que abarca multitud de sistemas y que engloba un gran número de áreas de investigación. Una de las más recientes es la que se ha denominado Ingeniería Web. La Ingeniería Web es un área de la Ingeniería del Software que trabaja en el entorno de los sistemas web.
El Comité Central de Cuba se ha trazado la estrategia de migrar todos los medios de prensa digitales cubanos a una plataforma libre. El trabajo que se presenta en este documento pretende realizar la Ingeniería Web del sitio Bohemia para montarlo posteriormente en la plataforma libre de plone. En el desarrollo de este se analizarán y diseñarán todos los procesos que son realizados actualmente por la revista Bohemia, por ejemplo el proceso de publicación de los contenidos noticiosos, así como los servicios que pretende brindar el sitio; boletines, foros, Blogs, etc. El nuevo sitio que se pretende realizar será sostén de la antológica revista Bohemia en Cuba, en un mayor esfuerzo por hacer trascender la realidad cubana y sus puntos de vista.
Índice de Contenido
AGRADECIMIENTOS ... I DEDICATORIA ... II RESUMEN ... III
INTRODUCCIÓN... 1
CAPÍTULO 1. ... 5
1.1 Introducción ...5
1.2 Internet ...5
1.2.1 La Información a Través de Internet...5
1.2.2 Sitios de Prensa Internacionales y Nacionales. Posicionamiento web...6
1.3 Tendencia y Tecnologías Actuales...9
1.3.1 De Simple Páginas Web a los Portales. ...9
1.3.2 Servidor de Aplicaciones. Zope...11
1.3.3 ZPT vs. DTML ...15
1.3.4 CSS. Hojas de Estilo en Cascada...16
1.3.5 Los Sistemas de Gestión de Contenidos. Plone. ...17
1.3.6 Python. ...23
1.3.7 Metodología para el desarrollo del sistema. Rational Unified Process (RUP). ...24
1.3.8 Lenguaje de Modelado Unificado (UML). ...26
1.3.9 Herramienta Case – Uml...28
1.4 Conclusiones. ...30
CAPÍTULO 2 ...31
2.1 Introducción...31
2.2 Descripción de los Procesos del negocio propuestos. ...31
2.3.1 Definición de los Roles del Dominio. ...33
2.3.2 Reglas del Negocio...34
2.3.3 Diagrama del Modelo del Dominio. ...35
2.4 Requerimientos Funcionales...36
2.5 Requerimientos no Funcionales...37
2.6 Descripción del Sistema Propuesto. ...39
2.7 Modelo de Casos de Uso del Sistema...40
2.7.1 Descripción de los Casos de Uso del Sistema. ...41
2.7.2 Diagrama del Sistema...43
2.7.3 Casos de Uso Expandido. ...43
2.8 Conclusiones...55
CAPÍTULO 3. ... 57
3.1 Introducción...57
3.2 Análisis. ...57
3.3 Diseño...57
3.4 Conclusiones...58
CAPITULO 4. ... 59
4.1 Introducción...59
4.2 Planificación Basada en Casos de Usos. ...60
4.3 Calcular los Puntos de Casos de Uso Sin Ajustar...60
4.3.1 Factor de Peso de los Actores Sin Ajustar...60
4.3.2 Factor de Peso de los Casos de Uso Sin Ajustar. ...60
4.4 Calcular los Puntos de Casos de Uso Ajustados...61
4.4.1 Factor de Complejidad Técnica. ...62
4.4.2 Factor de Ambiente. ...63
4.5 Calcular el Esfuerzo. ...64
4.6 Calcular Tiempo de Desarrollo...64
4.7 Calcular el Costo Total del Proyecto. ...65
4.8 Beneficios Tangibles e Intangibles...65
4.9 Análisis de Costos y Beneficios. ...66
4.10 Conclusiones...66
CONCLUSIONES... 67
RECOMENDACIONES ... 68
REFERENCIAS BIBLIOGRÁFICAS... 69
BIBLIOGRAFÍA... 70
GLOSARIO DE TÉRMINOS ... 72
ANEXOS... 75
3.2.1 Anexo 1. Diagramas de Clases del Análisis. ...75
3.2.2 Anexo 2. Diagramas de colaboración...79
3.3.1 Anexo 3. Diagramas de clases del diseño...91
Introducción
El impacto de Internet y su tecnología en la estrategia comunicacional y el desarrollo de los procesos internos de las organizaciones periodísticas y editoriales es un fenómeno relativamente nuevo, cuyas consecuencias y derivaciones no son siempre evidentes. Los mercados editoriales y periodísticos encuentran en Internet algo más que una mera tecnología para la transmisión de información: un soporte tecnológico con potencialidades antes no soñadas.
Tradicionalmente, el soporte físico y la distribución han sido factores que limitan el acceso del público a la información. Por el contrario, Internet provoca un dramático cambio en el desarrollo de las tecnologías de la información y las comunicaciones (TICs), facilitando la entrega de contenidos en lugares anteriormente impensados.
Los sitios web de los medios de comunicación, más concretamente los de prensa digital, se están convirtiendo en puntos de acceso a una información periodística adaptada o creada específicamente para el nuevo canal, Internet, y para diferentes dispositivos: ordenadores, agendas electrónicas (PDA), teléfonos móviles (WAP, GPRS), ordenadores de mano (HHP’s) y los de bolsillo (Palmtops). Las tendencias actuales en el periodismo web trazan una marcada evolución hacia los portales informativos.
Producto al bloqueo económico que lleva a cabo los Estados Unidos (EE:UU) con nuestro país, se ha tornado difícil para todos nuestros órganos cubanos tener acceso a las tecnologías privatizadas de la información que existen en el mundo actual, esta a sido una de las principales causas por la que nos hemos visto envueltos en tener que desarrollar nuestros portales con las nuevas herramientas del software libre.
En el país desde el primero de abril con la publicación web de Granma Internacional se ha venido realizando un gran esfuerzo para mantener la prensa digital en una posición que le permita hacer frente a la campaña que lleva a cabo el gobierno norteamericano para desinformar al mundo sobre la realidad cubana. El Comité Central se ha trazado la estrategia de estandarizar en una plataforma libre todos los medios de prensa. Además se automatiza el flujo de trabajo para una publicación, eliminando así la
necesidad actual que tienen los periodistas de conocer lenguaje HTML. En la universidad con la coordinación del Comité Central existe un proyecto en el cual se realiza la migración de varios portales periodísticos con tecnología plone, dentro de los portales que se necesita migrar se encuentra el sitio Web de Bohemia. No se puede realizar el proceso de migración sin antes tener un diseño bien definido que precise todas las funcionalidades que debe tener el nuevo sitio. Producto a este inconveniente surge el siguiente problema científico: ¿Cómo diseñar correctamente el sitio Bohemia para una futura migración a Zope-Plone?
De esta forma el objeto de estudio del trabajo recae en los Sistemas de manejo y gestión de contenidos, fundamentalmente Plone, que será la herramienta fundamental de trabajo para la migración de los sitios, así como el servidor de aplicaciones que la soporta: Zope. Para resolver el problema actual se propone el siguiente objetivo general: Realizar el análisis y diseño del sistema informático de manera que pueda emigrar el sitio a la plataforma libre de plone.
Se tiene como campo de acción el proceso de informatización del portal Bohemia con tecnología plone.
Para guiar la investigación se plantea la siguiente hipótesis: si se logra diseñar correctamente la aplicación web entonces se alcanzarán altos niveles de eficiencia, calidad y aceptación en la publicación del sitio Bohemia.
Entre los objetivos específicos se encuentran:
• Realizar el modelo del negocio.
• Especificación de los requisitos funcionales y no funcionales del software.
• Identificar los roles del flujo real de Bohemia para definir el comportamiento de los usuario dentro del sitio que se va a diseñar en plone.
• Realizar el análisis y diseño de los casos de uso.
• Realizar el estudio de factibilidad del proyecto.
Para lograr los objetivos se han trazado las siguientes tareas:
• Elaboración de los fundamentos teóricos del sistema de informatización.
• Realizar el análisis y diseño del portal Bohemia utilizando la metodología RUP Y el lenguaje de modelado UML.
• Analizar las tecnologías, es decir las ventajas, desventajas y otros aspectos que sean necesarios para la realización del software.
• Comprender el flujo de trabajo específico requerido para dar curso a la publicación.
Para realizar las tareas se emplearán los siguientes métodos:
Métodos teóricos:
• Histórico lógico: En la primera parte de la investigación se desarrollará un estudio del estado del arte de la problemática; se analizará las ventajas y desventajas de cada una de las herramientas y las tendencias en la resolución de esta problemática.
• Método de la modelación: La modelación del sistema permite predecir la respuesta de dicho sistema a variaciones de algunos de sus parámetros sin tener que ejecutar la aplicación.
• Método hipotético deductivo: Porque a partir del problema concreto se plantearon objetivos específicos e hipótesis que en el transcurso de la investigación son resueltas.
Métodos empíricos:
Entrevistas: Se llevó a cabo diferentes entrevistas a los clientes.
El presente trabajo consta de 4 capítulos:
• Capítulo 1: Fundamentación teórica.
Este capitulo abordará el análisis de las principales herramientas a utilizar en el desarrollo de la aplicación, los conceptos técnicos que se van a tratar para una comprensión fácil de este trabajo de diploma, así como una panorámica sobre la situación de la prensa digital a nivel internacional y nacional.
• Capítulo 2: Modelo de negocio y Requerimientos.
En este capitulo se realiza el modelo de dominio donde se definen los diferentes conceptos que forma el entorno donde se desarrolla la aplicación y se construye una representación gráfica de sus relaciones , Se concretaran los requisitos funcionales y no funcionales que debe cumplir el sistema, así como las reglas que se deberán tener en cuenta para diseñar la aplicación, para culminar se realizará el análisis del sistema donde quedarán bien definidos los actores y casos de uso, representándolos mediante diagramas de UML.
• Capítulo 3: Análisis y diseño.
Este capitulo planteará la solución del sistema mediante los diagramas de clase y de diseño del sistema.
En este se analizó el sistema mediante cada caso de uso para su mayor análisis y comprensión del mismo. Se representaron diferentes diagramas como: diagramas de clases, diagrama de iteración de clases (colaboración) y diagrama de clases del diseño.
• Capítulo 4: Estudio de Factibilidad del proyecto.
En este capitulo se realiza un estudio de la factibilidad del sistema donde se analizarán varios factores que influyen en la realización de este como los beneficios y costo de producción y se llegará a la conclusión si se debe realizar el portal o no.
CAPÍTULO 1.
FUNDAMENTACIÓN TEÓRICA
1.1 Introducción
Una realidad asumida en el contexto del periodismo electrónico, cada vez más convergente hacia la integración de nuevos medios y contenidos sobre la plataforma Web, es que una gran parte del futuro de estos medios reside no solo en la calidad de sus contenidos sino también en la capacidad y calidad del propio medio de comunicación para difundirlos de forma pertinente y eficaz. Para ir adentrándose en el marco teórico del proyecto en este capitulo se abordará un estudio del entorno en que se desarrollará el portal web, así como los conceptos técnicos. También se analizarán las principales herramientas y metodologías que se utilizarán en el análisis y diseño del mismo.
1.2 Internet
El fenómeno social, cultural, sociológico y comercial de Internet tiene su origen en la década del 60 y se relaciona con un proyecto de defensa financiado por el gobierno de Estados Unidos. Gracias a esta iniciativa, hoy es posible buscar, crear y transferir información en tiempo real para 6 mil millones de personas.
Desde sus inicios, el crecimiento de Internet ha sido exponencial, especialmente en la década del 90, época en que la red se convirtió en una herramienta fundamental de comunicación, información e integración, que permite a los usuarios ahorrar tiempo y dinero, además de tener a su alcance todos los productos y servicios que requieran sin fronteras de espacio o tiempo.
1.2.1 La Información a Través de Internet.
World Wide Web (WWW), es el universo de información accesible a través de Internet, una fuente inagotable del conocimiento humano. Es básicamente un medio de comunicación de texto, gráficos y otros objetos multimedia a través de Internet, es decir, la www es un sistema de hipertexto que utiliza Internet
como su mecanismo de transporte o desde otro punto de vista, una forma gráfica de explorar las redes.
Usando la Web, se tiene acceso a millones de páginas de información. La exploración se realiza por medio de un software especial denominado “Browser” o Explorador.
Las principales ventajas del servicio WWW son tres. Primera, que puede combinar diferentes tipos de representaciones de la información: texto, audio, video, etc. Segunda, que los hiperenlaces permiten cargar páginas de cualquier otro servidor conectado a Internet, da igual que esté localizado en cualquier sitio del mundo. Y, tercera, que la creación de páginas WWW es bastante sencilla mediante el lenguaje HTML.
1.2.2 Sitios de Prensa Internacionales y Nacionales. Posicionamiento web.
El primer periódico sobre soporte electrónico en el mundo fue "Viewtel 202", aparecía en marzo de 1979 como complemento del diario "Birmingham Post and Mail" (Reino Unido). En 1994, el rotativo británico
"Daily Telegraph" pone en la red su edición digital "Electronic Telegraph". Ese mismo año también aparece en la World Wide Web otro periódico norteamericano con una edición íntegra digital el "San José Mercury News". En España, fue una revista valenciana, "El Temps", la que también inicia esta actividad en 1994.
En la actualidad los periódicos en el mundo disponen de nuevas audiencias para proporcionar información. Los usuarios pasan un promedio de por lo menos 14 minutos por visita, 7 páginas cada minuto. Este se caracteriza fundamentalmente por su multimedialidad, interactividad, renovación constante y acceso desde cualquier lugar del mundo. Se presenta en dos modalidades: periodismo electrónico en línea, cuando se utiliza un medio telemático con conexión directa y periodismo fuera de línea, cuando se utiliza un medio telemático pero la conexión no es directa, sino que se descarga un bloque de datos.
Cuba se conectó por primera vez a internet en el año 1996 con el periódico Granma Internacional. Las otras versiones digitales de los periódicos nacionales salen a Internet en el período (1996-97), pero con muchas limitaciones. Casi ninguno tenía conexión directa. Las noticias se mandaban por correo electrónico, en formato PDF al servidor del CENIAI. Allí un técnico componía la página, armaba la estructura de la web y la actualizaba. La parte de la edición no tenía nada que ver con el webmaster. Fue
que se viera la realidad de lo que estaba aconteciendo en esos momentos. Por eso, la prensa en Internet rápidamente se convirtió en un elemento esencial. Las conexiones a internet son ofrecidas por proveedores vinculados al Ministerio de Ciencias de Tecnología y Medio Ambiente (CITMA), y (ETECSA), la empresa de comunicaciones cubana que se encarga de la telefonía. Actualmente existen en internet publicados una serie de periódicos nacionales como : 'Granma' (tirada nacional) que es el órgano oficial del Partido Comunista de Cuba; 'Juventud Rebelde', el diario de la Unión de Jóvenes Comunistas;
'Trabajadores' , que es el semanario de la Central de Trabajadores de Cuba; entre otros. Además de estos periódicos, cada provincia (14 y un municipio especial) tiene su propia publicación en la Red. Igualmente hay revistas especializadas y algunas otras que han sido creadas sólo para el formato digital, es decir, que no tienen correlato en papel o en algún otro soporte [1].
Un estudio de las principales deficiencias que han estado presentes de una u otra forma en los medios cubanos de prensa publicados en Internet durante el año 2004, y que repercuten en la visibilidad y posicionamiento en los buscadores, muestran estos resultados [2]:
• Medios sin título en el Index o página principal.
• Metadatos intranscendentes y poco variables.
• Titulación de los materiales sin utilizar palabras claves.
• Poco uso de las palabras claves en las primeras líneas del primer párrafo del material.
• Nulo empleo de las palabras claves resaltadas en los textos.
• Exceso de peso adicional en las páginas de inicio.
• Estructuras complejas en sus bases de datos que proporcionan direcciones poco amistosas para los buscadores.
• Carencia de mapas de navegación adecuados, bien estructurados y enlazados. (Muchos buscadores utilizan estos mapas para Indexar las secciones de los sitios).
• Deficiencias a la hora de montar los materiales largos (Es mejor usar varias páginas que una).
• Escasa posibilidad de inscripción automática de boletines y alertas de noticias.
• Carencia de automatización o desconocimiento para emplear otras tecnologías de posicionamiento y visibilidad, como son los canales RSS.
• Mal empleo de herramientas y técnicas para buscar tráfico que son penalizadas por la mayoría de los buscadores.
• Desconocimiento de la posibilidad de inscripción de los sitios cubanos en buscadores y portales de todo el mundo utilizando el monitoreo constante. Insuficiencias en el posicionamiento temático.
• Movimiento en las bases de datos, reestructuración de sitios y cambios de URL sin estudiar el posicionamiento anterior.
• Uso de varias direcciones para un mismo sitio sin que exista una política coherente de cuál es la que queremos posicionar.
Por estos problemas, que son los principales, sólo el 30 por ciento de los medios cubanos eran visible para los buscadores en español, es decir, unos 30 sitios de los cerca de 100 con los que se contaba en ese año.
La situación Actual de la prensa cubana necesita corregir estos problemas para tener un mejor posicionamiento en Internet. Dado estas dificultades y otras fue que se creó el megaproyecto de informatización de la prensa, en el cual están involucrados el CIP (Centro de Investigación de la Prensa), El CC (Comité Central) y ETECSA donde cada una tiene su función, dentro de este gran proyecto, la UCI interviene y en especial la Facultad 10, con el proyecto “Prensa” que tiene como objetivo de crear los portales de los medios de prensa, y específicamente Bohemia.
En la siguiente dirección podemos encontrar los distintos sitios de prensa cubanos publicados actualmente en Internet.
http://www.dmsgbc.sld.cu/prensa.htm
1.3 Tendencia y Tecnologías Actuales.
1.3.1 De Simple Páginas Web a los Portales.
Internet, por su propia naturaleza, no es estructurada, no existe orden ni clasificación previa, con lo que desde sus orígenes fue necesario realizar esfuerzos encaminados a facilitar la navegación y la localización de los crecientes recursos en la red.
El nacimiento de los portales en Internet se fija a finales de 1996, cuando los directorios y motores de búsqueda, liderados por Google, Yahoo y en menor medida por Altavista, comenzaron a ampliar sus páginas principales, ofreciendo algunos contenidos de interés como noticias, resultados deportivos, etc.…
Con la idea de fidelizar a los usuarios y conseguir que estableciesen la página del portal como página principal de su navegador [3].
Es ahora cuando se explica ¿Qué es un Portal?
• Un punto de entrada a Internet donde se organizan sus contenidos, ayudando al usuario y concentrando servicios y productos, de forma que le permitan a éste hacer cuanto necesite en Internet sin tener que salir de dicho sito.
• Una puerta de entrada a los servicios, productos y en general, ofrecimientos que una compañía puede brindar a sus clientes ya sean individuos o a empresas.
• Mega Sitio Web que constituye el punto inicial de la navegación; lugar con multitud de servicios que se erige en referencia para el usuario de la red.
• Reorganización de los contenidos de la red para adecuarse a la demanda de los usuarios que están en el sitio o para atraer a otras personas.
• Reestructuración de las organizaciones encaminada a lograr que una página web sea el "home page" del mayor número de usuarios y no precisamente de manera eventual.
Hasta ahora un portal de carácter general ofrece servicios de valor añadido como comunidades virtuales, espacio web gratuito, información de diverso tipo, personalización de la información, chat, e-mail gratuito, mensajes a teléfonos móviles, software gratuito, grupos de discusión, comercio electrónico, buscador, etc.
Dentro de la heterogeneidad de conceptos y terminologías acuñadas en torno a la web, y más concretamente, alrededor de los portales, resulta preciso señalar el desarrollo de un nuevo modelo de portal: el portal periodístico.
El surgimiento de estos portales, vinculados con los medios de comunicación social tradicionales o con aquellos desarrollados específicamente para la web, es debido, fundamentalmente a:
• La consolidación de los portales como los principales puntos de acceso en la web, para los usuarios.
• La necesidad de inserción de los medios de comunicación tradicionales en el nuevo panorama comunicacional, impulsado por Internet.
Son varias las modalidades de portales periodísticos que van apareciendo, dependiendo del punto de vista que se trate. Así pues, según como muestra la tabla se pueden encontrar [4]:
PORTALES PERIODÍSTICO Según la
información Generalista
Según el ámbito geográfico
Según el diseño Modelo (Genérico)
Según el origen
Temático Internacional Específico Prensa
Nacional Radio
Regional Televisión
Local Internet
La mayoría de los portales periodísticos actuales corren sobre un Servidor de Aplicaciones y están construidos en Sistemas de Gestión de Contenidos. Como el presente trabajo pretende realizar la modelación de un portal de esta categoría a continuación se explicarán con más detalles estas tecnologías escogidas para crear el sitio Web.
1.3.2 Servidor de Aplicaciones. Zope.
En informática se denomina servidor de aplicaciones a un servidor en una red de computadores que ejecuta ciertas aplicaciones de software. Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los principales beneficios de la aplicación de la tecnología de servidores de aplicación son la centralización y la disminución de la complejidad en el desarrollo de aplicaciones.
En 1996 una empresa denominada Digital Creations, actualmente Zope Corporation, desarrolló un paquete de tres productos con funciones bien definidas (la publicación Web, las plantillas de texto y una base de datos de objetos) al cual denominó Principia. Este producto inicialmente comercial, se liberó en 1998 bajo los términos de una licencia de código abierto y fue evolucionando hasta convertirse en el núcleo de un nuevo producto: Zope (Z Object Publishing Environment). Zope es un ambiente de desarrollo y publicación de aplicaciones Web programado básicamente en el lenguaje Python, salvo algunas subrutinas donde el rendimiento es crucial, que han sido escritas en el lenguaje de programación C. Se distribuye bajo la licencia denominada ZPL (Zope Public Licence).
Seguridad y usuarios
Una aplicación Web debe proporcionar básicamente seguridad en dos aspectos: una en cuanto a la privacidad de la información y otra que evite acciones malintencionadas que vulneren su integridad. Zope proporciona políticas de seguridad en todos los aspectos de la construcción de aplicaciones Web.
La seguridad generalmente está ligada a dos conceptos: autentificación y autorización, el primero significa saber quién es el usuario y el segundo determinar qué está haciendo. Zope proporciona facilidades separadas para manejar el proceso de autentificación de los usuarios y la administración de los permisos que le permiten o impiden realizar acciones. Cuando un usuario intenta acceder a un recurso protegido, Zope obliga al usuario a facilitar un nombre de usuario y una contraseña que permita el acceso al recurso.
Zope controla la autorización mediante políticas de seguridad. Estas definen qué puede hacer cada usuario. Un concepto importante en la autorización es el rol. Los roles permiten definir clases de usuarios y permisos que protegen los objetos. De esta forma, las acciones (permisos) en una parte determinan la jerarquía de los objetos Zope.
Componentes fundamentales de Zope.
Zope se basa en diferentes componentes que trabajan juntos para construir aplicaciones web. Los componentes fundamentales de Zope son mostrados en la siguiente figura, y explicados más abajo.
Figura 1: Componentes de Zope
• ZServer: Zope trae consigo un servidor web. Este servidor web también sirve para conectarse vía FTP, WebDAV, y XML-RPC (un procedimiento remoto de fácil llamada).
• Servidor Web: Por supuesto, se puede tener un servidor web ya instalado, como Apache o Microsoft IIS y tal vez no se quiera usar el de Zope. Zope trabaja con esos servidores también, y cualquier otro servidor que soporte "Common Gateway Interface (CGI)".
• Núcleo de Zope: Es el motor que coordina la función, conduciendo la interfaz de configuración y la base de datos de objetos.
• Base de Datos de Objetos: Cuando se trabaja con Zope, se está trabajando con objetos que son guardados en la Base de Datos de Objetos de Zope.
• Base de Datos Relacional: No se tiene la necesidad de almacenar información en la base de datos de Zope si no se desea. Zope trabaja con otras bases de datos relacionales como Oracle, PostgreSQL, Sybase, MySQL y otras.
• Sistema de archivos: Zope por supuesto puede trabajar con documentos y otros archivos almacenados en su sistema de archivos.
• ZClasses: Zope permite a los administradores añadir nuevos tipos de objetos a Zope usando la interfaz de administración. ZClasses son esos tipos de objetos.
• Productos: Zope también permite a los administradores añadir nuevos tipos de objetos a Zope en su sistema de archivos.
Ventajas del servidor de aplicación Zope .
Zope puede ayudarte potencialmente a crear aplicaciones web con menos costos y mucho más rápido.
Esto es debido en base a características propias de Zope:
• Zope es gratuito y es distribuido bajo licencia de software libre.
• Zope por si mismo es una plataforma inclusiva. Trae todos los componentes necesarios para comenzar a desarrollar una aplicación. No es necesario conseguir una licencia extra para complementar Zope (por ejemplo una base de datos relacional) como requisito para comenzar a desarrollar una aplicación. Esto hace que Zope sea muy fácil de instalar.
• Zope permite y apoya los desarrollos de terceros para ser distribuidos como aplicaciones listas para usar. A la par, Zope tiene una gran variedad de servicios integrados y módulos disponibles para su uso inmediato. La mayoría de esos componentes, como Zope en si, son gratis y de código abierto. La popularidad de Zope es debida a una gran comunidad de desarrolladores.
• Las aplicaciones creadas en Zope pueden escalarse linealmente con el uso de Zope Enterprise Objects (ZEO) solución para clusters. Usando ZEO, puede servir una aplicación Zope basándose en múltiples computadores sin necesidad de cambiar mucho (sí es necesario cambiar algo) del código de tu aplicación.
• Zope permite a los desarrolladores crear aplicaciones web con el solo uso de un navegador Web.
Puede ser Mozilla, Internet explorer, Netscape, OmniWeb, Konqueor, Opera, son todos compatibles para mostrar y manejar el entorno de desarrollo de Zope (Zope Management Interface también conocido como ZMI). Zope también permite a los desarrolladores delegar funciones de desarrollo de la aplicación a otros desarrolladores a través de Internet de una manera muy segura usando la misma interfaz.
• Zope provee un granular y extensible entorno de desarrollo. Puedes integrar fácilmente Zope con diversas sistemas de autenticación y autorización como LDAP, Windows con tecnología NT, y RADIUS simultáneamente, usando módulos pre-fabricados.
• Zope permite que equipos de desarrolladores colaboren entre si efectivamente. Entornos colaborativos requieren de herramientas que permitan a los usuarios trabajar sin interferir a otro, por eso Zope tiene Deshacer, Versiones, historial y otras herramientas que ayudan a trabajar seguros y recuperarse de los errores.
• Zope corre en las plataformas de sistemas operativos mas difundidas: Linux, Windows NT/2000/XP, Solaris, FreeBSD, NetBSD, OpenBSD, y Mac OS X. Zope corre también en Windows 98/Me (recomendado solo para propósitos de desarrollo).
• Zope puede ser complementado usando el lenguaje interpretado de scripts Python. Python es popular y fácil de aprender, y promueve un rápido desarrollo. Muchas librerías están disponibles para Python las cuales pueden ser usadas cuando se esta desarrollando una aplicación.
• Zope permite realizar conexiones a bases de datos relacionales externas. Zope dispone de adaptadores para la mayoría de sistemas gestores de bases de datos relacionales: Oracle,
Sybase, Internase, ODBC, PostgreSQL, MySQL, etc. Además, incluye un adaptador para Gadfly, una base de datos relacional escrita en Python con propósitos de demostración.
Desventajas del servidor de aplicación Zope.
Zope aunque posee una gran comunidad de desarrolladores en la actualidad posee algunas desventajas como:
• Falta de documentación en español.
• Curva de aprendizaje bastante empinada (muchas tecnologías y conceptos).
Zope facilita dos métodos de implementar las páginas Web con contenido dinámico: su lenguaje propio de scripting llamado DTML utilizable en sus tipos de objeto DTML Method y DTML Documents y sus plantillas ZPT. Zope también permite la presentación del diseño mediante hojas de estilo en cascada.
1.3.3 ZPT vs. DTML
Ambos son lenguajes de script del lado del servidor. Se hizo evidente pronto que el lenguaje DTML era muy hábil permitiendo a los programadores generar rápidamente páginas Web dinámicas, pero muchas veces este fallaba al permitir que varios programadores trabajaran efectivamente en conjunto con diseñadores gráficos no técnicos. Por esto nació ZPT.
Cualquier plantilla de página ZPT dada es usualmente vista en un browser con contenido por defecto, siempre que estos comandos estén incrustados en él, lo cual hace más fácil para ambos, programadores y diseñadores ver su trabajo al instante. El contenido dinámico DTML, por otro lado no puede ser previsualizado en alguna vía significante antes de ser representado.
ZPT tiene bastantes ventajas respecto a DTML ya que permiten una mayor separación del contenido, presentación y funcionalidad. Además al utilizar DTML se insertan marcas que convierten el documento en
HTML no válido, lo que suele ser un engorro al trabajar con ellos desde fuera de Zope, esto no ocurre con ZPT.
En la siguiente figura se realiza una comparación entre algunos aspectos importantes que presentan ZPT y DTML:
Figura 2: ZPT vs DTML
El Código DTML puede volverse lógicamente pesado porque este no fuerza la separación de la presentación de la lógica como estrictamente lo hace ZPT. Incrustando mucha más lógica en la presentación, es particularmente malo cuando usted está trabajando en un grupo mixto de programadores y de diseñadores, lo cual es la forma de trabajo que se lleva acabo en el proyecto. Por las razones vistas anteriormente queda demostrada la superioridad que presenta el lenguaje ZPT sobre DTML en la actualidad.
1.3.4 CSS. Hojas de Estilo en Cascada.
Cascading Style Sheets, u Hojas de Estilo en Cascada (CSS), es la tecnología desarrollada por el World Wide Web Consortium (W3C) con el fin de separar la estructura de la presentación. Las CSS suponen un gran avance en la autoría de sitios Web. Mejoran las posibilidades de diseño y presentación de documentos en la red, facilitando además su mantenimiento, ya se trate de un único archivo HTML, o de grandes sitios, con multitud de páginas.
CSS trae consigo múltiples beneficios para todo aquel programador web que lo utiliza. Por un lado, se evita hacer a los archivos demasiado pesados , y se define el "estilo visual" de un sitio entero sin necesidad de hacerlo etiqueta por etiqueta, para cada una de las páginas, es decir un solo archivo de estilo puede controlar la presentación de un número ilimitado de páginas , facilitando mantener un aspecto homogéneo en todas ellas, ampliando las posibilidades de edición que ofrece HTML (sangrados, márgenes, tabuladores, fuentes), y en general, posibilitando mayor control al autor sobre la apariencia y el posicionamiento de cada elemento de la página. Como beneficio adicional, un correcto uso de las CSS hará que una misma página tenga menor tamaño, reduciendo tiempos de descarga.
El creador de la página define estilos (tamaño de letra, color, tipo de fuente, márgenes etc.) que se visualizarán con preferencia a los definidos por defecto en el propio navegador. Si el programador después desea cambiar la apariencia (nuevos márgenes, etc.) bastará que cambie la definición de estilo.
1.3.5 Los Sistemas de Gestión de Contenidos. Plone.
La aparición de los gestores de contenidos para la gestión y administración de portales ha sido una verdadera revolución en Internet. Desde sus comienzos, la introducción de información a la red dependía de la disponibilidad de un técnico, o bien pasaba por la formación en HTML del personal implicado. Los gestores de contenido abren a múltiples usuarios con conocimientos básicos de informática, la posibilidad de publicar información favoreciendo el dinamismo de la documentación publicada y la introducción de mayor información.
El CMS permite manejar de manera independiente el contenido por una parte y el diseño por otra. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de permitir la fácil y controlada publicación en el sitio a varios editores.
El término Content Management System (CMS) fue originalmente usado para la publicación de sitios web. Los primeros sistemas de administración de contenidos fueron desarrollados internamente por organizaciones que publicaban mucho en internet, como revistas en línea, periódicos y publicaciones corporativas.
James Robertson propone una división de la funcionalidad de los sistemas de gestión de contenidos en cuatro categorías: creación de contenido, gestión de contenido, publicación y presentación [5].
Creación de contenido.
Un CMS aporta herramientas para que los creadores sin conocimientos técnicos en páginas web puedan concentrarse en el contenido. Para la creación de la aplicación web los CMS aportan herramientas para definir la estructura, el formato de las páginas, el aspecto visual, uso de patrones, y un sistema modular que permite incluir funciones no previstas originalmente.
Gestión de contenido.
Los documentos creados se depositan en una base de datos central donde también se guardan el resto de datos de la web, cómo son los datos relativos a los documentos (versiones hechas, autor, fecha de publicación y caducidad, etc.), datos y preferencias de los usuarios, la estructura de la web, etc.
La estructura de la web se puede configurar con una herramienta que, habitualmente, presenta una visión jerárquica del sitio y permite modificaciones. Mediante esta estructura se puede asignar un grupo a cada área, con responsables, editores, autores y usuarios con diferentes permisos. Eso es imprescindible para facilitar el ciclo de trabajo (workflow) con un circuito de edición que va desde el autor hasta el responsable final de la publicación. El CMS permite la comunicación entre los miembros del grupo y hace un seguimiento del estado de cada paso del ciclo de trabajo.
Publicación.
Una página aprobada se publica automáticamente cuando llega la fecha de publicación, y cuando caduca se archiva para futuras referencias. En su publicación se aplica el patrón definido para toda la web o para la sección concreta donde está situada, de forma que el resultado final es un sitio web con un aspecto consistente en todas sus páginas. Esta separación entre contenido y forma permite que se pueda
modificar el aspecto visual de un sitio web sin afectar a los documentos ya creados y libera a los autores de preocuparse por el diseño final de sus páginas.
Presentación.
Un CMS puede gestionar automáticamente la accesibilidad del web, con soporte de normas internacionales de accesibilidad como WAI, y adaptarse a las preferencias o necesidades de cada usuario.
También puede proporcionar compatibilidad con los diferentes navegadores disponibles en todas las plataformas (Windows, Linux, Mac, Palm, etc.) y su capacidad de internacionalización lo permite adaptarse al idioma, sistema de medidas y cultura del visitante.
El sistema se encarga de gestionar muchos otros aspectos como son los menús de navegación o la jerarquía de la página actual dentro del web, añadiendo enlaces de forma automática. También gestiona todos los módulos, internos o externos, que incorpore al sistema. Así por ejemplo, con un módulo de noticias se presentarían las novedades aparecidas en otro web, con un módulo de publicidad se mostraría un anuncio o mensaje animado, y con un módulo de foro se podría mostrar, en la página principal, el título de los últimos mensajes recibidos. Todo eso con los enlaces correspondientes y, evidentemente, siguiendo el patrón que los diseñadores hayan creado.
Éstos son algunos de los puntos más importantes que hacen útil y necesaria la utilización de un CMS:
¾ Inclusión de nuevas funcionalidades en el web. Esta operación puede implicar la revisión de multitud de páginas y la generación del código que aporta las funcionalidades. Con un CMS eso puede ser tan simple como incluir un módulo realizado por terceros, sin que eso suponga muchos cambios en la web. El sistema puede crecer y adaptarse a las necesidades futuras.
¾ Mantenimiento de gran cantidad de páginas. En una web con muchas páginas hace falta un sistema para distribuir los trabajos de creación, edición y mantenimiento con permisos de acceso a las diferentes áreas. También se tienen que gestionar los metadatos de cada documento, las versiones, la publicación y caducidad de páginas y los enlaces rotos, entre otros aspectos.
¾ Reutilización de objetos o componentes. Un CMS permite la recuperación y reutilización de páginas, documentos, y en general de cualquier objeto publicado o almacenado.
¾ Páginas interactivas. Las páginas estáticas llegan al usuario exactamente como están almacenadas en el servidor web. En cambio, las páginas dinámicas no existen en el servidor tal como se reciben en los navegadores, sino que se generan según las peticiones de los usuarios.
De esta manera cuando por ejemplo se utiliza un buscador, el sistema genera una página con los resultados que no existían antes de la petición. Para conseguir esta interacción, los CMS conectan con una base de datos que hace de repositorio central de todos los datos de la web.
¾ Cambios del aspecto de la web. Si no hay una buena separación entre contenido y presentación, un cambio de diseño puede comportar la revisión de muchas páginas para su adaptación. Los CMS facilitan los cambios con la utilización, por ejemplo, del estándar CSS (Cascading Style Sheets u hojas de estilo en cascada) con lo que se consigue la independencia de presentación y contenido.
¾ Consistencia de la web. La consistencia en un web no quiere decir que todas las páginas sean iguales, sino que hay un orden (visual) en vez de caos. Un usuario nota enseguida cuándo una página no es igual que el resto de las de la misma web por su aspecto, la disposición de los objetos o por los cambios en la forma de navegar. Estas diferencias provocan sensación de desorden y dan a entender que el web no lo han diseñado profesionales. Los CMS pueden aplicar un mismo estilo en todas las páginas con el mencionado CSS, y aplicar una misma estructura mediante patrones de páginas.
¾ Control de acceso. Controlar el acceso a un portal web no consiste simplemente permitir la entrada a la web, sino también gestionar los diferentes permisos asignados a cada área de la web aplicados a grupos o individuos.
Plone permite la creación, personalización y gestión de un sitio web de manera rápida y fácil, el cual nos permite descentralizar la carga de mantenimiento de un sitio web del webmaster a todos los diferentes miembros del sistema, además, separa el contenido del aspecto de un portal, lo que facilita el trabajo colaborativo y distribuido.
El proyecto Plone comenzó en 1999 por Alan Runyan, Alexander Limi, y Vidar Andersen. Rápidamente se convirtió en uno de los populares y poderosos Sistemas de Gestión de Contenido de Código Abierto. En el 2004 se creó la Fundación Plone para proteger y promover el uso de Plone.
Plone es publicado bajo la licencia GNU (General Public License). Está construido sobre el servidor de aplicaciones de código abierto Zope y el acompañante Zope Content Management Framework, que tiene miles de desarrolladores en todo el mundo. Se considera que Plone es la contribución más madura del mundo Zope. Ahora Plone es mantenida por cien programadores principales y centenas de contribuidores independientes a través del mundo.
Estados y flujo de trabajo.
Todos los objetos tienen asociada la característica de estado a partir de la cual se puede ver lo
“publicable” que se consideran.
Los estados existentes por defecto en Plone son:
- Visible (por defecto): los contenidos que tienen este estado pueden ser vistos por cualquiera mediante la inserción de la URL en el navegador, pero no aparecerán indexados para búsquedas, o sea a efectos prácticos, son accesibles, pero más bien difíciles de encontrar.
- Publicado: además de accesible por URL, los contenidos en este estado son indexados, por lo que pueden aparecer en búsquedas dentro del sitio.
- Privado: solamente el autor y el administrador pueden acceder a este contenido. Todo acceso por parte de terceros será rechazado.
El flujo de trabajo normal suele ser el siguiente: primero se crea un nuevo documento que aparecerá en estado visible. Para cuando el documento esté presentable, se cambiará su estado a publicado para que todo el mundo lo pueda ver y esté indexado. Si se quieren realizar modificaciones a un documento publicado, primero se ha de retirar. Entonces se podrá editar, se guardarán las modificaciones y se podrá volver a publicar. En el caso de que no se desee que se vea, siempre se podrá hacer privado.
Plone es utilizado por desplegar sistemas como:
• Los sitios Web.
• Las intranets.
• La e-administración.
• La gestión de proyecto.
• Los portales de comunidades.
Características de Plone:
1. Empaquetado:
• Fácil instalación en Windows, Linux, and Macintosh.
• Incluye productos de terceras partes.
• Fácil actualización y administración.
2. Internacionalización:
Toda la interfase de usuario es traducida a más de 20 lenguajes, incluyendo coreano, japonés, francés, español, inglés y alemán.
3. Utilidad:
Provee alto nivel de prestaciones y posibilidades de acceso.
4. Presentación:
Separa el contenido de la plantilla (skins) usada para presentarlo.
5. Registrarse y Personalización:
• Sistema completo de registro de usuario con usuario y contraseña.
• Otras características que uno quisiera agregar a un usuario.
6. Workflow y Seguridad:
Workflow controla la lógica del procesamiento de contenidos en el sitio. Se puede configurar la lógica mediante la Web usando herramientas gráficas. La seguridad está provista por roles.
7. Extensible:
Es open source, y puede ser fácilmente modificado.
Los usuarios pueden agregar todo tipo de contenidos, los datos agregados no tienen límite ni se comprimen. Los desarrolladores pueden crear sus propios tipos de contenido, tantos como sea necesario, el único límite es la imaginación.
Plone trae numerosas ventajas a sus usuarios:
• Producción muy rápida.
• Su distribución se encuentra bajo licencia GPL.
• Se realizan actualizaciones de la tecnología periódicamente.
• Es ideal para servicios de intranet y extranet.
• Edición de las páginas en tiempo real.
• Colaboración fácil.
• Cumplen con el estándar w3c, así como los estándares de usabilidad y accesibilidad.
• Se puede extender adicionándole nuevas funcionalidades.
• Es fácil de instalar y usar.
• Funciona en diferentes idiomas y soporta internacionalización.
• Templates con estándares de la industria.
• Motor de búsqueda completo, indexación en tiempo real.
• Modulable, evolutivo y fácilmente personalizable.
• Motor de workflow integrado.
1.3.6 Python.
Python fue creado en el año 90 por Guido van Rossum en el instituto de investigación nacional para las matemáticas y la informática en los Países Bajos. En la actualidad Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es actualmente la 2.5 que salio en Septiembre del año 2006.
Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: Programación
orientada a objetos, programación estructurada, programación funcional y programación orientada a aspectos.
Python posee una licencia de código abierto, denominada Python Software Foundation License, que es compatible con la licencia GPL.
Python es un lenguaje de programación fácil de aprender y potente. Además dispone de eficaces estructuras de datos de alto nivel y una solución de programación orientada a objetos simple. La elegante sintaxis de Python, su gestión de tipos dinámica y su naturaleza interpretada hacen de él un lenguaje ideal para guiones (scripts) y desarrollo rápido de aplicaciones en muchas áreas y en la mayoría de las plataformas. Entre otras cosas se puede agregar que este lenguaje presenta una curva de aprendizaje muy amplia.
1.3.7 Metodología para el desarrollo del sistema. Rational Unified Process (RUP).
Las metodologías son un conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores a realizar nuevos software.
El Rational Unified Process™ (RUP) es una propuesta de proceso para el desarrollo de software orientado a objeto que utiliza UML para describir un sistema, mejora la productividad del equipo de trabajo y entrega las mejores prácticas del software a todos los miembros del mismo logrando de esa forma obtener un software de mayor calidad y en tiempo.
La metodología RUP, divide en 4 fases el desarrollo del software:
1. Inicio: El Objetivo en esta etapa es determinar la visión del proyecto.
2. Elaboración: En esta etapa el objetivo es determinar la arquitectura óptima.
3. Construcción: En esta etapa el objetivo es llevar a obtener la capacidad operacional inicial.
4. Transición: El objetivo es llegar a obtener el release del proyecto.
Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, la cual consiste en reproducir el ciclo de vida en cascada a menor escala. Los Objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes.
Es recomendable que a cada una de estas iteraciones se les clasifique y ordene según su prioridad. Esto trae como beneficio la retroalimentación que se tendría en cada una de estas.
Un proceso define quién está haciendo qué, cuándo, y cómo alcanzar un determinado objetivo. Un proceso efectivo proporciona normas para el desarrollo eficiente de software de calidad.
Los elementos del RUP son:
• Actividades: Son los procesos que se llegan a determinar en cada iteración.
• Trabajadores: Vienen hacer las personas o entes involucrados en cada proceso.
• Artefactos: Un artefacto puede ser un documento, un modelo, o un elemento de modelo.
Las principales características de RUP son las siguientes:
1. Dirigido por Casos de Uso: Tiene a los Casos de uso como el hilo conductor que orienta las actividades de desarrollo. Se centra en la funcionalidad que el sistema debe poseer para satisfacer las necesidades de un usuario (persona, sistema externo, dispositivo) que interactúa con él.
2. Centrado en la arquitectura: Propone arquitectura de forma similar a la de un edificio. Es necesario tener varios planos con diferentes aspectos, para tener una imagen completa del edificio antes que comience su construcción, aquí entra a jugar el término Arquitectura de Software, que abarca diferentes vistas del sistema: estructural, funcional, dinámica, etc., la plataforma en que se va a desarrollar y determina la forma del sistema.
3. Iterativo e incremental: Propone la descomposición de proyectos grandes en mini-proyectos, cada mini-proyecto es una iteración, y cada iteración debe estar controlada y tratar un determinado grupo de casos de uso.
Una particularidad de esta metodología es que, en cada ciclo de iteración, se hace exigente el uso de artefactos, siendo por este motivo, una de las metodologías más importantes para alcanzar un grado de certificación en el desarrollo del software.
En RUP se han agrupado las actividades en grupos lógicos definiéndose 9 flujos de trabajo principales.
Los 6 primeros son conocidos como flujos de ingeniería y los tres últimos como de apoyo. En la siguiente figura se representa el proceso en el que se grafican los flujos de trabajo y las fases y muestra la dinámica expresada en iteraciones y puntos de control.
Figura 3: RUP en Dos Dimensiones.
1.3.8 Lenguaje de Modelado Unificado (UML).
El UML, es el lenguaje gráfico de modelado orientado a objetos estándar de la industria para visualizar, construir y documentar los elementos de los sistemas de software. UML proporciona una forma estándar de escribir los planos de un sistema, cubriendo tanto las cosas conceptuales, tales como procesos del
de programación específico, esquemas de bases de datos y componentes de software reutilizables.
Simplifica el proceso complejo de análisis y diseño de software, facilitando un plano para la construcción.
El UML representa una colección de las mejores prácticas de ingeniería que han probado ser exitosas en el modelado de sistemas grandes y complejos, define una colección de notaciones para los diferentes diagramas y elementos de modelado que lo componen. Fue diseñado para usarse con un proceso iterativo, incremental, guiado por casos de uso y centrado en la arquitectura.
UML ayuda al usuario a entender la realidad de la tecnología y la posibilidad de que reflexione antes de invertir y gastar grandes cantidades en proyectos que no estén seguros en su desarrollo, reduciendo el coste y el tiempo empleado en la construcción de las piezas que constituirán el modelo.
Dentro de las partes de UML podemos encontrar:
• Vistas: Las vistas muestran diferentes aspectos de los sistemas que son modelados. Una vista no es un gráfico, pero es una abstracción que consiste en una serie de diagramas. Solamente definiendo una serie de vistas, cada una mostrando un aspecto particular del sistema, puede ser construida una imagen completa del sistema. Las vistas también enlazan el lenguaje de modelaje al proceso/método escogido para el desarrollo.
• Diagramas: Son los gráficos que describen los contenidos en una vista. El UML tiene nueve tipos diferentes de diagramas que son utilizados en combinación para proporcionar todas las vistas del sistema.
• Elementos del modelo: Los conceptos utilizados en los diagramas son los elementos del modelo los cuales representan conceptos orientados a objetos comunes, tales como clases, objetos, mensajes, y las relaciones entre estos conceptos incluyendo asociación, dependencia y generalización. Un elemento del modelo es utilizado en varios diagramas diferentes, pero siempre tiene el mismo significado y símbolo.
• Mecanismos generales: Los mecanismos generales proporcionan comentarios extras, información, o semántica acerca de un elemento del modelo; ellos proporcionan también mecanismos de extensión para adaptar o extender el UML a un método, proceso, organización o usuario específico.
A forma de resumen el Lenguaje Unificado de Modelado (UML) es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Captura decisiones y conocimiento sobre los sistemas que se deben construir. Se usa para entender, diseñar, configurar, mantener, y controlar la información sobre tales sistemas. UML incluye conceptos semánticos, notación, y principios generales. Tiene partes estáticas, dinámicas, de entorno y organizativas. Está pensado para ser utilizado en herramientas interactivas (Herramientas-Cases) de modelado visual que tengan generadores de código así como generadores de informes.
1.3.9 Herramienta Case – Uml.
Las Herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Ordenador) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero. Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costes, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras aplicaciones.
La primera herramienta CASE fue Excelerator que salió a la luz en el año 1984 y trabajaba bajo una plataforma PC. Las herramientas CASE alcanzaron su techo a principios de los años 90.
Objetivos de las Herramientas Cases:
• Mejorar la productividad en el desarrollo y mantenimiento del software.
• Aumentar la calidad del software.
• Mejorar el tiempo y coste de desarrollo y mantenimiento de los sistemas informáticos.
• Mejorar la planificación de un proyecto.
• Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos.
• Automatizar, desarrollo del software, documentación, generación de código, pruebas de errores y
• Ayuda a la reutilización del software, portabilidad y estandarización de la documentación
• Gestión global en todas las fases de desarrollo de software con una misma herramienta.
• Facilitar el uso de las distintas metodologías propias de la ingeniería del software.
En nuestra universidad se utiliza la Herramienta propietaria en su versión libre para Linux Visual Paradigm 2.3 la cual es la que se pretende utilizar en la realización del análisis y diseño de la aplicación web Bohemia.
El Visual Paradigm es una herramienta CASE que utiliza “UML”: como lenguaje de modelaje, con el uso del acercamiento orientado al objeto. Esta herramienta apoya los estándares más altos de las notaciones de Java y de UML. Las transiciones del análisis al diseño y la puesta en práctica se integran dentro de la herramienta. Genera productos de calidad, soporta aplicaciones web y es fácil de instalar y actualizar.
Características del Visual Paradigm:
• Entorno de creación de diagramas para UML 2.0
• Diseño centrado en casos de uso y enfocado al negocio que generan un software de mayor calidad
• Uso de un lenguaje estándar común a todo el equipo de desarrollo que facilita la comunicación.
• Capacidades de ingeniería directa (versión profesional) e inversa.
• Modelo y código que permanece sincronizado en todo el ciclo de desarrollo.
• Disponibilidad de integrarse en los principales IDEs. (Integrated Development Environment, Un entorno de desarrollo integrado que es un programa compuesto por un conjunto de herramientas para un programador).
• Disponibilidad en múltiples plataformas.
Figura 4: Elementos del Visual Paradigm.
1.4 Conclusiones.
En este capítulo se han abordado los temas relacionados con el estado del arte, conceptos fundamentales, las tendencias y tecnologías actuales, las metodologías, herramientas y tecnologías a utilizar como parte del análisis y diseño que se propone en esta tesis; con el objetivo de profundizar en estos temas y fundamentar la necesidad de dar una solución informática, a la situación existente de la publicación del sitio Bohemia como una necesidad actual de la estrategia trazada por el comité central del país.
CAPÍTULO 2
DESCRIPCIÓN DE LA PROPUESTA DE SOLUCIÓN
2.1 Introducción.
En el presente capítulo se hace la descripción de la propuesta que trae este trabajo, para ello se describen los procesos del negocio, de acuerdo a esto se llega a la conclusión que para poder entender el contexto en que se emplaza el sitio necesitamos definir conceptos que podemos agrupar en un Modelo de Dominio para capturar correctamente los requisitos y realizar el análisis y diseño posteriormente.
Además se enumeran los requisitos funcionales y no funcionales que debe tener el sistema, lo que permite hacer una concepción general del sitio, e identificar mediante un Diagrama de Caso de Uso, las relaciones de los actores que interactúan con el sistema.
2.2 Descripción de los Procesos del negocio propuestos.
Dentro del modelado del negocio el primer paso es la identificación de los diferentes procesos del negocio de la organización, que en este caso sería la institución de Bohemia. Para describir los procesos del negocio, es necesario centrar la atención en el proceso de publicación de noticias, así como los servicios que brindará el sitio de Bohemia.
El proceso de publicación de contenidos noticiosos.
El proceso de publicación de noticias comienza con la fase de redacción donde los Reporteros, Fotorreporteros y Redactores de las secciones informativas de la Institución de Bohemia son los encargados de investigar y redactar los trabajos editoriales. Luego de la fase de edición son enviados los artículos a la fase de publicación donde el Jefe de Secciones es el acreditado para revisar y publicar dicho artículo. Este tiene la facultad de reenviar un trabajo al redactor ante un error grabe detectado que requiera una labor editorial.
El proceso de los diferentes servicios que brinda el sitio.
El sitio prestará varios servicios a los clientes; tales como: El servicio de RSS, donde el usuario puede obtener las noticias actuales sin tener que estar navegando dentro del sitio y así escoger las de su atracción e ir directo a la página que las contiene. Bohemia presenta un mapa de navegación para guiarse al navegar entre sus páginas. El portal brindará el servicio de foros donde el usuario tendrá la opción de opinar y enriquecer sus conocimientos acerca de las noticias y otros temas publicados. Otras de las ventajas que posee son los actuales Boletines que mantienen informado al cibernauta de lo último en los temas escogidos de su interés. A modo de conclusión se puede añadir que los usuarios tienen un espacio donde pueden emitir su criterio acerca del sitio u otro tema de interés, los cuales pueden ser tomados en consideración, para un mejor perfeccionamiento del portal.
2.3 Modelo del Dominio.
Un modelo del dominio es una representación de las clases conceptuales o entidades del mundo real, no de componentes software. Esto ayuda a los usuarios, clientes y desarrolladores e interesados; a utilizar un lenguaje común para poder entender el contexto en que se emplaza el sistema.
Este modelo va a contribuir posteriormente a identificar algunas clases que se utilizarán en el sistema.
Primeramente hay que identificar todos los conceptos y entidades que se utilizarán en este, mediante un glosario de términos:
Vínculo: Usted puede agregar vínculos fácilmente, que contengan URL de recursos en Internet, o en una intranet, recursos internos, o cualquier recurso que pueda ser accedido por el usuario.
Noticias:Estos son utilizados comúnmente en la Web para mostrar noticias de interés para el lector. En realidad las noticias son también documentos, la única diferencia reside en que las noticias son mostradas cuando visitamos la etiqueta “News”.
Eventos: Un evento puede ser algo que pasará en el futuro o algo que pasó en el pasado. Plone contiene eventos que son presentados en el calendario. Un evento tiene más información que la mayoría de los objetos de plone.
Imagen: es una representación visual de un objeto o algo, ya sea fotografía, dibujo, gráfica, etc.
Skin: es un producto que tiene como objetivo mostrar de una forma determinada el sitio.
Skin-Administración: Es como se va a mostrar el sistema de gestión documental, es decir donde se van a realizar las operaciones de administración del sitio.
Skin-Público: Es como se va a mostrar la revista digital con destino a Internet, que incluye noticias, trabajos y servicios que brinda al usuario en general.
Carpetas: Una carpeta de plone es como otra cualquiera de Windows, es un lugar donde guardar el contenido organizadamente. Los contenidos junto con ella son almacenados en la base de datos que contiene Zope incluida. Al hacer referencia a esta se está haciendo referencia a la página web predefinida por dicha carpeta.
Carpetas Inteligentes: Un tipo de carpeta utilizada para recopilar un conjunto de contenidos del portal bajo un mismo criterio. Las carpetas inteligentes contienen documentos agrupados en función de criterios de búsqueda.
Recurso Documental: Todos los contenidos que contiene plone para desarrollar los sitios como los mencionados anteriormente.
Opiniones periodísticas: Periodistas y personalidades ofrecen sus valoraciones sobre temas ya sean nacionales e internacionales.
2.3.1 Definición de los Roles del Dominio.
Redactor: Es aquel usuario que solamente tiene el privilegio de elaborar y editar contenidos noticiosos y pasarlos a la fase de publicación. Este rol también tendrá la tarea de reelaborar los materiales que contengan algún error atendiendo los señalamientos por el editor le transmita.
Editor: Las responsabilidades de mayor importancia de este es revisar, aprobar y publicar los trabajos almacenados por los redactores. Aunque puede también realizar las tareas de un redactor. El editor puede tomar decisiones importantes como rechazar un material que contenga algún error, completar algún dato faltante o simplemente eliminarlo. Después de haber revisado y aprobado el contenido está facultado para hacerlo público.
Administrador del Sistema: El administrador puede desempeñar los roles de redactor y editor. Su principal tarea es mantener el sitio actualizado, es decir gestionar los servicios que va a brindar y controlar los usuarios de la aplicación.