Sistema para consulta en línea de materias a cursar por los alumnos de la facultad de ciencias econó

Page 1

UNIVERSIDAD PEDAGÓGICA DE EL SALVADOR FACULTAD DE CIENCIAS ECONÓMICAS TÉCNICO EN SISTEMAS DE COMPUTACIÓN

TRABAJO DE GRADUACIÓN TECNICO EN SISTEMA DE COMPUTACION TEMA: “SISTEMA PARA CONSULTA EN LÍNEA DE MATERIAS A CURSAR POR LOS ALUMNOS DE LA FACULTAD DE CIENCIAS ECONÓMICAS, UNIVERSIDAD PEDAGOGICA DE EL SALVADOR, SAN SALVADOR, 2010 - 2011” PRESENTAN: FLORES MARTINEZ EDWIN ANTONIO LOPEZ VASQUEZ JOSE MARIA VALLE GARCIA JUAN CLAUDIO SAN SALVADOR, 2 DE JUNIO DE 2011.


INDICE

Pág.

I DATOS DE IDENTIFICACION……………………………………….. 1.1 Tema…………………………………………………………………….. 1.2 Objetivo…….…………………………………………………….........

1

1.2.1 Objetivo General……………………………………………….

1

1.2.2 Objetivo Específicos………………………………………...

1

1.3 Introducción………………………………………………………….

2

1.4 Definición del Problema……………………………………………

3

1.5 Justificación…………………………………………………………

4

1.6 Alcances y Limitaciones………………………………………………. 5 1.7 Fundamentación Teórica…………………………………………..

6

1.7.1 Historia de la Computación………………………………….

6

1.7.2 Teoría de la Computación……………………………………

11

1.7.3 Historia del Internet…………………………………………..

14

1.7.4 Breve teoría de Internet……………………………………..

16

1.7.5 Historia de los Sitios Web …….……………………………..

18

1.8 El concepto de los Sitios Web……………………………………

23

1.9 PHP ………………………………………………………………

24

1.9.1 Características de PHP……………………………………..

30


1.10 MYSQL…………………………………………………………….......

32

1.11 Conceptos Básicos…………………………………………………..

33

1.12 Introducción a MYSQL……………….…………………………...

35

1.13 Netbeans……………………………………………………………..

35

1.14 Appserv……………………………………………………………...

36

1.15 StarUML……………………………………………………………..

37

1.16 Metodología de la Investigación………………………………...

38

1.17 Resultado del Análisis…………………………………………….

39

1.18 Diseño del Producto………………………………………………

51

1.19 Requerimientos Descriptivos…………………………………….

53

1.20 Diagrama de Colaboración………………………………………

62

1.21 Diagrama de Clases……………………………………………...

63

1.22 Modelo Entidad Relación………………………………….........

64

1.23 Conclusiones………………………………………………………

65

1.24 Bibliografía…………………………………………………………

66

ANEXO…………………………………………………………………….

67


1.1 TEMA: Sistema para consulta en línea de materias a cursar

por los alumnos de la

Facultad de Ciencias Económicas, Universidad Pedagógica El Salvador, San Salvador 2010 - 2011


1.2 OBJETIVOS 1.2.1 OBJETIVO GENERAL: Desarrollar un sistema para la consulta y pre-inscripción de materias a cursar en la Facultad de Ciencias Económicas en ambiente web. 1.2.2 OBJETIVOS ESPECIFICOS: Desarrollar el flujo de requerimientos. Desarrollar el análisis y diseño de la información. Aplicar software con nuevas tecnologías para el desarrollo del sistema.

1


1.3 INTRODUCCION Pre inscripción es el proceso mediante el cual, los alumnos de la Universidad Pedagógica de El Salvador, podrán solicitar las materias que desean tomar el próximo ciclo. Con este procedimiento se busca entregar una herramienta que te ayude a planificar anticipadamente la carga académica y hacer más ágil y simple el proceso de asignación de aulas a la parte Administrativa de la Universidad.

Adicional mente, con la información que se provea con la Pre inscripción, se obtendrán datos útiles que permitan conocer oportunamente la demanda real de cursos y, de este modo, realizar los ajustes necesarios para responder adecuadamente a las necesidades del alumnado.

El presente trabajo se ha realizado el estudio sobre el tema de Pre inscripción en Línea de los Estudiantes de la Facultad de Economía en la Universidad Pedagógica de El Salvador, se ha utilizado Lenguaje Unificado Modelado (UML) como herramienta para modelar sistemas, aplicando los siguientes ciclos de vida de sistema: Requerimientos, Análisis y Diseño. Generando de esta manera un Prototipo mediante el lenguaje PHP y como Administrador de Base de Datos Mysql, el servidor web donde ha sido probado esta aplicación es Apache.

El documento contiene los siguientes tópicos: Marco Teórico,

Estudio de

Mercado, Análisis y Diseño de la aplicación.

2


1.4 DEFINICION DEL PROBLEMA Los alumnos de la Universidad Pedagógica de El Salvador, utilizan un sistema de consulta de notas, el cual la

Facultad de Ciencias Económicas puesto en

máquinas de los pasillos, ellos desean obtener las materias a cursar durante el próximo ciclo y que la Facultad a designado a servir durante el ciclo, la información brindada por el sistema son datos del ciclo actual, pero el alumno tiene que llevar de forma manual el proceso de su pensum. El sistema de consulta y pre inscripción en línea genera una solución de forma eficiente y costo bajo a esta problemática año con año la universidad realiza la pre-inscripción en cada ciclo de forma manual y escrita lo cual nosotros tratamos de cambiar con este sistema y que se realice de una forma tecnológica.

3


1.5 JUSTIFICACION El proyecto preinscripción en línea se debe aplicar a la Universidad Pedagógica de El Salvador ya que dicha universidad no cuenta con un sistema de preinscripción en línea lo cual facilitaría el trabajo tanto de la universidad, para dar a conocer el resultado hipotético logrado por los estudiantes en cada una de sus inscripciones, y por el lado de los estudiantes facilitaría la consulta de los resultados obtenidos en cualquier lugar que se tenga acceso a internet sin tener la necesidad de estar de manera personal en la institución para conocer los resultados.

Implementar este sistema en la Universidad seria de suma importancia puesto que en la mayoría de universidades. Ya se cuenta con este servicio innovador y el no contar con este servicio en las instalaciones lo desfasaría en cuanto a tecnologías y esto no permitiría, tener una mayor población estudiantil que esté interesada en ingresar a la universidad. Este proyecto, servirá como un puente para mejores resultados de parte de la universidad, ya que contar con este servicio implica beneficios mayormente universidad como para los estudiantes; puesto que se ahorrarían tiempo y hasta horas de trabajo debido a la accesibilidad que se deriva de el uso de este sistema ya que el trabajo que este implica consta de introducir los datos de cada usuario y cada ciclo ir ingresando los nuevos resultados en este casos los datos podrían darse a conocer de manera rápida y accesible al alcance de quien quiera hacer uso de este servicio.

4


1.6 ALCANCES Y LIMITACIONES 1. El sistema se desarrollar en ambiente web, lenguaje de desarrollo PHP y servidor web APACHE 2. La actualizaciรณn de los datos es en proceso por lotes, y no estรก contemplada en este documento

5


1.7 FUDAMENTACION TEORICA 1.7.1 Historia de la computación Desde el año de 1953hasta el 2010 IBM fabricó su primera computadora escala industrial, la IBM 650 

Se amplía el uso del lenguaje ensamblador para la programación de las computadoras.

Se crean memorias a base de magnetismo (conocidas como memorias de núcleos).

Los primeros programas exitosos de ajedrez fueron desarrollados por Richard Greenblatt en el MIT.

Es inventado el diskette (disco flexible) en IBM por David Noble, bajo la dirección de Alan Shugart.

Robert Noyce y Gordon Moore fundan la corporación Intel.

El protocolo de comunicaciones NCP fue creado para controlar la red ARPANET.****

