You are on page 1of 18

1

Asesor Tcnico: Ing. Catalina Patio Gallegos












TESIS
QUE PRESENTA PARA OBTENER EL TTULO DE INGENIERO EN
COMUNICACIONES Y ELECTRNICA:







Instituto Politcnico Nacional
Escuela Superior de Ingeniera Mecnica y
Elctrica

Implementacin de una pgina Web para la
Subdireccin Acadmica de la ESIME Zacatenco
Castan Leo Joel Ariosto


2

Contenido
Contenido ................................................................................................................ 2
Planteamiento del problema: ................................................................................... 3
Objetivo general: ..................................................................................................... 3
Objetivos especficos: ............................................................................................. 3
Justificacin ............................................................................................................. 4
1 Aplicaciones Web ............................................................................................. 5
1.1 Modelo Cliente Servidor .......................................................................... 5
1.1.1 Caractersticas de la arquitectura Cliente Servidor ........................... 6
1.2 Cliente ........................................................................................................ 7
1.3 Servidor ...................................................................................................... 8
1.3.1 Tipos de Servidores ............................................................................. 8
1.3.2 Servidor Web ....................................................................................... 9
1.3.3 Servidor IIS ........................................................................................ 10
1.4 Base de Datos .......................................................................................... 10
1.5 Lenguaje de Programacin Web .............................................................. 12
1.6 Metodologas para Desarrollo de Software .............................................. 13
1.6.1 Metodologas Estructuradas .............................................................. 14
1.6.2 Metodologas Orientadas a Objetos .................................................. 14
1.6.3 Metodologas Tradicionales ............................................................... 15
1.6.4 Metodologas giles .......................................................................... 15
2 Desarrollo ....................................................................................................... 17
3 Bibliografa ......................................................................................................... 18

3




Figura 4.1: Ilustra un sistema bsico Cliente Servidor [24] ................................... 6

Planteamiento del problema:
Debido a la necesidad de dar a conocer la estructura y las actividades que tiene el
departamento de Subdireccin Acadmica, se decide implementar una mejora a
su pgina Web, ya que con el desarrollo de un nuevo diseo, el modo de
desplegar la informacin sobre las actividades, ser ms funcional para la
comunidad Politcnica.
Objetivo general:
Desarrollar una pgina Web, en la cual se integrarn de una forma ms
organizada, detallada y especfica toda la informacin pertinente del rea de
Subdireccin Acadmica, as como cubrir un diseo ms amigable para los
usuarios, una navegacin ms comprensible y un ambiente ms familiar.
Objetivos especficos:
Creacin de mens dinmicos para la fcil navegacin de los usuarios, incluir
submens especficos por reas, desde Recursos Humanos hasta Contabilidad.
Creacin de un organigrama funcional del rea por departamentos que la
constituyen.



4

Justificacin




















5

1 Aplicaciones Web
Una aplicacin Web son aquellas herramientas que los usuarios pueden utilizar
accediendo a un servidor Web a travs de Internet o de una intranet mediante un
navegador. Es una aplicacin de software que se codifica en un lenguaje
soportado por los navegadores Web en la que se confa la ejecucin del
navegador.
Las aplicaciones Web son populares debido a lo prctico del navegador Web
como cliente ligero, a la independencia del sistema operativo, as como a la
facilidad para actualizar y mantener aplicaciones Web sin distribuir e instalar
software a miles de usuarios potenciales.

1.1 Modelo Cliente Servidor
Desde el punto de vista funcional, se puede definir al modelo Cliente - Servidor
como una arquitectura distribuida que permite a los usuarios finales obtener
acceso a la informacin en forma transparente an en entornos multiplataforma,
en esta seccin se reproducen conceptos y definiciones de los libros Desarrollo
de Aplicaciones Web [18] y Client/Server Software Architectures [19].
En el modelo Cliente - Servidor, el cliente enva un mensaje solicitando un
determinado servicio a un servidor (hace una peticin), y este enva uno o varios
mensajes con la respuesta (provee el servicio). La Figura 1.1 ilustra un sistema
bsico Cliente - Servidor.

6


