Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Grado en Ingenierı́a Informática

Trabajo Final de Grado

Creación de un portal web corporativo

Supervisor:
Autor: Antonio José Balaguer Valls
Albert Araujo Fabregat Tutor académico:
José Manuel Badia Contelles

Fecha de lectura: 16 de noviembre de 2015


Curso académico 2014/2015
Resumen
En este documento explicamos el proyecto desarrollado durante la estancia en prácticas
realizada en el marco de asignatura EI1054. La idea principal del proyecto es la de dar a conocer
a la empresa “Materiales de Construcción Fadrell” en el mundo de internet. En esta memoria
describiremos fundamentalmente la creación de un portal web realizado con Django-cms.
Para lograrlo además de crear un portal web, hemos implementado e integrado en él proyecto
en Django para mostrar información de los productos y hemos creado diversos perfiles en redes
sociales para dar difusión a la empresa también en este ámbito.
El portal web se ha diseñado e implementado usando el framework Django-cms que es un
gestor de contenidos desarrollado basándose en el framework Django.

Palabras clave
Django; Django-cms; Portal web; Bases de datos;

Keywords
Django; Django-cms; Portal web; Databases;
Índice general

1. Introducción 5
1.1. Contexto y motivación del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Descripción del proyecto 9

3. Planificación del proyecto 11


3.1. Metodologı́a y definición de tareas . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Planificación temporal de las tareas . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3. Estimación de recursos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5. Desarrollo del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4. Entorno de desarrollo 19
4.1. Django . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. Django-cms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5. Análisis y diseño del sistema 27


5.1. Visión global del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2. Diseño del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.3. Diseño de la interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.4. Estilo del portal web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.5. Diseño de la base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6. Implementación, pruebas y documentación 35


6.1. Promoción creación de perfiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2. Integración de la venta online en el portal . . . . . . . . . . . . . . . . . . . . . . 37
6.3. Desarrollo del portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.4. Implementación del catálogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
6.5. Integración del catálogo en el portal . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.6. Desplegado del portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.7. Documentación y formación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

7. Conclusiones 65

3
4
Capı́tulo 1

Introducción

1.1. Contexto y motivación del proyecto

El proyecto descrito en esta memoria se ha desarrollado en la empresa “Materials de Cons-


trucció Fadrell”, situada en la ciudad de Castellón de la Plana. Esta joven empresa local consti-
tuida en 2012 se dedica a la compra-venta de todo tipo de materiales de construcción, maquinaria
industrial y afines. Esta empresa forma parte del grupo Ibricks, que es un centro de compras
y una plataforma de gestión de servicios. Sus servicios se dirigen a almacenes distribuidores de
materiales de construcción. Esto les aporta un gran valor añadido, ya que es el segundo grupo
más grande a nivel nacional por número de asociados y esto les hace formar parte de un grupo
de más de 200 almacenes a nivel nacional.
En cuanto a personal, la empresa está formada por cuatro miembros, todos socios a partes
iguales. Sus roles están bastante definidos. En primer lugar tenemos a un empleado que se
encarga de realizar las ventas y aconsejar al cliente. Por otro lado tenemos al encargado del
almacén, que es quien decide cuándo hay que realizar otro pedido de algún material que se esté
agotando. Además se encarga de organizar el almacén para que todo esté en su sitio. Otro de
los miembros de la empresa es quien se encarga de repartir los materiales, ya que se trata de
materiales que se venden por toneladas y hay que usar un transporte especı́fico. Este miembro
de la empresa es el único que tiene el carnet necesario para poder realizar las entregas, ası́ que
se encarga de la totalidad de los repartos. Para ello cada pedido está preparado y estudiado,
para que tras servir uno, el siguiente sea lo más rápido posible. Por último tenemos al encargado
de la gestión contable y financiera y que además se encarga de hablar con distribuidores.
En el apartado técnico en la actualidad la empresa dispone de 2 ordenadores personales
con el sistema operativo Windows 7. Se tratan de ordenadores muy básicos ya que solo se usan
para manejar el software de contabilidad GESTWIN, utilizar programas ofimáticos y acceder a
internet. Además ambos ordenadores utilizan una base de datos local integrada en GESTWIN
compartida por una red local.
Esta red local es usada por el software GESTWIN [1] que es su software principal. Este se
encarga de la gestión contable y financiera, realización de albaranes de entrada de material y
facturación. En la base de datos tenemos los productos y su precio, pero no llega ser un catálogo,
ya que en la empresa utilizan los catálogos de los proveedores en papel. Al ser estos catálogos tan
extensos y tener muchos proveedores, serı́a muy complejo tener todos los productos registrados.
Por eso la empresa ha seleccionado un subconjunto de materiales y los ha integrado en la base
de datos de GESTWIN.

