Sistema para administrar dominios

Anuncio
Con estudios reconocidos ante la
Secretaría de Educación Pública,
Según acuerdo 2004190 de fecha 31 de Marzo de 2004
Sistema para
administrar dominios
Informe de Estadía Empresarial que para obtener el título de
Técnico Superior Universitario en Programación
Presenta:
Alejandro Maliachi Quintana
San Francisco de Campeche, Campeche Agosto de 2011
Con estudios reconocidos ante la
Secretaría de Educación Pública,
Según acuerdo 2004190 de fecha 31 de Marzo de 2004
Sistema para
administrar dominios
Informe de Estadía Empresarial que para obtener el título de
Técnico Superior Universitario en Programación
Presenta:
Alejandro Maliachi Quintana
Asesor Empresarial:
L.S.C.A Hector Loria Mondragón, MGTI
Asesor Académico:
ING. Jonathan Helí Ortiz Arjona, MGTI
San Francisco de Campeche, Campeche Agosto de 2011
CONTENIDO
INTRODUCCIÓN .................................................................................................... 5
RESUMEN ........................................................................................................... 5
ABSTRACT .......................................................................................................... 6
PLANTEAMIENTO DEL PROBLEMA .................................................................. 7
OBJETIVO GENERAL.......................................................................................... 8
OBJETIVOS ESPECÍFICOS ................................................................................ 8
IMPORTANCIA DEL PROYECTO ....................................................................... 8
LIMITACIONES DEL PROYECTO ....................................................................... 9
DELIMITACIONES DEL PROYECTO .................................................................. 9
Espacio físico-geográfico: .......................................................................... 9
Tiempo: ...................................................................................................... 9
Semántica: ................................................................................................. 9
Problemas a resolver: .............................................................................. 10
Recursos: ................................................................................................. 10
JUSTIFICACIÓN ................................................................................................ 10
MARCO REFERENCIAL ....................................................................................... 11
CARACTERIZACIÓN DE LA EMPRESA ........................................................... 11
Nombre de la empresa .................................................................................... 11
Nombre y datos del gerente y jefe directo ....................................................... 11
Logotipo........................................................................................................... 11
Mapa de ubicación .......................................................................................... 11
ESTRUCTURA Y FUNCIONES ......................................................................... 12
Organigrama: .................................................................................................. 12
Descripción del organigrama ........................................................................... 12
1
MISIÓN, VISIÓN Y VALORES .......................................................................... 13
Misión: ............................................................................................................. 13
Visión:.............................................................................................................. 13
Valores: ........................................................................................................... 13
SITUACIÓN ACTUAL Y COMPETENCIA .......................................................... 14
Historia ............................................................................................................ 14
Competencia ...................................................................................................... 14
ANTECEDENTES ................................................................................................. 15
Antecedentes teóricos ........................................................................................ 15
Sitio Web ......................................................................................................... 15
Módulo............................................................................................................. 16
Dominio ........................................................................................................... 17
SQL ................................................................................................................. 18
HTML............................................................................................................... 20
PHP ................................................................................................................. 21
JavaScript........................................................................................................ 22
CakePHP......................................................................................................... 23
JQuery ............................................................................................................. 25
XAMPP ............................................................................................................ 26
Antecedentes prácticos ...................................................................................... 27
Antecedente conceptual ..................................................................................... 27
PROPUESTA DE SOLUCIÓN............................................................................... 28
OBJETIVO GENERAL........................................................................................ 28
OBJETIVOS ESPECÍFICOS .............................................................................. 28
EXPLICACIÓN GENERAL DE LA PROPUESTA ............................................... 28
2
FASES DE LA PROPUESTA ............................................................................. 28
Capacitación.................................................................................................... 28
Análisis ............................................................................................................ 29
Creación .......................................................................................................... 29
Estructuración ................................................................................................. 29
Pre-diseño ....................................................................................................... 29
Funcionalidad y desarrollo............................................................................... 29
Pruebas ........................................................................................................... 29
Diseño ............................................................................................................. 29
Mejoras............................................................................................................ 29
ACTIVIDADES A REALIZAR.............................................................................. 29
POLÍTICAS Y PROCEDIMIENTOS .................................................................... 31
RECURSOS HUMANOS IMPLICADOS ............................................................. 31
Editor de páginas web: ............................................................................. 31
Desarrollador PHP nivel intermedio ......................................................... 31
Framework CakePHP:.............................................................................. 31
COSTOS ............................................................................................................ 31
MATERIALES, INSTRUMENTOS E INSTALACIONES NECESARIAS ............. 31
Instalación del servidor............................................................................. 31
Editor de páginas web .............................................................................. 31
Instalaciones de CakePHP: ...................................................................... 31
Instalación del Datepicker (JQuery): ........................................................ 32
MECANISMOS DE EVALUACIÓN Y SEGUIMIENTO ....................................... 32
Casos de uso .................................................................................................. 32
Flujo de datos .................................................................................................. 33
3
Tablas de entidad relación .............................................................................. 37
SUGERENCIAS PARA LA IMPLEMENTACIÓN ................................................ 37
CONLUSIÓN ......................................................................................................... 38
WEBGRAFÍA ......................................................................................................... 40
ANEXOS ............................................................................................................... 41
4
INTRODUCCIÓN
RESUMEN
El presente documento describe la metodología del proyecto que se escribe
durante la Estadía Empresarial, en el sexto cuatrimestre de la Universidad
Interamericana para el Desarrollo (UNID).
En el presente documento se hace mención del planteamiento del problema, es
decir, el motivo por el cual se desarrolló el proyecto, así como los objetivos que se
ha de lograr en un periodo de doce semanas, especificando los actividades que se
realizaron en el cronograma de actividades, así como las etapas en que se
cumplieron. También hace mención sobre las distintas etapas del desarrollo del
sistema y del nivel de conocimiento requerido para operar y/o modificar el sistema.
Como todo en todo tipo de proyecto, se hace una propuesta de solución a los
problemas que la empresa posee, otorgando así un nuevo punto de vista el cual
podría mejorar la idea principal. Ésta posee sus propios objetivos, tanto generales
como específicos, la explicación y las fases que ésta conlleva.
La documentación muestra de igual manera las secciones o módulos del sistema,
con sus respectivas prioridades, descripción y uso de variables, y la manera en
cómo se relacionan uno con otro por medio de la entidad-relación. También
explica el procedimiento de como el sistema funciona gracias a un diagrama de
flujo resumido.
La Estadía Empresarial se elaboró en la empresa Ti-movil.com S.A de C.V con el
propósito de mejorar el modo administración actual que lleva la empresa por uno
más eficiente, de acceso rápido y con la cual el usuario u operador pueda obtener,
agregar, editar o eliminar datos. De igual manera, contiene información básica de
la empresa, como es: jefe de la empresa, dirección de la empresa, misión, visión y
valores de la empresa, historia y competencia.
5
ABSTRACT
This document describes the project’s methodology that is written for the “Estadía
Empresarial” in the sixth quarter at the “Universidad Interamericana Para el
Desarrollo (UNID).
This document mention the problema statement, that is to say, the reason of why
the proyect was developed and the objectives to be achieved over a period of twlve
weeks, specifying the activities that took place in the schedule and stages that
were met.
Like any type of proyect, is a proposed solution to the problems taht the company
have, giving a new point of view which could improve the idea. It has its own
objectives, both general and specific, teh explanation about the solution and the
phases that come with it.
The document show the same way the sections or modules of the system with their
respective priorities, description and use of variables, and how they are relatedto
each other through the entity-relationship. It also explains the procedure of how the
system Works by using a flowchart summary.
The “Estadía Empresarial” was developed in Ti-movil S.A de C.V company with the
purpouse of improve the way the current adminístration that have the company for
a more efficient, with quick Access and which the user or operator may obtainm
add, edit or delete data. Similarly, contains basic information about the company,
as the company bossm company address, misión, visión, and company values,
history and competition.
6
PLANTEAMIENTO DEL PROBLEMA
Ti-movil.com S.A de C.V de Campeche, Campeche, es una empresa que se
dedica al desarrollo web, aplicaciones para iphone, Ipad, administración de redes
sociales, FanPage de Facebook y venta de dominios.
El principal objetivo de la empresa Ti-movil.com S.A de C.V es de crear sistemas
que puedan mejorar el rendimiento de otras empresas. Sin embargo, como uno de
sus servicios es administración de dominios, la empresa lleva un registro poco
eficiente ya que solo una computadora lleva el registro de todos los dominios.
La forma actual de cómo se lleva el registro es la siguiente: primero la empresa
llama o se contacta con la empresa y éste pide registrar un dominio con cierta
extensión. Se verifica que el dominio y la extensión no existan y se manda un
mensaje de los posibles dominios con sus respectivas extensiones las cuales
puede tomar. El cliente acepta el dominio con la extensión que más le agrade y se
registra esos datos del cliente, con el respectivo dominio, sus extensiones y los
contactos con los que podrá ser comunicado con la empresa.
Cada vez que el personal administrativo o de ventas requiera información,
necesitará usar la máquina que posee el registro, o en su defecto, tener que pasar
la información por algún medio extraíble, tomando en cuenta que en puede existir
más de un sistema operativo, lo cual obliga a tener que convertir diferentes
formatos para poder accesar a la información, lo cual se traduce en pérdida de
tiempo.
Por ello la empresa Ti-movil.com S.A de C.V de Campeche, Campeche promueve
la idea de crear un módulo como parte de un sistema para poder llevar un registro
general de los clientes, de sus contactos y de los dominios que éste requiere.
Entonces podemos preguntar ¿Es viable la implementación de un nuevo módulo
como parte del sistema administrativo de Ti-movil.com S.A de C.V, desarrollado en
7
CakePHP y SQL para administrar eficientemente vía Intranet los registros de
clientes, contactos y dominios de dicha empresa?
OBJETIVO GENERAL
Desarrollar un módulo con tecnología CakePHP y SQL en un período de cuatro
meses, para administrar las ventas y renovaciones de dominio de las empresas
que solicitan el servicio.
OBJETIVOS ESPECÍFICOS

