Está en la página 1de 16

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/266854540

Ingeniería de requisitos del software educativo: Mis Mejores Cuentos

Conference Paper · October 2011

CITATIONS READS

0 824

2 authors:

Lisandra Guibert Estrada Enrique Altuna


University of Information Sciences University of Information Sciences
15 PUBLICATIONS   3 CITATIONS    20 PUBLICATIONS   4 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Recommender systems for supporting programming online judges View project

All content following this page was uploaded by Enrique Altuna on 24 April 2015.

The user has requested enhancement of the downloaded file.


INGENIERÍA DE REQUISITOS DEL SOFTWARE EDUCATIVO: MIS MEJORES
CUENTOS

REQUIREMENTS ENGINEERING FOR THE EDUCATIONAL SOFTWARE: MY BEST TALES

Lisandra Guibert Estrada; lguibert@uci.cu

Yasmani Ceballos Izquierdo; yceballos@uci.cu

Enrique J. Altuna Castillo; ejaltuna@uci.cu

Universidad de las Ciencias Informáticas

RESUMEN
El objetivo de este trabajo es el desarrollo de productos multimedia en la WEB,
utilizando lenguaje Javascript, hojas de estilo en cascada (CSS), aplicando técnicas de
optimización WEB para mejorar el rendimiento y el tamaño de las páginas. La
arquitectura propuesta proporciona los elementos necesarios para el desarrollo de un
producto multimedia, sobre una plataforma WEB, lograda a través de las técnicas
anteriores y basada en la concepción del uso de herramientas libres.
Palabras Clave: Arquitectura de Software, Multimedia, Plataforma Web, Software Libre.

ABSTRACT
The aim of this work is the development of multimedia products in the Web, using
Javascript, cascading style sheets (CSS), Web application optimization techniques to
improve performance and size of the pages. The proposed architecture provides the
necessary elements for the development of a multimedia product on a Web platform,
achieved by previous techniques based on the concept of using free tools.
Key Words: Free Software, Multimedia, Software's Architecture, Web Platform.

INTRODUCCIÓN
Uno de los pasos más importantes para el desarrollo de un software es definir la
arquitectura, ya que esta permite que se planifique el esfuerzo de desarrollo, definiendo
una serie de reglas y pautas que guiarán el desarrollo de la aplicación, siguiendo una
línea coherente y además asegurando un por ciento importante de éxito. Según las
notas de Garlan (Garlan & Shaw, 1994), “una arquitectura de software sirve como un
puente entre los requerimientos del sistema y su implementación”. El objetivo principal
de la arquitectura del software es aportar elementos que ayuden a la toma de
decisiones y al mismo tiempo, proporcionar conceptos y un lenguaje común que permita
la comunicación entre los miembros del equipo que participen en el ciclo de desarrollo
de un proyecto. Para conseguirlo, la arquitectura del software construye abstracciones,
materializándolas en forma de diagramas comentados (López, 2008; Espinal, 2008;
Vigil et al, 2008).
El diseño de una arquitectura de software debe considerarse una parte fundamental,
crítica e imprescindible en el desarrollo de un sistema de software, ya que es
precisamente en esta fase donde recae toda la creatividad, experiencia y la
responsabilidad en la creación de la propuesta de solución que más se adecue a las
necesidades del cliente y le permita lograr sus objetivos (Hidalgo et al, 2008).
Es importante que los sistemas de software estén respaldados por una arquitectura bien
definida que responda a los requisitos funcionales y no funcionales establecidos para el
sistema, que sea capaz de hacerlo evolucionar frente cambios tecnológicos, de
fomentar la reutilización y de organizar el desarrollo (Hidalgo et al, 2008). Al seleccionar
una arquitectura robusta se asegura que se cumplan con todos los requisitos y se
obtenga un producto con calidad, como el cliente lo desea.
El objetivo principal de este trabajo es explicar detalladamente una propuesta de
arquitectura de un producto con características educativas y el proceso de desarrollo
del mismo, utilizando herramientas libres. Entre los objetivos específicos se encuentran
proporcionar una descripción arquitectónica comprensiva del sistema que sirva de guía
(a partir de las diferentes vistas) para iteraciones posteriores, capturar las decisiones
arquitectónicas significativas en el proceso de construcción del sistema y mostrar una
propuesta arquitectónica del producto “Mis Mejores Cuentos” en la Facultad 4 de la
Universidad de las Ciencias Informáticas. Otro de los elementos a destacar en este
trabajo es la explicación y representación de las diferentes vistas arquitectónicamente
significativas, por su importancia para poder comprender la estructura del sistema,
mostrando sus partes fundamentales en forma de módulos y las principales relaciones
que se establecen entre ellos.