La primera minicomputadora de 16-bit es distribuida por la Data General Corporation.

Se desarrolla en los laboratorios Bell el lenguaje de programación B cuyos aportes fueron mayoritariamente de Ken Thompson y Dennis Ritchie.

Nace el sistema operativo UNICS en los laboratorios Bell de AT&T por un grupo de empleados de dicho laboratorio, entre los que se encuentran Ken Thompson, Dennis Ritchie y Douglas Mcllroy.******

6


Se presenta el primer procesador comercial y a la vez el primer chip microprocesador, el Intel 4004.

RayTomlinson crea el primer programa para enviar correo electrónico, como consecuencia, la arroba se usa por primera vez con fines informáticos.*****

Un grupo de investigadores del MIT presentaron la propuesta del primer "Protocolo para la transmisión de archivos en Internet" (FTP).*****

Texas Instruments vende la primera calculadora electrónica portátil.

Es creado el protocolo TCP por VintCerf y Robert Kahn.

Se crea el sistema Ethernet para enlazar a través de un cable único a las computadoras de una red local (LAN).*****

Gary Kildall crea el sistema operativo CP/M, en base al cual se desarrolla posteriormente, de manera polémica, MS-DOS, suponiendo una violación a los derechos de autor (copyright) del CP/M.

En enero la revista Popular Electronics hace el lanzamiento del Altair 8800, el primer microcomputador personal reconocible como tal.

Se funda la empresa Microsoft.

Se funda la empresa Apple.

Se hace popular el ordenador Apple II, desarrollado por Steve Jobs y Steve Wozniak en un garaje.

Se lanza al mercado el IBM PC, que se convertiría en un éxito comercial, marcaría una revolución en el campo de la computación personal y definiría nuevos estándares.

7


Se termina de definir el protocolo TCP/IP.

Apple presenta el primer computador personal que se vende a gran escala, el apple II.

Sony crea los disquetes de 3 1/2 pulgadas.

La Asociación Internacional MIDI publica el MIDI.

Se funda CompaqComputerCorporation, una compañía de computadoras personales, por RodCanion, Jim Harris y Bill Murto.

Microsoft ofrece la versión 1.0 del procesador de textos Word para DOS. 

Compaq (CompaqComputerCorporation) fabrica el primer clon PC IBM compatible, el Compaq portable.

ARPANET se separa de la red militar que la originó, de modo que, ya sin fines militares, se puede considerar esta fecha como el nacimiento de Internet.******

Se anuncia públicamente el proyecto GNU iniciado por Richard Stallman.

IBM presenta el PC-AT, con procesador Intel 80286, bus de expansión de 16 bits y 6 Mhz de velocidad. Tenía hasta 512 KB de memoria RAM, un disco duro de 20 MB y un monitor monocromático. Su precio en ese momento era de 5.795 dólares.

Apple Computer presenta su Macintosh 128K con el sistema operativo Mac OS, el cual introduce la interfaz gráfica ideada en Xerox.

Las compañías Philips y Sony crean los CD-Roms para computadores.

Se desarrolla el sistema de ventanas X bajo el nombre X1 para dotar de una interfaz gráfica a los sistemas Unix. 8


Aparece el lenguaje LaTeX para procesamiento de documentos.

Hewlett-Packard lanza su popular impresora LaserJet.

Leonard Bosack y Sandra Lerner fundan Cisco Systems que es líder mundial en soluciones de red e infraestructuras para Internet.

Microsoft presenta el sistema operativo Windows 1.0.

ISO estandariza SGML, lenguaje en que posteriormente se basaría XML.

Compaq lanza el primer computador basado en el procesador de 32 bits Intel 80386, adelantándose a IBM.

El lenguaje SQL es estandarizado por ANSI.

Aparece el programa de cálculo algebraico de computadora MathCad.

Tim Berners-Lee ideó el hipertexto para crear el World Wide Web (www) una nueva manera de interactuar con Internet. También creó las bases del protocolo de transmisión HTTP, el lenguaje de documentos HTML y el concepto de los URL.

Se construye el primer prototipo de procesador óptico en AT&T (Laboratorios de Bell).

Guido van Rossum crea el lenguaje de programación Python.

LinusTorvalds comenzó a desarrollar

Linux, un sistema

operativo

compatible con Unix. 

Comienza a popularizarse la programación orientada a objetos.

Surge la primera versión del estándar Unicode.

Aparece la primera versión de Adobe Premiere. 9


Compaq puso a la venta al por menor con la CompaqPresario, y fue uno de los primeros fabricantes en los mediados de los 90's en vender una PC de menos de $1,000. Compaq se convirtió en una de los primeros fabricantes en usar micros de AMD y Cyrix.

GNU comienza a utilizar el núcleo Linux.

Marc Andreessen crea el famoso navegador web Netscape Navigator.

Es diseñado el PHP, originalmente en lenguaje Perl, seguidos por la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense RasmusLerdorf.*****

Aparece la primera versión de MySQL.*****

Inicia el desarrollo del servidor Apache.

La implementación original y de referencia del compilador, la máquina virtual y las librerías de clases de Java fueron desarrollados por Sun Microsystems.

Se presenta públicamente el lenguaje de programación Ruby.

Se crea Internet2, más veloz que la Internet original.

Larry Page y Sergey Brin fundan Google Inc. Es presentado el prototipo de computador cuántico construido por un equipo de investigadores de IBM. 

Es lanzado el sistema operativo Windows 2000 por Microsoft.

Es lanzado el sistema operativo Windows Me por Microsoft.

Lanzamiento de Mac OS X.

10


Larry Sanger y Jimmy Wales fundanWikipedia

Se lanza el sistema operativo Windows XP por parte de Microsoft.

Lanzamiento del navegador web Mozilla Firefox, llamado en un primer momento Phoenix.

Los usuarios de Internet con conexión de banda ancha superan a los usuarios de internet con conexión vía módem en la mayoría de países desarrollados.****

Se espera el lanzamiento de Google Chrome OS, un sistema operativo creado por la empresa Google y basado en Linux.

IBM crea un procesador de grafeno con una frecuencia efectiva de 100 GHz

Se espera el lanzamiento de USB versión 3.0, que representaría un avance en la velocidad de transmisión de datos entre el dispositivo conectado y la computadora.

Qualcomm lanza el primer procesador móvil doble núcleo a 1,5 Ghz

1.7.2 Teoría de la computación De Wikipedia, la enciclopedia libre Saltar a navegación, búsqueda La teoría de la computación es una rama de la matemática y la computación que centra su interés en las limitaciones y capacidades fundamentales de las computadoras. Específicamente esta teoría busca modelos matemáticos que formalizan el concepto de hacer un cómputo (cuenta o cálculo) y la clasificación de problemas

11


Teoría de autómatas Artículo principal: Teoría de autómatas Esta teoría provee modelos matemáticos que formalizan el concepto de computadora o algoritmo de manera suficientemente simplificada y general para que se puedan analizar sus capacidades y limitaciones. Algunos de estos modelos juegan un papel central en varias aplicaciones de las ciencias de la computación, incluyendo procesamiento de texto, compiladores, diseño de hardware e inteligencia artificial. Los tres principales modelos son los autómatas finitos, autómatas con pila y máquinas de Turing, cada uno con sus variantes deterministas y no deterministas. Los autómatas finitos son buenos modelos de computadoras que tienen una cantidad limitada de memoria, los autómatas con pila modelan los que tienen gran cantidad de memoria pero que solo pueden manipularla a manera de pila (el último dato almacenado es el siguiente leído), y las máquinas de Turing modelan las computadoras que tienen una gran cantidad de memoria almacenada en una cinta. Estos autómatas están estrechamente relacionados con la teoría de lenguajes formales; cada autómata es equivalente a una gramática formal, lo que permite reinterpretar la jerarquía de Chomsky en términos de autómatas. Existen muchos otros tipos de autómatas como las máquinas de acceso aleatorio, autómatas celulares, máquinas ábaco y las máquinas de estado abstracto; sin embargo en todos los casos se ha mostrado que estos modelos no son más generales que la máquina de Turing, pues la máquina de Turing tiene la capacidad de simular cada uno de estos autómatas. Esto da lugar a que se piense en la máquina de Turing como el modelo universal de computadora. Teoría de la computabilidad Artículo principal: Teoría de la computabilidad Véase también: Indecidibilidad