5
En la empresa ninguno de los miembros es informático, sino que tienen contratado un in-
formático externo, que en caso de error acude a la empresa y lo arregla presencialmente o por
internet si la urgencia es extrema y el error lo permite.
La intervención de este informático externo es esporádica, pero fue este mismo informático
quien les aconsejó qué ordenadores debı́an comprar para una empresa de esas caracterı́sticas.
Además instaló todo el software que hay en la actualidad y se encarga de la totalidad del
mantenimiento, ya sea del software como del hardware.
Este informático se eligió, por ser conocido por un miembro de la empresa, que ya habı́a
trabajado con él en el pasado. Se dedica a este tipo de gestiones en diversas empresas a nivel
individual.
Debido a lo anterior, se acordó que el supervisor de la estancia en la empresa se encargarı́a
de toda la parte de las prácticas que no tuvieran que ver con cuestiones técnicas, y serı́a el tutor
de la UJI el encargado de hacer de director del proyecto.
En cuanto a la motivación del proyecto, esta radica en que mucha de la competencia directa
de la empresa sı́ que tiene una web corporativa. Además su presencia en internet es nula, lo cual
les hace estar en una gran desventaja. Con la creación del portal web la empresa quiere cambiar
esta desventaja para transformarla en una ventaja, ofreciendo mejoras que la competencia no
tiene. Con estas mejoras se pretende dar a conocer la empresa en un ámbito global pero sobre
todo local, para poder llegar al número máximo de clientes posibles y al mismo tiempo ofrecerles
un mejor servicio a los clientes actuales. Por otro lado, otra forma de darse a conocer será con
la creación de diferentes perfiles en las redes sociales más populares. Como se ha demostrado
estas redes son de gran utilidad, para dar visibilidad a la empresa y mantener un contacto con
los clientes.
Con todo esto la empresa pretende conseguir:

Crear y promocionar su imagen en internet.

Acceder a nuevos clientes.

Tener otro canal de comunicación con los clientes.

Mantener información actualizada sobre eventos.

Promocionar artı́culos y ofertas.

1.2. Objetivos del proyecto


El objetivo principal de este proyecto es dar a conocer en internet a la empresa. Para ello
el proyecto a desarrollar girará entorno a la idea de un portal web, ya que actualmente no
poseen ningún tipo de presencia en internet y un portal Web les parece necesario. Este portal
Web debe estar orientado sobre todo al cliente potencial, sin olvidarnos de los clientes actuales,
ofreciéndole un buen diseño, que lo haga atractivo y sencillo.
Con todo esto pretendemos hacer que sea fácil de usar, que nos proporcione información
importante como pueden ser horarios actualizados, ofertas, servicios que ofrece la empresa, etc.
El portal contendrá diversas páginas que mostrarán información de contacto, información de
la empresa, horarios, servicios, un apartado especı́fico para la localización, información de los
últimos eventos de la empresa y un pequeño catálogo.
Aunque se muestre en el catálogo un subconjunto de todos los productos, no se podrán
comprar todos por Internet. Esto se debe a las caracterı́sticas de los productos que se venden,
ya que muchos de ellos no podrı́an ser transportados por paqueterı́a convencional. Además

6
la empresa quiere poder hacer cambios en el futuro tanto en el portal como en el catálogo,
por lo que habrá que escribir un pequeño manual con los conceptos básicos para el manejo y
actualización de su contenido.
Podemos subdividir todos estos objetivos en 2 tipos.
Objetivos empresariales:

Dar a conocer la empresa en el ámbito de Internet mediante:

• La creación de un portal web.


• La creación de perfiles en distintas redes sociales.
• La optimización de su posicionamiento en los buscadores principales.

Objetivos técnicos:

El principal objetivo de este proyecto es el diseño, realización e implantación de un portal


web para la empresa Materials de Construcció Fadrell.

Diseño e implantación de una base de datos de los diferentes materiales que puede hacerse
accesible desde el portal web en forma de catálogo.

Integración del proceso de venta de artı́culos en el portal web.

Formación del personal en el uso y manejo tanto del portal web como de los diversos
perfiles en redes sociales.

Realización de un manual de administrador del portal web.

7
8
Capı́tulo 2

Descripción del proyecto

Este proyecto se ha realizado en la empresa “Materials de Construcció Fadrell” que se


dedica a la compra-venta de materiales de construcción. El código CNAE de la empresa es 4752
que corresponde a “Comercio al por menor de ferreterı́a, pintura y vidrio en establecimientos
especializados”.
El proyecto se divide en 3 bloques, el más sencillo de los cuales es la creación de diversos
perfiles en las redes sociales más importantes, con el objetivo de darse a conocer. En otro bloque
estará la creación de un portal Web, para el que utilizaremos el Framework Django-cms [2]. Por
último abordaremos la creación de un proyecto en Django [3] que integraremos con el proyecto
realizado en Django-cms y que funcionará como catálogo de la empresa.
Para el portal web se diseñarán diversos apartados para satisfacer las ideas generales del
cliente. Cada función básica del portal dará lugar una página diferente:
Página principal: con información general de la empresa, desde donde poder tener una
idea global de a qué se dedica.
Catálogo: mostrará un subconjunto de todos los artı́culos que posee la empresa en venta.
Esto es debido a que el stock total es muy extenso y la empresa pretende mostrar solo
algunos artı́culos, ya sean por que son nuevos o para destacarlos.
Servicios: apartado para mostrar todos los servicios que ofrecen tales como el asesoramien-
to personalizado, entrega de los productos directamente en la obra, etc.
Localización: información detallada de la localización de la empresa.
Ofertas: se pretende realzar ciertos productos, ya sean por innovación o por estar rebajado
su precio.
Noticias: apartado para publicar noticias y mostrar imágenes de las reuniones organizadas.
Todos los apartados del portal están abiertos a todos los usuarios. Aunque en las primeras
reuniones con el supervisor se habló de la posibilidad de hacer un registro de usuarios sólo para
los clientes que fuesen a comprar on-line, se acordó que este no iba ser necesario, ya que no
aportaba casi ninguna ventaja y la empresa lo veı́a casi más como un problema por el tipo de
público al que está orientada.
El portal web permite dos niveles de acceso. Por un lado, los usuarios podrán obtener
información tanto de la empresa como de los servicios que ofrece. Por otro lado el administrador
podrá modificar la información de la empresa el aspecto visual de la web.
Otra de las tareas abarcadas en este proyecto ha sido la creación de perfiles en redes sociales
para lo que, se escogieron las dos más famosas, como son Facebook y Twitter. Su función

9
principal es la de empezar a crear una imagen en Internet para la empresa. Además esto supone
hacerle entender la empresa la importancia que tiene este tipo de herramientas en la actualidad.
La idea principal de las redes sociales, es la de dar a conocer la empresa, Facebook está más
orientado a publicar fotos y publicidad de la empresa, dónde está, las reuniones que se hacen,
etc. La idea de Twitter es más la de promocionar artı́culos de oferta de manera puntual.
Ambas herramientas se usarán para permitir un contacto permanente y actualizado con los
clientes. También serán utilizadas para tener un lugar donde los clientes pueden dejar reseñas
y opiniones o para responder a sus dudas.

10
Capı́tulo 3

Planificación del proyecto

3.1. Metodologı́a y definición de tareas

Como se ha explicado anteriormente, al no tener un departamento de informática en la