CARACTERÍSTICAS DEL PRODUCTO “MIS MEJORES CUENTOS”


La representación arquitectónica establece las bases organizacionales de un sistema,
teniendo en cuenta los niveles de abstracción y la aplicación de arquitecturas típicas. En
este punto se definen los componentes, conexiones y restricciones, así como la forma
en que estos se integran para dar forma al sistema. El Software Educativo “Mis Mejores
Cuentos” constituye un producto para los niños en edades de 3 a 5 años, en el cual el
niño desarrolla el pensamiento, la imaginación, la memoria, obtiene habilidades en el
desarrollo del lenguaje, así como el desarrollo de idiomas (está desarrollado en cuatro
idiomas), participa en juegos asociativos, juegos de construcción, rompecabezas;
comienzan a diferenciar elementos, personajes y secuencias simples de un cuento
mostrado en la aplicación. Las principales funcionalidades del sistema son mostrar un
cuento infantil en el idioma seleccionado, mostrar la narración de un cuento, así como
los datos de la biografía del autor del cuento; además muestra los entretenimientos
asociados a un cuento infantil seleccionado, entre los que se encuentran: Dibujo,
Rompecabezas, Dominó y Construcciones. Desde el punto de vista arquitectónico “Mis
Mejores Cuentos” se concibe como una aplicación Web y para su implementación se
utilizan varios frameworks para agilizar el proceso de desarrollo. Para lograr un perfecto
rendimiento, el desarrollo se regirá por estándares de producción y a la vez de las
aplicaciones web.
El ambiente de desarrollo es imprescindible en la producción de software, donde se
definen el conjunto de herramientas y tecnologías que intervienen en un proceso de
desarrollo, así como las versiones a realizar y su integración. El entorno de trabajo
cuenta con un grupo de estaciones de trabajo destinadas al desarrollo. La solución está
centralizada en un servidor base, mediante el empleo del controlador de versiones
Subversion; este controlador de versiones se emplea en la administración de archivos
utilizados en el desarrollo de software; el que permite mantener una retroalimentación
entre los desarrolladores y la solución general, así como el control de cada una de las
actualizaciones efectuadas sobre el producto.
RUP COMO METODOLOGÍA DE DESARROLLO
Todo ciclo de desarrollo debe estar guiado por una metodología, que en el caso de este
producto es la metodología a seguir será RUP (Rational Unified Process, por sus siglas
en inglés), utilizando como lenguaje de modelado ApEM – L (Lenguaje para la
modelación de Aplicaciones Educativas Multimedia) (Ricardo, 2007). RUP constituye la
metodología estándar más utilizada para el análisis, implementación y documentación
de sistemas orientados a objetos; tanto para sistemas tradicionales como para sistemas
web. Además no es un sistema con pasos firmemente establecidos, sino un conjunto de
metodologías adaptables al contexto y necesidades de cada organización. RUP divide
su ciclo de desarrollo en cuatro fases y ha agrupado sus actividades en 9 flujos de
trabajo. El ciclo de vida de RUP tiene tres características fundamentales:
• Guiado por casos de uso.
• Centrado en la arquitectura.
• Iterativo e incremental.
El uso de RUP asegura que se produzca desde las primeras fases de desarrollo, un
producto de calidad que cumpla con las características de funcionalidad, usabilidad y
fiabilidad. Específicamente para el ciclo de desarrollo del producto “Mis Mejores
Cuentos” esta metodología se adapta perfectamente, debido a que es necesario
generar gran documentación pues el equipo de desarrollo varía constantemente,
teniendo un ciclo mayor de 1 año (período de tiempo excesivamente largo) y una
especialización en roles de los miembros del equipo. El Lenguaje para la modelación de
Aplicaciones Educativas Multimedia (ApEM – L) se presenta como una extensión de
UML que permite incorporar a este los elementos fundamentales del proceso
productivo de la Universidad de las Ciencias Informáticas (UCI), en ApEM – L se
incorporan los elementos más significativos de OMMMA – L, para de esta forma lograr
una extensión consistente para la modelación de aplicaciones educativas. ApEM – L no
modifica la semántica del lenguaje base UML, sino que trabaja en estereotipos
restrictivos, por lo que a su vez produce modificaciones descriptivas y decorativas en la
representación de los componentes del lenguaje base (Romero, 2009). ApEM – L no
pretende convertirse en un método de desarrollo de aplicaciones con tecnología
multimedia, sino en el área de la representación y la documentación de este tipo de
aplicaciones (Ricardo, 2007).
Uno de los elementos que apoya la metodología es el lenguaje de modelado, para
visualizar, especificar y construir cada uno de los artefactos. Para el producto “Mis
Mejores Cuentos” se utiliza UML, basado en la herramienta de modelado Visual
Paradigm for UML Enterprise Edition. Esta herramienta permite realizar el modelado de
todo el ciclo de desarrollo del software y está diseñada para un gran número de
usuarios, incluyendo ingenieros de sistemas, analistas de sistemas, analistas de
negocio, arquitectos de sistemas.
ARQUITECTURA Y ESTILOS ARQUITECTÓNICOS
El producto desarrollado presenta una Arquitectura N-Capas, que soporta un diseño
basado en niveles de abstracción crecientes, lo cual a su vez permite a los
desarrolladores la partición de un problema complejo en una secuencia de pasos
incrementales. Facilita realizar optimizaciones y refinamientos enfocando los cambios
en un solo lugar; utilizando como estilo arquitectónico, el estilo de Llamada y Retorno, y
como patrón arquitectónico el conocido como Modelo-Vista-Controlador (MVC). El
patrón MVC separa el modelado del dominio, la presentación y las acciones basadas en
datos ingresados por el usuario en tres partes diferentes (Hernández et al, 2008):
• Modelo: El modelo administra el comportamiento y los datos del dominio de aplicación,
responde a requerimientos de información sobre su estado (usualmente formulados
desde la vista) y responde a instrucciones de cambiar el estado (habitualmente desde el
controlador).
• Vista: Maneja la visualización de la información.
• Controlador: Interpreta las acciones del ratón y el teclado, informando al modelo y/o a
la vista para que cambien según resulte apropiado.

