26
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( ) Diseño de Tesis

Anteproyecto Final

Embed Size (px)

Citation preview

Page 1: Anteproyecto Final

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

Page 2: Anteproyecto Final

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

Page 3: Anteproyecto Final

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

Page 4: Anteproyecto Final

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

Page 5: Anteproyecto Final

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

Page 6: Anteproyecto Final

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

Page 7: Anteproyecto Final

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

Page 8: Anteproyecto Final

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

Page 9: Anteproyecto Final

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

Page 10: Anteproyecto Final

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

Page 11: Anteproyecto Final

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

Page 12: Anteproyecto Final

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

Page 13: Anteproyecto Final

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

Page 14: Anteproyecto Final

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

Page 15: Anteproyecto Final

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

Page 16: Anteproyecto Final

ANTEPROYECTO DE TESIS DE GRADO ESPOCH

ANEXOS

Diseño de Tesis

Page 17: Anteproyecto Final

ANTEPROYECTO DE TESIS DE GRADO ESPOCH

Anexo 1.

Diseño de Tesis

Page 18: Anteproyecto Final

ANTEPROYECTO DE TESIS DE GRADO ESPOCH

Diseño de Tesis