empresa, la metodologı́a que se empleará para desarrollar el proyecto será la tradicional [7].
Esto es debido a que es una metodologı́a contrastada y verificada que puede aplicarse de modo
individual. No necesita de un supervisor constante, se estudia la idea inicial, se acuerda lo que
se pretende obtener y se desarrolla. Esta metodologı́a se adapta a nuestras circunstancias. No se
seguirá la metodologı́a tradicional al pie de la letra, sino que se harán algunas variaciones, ya que
el contacto con el cliente en la empresa es continuo. Esto nos proporcionará mucho feedback,
el cual utilizaremos para corregir pequeños errores o desacuerdos que aparezcan durante el
desarrollo del proyecto.
En lo referente a la web, no se tiene ninguna guı́a o ayuda de la empresa. En las reuniones
con el supervisor se acordaron objetivos, contenido y funcionalidad, pero no formatos, estilos,
distribución. El portal deberá ser diseñado y configurado al mismo tiempo que se avanza en
el proyecto, haciendo las adaptaciones que se obtienen del feedback. En realidad siguiendo la
metodologı́a tradicional, se deberı́a realizar un diseño inicial, proponérselo al cliente y luego
adaptarlo a su opinión, este cambio deberı́a realizarse una sola vez en todo el proyecto. En
nuestro caso al tener un contacto continuo se fue adaptando a las necesidades de la empresa
durante la creación del portal.
Con el catálogo sucede lo mismo. Se acordó mostrar información muy general del producto.
Al no poder acceder a la base de datos local que usa el software GESTWIN, se tuvo que crear
una nueva, para el subconjunto de los productos que la empresa quiere mostrar. Se acordó la
funcionalidad que deberı́a tener el catálogo pero no el formato.
El proyecto no se ha desarrollado en equipo, sino que ha sido realizado completamente por
mı́ durante mi estancia en la empresa.
La metodologı́a tradicional tiene pautas muy marcadas: planificación del proyecto, deter-
minar objetivos, análisis del riesgo y desarrollo del proyecto y pruebas. Antes de empezar se
necesitarán unas cuantas reuniones con el cliente para ver qué se quiere obtener. Luego habrá
que seguir los pasos de la metodologı́a tradicional: Inicio, planificación, ejecución, monitorización
y control y cierre del proyecto.
Como podemos ver en los diagramas de Gantt,de las figuras 3.2 y 3.3, sı́ que se ha seguido
las etapas que marca la metodologı́a utilizada. Empezamos definiendo el contexto, alcance y
objetivos del proyecto y planificándolo todo previamente. Esto dio lugar a una propuesta técnica
inicial.

11
Dentro de la metodologı́a tradicional, las tareas se intentarán llevar acabo según se indicó
en el diagrama de Gantt que se realizó previamente en la propuesta técnica como muestra la
figura 3.2. Estas se dividen en:

Inicio del proyecto: En este periodo se definen los objetivos generales del proyecto,
el método de trabajo, el entorno de desarrollo y documentación necesaria, ası́ como el
formato y estándares del proyecto. Para ello se necesitará hacer diversas reuniones con el
cliente.

Documentación y análisis: En este apartado lo principal es definir bien el contexto y


a partir de este, buscar la información necesaria, identificar bien el alcance y los objetivos
detallados.

Planificación: Consiste en definir las tareas y estimar el tiempo. Este trabajo se verá
reflejado en un diagrama de Gantt.

Desarrollo técnico: Esta tarea se divide en 4 subtareas, lo que hace de esta la parte más
extensa del proyecto y la de mayor importancia.

• Definición de requisitos técnicos: Definición de casos de uso.


• Diseño: Se definirá el aspecto del portal Web y se realizarán bocetos de sus distintas
páginas. Por otro lado se deberá definir y diseñar la base de datos asociada al catálogo.
• Desarrollo del producto: En este apartado se acoplará todo lo realizado anterior-
mente para la implementación del portal Web, haciendo que encajen todos los pasos
previos. El objetivo es obtener un producto acabado y funcional.
• Puesta en marcha: Aquı́ observamos todos los pasos que hay que dar, para una
vez terminado el proyecto desplegar el portal en un hospedaje.

Como se ha explicado anteriormente, aunque en la metodologı́a tradicional durante las pri-