Aprender a usar la plataforma CakePHP, en un período de cuatro semanas
para comprender como se usa la plataforma y llevar a cabo el proyecto.

Analizar y diseñar la base de datos en un período de dos semanas para
almacenar los datos de los clientes, sus respectivos contactos y dominios.

Analizar y desarrollar el módulo en un período de cuatros semanas para
mostrar los datos de los clientes, que serán tomados desde la base de datos y
administrados vía Intranet.

Crear el diseño que llevará el módulo en un período de 3 semanas para poder
tener el sistema completo.
IMPORTANCIA DEL PROYECTO
La empresa Ti-movil.com S.A de C.V trabaja con cuatro sistemas operativos
diferentes, entre ellos: Windows, UNIX, LINUX y MAC. El problema en sí es que
cada vez que haya una nueva venta o renovación de dominio, se tiene que
agregar y editar los clientes, contactos y dominios en la máquina que posee todos
los registros; pero la máquina no está disponible para todo el personal, ya que se
encuentra en uso constante.
Al crear un sistema en forma de intranet, cualquier personal administrativo o de
ventas podrá acceder a determinado registro para poder realizar alguna acción en
8
él, evitando el problema de esperar a que la máquina sea desocupada para poder
realizar algún movimiento.
LIMITACIONES DEL PROYECTO

Desconocimiento del lenguaje CakePHP.

Desconocimiento sobre cómo funciona el sistema.

El tiempo de elaboración para aprender el uso de plataforma de CakePHP.

La empresa Ti-movil.com S.A de C.V posee los recursos económicos como
tecnológicos para poder realizar el proyecto, por el cuál no hay limitaciones
ajenas.
DELIMITACIONES DEL PROYECTO

Espacio físico-geográfico:
o En el área de desarrollo web de la empresa Ti-movil.com S.A de C.V de
San Francisco de Campeche, Campeche.

Tiempo:
o El proyecto está delimitado a 4 meses, duración del 6to Cuatrimestre
(Estadía Empresarial), período de Mayo-Agosto 2011.

Semántica:
o Sitio Web: colección de páginas web relacionadas y comunes a
un dominio de Internet o subdominio en la World Wide Web en Internet.
o Módulo: parte de un programa de un sistema. Realiza ciertas tareas que
un programa o sistema necesita.
o Dominio: red de identificación asociada a un grupo de dispositivos o
equipos conectados a la red Internet.
o SQL: lenguaje declarativo de acceso a bases de datos relacionales que
permite consultar una determinada información que se encuentra en la
misma.
9
o PHP: lenguaje de programación interpretado, diseñado originalmente
para la creación de páginas web dinámicas.
o CakePHP: framework (plataforma) de desarrollo de aplicaciones web
orientado a objetos escrito en PHP, que facilita el desarrollo de
aplicaciones web.

Problemas a resolver:
o Desarrollar un módulo que es parte de un sistema administrativo en
forma de Intranet.

