Upload
ximena-ale-quintana-lopez
View
554
Download
3
Embed Size (px)
Citation preview
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
ANTEPROYECTO DE TESIS DE GRADO
TÍTULO DE LA TESIS
“ANÁLISIS DE LA ARQUITECTURA MODELO VISTA CONTROLADOR DEL
FRAMEWORK RUBY ON RAILS PARA EL DESARROLLO AGIL DE
APLICACIONES WEB.”
PRESENTADO POR:
NELSON RODRIGO LLANGARÍ TZAQUI
ANALIZADO Y CALIFICADO POR LA COMISION TÉCNICA:
COORDINADOR DEL ÁREA:
DIRECTOR DE TESIS:
SI( ) NO( ) PENDIENTE( )
FECHA DE APROBACION DEL CIFIE
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
1. ASPECTOS GENERALES
1.1. TÍTULO DEL PROYECTO DE TESIS
“ANÁLISIS DE LA ARQUITECTURA MODELO VISTA CONTROLADOR
DEL FRAMEWORK RUBY ON RAILS PARA EL DESARROLLO AGIL DE
APLICACIONES WEB”
1.2. PROPONENTES
1.2.1.NOMBRE
NELSON RODRIGO LLANGARÍ TZAQUI
1.2.2.ESCUELA
ESCUELA DE INGENIERÍA EN SISTEMAS
1.2.3.ÁREA
DESARROLLO
PROGRAMACIÓN
1.3. DIRECTOR DE TESIS
1.4. LUGAR DE REALIZACIÓN
Cooperativa de Ahorro y Crédito Nuestra Esperanza, en la Provincia de
Chimborazo Ciudad Riobamba.
1.5. TIEMPO DE DURACIÓN
6 meses.
1.6. FECHA ESTIMADA DE INICIACIÓN
1 de marzo del 2010.
2. FORMULACIÓN GENERAL DEL PROYECTO DE TESIS
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
2.1. ANTECEDENTES
2.1.1.PLANTEAMIENTO DEL PROBLEMA
2.1.1.1. DESCRIPCIÓN
RoR o Rails nació como un framework de aplicaciones web de código
abierto escrito en el lenguaje de programación Ruby, siguiendo el
paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de
combinar la simplicidad con la posibilidad de desarrollar aplicaciones del
mundo real escribiendo menos código que con otros frameworks y con un
mínimo de configuración.
Actualmente existe tesis en la intranet de Ruby on Rails explicando el
porqué se utiliza en las empresas esta tecnología, pero sobre el estudio del
patrón modelo visa controlador no se ha difundido información, por tal
motivo el análisis de esta arquitectura resulta de gran importancia en la
sociedad.
Cada vez poseemos más herramientas de desarrollos que tienen por objetivo
ofrecernos formas de implementar un sistema muy variado, entre ellos la
creación de páginas web, estos últimos años la tendencia web ha ido
creciendo imparablemente que las empresas quieren tener sus propias
páginas y con sus movimientos a través del internet.
Con la aparición de la Web 2 y las herramientas de desarrollo avanzadas
como las tecnologías JSP, ASP, PHP, etc., se han desarrollado un
sinnúmero de aplicaciones, pero ninguna con el paradigma de arquitectura
Modelo Vista Controlador, que trata de optimizar código con los mínimos
errores posibles, debido al framework Ruby on Rails.
2.1.1.2. ANÁLISIS
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
Ruby on Rails es un completo entorno de desarrollo web que es
basado en el patrón de diseño Modelo Vista Controlador (MVC), software
libre, ayuda a producir aplicaciones muy estructuradas a cualquier gusto.
Los desarrolladores se concentran en la funcionalidad a nivel de aplicación
y dejan a Rails que cuide de los detalles. Y como se escribe en el lenguaje
de programación Ruby obtienen la potencia y expresividad de uno de los
lenguajes más dinámicos en existencia.
Ruby fue diseñado para un desarrollo rápido y sencillo, cada día este
lenguaje va ganando más adeptos.
2.1.1.3. DELIMITACIÓN
Provincia: Chimborazo.
Ciudad: Riobamba.
Lugar: Nelsolutions.
2.1.2.FORMULACIÓN DEL PROBLEMA
¿Cómo beneficia el uso del MVC del framework Ruby on Rails en el desarrollo de
aplicaciones web?
2.1.3.SISTEMATIZACIÓN DEL PROBLEMA
¿Qué herramientas de software libre se utilizan en el desarrollo de aplicaciones
empresariales?
¿Todas las herramientas de desarrollo proporcionan las mismas funcionalidades al
desarrollador?
¿Cuáles son las ventajas que brinda la arquitectura Modelo Vista Controlador con el
framework Ruby on Rails?
¿MVC es compatible con cualquier plataforma?
2.2. JUSTIFICACIÓN DEL PROYECTO DE TESIS
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
2.2.1.JUSTIFICACIÓN TEÓRICA
En la actualidad, los desarrolladores web desean realizar sus aplicaciones de manera
pronta y de calidad, por lo que han optado a utilizar herramientas o plataformas que
facilitan el desarrollo de las mismas como .NET, JAVA, PHP, etc. Pero la gran
necesidad es realizar un producto de calidad, que implica rapidez de procesamiento y
respuesta enfocada a sus necesidades.
Ruby on Rails es un framework open source, basado en Ruby que es elegante, fácil de
entender, potente y muy bien diseñado; es una plataforma de desarrollo web muy
productiva y rápido por la arquitectura que posee.
El Patrón MVC divide a las aplicaciones en tres partes: Modelo (Responsable de
mantener el estado de la aplicación), Vista (Responsable de presentar la información y
la interfaz al usuario) y Controlador (Organiza la aplicación, recibe eventos del
exterior, interactúa con el modelo y actualiza la información de las vistas). La idea de
aplicar esta separación es crear una vista para el mismo modelo y reutilizar el modelo
para escribir utilerías relacionadas, o incorporar datos al dominio en programas
grandes.
2.2.2.JUSTIFICACIÓN METODOLÓGICA
La utilización del framework Ruby on Rails ayudará a desarrollar aplicaciones con
mayor rapidez, con tiempos ágiles de respuesta a una petición, ayudando a satisfacer
las necesidades del desarrollador y de igual forma al cliente final, pues la mayoría de
veces estos son muy exigentes.
Para que este análisis sea exitoso se comprará el Framework Ruby on Rails con el
Framework JSP, debido a que los dos son los más difundidos en la actualidad, y
existen muchas aplicaciones desarrolladas en JSP.
2.2.3.JUSTIFICACIÓN PRÁCTICA
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
En la actualidad la utilización del Framework Ruby on Rails no ha sido muy
difundido en nuestro medio, las plataformas tradicionales como PHP, JAVA, JSP han
sido los pioneros en el mercado de las aplicaciones WEB, por ello nos hemos
planteado crear una aplicación en la plataforma propuesta, que dará el mismo servicio
que las aplicaciones desarrolladas hasta el momento.
En la Cooperativa de Ahorro y Crédito “Nueva Esperanza” se prentende implementar
esta plataforma, pues la reutilización y optimización de código permitirá una mayor
rapidez en las peticiones del usuario permitiendo mejorar el servicio a los clientes de
la Cooperativa.
2.3. OBJETIVOS
2.3.1.OBJETIVOS GENERALES
Analizar el desarrollo de las aplicaciones Web utilizando el patrón MVC del
framework Ruby on Rails, para desarrollar la página Web de la Cooperativa de
Ahorro y Crédito “Nuestra Esperanza”.
2.3.2.OBJETIVOS ESPECÍFICOS
Estudiar las plataformas de desarrollo libre.
Proponer un análisis comparativo entre las plataformas de desarrollo Web más
difundidas.
Desarrollar una aplicación Web utilizando el framework Ruby on Rails, en la
Cooperativa de Ahorro y Crédito “Nuestra Esperanza”.
Identificar las ventajas que la empresa obtiene al desarrollar sus aplicaciones con
la plataforma Ruby on Rails.
Analizar el sistema operativo en el que mejor trabaja Ruby on Rails.
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
2.4. HIPÓTESIS
El patrón Modelo Vista Controlador de Ruby on Rails mejorará la arquitectura de
programación y el tiempo de desarrollo del programador.
Tipo de hipótesis
Hipótesis Causa – Efecto (Multivariada)
Variable independiente
Patrón Modelo Vista Controlador.
Variables dependientes
Arquitectura de programación.
Tiempo de desarrollo.
Operacionalización conceptual
Variable Tipo Concepto
Patrón Modelo Vista
Controlador
Compleja Es un estilo de arquitectura de
software que permite realizar
aplicaciones con sofisticadas
interfaces.
Arquitectura de programación Compleja Separación de los datos de una
aplicación, de la interfaz de
usuario, y la lógica de control
en tres componentes distintos.
Tiempo de desarrollo Compleja Tiempo que el programador
tarda en desarrollar una
aplicación.
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
Operacionalización metodológia
Variable Categoría Indicador Técnicas Fuente de
verificación
Arquitectura de
programación
Framework MVC Interfaz
Lógica de
Negocios
Controlador.
Revisión de los
frameworks.
Comparación de
dos frameworks.
Tiempo de
desarrollo
Tiempo de
asignación
del proyecto.
Número de
las líneas de
código de
programació
n.
Observación
Verificación de la
culminación del
cronograma
mediante la
metodología de
desarrollo ágil
MSF.
Plataforma de
desarrollo.
2.5. TEMARIO TENTATIVO
CONTENIDO TENTATIVO
PORTADA
AGRADECIMIENTO
DEDICATORIA
FIRMAS DE RESPONSABILIDAD Y NOTA
RESPONSABILIDAD DEL AUTOR
ÍNDICE ABREVIATURAS
ÍNDICE GENERAL DE CONTENIDO
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
INTRODUCCIÓN
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
CAPÍTULO I. MARCO REFERENCIAL
1. PROBLEMATIZAZIÓN.
2. OBJETIVOS.
2.1. OBJETIVO GENERAL.
2.2. OBJETIVOS ESPECÍFICOS.
3. JUSTIFICACIÓN.
4. HIPÓTESIS.
CAPÍTULO II. MARCO TEÓRICO
1. ¿QUÉ ES RUBY?
2. CARACTERÍSTICAS
3. RUBY ON RAILS
4. DESCRIPCIÓN DE LA ARQUITECTURA
4.1. ELEMENTOS ARQUITECTÓNICOS
4.2. FUNCIONAMIENTO DE LA ARQUITECTURA
5. MANEJO DEL PATRÓN MVC
5.1. COMPONENTES DEL MVC:
6. MECANISMOS DE VALIDACIÓN DE DATOS
7. MANEJO DE PERSISTENCIA
7.1. SESIONES Y COOKIES EN ROR
7.2. ACCESO A BASE DE DATOS
8. SEGURIDAD
9. COMPATIBILIDAD CON BASE DE DATOS
10. SERVIDORES CONTENEDORES
10.1. PASSENGER
10.2. JRUBY
10.3. CAPISTRANO
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
CAPÍTULO III. INSTALACIÓN Y CONFIGURACIÓN DEL FRAMEWORK
RUBY ON RAILS.
1. ANÁLISIS DE LOS REQUERIMIENTOS SOFTWARE Y HARDWARE
NECESARIOS PARA LA INSTALACIÓN DEL FRAMEWORK RUBY ON RAILS.
2. INSTALACIÓN DEL FRAMEWORK RUBY ON RAILS.
3. CONFIGURACIÓN.
CAPÍTULO IV. ANÁLISIS COMPARATIVO DEL FRAMEWORK: RUBY ON
RAILS Y JSP.
1. INTRODUCCIÓN DEL RENDIMIENTO DEL FRAMEWORK RUBY ON RAILS.
2. UTILIZACIÓN DE RECURSOS.
2.1. USO DE PROCESADOR.
2.2. USO DE MEMORIA.
2.3. USO DE DISCO.
3. SEGURIDAD.
4. RENDIMIENTO.
5. ESCALABILIDAD.
6. COMPARACIÓN Y EVALUACIÓN MEDIANTE ESTADÍSTICA INFORMAL.
CAPÍTULO V. ANÁLISIS E INTERPRETACIÓN DE RESULTADOS
1. CONCLUSIONES.
2. RECOMENDACIONES.
3. RESUMEN.
4. SUMMARY.
5. GLOSARIO.
6. ANEXOS.
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
2.6. BIBLIOGRAFÍA
2.6.1.BIBLIOGRAFÍA GENERAL
2.6.2.BIBLIOGRAFÍA RELACIONADA AL TEMA
3. EJECUCIÓN DEL PROYECTO DE TESIS
3.1. PLAN GENERAL DEL TRABAJO
En nuestro plan de trabajo se
Fase I. FASE DE INVESTIGACIÓN BIBLIOGRÁFICA.
Recopilar información acerca del tema.
Profundizar la revisión bibliográfica.
Recolectar información acerca de los Framework Ruby on Rails y JSP.
Fase II. FASE DE SELECCIÓN DE INFORMACIÓN.
Seleccionar la información más importante para el desarrollo de la tesis.
Fase III. FASE DE PLANIFICACIÓN.
En esta fase se realizará un estudio profundo sobre los Frameworks Ruby on Rails y
JSP. Como sus características, ventajas, elementos arquitectónicos, funcionamiento de
la arquitectura, manejo del patrón MVC, mecanismos de validación y
compatibilidades.
Fase IV. FASE DE EJECUCIÓN.
Se instalará las herramientas así como la configuración y por consiguiente se realizará
un análisis comparativo sobre RoR y JSP.
Fase V. FASE DE EVALUACIÓN Y PRESENTACIÓN DE RESULTADOS.
Una vez instaladas las herramientas se implementará la aplicación en la Cooperativa
de Ahorro y Crédito “Nueva Esperanza”, y luego se evaluará la aplicación para
comprobar que el alcance de los objetivos se haya logrado con éxito.
3.2. CRONOGRAMA TENTATIVO
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
En el cronograma tentativo se presentan las fases a desarrollarse en el lapso del tiempo
estimado, sin embargo está sujeto a cambios debido a las circunstancias que se puedan
presentar en su desarrollo.
Ver Anexo 1.
3.3. RECURSOS NECESARIOS
3.3.1.RECURSOS HUMANOS
Se necesitará personal para las siguientes áreas.
PROGRAMADORES
ADMINISTRADOR DE BASE DE DATOS
ADMINISTRADOR DE SISTEMAS OPERATIVOS
DOCUMENTACION
Todas estas tareas serán realizadas por las persona responsables del presente proyecto
de tesis.
3.3.2.RECURSOS HARDWARE
EQUIPOS CARACTERISTICAS
SERVIDOR LINUX DE
APLICACIONES WEB Y BASE DE
DATOS
Intel Core 2 DUO de 2.4 GB.
Disco Duro de 500 GB
Memoria Ram de 2 GB
CLIENTES DE PRUEBAS Computador Portátil HP DV5 y DV4
3.3.3.RECURSOS SOFTWARE
Sistema Operativo Centos 5.4
Sistema Operativo Windows Vista Ultimate.
Office 2003/2007
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
Microsoft Project
Internet Explorer 8
Mozilla Firefox 3.5
Adobe Flash CS3
Ruby on Rails
Ide Neatbeans 6.8
Oracle XE versión Libre.
3.3.4.OTROS
Internet ancho de banda de 1024 Kbps.
Suministros de Computación
Suministros de Oficina
Libros
Apuntes
3.4. MÉTODOS Y TÉCNICAS
3.4.1.MÉTODOS
El método científico es el más adecuado para realizar nuestro proyecto de tesis, el
mismo que contempla los siguientes ítems:
El planteamiento del problema que es objeto principal de nuestro estudio.
El apoyo del proceso previo a la formulación de la Hipótesis.
Levantamiento de información necesaria.
Análisis e interpretación de Resultados.
Proceso de Comprobación de la Hipótesis, etc.
Además, se aplicará el método analítico que permitirá dividir el objeto de estudio en
partes de información de sus componentes.
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
3.4.2.TÉCNICAS
Para la recopilación de la información necesaria que sustente el presente trabajo de
investigación, se ha establecido como técnicas las siguientes:
Revisión de documentos.
Observación
TFA’S (Técnicas que facilitan la especificación de aplicaciones).
Técnicas de Comprobación de hipótesis.
3.5. PRESUPUESTO
La utilización de las plataformas de Software Libre nos permitirá ahorrar la compra de las
licencias, cabe recalcar que las licencias de los computadores clientes ya vienen incluidas
en la compra.
EQUIPOS COSTO
SERVIDOR LINUX DE
APLICACIONES WEB Y BASE DE
DATOS
$ 1200,00
CLIENTES DE PRUEBAS $ 1800,00
3.6. FUENTE DE FINANCIAMIENTO
La cooperativa de Ahorro y Crédito Nuestra Esperanza se dispone a cubrir el 75 % del
presupuesto previsto para este proyecto, el resto será responsabilidad de los tesistas.
FECHA DE PRESENTACIÓN DEL ANTEPROYECTO
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
El proyecto de tesis se presentará el martes 23 de noviembre del 2010.
NOMBRES Y FIRMAS DE LOS PROPONENTES Y DIRECTOR DEL
ANTEPROYECTO
---------------------------------------------
Ing. Gloria Arcos (Ejemplo)
DIRECTOR
------------------------------------- Nelson Llangarí.
CI: 0604090571
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
ANEXOS
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
Anexo 1.
Diseño de Tesis
ANTEPROYECTO DE TESIS DE GRADO ESPOCH
Diseño de Tesis