meras etapas ya se decide y planifica todo el proyecto, en nuestro caso durante el desarrollo del
mismo se han ido cambiando algunas de las ideas previstas.
Estos cambios han sido debidos a problemas técnicos o a que durante el desarrollo se ha
encontrado una solución mejor, o lo acordado resultaba no encajar completamente con la idea
que tenı́a la empresa.

3.2. Planificación temporal de las tareas


Como se muestra en el diagrama de Gantt 3.2 nombrado en el apartado anterior, la suma de
las horas totales que se le dedican al proyecto son 300. Otras 135 horas de dedicación son tanto
para la redacción de los informes quincenales, como de este documento y para la preparación
de la presentación del resultado ante un tribunal. Las 15 horas restantes para completar las
450 horas de la asignatura EI1054 son para reuniones con el tutor durante el transcurso del
proyecto.
Las 300h fueron divididas en 5h diarias de 8:00 a 13:00, de lunes a viernes. En las reuniones
previas se acordó que durante las fiestas de la Magdalena no se trabajarı́a.

12
3.3. Estimación de recursos del proyecto
Los recursos utilizados para el desarrollo del proyecto los podemos dividir en 3 clases: hard-
ware, software y recursos humanos.
Software:
Tras hablar con la empresa en diferentes reuniones, se acordó que todo el software que se
utilizase para el desarrollo deberı́a ser gratuito. Con esta premisa seleccionamos las diferentes
herramientas y entornos de desarrollo:

Django: Se usará para la realización de un catálogo. Es un Framework de aplicaciones


web de código abierto, desarrollado en Python [5], que respeta el patrón Modelo-Vista-
Controlador.

Django-cms: Este software será la piedra angular del portal Web. La principal diferencia
con Django es que Django-cms es un Framework de aplicaciones web desarrollado con
Django. Está creado para facilitar la creación de portales web. Django por su parte es más
genérico, se podrı́a decir que Django-cms es elegir la rama de la creación de portales web,
que es una de las muchas cosas que se puede hacer con Django y adaptarlo para que su
uso sea mucho más intuitivo y fácil para personas que nunca han usado Django.

Latex: Lo usamos para la escritura de los documentos creados durante el desarrollo


del proyecto, por su sofisticación y su gran adaptabilidad, ofreciendo un acabado muy
profesional.

SublimeText: Es un editor de texto muy moldeable y adaptable. En nuestro caso lo


elegimos para poder trabajar con comodidad tanto con Django-cms como para la creación
del catálogo en Django. Su principal singularidad es que nos permite variar el lenguaje
con el que trabajamos en cada fichero.

Aparte de este software, que serı́a el principal, se han utilizado otros como pueden ser diversas
aplicaciones web, también gratuitas, para la realización tanto de diagramas de clases, mockups,
redimensionar imágenes, etc. Por ejemplo para la realización de los diagramas de Gantt se
ha utilizado el Microsoft Project Management, software para la planificación de proyectos y
colaboración.
Hardware:
En cuanto al hardware utilizado, al principio de la estancia se me asignó un portátil con
Windows 7 que ya poseı́a la empresa. Durante la estancia, y tras realizar algunas pruebas y
leer diversos manuales tanto de Django como Django-cms, se decidió usar un sistema operativo
basado en OS X por los siguientes motivos.

En los manuales siempre se referencia al sistema operativo Linux.

Al no estar acostumbrado al terminal de Windows no me resultaba natural su uso.

Leer una instrucción pensada para un sistema operativo como es Linux y tener que tradu-
cirla, resultaba ser muy complejo y ralentizaba mucho el desarrollo del proyecto. Ya que
muchas veces no era capaz de hacer la “traducción” literal de la orden.

Daba la casualidad de que yo poseı́a un portátil con estas caracterı́sticas. Tras probarlo
por mi cuenta en mi tiempo libre y ver que me resultaba mas naturales e intuitivo, y tras
consultar con la empresa, no tuvieron objeciones en que cambiará.

13
Caracterı́sticas técnicas:

Sistema Operativo: OS X Yosemite

Procesador: Intel Core i5 2,7GHz