12


Esta teoría explora los límites de la posibilidad de solucionar problemas mediante algoritmos. Gran parte de las ciencias computacionales están dedicadas a resolver problemas de forma algorítmica, de manera que el descubrimiento de problemas imposibles es una gran sorpresa. La teoría de la compatibilidad es útil para no tratar de resolver algoritmicamente estos problemas, ahorrando así tiempo y esfuerzo. Los problemas se clasifican en esta teoría de acuerdo a su grado de imposibilidad: 

Los computables son aquellos para los cuales sí existe un algoritmo que siempre los resuelve cuando hay una solución y además es capaz de distinguir los casos que no la tienen. También se les conoce como decididles, resolubles o recursivos.

Los semicomputables son aquellos para los cuales hay un algoritmo que es capaz encontrar una solución si es que existe, pero ningún algoritmo que determine cuando la solución no existe (en cuyo caso el algoritmo para encontrar la solución entraría a un bucle infinito). El ejemplo clásico por excelencia es el problema de la parada. A estos problemas también se les conoce como alistables, recursivamente e numerables o reconocibles, porque si se enlistan todos los casos posibles del problema, es posible reconocer a aquellos que sí tienen solución.

Los incompatibles son aquellos para los cuales no hay ningún algoritmo que los pueda resolver, no importando que tengan o no solución. El ejemplo clásico por excelencia es el problema de la implicación lógica, que consiste en determinar cuándo una proposición lógica es un teorema; para este problema no hay ningún algoritmo que en todos los casos pueda distinguir si una proposición o su negación es un teorema.

Hay una versión más general de esta clasificación, donde los problemas incompatibles se subdividen a su vez en problemas más difíciles que otros. La herramienta principal para lograr estas clasificaciones es el concepto de deducibilidad 13


Teoría de la complejidad computacional Artículo principal: Complejidad computacional Véase también: Clase de complejidad Aun cuando un problema sea computable, puede que no sea posible resolverlo en la práctica si se requiere mucha memoria o tiempo de ejecución. La teoría de la complejidad computacional estudia las necesidades de memoria, tiempo y otros recursos computacionales para resolver problemas; de esta manera es posible explicar por qué unos problemas son más difíciles de resolver que otros. Uno de los mayores logros de esta rama es la clasificación de problemas, similar a la tabla periódica, de acuerdo a su dificultad. En esta clasificación los problemas se separan por clases de complejidad. Esta teoría tiene aplicación en casi todas las áreas de conocimiento donde se desee resolver un problema computacionalmente, porque los investigadores no solo desean utilizar un método para resolver un problema, sino utilizar el más rápido. La teoría de la complejidad computacional también tiene aplicaciones en áreas como la criptografía, donde se espera que descifrar un código secreto sea un problema muy difícil a menos que se tenga la contraseña, en cuyo caso el problema se vuelve fácil. 1.7.3 Historia de Internet La historia de Internet se remonta al temprano desarrollo de las redes de comunicación. La idea de una red de computadoras diseñada para permitir la comunicación general entre usuarios de varias computadoras sea tanto desarrollos tecnológicos como la fusión de la infraestructura de la red ya existente y los sistemas de telecomunicaciones.

Las más antiguas versiones de estas ideas aparecieron a finales de los años cincuenta. Implementaciones prácticas de estos conceptos empezaron a finales de 14


los ochenta y a lo largo de los noventa. En la década de 1980, tecnologías que reconoceríamos como las bases de la moderna Internet, empezaron a expandirse por todo el mundo. En los noventa se introdujo la World Wide Web(WWW), que se hizo común. La infraestructura de Internet se esparció por el mundo, para crear la moderna red mundial de computadoras que hoy conocemos. Atravesó los países occidentales e intentó una penetración en los países en desarrollo, creando un acceso mundial a información y comunicación sin precedentes, pero también una brecha digital en el acceso a esta nueva infraestructura. Internet también alteró la economía del mundo entero, incluyendo las implicaciones económicas de la burbuja de las .com. Un método de conectar computadoras, prevalente sobre los demás, se basaba en el método de la computadora central o unidad principal, que simplemente consistía en permitir a sus terminales conectarse a través de largas líneas alquiladas. Este método se usaba en los años cincuenta por el Proyecto RAND para apoyar a investigadores como Herbert Simon, en Pittsburgh (Pensilvania), cuando colaboraba a través de todo el continente con otros investigadores de Santa Mónica (California) trabajando en demostración automática de teoremas e inteligencia artificial. Un pionero fundamental en lo que se refiere a una red mundial, J.C.R. Licklider, comprendió la necesidad de una red mundial, según consta en su documento de enero, 1960, Man-ComputerSymbiosis (Simbiosis Hombre-Computadora). "una red de muchos [ordenadores], conectados mediante líneas de comunicación de banda ancha" las cuales proporcionan "las funciones hoy existentes de las bibliotecas junto con anticipados avances en el guardado y adquisición de información y [otras] funciones simbióticas" J.C.R Licklider

15


1.7.4 Breve teoría de Internet Roberto Hernández Montoya* Cuentan que NathanRotschild contrató un barco de vapor para acudir a presenciar la batalla de Waterloo. Terminada la refriega, fue el primero en arribar a Londres con la información, que no dio a conocer a nadie. Pero hizo un gesto aterrador: rematar rápida y públicamente sus acciones. Esto hizo creer a los bolsistas -que sabían de dónde venía Nathan- que Napoleón había ganado. Mientras tanto, por trascorrales, sus corredores compraban y compraban barato para él en medio del pánico financiero. Al día siguiente, cuando llegó la verdadera noticia, subieron las acciones muy por encima de la cotización anterior a la batalla. Para entonces muchísimas eran ya de Nathan, incluyendo las que vendió y fueron recompradas por sus agentes. Fue así como se fundó la rama Rotschild de Inglaterra: usando astuta y aviesamente una tecnología novedosísima -el barco de vapor- que le dio una ventaja estratégica sobre los financistas rutinarios. No sé si este episodio es verificable, pero es significativo que se ande contando, pues si entonces la innovación tecnológica, aún escasa, era estratégica, cómo será hoy, cuando se moderniza a cada minuto. El equivalente actual del barco de vapor noticioso de Rotschild es Internet, un medio informativo instantáneo, exhaustivo y de acceso universal. Este trabajo se propone ventilar algunas de sus consecuencias. Internet, mentiras y multimedia Internet permite transmitir, almacenar, combinar y organizar tres tipos de mensajes: 1. Texto. 2. Sonido. 3. Imágenes fijas y animadas: películas y dibujos animados.

16