Figura 1.1: Ilustra un sistema bsico Cliente Servidor [24]
La idea es tratar a una computadora como un instrumento, que por s sola pueda
realizar tareas, pero con la consideracin de que realice solo aquellas tareas para
la cuales fue programada. Si esto se aplica tanto a clientes como a servidores, se
entiende que la forma estndar de aplicacin y uso de sistemas Cliente Servidor
es mediante la explotacin de las PCs y de las interfaces de usuario. Usualmente
la mayora del trabajo pesado se hace en el proceso llamado servidor y el o los
procesos cliente slo se ocupan de la interaccin con el usuario, aunque esto
puede variar. En otras palabras, la arquitectura Cliente Servidor es una
extensin de la programacin modular en la que la base fundamental es separar
una gran pieza de software en mdulos con el fin de hacer ms fcil el desarrollo y
mejorar su mantenimiento.
1.1.1 Caractersticas de la arquitectura Cliente Servidor
Las caractersticas bsicas de una arquitectura Cliente Servidor son:
Combinacin de un cliente que interacta con el usuario, y un servidor que
interacta con los recursos compartidos. El proceso del cliente proporciona
la interfaz entre el usuario y el resto del sistema. El proceso del servidor
acta como un motor de software que maneja recursos compartidos tales
como bases de datos, impresoras, mdems, etc.

7

La relacin establecida puede ser de uno a varios, en la que el servidor
puede dar servicio a muchos clientes, regulando su acceso a recursos
compartidos.
Los clientes corresponden a procesos activos en cuanto a que son stos los
que hacen peticiones de servicios a los servidores. Estos ltimos tiene un
carcter pasivo, ya que esperan las peticiones de los clientes.
No existe otra relacin entre clientes y servidores que no sea la que se
establece a travs del intercambio de mensajes entre ambos. El mensaje es
el mecanismo para la peticin y entrega de solicitudes de servicio.
El ambiente es heterogneo. La plataforma de hardware y el sistema
operativo del cliente y del servidor no son siempre iguales. Precisamente
una de las principales ventajas de esta arquitectura es la posibilidad de
conectar clientes y servidores independientemente de sus plataformas.

1.2 Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y
pasarlos al servidor, se le conoce con el trmino front-end. [19].
El cliente normalmente maneja todas las funciones relacionadas con la
manipulacin y despliegue de datos, por lo que estn desarrollados sobre
plataformas que permiten construir interfaces grficas de usuario, adems de
acceder a los servicios distribuidos en cualquier parte de una red.
Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes
puntos:
Administrar la interfaz de usuario.
Interactuar con el usuario.
Procesar la lgica de la aplicacin y hacer validaciones locales.
Generar requerimientos de base de datos.

8

Recibir resultados del servidor.

1.3 Servidor
Es el proceso encargado de atender a mltiples clientes que hacen peticiones de
algn recurso administrado por l. Al proceso servidor se le conoce con el trmino
de back-end. El servidor normalmente maneja todas las funciones relacionadas
con la mayora de las reglas del negocio y los recursos de datos, [19].
Las funciones que lleva a cabo el proceso servidor se resume en los siguientes
puntos:
Aceptar requerimientos de bases de datos que hacen los clientes.
Procesar requerimientos de base de datos.
Formatear datos para transmitirlos a los clientes.
Procesar la lgica de la aplicacin y realizar validaciones a nivel base de
datos.
1.3.1 Tipos de Servidores
En la actualidad existen diversos tipos de servidores para realizar tareas de
acuerdo al funcionamiento de cada uno, a continuacin se describen algunos de
ellos [24].
Servidores de Aplicaciones: Designados a veces como tipo middleware
(software que conecta dos aplicaciones), los servidores de aplicaciones
ocupan una gran parte del territorio entre los servidores de base de datos y
el usuario, y a menudo los conectan.
Servidores FTP: Uno de los servicios ms antiguos de Internet, File
Transfer Protocol permite mover uno o ms archivos con seguridad entre
distintos ordenadores proporcionando seguridad y organizacin de los
archivos as como control de transferencia.

9