Memoria Ram: 8GB

Disco Duro: 256 GB

Gráficos: Intel Iris Graphics 6100 1536 MB

Recursos humanos:
Como se ha explicado anteriormente la totalidad del proyecto ha sido realizado por una sola
persona. Aunque se ha realizado el trabajo de un Ingeniero Informático y de un Diseñador web.

3.4. Presupuesto
En este apartado vamos a calcular cuál serı́a el coste que la empresa deberı́a haber pagado
por nuestro trabajo. Esto se puede calcular de diferentes formas.
Hemos realizado el cálculo para dos situaciones diferentes: como si fuésemos trabajadores
de la empresa y como si la empresa contratara a otra empresa de informática para el desarrollo
del proyecto.
Para la obtención de los datos nos hemos basado en el Boletı́n Oficial del Estado (BOE) del
miércoles 20 de mayo del año 2015 [6] , con la excepción del coste por hora en empresa externa,
que se ha elegido teniendo en cuenta el coste real de diversas empresas de informática. Este
dato se ha obtenido de preguntar a diferentes empresas locales cuánto pagan por servicios de
informática.
Para los cálculos de la figura 3.1 del coste para la empresa de la Seguridad social del in-
formático, hemos visitado diferentes apartados de la web [9].
Como podemos ver en la imagen 3.1, se calcula por un lado el precio teórico por hora de un
titulado superior según el BOE y se multiplica por las horas de la estancia en prácticas.
Y por otro lado observamos el cálculo teniendo como precio por hora, el obtenido de con-
sultar con diversas empresas de la comunidad y simulando que somos una empresa externa que
nos contratan para el desarrollo del proyecto, teniendo en cuenta el IVA que deberı́a pagar la
empresa.

14
Figura 3.1: Resumen de los costes.

15
3.5. Desarrollo del proyecto
Para poder observar con detalle, el desarrollo del proyecto, y poder ver su evolución lo
más útil es revisar el diagrama de Gantt de la figura 3.3 que refleja la planificación final. Sin
embargo deberemos explicar qué ocurrió durante el desarrollo del proyecto para entender las
modificaciones con respecto a la planificación inicial.
En la siguiente figura 3.2, podemos ver la idea previa que se tenı́a. Estas eran las etapas que
ı́bamos a seguir para el desarrollo del proyecto.
Imprevistos/Incidencias. Para entender por qué no se ha cumplido al pie de la letra lo
preestablecido es necesario resumir todos los problemas encontrados. Los describiremos con más
detalle en capı́tulos posteriores, cuando hablemos del diseño, implementación y desplegado del
portal web.
Una de las primeras ideas de la empresa era que se pudieran realizar algún tipo de compra
en la web. Realmente no querı́an nada muy sofisticado pero sı́ que tuviera esa funcionalidad.
Esto desembocó en un problema, como se explica en el capı́tulo 5 mucho más a fondo. Ya
que trabajamos muchas horas sobre 2 frameworks que al final no nos permitieron añadir esa
funcionalidad que buscábamos: poder realizar ventas on-line.
Otro de los imprevistos fue la curva de aprendizaje tan grande que resultaron tener Django-
cms y Django. Sumado al continuo cambio de estos frameworks en sus diversas versiones, que
hicieron que el proyecto tuviera que ir adaptándose y evolucionando casi al mismo tiempo.
Como consecuencia de todo lo anterior podemos ver que no se han podido realizar las
últimas tareas del primer diagrama de Gantt. La configuración y desarrollo del proyecto se
estimó con una duración muy por debajo del que después resultó ser. En lugar de las 170
horas inicialmente previstas, hemos dedicado más de 200 a la instalación del entorno y la
implementación del portal y el catálogo. Las ausencias más destacadas en las tareas finalmente
desarrolladas son la del “alojamiento al hospedaje seleccionado”, en consecuencia tampoco se
pudo “comprobar y adaptar la web al servidor”. Por último la “realización de un pequeño
manual de administración”. Esto es debido a la limitación del tiempo que tenemos de 300h
asociadas a la estancia. Esto nos obligó a cambiar bastante el plan establecido inicialmente,
haciendo que el diagrama de Gantt definitivo quedará como podemos ver en la figura 3.3.