Gracias a esta integración, Nicholas Negroponte, el líder del Laboratorio de Medios del Instituto Tecnológico de Massachusetts, ha propuesto llamarlos más bien unimedia en lugar de multimedia. Lo que tendrá como consecuencia un nuevo universo expresivo: hoy mismo vemos imágenes meteorológicas en movimiento tomadas hace horas por un satélite, por ejemplo. En tu casa, con un módem y una computadora. Cuando los hermanos Lumière inventaron el cine, no había otra idea que registrar hechos reales. Era un paradigma, es decir, el horizonte de lo entonces concebible: el cine, como la fotografía, era un trasunto de la realidad, no parte de ella. Solo servía para copiarla, a lo sumo duplicarla, redundarla, ampliar su alcance para que la presenciaran personas distantes en tiempo y espacio, para reforzar la memoria. Era una ventana sobre la realidad semoviente, desplazada en el tiempo y el espacio, pues veo aquí y ahora lo que ocurrió allá y otrora. Pero apareció un genio -es decir, una bisagra histórica- llamado George Méliès, un prestidigitador circense y francés que inventó filmar mentiras, con lo que creó el cine de ficción. El nuevo invento, el cine, permitía un no menos nuevo modo de hacer algo viejo: narrar mentiras -y verdades- en crónicas, épica, sagas, romances, novelas, cuentos, cantas, periodismo. Mentiras y verdades tomaban un nuevo cariz por medio del cine y permitían narrar la vida del ciudadano Kane como ninguna novela u obra de teatro o poema épico lo hubieran permitido. El cine integró todo eso y lo transformó porque el todo, una vez más, fue mayor que la suma de las partes. Méliès fue el primero en verlo. Cada nuevo medio de expresión abre nuevas fronteras a las viejas necesidades expresivas y estéticas. Hoy -espero- debe haber un genio equivalente a Méliès a punto de inventar una nueva expresión de viejas y nuevas cosas con multimedia, análoga al cine. Douglas Adams, autor del HitchHiker's Guide totheGalaxy, ha declarado que la tecnología es solo tecnología. El arte es solo arte. Es cuando los juntamos cuando ocurren las explosiones. Primero fue el cine, luego la radio y la televisión. Ahora tenemos tecnologías que van más allá de los 17


sueños de la ciencia-ficción y cuando los verdaderos artistas las dominen habrá terremotos <pressrel@thing2.info.apple.com> (boletín de prensa de Apple Computer, 9 de febrero de 1996 Julio García Espinoza decía que «los cuatro medios de comunicación son tres: cine y TV» («Los cuatro medios de comunicación son tres: cine y TV», Casa de las Américas, La Habana, enero-febrero de 1977). Pero cuando García Espinoza escribió su genial artículo no había multimedia. Hoy diría tal vez que «los mil medios de expresión son siete: la computadora», como veremos seguidamente. 1.7.5 HISTORIA DE LOS SITIOS WEB World Wide Web En informática, la World Wide Web, es un sistema de información distribuido basado en hipertexto o hipermedios enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener texto, imágenes, videos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces. La Web fue creada alrededor de 1989 por el inglésTim Berners-Lee y el belgaRobert Cailliau mientras trabajaban en el CERN en Ginebra, Suiza, y publicado en 1992. Desde entonces, Berners-Lee ha jugado un papel activo guiando el desarrollo de estándares Web (como los lenguajes de marcado con los que se crean las páginas web), y en los últimos años ha abogado por su visión de una Web Semántica. Funcionamiento de la Web El primer paso consiste en traducir la parte nombre del servidor de la URL en una dirección IP usando la base de datos distribuida de Internet conocida como DNS. Esta dirección IP es necesaria para contactar con el servidor web y poder enviarle paquetes de datos.

18


El siguiente paso es enviar una petición HTTP al servidor Web solicitando el recurso. En el caso de una página web típica, primero se solicita el texto HTML y luego es inmediatamente analizado por el navegador, el cual, después, hace peticiones adicionales para los gráficos y otros ficheros que formen parte de la página. Las estadísticas de popularidad de un sitio web normalmente están basadas en el número de páginas vistas o las peticiones de servidor asociadas, o peticiones de fichero, que tienen lugar. Al recibir los ficheros solicitados desde el servidor web, el navegador renderiza la página tal y como se describe en el código HTML, el CSS y otros lenguajes web. Al final se incorporan las imágenes y otros recursos para producir la página que ve el usuario en su pantalla. La mayoría de las páginas web contienen hiperenlaces a otras páginas relacionadas y algunas también contienen descargas, documentos fuente, definiciones y otros recursos web. Esta colección de recursos útiles y relacionados, interconectados a través de enlaces de hipertexto, es lo que ha sido denominado como 'red' (web, en inglés) de información. Al trasladar esta idea a Internet, se creó lo que Tim Berners-Lee llamó WorldWideWeb (un término escrito en CamelCase, posteriormente desechado) en 1990. Si un usuario accede de nuevo a una página después de un pequeño intervalo, es probable que no se vuelvan a recuperar los datos del servidor web de la forma en que se explicó en el apartado anterior. Por defecto, los navegadores almacenan en una caché del disco duro local todos los recursos web a los que el usuario va accediendo. El navegador enviará una petición HTTP sólo si la página ha sido actualizada desde la última carga, en otro caso, la versión almacenada se reutilizará en el paso de renderizado para agilizar la visualización de la página. Esto es particularmente importante para reducir la cantidad de tráfico web en Internet. La decisión sobre la caducidad de la página se hace de forma 19


independiente para cada recurso (imagen, hoja de estilo, ficheros JavaScript, etc, además de para el propio código HTML). Sin embargo en sitios de contenido muy dinámico, muchos de los recursos básicos sólo se envían una vez por sesión. A los diseñadores de sitios web les interesa reunir todo el código CSS y JavaScript en unos pocos ficheros asociados a todo el sitio web, de forma que pueden ser descargados en las cachés de los usuarios y reducir así el tiempo de carga de las páginas y las peticiones al servidor. Aparte de las utilidades creadas en los servidores Web que pueden determinar cuándo los ficheros físicos han sido actualizados, los diseñadores de páginas web generadas dinámicamente pueden controlar las cabeceras HTTP enviadas a los usuarios, de forma que las páginas intermedias o sensibles a problemas de seguridad no sean guardadas en caché. Por ejemplo, en los bancos on line y las páginas de noticias se utiliza frecuentemente este sistema. Esto nos ayuda a comprender la diferencia entre los verbos HTTP 'GET' y 'POST' los datos solicitados con GET pueden ser almacenados en la caché, si se cumplen las otras condiciones, mientras que con los datos obtenidos después de enviar información al servidor con POST normalmente no se puede. Historia La idea subyacente de la Web se remonta a la propuesta de Vannevar Bush en los años 40 sobre un sistema similar: a grandes rasgos, un entramado de información distribuida con una interfaz operativa que permitía el acceso tanto a la misma como a otros artículos relevantes determinados por claves. Este proyecto nunca fue materializado, quedando relegado al plano teórico bajo el nombre de Memex. Es en los años 50 cuando Ted Nelson realiza la primera referencia a un sistema de hipertexto, donde la información es enlazada de forma libre. Pero no es hasta 1980, con un soporte operativo tecnológico para la distribución de información en redes informáticas, cuando Tim Berners-Lee propone ENQUIRE al CERN (refiriéndose a EnquireWithinUponEverything, en castellano Preguntando de Todo

20


Sobre Todo), donde se materializa la realización práctica de este concepto de incipientes nociones de la Web. En marzo de 1989, Tim Berners Lee, ya como personal de la divisón DD del CERN, redacta la propuesta, que referenciaba a ENQUIRE y describía un sistema de gestión de información más elaborado. No hubo un bautizo oficial o un acuñamiento del término web en esas referencias iniciales utilizándose para tal efecto el término mesh. Sin embargo, el World Wide Web ya había nacido. Con la ayuda de Robert Cailliau, se publicó una propuesta más formal para la worldwide web[3] el 12 de noviembre de 1990. Berners-Lee usó un NeXTcube como el primer servidor web del mundo y también escribió el primer navegador web, WorldWideWeb en 1990. En las Navidades del mismo año, Berners-Lee había creado todas las herramientas necesarias para que una web funcionase: el primer navegador web (el cual también era un editor web), el primer servidor web y las primeras páginas web que al mismo tiempo describían el proyecto. El 6 de agosto de 1991, envió un pequeño resumen del proyecto World Wide Web al newsgroupalt.hypertext. Esta fecha también señala el debut de la web como un servicio disponible públicamente en Internet. El concepto, subyacente y crucial, del hipertexto tiene sus orígenes en viejos proyectos de la década de los 60, como el Proyecto Xanadu de Ted Nelson y el sistema on-line NLS de Douglas Engelbart. Los dos, Nelson y Engelbart, estaban a su vez inspirados por el ya citado sistema basado en microfilm "memex", de Vannevar Bush. El gran avance de Berners-Lee fue unir hipertexto e Internet. En su libro Weavingthe Web (en castellano, Tejiendo la Red), explica que él había sugerido repetidamente que la unión entre las dos tecnologías era posible para miembros de las dos comunidades tecnológicas, pero como nadie aceptó su invitación, decidió, finalmente, hacer frente al proyecto él mismo. En el proceso, desarrolló un 21


sistema de identificadores únicos globales para los recursos web y también: el UniformResourceIdentifier. World Wide Web tenía algunas diferencias de los otros sistemas de hipertexto que estaban disponibles en aquel momento: 

WWW sólo requería enlaces unidireccionales en vez de los bidireccionales. Esto hacía posible que una persona enlazara a otro recurso sin necesidad de ninguna acción del propietario de ese recurso. Con ello se reducía significativamente

la

dificultad

de

implementar

servidores

web

y

navegadores (en comparación con los sistemas anteriores), pero en cambio presentaba el problema crónico de los enlaces rotos. 

A diferencia de sus predecesores, como HyperCard, World Wide Web era no-propietario,

haciendo

posible

desarrollar

servidores

y

clientes

independientemente y añadir extensiones sin restricciones de licencia. El 30 de abril de 1993, el CERN anunció que la web sería gratuita para todos, sin ningún tipo de honorarios. ViolaWWW fue un navegador bastante popular en los comienzos de la web que estaba basado en el concepto de la herramienta hipertextual de software de Mac denominada HyperCard. Sin embargo, los investigadores generalmente están de acuerdo en que el punto de inflexión de la World Wide Web comenzó con la introducción] del navegador web Mosaic en 1993, un navegador gráfico desarrollado por un equipo del NCSA en la Universidad de Illinois en UrbanaChampaign (NCSA-UIUC), dirigido por Marc Andreessen. Funding para Mosaic vino del High-Performance Computing and CommunicationsInitiative, un programa de fondos iniciado por el entonces gobernador Al GoreHigh Performance Computing and CommunicationAct of 1991, también conocida como la Gore Bill. Antes del lanzamiento de Mosaic, las páginas web no integraban un amplio entorno gráfico y su popularidad fue menor que otros protocolos anteriores ya en uso sobre Internet, como el protocolo Gopher y WAIS. La interfaz gráfica de