Recursos:
o Computadora con un servidor.
o Programas para el desarrollar sitios web.
o Manuales, tutoriales y video tutoriales para el aprendizaje de CakePHP.
JUSTIFICACIÓN
Puesto que la empresa Ti-movil.com S.A de C.V requiere una forma eficaz y
eficiente de administrar los clientes que requieren un dominio, se pensó en hacer
un sistema vía intranet para poder manejarlo.
Gracias a que el sistema es interno, el personal del área de ventas o de
administración requiera cierta información, podrá acceder al sistema y poder
buscar información que algún cliente o que el administrador necesite en dado
caso.
Ésta manera de poder administrar desde un sistema interno permite dejar el uso
de la hoja de cálculo para poder acceder eficientemente a los datos, sin pérdida de
tiempo, o que cause algún error al tratar de buscar un dato.
10
MARCO REFERENCIAL
CARACTERIZACIÓN DE LA EMPRESA
Nombre de la empresa
Ti-movil.com S.A de C.V
Nombre y datos del gerente y jefe directo
Director General: Héctor Loria Mondragón
[email protected]
www.ti-movil.com
Oficina 01 981 81 1 07 50
Casa 01 981 82 79 49 0
Cel. 9817504872 / 9811525741
Nextel. 1525741
Logotipo
Mapa de ubicación
11
ESTRUCTURA Y FUNCIONES
Organigrama:
Descripción del organigrama

Grupo directivo
o En esta sección se encarga de dirigir todos los procesos

Dirección Hosting y Dominio
o Esta sección se encarga de realizar todos los trámites con los dominios
y hosting que se han contratado

Activación y configuración
o Este departamento se encarga de activar y configurar los dominios y
hosting que ya fueron tramitados o en su caso desactivar los dominios y
hosting (por falta de pago).

Chat Center
o Este departamento se encarga de responder dudas de sus clientes o de
posibles clientes, mediante su página oficial.
12

Dirección de desarrollo de ti.
o Este departamento
se encarga del desarrollo de los diferentes
proyectos que ya fueron autorizados por el grupo directivo.

Asistente.
o Se encarga de administrar los proyectos que son autorizados

Líder del proyecto.
o Es que se encarga de dirigir a su personal y responder por el proyecto
que se le fue asignado.

Arquitecto de software.
o Se encarga de diseñar toda la estructura del proyecto con base a la
información que proporcionó el líder de proyecto.

Administrador de la base de datos.
o Como su nombre lo indica, se encarga de administrar y crear la base de
datos.

Programadores.
o Se encargan de desarrollar tanto como la lógica como lo visual.
MISIÓN, VISIÓN Y VALORES
Misión:
Ser una empresa comprometida con los clientes para brindarles soluciones las
cuales ayuden a obtener la información segura sin importar el momento, lugar o
dispositivo electrónico con el que se cuente.
Visión:
Ser una empresa líder a nivel nacional e internacional de webhosting y desarrollo
de software basado en Internet, desarrollando aplicaciones con calidad certificada.
Valores:

Compromiso

Humildad

Honestidad
13

Puntualidad

