John Manuel Pardo Pedreros
John Manuel Pardo Pedreros
John Manuel Pardo Pedreros
Jurado
Jurado
A nuestro Señor Jesucristo quien permite que nuestros sueños se cumplan a su lado con
sus bendiciones al otorgarnos la oportunidad de vivir, para cumplir nuestras metas.
A mi abuela que desde el cielo celebra que su nieto este culminando un proyecto que
iniciaron juntos.
A mis familiares cercanos que a lo largo de los años me dieron las fuerzas y motivos
suficientes para superarme día tras días para lograr mis metas.
CONTENIDO
Pág.
1. INTRODUCCIÓN ...................................................................................................... 15
2. OBJETIVOS ................................................................................................................ 16
2.1 OBJETIVOS GENERAL ......................................................................................... 16
2.2 OBJETIVOS ESPECÍFICOS .................................................................................. 16
3 PLANTEAMIENTO DEL PROBLEMA ........................................................................... 17
3.1 DESCRIPCIÓN DE LA SITUACIÓN ACTUAL: ....................................................... 17
3.2 JUSTIFICACIÓN .................................................................................................... 17
3.3 ALCANCE DEL PROYECTO ................................................................................. 18
4. MARCO TEÓRICO ...................................................................................................... 19
4.1 TERMINOLOGÍA DE LA APLICACIÓN .................................................................. 19
4.2 COMPONENTES DE SOFTWARE PARA UN SITIO WEB .................................... 21
4.3 TEMATICA DE LA ORGANIZACION...................................................................... 24
5. METODOLOGIA EXTREME PROGRAMING............................................................... 25
5.1 DEFINICION .......................................................................................................... 25
5.2 QUE ES LA PROGRAMACION EXTREMA ............................................................ 25
5.3 VALORES DE LA PROGRAMACION XP ............................................................... 26
5.4 PROCESO DE DESARROLLO .............................................................................. 30
5.4.1 DISEÑO, DESARROLLO Y PRUEBAS ............................................................... 31
6. DESARROLLO DEL PROYECTO................................................................................ 33
6.1 FASE DE ANÁLISIS DEL DESARROLLO DEL PROYECTO ................................. 33
6.1.1 REQUERIMIENTOS DE LA INFORMACIÓN ...................................................... 33
6.1.1.1 Requisitos a nivel Técnico ............................................................................... 34
6.1.1.2 Requisitos a Nivel Operativo ............................................................................ 35
6.1.1.3 Requisitos a nivel Legal.................................................................................... 35
6.1.1.4 Sistema de Usuarios ........................................................................................ 36
6.1.2 MODELAMIENTO DEL SISTEMA ....................................................................... 37
6.2 FASE DE DISEÑO DEL DESARROLLO DEL PROYECTO ............................... 43
6.2.1 ESTRUCTURA DEL SITIO WEB ......................................................................... 43
6.2.2 ESTRUCTURA DE LAS INTERFACES ............................................................... 46
6.2.3 PROTOTIPO DE LAS INTERFACES .................................................................. 48
6.2.4 ALOJAMIENTO ................................................................................................... 54
6.2.5 COMPONENTES Y LICENCIAS ......................................................................... 54
6.2.6 PRUEBAS ........................................................................................................... 54
6.3 FASE DE IMPLEMENTACION Y DESARROLLO DEL DESARROLLO DEL
PROYECTO ................................................................................................................. 55
6.4. IMPLEMENTACION DEL PROYECTO ................................................................. 56
6.4.1 PRUESTA EN MARCHA ..................................................................................... 57
7. CRONOGRAMA ....................................................................................................... 60
CONCLUSIONES ............................................................................................................ 61
RECOMENDACIONES .................................................................................................... 62
BIBLIOGRAFÍA ................................................................................................................ 63
CIBERGRAFIA ................................................................................................................ 64
LISTA DE TABLAS
Pág.
Pág.
Figura 13 Estructura modelo entidad de la base de datos del gestor de contenidos ........ 45
Contenido: Es la sustancia de las páginas web. Es el texto y los gráficos que nos
dan información sobre una página web.
Diseñador Web: Un diseñador web es una persona que diseña la parte visible de
la página web: concepto, imágenes, estilo, etc.
El proyecto realizado en, se basa en una necesidad de una compañía del sector
automotriz; que decide dar un cambio a sus plataformas web actuales, después de
su cambio de marca, de su estructuración de los diferentes procesos internos, un
trabajo realizado en los últimos años que hoy quieren dar a conocer a sus clientes;
nos brinda la oportunidad de realizar la restructuración de estas plataformas, con
el fin de obtener un sitio web más atractivo para sus usuarios, permitiendo que la
marca sea reconocida en la red.
La empresa define dar fuerza a este proyecto asignando un recurso quien será el
comunicador entre la organización y el estudiante, fue tan importante el aporte que
le dio un toque de responsabilidad alto permitiendo que el proyecto tomara un
rumbo; con el objetivo de culminar el propósito inicial del cambio de sitio web. En
la etapa inicial se da el acercamiento entre las partes involucradas para definir el
objetivo principal y su alcance. Definiendo las responsabilidades y estableciendo
un cronograma de seguimiento de las actividades del proyecto.
15
2. OBJETIVOS
Diseñar e implementar un sitio web haciendo uso de las herramientas CMS que
existen actualmente; otorgando una evolución al portal actual, con el fin de
publicar la información de la organización de sus servicios y productos; esta debe
ser sencilla, fácil de explorar, contenido íntegro, ambiente amigable para los
usuarios.
16
3 PLANTEAMIENTO DEL PROBLEMA
Los sitios web corporativos actuales están basados en páginas HTML con
información obsoleta, no gestionados por personal idóneo o con conocimientos
suficientes para administrarlos. La estructura actual se basa en un sitio propio bajo
el dominio maqui-cardan.com que no está administrado actualmente.
3.2 JUSTIFICACIÓN
El proyecto le permitiría mejorar su imagen ante sus clientes, dar a conocer los
productos, servicios y valores agregados que pueden brindar a los nuevos
clientes, impulsando de forma eficiente una credibilidad de sus años de
experiencia en el sector automotriz, Mejorando las plataformas actuales con las
que es conocido actualmente en el mundo de la Internet. También se busca
mejorar la herramienta tecnológica la cual mejorara la comunicación de la
empresa con sus clientes.
17
Es pertinente reconocer que el proyecto le ahorra tiempo y recursos, ya que
actualmente no tienen un área que se encargue del desarrollo de las nuevas
tecnologías que la impulsen al medio de competición en el mercado haciendo uso
de la Internet y sus beneficios; de esta forma este proyecto se convertirá en un
inicio del cambio de las comunicaciones y representación de imagen al gremio
desde el punto de vista tecnológico a través de la red.
18
4. MARCO TEÓRICO
Todos los sitios web públicos conforman una gigantesca World Wide Web de
información de cualquier tipo de interés para cualquier persona.
Los sitios web están escritos en HTML (Hyper Text Markup Language), o
dinámicamente convertidos a éste y se acceden usando un software llamado
navegador web, también conocido como un cliente HTTP. Los sitios web pueden
ser visualizados o accedidos desde un abanico de dispositivos con disponibilidad
de Internet como computadoras personales, computadores portátiles y teléfonos
móviles. Los sitios web están alojados en unos servidores web, también llamada
servidor HTTP.
La mayoría de los sitios web implementados usa un servidor web como el Apache,
quien es un programa usado comúnmente como servidor web como lo es el
internet Information Services (IIS) de Microsoft.
El sitio web estático es uno que tiene contenido que no se espera que cambie
frecuentemente y se mantiene manualmente por alguna persona o personas que
19
usan algún tipo de programa editor. Los programas editores generalmente usados
son: Un editor de texto como Notepad, donde el HTML se manipula directamente
en el programa editor o Editores como por FrontPage y Adobe Dreamweaver,
donde el sitio se edita usando una interfaz GUI y el HTML subyacente se genera
automáticamente con el programa editor.
World Wide Web (WWW) red mundial; telaraña mundial. Es la parte multimedia
de Internet. Es decir, los recursos creados en HTML y sus derivados. Sistema de
información global desarrollado en 1990 por Robert Cailliau y Tim Berners-Lee en
el CERN (Consejo Europeo para la Investigación Nuclear). Con la incorporación
de recursos gráficos e hipertextos, fue la base para la explosiva popularización de
Internet a partir de 1993.2
20
En 2002 comienzan a aparecer sitios web promocionando las redes de círculos de
amigos en línea cuando el término se empleaba para describir las relaciones en
las comunidades virtuales, y se hizo popular en 2003 con la llegada de sitios tales
como MySpace o Xing. Hay más de 200 sitios de redes sociales, aunque
Friendster ha sido uno de los que mejor ha sabido emplear la técnica del círculo
de amigos.[cita requerida] La popularidad de estos sitios creció rápidamente y
grandes compañías han entrado en el espacio de las redes sociales en Internet.
Por ejemplo, Google lanzó Orkut el 22 de enero de 2004. Otros buscadores como
KaZaZZ! y Yahoo crearon redes sociales en 2005.3
Para lograr la implementación del proyecto del sitio Web es fundamental conocer
las herramientas que se usaran en el desarrollo del proyecto, sus
funcionabilidades, ventajas y desventajas.
Multiplataforma.
3
(http://es.wikipedia.org/wiki/Red_social)
4
(http://www.mcgraw-hill.es/bcv/guide/capitulo/8448148797.pdf)
21
Modular: Puede ser adaptado a diferentes entornos y necesidades, con los
diferentes módulos de apoyo que proporciona, y con la API de
programación de módulos, para el desarrollo de módulos específicos.
Extensible: gracias a ser modular se han desarrollado diversas extensiones
entre las que destaca PHP, un lenguaje de programación del lado del
servidor.5
Cuando se utiliza el CMS de Joomla! para los proyectos, o de hecho cualquier otro
CMS, pues todos utilizan los mismos lenguajes de programación, hay tres
lenguajes de programación que se deben conocer:
Hay otros lenguajes de programación que suelen utilizarse en casi todas las
plantillas de Joomla! y en las extensiones como es JavaScript, o la librería jQuery,
etc. Pero de momento no es imprescindible aprenderlas, tan solo saber que
existen, se sorprenderá de las cosas increíbles que se pueden realizar en un sitio
web con tan solo saber lo básico en programación web.6
5
(https://es.opensuse.org)
6
(https://es.opensuse.org)
7
(http://www.joomlaspanish.org/noticias)
22
CSS (Cascading Style Sheets) Es el lenguaje utilizado para decirle al navegador cómo
mostrar ese contenido. En otras palabras es lo que le da formato al HTML.
Una hoja de estilo se compone de una lista de reglas. Cada regla o conjunto de
reglas consiste en uno o más selectores y un bloque de declaración (o «bloque de
estilo») con los estilos a aplicar para los elementos del documento que cumplan
con el selector que les precede. Cada bloque de estilos se definen entre llaves, y
está formado por una o varias declaraciones de estilo.
Las páginas de un sitio web, o los elementos que contienen estas páginas,
normalmente necesitan tengan un estilo común: un mismo tamaño y color de
fuente en los titulares, un mismo estilo decorativo en las cajas de texto, un mismo
estilo de fuente en los párrafos que van situados dentro de esas cajas, etc... La
ventaja que ofrece el trabajar con CSS es que estos estilos están definidos en un
solo sitio, por lo que cuando cambias el estilo, cambia en todos los sitios que
tienen este.8
8
(http://www.joomlaspanish.org/noticias)
9
(http://www.joomlaspanish.org/noticias)
10
(http://yootheme.com/widgetkit/documentation)
23
4.3 TEMATICA DE LA ORGANIZACION
24
5. METODOLOGIA EXTREME PROGRAMING
5.1 DEFINICION
25
Con sus teorías ha conseguido el respaldo de gran parte de la industria del
software y el rechazo de otra parte. La programación extrema se basa en la
simplicidad, la comunicación y el reciclado continuo de código, para algunos no es
más que aplicar una pura lógica.
Para ello se deben elegir adecuadamente los nombres de las variables, métodos y
clases. Los nombres largos no decrementan la Eficiencia del código ni el tiempo
de desarrollo gracias a las herramientas de autocompletado y refactorización que
existen actualmente.
Las Pruebas Unitarias son otra forma de comunicación ya que describen el diseño
de las clases y los métodos al mostrar ejemplos concretos de cómo utilizar su
funcionalidad. Los programadores se comunican constantemente gracias a la
programación por parejas. La comunicación con el cliente es fluida ya que el
cliente forma parte del equipo de desarrollo. El cliente decide qué características
tienen prioridad y siempre debe estar disponible para solucionar dudas.
26
Retroalimentación feedback: Al estar el cliente integrado en el Proyecto, su
opinión sobre el estado del proyecto se conoce en tiempo real. Al realizarse ciclos
muy cortos tras los cuales se muestran resultados, se minimiza el tener que
rehacer partes que no cumplen con los requisitos y ayuda a los programadores a
centrarse en lo que es más importante. Considérense los problemas que derivan
de tener ciclos muy largos. Meses de trabajo pueden tirarse por la borda debido a
cambios en los criterios del cliente o malentendidos por parte del equipo de
desarrollo. El código también es una fuente de retroalimentación gracias a las
Herramientas de desarrollo.
Coraje: Los puntos anteriores parecen tener sentido común, entonces, ¿por qué
coraje? Para los gerentes la programación en parejas puede ser difícil de aceptar,
porque les parece como si la productividad se fuese a reducir a la mitad ya que
solo la mitad de los programadores está escribiendo código.
Hay que ser valiente para confiar en que la programación por parejas beneficia la
calidad del código sin repercutir negativamente en la productividad. La simplicidad
es uno de los principios más difíciles de adoptar. Se requiere coraje para
implementar las características que el cliente quiere ahora sin caer en la tentación
de optar por un enfoque más flexible que permita futuras modificaciones. No se
debe emprender el desarrollo de grandes marcos de trabajo (frameworks)
mientras el cliente espera.
En ese tiempo el cliente no recibe noticias sobre los avances del proyecto y el
equipo de desarrollo no recibe retroalimentación para saber si va en la dirección
correcta. La forma de construir marcos de trabajo es mediante la refactorización
del código en sucesivas aproximaciones.11
Las actividades del marco de trabajo para la ingeniería Web se aplican empleando
un flujo de proceso incremental.
11
(Beck, 1999)
27
c. Modelado: las labores convencionales de análisis y diseño de ingeniería de
software se adaptan al desarrollo de la WebApp, se mezclan y luego se
funden en la actividad de modelado.
El desarrollo de un proyecto web son los modelos de procesos ágiles, ya que las
WebApp suelen tener actualizaciones constantemente, por lo que el proceso debe
12
(Pressman, 2006)
28
tener ciclos de desarrollo cortos. Y antes de definir un marco de trabajo para el
proceso de las WebApp, se tienen que considerar los siguientes tres puntos:
13
(Pressman, 2006)
29
Re-fabricación: se basa en la reutilización de código, para lo cual se crean
patrones o modelos estándares, siendo más flexible al cambio.
La programación extrema parte del caso habitual de una compañía que desarrolla
software, normalmente a medida, en la que hay diferentes roles: un equipo de
gestión (o diseño), uno de desarrollo y los clientes finales. La relación entre el
equipo de diseño, los que desarrollan el software y clientes es totalmente diferente
al que se ha producido en las metodologías tradicionales, que se basaba en una
fase de captura de los requisitos previa al desarrollo, y de una fase de validación
posterior al mismo.
30
En la segunda fase, el cliente cogerá las primeras historias a implementar y las
dividirá en trabajos a realizar.
El cliente también participa, pero hay más peso por parte del equipo de
desarrolladores, esto dará como resultado una planificación más exacta. Se exige
que sea el cliente el encargado de escribir los documentos con las
especificaciones de lo que realmente quiere, como un documento de requisitos de
usuario. En esta fase, el equipo técnico será el 'encargado de catalogar las
historias del cliente y asignarles una duración. La norma es que cada historia de
usuario tiene que poder ser realizable en un espacio entre una y tres semanas de
programación. Las que requieran menos tiempo serán agrupadas, y las que
necesiten más serán modificadas o divididas.
Cada vez que se quiere implementar una parte de código, en XP, se tiene que
escribir una prueba sencilla, y después escribir el código para que la pase.
14
(Wells, s.f.)
31
Figura 4 Procedimientos metodología XP15
15
(Wells, s.f.)
32
6. DESARROLLO DEL PROYECTO
Consultor Externo
El análisis del sitio actual, llevaron a realizar algunas reuniones con las personas
involucradas en el proyecto, asignados por el cliente. Lo cual permitió identificar
los requisitos para el rediseño del sitio web corporativo.
33
6.1.1.1 Requisitos a nivel Técnico
Arquitectura:
El nuevo sitio debe ser compatible con las principales plataformas de
navegación de Internet, tales como google Chrome, Mozilla Firefox, Internet
Explorer de Microsoft.
Los contenidos de la web serán almacenados en un sistema gestor de
bases de datos relacional.
La información de los formularios que correspondan a listas de selección
deben ser parametrizados y administrables.
Backup:
Seguridad:
De manera tal que un perfil dado tiene acceso a la ejecución o no de cada función
de la aplicación.
Estándares:
34
Bases de Datos:
Para que el software de Código Abierto Joomla funcione correctamente, es
necesario configurar una Base de Datos MySQL donde se establecerá los
siguientes requerimientos para su implementación.
El Nombre del Host de la base de datos depende del modo en que el proveedor
del hosting haya configurado MySQL. El nombre será ‘localhost’, si la base de
datos está instalada en el mismo servidor que el sitio web.
16
(http://ayuda.joomlaspanish.org/, s.f.)
35
6.1.1.4 Sistema de Usuarios
Manager: Un mánager puede ser visto como un supervisor con acceso al panel de
administración del Back-end. El mánager tiene acceso, en el panel del
administrador, a todos los controles asociados al contenido, pero no tiene
capacidad para cambiar las plantillas, alterar el diseño de las páginas, o añadir o
eliminar extensiones de Joomla. Los mánager tampoco tienen autoridad para
añadir usuarios o alterar los perfiles de usuarios existentes.
17
(http://ayuda.joomlaspanish.org/, s.f.)
36
6.1.2 MODELAMIENTO DEL SISTEMA
Los diagramas de casos de uso nos permiten diferenciar los actores que
interactúan con nuestra página, las relaciones entre ellos y las acciones que
puede realizar cada uno dentro del sistema.18
18
(Jacobson, 1992)
37
Flujo Principal: Eventos ACTOR Eventos SITIO WEB
1. Consulta de módulos a la 1.Muestra en pantalla la misión,
información corporativa. visión, política de calidad y sus
valores agregados
1.2. Muestra la información de
los productos y servicios que
ofrece la organización.
1.3. Muestra la ubicación de
sus sedes y números de
contactos.
2. Activa función de registro de 2. Muestra pantalla de registro
usuario de datos para obtener más
información de alguno de los
productos y servicios.
3. Realiza registro de datos del 3. Muestra pantalla de Registro
usuario y confirmación si los datos
fueron correctamente
registrados
4. Almacenar los datos 4. El Sistema Confirma el
registrados. Almacenamiento Datos
38
actualizaciones del sistema y
vulnerabilidades detectadas.
2. Modificación de información 2. Muestra el gestor de menús
publicada y de artículos configurados en
el gestor de contenidos.
3. Gestor de archivos 3. Muestra el gestor de
Fotográficos multimedia para modificar,
eliminar e implementar la
información gráfica (fotos).
4.Gestor de los datos 4. Muestra el panel de control
de la base de datos del sitio,
donde se realiza el
mantenimiento, modificaciones,
eliminación, actualización y las
copias de seguridad.
39
productos y servicios.
40
correctamente registrados
4. Almacenar los datos 4. El Sistema Confirma el
registrados. Almacenamiento Datos
41
registrados. Almacenamiento Datos
42
Nota: EL propósito principal de los casos de uso es comunicar la funcionabilidad
del sistema, como el comportamiento ante los clientes. En conjunto todos los
casos de uso constituyen todas las posibles en la que el sistema puede ser usado.
En si los actores no son parte del sistema, ellos representan los roles que un
sistema pueda tomar.19
En esta fase el objetivo es que los usuarios que visiten el sitio web de la
organización encuentren lo que buscan, de una forma clara, simple y práctica. De
modo que lo visite con más frecuencia. La fase de diseño se compone de:
19
(Modeller)
43
Definición de la estructura configuración php
var $host = Aquí definimos el nombre del servidor generalmente localhost pero en
algunos casos puede ser otro. Comprobarlo en el panel de administración del
servidor.
var $user = Aquí definimos el usuario de la base de datos, hay que comprobar
cuál es en el panel de administración del servidor.
var $db = Aquí se define el nombre de la base de datos. Hay que comprobar cuál
es en el panel de administración del servidor.
var $dbprefix = Aquí se define el prefijo de las tablas Joomla. Para ello debemos
acceder a la base de datos y comprobar cuál es este prefijo (iniciales por las que
comienzan todas las tablas).
var $log_path = Aquí se define la ruta absoluta a la carpeta de informes, hay que
comprobar cuál es en cada servidor.
var $tmp_path = ruta absoluta a la carpeta temporal, hay que comprobar cuál es
en cada servidor.20
20
(http://ayuda.joomlaspanish.org/, s.f.)
44
Modelo de la Base de Datos MySQL en Joomla
45
6.2.2 ESTRUCTURA DE LAS INTERFACES
Interfaces de usuario
46
(Casos de éxito). Noticias (Información de interés usuarios internos y externos) y
Contáctenos (Registro, Consulta de Información detallada).
La estructura del sitio web está compuesta por las interfaces mencionadas
representadas en la siguiente imagen:
47
6.2.3 PROTOTIPO DE LAS INTERFACES
48
En la segunda interfaz denominada “Nosotros”, se incluye un sub menú con tres
ítems en el primero una reseña Histórica de la organización mediante un mensaje
de texto, en el segundo la visión, misión y valores corporativos.
49
En la tercera interfaz denominada “Productos”, se incluye un submenú con dos
ítems, el primero denominado Cardan, donde se muestra un texto con su
definición y sus características.
50
En la cuarta interfaz denominada “Servicios” se incluyen un sub menú con tres
ítems, el primero denominado Nuestros servicios donde se listan los principales
servicios que presta la empresa.
51
En la quinta interfaz de nominada “Clientes” mediante una imagen se presentan
los clientes más representativos de la organización.
52
Una séptima interfaz denominada “Sedes” con un sub menú con cuatro ítems, el
primero con la información y localización de su sede en Fontibón, el segundo con
la información y ubicación de su sede principal en Funza.
53
6.2.4 ALOJAMIENTO
6.2.6 PRUEBAS
Pruebas de implantación
54
Pruebas de aceptación
55
6.4. IMPLEMENTACION DEL PROYECTO
Alojamiento
Figura 27 Hosting
56
Figura 28 Registro del dominio
57
Modo de prueba captura de pantallas del navegador Google Chrome
58
Modo de prueba captura de pantallas del navegador Firefox
59
7. CRONOGRAMA
Por medio de una tabla se muestra el tiempo que tomó el desarrollo cada etapa de
este proyecto del sitio web de Maqui Cardan S.A.S.
60
CONCLUSIONES
Maqui Cardan S.A.S es una empresa colombiana con una trayectoria importante
en el sector automotriz, desde hace unos años viene trabajando sobre su marca,
implementando procesos de calidad dentro de la organización, cambiando de
mentalidad en un gremio difícil, como el sector automotor al momento cambiar su
identidad de taller de barrio al convertirse en una entidad seria y organizada en
sus procesos; por lo cual al incursionar en el mundo de las nuevas tecnologías, se
da la oportunidad de construir un su sitio web permitirá la difusión de los
productos y servicios, donde su ideal es permitir que nuevos clientes se acerquen
y conozcan quienes son, que hace, como lo hacen.
61
RECOMENDACIONES
Describir cada servicio con el fin proporcionar más información a los clientes.
62
BIBLIOGRAFÍA
S., Pressman Roger. (2006). Ingeniería del software Un enfoque práctico, (pág. Pág. 511).
Madrid España: McGraw-Hill.
Ivar Jacobson y otros (1992). Object Oriented Software Engineering. A Use Case Driven
Approach. Addison Wesley.
63
CIBERGRAFIA
64