22


usuario de Mosaic permitió a la WWW convertirse en el protocolo de Internet más popular de una manera fulgurante... Estándares Web Destacamos los siguientes estándares: 

el Identificador de Recurso Uniforme (URI), que es un sistema universal para referenciar recursos en la Web, como páginas web,

el Protocolo de Transferencia de Hipertexto (HTTP), que especifica cómo se comunican el navegador y el servidor entre ellos,

el Lenguaje de Marcado de Hipertexto (HTML), usado para definir la estructura y contenido de documentos de hipertexto,

el Lenguaje de Marcado Extensible (XML), usado para describir la estructura de los documentos de texto.

Berners Lee dirige desde 2007 el World Wide Web Consortium (W3C), el cual desarrolla y mantiene esos y otros estándares que permiten a los ordenadores de la Web almacenar y comunicar efectivamente diferentes formas de información. Tecnologías web Las tecnologías web implican un conjunto de herramientas que nos facilitarán lograr mejores resultados a la hora del desarrollo de un sitio web. Navegadores web 1.8 El concepto de los Sitios Web 1.- A todo esto, ¿Qué es un Sitio Web? Una Página de Internet o Página Web es un documento que contiene información específica de un tema en particular y que es almacenado en algún sistema de cómputo que se encuentre conectado a la red mundial de información denominada

23


Internet, de tal forma que este documento pueda ser consultado por cualesquier persona que se conecte a esta red mundial de comunicaciones. Un Sitio Web es un conjunto de páginas Web relacionadas entre sí. 2.- ¿Cuáles son los principales beneficios de tener un Sitio Web? Facilitar la comunicación entre gobierno, instituciones educativas, empresas, asociaciones y personas físicas, con el propósito de establecer una relación aún más estrecha entre ellos. Particularmente en el aspecto comercial, fomentar una mayor comunicación entre clientes y empresas estableciendo un modelo de operación del negocio más orientado al cliente. 1.9 PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por RasmusLerdorf como un CGI escrito en C que permitía la interpretación de un número limitado de comandos. El sistema fue denominado Personal Home Page Tools y adquirió relativo éxito gracias a que otras personas pidieron a Rasmus que les permitiese utilizar sus programas en sus propias páginas. Dada la aceptación del primer PHP y de manera adicional, su creador diseñó un sistema para procesar formularios al que le atribuyó el nombre de FI (FormInterpreter) y el conjunto de estas dos herramientas, sería la primera versión compacta del lenguaje: PHP/FI. La siguiente gran contribución al lenguaje se realizó a mediados del 97 cuando se volvió a programar el analizador sintáctico, se incluyeron nuevas funcionalidades como el soporte a nuevos protocolos de Internet y el soporte a la gran mayoría de las bases de datos comerciales. Todas estas mejoras sentaron las bases de PHP versión 3. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades actuales y solucionar algunos inconvenientes de la anterior versión. Algunas mejoras de esta nueva versión son su rapidez -gracias a que primero se compila y luego se ejecuta, mientras que antes se ejecutaba mientras se interpretaba el código-, su 24


mayor independencia del servidor web -creando versiones de PHP nativas para más plataformas- y un API más elaborado y con más funciones.

Gráfica

del

número

de

dominios

y direcciones

IP que

utilizan

PHP.

Estadística de Netcraft. En el último año, el número de servidores que utilizan PHP se ha disparado, logrando situarse cerca de los 5 millones de sitios y 800.000 direcciones IP, lo que le ha convertido a PHP en una tecnología popular. Esto es debido, entre otras razones, a que PHP es el complemento ideal para que el tándem Linux-Apache sea compatible con la programación del lado del servidor de sitios web. Gracias a la aceptación que ha logrado, y los grandes esfuerzos realizados por una creciente comunidad de colaboradores para implementarlo de la manera más óptima, podemos asegurar que el lenguaje se convertirá en un estándar que compartirá los éxitos augurados al conjunto de sistemas desarrollados en código abierto. PHP es un lenguaje de programacióninterpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.

25


Visión general PHP es un acrónimo recursivo que significa PHP HypertextPre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por RasmusLerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La versión más reciente de PHP es la 5.3.3, del 22 de julio de 2010. El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI (Command Line Interface). 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. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información 26


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. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite. XAMPP es un servidor 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 esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X. PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI. PHP es una alternativa a las tecnologías de MicrosoftASP y ASP.NET (que utiliza C#VB.NET como lenguajes), a ColdFusion de la compañía Adobe (antes Macromedia), a JSP/Java de Oracle, y a CGI/Perl. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres, bajo la licencia GNU, existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. También existen al menos un par de módulos para Eclipse, uno de los IDE más populares.

27


Historia Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios

escritos

en

el

lenguaje

C

por

el

programadordanés-

canadienseRasmusLerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio FormInterpreter para crear PHP/FI. PHP 5 El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor ZendEngine 2.0 (o ZendEngine 2). La versión más reciente de PHP es la 5.3.3 (22 de julio de 2010), que incluye todas las ventajas que provee el nuevo ZendEngine 2 como: 

Mejor soporte para la Programación Orientada a Objetos, que en versiones anteriores era extremadamente rudimentario.

Mejoras de rendimiento.

Mejor soporte para MySQL con extensión completamente reescrita.

Mejor soporte a XML( XPath, DOM, etc. ).

Soporte nativo para SQLite.

Soporte integrado para SOAP.

Iteradores de datos.

Manejo de excepciones.

Mejoras con la implementación con Oracle.

Aún se siguen publicando versiones de la rama 5.2.X, siendo publicada la versión 5.2.14 el 22 de Julio de 2010, aunque la mayoría son actualizaciones de seguridad Versión

Fecha

Cambios más importantes

PHP

16 de abril de 1996

Considerado por el creador como la "más

Version

2

rápida

y

simple

herramienta"

para

la

28


(PHP/FI)

PHP 5.0

PHP 5.1

PHP 5.2

creación de páginas webs dinámicas . Motor Zend II con un nuevo modelo de

13 de julio de 2004

objetos.

25 de noviembre de 2005

2 de noviembre de 2006

Habilitado el filtro de extensiones por defecto.

PHP 5.2.4 30 de agosto de 2007

PHP 5.2.5 8 de noviembre de 2007

Versión centrada en mejorar la estabilidad (+60 errores solucionados).

PHP 5.2.8 8 de diciembre de 2008

PHP 5.2.9 26 de febrero de 2009

PHP 5.2.12

17

de

diciembre

2009

Diversas mejoras en el ámbito de la seguridad (+50 errores solucionados). de Diversas mejoras en el ámbito de la seguridad (+50 errores solucionados). namespaces, late static binding, closures,

PHP 5.3

30 de junio de 2009

optional

garbage

references,

collection

for

nuevasextensiones

cyclic (+140

erroressolucionados).

PHP 5.3.1

19 de noviembre de Diversas mejoras en el ámbito de la 2009

PHP 5.3.2 4 de marzo del 2010

seguridad (36 errores solucionados). Diversas mejoras en el ámbito de la seguridad (99 errores solucionados).

29


Diversas mejoras en el ámbito de la PHP 5.3.3 22 de julio del 2010

seguridad y estabilidad. (mas de 100 errores solucionados).

1.9.1 Características de PHP Ventajas 

Es un lenguaje multiplataforma.

Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.

El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.

Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).