Servidores Proxy: Los servidores Proxy se sitan entre un programa del
cliente (tpicamente un navegador) y un servidor externo (tpicamente otros
servidores web) para filtrar peticiones, mejorar el funcionamiento y
compartir conexiones.
Servidores Web: Bsicamente, un servidor web sirve contenido esttico a
un navegador, carga un archivo y lo sirve a travs de la red al navegador
del usuario. Este intercambio es mediado por el navegador y el servidor
que se comunican el uno con el otro mediante HTTP (HyperText Transfer
Protocol, Protocolo de Transferencia de Hipertexto).

1.3.2 Servidor Web
Un Servidor Web es un programa que sirve datos en forma de pginas Web, es
decir hipertexto o pginas HTML (HyperText Markup Lenguage, Lenguaje de
Marcado de Hipertexto), que son textos complejos con enlaces, figuras,
formularios, botones y objetos incrustados como animaciones o reproductores de
sonidos. La comunicacin de estos datos entre cliente y servidor se hace por
medio de un protocolo, concretamente el protocolo HTTP. Con esto, un servidor
Web se mantiene a la espera de peticiones HTTP dirigidas al servidor que tiene
asociada dicha URL (Uniform Resource Locator, Localizador de Recursos
Uniforme). Una URL es una secuencia de caracteres, de acuerdo a un formato
modlico y estndar, que se usa para nombrar recursos en internet para su
localizacin o identificacin, como por ejemplo documentos textuales, imgenes,
videos, presentaciones digitales, etc. El servidor responde al cliente enviando el
cdigo HTML de la pgina; posteriormente cuando el navegador recibe el cdigo,
lo interpreta y lo muestra en pantalla. Dado que el servidor, es el cliente el
encargado de interpretar el cdigo HTML, es decir, de mostrar las fuentes, los
colores y la disposicin de los textos y objetos de la pgina. El servidor se encarga

10

de transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de la
misma. [22]

1.3.3 Servidor IIS
Internet Information Services, es un servidor Web y un conjunto de servicios para
el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack
para Windows NT. Luego fue integrado en otros sistemas operativos de Microsoft
destinados a ofrecer servicios, como Windows 2000 o Windows Server 2003. Los
servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.
Este servicio convierte a una PC en un servidor web para Internet o Intranet, es
decir que en las computadoras que tienen este servicio instalado se pueden
publicar pginas web tanto local como remotamente.
Se basa en varios mdulos que le dan la capacidad para procesar distintos tipos
de pginas. Por ejemplo, Microsoft lo de Active Server Pages (ASP) y ASP.NET.
Tambin pueden ser incluidos los de otros fabricantes, como PHP y Perl. [23]

1.4 Base de Datos
Una base de datos es un sistema de archivos electrnicos que contienen una
coleccin organizada de forma que un programa de una computadora pueda
seleccionar rpidamente los fragmentos de datos que necesite. Para la definicin
anterior y para la descripcin de lo que es una base de datos y los diferentes tipos
de bases se hacen referencia al libro MySQL [20].
En la actualidad y a consecuencia del avance tecnolgico en cuestin informtica,
electrnica y entre otras reas; se han generado la necesidad de crear respaldos
de los diferentes tipos de datos especficos a necesidades de cada sector, es por

11

ello que las bases de datos han sido empleadas ampliamente para el registro y
explotacin de informacin en gran cantidad, ya que en ellas se almacenan datos
desde nombres, artculos, cantidades de dinero, entre otros, permitiendo poder
llevar un control ms preciso dentro de una pequeas, medianas y grandes
empresas, lo cual les ha ayudado a resolver distintas tareas por medio de las PCs
y con la ayuda de los sistemas de base de datos.
Existen programas los cuales son denominados sistemas gestores de base de
datos, que permiten almacenar y posteriormente acceder a los datos de forma
rpida y estructurada. Dentro de estos se pueden mencionar:
Microsoft SQL Server
PostgreSQL
SQLite
DB2 express-C
Apache Derby
DBase
DB2
Microsoft Access
MySQL