Figura 1. Arquitectura N-Capas

Tanto la capa de presentación como la lógica de negocio y desde el punto de vista


físico se encuentran en la misma ubicación. Puede decirse entonces que el sistema se
estructura en tres capas lógicas y un nivel físico. Esta descomposición en capas
fomenta la reusabilidad, portabilidad, escalabilidad y ejecución de pruebas.
Según RUP, la arquitectura involucra los elementos más significativos del sistema y
está influenciada por plataformas de software, sistemas operativos, manejadores de
bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados y
requerimientos no funcionales y se representa mediante varias vistas que se centran en
aspectos concretos (Jacobson et al, 2000).
El modelo 4+1 describe la arquitectura del software usando cinco vistas concurrentes,
que pretenden describir, en su conjunto, la arquitectura del sistema. Una vista por sí
sola no constituye el sistema completo, solo una pequeña parte de él. Cada vista se
refiere a un conjunto de intereses de diferentes Stakeholders del sistema y se diseñan
mediante un proceso centrado en la arquitectura, motivado por escenarios y
desarrollado iterativamente (Kruchten, 2008).
Las vistas más representativas de la arquitectura del sistema que destacan las
decisiones de mayor importancia en desarrollo del producto “Mis Mejores Cuentos”,
son las siguientes:
• La Vista Lógica, que describe la distribución lógica de la aplicación en capas, así
como la dependencia existente entre las mismas, la distribución en subsistemas y la
comunicación entre ellos.
• La Vista de Despliegue (física) describe el mapeo del software en el hardware y
refleja los aspectos de distribución.
• La Vista de Componentes (implementación) describe la organización estática del
software en su ambiente de desarrollo.