Posee una amplia documentación en su página oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

Permite aplicar técnicas de programación orientada a objetos.

Biblioteca nativa de funciones sumamente amplia e incluida.

No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución. 30


Tiene manejo de excepciones (desde PHP5).

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseñoModelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes (ver más abajo Frameworks en PHP).

Inconvenientes 

La ofuscación de código es la única forma de ocultar las fuentes.

Conceptos básicos El lenguaje PHP es un lenguaje de programación de estilo clásico, con esto quiero decir que es un lenguaje de programación con variables, sentencias condicionales, bucles, funciones.... No es un lenguaje de marcas como podría ser HTML, XML o WML. Está mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes. Pero a diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.

31


Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP. 1.10 MySQL De Wikipedia, la enciclopedia libre Saltar a navegación, búsqueda

MySQL

32


MySQL es un sistema de gestión de base de datosrelacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius. Sitio web: www.mysql.com 1.11 CONCEPTOS BASICOS ¿Qué es php? PHP es un lenguaje de scripting que permite la generación dinámica de contenidos

en

un

servidor

web.

Su

nombre

oficial

es

PHP:

HyperTextPreprocessor( El nombre php tiene su origen a principios de 1995 en un conjunto de macros conocido como Personal Home Page Tools). Entre sus 33


principales características se pueden destacar su potencia, alto rendimiento y su facilidad de aprendizaje. Como se vera a lo largo de este libro, PHP es una eficaz herramienta de desarrollo para los programadores web, ya que proporciona elementos que permiten generar de manera rápida y sencilla sitios web dinamicos. PHP fuen originalmente creado por RasmusLerdorf como un conjunto de utilidades (llamadas PHP/FI y posteriormente PHP 2.0) para añadir dinamismo a las paginas web. Este conjunto de herramientas gano rápidamente popularidad y fue posteriormente completamente rediseñado por ZeevSuraski y AndiGutmans y rebautizado como PHP 3.0. Mas tarde se ha vuelto a rediseñar completamente el interprete, añadiéndole mas potencia y nuevas funcionalidades, para dar lugar al lenguaje que hoy conocemos como PHP4. PHP es un lenguaje de programación que contiene muchos conceptos de C, Perl y Java. Su sintaxis es muy similar a la de estos lenguajes, haciendo muy sencillo su aprendizaje incluso a programadores noveles. El código PHP esta embebido en documentos HTML de manera que es muy fácil incorporar información actualizada en un sitio web.

CARACTERISTICAS FUNDAMENTALES DEL LENGUAJE PHP es un lenguaje para la creación de sitios web del que se pueden destacar las siguientes características: 

Es un potente y robusto lenguaje de programación embebido en documentos HTML.

Dispone de librerías de conexión con la gran mayoría de los sitemas de gestión de bases de datos para el almacenamiento de información permanente en el servidor.

34


Proporciona soporte a multiples protocolos de comunicaciones en Internet (HTTP, IMAP, FTP, lDAP, SNMP, etc.)

Codigo Fuente Abierto.

Gratuito.

Portable y multiplataforma.

Eficiente.

Alta velocidad y desarrollo.

PHP se ejecuta en el servidor. 1.12 INTRODUCCION A MySQL Para manejar una base de datos MySql, asi como para crearla, crear modificar o eliminar tablas, o cualquier otra operación que deseemos llevar a cabo tenemos que empezar haciendo que nuestro script se conecte al motor de Mysql. Recuerde lo que le he comentado unas líneas mas arriba: el script da las instrucciones al motor de la BBDD y es este quien se encarga de operar sobre ella. Para establecer esta conexión contamos con la instrucción mysql_connect (), que recibe los siguientes argumentos 1.13 NetBeans NetBeans es un entorno de desarrollo, hecho principalmente para el lenguaje de programación Java. Existe además un número importante de módulos para extender el NetBeans IDE. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos. La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamadosmódulos. Un módulo es un 35


archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software. 1.14 APPSERV http://www.tallerwebmaster.com/tutorial/instalacion-de-appserv-php-apachemysql/67/ Appserv es una herramienta OpenSource para Windows que facilita la instalación de Apache, MySQL y PHP en la cual estas aplicaciones se configuran en forma automática. Como extra incorpora phpMyAdmin para el manejo de MySQL Es un software que permite la instalación en nuestro entorno Windows, de los siguientes paquetes: 

Apache Web Server (versión 2.2.3)

Lenguaje PHP (versión 5 o 4, en mi caso instale la 5.1.6)

Base de datos MySQL (versión 5.0.24)

Manejador de base de datos phpMyAdmin (versión 2.9.0.2)

Esto es lo que incluye el actual paquete AppServ 2.5.7, es obvio pero vale la pena recordar que como esta formado por 4 paquetes (apache, php, mysql, phpmyadmin), cada uno sigue lanzando nuevas versiones, que podemos instalar por separado o esperar la próxima versión de AppServ. Por lo general no debemos apresurarnos ya que nuestro PC lo usamos de entorno de desarrollo y testeo de las aplicaciones.

36


1.15 StarUML StarUML es una herramienta para el modelamiento de software basado en los estándares UML (Unified Modeling Language) y MDA (Model Driven Arquitecture), que en un principio era un producto comercial y que hace cerca de un año paso de ser un proyecto comercial (anteriormente llamado plastic) a uno de licencia abierta GNU/GPL. El software heredó todas las características de la versión comercial y poco a poco ha ido mejorando sus características, entre las cuales se encuentran: * Soporte completo al diseño UML mediante el uso de. * Definir elementos propios para los diagramas, que no necesariamente pertenezcan al estándar de UML, * La capacidad de generar código a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes c++, c# y java. * Generar documentación en formatos Word, Excel y PowerPoint sobre los diagramas Diagrama de casos de uso Diagrama de secuencia Diagrama de colaboración Diagrama de estados Diagrama de actividad Diagrama de componentes Diagrama de despliegues Diagrama de composición estructural UML 2.0 * Patrones GoF (Gang of Four) , EJB (Enterprise JavaBeans) y personalizados. 37