De los sistemas gestores de base de datos mencionados, se hablar de Microsoft
SQL Server, ya que este sistema es el que mejor se adapta al proyecto a realizar.
Microsoft SQL Server, se trata de un sistema para la gestin de base de datos
producido por Microsoft basado en el modelo relacional. Sus lenguajes para
consultas son T-SQL y ANSI SQL. Microsoft SQL Server constituye la alternativa
de Microsoft a otros potentes sistemas gestores de bases de datos como son
Oracle, PostgreSQL o MySQL.
Algunas de las caractersticas de Microsoft SQL Server son:

12

Soporte de transacciones.
Soporta procedimientos almacenados.
Incluye un entorno grfico de administracin, que permite el uso de comandos
DDL y DML grficamente.
Permite trabajar en modo Cliente-Servidor, donde la informacin y datos se alojan
en el servidor y los terminales o clientes de la red solo acceden a la informacin.
Permite administrar informacin de otros servidores de datos.

1.5 Lenguaje de Programacin Web
Como se mencion anteriormente en la seccin 4.3.2, los servidores Web se
encargan de atender peticiones de contenidos HTML estticos y dinmicos. En el
caso de los contenidos dinmicos, las pginas HTML usualmente incluyen cdigos
que permiten la interaccin con el usuario. En la actualidad, existen diferentes
tipos de lenguajes de programacin para desarrollar en la Web, estos han ido
surgiendo debido a las tendencias y necesidades de las plataformas. Para explicar
sobre los lenguajes de programacin y algunos conceptos se hace referencia al
Manual PHP [21]
Desde los inicios de internet y a medida que paso el tiempo, las tecnologas fueron
desarrollndose y surgieron nuevos problemas a solucionar o necesidades que
atender. Esto dio lugar al desarrollo de lenguajes de programacin para la Web,
que permitieran la interaccin de los usuarios y el empleo de sistemas de base de
datos. Algunos de estos lenguajes son:
JAVASCRIPT
ASP
JSP
PYTHON
PHP
Por lo tanto, para el proyecto realizado, se utiliz el lenguaje de programacin
Active Server Pages (ASP), el cual es un lenguaje de programacin de servidores

13

para generar pginas Web dinmicamente. Se conocen cuatro versiones de este
lenguaje las 1.0, 2.0, 3.0 y la ASP.NET mejor conocida como ASP Clsica.
ASP, se crea en el ao de 1996, lo que ofreca de nuevo este lenguaje era que se
poda crear una pgina Web en la que se pudiese programar para que nos
ofreciera datos determinados. Esto era una gran ventaja ya que en esa poca,
solo se poda dibujar una tabla e incluir unos pocos datos.
Posteriormente se crea el lenguaje ASP.NET que es un lenguaje mucho ms
complejo que el original ASP. Este lenguaje permite separar la parte de diseo
que contiene una pgina Web, no interviniendo para nada el cdigo HTML. As el
trabajo de los diseadores y programadores se torna ms sencillo.

1.6 Metodologas para Desarrollo de Software

Un proceso de software detallado y completo suele denominarse Metodologa.
Las metodologas se basan en una combinacin de los modelos de proceso
genricos (cascada, evolutivo, incremental, espiral entre otros). Adicionalmente
una metodologa debera definir con precisin los artefactos, roles y actividades
involucrados, junto con prcticas y tcnicas recomendadas, guas de adaptacin
de la metodologa al proyecto, guas para uso de herramientas de apoyo, etc.
Habitualmente se utiliza el trmino mtodo para referirse a tcnicas, notaciones y
guas asociadas, que son aplicables a una (o algunas) actividades del proceso de
desarrollo, por ejemplo, suele hablarse de mtodos de anlisis y/o diseo.
La comparacin y/o clasificacin de metodologas no es una tarea sencilla debido
a la diversidad de propuestas y diferencias en el grado de detalle, informacin
disponible y alcance de cada una de ellas. A grandes rasgos, si se toman cmo
criterio las notaciones utilizadas para especificar artefactos producidos en
actividades de anlisis y diseo, se pueden clasificar las metodologas en dos
grupos: Metodologas Estructuradas y Metodologas Orientadas a Objetos. Por

14