SERVIDOR WEB Y ESTRUCTURA DE DEFINICIÓN DEL SITIO


El producto desarrollado se encuentra desplegado en un servidor web Apache, servidor
de código abierto y distribuido bajo licencia libre para las plataformas Unix, BSD,
GNU/Linux, Windows y Macintosh. Apache presenta como característica informes de
error altamente configurables y bases de datos de autenticación, teniendo como
ventajas:
• Modularidad.
• Código Abierto.
• Multi-plataforma.
• Extensibilidad.
• Popularidad (Ayuda/Soporte fácil de conseguir).
• Gratuito.
El producto “Mis Mejores Cuentos” está diseñado para un óptimo funcionamiento en el
navegador Mozilla Firefox (cualquiera que sea su versión), teniendo una estructura de
definición del sitio bien conformada, destacada por la organización en carpetas según
los tipos de archivos, por ejemplo: las páginas HTML están en una carpeta con nombre
HTML, las hojas de estilos en cascada en una carpeta CSS, los archivos y librerías
Javascript en la carpeta JS, la carpeta Datos, que en su contenido se encontrarán los
archivos .json, que almacenan los datos que manejará el sistema y las medias se
encuentran en la carpeta Medias, donde están contenidas las carpetas Imagenes
(para los ficheros que sean imágenes) y Sonidos (para las medias que sean del tipo
audio).
TECNOLOGÍA DEL LADO DEL CLIENTE
La aplicación sigue buenas prácticas de programación, para incrementar el rendimiento
de carga de las páginas, se tiene en cuenta la optimización de código HTML, CSS,
Javascript y en general las reglas de optimización WEB (Souders, 2007; King, 2008;
Smashingmagazine, 2008). Para optimizar el código CSS se tienen en cuenta los
siguientes principios: remplazar estilos en línea, usar de selectores descendientes,
agrupar selectores, agrupar declaraciones, combinar estilos comunes, aplicar la
herencia y polimorfismo, hacks para los navegadores (Maestrosdelweb, 2008), utilizar
las abreviaciones de código o shorthands, abreviar los nombres de la clase y los
nombre de id, usar técnicas CSS2 y CSS3.x, remplazar comportamientos con
Javascript por técnicas CSS, usar sabiamente los espacios en blanco, optimizar los
frameworks y resets (Ceballos, 2009), hacer uso de compresión, separar el código CSS
y documentar el trabajo. Vale la pena destacar además que para optimizar el código
Javascript, se tienen en cuenta los siguientes principios: reducir el código eliminando
espacios innecesarios, optimización de la instanciación de objetos, no usar la función
“eval” ya que esta requiere compilar e interpretar su argumento (Paul et al, 2001),
optimizar la concatenación de cadenas, y otros. Siempre que sea posible se deberá
aplicar técnicas de la programación orientada a objetos en Javascript (Cameron et al,
2007), como son la utilización de clases y objetos (Crockford, 2008; Stefanov, 2008),
herencia (Crockford, 2008b; Michaux, 2008) y otros. Así como para la optimización
WEB en general, se utilizan las 14 reglas de optimización descritas en el libro: High
Performance Web Sites del desarrollador Steve Souders (Souders, 2007).
Mis Mejores Cuentos se encuentra desarrollado con el lenguaje de programación
Javascript, utilizando los frameworks de desarrollo Prototype y Script.aculo.us. Para el
diseño visual se utilizan las hojas de estilo en cascada CSS.
La aplicación muestra los datos almacenados en ficheros .json, los que funcionan como
base de datos. JSON es un formato de intercambio de datos, fácil de utilizar y que se
integra completamente al trabajo con las funciones que nos brinda Prototype. La
simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como
alternativa a XML en Ajax, pues se destaca por la representación de una mejor
estructura de los datos, lo que requiere de menor procesamiento y codificación de los
mimos (Anónimo, 1999b).
El estilo y organización del código se define en un documento donde se encuentran las
pautas a seguir por los desarrolladores para mantener un mismo estilo en las
implementaciones.
Las restricciones a la que está sujeto tanto el proceso de desarrollo como el producto
fueron establecidas por la dirección de producción de SWE de la Universidad, entre las
se destacan:
• Todos los artefactos confeccionados y utilizados para la comunicación y la
documentación del sistema está basado en el lenguaje de modelado ApEM -L, con el
objetivo de facilitar el entendimiento común entre los miembros del equipo, los clientes
y usuarios finales.
• Todo el contenido debe ser visualizado mediante cualquier navegador Web, por
ejemplo: Microsoft Internet Explorer, Mozilla Firefox, Opera, entre otros.
• El desarrollo del sistema debe ser realizado en la plataforma GNU/Linux.
• Para la elaboración de la aplicación se debe emplear Apache como Servidor Web
para el manejo de peticiones del cliente.
• El sistema tendrá mantenimiento evolutivo permanente, orientado al soporte de los
módulos existentes y, en futuras versiones, al desarrollo de nuevos módulos que
permitan gestionar las medias de forma dinámica.
• El diseño de la interfaz de usuario deberá ser sencillo, no estará sobrecargado de
contenido, pero debe tener elementos visuales que capten la atención y que de forma
metafórica representen una idea visual, para lograr un mayor entendimiento a los
usuarios finales a los que va dirigido este producto (niños). Su contenido deberá ser
redactado principalmente en el idioma español, ya que es el idioma común de la
audiencia a la que va dirigido el producto.
• La documentación del manual de usuario de usuario estará anexada a la interfaz, a
través de elementos visuales que le indiquen forma metafórica una idea visual. No se
proveerá documentación impresa al usuario.
• La información contenida en el sistema debe ser inédita, libre de derecho de autor o
contar con los derechos legales de la misma.
• El sistema deberá permitir el acceso a cualquier usuario.

