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