* Plantillas de proyectos. * Posibilidad de crear plugins para el programa. En definitiva esta es una de las mejores alternativas gratis que hay en Internet para el modelamiento de software y probablemente una gran ayuda a la hora de programar juegos. 1.16 Metodología de la investigación Según nuestro instructivo de estudio de casos tenemos este trabajo como tipo c y d o sea c análogo y la analogía es proyecto de pre-inscripciones de ciclo - analogía – inscripciones de ciclo Aritmético este trabajo presenta una medición estadística de los alumnos preinscritos al nuevo ciclo de la facultad de ciencias económicas Y tipo d: estudios incorporados a esquema de construcción teórica general información del trabajo empírico: realización de horas sociales por alumno del grupo en pre-inscripciones del ciclo I- 2010 de la facultad de Ciencias Económicas.

38


1.17 Resultado del Análisis I. ¿Cuál es tu género? Genero Masculino 62.50% Femenino 37.50%

Análisis: Independientemente de que la mayoría de encuestados fuera hombres, el tema abordado en la encuesta es de vital importancia para ambos géneros. Hoy en día se están empezando a borrar muchos dogmas sociales, el internet y todos los servicios que este proporciona son utilizados tanto por hombres como por mujeres.

39


II. ¿Cuál es tu edad?

18 – 25 26 – 35 36 – 40

Rango 54.17% 41.67% 4.16%

Análisis: El hecho de que la mayoría de encuestados están en los rangos de 18 a 25 años y de 26 a 35 años nos da a conocer que la universidad cuenta con una población estudiantil bastante joven. La informática ya es un hecho inherente en la vida de los jóvenes, vivimos en la era de la información, el internet se ha convertido en una herramienta para eficientar el trabajo y optimizar recursos. Aunque no hay que descuidar a los adultos mayores, a pesar de que son la minoría es importante de que se les capacite para utilizar las herramientas con que se cuenta hoy en día.

40


1. ¿Conoce un programa de pre-inscripción en línea?

SI NO

33.37% 66.67%

Análisis: El hecho que la mayoría de los estudiantes no conozcan sistemas de preinscripción en línea, quiere decir que se tendrían que organizar una serie de charlas e impresiones de volantes que expliquen de forma detallada las ventajas de este tipo de sistemas y cuál será su funcionamiento.

41


2. ÂżCree que estos programas son de utilidad?

SI NO

100% 0%

AnĂĄlisis: Es muy inspirador saber que a todos los encuestados les parecen Ăştiles este tipo de sistemas. Esta cifra da la pauta para que en la universidad se puedan implementar sistemas de este tipo.

42


3. ¿Tiene acceso a internet?

SI NO

83.33% 16.67%

Análisis:

En este caso se puede entender que la mayoría de alumnos tienen las posibilidades de conectarse a internet lo que da la pauta para que se pueda implementar este sistema, sería muy importante evaluar si les es más factible inscribir manualmente a los que no disponen de conexión a interne

43


4. ¿Cree que este tipo de programa son seguros?

SI NO

54.17% 45.83%

Análisis: Para que el sistema de preinscripción en línea de los resultados esperados es necesario explicarle a la población estudiantil como va a funcionar y las medidas que el sistema tomara para garantizar la confidencialidad de los datos proporcionados.

44


5. ¿Le atraería un programa de inscripción en línea?

SI NO

83.33% 16.67%

Análisis: Mucho más importante que los que si les atrae el sistema, es más importante analizar porque al 16.67% de los estudiantes no les atrae, una vez identificadas estas causas se puede desarrollar un sistema de preinscripción que satisfaga las necesidades tanto del alumno como de la UNIVERSIDAD.

45


6. ¿Crees que la inscripción en línea es accesible en nuestro país?

SI NO

79.17% 20.83%

Análisis: Es necesario comprender porque el 20.83% considera que la preinscripción no es accesible ya que hoy en día el acceso a una computadora y a internet es mucho más fácil que nunca, es más, la Universidad da las herramientas necesarias para poder implementar un sistema de este tipo.

46


7. ¿Te conviene un programa de inscripción en línea?

SI NO

83.33% 16.76%

Análisis: El hecho de que a la mayoría le convenga un programa de inscripción en línea, da la pauta para que este tipo de sistema se pueda implementar, aun que para que tenga éxito es necesario analizar porque al 16.76% no le conviene, hay que tratar la manera de que el sistema sea accesible y conveniente para todos.

47


8. ¿Le gustaría ser parte de un programa en línea si este le horraría tiempo? SI NO

87.50% 12.50%

Análisis. La mayoría está consciente de que hacer una inscripción en línea les ahorraría mucho más tiempo que hacerla manual, un estudiante puede hacerla incluso desde su casa. El 12.5% tal vez piensa que les quitaría tiempo porque no saben utilizar muy bien una computadora, es necesario charlas en donde se explique las ventajas del sistema y su funcionamiento para que así todos los estudiantes estén informados.

48


9. ¿Si su primera inscripción en línea fuera gratificante lo hiciera por segunda vez?

SI NO

91.67% 8.33%

Análisis: Esto demuestra lo que dije el adagio popular ―La primera impresión es la más importante‖, si el sistema resulta sencillo, practico, eficaz y eficiente, entonces la mayoría de alumnos estará dispuesto a utilizarlo cada ciclo.

49


10.¿Crees que una inscripción en línea pueda ser práctica y puntual? SI NO

83.33% 16.67%

Análisis: Hay que cambiarla impresión del 16.67% creando un sistema que sea practico y sencillo de utilizar para los estudiantes, es necesario tener un 100% de aceptación, una sola persona puede hacer que a otras personas no les guste el sistema, en nuestro país la publicidad que va de boca en boca es muy importante.

50


1.18 DiseĂąo del producto Modelo Funcional Inicial

51


Proceso del programa

52


1.19 Requerimiento descriptivo

Nombre:

Ingresar alumnos Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Alumnos: Es cuando los alumnos desean ingresar al sistema por medio de su carnet y clave. Actores: Alumno. Precondiciones: El alumno ya debe estar matriculado para que se le pueda proporcionar su carnet y clave Flujo normal: 1- El sistema solicita un carnet y una clave. 2- El alumno ingresa su carnet y clave. 3- El sistema verifica los datos ingresados. 4- El sistema acepta los datos ingresados. Flujo alternativo: 2ª. El usuario y contraseña no son validos 1. El sistema notifica al alumno que los datos ingresados so inválidos. 2. El sistema solicita nuevamente que se ingresen los datos. 3. El sistema muestra una notificación refiriendo al departamento de informática para comprobar sus datos. Poscondiciones: Consulta de datos personales, consulta de calificaciones, consulta de materias disponibles, consulta de materias cursadas, preinscripción de materias, envío de sugerencias.

53


Nombre:

Ingresar administración Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Administración: Es cuando los usuarios administrativos desean ingresar al sistema. Actores: Administración Precondiciones: Trabar en el departamento de administración y poseer su propio usuario y clave. Flujo normal: 1- El sistema solicita un usuario y una clave. 2- El empleado ingresa su carnet y clave. 3- El sistema verifica los datos ingresados. 4- El sistema acepta los datos ingresados. Flujo alternativo: 2ª. El usuario y contraseña no son validos 1. El sistema notifica al empleado que los datos ingresados so inválidos. 2. El sistema solicita nuevamente que se ingresen los datos. El sistema muestra una notificación refiriendo al departamento de informática para comprobar sus datos. Poscondiciones: Consulta de tendencias.

54


Nombre:

Preinscribir Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es la acción que realiza el alumno de seleccionar las posibles materias que cursara en el ciclo inmediatamente superior. Actores: Alumno Precondiciones: El alumno ya debe de haber ingresado al sistema. Flujo normal: 1- El sistema comprueba las materias que el alumno puede cursar. 2- E sistema informa al alumno de dichas materias y de los horarios disponibles. 3- El alumno selecciona las materias que cursara. 4- El sistema comprueba las materias y los horarios escogidos por los alumnos. 5- El alumno envía la solicitud de preinscripción. 6- El sistema envía a la base de datos la información proporcionada por el usuario. 7- El sistema guarda la información en la base de datos. Flujo alternativo: 4a Los horarios seleccionados chocan. 1- El sistema no almacena la información. 2- El sistema informa del error al alumno para que pueda corregirlo. Poscondiciones: El alumno preinscribe sus materias.