ATRIBUTOS PARA VERIFICAR LA CALIDAD DE LA ARQUITECTURA


El diseñar debidamente una arquitectura de software, garantiza que el sistema de
software cumpla con uno o varios atributos de calidad; por ejemplo: facilidad de uso,
confiabilidad y seguridad. Sin embargo, si la arquitectura no se diseña de forma
apropiada, el sistema de software resultante no logrará sus objetivos. Por lo regular, no
se conoce sino hasta el final del ciclo de desarrollo, si éste cumplió o no con los
atributos de calidad que se especificaron en los requerimientos no funcionales. Dicho
conocimiento tardío, implica tomar riesgos innecesarios, un ejemplo es, descubrir fallas
en el sistema debido a que en la fase de diseño no se eligió apropiadamente una
arquitectura. Para reducir tales riesgos, es recomendable llevar acabo evaluaciones a la
arquitectura.
Figura 2 . Vista de la Narración de un Cuento Infantil

Existen varias técnicas para evaluar arquitecturas de software, que se clasifican en


cualitativas y cuantitativas. La arquitectura propuesta se evalúa aplicando la técnica
cualitativa de evaluación por escenarios, específicamente el método ARID. “El método
ARID es conveniente para realizar la evaluación de diseños parciales en las etapas
tempranas de desarrollo.” (Paul et al, 2001). A continuación se definen los escenarios
fundamentales de la arquitectura del sistema que permiten mejorar la calidad del
producto:
• Rendimiento: Para asegurar el rendimiento del sistema se aplican estrategias de
optimización WEB que permiten disminuir el tiempo de carga de la página en el
navegador.
• Portabilidad: El sistema utiliza el lenguaje estándar de marcado HTML, lenguaje
Javascript y emplea JSON como formato de intercambio de datos, por lo que el
producto puede ser montado en cualquier plataforma deseada, y se puede acceder al
mismo, mediante cualquier navegador web que utilice el usuario, sin tener en cuenta el
sistema operativo que emplee.
• Disponibilidad: El sistema permite que otras estaciones se conecten, siempre y
cuando utilicen el nombre predefinido en el servidor.
• Seguridad: El sistema permite el acceso a cualquier usuario.
Hacer un adecuado balance entre la mantenibilidad, la interoperabilidad, la portabilidad,
la funcionalidad, la seguridad, la disponibilidad, y la reusabilidad, entre otros atributos,
es esencial para obtener un sistema que cumpla las expectativas de las distintas partes
interesadas (Bastarrica, 2005).