Responsabilidad
SITUACIÓN ACTUAL Y COMPETENCIA
Historia
Ti-movil.com S.A. de C.V nace de una fusión de conocimientos de dos personas
las cuales trabajaban de manera independiente, uno en la renta de webhosting y
el otro desarrollando aplicaciones basadas en Internet. Es así como en el 2007 se
dan cuenta que existe una oportunidad de negocio teniendo como base Internet
brindándoles a los clientes soluciones completas sin necesidad de depender de
otros proveedores.
Competencia
Nuestra principal competencia es la empresa ICARUS de Campeche, Campeche,
puesto que, al igual que Ti-movil.com S.A de C.V, es una empresa orientada al
desarrollo de software, sitios web, compra de dominios, y algunos otros servicios
como soporte técnico y reparación de equipos electrónicos.
Es nuestro principal competidor por ser una empresa reconocida por las
prestaciones de servicios que la empresa ofrece a sus clientes, bien explicada,
fácil y sencilla en su sitio web (http://www.grupoicarus.com.mx/).
14
ANTECEDENTES
Antecedentes teóricos
Sitio Web
Un sitio web es un conjunto de páginas web que se relacionan y pertenecen a un
dominio de Internet común, los cuales pueden ser documentos HTML/XHTML los
cuales son accesibles desde los protocolos HTTP de Internet.
Cuando un sitio web se hace público, se vuelve parte de la World Wide Web
(conocido como www) de información, es decir, un gigantesco entramado de
recursos de alcance mundial.
Las páginas de un sitio web pueden ser accedidas a través de un nombre del sitio
(conocido dirección de sitio, o como URL por sus siglas en inglés), y son los que
organizan las páginas en una jerarquía. Es decir, son los que determinan si
pertenecen o no a un mismo dominio.
Existen dos clases de sitio web:

Estático: son aquellos sitios web que tiene contenido que no muestra cambios
frecuentes y es mantenido manualmente por alguna persona o personas que
usan algún tipo de programa editor.

Dinámico: son aquellos sitios web que puede tener cambios frecuentes en la
información, lo que le da “dinamismo” a la página; cada vez que el servidor
web recibe una petición para una determinada página de un sitio web, la pá
página cambia su contenido. Esto hace que la página se genera
automáticamente por el software.
Entre los tipos de sitios web que existen están: los sitios de comercio electrónico,
de comunidad virtual, de desarrollo, de descargas, de juegos, de mensajería, de
búsqueda, de información, de pornografía, de empresas, de educación, portales,
entre otros.
15
Módulo
En informática, un módulo es un pequeño programa que parte de un programa
más complejo, el cual es encargado de realizar una o algunas de las múltiples
tareas que debe realizar un sistema para cumplir con su función u objetivos.
Según ALEGSA, también se puede definir como un software que agrupa un
conjunto de subprogramas y estructuras de datos, unidades que
pueden ser
compiladas por separado y los hace reusables y permite que múltiples
programadores trabajen en diferentes módulos en forma simultánea.
Los módulos promueven la modularidad y el encapsulamiento, pudiendo generar
programas complejos de fácil comprensión.
En general, un módulo recibe como entrada la salida que haya proporcionado otro
módulo o los datos de entrada al sistema y proporcionará una salida que, a su vez,
podrá ser utilizada como entrada de otro módulo o dará lugar a la salida final del
sistema.
Generalmente existe un módulo principal desde donde se partirá, y la salida de
éste puede dar lugar a la entrada de un nuevo módulo, por lo cual están
relacionados.
Cada uno de los módulos de un programa idealmente debería cumplir las
siguientes características:

Tamaño relativamente pequeño: Esto facilita aislar el impacto que pueda tener
la realización de un cambio en el programa, bien para corregir un error, o bien
por rediseño del algoritmo correspondiente.

Independencia modular: al ser independientes, es más fácil y es más flexible
al trabajar con ellos, porque un módulo ya no necesita
conocer detalles
internos de otros módulos; en otras palabras, no dependerían de otro módulo
para poder ejecutarse.
16
Dominio
Un dominio de Internet es una red de identificación asociada a un grupo de
dispositivos o equipos conectados a la red Internet. Es una identificación que
ayuda a distinguir los sitios webs unos de otros.
Un dominio se compone principalmente de tres partes: las tres doble uves (www),
seguido por el nombre de la organización y el tipo de extensión (referente al lugar
de donde se crea o de donde pertenece).
El propósito principal de un dominio y del sistema de nombres de dominio
(conocido como DNS), es traducir las direcciones IP de cada nodo activo en la red,
de manera fácil y flexible para poder acceder a un sitio determinado.
Antiguamente, para acceder a un dominio determinado, se tenía que escribir la IP
para poder acceder (a veces se requería poner una extensión más para accesar a
una página determianda). Es decir, sin el DNS, tendríamos que escribir la IP en la
cual se encuentra el nodo para poder acceder a determinada sitio web.
Cuando se creó el DNS, el espacio de nombres se dividió en dos grandes grupos.
El primero incluye los dominios, basados en los dos caracteres de identificación de
cada territorio de acuerdo a las abreviaciones del ISO-3166. (Ej. *.do, *.mx) y se
denomina ccTLD (Dominio de nivel superior de código de país o Country Code
Top level Domain), los segundos, incluyen un grupo de siete dominios de primer
nivel genéricos, (gTLD), que representan una serie de nombres y multiorganizaciones: GOV, EDU, COM, MIL, ORG, NET e INT.
Los tipos de organización más comunes son .COM, .NET, .MIL, y .ORG, que se
refieren a comercial, network, militar, y organización (originalmente sin ánimo de
lucro, aunque ahora cualquier persona puede registrar un dominio .org).
El crecimiento de Internet ha implicado la creación de nuevos dominios gTLD. A
junio de 2009, existen 20 gTLD y 248 ccTLD.
17
SQL
El lenguaje de consulta estructurado (conocido por sus siglas en inglés como SQL)
es un lenguaje de acceso y consulta a bases de datos relacionales que permite
especificar diversos tipos de operaciones en éstas. Una de sus características es
el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el
fin de recuperar información de interés de una base de datos, así como también
hacer cambios sobre ella.
En el lenguaje de programación de SQL maneja dos tipos de lenguaje:

El lenguaje de definición de datos (DDL), que se encarga de la modificación de
la estructura de los objetos de la base de datos.

El lenguaje de manipulación de datos (DML) es la encargada de llevar a cabo
las tareas de consulta o manipulación de los datos, organizados por el modelo
de datos adecuado.
En el DDL existen cuatro operaciones básicas:

Create: Este comando crea un objeto dentro de la base de datos, como una
tabla en la base de datos.

Alter: Este comando permite modificar la estructura de un objeto. Se pueden
agregar/quitar campos a una tabla, modificar el tipo de un campo,
agregar/quitar índices a una tabla, modificar un trigger, etc.

Drop: Este comando elimina un objeto de la base de datos. Puede ser una
tabla, vista, índice, trigger, función, procedimiento o cualquier otro objeto que el
motor de la base de datos soporte. Se puede combinar con la sentencia
ALTER.

TRUNCATE: Este comando trunca todo el contenido de una tabla. La ventaja
sobre el comando DROP, es que si se quiere borrar todo el contenido de la
tabla, es mucho más rápido, especialmente si la tabla es muy grande. La
desventaja es que TRUNCATE sólo sirve cuando se quiere eliminar
absolutamente todos los registros, ya que no se permite la cláusula WHERE. Si
bien, en un principio, esta sentencia parecería ser DML (Lenguaje de
Manipulación de Datos), es en realidad una DDL, ya que internamente, el
18
comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta ninguna
transacción.
En el DML existen 3 operaciones básicas:

Insert: Una sentencia INSERT de SQL agrega uno o más registros a una (y
sólo una) tabla en una base de datos relacional. Las cantidades de columnas y
valores deben ser iguales. Si una columna no se especifica, le será asignado el
valor por omisión.

Update: Una sentencia UPDATE de SQL es utilizada para modificar los valores
de un conjunto de registros existentes en una tabla.

Delete: Una sentencia DELETE de SQL borra uno o más registros existentes
en una tabla.
Existe una gran gama de sentencias que el usuario puede usar para manipular los
datos, o para hacer referencia a ciertos datos. Existe una sentencia la cual crea
una tabla temporal que está conformada por filas y columnas con información útil
que una persona quiere saber. Es decir, con base a que información la persona
quiere, se crea una tabla temporal con los datos que se pidieron. Esta sentencia
se llama SELECT y ésta trabaja con otras dos (no obligatoriamente) las cuales son
FROM y WHERE.
La sentencia SELECT designa a que información se quiere consultar. Esta
sentencia debe estar bien definida para dar la información deseada. Para
especificar qué tipo de información, se usan sentencias.
La sentencia FROM denomina en que tabla de la base de datos se buscará la
información. Formas más avanzadas de pedir una información puede requerir
hasta dos o más tablas de base de datos.
La sentencia WHERE denomina que una columna de alguna tabla de la base de
datos debe ser igual, diferente, menor o mayor que el dato dado. No siempre se
usa esta sentencia, pero ayuda mucho para especificar qué datos se requieren.
19
HTML
HTML (del acrónimo HyperText Markup Language) es el lenguaje usado para la
creación de páginas web. HTML es más usado para la estructuración y contenido
de la página, es decir, de cómo se verá la página y que es lo que contendrá.
Los marcadores o etiquetas HTML constan de los elementos. Los elementos son
aquellas que se escriben escribe en forma de etiquetas, rodeadas por corchetes
angulares (<,>);
generalmente, los elementos tienen una etiqueta de inicio
(<nombre-elemento>) y una etiqueta de final (</nombre-elemento).
Los elementos son la estructura básica de HTML y, generalmente, poseen dos
propiedades: atributos y contenido. Los atributos de un elemento son pares
nombre-valor, separados por un signo de igual, el cual se le asigna un valor
(<etiqueta atributo=”valor”>). El contenido va entre las etiquetas de inicio y de final
(<etiqueta atributo=”valor”>contenido de la etiqueta</etiqueta>).
Entre las etiquetas que se necesitan para crear una página web se encuentran:

<html>: define el inicio del documento HTML, indicando al navegador que lo
que viene a continuación debe ser interpretado como código HTML.

<head>: define la cabecera del documento HTML.
o <title>: define el título de la página.
o <link>: para vincular las hojas de sitio o iconos.
o <style>: para colocar el estilo interno de la página.

<body>: Contiene el código principal de la página, es decir, el código que
estructurará la página, así como fuente, imágenes, fondo, tablas, divisiones,
listas, presentaciones de texto, entre otros.
La mayoría de etiquetas deben cerrarse como se abren, pero con una barra /
(ejemplo de esto es: <etiqueta>Contenido</etiqueta>).
El lenguaje HTML puede ser creado-editado con cualquier editor de textos básico,
como el block de notas, pero el más recomendado es Dreamweaver.
20
PHP
PHP (del acrónimo Hypertext Pre-processor ) es un lenguaje de programación
interpretado, diseñado para la creación de páginas web dinámicas, así como para
retomar información de una página web o módulos de un sistema a otro dentro del
mismo. Antiguamente, era usado para la interpretación del lado del servidor
(server-side scripting); actualmente, puede ser utilizado desde una interfaz de
línea de comandos
Raqsmus Lerdorf fue el creador principal de PHP, pero fue producida por The
PHP Group y sirve como el estándar de facto para PHP al no haber una
especificación formal. Puede ser ejecutado y usado en la mayoría de los
servidores web y en casi todos los sistemas operativos y plataformas, tales como
Unix (y de ese tipo, como Linux o Mac OS X) y Microsoft Windows.
Para que PHP funcione necesita un servidor. XAMPP es el servidor que
generalmente se usa para Windows, pues es independiente de plataforma,
software libre, que consiste principalmente en la base de datos MySQL, el servidor
Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre
proviene del acrónimo de X (para cualquiera de los diferentes sistemas
operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia
GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar
páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows,
GNU/Linux, Solaris, y MacOS X.
PHP trabaja de esta forma: Cuando el cliente hace una petición al servidor para
que le envíe una página web, el servidor ejecuta el intérprete de PHP y procesa la
petición del usuario, el cual generará el contenido de manera dinámica (por
ejemplo obteniendo información de una base de datos). El resultado es enviado
por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante
extensiones es también posible la generación de archivos PDF, Flash, así como
imágenes en diferentes formatos.
21
JavaScript
JavaScript es un lenguaje de programación interpretado, o sea que no requiere
compilación, y está generalmente orientado a objetos, basado en prototipos, pues
las nuevas clases se generan clonando las clases base (prototipos) y extendiendo
sus funcionalidades. Su uso en aplicaciones externas a la web, por ejemplo en
documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es
también significativo.
Fue creado por Brendan Eich en Netscape, apareciendo por primera vez en el
navegador Netscape Navigator 2.0. Inicialmente se llamó Mocha, luego LiveScript
y finalmente JavaScript en un anuncio conjunto entre Sun Microsystems
(creadores de JAVA) y Netscape el 4 de diciembre de 1995.
El JavaScript se utiliza en lado del cliente (client-side), el cual se implementa como
parte de un navegador web permitiendo mejoras en el manejo e interfaz del
usuario sobre páginas web dinámicas, Actualmente, se usa también en el lado del
servidor.
JavaScript se diseñó con base al lenguaje de C, al igual que adopta nombres y
convenciones de programación Java. Aunque Java y JavaScript poseen ciertas
características, suelen ser muy diferentes, sobre todo en su uso.
Todos los navegadores modernos interpretan el código JavaScript integrado en las
páginas web. Para interactuar con una página web se provee al lenguaje
JavaScript de una implementación del Document Object Model (DOM).
Con JavaScript se pueden extender las posibilidades de las páginas web como por
ejemplo, evitar que se pueda copiar el texto de una página, botones para agregar
automáticamente una página a favoritos, crear barras de scroll, abrir popups,
cambiar el puntero del mouse, rotar banners, validar formularios, etc.
22
CakePHP
En 2005, Michal Tatarynowicz escribió una mínima versión de un Framework
Rápido para Aplicaciones en PHP. El encontró que ese fue el principio de un muy
buen framework. Michal publico el framework bajo la licencia MIT, mezclando
Cake, y abriéndose a una comunidad de desarrolladores, quienes ahora
mantienen Cake bajo el nombre CakePHP.
CakePHP es un framework de desarrollo de aplicaciones web escrito en PHP,
creado sobre los conceptos de Ruby on Rails. Es un marco de trabajo que facilita
el desarrollo de aplicaciones web, utilizando el patrón de diseño MVC (ModeloVista-Controlador).
Es de código abierto y está desarrollado en PHP con programación orientada a
objetos. Se trata de una estructura que sirve de base a los programadores para
que éstos puedan crear aplicaciones Web. Lo que hace a CakePHP una gran
herramienta es que se enfoca a lo que verdaderamente importa: la lógica de la
aplicación.
CakePHP tiene varias características que lo hacen una gran opción como un
framework para desarrollo de aplicaciones rápidas y con el menor costo de
molestia, como son:

Comunidad activa y amigable.

Licencia flexible.

Compatibilidad con PHP4 y PHP5.

CRUD integrado para la interacción con la base de datos y las preguntas
simplificadas.

Scaffolding.

Arquitectura Modelo Vista Controlador (MVC).

Despachador de peticiones con buena vista, URL personalizadas.

Validación incorporada.

Plantillas rápidas y flexibles (Sintaxis PHP, con Helpers).
23

Helpers en Vistas para AJAX, Javascript, Formularios HTML y más.

Seguridad, Sesiones y Componentes para Manejo de Peticiones.

Lista de Control y Acceso flexible.

Desinfección de datos.

Cache flexible en Vistas.

Trabaja desde cualquier subdirectorio web del sitio, con poca o ninguna
configuración de apache envuelta.
Las aplicaciones CakePHP bien escritas siguen el patrón de diseño de software
MVC (Modelo-Vista-Controlador). Programar utilizando MVC consiste en separar
la aplicación en tres partes principales. Modelo-Vista-Controlador es un patrón
para diseño de software que ayuda a separar lógicamente el código haciéndolo
reusable, mantenible y generalmente mejor. El modelo representa los datos de la
aplicación, la vista hace una presentación del modelo de datos, y el controlador
maneja y enruta las peticiones [requests] hechas por los usuarios.
En términos de Cake, El modelo (“Model”) representa una base de datos, tabla o
registro, así como sus relaciones con otras tablas o registros. Los Modelos
(“Models”) contienen las reglas para la validación de datos. Estas reglas son
aplicadas cuando en el modelo se insertan o actualizan datos. Las vistas en cake
están representadas por los archivos “view”, los cuales son archivos de HTML con
código PHP incluido.
Los controladores (“controllers”) de Cake manejan las peticiones del servidor.
Toma las entradas del usuario (URL y datos de POST), aplica la lógica de
negocios, utilizar los modelos (“models”) para leer y escribir en base de datos y
otras rutas, y manda la salida apropiada de datos con los archivos de vistas
(“view”).
Cake usa este patrón no solo para manejar cómo interactúan los objetos dentro de
la aplicación, sino también como son almacenados los archivos, lo cual se detalla
a continuación.
24
JQuery
JQuery es un framework o conjunto de librerías de JavaScript, creado por John
Resig, que permite simplificar la manera de interactuar con los documentos HTML,
manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar
interacción con la técnica AJAX a páginas web. Ofrece una múltiple gama de
funcionalidades basadas en JavaScript que de otra manera requerirían de mucho
más código, es decir, con las funciones propias de esta biblioteca se logran
grandes resultados en menos tiempo y espacio.
Entre las características que posee el JQuery, los principales son:

Selección de elementos DOM.

Interactividad y modificaciones del árbol DOM.

Eventos.

Manipulación de la hoja de estilos CSS.

Efectos y animaciones.

Animaciones personalizadas.

AJAX.

Soporta extensiones.

Utilidades varias como:
o
Obtener información del navegador.
o
Operar con objetos y vectores,
o
Funciones como trim() (elimina los espacios en blanco del principio y
final de una cadena de caracteres).

Compatible con navegadores como:
o
Mozilla Firefox
o
Internet Explorer
o
Google Chrome
La forma de interactuar con la página es mediante la función $(), un alias de
jQuery(), que recibe como parámetro una expresión CSS o el nombre de una
etiqueta HTML y devuelve todos los nodos (elementos) que concuerden con la
expresión.
25
XAMPP
XAMPP es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de dato MySQL, el servidor web Apache y los
intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo
de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL,
PHP, Perl.
El programa está liberado bajo la licencia GNU y actúa como un servidor web libre,
fácil de usar y capaz de interpretar páginas dinámicas. Lo que realmente hace
especial a XAMPP es que tiene distribuciones para distintos sistemas operativos:
Linux, Windows, Mac OS X y Solaris. Así que podemos utilizarlo casi en cualquier
sistema operativo que podamos tener. Actualmente XAMPP está disponible para
Microsoft Windows, GNU/Linux, Solaris y MacOS X.
XAMPP se actualiza regularmente para incorporar las últimas versiones de
Apache/MySQL/PHP y Perl. También incluye otros módulos como OpenSSL y
phpMyAdmin. Para instalar XAMPP se requiere solamente una pequeña fracción
del tiempo necesario para descargar y configurar los programas por separado.
Oficialmente, los diseñadores de XAMPP sólo pretendían su uso como una
herramienta de desarrollo, para permitir a los diseñadores de sitios webs y
programadores testear su trabajo en sus propios ordenadores sin ningún acceso a
Internet. En la práctica, sin embargo, XAMPP es utilizado actualmente como
servidor de sitios Web, ya que, con algunas modificaciones, es generalmente lo
suficientemente seguro para serlo. Con el paquete se incluye una herramienta
especial para proteger fácilmente las partes más importantes.
XAMPP es un paquete extremadamente útil para los desarrolladores web, puede
utilizarse para crear servidores locales (o de acceso remoto en dado caso) y
probar páginas, como para crear servidores Web completos y accesibles a todos
vía Internet.
26
Antecedentes prácticos
Una de los sistemas el cual posee un parecido con este proyecto es el la Tienda
Virtual, creado como tarea/proyecto en la clase de Mercado Laboral en 5to
cuatrismestre en la UNID sede Campeche. El sistema trabajaba con un servidor
(XAMPP), y usaba lenguaje de PHP y SQL y fue desarrollado por el editor
Dreamweaver.
El sistema es una Tienda Virtual el cual se accede con un pequeño login para
autentificar al usuario y quien lo manejará. Una vez autentificado, se redirecciona
a un módulo que mostraba los clientes con sus respectivos datos, al igual que
sucursales, productos que han subido los proveedores. Un proveedor podía
agregar productos, junto con las sucursales, para que algún cliente lo pudiera
comprar.
El sistema cuenta con una sección de búsqueda para obtener aquella información
que se requiera, sea cliente, producto. Después de encontrar la información
especificada, se podía editar o eliminar aquella información. En el módulo de
venta, un cliente podía agregar un producto y la cantidad del mismo sobre una
tabla que va tomando forma de factura, creando el importe, el subtotal, IVA y el
total de todo el costo. Una vez aceptado la factura, se guardaba en la base de
datos para recrear el momento en que algún usuario especifique una compra.
El sistema no era ejecutado de forma
real, es decir, no trabajaba como una
Tienda Virtual real; sino el sistema fue una manera de comprender el uso de
manejo de la base de datos, la relación entre ellas, la lógica de ventas y detalle de
la misma, el uso del código PHP con el lenguaje SQL para poder crear sistemas
completos y eficaces par aun proyecto próximo.
Antecedente conceptual
EL proyecto se elabora en las instalaciones de Ti-movil.com S.A de C.V, en
avenida gobernadores entre 47 y 49 (calle Colombia).
27
PROPUESTA DE SOLUCIÓN
OBJETIVO GENERAL
Elaborar una metodología de desarrollo de un módulo que solucione y simplifique
la falta de administración de dominios web de Ti-movil.com S.A de C.V. en un
periodo de 4 meses.
OBJETIVOS ESPECÍFICOS

Capacitarse en el lenguaje y uso de la plataforma de CakePHP para su
integración en el módulo en un periodo de 2 semanas.

Analizar y desarrollar la logística del guardado, edición y eliminación de
campos de la base de datos, usando el lenguaje de la plataforma de CakePHP
en un periodo de 4 semanas.

Analizar y desarrollar la logística para el guardado de múltiples extensiones de
dominios en un periodo de 1 semana.

Analizar y desarrollar la logística de autentificación de usuarios, así como los
permisos para cada tipo de usuarios en un periodo de 3 semanas.

Implementación del JQuery para facilidad y dinamismo del sistema en un
periodo de 1 semana.
EXPLICACIÓN GENERAL DE LA PROPUESTA
Para el desarrollo del módulo de administración de dominios de Ti-Móvil.com S.A
de C.V, se ha tenido en cuenta temas clave de base de datos y parte de JQuery,
así como principios básicos de Ingeniería de Software. Consistirá primordialmente
en el desarrollo de un módulo mediante el lenguaje PHP por medio del framework
CakePHP e implementando bases de datos con consultas SQL.
FASES DE LA PROPUESTA
Capacitación

Aprender a usar la plataforma CakePHP en un periodo de 2 semanas.
28
Análisis

Analizar la estructura que llevara la base de datos para su uso en el módulo en
un periodo de 1 semana.
Creación

Desarrollar la base de datos que se usará en el módulo en un periodo de 1
semana.
Estructuración

Analizar la estructura que llevará el módulo en un periodo de 2 semanas.
Pre-diseño

Desarrollo básico de algunas partes del módulo en un periodo de 2 semanas.
Funcionalidad y desarrollo

Desarrollar las funciones del módulo en un periodo de 4 semanas.
Pruebas

Realizar pruebas de las funciones del módulo en determinado tiempo.
Diseño

Desarrollar el diseño final del módulo en un periodo de 2 semanas.
Mejoras

Agregar mejoras para aumentar el dinamismo del módulo en el tiempo
restante.
ACTIVIDADES A REALIZAR
En la siguiente página se encuentra el diagrama de Gantt.
29
No Dpdt
1
2
3
4
5
6
7
8
9
10
11
3
3
5
6
8
8
No Dpdt
1
2
3
4
5
6
7
8
9
10
11
3
3
5
6
8
8
Actividad
Semana 1
Semana 2
Semana 3
Semana 4
Semana 5
Semana 6
1111222222222233
11111111112222222
123456789
6789012345678901
01234567890123456
Junta con el asesor
Capacitación CakePHP
Análisis de la BD
Diseño de la BD
Estructuración
Pre-diseño del módulo
Funcionalidad del módulo
Desarrollo del módulo
Pruebas del módulo
Diseño de CSS
Mejoras del módulo
Actividad
Semana 7
Semana 8
Semana 9
Semana 10
Semana 11
Semana 12
2223
1111111111222222222233
123456789
1234567
7890
0123456789012345678901
Junta con el asesor
Capacitación CakePHP
Análisis de la BD
Diseño de la BD
Estructuración
Pre-diseño del módulo
Funcionalidad del módulo
Desarrollo del módulo
Pruebas del módulo
Diseño de CSS
Mejoras del módulo
30
Recursos
Humanos
Asesor y Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Materiales
Videotutoriales
Computadora
Computadora
Computadora
Computadora
Computadora
Computadora
Computadora
Manuales
Recursos
Humanos
Asesor y Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Alumno
Materiales
Videotutoriales
Computadora
Computadora
Computadora
Computadora
Computadora
Computadora
Computadora
Manuales
POLÍTICAS Y PROCEDIMIENTOS
Las reuniones de avances con el asesor empresarial serán semanales en
períodos de 30 a 60 minutos. Todo el modulo será desarrollado en la plataforma
de CakePHP con el estándar 1.2.7, y servidor XAMPP versión 1.7.3.
RECURSOS HUMANOS IMPLICADOS

Editor de páginas web:
o
Generalmente usado el Dreamweaver para el desarrollo de páginas
web.

Desarrollador PHP nivel intermedio:
o
Conocimientos del lenguaje PHP para la comprensión de la plataforma
CakePHP.

Framework CakePHP:
o
Conocimientos del lenguaje y manejo de la plataforma, herramienta
fundamental para este proyecto.
Costos
Indirectos
Renta
Luz
Teléfono
Gastos Adm.
Costos
Directos
COSTOS
COSTOS
($1,800)
($1,200)
($2,500)
($1,500)
Por hora
($70)
Proyecto
($7,850)
MATERIALES, INSTRUMENTOS E INSTALACIONES NECESARIAS

Instalación del servidor
o

Editor de páginas web
o

Servidor XAMPP, puesto que posee su propio gestor de base de datos.
El Dreamweaver es uno de los mejores editores para páginas web.
Instalaciones de CakePHP:
o
Instalación de CakePHP versión 1.2.7 para el desarrollo del módulo.
31

Instalación del Datepicker (JQuery):
o
Instalación del Datepicker para mejorar dinámicamente el módulo.
MECANISMOS DE EVALUACIÓN Y SEGUIMIENTO
Casos de uso
Tipo de Caso:
Validación de datos
Tipo de Caso:
Mostrar datos
Nombre de Caso:
Logeo
Nombre de Caso:
Select
Prioridad:
Alta
Prioridad:
Media
Actor Primario:
Usuario
Actor Primario:
Todo
Otros Actores:
Descripción:
Password
Este módulo verifica si
el usuario y el
password se
encuentra en la base
de datos para poder
validarlo e identificar si
el usuario es
Administrador o
Ejecutivo de Ventas
Otros Actores:
Descripción:
Variables
Variables
Este módulo muestra
los datos de los
cliente, contactos o
dominios que se
encuentran en la base
de datos.
Mostrar (array)
Username (varchar)
Password (varchar)
Tipo de Caso:
Agregar datos
Tipo de Caso:
Editar datos
Nombre de Caso:
Agregar
Nombre de Caso:
Editar
Prioridad:
Media
Prioridad:
Media
Actor Primario:
Id
Actor Primario:
Id
Otros Actores:
Descripción:
Variables
Este módulo agrega
los datos de clientes,
contactos y dominios
en la base de datos de
su tabla
correspondiente .
Id (int)
Otros Actores:
Descripción:
Variables
Este módulo edita los
datos existentes de un
cliente, contacto o
dominio determinado
que se encuentra en la
base de datos.
Id (int)
32
Tipo de Caso:
Eliminar datos
Tipo de Caso:
Buscar datos
Nombre de Caso:
Eliminar
Nombre de Caso:
Búsqueda
Prioridad:
Alta
Prioridad:
Media
Actor Primario:
Id
Actor Primario:
Id
Otros Actores:
Descripción:
Variables
Este módulo elimina
los datos de forma
permanente de un
cliente, contacto o
dominio de la base de
datos.
Id (int)
Otros Actores:
Descripción:
Variables
Busca un cliente que
se encuentra en la
base de datos, así
como muestra sus
datos, con sus
respectivos clientes y
dominios.
Id (int)
Tipo de Caso:
Imprimir datos
Tipo de Caso:
Finalización de
Usuario
Nombre de Caso:
Print
Nombre de Caso:
Logout
Prioridad:
Baja
Prioridad:
Baja
Actor Primario:
Id
Actor Primario:
Id
Otros Actores:
Descripción:
Variables
Muestra una página en
blanco sobre algún
cliente de la base de
datos, mostrando sus
respectivos contactos
y dominios, para poder
imprimir la página.
Otros Actores:
Descripción:
Finaliza la sesión de
un usuario que se ha
dado de alta en la
base de datos.
Variables
Id (int)
Flujo de datos
En las siguientes páginas se encuentra el diagrama de flujo del sistema.
33
Verdadero
INICIO
Falso
LOGIN
Username & Password
Username o Password
Incorrecto
If((Username &&
Password) == true)
$this->Session->write(User);
1
F1
Datos guardados
Datos eliminados
Eliminar
Agregar
Editar
save($this-data))
Buscar $id
Buscar
CLIENTES
del($this-data))
Buscar $id
Buscar $id
Dominios
Contactos
2
Imprimir
3
Logout
Imprimir datos
$this->Session->delete('User');
L
F1
L1
L
FIN
34
L2
Verdadero
2
Falso
Buscar
$cliente_id
F2
Datos guardados
Datos eliminados
Agregar
Eliminar
Buscar $id
CONTACTOS
Editar
save($this-data))
del($this-data))
Regresar
Buscar $id
1
Logout
$this->Session->delete('User');
L1
F2
35
Verdadero
3
Falso
Buscar
$cliente_id
F3
Datos guardados
Datos eliminados
Agregar
Eliminar
Buscar $id
DOMINIOS
Editar
save($this-data))
del($this-data))
Regresar
Buscar $id
1
Logout
$this->Session->delete('User');
L2
F3
36
Tablas de entidad relación
Users
Id
username
password
Nombre
Paterno
Materno
tipo
Contactos
Id
Nombre
Paterno
Materno
Email
Telefono
Celular
cliente_id
Clientes
Id
Empresa
RFC
Dominicilio
Municipio
Estado
Pais
Logs
Dominios
Id
dominio
Fecha_alta
Fecha_termino
Fecha_pago
Status
cliente_id
Detalle
Id
user_id
movimiento
fecha
hora
Tipos
Id
tipo
Id
cliente_id
dominio_id
tipo_id
SUGERENCIAS PARA LA IMPLEMENTACIÓN
Para la correcta aplicación del sistema, se debe contar con un recurso humano
con el siguiente perfil:

Para el uso correcto del sistema:
o
Conocimientos básicos de captura de datos para los registros de la base
de datos.

o
Conocimientos elementales de proceso de ventas
o
Conocimientos informáticos básicos
Para la modificación del sistema:
o
Conocimientos básicos de HTML y PHP para modificar el código base y
las llamadas dinámicas.
o
Conocimientos básicos de CakePHP sobre el uso de MVP (ModeloVista-Controlador).
o
Conocimientos sobre JQuery para la modificación de JavaScript para el
dinamismo de la página.
37
CONLUSIÓN
Durante el periodo de Estadía Empresarial, periodo de 12 semanas, se llegaron a
cumplir todos los objetivos que se propusieron. Entre los objetivos cumplidos se
encuentra la capacitación de CakePHP, que ahora es una nueva plataforma que
se sabe usar, más todavía no es una plataforma que ya este dominada. Otro de
los objetivos fue crear un módulo o sistema que pudiera simplificar la manera de
administrar los dominios que la empresa Ti-movil.com S.A de C.V actualmente lo
administraba.
Los objetivos como análisis y diseño de la base de datos fueron de los objetivos
más sencillos que se pudieran cumplir en este proyecto; sin embargo, el analizar y
diseñar en sí el sistema fue de lo más complicado en este proyecto, puesto que no
se sabía usar la plataforma, y el uso del MVC (Modelo-Vista-Controlador) llega a
confundir al manejarlo por primera vez. Al final, tanto la base de datos como el
sistema dieron óptimos resultados.
Aprendí que investigar el uso de ciertas plataformas y lenguajes es crucial para
este tipo de proyecto, puesto que no siempre se conoce todas las variables
predefinidas ni la manera en que uno guarda en la base de datos algún campo.
Tampoco uno no sabe cómo debe o debería quedar el diseño y cómo hacer para
arreglarlo o mejorarlo. La implementación de tecnologías como JQuery o
JavaScript fue de las cosas que tomo tiempo para poder entender cómo se usan,
puesto que nunca se había usado en otros programas. Estos tipos de
investigaciones, sobre la plataforma CakePHP, sobre cómo pasar parámetros con
PHP y de cómo implementar JQuery y JavaScript ayudaron bastante no solo para
el proyecto, sino para futuros proyectos a realizar.
El proyecto me dio una oportunidad de mostrar iniciativa, puesto que quería que el
programa fuera de lo más dinámico y fácil posible para el uso del usuario. Buscar
maneras de cómo mejorar un sistema el cual se desconoce el uso de plataformas
38
y tecnologías da una grata satisfacción al poder cumplir con esas expectativas
propias a lo largo y al final del proyecto.
El proyecto igual me enseño a ser más comunicativo en el ámbito laboral al tener
que platicar con los empleados de la empresa sobre cómo resolver un problema,
donde conseguir material para ayudarme o para mejorar el sistema e inclusive de
cómo podría funcionar. Tanto el asesor empresarial como los empleados pudieron
resolverme las dudas que se tenía a lo largo del proyecto. También pude ser un
gran apoyo para los empleados al ayudarlos con ciertas lógicas de algún trabajo o
función de cierto sistema.
Como la plataforma de CakePHP es una plataforma orientada a objetos, me ayudo
a comprender el uso de las clases y funciones, mismas que se usan en otros
lenguajes como JAVA, al igual de cómo mandar a llamar las funciones. De igual
manera me a implementar las validaciones de campos para que el sistema
rechazara los datos que no cumplieran con cierto formato, así como los automensajes tipo flash para hacer ver al usuario de lo que está mal.
Durante el proyecto, mejoro la forma en que uso el CSS junto con las etiquetas
HTML y, en algunos casos, los auto-mensajes en flash, para poder dar una nueva
vista al sistema. Cosas que antes no se sabía cómo cambiar el diseño se
arreglaron, y de lo que se descuadraba se mejoraba. La maquetación no fue tan
complicado como el sistema en sí, pero se tenía que ver que un diseño no
perjudicara otro diseño.
Gracias a este proyecto, me enseño a cómo hacer casos de uso, investigación
sobre el sistema, organigrama de actividades y uso de recursos para poder sacar
costos por lo cual el sistema puede ser vendido, sea el caso.
El proyecto en sí me ayudó al crear el presente documento para poder dar a
entender de lo que se necesitó para poder llevar a cabo el proyecto.
39
WEBGRAFÍA