55


Nombre:

Imprimir Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es una de las acciones que puede realizar el alumno o el administrador al ingresar a ciertas partes del sistema Actores: Alumno, administración Precondiciones: Realizar una consulta Flujo normal: 1- El usuario realiza una consulta. 2- El sistema procesa la consulta y muestra los resultados. 3- El usuario manda la orden de impresión. 4- El sistema imprime la consulta. Flujo alternativo: 4ª El sistema no encuentra un impresor disponible. 1- El sistema no procesa la impresión. 2- Informa al usuario de los impresores disponibles. Poscondiciones: Impresión de preinscripción, de notas, historial de notas, tendencias.

56


Nombre:

Sugerir Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es la acción que realiza el usuario al mandar un texto que refleja su opinión sobre determinados elementos de la universidad.an Actores: Alumno Precondiciones: Haber ingresado al sistema. Flujo normal: 1- El usuario entra a la sección de sugerencias. 2- Escribe su sugerencia la cual debe de ser igual o inferior al número de caracteres permitidos. 3- El usuario manda su sugerencia. 4- El sistema procesa la sugerencia. 5- El sistema manda a administración la sugerencia. Flujo alternativo: 3a No se ingresa ningún carácter. 1- El sistema no procesa la sugerencia. 2- El sistema muestra un mensaje de error señalando que no se ha ingresado ningún carácter. 3- El sistema pide al usuario que digite nuevamente su sugerencia. Poscondiciones: Envío de sugerencia

57


Nombre:

Consultar tendencias Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es la consulta realizada por administración a donde se muestran estadísticas referentes al crecimiento estudiantil. Actores: Administración. Precondiciones: Haber ingresado en el sistema Flujo normal: 1- El usuario ingresa a lo zona tendencias en el sistema. 2- El usuario selecciona la tendencia que desea ver. 3- El sistema procesa la consulta. 4- El sistema muestra los resultados de la consulta. Flujo alternativo: 2ª No se selecciona ninguna opción 1. El sistema advierte al usuario del error. 2. El sistema solicita ingresar una opción de búsqueda valida. Poscondiciones: Consultar las distintas tendencias que habilita el sistema.

58


Nombre:

Validar materias Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es el proceso que realiza el administrador para validar las materias de los alumnos. Actores: Administración Precondiciones: Haber ingresado al sistema. Flujo normal: 1- El usuario ingresa los pensum correspondientes a cada carrera. 2- Asigna un código y prerrequisito para cada materia. 3- Establece el número máximo de unidades valorativas que puede tener un estudiante por ciclo. 4- El sistema almacena los pensum los cuales servirán para validar las materias de los estudiantes. Flujo alternativo: 1ª Se ingresa una materia errónea o se ingresa una cantidad no valida de unidades valorativas. 1. Es imposible que el sistema advierte este tipo de errores, es una operación que debe de realizarse muy cuidadosamente. Poscondiciones: Ingreso de los pensum.

59


Nombre:

Historial notas Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es la consulta que puede realizar el estudiante de las notas que ha tenido en sus ciclos pasados. Actores: Estudiante. Precondiciones: Haber ingresado al sistema, estar solvente con los pagos. Flujo normal: 1- El usuario ingresa a la sección de historial. 2- El sistema mostrar todas las materias aprobadas y reprobadas con sus respectivas calificaciones. 3- El sistema mostrara el CUM del alumno. 4- El sistema mostrara el total de unidades valorativas obtenidas por el alumno. Flujo alternativo: 2a El alumno no está solvente de pagos. 1. El sistema notificara al estudiante de su insolvencia. Poscondiciones: Consulta del historial de notas.

60


Nombre:

Notas actuales Edwin Antonio Flores Martínez

Autor:

Juan Claudio Valle García José María López Vásquez

Fecha:

27/03/2011

Descripción: Es la consulta de las notas actuales del estudiante. Actores: Alumno Precondiciones: Haber ingresado al sistema, estar solvente de pago Flujo normal: 1- El usuario ingresa a la sección de consulta de notas actuales. 2- El sistema mostrara las materias que está cursando junto con las notas correspondientes a cada periodo. Flujo alternativo: 2a El alumno no está solvente de pagos. 1. El sistema notificara al alumno de su insolvencia. 2b Administración no le ha asignado las notas al alumno. 1. El sistema mostrara hasta que fecha se ingresaran las notas del periodo correspondiente. Poscondiciones: Consulta de las notas actuales.

61


1.20 Diagrama de Colaboraciรณn

62


1.21 Diagrama de clases

63


1.22 Modelo Entidad Relaciรณn

64


1.23 CONCLUSIONES En base a los resultados que se obtuvieron en la investigación, se ha llegado a las siguientes conclusiones:

1. El sistema de preinscripción en línea será de gran utilidad tanto a los estudiantes como a la Universidad.

2. Los alumnos serán capaces de realizar su preinscripción y de consultar sus notas de una forma fácil y rápida.

3. Gracias a la información suministrada por el sistema la Universidad será capaz de elaborar horarios con más eficiencia, eficacia y que se ajusten a las necesidades de los alumnos.

4. El sistema le permitirá a la universidad consultar las distintas tendencias de inscripción de las materias y le permitirá elaborar estadísticas sobre el crecimiento estudiantil.

65


1.24 BIBLIOGRAFIA: Fco. Javier Gil Rubio,Jorge A. Tejedor Cerbel, AgustinYague Panadero,Santiago Alonso Villaverde,Abraham GutierrezRodriguez ,Creacion de sitios web con PHP 4 Interamericana de EspaĂąa, S.A.U. 2001. McGrawHill. http://www.analitica.com/bitblio/roberto/teoria.asp Wikipedia la enciclopedia libre http://es.wikipedia.org/wiki/Teor%C3%ADa_de_la_computaci%C3%B3n http://es.wikipedia.org/wiki/Anexo:Historia_de_la_computaci%C3%B3n http://es.wikipedia.org/wiki/Historia_de_Internet

:

66


ANEXO Ingreso al sistema:

67


Pantalla inicio

68


Pantalla de pre-inscribir

69


Pantalla de pre-inscripciรณn realizada

70


UNIVERSIDAD PEDAGOGICA DE EL SALVADOR FACULTAD DE CIENCIAS ECONOMICAS

GUIA DE ENCUESTA PARA LOS ESTUDIANTES Encuesta Nº ______ Tema: Sistema de Inscripción en línea de la Universidad Pedagógica de El Salvador. Saludo y solicitud de colaboración: Muy buenos días, quisiéramos que nos dedicara un poco de su tiempo para contestar la siguiente encuesta, los objetivos de esta encuesta son conocer los sistemas en línea que hay en las universidades. Este instrumento responde a la investigación de sistemas que hay para inscribir materias y ayudara a fomentar unas formas nueva y rápida en el ámbito estudiantil. Indicación: Marque con una ―X‖ la respuesta que considere pertinente; en algunos casos complemente o explique. PRIMERA PARTE: DATOS GENERALES

1. Género:

Masculino

Femenino

2. Edad: _____________ años.

3. Carrera que estudia: ___________________________

4. Ciclos cursados: ______________________________.

71


Interrogantes 1. ¿Conoce un programa de pre-inscripción en línea? Si

No

2. ¿Cree que estos programas son de utilidad? Si

No

3. ¿Tiene acceso a internet? Si

No

4. ¿Cree que este tipo de programa son seguros? Si

No

5. ¿Le atraería un programa de inscripción en línea? Si

No

6. ¿Crees que la inscripción en línea es accesible en nuestro país? Si

No

7. ¿Te conviene un programa de inscripción en línea? Si

No

8. ¿Le gustaría ser parte de un programa en línea si este le horraría tiempo? Si

No

9. ¿Si su primera inscripción en línea fuera gratificante lo hiciera por segunda vez. Si

No

10. ¿Crees que una inscripción en línea pueda ser práctica y puntual? Si

No

72


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.