CONCLUSIONES
La selección de una arquitectura de software es uno de los elementos más importante
en el desarrollo de cualquier aplicación informática. Como resultado de esta
investigación se obtuvo una arquitectura, utilizando herramientas libres. El ciclo de
desarrollo se realiza con la metodología RUP, visualizando sus artefactos con el
lenguaje de modelado UML, en su extensión APEM–L, que permite establecer
elementos descriptivos y decorativos en la representación de los componentes del
lenguaje base.
Se utiliza la arquitectura N-Capas, con el estilo arquitectónico de Llamada y Retorno y el
patrón MVC, los que en su conjunto posibilitan reusabilidad, portabilidad y escalabilidad
al sistema presentado.
La optimización de código presentado en las tecnologías del lado del cliente, se basa
en las reglas de optimización que facilitan el funcionamiento del producto sobre el
navegador Web, evitando la sobrecarga del mismo, mostrando un software educativo
para niños de 3 a 5 años, con tecnología multimedia, que puede aplicarse a sistemas
con características similares.

REFERENCIAS BIBLIOGRÁFICAS
[1]. ANÓNIMO. Ayuda Proceso Unificado de Rational. [html] 2003.
[2]. _______ Ecma-262. [En línea] Diciembre de 1999. 3rd edition. http://www.ecma-
international.org/publications/standards/Ecma-262.htm .
[3]. _______ JSON. [En línea] http: //es.wikipedia.org/wiki/JSON, 2009.
[4]. _______ Introducción a JSON. [En línea] http: //www.json.org/json-es.html, 1999.
[5]. _______ “Visión general de las nuevas funcionalidades de Apache” 2.0, 2008.
Disponible en: http://httpd.apache.org/docs/2.0/es/new_features_2_0.html
[6]. BASTARRICA, M. C. Atributos de Calidad y Arquitectura del Software. Volumen, 4.
2005
[7]. CAMERON ADAMS et al. “The Art & Science Of JavaScript”. SitePoint Pty. Ltd.
2007.
[8]. CEBALLOS IZQUIERDO, YASMANI, “Optimización del diseño web con las hojas
de estilos iniciales”, Febrero 2009, Informática 2009.
[9]. COBO RODRÍGUEZ, JOSÉ A., “Línea Base Arquitectónica para el Polo Sistemas
Tributarios y de Aduanas”, Junio 2008. Tesis de Grado, Disponible en:
http://bibliodoc.uci.cu/TD/TD_1443_08.pdf
[10]. CROCKFORD, DOUGLAS. crockford.com. crockford.com. [En línea]
http://www.crockford.com/javascript/private.html.
[11]. _________________. javascript.crockford.com. [En línea]
http://javascript.crockford.com/prototypal.html.
[12]. ESPINAL MARTÍN, YANET, “Arquitectura de software. Arquitectura orientada a
servicios”. Disponible en: http://seriecientifica.uci.cu
[13]. GARLAN, D. Y SHAW, M. "An Introduction to Software Architecture". Pittsburgh:
School of Computer Science, Carnegie-Mellon University, 1994.
[14]. HERNÁNDEZ REYES, CARLOS E., LEYVA DURÁN, JULIO A., “Desarrollo de
la Arquitectura del Sistema Automatizado de Control de Gestión de Indicadores de
Refinación, SACGIR”, Julio 2008. Tesis de Grado, Disponible en:
http://bibliodoc.uci.cu/TD/TD_1193_08.pdf
[15]. HIDALGO REYES, ALBERTO, VAZQUEZ SORÍ, JOSUÉ, “Modelación de
arquitectura para aplicaciones empresariales en PHP”, Junio 2008. Tesis de Grado,
Disponible en: http://bibliodoc.uci.cu/TD/TD_1500_08.pdf
[16]. HISHAM. CSSMANIA Comunidad Diseño Web. Blogs de Primavera.
Universidad de las Ciencias Informáticas (UCI), 19 de Mayo de 2008.
http://web21.uci.cu/blogs/cssmania/?p=26.
[17]. JACOBSON, G.BOOCH, J.RUMBAUGH. “El Proceso Unificado de Desarrollo
de Software”. Madrid, PEARSON EDUCACION, S.A, 2000.
[18]. KING, ANDREW B. “Website Optimization. First Edition”. O’Reilly, July 2008.
[19]. KRUCHTEN P., “Planos Arquitectónicos: El Modelo de 4+1 Vistas de la
Arquitectura del Software”, 2008.
[20]. LECOMTE, JULIEN, “High Performance Ajax Applications”, 2007 Disponible en
http://www.julienlecomte.net/blogfiles/performance/ajax-perf.ppt
[21]. LÓPEZ MASTRAPA, HENRY Y., “Propuesta de Arquitectura del Sistema de
Registro de Visitante en la UCI”, Julio 2008. Tesis de Grado, Disponible en:
http://bibliodoc.uci.cu/TD/TD_1715_08.pdf
[22]. Maestrosdelweb. Maestrosdelweb. [En línea]
http://www.maestrosdelweb.com/editorial/hacks-en-css-que-te-evitaran-dolores-de-
cabeza-en-internet-explorer/.
[23]. MICHAUX, PETER. peter.michaux.ca. peter.michaux.ca. [En línea] 02 de Junio
de 2008. http://peter.michaux.ca/articles/class-based-inheritance-in-javascript .
[24]. PALAU, PEDRO E. CSSMANIA Comunidad Diseño Web. Blogs de Primavera.
Universidad de las Ciencias Informáticas (UCI), 3 de Diciembre de 2008.
http://web21.uci.cu/blogs/cssmania/?p=131.
[25]. PAUL CLEMENTS, R. K., MARK KLEIN. “Evaluating Software Architectures:
Methods and Case Studies”. Addison-Wesley, 2001. 323 p.
[26]. PÉREZ, JAVIER EGUÍLUZ. “Introducción a JavaScript”. 2008, Disponible en
www.librosweb.es.
[27]. Smashingmagazine. Smashingmagazine. [En línea] 18 de Agosto de 2008.
http://www.smashingmagazine.com/2008/08/18/7-principles-of-clean-and-optimized-css-
code/.
[28]. SOUDERS, STEVE. “High Performance Web Sites. First Edition”. O’Reilly, Sept.
2007.
[29]. STEFANOV, STOYAN. “Object-Oriented JavaScript”, Packt Publishing, 2008.
[30]. RICARDO, MsC. FEBE ÁNGEL CIUDAD. “ApEM – L como una nueva solución
a la modelación de aplicaciones educativas multimedias en la UCI”, 2007.
[31]. ROMERO FERNÁNDEZ, LEUDYS. “Análisis y Diseño del Software Educativo
Cuentos Infantiles para niños en edad preescolar”, Tesis de Grado, 2009.
[32]. VIGIL REGALADO, YAMILA, FOUCES CABANA, ERICH, “La arquitectura de
software como disciplina científica”, Marzo 2008. Disponible en:
http://seriecientifica/repositorio/sc_200804/SC_200804_02.pdf
[33]. ZELDMAN, JEFFREY. “Designing With Web Standards”. 2nd Edition, 2006.
ANEXOS
Anexo 1. Comparación de los Frameworks de Desarrollo.

Figura 3. Comparación de los Frameworks de Desarrollo según Google, Enero 2009.

Anexo 2. Comparación de los Frameworks para AJAX

Figura 4. Comparación de los Frameworks para AJAX.


Figura 5. Comparación de los frameworks para AJAX.

Anexo 3. Comparación de las Interfaces de Programación de Aplicaciones.

Figura 6. Comparación de las APIs.


Anexo 4. Comparación entre las Librerías según los aspectos de rendimiento,
funcionamiento en los navegadores, portabilidad.

Figura 7. Comparación entre las Librerías según los aspectos de rendimiento, funcionamiento en los
navegadores, portabilidad.

View publication stats

También podría gustarte