16
Figura 3.2: Diagrama de Gantt a priori.

17
Figura 3.3: Diagrama de Gantt a posteriori.

18
Capı́tulo 4

Entorno de desarrollo

En este capı́tulo explicaremos por qué hemos elegido cada una de las herramientas utilizadas
para desarrollar el proyecto. Además explicaremos cómo hemos instalado cada una de estas
herramientas.
Como podemos ver, la figura 4.1 nos muestra las relaciones entre las herramientas y las
capas que estas forman.

Figura 4.1: Esquema global del proyecto.

Si dividimos la imagen en escalones, podemos ver que en el inferior, tenemos el hardware


sobre el que se ejecutará la aplicación.
Sobre el hardware tenemos el Sistema operativo. En nuestro caso el proyecto se ha desa-
rrollado sobre un sistema Mac OS X, pero todo el entorno y la aplicación pueden desplegarse
también sobre Linux. En lo referente al sistema operativo decir que la elección de usar Mac
OS resultó ser la mejor opción tras realizar varias pruebas en Windows. Como hemos explicado
anteriormente, el sistema operativo cambió en las primeras semanas del proyecto sin ningún
tipo de problema.

19
En el tercer escalón encontramos el lenguaje de programación y el sistema de gestión de
base datos elegido para desarrollar el portal: Python y PostgreSQL.
El mayor inconveniente que encontramos fue que la totalidad de los manuales de las prin-
cipales herramientas que necesitamos para el desarrollo del proyecto están pensados para ser
implementados en un sistema operativo basado en Unix. Esto nos supuso un gran inconveniente
cuando intentamos trabajar con Windows y fue una de las principales razones por las que se
decidió elegir usar un ordenador con el sistema Mac OS X..
La ventaja fundamental que nos ofrece el Mac OS X es la sencillez de instalar cualquier
software. La mayorı́a se han instalado por lı́nea de órdenes desde el terminal.

Python: Es un lenguaje de programación que permite trabajar con gran rapidez e integrar
sus sistemas con efectividad.

PostgreSQL: Es un sistema de gestión de base de datos relacional, orientado a objetos. Se


utilizó tanto para Django como para Django-cms. Se eligió por ser compatible con Django
y Django-cms y estar muy extendido su uso. Y además es utilizado por estos frameworks
para guardar en tablas todo el contenido y distribución de nuestro proyecto.

En cuanto a la base de datos, tanto django como django-cms, nos ofrece una propia por
defecto, que es SQLite. Por motivos de seguridad decidimos cambiarla por una base de datos
en PostgreSQL. Esto es debido a que nos ofrece una mayor seguridad, su gran popularidad, el
hecho de ser multiplataforma y su facilidad de administración.
La elección de Python fue muy sencilla, Django se basa en Python ası́ que necesitamos
instalarlo. Además al ser un lenguaje de programación que ya dominamos nos encontramos más
seguros al abordar el proyecto. Por otro lado, para los proyectos en Django se aconseja usar
entornos virtuales y Python nos ofrece esto de forma muy sencilla. Con los entornos virtuales,
lo que buscamos es tener nuestro proyecto aislado del resto de software del sistema operativo y
al mismo tiempo tenemos todo el software del proyecto bien identificado con las versiones que
queremos.
En cuanto a la instalación, para Python es tan sencillo como entrar en su web y bajar el
archivo. Arrastramos a la carpeta de Aplicaciones y ya está instalado.
Para el entorno virtual, necesitamos haber instalado previamente Python.
Para la instalación por lı́nea de órdenes usaremos la instrucción “easy install virtualenv”.
Con esto instalado podremos a crear entornos virtuales. Para ello haremos uso del comando
“virtualenv env”. En este caso el nombre elegido es “env” pero podrı́a ser cualquier otro, esto
nos creará un directorio con el nombre que le hemos dado. Dentro nos encontraremos 3 carpetas
que son las que vemos en la figura 4.2.

Figura 4.2: Esquema creado por virtualenv.

20

También podría gustarte