otra parte, considerando su filosofa de desarrollo, aquellas metodologas con
mayor nfasis en la planificacin y control del proyecto, en especificacin precisa
de requisitos y modelado, reciben el apelativo de Metodologas Tradicionales (o
tambin denominadas Metodologas Pesadas, o Peso Pesado). Otras
metodologas, denominadas Metodologas giles, estn ms orientadas a la
generacin de cdigo con ciclos muy cortos de desarrollo, se dirigen a equipos de
desarrollo pequeos, hacen especial hincapi en aspectos humanos asociados al
trabajo en equipo e involucran activamente al cliente en el proceso.


1.6.1 Metodologas Estructuradas
Los mtodos estructurados comenzaron a desarrollarse a finales de los 70s con la
Programacin Estructurada, luego a mediados de los 70s aparecieron tcnicas
para el Diseo (por ejemplo: el diagrama de Estructura) primero y posteriormente
para el Anlisis (por ejemplo: Diagramas de Flujo de Datos). Estas metodologas
son particularmente apropiadas en proyectos que utilizan para la implementacin
lenguajes de 3ra y 4ta generacin.
Ejemplos de metodologas estructuradas de mbito gubernamental: MERISE
(Francia), MTRICA (Espaa), SSADM (Reino Unido). Ejemplos de propuestas de
mtodos estructurados en el mbito acadmico: Gane & Sarson, Ward & Mellor,
Yourdon & DeMarco e Information Engineering.


1.6.2 Metodologas Orientadas a Objetos
Su historia va unida a la evolucin de los lenguajes de programacin orientada a
objeto, los ms representativos: a fines de los 60s SIMULA, a fines de los 70s
Smalltalk-80, la primera versin de C++ por Bjarne Stroustrup en 1981 y
actualmente Java o C# de Microsoft. A fines de los 80s comenzaron a

15

consolidarse algunos mtodos Orientadas a Objeto.
En 1995 Booch y Rumbaugh proponen el Mtodo Unificado con la ambiciosa idea
de conseguir una unificacin de sus mtodos y notaciones, que posteriormente se
reorienta a un objetivo ms modesto, para dar lugar al Unified Modeling Language
(UML), la notacin Orientada a Objetos ms popular en la actualidad.
Algunas metodologas orientadas a objetos que utilizan la notacin UML son:
Rational Unified Process (RUP),
OPEN,
MTRICA (que tambin soporta la notacin estructurada).

1.6.3 Metodologas Tradicionales
Las metodologas no giles son aquellas que estn guiadas por una fuerte
planificacin durante todo el proceso de desarrollo; llamadas tambin
metodologas tradicionales o clsicas, donde se realiza una intensa etapa de
anlisis y diseo antes de la construccin del sistema.
Todas las propuestas metodolgicas antes indicadas pueden considerarse como
metodologas tradicionales. Aunque en el caso particular de RUP, por el especial
nfasis que presenta en cuanto a su adaptacin a las condiciones del proyecto
(mediante su configuracin previa a aplicarse), realizando una configuracin
adecuada, podra considerarse gil.


1.6.4 Metodologas giles
Un proceso es gil cuando el desarrollo de software es incremental (entregas
pequeas de software, con ciclos rpidos), cooperativo (cliente y desarrolladores
trabajan juntos constantemente con una cercana comunicacin), sencillo (el
mtodo en s mismo es fcil de aprender y modificar, bien documentado), y

16

adaptable (permite realizar cambios de ltimo momento).
Entre las metodologas giles identificadas son:
Extreme Programming
Scrum
Familia de Metodologas Crystal
Feature Driven Development
Proceso Unificado Rational, una configuracin gil
Dynamic Systems Development Method
Adaptive Software Development
Open Source Software Development












17

2 Desarrollo


















18

3 Bibliografa
[1] Carles Mateu i piol, Desarrollo de aplicaciones web, 2008.
[2] Carnegie Mellon, Software Engeenering Institute. Cliente/Server Software
Architectures, Overview, 2005.
[3] Ian Gilfillan, MySQL, 2002.
[4] Traduccion Manuel Martinez, Manual PHP, Grupo de documentacion PHP,
2002.

You might also like