ALEGSA, “Definición de Sitio Web”, www.alegsa.com.ar, julio 2011.

Claudia, “Tipos de página web que existen”, www.alojate.com, julio 2011

ALEGSA, “Definición de módulo (programación)”, www.alegsa.com.ar, julio
2011.

Masadelante,
“¿Qué
es
un
dominio?
Definición
-
de
dominio”,
www.masadelante.com, julio 2011.

Bernardo Escobar, “Dominios”, www.creadorwebcr.com, julio 2011.

Carolina Contreras, “URL y Dominio” www.slideshare.net, julio 2011.

Claudio, “SQL”, personal.lobocom.esm, julio 2011.

Analía Lanzillotta, “Definición de HTML”, www.mastermagazine.info, 2011.

Álvaro Martínez Echevarría, “MANUAL PRÁCTICO DE HTML”, http://wwwapp.etsit.upm.es/~alvaro/manual/manual.html#1, julio 2011.

Masadelante,
“¿Qué
significa
PHP?
-
Definición
de
PHP”,
www.masadelante.com, julio 2011

ALEGSA, “Definición de JavaScript”, www.alegsa.com.ar, julio 2011.

Lunatic Lycanthrop, “Tutorial de JQuery”, www.cristalab.com, julio 2011.

Miguel Ángel Álvarez, “Introducción al JQuert”, www.desarrolloweb.com, julio
2011.

ALEGSA, “Definición de XAMPP”, www.alegsa.com.ar, julio 2011.
40
ANEXOS
En las siguientes hojas se encuentran los anexos al documento.
41
Login del módulo de administración de dominios
Vista general del módulo de administración de dominios. Vista clientes.
Semana
Actividades a realizar
1
2
3
4
5
Capacitación de CakePHP
Analizar y diseñar Base de Datos
Analizar y desarrollar el módulo
Crear el diseño del módulo
Mejoras del módulo
Cronograma de actividades del proyecto de Estadía Empresaria.
6
7
8
9
10
11
12
Descargar