Você está na página 1de 79

UNIVERSIDAD NACIONAL

PEDRO RUIZ GALLO



FACULTAD DE CIENCIAS FSICAS Y MATEMTICAS

ESCUELA PROFESIONAL DE INGENIERA EN COMPUTACIN E INFORMTICA




SISTEMA WEB PARA EL CENTRO DE PRODUCCION DE
LA FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS
DE LA UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO-
LAMBAYEQUE






Autores : Altamirano Zelada, Jean Elwin
Ramrez Lpez, Karin Daniela

Asesor : Msc. Moreno Heredia, Armando




Lambayeque, 3 de diciembre del 2012
INDICE
I. ASPECTO INFORMATIVO 6
1.1. Titulo . 7
1.2. Cdigo .. 7
1.3. Personal Investigador ... 7
Autores Responsables 7
Asesores .. 7
1.4. Centro de Investigacin .. 7
1.5. rea de Investigacin ... 7
rea ... 7
Sub rea .... 7
Lnea .. 8
Programas .... 8
1.6. Lugar de ejecucin .... 8
1.7. Duracin estimada .... 8
1.8. Fecha de inicio ..... 8
1.9. Fecha de finalizacin ...... 8
1.10. Identificacin Institucional .... 8
1.11. Beneficiarios Del Proyecto .... 8
II. ASPECTO DE LA INVESTIGACIN ..... 9
3.1. Marco Lgico .... 10
2.1.1. Situacin Problemtica .... 10
2.1.2. Antecedentes ..... 11
2.1.3. Base Terica ....... 13
1. Tecnologas Necesarias para el Modelado .. 13
a. Lenguaje Unificado de Modelado UML .. 13
a.1. UML para modelado de aplicaciones Web 14
a.2. Extensin de UML para el modelado Web ... 14
b. Metodologas de Programacin .. 15
b.1. Proceso Unificado Rational RUP .. 15
b.2.1. Principios 15
b.2.2. Caractersticas ... 16
b.2. Programacin Extrema XP ... 16
b.2.1. Principios 17
b.2.2. Caractersticas ... 18
b.3. Comparacin entre RUP y XP ....... 19
2. Lenguajes Informticos . 20
a. Lenguajes de descripcin . 20


a.1. CSS . 20
a.1.1. Ventajas 20
a.1.2. Desventajas .. 20
b. Lenguaje de Marcado . 21
b.1. HTML5 . 21
b.2.1. Novedades 22
c. Lenguaje de Programacin .. 23
c.1. Lado del Cliente ... 23
c.1.1. JavaScript ... 23
c.2. Lado del Servidor . 24
c.2.1. PHP . 24
c.2.1.1. Caractersticas . 24
c.2.1.2. Desventajas... 25
c.2.2. Python .. 26
c.2.2.1. Caractersticas .. 26
c.2.2.2. Ventajas 27
c.2.2.3. Filosofa ... 27
c.2.3. Comparativa entre PHP y Python .. 28
d. Lenguaje de Consulta .. 28
d.1. SQL 28
d.2. Gestor de Base de Datos .. 28
d.2.1. MySQL .. 29
d.2.2. PosgreSQL . 29
d.2.2.1. Caractersticas .... 29
d.2.3. Oracle Data Base .. 32
d.2.4. Comparativa entre Gestores 32
3. Entornos de Desarrollo Integrado IDEs . 33
a. Eclipse .. 33
b. Sublime Text ... 33
b.1. Caractersticas . 34
c. Comparativa entre IDEs 34
4. Requerimiento de la Red de Datos. 35
5. Requerimientos de Hardware.. 36
a. Para el Desarrollo . 36
b. Para el Servidor . 37
b.1. Servidor Web y de Correos 37
b.2. Servidor de Base de Datos . 37
b.3. Servidor Proxy Firewall 38
c. Para el Cliente . 39
6. Requerimientos de Software . 40
a. Para el Modelado y Desarrollo ... 40


a.1. Sistema Operativo... 40
a.2. Otros . 40
a.2.1. Erwin Data Modeler r7 40
a.2.2. StarUML . 41
a.2.3. Sublime Text 2 .. 42
a.2.4. Python . 42
a.2.5. PosgreSQL . 43
a.2.5.1. pgAdmin III .. 43
a.2.6. Navegador ... 44
a.2.6.1. Mozilla Firefox .. 44
a.2.6.2. Google Chorme .... 44
a.2.6.3. Internet Explorer .... 45
b. Para el Servidor . 45
b.1. Sistema Operativo .. 45
b.2. Otros .... 46
b.2.1. Servidor HTTP Apache . 46
b.2.2. Python .... 47
b.2.3. PosgreSQL ... 47
c. Para el Cliente .... 47
c.1. Sistema Operativo ... 47
c.2. Otros .... 47
c.2.1. Mozilla Firefox ... 47
c.2.2. Google Chorme .... 48
c.2.3. Internet Explorer .. 49
7. Tecnologas Aplicadas ... 49
a. Para el Modelado .... 49
a.1. Programacin Extrema - XP .... 49
b. Para el Desarrollo .... 50
b.1. HTML5 .... 50
b.2. CSS3 .. 50
b.2.1. Framework ... 51
b.2.1.1. Stylus .. 51
b.3.1.1.1. Uso . 51
b.3. JavaScrip ... 52
b.3.1. Framework ... 52
b.3.1.1. JQuery ... 52
b.3.1.1.1. Caractersticas ... 52
b.3.1.1.1. Uso .... 53
b.4. Python .... 54
b.4.1. Framework ...... 54
b.4.1.1. Django .... 54


b.4.1.1.1. Caractersticas .... 55
2.1.4. Problema 56
2.1.5. Hiptesis . 56
2.1.6. Objetivos . 57
2.1.6.1. Objetivo General.. 57
2.1.6.2. Objetivo Especficos 57
2.1.7. Justificacin e Importancia 57
2.1.8. Definicin de Trminos y Conceptos .. 58
3.2. MARCO METODOLOGICO . 59
3.3. Modo de Investigacin.... 59
2.2.1. Tipo de Investigacin.. 59
2.2.2. Contrastacin de Hiptesis.... 59
2.2.3.1. Modelo lgico de contrastacin.. 59
2.2.3.1.1. Consecuencias lgicas 59
2.2.3.1.2. Operacionalizacin de variables 60
2.2.3.2. Modelo experimental de contrastacin 60
2.2.3. Poblacin y muestra estadstica de estudio 60
2.2.4.1. Obtencin de la muestra.. 59
2.2.4. Materiales de Laboratorio.. 60
2.2.5.1. Hardware.... 62
2.2.5.2. Software 62
2.2.5.3. Sistema Operativo ... 63
2.2.5.4. Materiales de Escritorio ... 63
2.2.5.5. Servicios .. 63
2.2.5. Tcnicas e instrumentos de recoleccin de datos .. 64
2.2.6.1. Tcnicas de Gabinete .... 64
2.2.6.2. Tcnicas de Campo .. 64
2.2.6. Mtodos y procedimientos para la recoleccin de datos 64
2.2.7. Anlisis estadsticos de datos .. 65
2.2.8. Evaluacin de impacto .. 65
2.2.9. Comunicacin de Resultados ... 65
2.2.10. Esquema de Contenido ... 65
III. ASPECTO ADMINISTRATIVO ...... 68
3.1. Cronograma de actividades del proyecto .. 69
3.2. Presupuestos .... 71
3.3. Financiamiento .... 73
IV. Bibliografa ..... 74
V. Linkografa ... 75
VI. Firmas .. 76
VII. Anexos ... 77















I. ASPECTO INFORMATIVO



















1.12. Titulo

SISTEMA WEB PARA EL CENTRO DE PRODUCCION DE LA FACULTAD DE CIENCIAS FISICAS
Y MATEMATICAS DE LA UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO-LAMBAYEQUE

1.13. Cdigo

Sera asignado por el centro o instituto de investigacin.

1.14. Personal Investigador

Autores Responsables

- Apellidos y Nombres : Altamirano Zelada, Jean Elwin
- Direccin : Doig y Lora Mz. A Lote 10 Lambayeque
- E-mail : jean_25_10@hotmail.com
- Telfono : 978013341
- Cdigo : 020080225-E

- Apellidos y Nombres : Ramrez Lpez, Karin Daniela
- Direccin : Urb. La Pradera Mz. G Lote 3 Chiclayo
- E-mail : karen_63_6@hotmail.com
- Telfono : 978110483
- Cdigo : 020080238-J

Asesor

- Apellidos y Nombres : Msc. Moreno Heredia, Armando Docente Nombrado
en la Universidad Nacional Pedro Ruiz Gallo.


1.15. Centro de Investigacin

Centro De Produccin De La Facultad De Ciencias Fsicas Y Matemticas De La
Universidad Nacional Pedro Ruiz Gallo-Lambayeque.

1.16. rea de Investigacin

rea : Computacin e Informtica.

Sub rea : Aplicada.
Lnea : Desarrollo de Software.
Programas : Informtica Aplicada a la Calidad Total.

1.17. Lugar de ejecucin

Facultad De Ciencias Fsicas Y Matemticas De La Universidad Nacional Pedro Ruiz
Gallo-Lambayeque

1.18. Duracin estimada

1 ao.

1.19. Fecha de inicio

15 de Enero del 2013.

1.20. Fecha de finalizacin

15 de Enero del 2014.

1.21. Identificacin Institucional

No cuenta con financiamiento externo

1.22. Beneficiarios Del Proyecto

El proyecto est orientado a beneficiar a los a los empleados y alumnos del Centro De
Produccin De La Facultad De Ciencias Fsicas Y Matemticas De La Universidad Nacional
Pedro Ruiz Gallo-Lambayeque.

























II. ASPECTO DE LA
INVESTIGACIN






2.1. Marco Lgico

2.1.1. Situacin Problemtica

La Universidad Nacional Pedro Ruiz Gallo que tiene la facultad de ciencias fsicas y matemticas
con su centro de produccin el cual viene impartiendo el curso del idioma ingles a los alumnos de
la comunidad universitaria, desde su creacin, segn resolucin N636-2007-D/FACFyM, de fecha
5 de Julio del 2007.
Siendo, poco el tiempo desde su creacin, adems de contar con escaza difusin de este centro de
idiomas, en la comunidad universitaria; asimismo se observa que la parte administrativa realiza el
llenado de sus formatos, como por ejemplo recibos de pago, matriculas, apertura de cursos, etc.
de forma manual. Y los alumnos de este centro de idiomas para que pueda realizar la consulta de
sus notas, horarios, etc. Lo realiza a travs de un trabajador administrativo, quien tiene que
recurrir a revisar archivos para que pueda brindar la informacin requerida.
En estos tiempos de uso masivo de tecnologas de la informacin y siendo la facultad de ciencias
fsicas y matemticas que tiene a la carrera profesional de ingeniera en computacin e
informtica, es paradjico que no cuente con un sistema informtico para el manejo y
automatizacin de sus procesos administrativos de una manera eficiente y eficaz.
Si este centro de produccin contara con un sistema informtico, le permitira reducir costos en
pagos de salario a personal administrativo y llevar un mejor control de las diversas actividades
acadmicas, tales como la entrega de constancias de notas, horarios, emisin de recibos de pago,
etc.
Por lo que estamos proponiendo el anlisis, diseo e implementacin de un sistema informtico
web, al centro de produccin de la facultad de ciencias fsicas y matemticas de la Universidad
Nacional Pedro Ruiz Gallo.
Este sistema informtico web permitira a los alumnos ingresar a travs de la web, a realizar
consultas de sus notas, cronograma de inicio de clases, horarios, etc. Y a la parte administrativa
permitira tener la informacin actualizada de la poblacin universitaria que est matriculado en

algn curso en este centro de produccin.
2.1.2. Antecedentes

TTULO : Utilizacin de la Herramienta diseo Web para
crear el Sistema de Informacin acadmica para La Universidad
Nacional de San Agustn de Arequipa

AUTOR : Juan Ziga
AO : 2007
CONCLUSIONES :

Se automatiz y mejor la gestin de las reas.
Se logr establecer la actualizacin para poner a disposicin los
servicios de la institucin


TTULO : Implementacin de un Sistema de Gestin Tecnolgica
bajo Plataforma Web en la Municipalidad Distrital de Surco - Lima.

AUTOR : Manuel Snchez
AO : 2008
CONCLUSIONES :

Se logr la estandarizacin de los procedimientos y normas en los
procesos dentro la Municipalidad de Surco, lo cual permiti tomar
medidas de seguridad necesarias para el buen control y acceso a
datos.
Se mantuvo actualizado los reportes de los trmites realizados en
las diversas reas, incluyendo la base de datos anexa a cada

proceso.
Se alcanz el desarrollo eficiente, eficaz, y moderno que
concertadamente fomenta la realizacin de las exigencias de la
poblacin en estudio, generando oportunidades para una mejor
calidad de vida, sujeta a sus necesidades.


TTULO : Implementacin de un Sistema de Gestin Acadmica
bajo Plataforma Web en el Instituto Repblica Federal Alemana de
Chiclayo - Lambayeque

AUTOR : Marcos Daz
AO : 2008
CONCLUSIONES :

Se estandariz los procesos y normas del proceso de matrcula, el
historial acadmico del estudiante, que permitieron tomar medidas
de seguridad necesarias y permitir el control y auditoria.


TTULO : Implementacin de un portal web basado en
aplicaciones de accin y software libre para el manejo de contenido e
incrementar el grado de comunicacin entre los actores sociales e
institucionales de la Regin Local San Ignacio, Jan y Bagua
AUTOR : Gustavo Lpez y Pedro Surez
AO : 2007
CONCLUSIONES :

Permiti mejorar el manejo de contenido e incrementar el grado
de comunicacin entre los actores social e institucional en la regin
local de San Ignacio, Jan y Bagua.

Utilizando la metodologa RUP para modelar el portal web y la
herramienta GPL en la construccin del sitio web.

2.1.3. Base Terica

1. Tecnologas Necesarias para el Modelado

c. Lenguaje Unificado de Modelado UML

Lenguaje Unificado de Modelado (UML, por sus siglas en ingls, Unified Modeling
Language) es el lenguaje grafico de modelado de sistemas software ms conocido, utilizado y
estandarizado por la ISO como ISO/IEC 19501:2005; est respaldado por el OMG (Object
Management Group). Es un lenguaje grfico para visualizar, especificar, construir y documentar un
sistema.
UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos
concretos como expresiones de lenguajes de programacin, esquemas de bases de datos,
interfaces de usuario y compuestos reciclados.

Los objetivos de UML son los siguientes:

Visualizar: UML permite representar mediante su simbologa el contenido y la estructura
de un sistema software. La notacin UML pueden definir modelos que sern claramente
comprensibles por otros desarrolladores facilitando el mantenimiento del sistema que
describe.
Especificar: UML permite especificar los procesos de anlisis, diseo y codificacin de un
sistema de software. Tambin permite determinar modelos precisos, sin ambigedades,
detallando las partes esenciales de los mismos.
Construir: Las anteriores permiten que UML pueda generar cdigos de distintos lenguajes
de programacin y tablas en una base de datos a partir de modelos UML. Adems permitir
simular el comportamiento de sistemas de software.
Documentar: Como ya se coment antes, UML permite especificar los procesos de
anlisis, diseo y codificacin y tambin permite documentar los mismos, dejando clara la

arquitectura del sistema.

Los tres elementos que forman el modelo conceptual de UML son: los bloques bsicos de
construccin de lenguaje, las reglas que se aplican sobre estos bloques y los mecanismos comunes
de UML.

Existen tres tipos de bloques de construccin:

Elementos: Son los modelos UML (clases, casos de uso, estados, anotaciones).
Relaciones: Ligan elementos entre s, establecen la forma en que interactan
(dependencia, asociacin, generalizacin).
Diagramas: Representacin grfica de un grupo de elementos y sus relaciones (diagramas
de casos de uso, diagramas de secuencia, de clases).

a.3. UML para modelado de aplicaciones Web

Una de las caractersticas ms relevantes de la notacin UML es su capacidad para
absorber nueva semntica sin romper su lgica interna.
La necesidad de implementar servicios web a travs de complejas arquitecturas con
mltiples capas de componentes y una gran dispersin geogrfica de nodos, ha puesto todo un
reto al abordar su modelado y especificacin.
Jim Conallen ha desarrollado desde 1998 una extensin de la notacin UML denominada
WAE Web Application Extension que permite rentabilizar toda la gramtica interna de UML para
modelar aplicaciones con elementos especficos de la arquitectura de un entorno web.
No hay la implementacin de un web site con el desarrollo de una aplicacin web. Como
seala Conallen, un web site es relativamente esttico en cambio, la aplicacin web es mucho
ms dinmica, dispone de una lgica de negocio que puede reaccionar y alterar su estado a
partir de la interaccin con un usuario.
a.4. Extensin de UML para el modelado Web
Esta extensin de UML define un conjunto de estereotipos valores etiquetados que nos permite
modelar aplicaciones web. Las restricciones y estereotipos, se aplica en algunos componentes que
son particulares en el entorno web y que nos permite modelar con facilidad.

Estos estereotipos que pueden ser aplicados a una pgina web, y otros adicionales que
son asignados a otros elementos HTML y que representan a componentes arquitecturalmente
significativos al sistema (frames, formularios, etc).
d. Metodologas de Programacin

b.1. Proceso Unificado Rational RUP
El Proceso Unificado de Racional (Rational Unified Process en ingls, habitualmente resumido
como RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational
Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML,
constituye la metodologa estndar ms utilizada para el anlisis, diseo, implementacin y
documentacin de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologas
adaptables al contexto y necesidades de cada organizacin.
RUP se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por
los casos de uso. Incluye artefactos (que son los productos tangibles del proceso como por
ejemplo, el modelo de casos de uso, el cdigo fuente, etc.) y roles (papel que desempea una
persona en un determinado momento, una persona puede desempear distintos roles a lo largo
del proceso).
b.2.1. Principios

Adaptar el proceso: El proceso deber adaptarse a las necesidades del cliente ya que es
muy importante interactuar con l. Las caractersticas propias del proyecto u organizacin,
el tamao del mismo, as como su tipo o las regulaciones que lo condicionen, influirn en
su diseo especfico. Tambin se deber tener en cuenta el alcance del proyecto en un
rea sub formal para hacer un proceso de satisfaccin del software.
Equilibrar prioridades: Los requisitos de los diversos participantes pueden ser diferentes,
contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que
satisfaga los deseos de todos. Gracias a este equilibrio se podrn corregir desacuerdos que
surjan en el futuro.
Demostrar valor iterativamente: Los proyectos se entregan, aunque sea de un modo
interno, en etapas iteradas. En cada iteracin se analiza la opinin de los inversores, la
estabilidad y calidad del producto, y se refina la direccin del proyecto as como tambin
los riesgos involucrados.

Colaboracin entre equipos: El desarrollo de software no lo hace una nica persona sino
mltiples equipos. Debe haber una comunicacin fluida para coordinar requisitos,
desarrollo, evaluaciones, planes, resultados, etc.
Elevar el nivel de abstraccin: Este principio dominante motiva el uso de conceptos
reutilizables tales como patrn del software, lenguajes 4GL o marcos de referencia
(frameworks) por nombrar algunos. Esto evita que los ingenieros de software vayan
directamente de los requisitos a la codificacin de software a la medida del cliente, sin
saber con certeza qu codificar para satisfacer de la mejor manera los requisitos y sin
comenzar desde un principio pensando en la reutilizacin del cdigo. Un alto nivel de
abstraccin tambin permite discusiones sobre diversos niveles y soluciones
arquitectnicas. stas se pueden acompaar por las representaciones visuales de la
arquitectura, por ejemplo con el lenguaje UML.
Enfocarse en la calidad: El control de calidad no debe realizarse al final de cada iteracin,
sino en todos los aspectos de la produccin. El aseguramiento de la calidad forma parte
del proceso de desarrollo y no de un grupo independiente.

b.2.2. Caractersticas
Forma disciplinada de asignar tareas y responsabilidades (quin hace qu, cundo y cmo)
Pretende implementar las mejores prcticas en Ingeniera de Software
Desarrollo iterativo
Administracin de requisitos
Uso de arquitectura basada en componentes
Control de cambios
Modelado visual del software
Verificacin de la calidad del software

b.2. Programacin Extrema XP
La programacin extrema o eXtreme Programming (XP) es una metodologa de desarrollo de la
ingeniera de software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999). Es el ms destacado de los procesos giles de
desarrollo de software. Al igual que stos, la programacin extrema se diferencia de las
metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad que en la

previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son
un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz
de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una
aproximacin mejor y ms realista que intentar definir todos los requisitos al comienzo del
proyecto e invertir esfuerzos despus en controlar los cambios en los requisitos.
Se puede considerar la programacin extrema como la adopcin de las mejores metodologas de
desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera
dinmica durante el ciclo de vida del software.
b.2.3. Principios
Simplicidad: La simplicidad es la base de la programacin extrema. Se simplifica el diseo
para agilizar el desarrollo y facilitar el mantenimiento. Un diseo complejo del cdigo junto a
sucesivas modificaciones por parte de diferentes desarrolladores hacen que la complejidad
aumente exponencialmente. Para mantener la simplicidad es necesaria la refactorizacin del
cdigo, sta es la manera de mantener el cdigo simple a medida que crece. Tambin se
aplica la simplicidad en la documentacin, de esta manera el cdigo debe comentarse en su
justa medida, intentando eso s que el cdigo est autodocumentado. Para ello se deben
elegir adecuadamente los nombres de las variables, mtodos y clases. Los nombres largos no
decrementan la eficiencia del cdigo ni el tiempo de desarrollo gracias a las herramientas de
autocompletado y refactorizacin que existen actualmente. Aplicando la simplicidad junto
con la autora colectiva del cdigo y la programacin por parejas se asegura que cuanto ms
grande se haga el proyecto, todo el equipo conocer ms y mejor el sistema completo.
Comunicacin: La comunicacin se realiza de diferentes formas. Para los programadores el
cdigo comunica mejor cuanto ms simple sea. Si el cdigo es complejo hay que esforzarse
para hacerlo inteligible. El cdigo autodocumentado es ms fiable que los comentarios ya que
stos ltimos pronto quedan desfasados con el cdigo a medida que es modificado. Debe
comentarse slo aquello que no va a variar, por ejemplo el objetivo de una clase o la
funcionalidad de un mtodo. Las pruebas unitarias son otra forma de comunicacin ya que
describen el diseo de las clases y los mtodos al mostrar ejemplos concretos de cmo utilizar
su funcionalidad. Los programadores se comunican constantemente gracias a la
programacin por parejas. La comunicacin con el cliente es fluida ya que el cliente forma
parte del equipo de desarrollo. El cliente decide qu caractersticas tienen prioridad y siempre
debe estar disponible para solucionar dudas.

Retroalimentacin (feedback): Al estar el cliente integrado en el proyecto, su opinin sobre
el estado del proyecto se conoce en tiempo real. Al realizarse ciclos muy cortos tras los cuales
se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los
requisitos y ayuda a los programadores a centrarse en lo que es ms importante.
Considrense los problemas que derivan de tener ciclos muy largos. Meses de trabajo pueden
tirarse por la borda debido a cambios en los criterios del cliente o malentendidos por parte
del equipo de desarrollo. El cdigo tambin es una fuente de retroalimentacin gracias a las
herramientas de desarrollo. Por ejemplo, las pruebas unitarias informan sobre el estado de
salud del cdigo. Ejecutar las pruebas unitarias frecuentemente permite descubrir fallos
debidos a cambios recientes en el cdigo.
Coraje o valenta:Muchas de las prcticas implican valenta. Una de ellas es siempre disear y
programar para hoy y no para maana. Esto es un esfuerzo para evitar empantanarse en el
diseo y requerir demasiado tiempo y trabajo para implementar todo lo dems del proyecto.
La valenta le permite a los desarrolladores que se sientan cmodos con reconstruir su cdigo
cuando sea necesario. Esto significa revisar el sistema existente y modificarlo si con ello los
cambios futuros se implementaran ms fcilmente. Otro ejemplo de valenta es saber cundo
desechar un cdigo: valenta para quitar cdigo fuente obsoleto, sin importar cuanto esfuerzo
y tiempo se invirti en crear ese cdigo. Adems, valenta significa persistencia: un
programador puede permanecer sin avanzar en un problema complejo por un da entero, y
luego lo resolver rpidamente al da siguiente, slo si es persistente.
Respeto: El respeto se manifiesta de varias formas. Los miembros del equipo se respetan los
unos a otros, porque los programadores no pueden realizar cambios que hacen que las
pruebas existentes fallen o que demore el trabajo de sus compaeros. Los miembros
respetan su trabajo porque siempre estn luchando por la alta calidad en el producto y
buscando el diseo ptimo o ms eficiente para la solucin a travs de la refactorizacin del
cdigo. Los miembros del equipo respetan el trabajo del resto no haciendo menos a otros,
una mejor autoestima en el equipo y elevando el ritmo de produccin en el equipo.
b.2.4. Caractersticas

Desarrollo iterativo e incremental: pequeas mejoras, unas tras otras.
Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas

de regresin. Se aconseja escribir el cdigo de la prueba antes de la codificacin. Vase, por
ejemplo, las herramientas de prueba JUnit orientada a Java, DUnit orientada a Delphi, NUnit
para la plataforma.NET o PHPUnit para PHP. Estas tres ltimas inspiradas en JUnit, la cual, a
su vez, se insipir en SUnit, el primer framework orientado a realizar tests, realizado para el
lenguaje de programacin Smalltalk.
Programacin en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos
personas en un mismo puesto. La mayor calidad del cdigo escrito de esta manera -el cdigo
es revisado y discutido mientras se escribe- es ms importante que la posible prdida de
productividad inmediata.
Frecuente integracin del equipo de programacin con el cliente o usuario. Se recomienda
que un representante del cliente trabaje junto al equipo de desarrollo.
Correccin de todos los errores antes de aadir nueva funcionalidad. Hacer entregas
frecuentes.
Refactorizacin del cdigo, es decir, reescribir ciertas partes del cdigo para aumentar su
legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de
garantizar que en la refactorizacin no se ha introducido ningn fallo.
Propiedad del cdigo compartida: en vez de dividir la responsabilidad en el desarrollo de
cada mdulo en grupos de trabajo distintos, este mtodo promueve el que todo el personal
pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de regresin
garantizan que los posibles errores sern detectados.
Simplicidad en el cdigo: es la mejor manera de que las cosas funcionen. Cuando todo
funcione se podr aadir funcionalidad si es necesario. La programacin extrema apuesta que
es ms sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se
requiere, que realizar algo complicado y quizs nunca utilizarlo.

b.3. Comparacin entre RUP y XP
Proceso Unificado Rational RUP Programacin Extrema - XP
Desarrollo iterativo e incremental Desarrollo interno en etapas interactivas
Pruebas unitarias continuas y automatizadas Pruebas integradas en todo el ciclo de vida
Programacin por parejas Programacin por equipos
Interaccin con el usuario final Interaccin el usuario estratgico

Programador Analistas
Se recomienda para cuando los requisitos
cambian (cliente indecisos)
Basado en la comunicacin entre equipos
Proyectos con alto grado de riesgos
Complejidad de desarrollo de acuerdo al
tamao del proyecto
Grupo pequeos de programadores entre 2 y
12
Configuracin y control de cambios
(Artefactos)
Se usa mayormente en proyectos pequeos Proyecto grandes
Disminuye tasa de errores Centrada en la arquitectura
Alta calidad, mnimo tiempo Demasiada documentacin, tiempo excesivo
Guiado por requerimientos Guidado por casos de uso
Encargado de pruebas Programadores
Refactorizacin y simplicidad del cdigo Dificultad para refactorizar cdigo

2. Lenguajes Informticos

a. Lenguajes de descripcin

a.2. CSS
CSS o hojas de estilo en cascada, que viene del ingls Cascading Style Sheets, del que toma sus
siglas. CSS es un lenguaje usado para definir la presentacin de un documento estructurado
escrito en HTML o XML2 (y por extensin en XHTML). El W3C (World Wide Web Consortium) es el
encargado de formular la especificacin de las hojas de estilo que servirn de estndar para los
agentes de usuario o navegadores.
La idea que se encuentra detrs del desarrollo de CSS es separar la estructura de un documento de
su presentacin.
a.1.1. Ventajas
Control centralizado de la presentacin de un sitio web completo con lo que se agiliza de
forma considerable la actualizacin del mismo.
Separacin del contenido de la presentacin, lo que facilita al creador, diseador, usuario o
dispositivo electrnico que muestre la pgina, la modificacin de la visualizacin del
documento sin alterar el contenido del mismo, slo modificando algunos parmetros del CSS.

Optimizacin del ancho de banda de la conexin, pues pueden definirse los mismos estilos
para muchos elementos con un slo selector; o porque un mismo archivo CSS puede servir
para una multitud de documentos.
Mejora en la accesibilidad del documento, pues con el uso del CSS se evitan antiguas prcticas
necesarias para el control del diseo (como las tablas), y que iban en perjuicio de ciertos usos
de los documentos, por parte de navegadores orientados a personas con algunas limitaciones
sensoriales.

a.1.2. Desventajas
Los selectores no pueden usarse en orden ascendente segn la jerarqua del DOM (hacia
padres u otros ancestros) como se hace mediante XPath
La razn que se ha usado para justificar esta carencia por parte de la W3C, es para proteger el
rendimiento del navegador, que de otra manera, podra verse comprometido. XSLT soporta
en la actualidad un mayor nmero de sistemas operativos. As mismo, tambin es mejor para
trabajar con la mayora de buscadores de Internet.12 [cita requerida]
Dificultad para el alineamiento vertical; as como el centrado horizontal se hace de manera
evidente en CSS2.1, el centrado vertical requiere de diferentes reglas en combinaciones no
evidentes, o no estndares.
Ausencia de expresiones de clculo numrico para especificar valores (por ejemplo margin-
left: 10% 3em + 4px;).
Un borrador de la W3C para CSS3, propone calc() para solventar esta limitacin.13
Las pseudo-clases dinmicas (como: hover) no se pueden controlar o deshabilitar desde el
navegador, lo que las hace susceptibles de abuso por parte de los diseadores en banners, o
ventana emergentes.

b. Lenguaje de Marcado

b.4. HTML5
HTML, siglas de HyperText Markup Language (lenguaje de marcado de hipertexto), hace
referencia al lenguaje de marcado predominante para la elaboracin de pginas web que se utiliza
para describir y traducir la estructura y la informacin en forma de texto, as como para

complementar el texto con objetos tales como imgenes. El HTML se escribe en forma de
etiquetas, rodeadas por corchetes angulares (<,>). HTML tambin puede describir, hasta un
cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo JavaScript), el
cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML.
HTML tambin sirve para referirse al contenido del tipo de MIME text/html o todava ms
ampliamente como un trmino genrico para el HTML, ya sea en forma descendida del XML (como
XHTML 1.0 y posteriores) o en forma descendida directamente de SGML (como HTML 4.01 y
anteriores).
El desarrollo de este lenguaje de marcado est a cargo de la W3C y WHATWG y es regulado por el
Consorcio W3C.
HTML5 (HyperText Markup Language, versin 5) es la quinta revisin importante del lenguaje
bsico de la World Wide Web, HTML
Todava se encuentra en modo experimental, lo cual indica la misma W3C; aunque ya es usado por
mltiples desarrolladores web por sus avances, mejoras y ventajas.
HTML5 establece una serie de nuevos elementos y atributos que reflejan el uso tpico de los sitios
web modernos. Algunos de ellos son tcnicamente similares a las etiquetas <div> y <span>, pero
tienen un significado semntico, como por ejemplo <nav> (bloque de navegacin del sitio web) y
<footer>. Otros elementos proporcionan nuevas funcionalidades a travs de una interfaz
estandarizada, como los elementos <audio> y <video>.
Mejoras en el elemento <canvas>, capaz de renderizar en los navegadores ms importantes
(Mozilla, Chrome, Opera, Safari e IE) elementos 3D.
Algunos elementos de HTML 4.01 han quedado obsoletos, incluyendo elementos puramente de
presentacin, como <font> y <center>, cuyos efectos son manejados por el CSS. Tambin hay un
renovado nfasis en la importancia del scripting DOM para el comportamiento de la web.
b.2.1. Novedades
Incorpora etiquetas (canvas 2D y 3D, audio, video) con codecs para mostrar los contenidos
multimedia. Actualmente hay una lucha entre imponer codecs libres (WebM + VP8) o
privados (H.264/MPEG-4 AVC).
Etiquetas para manejar grandes conjuntos de datos: Datagrid, Details, Menu y Command.
Permiten generar tablas dinmicas que pueden filtrar, ordenar y ocultar contenido en cliente.
Mejoras en los formularios. Nuevos tipos de datos (eMail, number, url, datetime ) y
facilidades para validar el contenido sin Javascript.
Visores: MathML (frmulas matemticas) y SVG (grficos vectoriales). En general se deja

abierto a poder interpretar otros lenguajes XML.
Drag & Drop. Nueva funcionalidad para arrastrar objetos como imgenes.
Aade etiquetas para manejar la Web Semntica (Web 3.0): header, footer, article, nav, time
(fecha del contenido), link rel= (tipo de contenido que se enlaza).
Estas etiquetas permiten describir cual es el significado del contenido. Por ejemplo su
importancia, su finalidad y las relaciones que existen. No tienen especial impacto en la
visualizacin, se orientan a buscadores.
Los buscadores podrn indexar e interpretar esta meta informacin para no buscar
simplemente apariciones de palabras en el texto de la pgina.
Permite incorporar a las pginas ficheros RDF / OWL (con meta informacin) para describir
relaciones entre los trminos utilizados.
adems de ofrecer versatilidad en el manejo y animacin de objetos simples, imgenes etc.
API para hacer Drag & Drop. Mediante eventos.
API para trabajar Off-Line. Permite descargar todos los contenidos necesarios y trabajar en
local.
API de Geoposicionamiento para dispositivos que lo soporten.
API Storage. Facilidad de almacenamiento persistente en local, con bases de datos (basadas
en SQLite) o con almacenamiento de objetos por aplicacin o por dominio Web (Local Storage
y Global Storage). Se dispone de una Base de datos con la posibilidad de hacer consultas SQL.
WebSockets. API de comunicacin bidireccional entre pginas. Similar a los Sockets de C.
WebWorkers. Hilos de ejecucin en paralelo.
ESTNDAR FUTURO. System Information API. Acceso al hardware a bajo nivel: red, ficheros,
CPU, Memoria, puertos USB, cmaras, micrfonos, pero aun con numerosas salvedades de
seguridad.
c. Lenguaje de Programacin

c.3. Lado del Cliente

c.1.1. JavaScript
JavaScript es un lenguaje de programacin interpretado, dialecto del estndar ECMAScript. Se
define como orientado a objetos,3 basado en prototipos, imperativo, dbilmente tipado y
dinmico.

Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte
de un navegador web permitiendo mejoras en la interfaz de usuario y pginas web dinmicas, en
bases de datos locales al navegador...4 aunque existe una forma de JavaScript del lado del servidor
(Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en
documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es tambin significativo.
JavaScript se dise con una sintaxis similar al C, aunque adopta nombres y convenciones del
lenguaje de programacin Java. Sin embargo Java y JavaScript no estn relacionados y tienen
semnticas y propsitos diferentes.
Todos los navegadores modernos interpretan el cdigo JavaScript integrado en las pginas web.
Para interactuar con una pgina web se provee al lenguaje JavaScript de una implementacin del
Document Object Model (DOM).
Tradicionalmente se vena utilizando en pginas web HTML para realizar operaciones y
nicamente en el marco de la aplicacin cliente, sin acceso a funciones del servidor. JavaScript se
interpreta en el agente de usuario, al mismo tiempo que las sentencias van descargndose junto
con el cdigo HTML.
c.4. Lado del Servidor

c.2.4. PHP
PHP es un lenguaje de programacin de uso general de script del lado del servidor originalmente
diseado para el desarrollo web de contenido dinmico. Fue uno de los primeros lenguajes de
programacin del lado del servidor que se podan incorporar directamente en el documento HTML
en lugar de llamar a un archivo externo que procese los datos. El cdigo es interpretado por un
servidor web con un mdulo de procesador de PHP que genera la pgina Web resultante. PHP ha
evolucionado por lo que ahora incluye tambin una interfaz de lnea de comandos que puede ser
usada en aplicaciones grficas independientes. PHP puede ser usado en la mayora de los
servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningn costo.
PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo
desarrollado con nuevas funciones por el grupo PHP. Este lenguaje forma parte del software libre
publicado bajo la licencia PHP que es incompatible con la Licencia Pblica General de GNU debido
a las restricciones del uso del trmino PHP.
c.2.1.1. Caractersticas

Orientado al desarrollo de aplicaciones web dinmicas con acceso a informacin almacenada
en una base de datos.
Es considerado un lenguaje fcil de aprender,ya que en su desarrollo se simplificaron distintas

especificaciones, como es el caso de la definicin de las variables primitivas, ejemplo que se
hace evidente en el uso de php arrays.
El cdigo fuente escrito en PHP es invisible al navegador web y al cliente ya que es el servidor
el que se encarga de ejecutar el cdigo y enviar su resultado HTML al navegador. Esto hace
que la programacin en PHP sea segura y confiable.
Capacidad de conexin con la mayora 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 mdulos (llamados ext's o extensiones).
Posee una amplia documentacin en su sitio web oficial, entre la cual se destaca que todas las
funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fcil acceso para todos.
Permite aplicar tcnicas de programacin orientada a objetos. Incluso aplicaciones como
Zend framework, empresa que desarrolla PHP, estn totalmente desarrolladas mediante esta
metodologa.
No requiere definicin de tipos de variables aunque sus variables se pueden evaluar tambin
por el tipo que estn manejando en tiempo de ejecucin.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de
programar, aun hacindolo, el programador puede aplicar en su trabajo cualquier tcnica de
programacin o de desarrollo que le permita escribir cdigo ordenado, estructurado y
manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de
diseo Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los
datos, la lgica de control y la interfaz de usuario en tres componentes independientes.

c.2.1.2. Desventajas

Como es un lenguaje que se interpreta en ejecucin, para ciertos usos puede resultar un
inconveniente que el cdigo fuente no pueda ser ocultado. La ofuscacin es una tcnica que
puede dificultar la lectura del cdigo pero no necesariamente impide que el cdigo sea
examinado.
Debido a que es un lenguaje interpretado, un script en PHP suele funcionar
considerablemente ms lento que su equivalente en un lenguaje de bajo nivel, sin embargo

este inconveniente se puede minimizar con tcnicas de cache tanto en archivos como en
memoria.
Las variables al no ser tipadas dificulta a los diferentes IDEs para ofrecer asistencias para el
tipeado del cdigo, aunque esto no es realmente un inconveniente del lenguaje en s. Esto es
solventado por Zend Studio aadiendo un comentario con el tipo a la declaracin de la
variable.
c.2.5. Python
Python es un Lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis
muy limpia y que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma ya que soporta orientacin a objetos,
programacin imperativa y, en menor medida, programacin funcional.
Es un lenguaje interpretado, usa tipado dinmico, es fuertemente tipado y multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto,
denominada Python Software Foundation License, que es compatible con la Licencia pblica
general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores
c.2.2.4. Caractersticas
Python es un lenguaje de programacin multiparadigma. Esto significa que ms que forzar a
los programadores a adoptar un estilo particular de programacin, permite varios
estilos: programacin orientada a objetos, programacin imperativa y programacin
funcional.
Python usa tipado dinmico y conteo de referencias para la administracin de memoria.
Una caracterstica importante de Python es la resolucin dinmica de nombres; es decir, lo
que enlaza un mtodo y un nombre de variable durante la ejecucin del programa (tambin
llamado ligadura dinmica de mtodos).
Otro objetivo del diseo del lenguaje es la facilidad de extensin. Se pueden escribir nuevos
mdulos fcilmente en C o C++. Python puede incluirse en aplicaciones que necesitan una
interfaz programable.
Aunque la programacin en Python podra considerarse en algunas situaciones hostiles a la
programacin funcional tradicional del Lisp, existen bastantes analogas entre Python y los
lenguajes minimalistas de la familia Lisp como puede ser Scheme.


c.2.2.5. Ventajas
Con Python se pueden hacer muchas cosas de una manera tan fcil, gil y rpida sin tantos
rollos o quebraderos de cabeza.
Al ser tipado dinmico no hay que preocuparse de cuantas variables declarar, aunque el tipo
en ciertas ocasiones importa, sobre todo teniendo en cuenta la diferencia entre input y raw,
input.
No tiene costo alguno, adems de ser cdigo abierto.
Python se puede integrar al visual studio .net, pero sera encarcelar y encartonar a Python en
Windows, adems de limitarlo en su caracterstica multiplataforma que es una de las cosas
ms interesantes.
En cuanto a legibilidad de cdigo, Python es ms limpio, legible y fcil de entender.

c.2.2.6. Filosofa
Los usuarios de Python se refieren a menudo a la Filosofa Python que es bastante anloga a la
filosofa de Unix. El cdigo que sigue los principios de Python de legibilidad y transparencia se dice
que es "pythonico". Contrariamente, el cdigo opaco u ofuscado es bautizado como "no
pythonico" ("unpythonic" en ingls). Estos principios fueron famosamente descritos por el
desarrollador de Python Tim Peters en El Zen de Python
Bello es mejor que feo.
Explcito es mejor que implcito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Disperso es mejor que denso.
La legibilidad cuenta.
Los casos especiales no son tan especiales como para quebrantar las reglas.
Aunque lo prctico gana a la pureza.
Los errores nunca deberan dejarse pasar silenciosamente.

A menos que hayan sido silenciados explcitamente.
Frente a la ambigedad, rechaza la tentacin de adivinar.
Debera haber una -y preferiblemente slo una- manera obvia de hacerlo.
Aunque esa manera puede no ser obvia al principio a menos que usted sea holands.15
Ahora es mejor que nunca.
Aunque nunca es a menudo mejor que ya mismo.
Si la implementacin es difcil de explicar, es una mala idea.
Si la implementacin es fcil de explicar, puede que sea una buena idea.
Los espacios de nombres (namespaces) son una gran idea Hagamos ms de esas cosas!
Desde la versin 2.1.2, Python incluye estos puntos (en su versin original en ingls) como un
huevo de pascua que se muestra al ejecutar import this.
c.2.6. Comparativa entre PHP y Python
N CONCEPTO Python PHP
1 Licenciamiento ($) 0,00 0,00
2
Hardware necesario para su
funcionamiento
0,00 0,00
3 Soporte y mantenimiento externo 0,00 0,00
4 Personal y mantenimiento interno 0,00 0,00
COSTOS TOTALES ($) 0,00 0,00

d. Lenguaje de Consulta

d.3. SQL
El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es
un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos
tipos de operaciones en ellas. Una de sus caractersticas es el manejo del lgebra y el clculo
relacional que permiten efectuar consultas con el fin de recuperar de forma sencilla informacin

de inters de bases de datos, as como hacer cambios en ella.

d.4. Gestor de Base de Datos

d.2.1. MySQL
MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con
ms de seis millones de instalaciones.
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 especfica 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 pblica y el copyright del cdigo est en poder del autor individual, MySQL es
patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo.
Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems de la
venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operaciones
contratan trabajadores alrededor del mundo que colaboran va Internet. MySQL AB fue fundado
por David Axmark, Allan Larsson y Michael Widenius.

d.2.2. PosgreSQL

El Sistema Gestor de Bases de Datos Relacionales Orientadas a Objetos conocido como PostgreSQL
(Structure Query Language), es un administrador de bases de datos de cdigo abierto avanzado,
que ofrece control de concurrencias multiversin, soportando casi toda la sintaxis SQL contando
tambin con un amplio conjunto de enlaces con lenguajes de programacin incluyendo C, C++,
Java, Perl, Tcl, y Phython.
PostgreSQL est ampliamente considerado como el sistema de bases de datos de cdigo abierto
ms avanzado del mundo. Posee muchas caractersticas que tradicionalmente slo se podan ver
en productos comerciales de alto calibre.
d.2.2.2. Caractersticas
2.2.2.1.1 e

Alta concurrencia
Mediante un sistema denominado MVCC (Acceso concurrente multiversin, por sus siglas en
ingls) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la
misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visin consistente de lo ltimo a
lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas comn
en otras bases, eliminando la necesidad del uso de bloqueos explcitos.
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para:
- Nmeros de precisin arbitraria.
- Texto de largo ilimitado.
- Figuras geomtricas (con una variedad de funciones asociadas).
- Direcciones IP (IPv4 e IPv6).
- Bloques de direcciones estilo CIDR.
- Direcciones MAC.
- Arrays.
Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por
completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los
tipos de datos GIS creados por el proyecto PostGIS.
Claves ajenas tambin denominadas Claves Forneas (foreign keys).
Disparadores (triggers): Un disparador o trigger se define como una accin especfica que se
realiza de acuerdo a un evento, cuando ste ocurra dentro de la base de datos. En PostgreSQL esto
significa la ejecucin de un procedimiento almacenado basado en una determinada accin sobre
una tabla especfica. Ahora todos los disparadores se definen por seis caractersticas:
- El nombre del disparador o trigger
- El momento en que el disparador debe arrancar
- El evento del disparador deber activarse sobre...
- La tabla donde el disparador se activar
- La frecuencia de la ejecucin

- La funcin que podra ser llamada
Entonces combinando estas seis caractersticas, PostgreSQL le permitir crear una amplia
funcionalidad a travs de su sistema de activacin de disparadores (triggers).
Vistas.
Integridad transaccional.
Herencia de tablas.
Tipos de datos y operaciones geomtricas.
Soporte para transacciones distribuidas. Permite a PostgreSQL integrarse en un sistema
distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola
de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor de aplicaciones donde el xito
("commit") de la transaccin globlal es el resultado del xito de las transacciones locales.
Funciones
Bloques de cdigo que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la
potencia que cada uno de ellos da, desde las operaciones bsicas de programacin, tales como
bifurcaciones y bucles, hasta las complejidades de la programacin orientada a objetos o la
programacin funcional.
Los disparadores (triggers en ingls)
Son funciones enlazadas a operaciones sobre los datos.
Algunos de los lenguajes que se pueden usar son los siguientes:
- Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle).
- C.
- C++.
- Java PL/Java web.
- PL/Perl.
- plPHP.
- PL/Python.
- PL/Ruby.

- PL/sh.
- PL/Tcl.
- PL/Scheme.
- Lenguaje para aplicaciones estadsticas R por medio de PL/R.
PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse como un
conjunto de valores que pueden ser tratados igual a una fila retornada por una consulta (query en
ingls).
Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los
derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS, son
muchas veces referidas como "procedimientos almacenados" (stored procedures en ingls).

d.2.3. Oracle Data Base
Oracle es un sistema de gestin de base de datos relacional (o RDBMS por el acrnimo en ingls de
Relational Data Base Management System), desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos ms completos, destacando:
Soporte de transacciones.
- Estabilidad.
- Escalabilidad.
- Soporte multiplataforma.
Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco,
recientemente sufre la competencia del Microsoft SQL Server de Microsoft y de la oferta de otros
RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las ltimas versiones de Oracle han
sido certificadas para poder trabajar bajo GNU/Linux.

d.2.4. Comparativa entre Gestores
N CONCEPTO ORACLE 11G PostgreSQL MySQL
1 Licenciamiento ($) 149,00 0,00 0,00

2
Hardware necesario para su
funcionamiento
0,00 0,00 0,00
3
Soporte y mantenimiento
externo
0,00 0,00 0,00
4
Personal y mantenimiento
interno
0,00 0,00 0,00
COSTOS TOTALES ($) 149,00 0,00 0,00

3. Entornos de Desarrollo Integrado IDEs

a. Eclipse
Eclipse es un entorno de desarrollo integrado de cdigo abierto multiplataforma para
desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las
aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, tpicamente ha sido usada
para desarrollar entornos de desarrollo integrados (del ingls IDE), como el IDE de Java llamado
Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que
son usados tambin para desarrollar el mismo Eclipse). Sin embargo, tambin se puede usar para
otros tipos de aplicaciones cliente, como BitTorrent Azureus.
Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las reas de
aplicacin cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo
casi todas las reas de Model Driven Engineering.
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas
para VisualAge. Eclipse es ahora desarrollado por la Fundacin Eclipse, una organizacin
independiente sin nimo de lucro que fomenta una comunidad de cdigo abierto y un conjunto de
productos complementarios, capacidades y servicios.
b. Sublime Text
Sublime Text 2, un editor de texto avanzado especialmente diseado para desarrolladores que
realmente sale de lo comn y se destaca por sus funcionalidades e interfz de usuario.

Cabe aclarar que Sublime Text 2 puede ser descargado gratuitamente para su evaluacin durante
un perodo de tiempo, el detalle es que los creadores del software no especifican el tiempo de
evaluacin ni fuerzan a comprarlo en ningn momento; en resumen, podemos usarlo por el
tiempo que queramos y lo nico que vamos a ver en la barra de ttulo superior de la herramienta
es la leyenda (UNREGISTERED).De todas formas el precio es muy accesible.
Bsicamente, tiene muchas de las funcionalidades que podemos encontrar en otros editores
avanzados como NOTEPAD++ o Lopedit, pero si lo analizamos profundamente encontraremos
varias ventajas que realmente lo posicionan entre los mejores editores de texto.
Sublime Text2 es multiplataforma lo que lo convierte en una muy buena alternativa a Notepad++
en sistemas Linux y Mac.
b.5. Caractersticas
Navegacin rpida mediante atajos del teclado, que nos permiten encontrar texto o archivos
de forma gil.
Selecciones mltiples, te permite modificar varias lneas de una vez.
Modo Distraction Free, es un modo de edicin en pantalla completa de fcil acceso para
concentrarnos al mximo y no permitir que nada nos distraiga.
Plugin API, nos permite extender las funcionalidades de Sublime Text 2 mediante plugins
desarrollados en Python
Configurable mediante archivos JSON
Posibilidad de creacin de snippets , que son pequeos fragmentos de cdigos guardados en
archivos individuales que te permitirn insertar de forma fcil y rpida partes de cdigo
simplemente escribiendo una palabra y pulsando tabulador, o bien asignndole una
combinacin de teclas.
c. Comparativa entre IDEs
N CONCEPTO Eclipse Sublime Text 2
1 Licenciamiento ($) 149,00 50,00

2
Hardware necesario para su
funcionamiento
0,00 0,00
3
Soporte y mantenimiento
externo
0,00 0,00
4
Personal y mantenimiento
interno
0,00 0,00
COSTOS TOTALES ($) 149,00 0,00

4. Requerimiento de la Red de Datos
La red de datos que dar soporte al sistema web deber contar con un proveedor de servicios de
internet que proporcione una conexin a internet con una velocidad mnima de 4mb/s. Con una
red local interna que deber soportar la tecnologa Ethernet 1000BaseTX.
Modelo de red: cliente/ servidor (basado en dominios).
Topologa: Estrella Jerrquica
Estndar de red: Ethernet 1000BaseTX (Gigabit Ethernet).
Cable
CABLE CATEGORA
UTP / Par Trenzado 6 TIA/EIA


Conectores: RJ45
CONECTOR TIPO
RJ45 Plug
RJ45 Jack




- Roseta (Toma de telecomunicaciones o Cajas Toma Datos)

CARACTERSTICAS DESCRIPCIN
TIPO EXTERNA- CAT. 6
TOMAS 2
TIPOS DE CONECTORES DE
SALIDA
Para par trenzado (Jack
RJ45)
DIMENSIONES F26mm x AN76mm x
L64mm

- Canaletas

CARACTERSTICAS DESCRIPCIN
NOMBRE COMERCIAL CANALETAS PLSTICAS PARA CONDUCCIN DE CABLES.
CLASES
Lisas para Superficies, en aplicaciones para Cableado
estructurado, alarmas e instalaciones domiciliarias.
MATERIAL Policloruro de Vinil (PVC)
COLOR Blanco.
DIMENSIONES
Milmetros, mencionndose como primera medida, la
medida externa de la base y luego la medida externa de
la altura. Ej. Canaleta de 40X17, corresponde a 40mm de
base y 17mmde altura.
FORMAS
Lineal (Tramos de 2metros), ngulo plano, ngulo
interior, exterior, unin, derivacin T, Tapa final.

5. Requerimientos de Hardware

a. Para el Desarrollo
CARACTERSTICAS DESCRIPCIN

PROCESADOR AMD Phenom(tm) II X4 965 ~3.4GHz
RAM 4GB DDR3
HARD DISK 500GB SATA3
NETWORK
NC3163 FAST ETHERNET NIC PCI
10/100
OTROS Monitor, Teclado y mouse

b. Para el Servidor

b.6. Servidor Web y de Correos
El Sistema a desarrollar deber requerir de un Servidor Web Dedicado con los requerimientos de
hardware siguiente:

CARACTERSTICAS DESCRIPCIN
PROCESADOR
Intel Xeon Processor E7-2870 (30M
Cache, 2.40 GHz, 6.40 GT/s Intel QPI)
RAM 6 GB DDR3
HARD DISK 500 GB SATA3
NETWORK FAST ETHERNET NIC PCI 10/100/1000
SOPORTA
LINUX (CENTOS), LINUX (DEBIAN, FEDORA
O UBUNTU), WINDOWS 2003 / 2008 /
2008 R2 WEB EDITION

b.7. Servidor de Base de Datos
El Sistema a desarrollar deber requerir de un Servidor de Base de Datos Dedicado con los
requerimientos de hardware siguiente:

CARACTERSTICAS DESCRIPCIN
MARCA Intel

PROCESADOR
Intel Xeon Processor E7-2870 (30M Cache, 2.40 GHz, 6.40 GT/s
Intel QPI)
MEMORIA: 2 GB DDR2 ECC / 8 GB (mx.) DDR3 SDRAM - ECC - 1600 mhz
DISCO DURO : 500GB SATA3
NETWORK FAST ETHERNET NIC PCI 10/100/1000
ALMACENAMIENTO
PTICO
DVD-ROM
ALIMENTACIN CA 120/230 V ( 50/60 Hz )
REFRIGERACIN 4 VENTILADORES DE REFRIGERACIN HOT-SWAP

b.8. Servidor Proxy Firewall
El sistema a desarrollar deber requerir de un Router Proxy-Firewall que proporcione una defensa
completa contra ataques de virus, intrusiones no autorizadas, y contenidos nocivos. Con estas
caractersticas lograremos mejorar la gestin de servidor de seguridad, monitoreo y
mantenimiento para tener as una red saludable. Las caractersticas tcnicas de hardware son los
siguientes:

CARACTERSTICAS DESCRIPCIN
HARDWARE
CPU:
SDRAM:
Flash:
Acelerador VPN para mejorar rendimiento
INTERFACES
01 Puerto WAN Ethernet 10/100 Mbps Ethernet
01 Puerto DMZ Ethernet 10/100/1000 Mbps
Ethernet
04 Puertos LAN Ethernet 10/100/1000 Mbps
Ethernet
Consola: 1 x conector DB9, RS-232
01 Puerto USB 2.0

RENDIMIENTO
DEL SISTEMA
Firewall: 70Mbps
VPN: 25Mbps (3DES/AES)
IPS: 15Mbps
Antivirus:15Mbps
Sesiones Concurrentes: 10.000
Sesiones por segundo: 5.000
Polticas: 300
Soporte Usuarios: Sin restriccin
MODO
OPERACIN DEL
FIREWALL
Certificado de ICSA Labs (firewall a nivel
corporativo)
Layer 3: Route, NAT
Layer 2: Modo Transparente
Network Address Translation (NAT)
Configuracin de polticas programables en el
tiempo.
ADMINISTRACION
DE ANCHO DE
BANDA
Ancho de banda garantizado
Mximo ancho de banda
Prioridad de utilizacin de ancho de banda
ANTIVIRUS
Protocolo soportados: HTTP, FTP, SMTP, POP3
Anti-Virus sobre VPN
Protocol/Port Configurables
Escaneo para todos los tipos de MIME
Formatos de la compresin de archivo Soportados:
ZIP, GZIP
Proteccin de descompresin explosiva
Control de exclusin de escaneo

c. Para el Cliente
El Sistema a desarrollar deber requerir de un hardware de usuarios con las siguientes
caractersticas mnimas:

CARACTERSTICAS DESCRIPCIN
PROCESADOR
Core2Duo , AMD Phenon2 X2 o
superior
RAM 4GB DDR3
HARD DISK 500GB SATA3
NETWORK
NC3163 FAST ETHERNET NIC PCI
10/100
OTROS Monitor, Teclado y mouse

6. Requerimientos de Software

a. Para el Modelado y Desarrollo

a.3. Sistema Operativo
Para las tareas de modelado y desarrollo se usara Windows 7 en su edicin Ultimate de 64 bits;
Windows 7 es una versin de Microsoft Windows, lnea de sistemas operativos producida por
Microsoft Corporation. Esta versin est diseada para uso en PC, incluyendo equipos de
escritorio en hogares y oficinas, equipos porttiles, tablet PC, netbooks y equipos media center. El
desarrollo de Windows 7 se complet el 22 de julio de 2009, siendo entonces confirmada su fecha
de venta oficial para el 22 de octubre de 2009 junto a su equivalente para servidores Windows
Server 2008 R2.
A diferencia del gran salto arquitectnico y de caractersticas que sufri su antecesor Windows
Vista con respecto a Windows XP, Windows 7 fue concebido como una actualizacin incremental y
focalizada de Vista y su ncleo NT 6.0, lo que permiti mantener cierto grado de compatibilidad
con aplicaciones y hardware en los que ste ya era compatible. Sin embargo, entre las metas de
desarrollo para Windows 7 se dio importancia a mejorar su interfaz para volverla ms accesible al
usuario e incluir nuevas caractersticas que permitieran hacer tareas de una manera ms fcil y
rpida, al mismo tiempo que se realizaran esfuerzos para lograr un sistema ms ligero, estable y
rpido.
La ltima versin estable es la 6.1 Service Pack 1 (SP1; Compilacin 7601).

a.4. Otros

a.2.1. Erwin Data Modeler r7
AllFusion ERwin Data Modeler es una herramienta de diseo de base de datos que ayuda a los
usuarios a disear, generar y mantener alta calidad de las aplicaciones de base de datos de alta
performance. AllFusion ERwin Data Modeler permite al usuario visualizar la estructura correcta,
elementos claves y el diseo optimizado de su base de datos, desde los requerimientos de un
modelo lgico de informacin y reglas de negocio que definen la base de datos, a un modelo fsico
optimizado para las caractersticas especficas de la base de datos seleccionada.
AllFusion ERwin Data Modeler automticamente genera tablas y miles de lneas de
procedimientos almacenados y cdigos disparadores para las base de datos lderes. Su tecnologa
de comparacin completa permite el desarrollo iterativo, de forma tal que los modelos estn
siempre sincronizados con la base de datos del usuario. Al integrarse con entornos de desarrollo
lderes, AllFusion ERwin Data Modeler tambin acelera la creacin de aplicaciones centralizadas en
datos.
a.2.2. StarUML
StarUML es una herramienta para el modelamiento de software basado en los estndares UML
(Unified Modeling Language) y MDA (Model Driven Arquitecture), que en un principio era un
producto comercial y que hace cerca de un ao paso de ser un proyecto comercial (anteriormente
llamado plastic) a uno de licencia abierta GNU/GPL.
El objetivo del proyecto StarUML es construir una herramienta para el modelado de software y
tambin tener una plataforma que reemplaza completamente las herramientas UML comerciales
como son RationalRose, Together, entre otras.
El software hered todas las caractersticas de la versin comercial y poco a poco ha ido
mejorando sus caractersticas, entre las cuales se encuentran:
Soporte completo al diseo UML mediante el uso de:
- Diagrama de casos de uso
- Diagrama de clase

- Diagrama de secuencia
- Diagrama de colaboracin.
- Diagrama de estados
- Diagrama de actividad.
- Diagrama de componentes.
- Diagrama de despliegue.
- Diagrama de composicin estructural (UML 2.0)
- Definir elementos propios para los diagramas, que no necesariamente pertenezcan al
estndar de UML,
- La capacidad de generar cdigo a partir de los diagramas y viceversa, actualmente
funcionando para los lenguajes C++, C# y java.
- Generar documentacin en formatos Word, Excel y PowerPoint sobre los diagramas.
- Patrones GoF (Gang of Four), EJB (Enterprise JavaBeans) y personalizados.
- 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.
a.2.3. Sublime Text 2
Sublime Text 2, un editor de texto avanzado especialmente diseado para desarrolladores que
realmente sale de lo comn y se destaca por sus funcionalidades e interfz de usuario.
Cabe aclarar que Sublime Text 2 puede ser descargado gratuitamente para su evaluacin durante
un perodo de tiempo, el detalle es que los creadores del software no especifican el tiempo de
evaluacin ni fuerzan a comprarlo en ningn momento; en resumen, podemos usarlo por el
tiempo que queramos y lo nico que vamos a ver en la barra de ttulo superior de la herramienta
es la leyenda (UNREGISTERED).
De todas formas el precio es muy accesible.
Bsicamente, tiene muchas de las funcionalidades que podemos encontrar en otros editores
avanzados como NOTEPAD++ o Lopedit, pero si lo analizamos profundamente encontraremos

varias ventajas que realmente lo posicionan entre los mejores editores de texto.

Sublime Text2 es multiplataforma lo que lo convierte en una muy buena alternativa a Notepad++
en sistemas Linux y Mac.
a.2.4. Python
Python es un Lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis
muy limpia y que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma ya que soporta orientacin a objetos,
programacin imperativa y, en menor medida, programacin funcional.
Es un lenguaje interpretado, usa tipado dinmico, es fuertemente tipado y multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto,
denominada Python Software Foundation License, que es compatible con la Licencia pblica
general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.
a.2.5. PosgreSQL
PostgreSQL es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado por
una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan
de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha
comunidad es denominada el PGDG (PostgreSQL Global Development Group).
a.2.5.1. pgAdmin III
pgAdmin III es la herramienta Open Source de administracin por excelencia para sus bases de
datos PostgreSQL. Algunas de sus caractersticas son: el soporte completo para UNICODE, edicin
rpida de consultas y datos multihilo y soporte para todos los tipos de objetos de PostgreSQL.
pgAdmin III es empaquetado con el instalador de Windows, y puede ser usado como un cliente
para administrar un servidor remoto en otro sistema operativo. Note que los paquetes binarios
para otras plataformas como RPM no salen a la luz en cada release, usted actualmente tiene que
regresar a la versin 1.8.0 para obtener el ltimo set de paquetes.

Es el centro de administracin para las bases de datos PostgreSQL. Incluye una interfaz grfica de
administracin, una herramienta para el trabajo con SQL, un editor de cdigo de procedimientos y
funciones, y mucho ms. pgadmin III est diseado para darle respuesta de las necesidades de la
mayora de los usuarios, desde la escritura de consultas simples en SQL hasta el desarrollo de
bases de datos complejas. La interfaz grfica soporta todas las caractersticas presentes de
PostgreSQL y se puede hacer la administracin fcilmente. Est disponible en ms de 30 lenguajes
y para varios sistemas operativos.
La ltima versin estable es la 1.8.4 salida el 5 de junio de 2008, pero existe un beta disponible en
su sitio oficial en la versin 1.10 Beta 1, el cual trae nuevas caractersticas muy interesantes como:
la construccin grfica de una determinada consulta,la inclusin del framework pgScript para el
desarrollo de scripts para la ejecucin de consultas, buscador de objetos FTS, men para
habilitar/deshabilitar reglas, la posbilidad de borrar o reasignar un rol a una determinada base de
datos,entre otras.
a.2.6. Navegador

a.2.6.4. Mozilla Firefox
Mozilla Firefox es un navegador web libre y de cdigo abierto, descendiente de Mozilla Application
Suite y actualmente desarrollado por la Corporacin Mozilla, la Fundacin Mozilla y un gran
nmero de voluntarios externos. Mozilla Firefox es el segundo navegador ms utilizado de
Internet, con una cuota de mercado del 30,93% a finales de agosto de 2012, segn la firma Net
Applications. Otras fuentes de medicin global sitan el uso de Firefox entre el 21% y el 32%.
Firefox es un navegador multiplataforma y est disponible en varias versiones de Microsoft
Windows, Mac OS X, GNU/Linux y algunos sistemas basados en Unix. Su cdigo fuente es software
libre, publicado bajo una triple licencia GPL/LGPL/MPL.
a.2.6.5. Google Chorme
Es un navegador web desarrollado por Google y compilado con base en componentes de cdigo
abierto como el motor de renderizado WebKit y su estructura de desarrollo de aplicaciones
(framework), disponible gratuitamente bajo condiciones de servicio especficas. Con ms de 200
millones de usuarios, es el primer navegador ms utilizado de Internet. Posee una cuota de

mercado que se sita aproximadamente entre el 30% y 48% para finales de diciembre de 2011,
dependiendo de la fuente de medicin global, con particular xito en la mayora de pases de
Amrica del Sur donde es el ms popular. El nombre del navegador deriva del trmino usado para
el marco de la interfaz grfica de usuario (chrome).
Por su parte, Chromium es el proyecto de software libre con el que se ha desarrollado Google
Chrome y es de participacin comunitaria (bajo el mbito de Google Code) para fundamentar las
bases del diseo y desarrollo del navegador Chrome (junto con la extensin Chrome Frame),
adems del sistema operativo Google Chrome OS. La porcin realizada por Google est amparada
por la licencia de uso BSD, con otras partes sujetas a una variedad de licencias de cdigo abierto
permisivas que incluyen MIT License, Ms-PL y la triple licencia MPL/GPL/LGPL. En esencia, los
aportes hechos por el proyecto libre Chromium fundamentan el cdigo fuente del navegador base
sobre el que est construido Chrome y por tanto tendr sus mismas caractersticas, pero con un
logotipo ligeramente diferente y sin el apoyo comercial o tcnico de la compaa Google. De
acuerdo a la documentacin para desarrolladores, Chromium es el nombre del proyecto, no del
producto, y no debera aparecer nunca entre las variables del cdigo, nombres de APIs, etc.
Utilcese chrome en su lugar.
El 2 de septiembre de 2008 sali a la luz la primera versin al mercado, siendo esta una versin
beta. Finalmente, el 11 de diciembre de 2008 se lanz una versin estable al pblico en general.
Actualmente el navegador est disponible para la plataforma Microsoft Windows en ms de 50
idiomas, y desde el 25 de mayo de 2010 para los sistemas Mac OS X y Linux.
a.2.6.6. Internet Explorer
Windows Internet Explorer conocido comnmente como IE, es un navegador web desarrollado por
Microsoft para el sistema operativo Microsoft Windows desde 1995. Ha sido el navegador web
ms utilizado de Internet desde 1999 hasta hace algunos aos, con un pico mximo de cuota de
utilizacin del 95% entre el 2002 y 2003 en sus versiones 5 y 6. Sin embargo, dicha cuota de
mercado ha disminuido paulatinamente con los aos debido a una renovada competencia por
parte de otros navegadores, situndose aproximadamente entre el 44% y 64%, dependiendo de la
fuente de medicin global.
Su versin ms reciente es la 10.0, la cual est disponible gratuitamente como actualizacin para

Windows 7 Service Pack 1, Windows 8. Se incluye de forma nativa en los ms recientes sistemas
operativos de Microsoft, Windows 8.
b. Para el Servidor

b.9. Sistema Operativo

Para levantar los servicios en los diferentes servidores se utilizar como plataforma Centos 5.6
(Community Enterprise Operating System). Centos es un clon a nivel binario de la distribucin
Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a partir del cdigo fuente liberado
por Red Hat. Red Hat Enterprise Linux se compone de software libre y cdigo abierto, pero se
publica en formato binario usable (CD-ROM o DVD-ROM) solamente a suscriptores pagados. Como
es requerido, Red Hat libera todo el cdigo fuente del producto de forma pblica bajo los trminos
de la Licencia pblica general de GNU y otras licencias.

b.10. Otros

b.2.1. Servidor HTTP Apache
El servidor HTTP Apache es un servidor web HTTP de cdigo abierto, para plataformas Unix (BSD,
GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.12
y la nocin de sitio virtual. Cuando comenz su desarrollo en 1995 se bas inicialmente en cdigo
del popular NCSA HTTPd 1.3, pero ms tarde fue reescrito por completo. Su nombre se debe a que
Behelendorf quera que tuviese la connotacin de algo que es firme y enrgico pero no agresivo, y
la tribu Apache fue la ltima en rendirse al que pronto se convertira en gobierno de EEUU, y en
esos momentos la preocupacin de su grupo era que llegasen las empresas y "civilizasen" el
paisaje que haban creado los primeros ingenieros de internet. Adems Apache consista
solamente en un conjunto de parches a aplicar al servidor de NCSA. En ingls, a patchy server (un
servidor "parcheado") suena igual que Apache Server.
El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software
Foundation.
Apache presenta entre otras caractersticas altamente configurables, bases de datos de
autenticacin y negociado de contenido, pero fue criticado por la falta de una interfaz grfica que

ayude en su configuracin.
Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP ms usado.
Alcanz su mxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios
web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los ltimos
aos. (Estadsticas histricas y de uso diario proporcionadas por Netcraft3).
La mayora de las vulnerabilidades de la seguridad descubiertas y resueltas tan slo pueden ser
aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar
remotamente en ciertas situaciones, o explotar por los usuarios locales malvolos en las
disposiciones de recibimiento compartidas que utilizan PHP como mdulo de Apache.
b.2.2. Python
Python es un Lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis
muy limpia y que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma ya que soporta orientacin a objetos,
programacin imperativa y, en menor medida, programacin funcional.
Es un lenguaje interpretado, usa tipado dinmico, es fuertemente tipado y multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto,
denominada Python Software Foundation License, que es compatible con la Licencia pblica
general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.
b.2.3. PosgreSQL
PostgreSQL es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD.
Como muchos otros proyectos de cdigo abierto, el desarrollo de PostgreSQL no es manejado por
una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan
de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha
comunidad es denominada el PGDG (PostgreSQL Global Development Group).



c. Para el Cliente

c.3. Sistema Operativo
Los sistemas operativos cliente que permitirn soportar el sistema web, sern los de la familia
Windows desde Windows 2000 hasta las ltimas versiones de esta. Adems podr ser soportada
por las distribuciones Linux que permitan la compatibilidad con los diferentes navegadores web.
c.4. Otros

c.2.1. Mozilla Firefox
Mozilla Firefox es un navegador web libre y de cdigo abierto, descendiente de Mozilla Application
Suite y actualmente desarrollado por la Corporacin Mozilla, la Fundacin Mozilla y un gran
nmero de voluntarios externos. Mozilla Firefox es el segundo navegador ms utilizado de
Internet, con una cuota de mercado del 30,93% a finales de agosto de 2012, segn la firma Net
Applications. Otras fuentes de medicin global sitan el uso de Firefox entre el 21% y el 32%.
Firefox es un navegador multiplataforma y est disponible en varias versiones de Microsoft
Windows, Mac OS X, GNU/Linux y algunos sistemas basados en Unix. Su cdigo fuente es software
libre, publicado bajo una triple licencia GPL/LGPL/MPL.
c.2.2. Google Chorme
Es un navegador web desarrollado por Google y compilado con base en componentes de cdigo
abierto como el motor de renderizado WebKit y su estructura de desarrollo de aplicaciones
(framework), disponible gratuitamente bajo condiciones de servicio especficas. Con ms de 200
millones de usuarios, es el primer navegador ms utilizado de Internet. Posee una cuota de
mercado que se sita aproximadamente entre el 30% y 48% para finales de diciembre de 2011,
dependiendo de la fuente de medicin global, con particular xito en la mayora de pases de
Amrica del Sur donde es el ms popular. El nombre del navegador deriva del trmino usado para
el marco de la interfaz grfica de usuario (chrome).
Por su parte, Chromium es el proyecto de software libre con el que se ha desarrollado Google
Chrome y es de participacin comunitaria (bajo el mbito de Google Code) para fundamentar las
bases del diseo y desarrollo del navegador Chrome (junto con la extensin Chrome Frame),

adems del sistema operativo Google Chrome OS. La porcin realizada por Google est amparada
por la licencia de uso BSD, con otras partes sujetas a una variedad de licencias de cdigo abierto
permisivas que incluyen MIT License, Ms-PL y la triple licencia MPL/GPL/LGPL. En esencia, los
aportes hechos por el proyecto libre Chromium fundamentan el cdigo fuente del navegador base
sobre el que est construido Chrome y por tanto tendr sus mismas caractersticas, pero con un
logotipo ligeramente diferente y sin el apoyo comercial o tcnico de la compaa Google. De
acuerdo a la documentacin para desarrolladores, Chromium es el nombre del proyecto, no del
producto, y no debera aparecer nunca entre las variables del cdigo, nombres de APIs, etc.
Utilcese chrome en su lugar.
El 2 de septiembre de 2008 sali a la luz la primera versin al mercado, siendo esta una versin
beta. Finalmente, el 11 de diciembre de 2008 se lanz una versin estable al pblico en general.
Actualmente el navegador est disponible para la plataforma Microsoft Windows en ms de 50
idiomas, y desde el 25 de mayo de 2010 para los sistemas Mac OS X y Linux.
c.2.3. Internet Explorer
Windows Internet Explorer conocido comnmente como IE, es un navegador web desarrollado por
Microsoft para el sistema operativo Microsoft Windows desde 1995. Ha sido el navegador web
ms utilizado de Internet desde 1999 hasta hace algunos aos, con un pico mximo de cuota de
utilizacin del 95% entre el 2002 y 2003 en sus versiones 5 y 6. Sin embargo, dicha cuota de
mercado ha disminuido paulatinamente con los aos debido a una renovada competencia por
parte de otros navegadores, situndose aproximadamente entre el 44% y 64%, dependiendo de la
fuente de medicin global.
Su versin ms reciente es la 10.0, la cual est disponible gratuitamente como actualizacin para
Windows 7 Service Pack 1, Windows 8. Se incluye de forma nativa en los ms recientes sistemas
operativos de Microsoft, Windows 8.
7. Tecnologas Aplicadas

a. Para el Modelado

a.2. Programacin Extrema XP
La programacin extrema o eXtreme Programming (XP) es una metodologa de desarrollo de la

ingeniera de software formulada por Kent Beck, autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999). Es el ms destacado de los procesos giles de
desarrollo de software. Al igual que stos, la programacin extrema se diferencia de las
metodologas tradicionales principalmente en que pone ms nfasis en la adaptabilidad que en la
previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son
un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz
de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una
aproximacin mejor y ms realista que intentar definir todos los requisitos al comienzo del
proyecto e invertir esfuerzos despus en controlar los cambios en los requisitos.
Se puede considerar la programacin extrema como la adopcin de las mejores metodologas de
desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera
dinmica durante el ciclo de vida del software.
b. Para el Desarrollo

b.11. HTML5
HTML5 (HyperText Markup Language, versin 5) es la quinta revisin importante del lenguaje
bsico de la World Wide Web, HTML
Todava se encuentra en modo experimental, lo cual indica la misma W3C; aunque ya es usado por
mltiples desarrolladores web por sus avances, mejoras y ventajas.
HTML5 establece una serie de nuevos elementos y atributos que reflejan el uso tpico de los sitios
web modernos. Algunos de ellos son tcnicamente similares a las etiquetas <div> y <span>, pero
tienen un significado semntico, como por ejemplo <nav> (bloque de navegacin del sitio web) y
<footer>. Otros elementos proporcionan nuevas funcionalidades a travs de una interfaz
estandarizada, como los elementos <audio> y <video>.
Mejoras en el elemento <canvas>, capaz de renderizar en los navegadores ms importantes
(Mozilla, Chrome, Opera, Safari e IE) elementos 3D.
Algunos elementos de HTML 4.01 han quedado obsoletos, incluyendo elementos puramente de
presentacin, como <font> y <center>, cuyos efectos son manejados por el CSS. Tambin hay un

renovado nfasis en la importancia del scripting DOM para el comportamiento de la web.

b.12. CSS3
CSS o hojas de estilo en cascada, que viene del ingls Cascading Style Sheets, del que toma sus
siglas. CSS es un lenguaje usado para definir la presentacin de un documento estructurado
escrito en HTML o XML2 (y por extensin en XHTML). El W3C (World Wide Web Consortium) es el
encargado de formular la especificacin de las hojas de estilo que servirn de estndar para los
agentes de usuario o navegadores.
La idea que se encuentra detrs del desarrollo de CSS es separar la estructura de un documento de
su presentacin.
b.2.1. Framework

b.2.1.1. Stylus

b.3.1.1.1. Uso
CSS normal
body {
font: 12px Helvetica, Arial, sans-serif;
}
a.button {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}

CSS con Stylus
body
font 12px Helvetica, Arial, sans-serif
a.button
-webkit-border-radius 5px
-moz-border-radius 5px
border-radius 5px

b.13. JavaScrip
JavaScript es un lenguaje de programacin interpretado, dialecto del estndar ECMAScript. Se
define como orientado a objetos,3 basado en prototipos, imperativo, dbilmente tipado y
dinmico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte
de un navegador web permitiendo mejoras en la interfaz de usuario y pginas web dinmicas, en
bases de datos locales al navegador...4 aunque existe una forma de JavaScript del lado del servidor
(Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en
documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es tambin significativo.
JavaScript se dise con una sintaxis similar al C, aunque adopta nombres y convenciones del
lenguaje de programacin Java. Sin embargo Java y JavaScript no estn relacionados y tienen
semnticas y propsitos diferentes.
Todos los navegadores modernos interpretan el cdigo JavaScript integrado en las pginas web.
Para interactuar con una pgina web se provee al lenguaje JavaScript de una implementacin del
Document Object Model (DOM).
Tradicionalmente se vena utilizando en pginas web HTML para realizar operaciones y
nicamente en el marco de la aplicacin cliente, sin acceso a funciones del servidor. JavaScript se
interpreta en el agente de usuario, al mismo tiempo que las sentencias van descargndose junto
con el cdigo HTML.
b.3.2. Framework

b.3.1.1. JQuery
jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite
simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM,
manejar eventos, desarrollar animaciones y agregar interaccin con la tcnica AJAX a pginas
web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC.
jQuery es software libre y de cdigo abierto, posee un doble licenciamiento bajo la Licencia
MIT y la Licencia Pblica General de GNU v2, permitiendo su uso en proyectos libres y

privativos.1 jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas
en JavaScript que de otra manera requeriran de mucho ms cdigo, es decir, con las
funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio.
Las empresas Microsoft y Nokia anunciaron que incluirn la biblioteca en sus plataformas.2
Microsoft la aadir en su IDE Visual Studio3 y la usar junto con los frameworks ASP.NET
AJAX y ASP.NET MVC, mientras que Nokia los integrar con su plataforma Web Run-Time.
b.3.1.1.1. Caractersticas
- Seleccin de elementos DOM.
- Interactividad y modificaciones del rbol DOM, incluyendo soporte para CSS 1-3 y un
plugin bsico de XPath.
- Eventos.
- Manipulacin de la hoja de estilos CSS.
- Efectos y animaciones.
- Animaciones personalizadas.
- AJAX.
- Soporta extensiones.
- Utilidades varias como obtener informacin del navegador, operar con objetos y vectores,
funciones para rutinas comunes, etc.
- Compatible con los navegadores Mozilla Firefox 2.0+, Internet Explorer 6+, Safari 3+,
Opera 10.6+ y Google Chrome 8+.
b.3.1.1.1. Uso
jQuery consiste en un nico fichero JavaScript que contiene las funcionalidades comunes de DOM,
eventos, efectos y AJAX.
La caracterstica principal de la biblioteca es que permite cambiar el contenido de una pgina web
sin necesidad de recargarla, mediante la manipulacin del rbol DOM y peticiones AJAX. Para ello
utiliza las funciones $() o jQuery().
Comnmente antes de realizar cualquier accin en el documento con jQuery(), debemos
percatarnos de que el documento est listo. Para ello usamos $(document).ready();, de esta
forma:

$(document).ready(function() {
//Aqu van todas las acciones del documento.
});
Funcin $()
La forma de interactuar con la pgina es mediante la funcin $(), un alias de jQuery(), que recibe
como parmetro una expresin CSS o el nombre de una etiqueta HTML y devuelve todos los nodos
(elementos) que concuerden con la expresin.
$("#tablaAlumnos"); // Devolver el elemento con id="tablaAlumnos"
$(".activo"); // Devolver una matriz de elementos con
class="activo"
Una vez obtenidos los nodos, se les puede aplicar cualquiera de las funciones que facilita la
biblioteca.
// Se elimina el estilo (con removeClass()) y se aplica uno nuevo
(con addClass()) a todos los nodos con class="activo"
$(".activo").removeClass("activo").addClass("inactivo");

O por ejemplo, efectos grficos:
// Anima todos los componentes con class="activo"
$(".activo").slideToggle("slow");
b.14. Python
Python es un Lenguaje de programacin interpretado cuya filosofa hace hincapi en una sintaxis
muy limpia y que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma ya que soporta orientacin a objetos,
programacin imperativa y, en menor medida, programacin funcional.
Es un lenguaje interpretado, usa tipado dinmico, es fuertemente tipado y multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de cdigo abierto,
denominada Python Software Foundation License, que es compatible con la Licencia pblica

general de GNU a partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.
b.4.2. Framework

b.4.1.1. Django

Django es un framework de desarrollo web de cdigo abierto, escrito en Python, que cumple en
cierta medida el paradigma del Modelo Vista Controlador. Fue desarrollado en origen para
gestionar varias pginas orientadas a noticias de la World Company de Lawrence, Kansas, y fue
liberada al pblico bajo una licencia BSD en julio de 2005; el framework fue nombrado en alusin
al guitarrista de jazz gitano Django Reinhardt.

En junio del 2008 fue anunciado que la recin formada Django Software Foundation se hara cargo
de Django en el futuro.
La meta fundamental de Django es facilitar la creacin de sitios web complejos. Django pone
nfasis en el re-uso, la conectividad y extensibilidad de componentes, el desarrollo rpido y el
principio No te repitas (DRY, del ingls Don't Repeat Yourself). Python es usado en todas las partes
del framework, incluso en configuraciones, archivos, y en los modelos de datos.

b.4.1.1.1. Caractersticas

Al igual que Ruby on Rails, otro popular framework de cdigo abierto, Django se us en
produccin durante un tiempo antes de que se liberara al pblico; fue desarrollado por Adrian
Holovaty, Simon Willison, Jacob Kaplan-Moss y Wilson Miner mientras trabajaban en World
Online, y originalmente se utiliz para administrar tres sitios web de noticias: The Lawrence
Journal-World, lawrence.com y KUsports.com.
Los orgenes de Django en la administracin de pginas de noticias son evidentes en su diseo, ya
que proporciona una serie de caractersticas que facilitan el desarrollo rpido de pginas
orientadas a contenidos. Por ejemplo, en lugar de requerir que los desarrolladores escriban
controladores y vistas para las reas de administracin de la pgina, Django proporciona una
aplicacin incorporada para administrar los contenidos, que puede incluirse como parte de
cualquier pgina hecha con Django y que puede administrar varias pginas hechas con Django a

partir de una misma instalacin; la aplicacin administrativa permite la creacin, actualizacin y
eliminacin de objetos de contenido, llevando un registro de todas las acciones realizadas sobre
cada uno, y proporciona una interfaz para administrar los usuarios y los grupos de usuarios
(incluyendo una asignacin detallada de permisos).
La distribucin principal de Django tambin aglutina aplicaciones que proporcionan un sistema de
comentarios, herramientas para sindicar contenido via RSS y/o Atom, "pginas planas" que
permiten gestionar pginas de contenido sin necesidad de escribir controladores o vistas para esas
pginas, y un sistema de redireccin de URLs.
Otras caractersticas de Django son:
- Un mapeador objeto-relacional.
- Aplicaciones "enchufables" que pueden instalarse en cualquier pgina gestionada con
Django.
- Una API de base de datos robusta.
- Un sistema incorporado de "vistas genricas" que ahorra tener que escribir la lgica de
ciertas tareas comunes.
- Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas.
- Un despachador de URLs basado en expresiones regulares.
- Un sistema "middleware" para desarrollar caractersticas adicionales; por ejemplo, la
distribucin principal de Django incluye componentes middleware que proporcionan
cacheo, compresin de la salida, normalizacin de URLs, proteccin CSRF y soporte de
sesiones.
- Soporte de internacionalizacin, incluyendo traducciones incorporadas de la interfaz de
administracin.
- Documentacin incorporada accesible a travs de la aplicacin administrativa (incluyendo
documentacin generada automticamente de los modelos y las bibliotecas de plantillas
aadidas por las aplicaciones).

2.1.4. Problema

El sistema web permitir optimizar los procesos administrativos y acadmicos;

generar informacin oportuna para la toma de decisiones, mejorando as el servicio
que brinda, e incrementando las utilidades del Centro de Produccin de la Facultad
De Ciencias Fsicas Y Matemticas - UNPRG.?

2.1.5. Hiptesis

Si se implementa un sistema Web para el Centro de Produccin de la Facultad De
Ciencias Fsicas Y Matemticas UNPRG, conllevara a la mejora de los procesos
administrativos y acadmicos, logrando as que el acceso a la informacin sea de
manera eficiente y eficaz.
2.1.6. Objetivos

2.1.6.1. Objetivo General

Implementar un sistema web que permita optimizar los procesos
administrativos y acadmicos; generar informacin oportuna para la toma de
decisiones, mejorando as el servicio que brinda, e incrementando las utilidades
del Centro de Produccin para el Centro de Produccin de la Facultad De
Ciencias Fsicas Y Matemticas - UNPRG.

2.1.6.2. Objetivo Especficos

Analizar la informacin que dispone el Centro de Produccin de la Facultad
De Ciencias Fsicas Y Matemticas, que nos permita detallar los
requerimientos de los usuarios y personal administrativo para el desarrollo
del sistema web.
Modelar los procesos administrativos y acadmicos utilizando la
metodologa de modelamiento eXtrem Programing.
Utilizar el lenguaje de programacin: Python para el desarrollo del Sistema
web.
Disear e implementar una base de datos relacional y usar PosgreSQL como
gestor de esta.
Elaborar una interfaz cmoda para el usuario, facilitando as el manejo

didctico e interactivo del sistema.
Generar reportes necesarios para una eficiente toma de decisiones.
Poner a prueba el Sistema elaborado.
Aplicar una encuesta de evaluacin sobre el funcionamiento del Sistema.

2.1.7. Justificacin e Importancia

El Centro de Produccin de la Facultad De Ciencias Fsicas Y Matemticas, que viene
impartiendo las clases del idioma ingles a travs de su centro de idiomas a los
alumnos de la comunidad universitaria en general y los cursos co-curriculares para
alumnos de la facultad.

Dicho centro de produccin no cuenta con un sistema web implementado con el
cual pueda automatizar y agilizar sus procesos administrativos y acadmicos.
La W3C define "Sistema web" como un sistema de software diseado para permitir
interoperatibilidad mquina a mquina en una red. En general, los servicios web
son slo APIs Web que pueden ser accedidas en una red, como internet, y
ejecutadas en un sistema de hosting remoto
1
. En trminos sencillos, un servicio web
es cualquier sistema de software diseado para soportar interaccin mquina a
mquina sobre una red.

El desarrollo de este sistema web permitira a los usuarios acceder de manera rpida
y sencilla a los servicios que ofrece dicho centro de produccin desde cualquier
punto geogrfico, consiguiendo as facilitarle a los alumnos interesados, el
minimizar el gasto monetario y de tiempo para realizar algn trmite o gestin
documentaria tales como proceso de matrculas, entrega de constancias de notas
entre los principales, en cualquier oficina fsica de este centro de produccin.

Conllevando as a la captacin de un mayor nmero de alumnos interesados en
llevar los cursos que hay se ofrecen, aumentando de esta forma ingresos
econmicos para la facultad y la reduccin de costos en la parte administrativa.

1
http://www.w3c.es/Divulgacion/a-z/

Ante esa problemtica palpable en dicho centro de produccin se plantea la
implementacin de un sistema web, basado en tecnologas libres y vanguardistas.

2.1.8. Definicin de Trminos y Conceptos

Casos de uso. - Es una descripcin de un conjunto de acciones ejecutadas
por el sistema tras la orden de un agente (llamado actor) que puede ser el
usuario de la aplicacin ,la propia aplicacin ,otro caso de uso o un
elemento externo(hardware).

Clases.-En una clase se agrupan todos los objetivos que comparten los
mismos atributos, mtodos y relaciones.

Atributos.-Son caracterstica y propiedades comunes en todos los objetos de
la clase.

Mtodos.-Son operaciones que deben cumplir las instancias de la clase.

Dependencia. - Es una relacin de uso entre dos elementos, implica que los
cambios que se produzcan en un elemento pueden afectar al otro pero no
necesariamente a la inversa.

Asociacin. - Es una relacin estructural entre varios elementos, implica que
los objetos de los distintos elementos de la relacin estn conectados
entre s y se pueden conectar.

2.2. MARCO METODOLOGICO

2.2.11. Modo de Investigacin

Unidisciplinario

2.2.12. Tipo de Investigacin

Tecnolgica-Formal

2.2.13. Contrastacin de Hiptesis

2.2.3.1. Modelo lgico de contrastacin

2.2.3.1.1. Consecuencias lgicas

SI se implementa un sistema web en el centro de
produccin de la facultad de ciencias fsicas y
matemticas, ENTONCES se lograra generar
informacin oportuna, eficiente y eficaz e incrementar
las utilidades del centro de produccin.

2.2.3.1.2. Operacionalizacin de variables
Tabla 1: Variables independientes.

Tabla 2: Variables dependientes.
VARIABLE
INDEPENDIENTE
DEFINICIN INDICADORES
Sistema web
Un sistema web en trminos sencillos, es un
servicio web es cualquier sistema de software
diseado para soportar interaccin mquina a
mquina sobre una red
- Nmero de cursos
ofrecidos.
- Nmero de alumnos
por curso.
- Nmero matriculas.
VARIABLE
DEPENDIENTE
DEFINICIN INDICADORES
Personal
Administrativo
En el contexto del presente proyecto, es toda
aquella persona natural empleada por la
Facultad de Ciencias Fsicas y Matemticas o la
Universidad Nacional Pedro Ruiz Gallo encargada
- Nmero de personal
administrativo en el
rea


2.2.3.2. Modelo experimental de contrastacin
Diseo cuasi-experimental
2.2.14. Poblacin y muestra estadstica de estudio

2.2.4.2. Obtencin de la muestra
La poblacin son todos los administrativos del Centro de produccin de la facultad de ciencias
fsicas y matemticas de la universidad nacional Pedro Ruiz Gallo y la muestra de estudio es
especficamente los 5 administrativos del centro de Produccin de dicha institucin.
Para la seleccin de la muestra se usar la tcnica del muestreo aleatorio estratificado:

( )


Dnde:
- Tamao de la muestra : n
- Tamao de la Poblacin : N = 5
- Probabilidad de xito : p
- Probabilidad de fracaso : q
- Margen de error : E
- Nivel de confianza requerido : Z

Para el presente estudio se tomaran en cuenta las siguientes restricciones:
- p = 0.50 (Probabilidad de que los alumnos deseen asistir a algn curso).
- q = 0.50 (Probabilidad de que los alumnos no deseen asistir a algn curso).
- E = 5% = 0.05.
- Z = 1.96 (Valor que comprende un coeficiente del 95%).
de gestionar y cumplir con los requerimientos del
alumno u otros que lo requieran.

Reemplazando:
n = 5 Administrativos (Muestra poblacional)
Debido a que la muestra poblacional obtenida es muy pequea se opt por tomar todo el tamao
de la poblacin.

2.2.15. Materiales de Laboratorio

2.2.5.6. Hardware
HARDWARE CANTIDAD
Computadoras 3
Impresoras 1
Escner 1

2.2.5.7. Software
SOFTWARE DESCRIPCION
Sublime Text v.2 Entorno de desarrollo integrado
Python v.2.7.3 Lenguaje de programacin
PosgreSQL v.9.1
Sistema de gestin de base de
datos relacional
StarUML
Herramienta de modelado del
negocio
CA ERwin Data
Modeler r7
Community Edition
Herramienta de modelado de
datos

Pasw Statistics v.18
(Licencia de Prueba)
Programa estadstico informtico
Mozilla Firefox v.13+ ,
Internet Explorer v.9+,
Google Chrome v.23+
Navegadores ms usados en la
actualidad.

2.2.5.8. Sistema Operativo
SISTEMA OPERATIVO TIPO DE LICENCIA
Windows 7
Professional (64 bits)
Microsoft CLUF (EULA)
CentOS 5.6 GPL

2.2.5.9. Materiales de Escritorio
MATERIALES DE ESCRITORIO
DVD
Papel Bond A4
Lapiceros
Corrector
Lpiz 2B
Folders
Sobre Manila A4





2.2.5.10. Servicios
SERVICIOS
Movilidad
Alimentos
Telecomunicaciones
Fotocopias
Impresiones
Espiralados
Encuadernacin
Energa Elctrica
Internet
Hosting y Dominio

2.2.16. Tcnicas e instrumentos de recoleccin de datos

2.2.6.3. Tcnicas de Gabinete

Utilizaremos libros de programacin y revistas Cientficas-tecnolgicas,
informes cientficos e internet referidos al problema de investigacin, del
mismo modo se har uso de materiales de escritorio para el desarrollo del
trabajo de investigacin

2.2.6.4. Tcnicas de Campo

Se har uso de encuestas para recojo de la informacin pertinente
relacionado al trabajo de investigacin.




2.2.17. Mtodos y procedimientos para la recoleccin de datos

Para la ejecucin de la primera tarea haremos uso del mtodo histrico
tendencial, el mismo que est vinculado al conocimiento de las distintas
etapas del anlisis, desarrollo e implementacin del sistema web, tema de
investigacin.
Para desarrollar la segunda tarea, haremos uso del mtodo emprico que
permitir recoger toda la informacin emprica respecto a la opinin de los
usuarios, pre y post a la implantacin del sistema web.
La tercera tarea, est referida a la Implementacin del sistema web, esta se
pasara a sistematizar; para lo cual utilizaremos el mtodo sistmico
estructural, procedimiento deductivo y la tcnica de la descripcin.
Para la tarea cuatro se colgar la aplicacin y la base de datos en un hosting
adecuado, esto permitir posteriormente realizar las pruebas necesarias
para poder determinar si se logr alcanzar el objetivo del proyecto.

2.2.18. Anlisis estadsticos de datos

El procesamiento y anlisis estadstico de datos sern vertidos en una base
creada en la herramienta Microsoft Excel.
A partir de los datos recolectados en las dos encuestas; las cuales se
realizaran al inicio del proyecto para determinar la situacin actual de las
MYPES en la regin de Lambayeque y el principal problema que las afecta y
al finalizar el proyecto para poder obtener los resultados de la puesta en
marcha del mercado virtual; se presentarn tablas y grficos las cuales
permitirn realizar una comparacin entre los datos obtenidos al inicio del
proyecto con los obtenidos durante la puesta en marcha del sistema web.

2.2.19. Evaluacin de impacto

El impacto de la investigacin se evaluar mediante la realizacin de dos
encuestas. La primera se realizara al inicio del proyecto para determinar la
situacin actual de cmo se manejan los diferentes procesos administrativos
y acadmicos en el centro de produccin y el principal problema que las
afecta; la segunda se realizar al finalizar el proyecto, para poder obtener
los resultados de la puesta en marcha del sistema web. Posterior a estas dos
etapas se pasar a realizar una comparacin entre los datos obtenidos al
inicio del proyecto con los obtenidos durante la puesta en marcha del
proyecto para determinar si se logr satisfacer la hiptesis y alcanzar el
objetivo planteado en la investigacin.


2.2.20. Comunicacin de Resultados

Los resultados que se obtengan como producto de la investigacin se darn a conocer a
los beneficiarios mediante los siguientes medios:

El Sistema web que estar implementado.
Charlas informativas y de capacitacin a travs de videos publicados en la
misma Pgina Web.
Manual de usuario publicado en la misma Pgina Web.

2.2.21. Esquema de Contenido

1. IDENTIFICACIN DE REQUISITOS

En esta etapa se aclaran y detallan las funcionalidades que deber tener el sistema,
adems se realizaran las siguientes tareas:

a) Revisin del alcance propuesto para la aplicacin
b) Identificacin de los requerimientos de la aplicacin
c) Priorizacin de los requerimientos

2. DEFINICIN DE ITERACIONES

En esta etapa se estimarn las iteraciones o ciclos de desarrollo necesarios para culminar
el proyecto con xito, esto estar en funcin a la lista de requerimientos establecida en la
etapa anterior. Adems, cada iteracin abarcar de 3 a 4 semanas y a su trmino debe
generar un entregable funcionando y listo para ser probado.

3. DESARROLLO DE ITERACIONES

En esta etapa se desarrollan las iteraciones estimadas en la etapa 2. Cada iteracin incluye
las siguientes tareas:


a) Identificacin y captura de informacin necesaria
b) Diseo de base de datos
c) Diseo de Formularios
d) Implementacin de base de datos
e) Carga de datos mnimos necesarios
f) Construccin.
g) Pruebas Unitarias.
h) Aprobacin de resultados de iteracin

Adems, se debe tener en cuenta que al finalizar cada iteracin se realizara la integracin
respectiva y se realizaran las pruebas de integracin del sistema.

4. CARGA DE DATOS

En esta etapa se registrarn los datos iniciales necesarios para la aplicacin.

5. PUESTA EN MARCHA

En esta etapa se realizara el alojamiento del sistema y de la base de datos, adems incluir
las siguientes tareas:

a) Pruebas del Sistema
b) Ajuste
c) Ejecucin

























III. ASPECTO
ADMINISTRATIVO







2.1. Cronograma de actividades del proyecto

ACTIVIDADES
2012 2013 2014
Nov Dic Ene Feb Mar Abr May Jun Jul Ago Sep Oct Nov Dic Ene Feb
Planificacin del
proyecto


Realizacin de la
primera encuesta



SPRINT 1



Definicin de historias
de usuario.

Diseo.

Construccin.

Pruebas e integracin.

Elaboracin de
informe de
finalizacin de sprint.

SPRINT 2



Definicin de historias
de usuario.

Diseo.

Construccin.

Pruebas e integracin.


Elaboracin de
informe de
finalizacin de sprint.

SPRINT 3



Definicin de historias
de usuario.

Diseo.

Construccin.

Pruebas e integracin.

Elaboracin de
informe de
finalizacin de sprint.

SPRINT 4



Definicin de historias
de usuario.

Diseo.

Construccin.

Pruebas e integracin.

Elaboracin de
informe de
finalizacin de sprint.

SPRINT 5



Definicin de historias
de usuario.


Diseo.

Construccin.

Pruebas e integracin.

Elaboracin de
informe de
finalizacin de sprint.

TERMINACIN DEL
PROYECTO



Puesta en marcha.

Realizacin de la
segunda encuesta.

Finalizacin del
informe de tesis.



2.2. Presupuestos
1. Remuneraciones

CANTIDAD
(unid.)
FUNCIN
SUELDO
MENSUAL (S/.)
TIEMPO
(MESES)
SUBTOTAL
(S/.)
2 Analista Programador 00.00 12 00.00
1
Administrador de
servidores
00.00 12 00.00
1 Diseador 00.00 12 00.00
TOTAL: 00.00


2. Bienes
MATERIAL CANTIDAD (unid.) PRECIO UNITARIO (S/.) SUBTOTAL (S/.)
DVD 5 1.50 7.50
Folder 10 0.50 5.00
Sobre manila A4 10 0.50 5.00
Papel bond A4 100 13.50 13.50
Corrector 1 2.50 2.50
Lpiz 2B 4 1.00 1.00
Lapiceros 6 0.50 3.00
TOTAL: 42.50

3. Servicios

SERVICIOS SUBTOTAL (S/.)
Movilidad 288.00
Telecomunicaciones 40.00
Fotocopias 40.00
Impresiones 50.00
Espiralados 8.00
Encuadernacin 100.00
Energa Elctrica 261.60
Internet 1080.00
Total 1867.60



4. Bienes de capital

SERVICIOS SUBTOTAL (S/.)
Equipos de cmputo
(2 PC)
6000.00
Memorias USB 60.00
Licencias de
Software propietario
500.00
Total 6560.00


2.3. Financiamiento

El proyecto ser financiado por los responsables del proyecto.






















IV. Bibliografa


Kenneth C. Louden Lenguajes de Programacin: Principios y Prctica,2004
Kenneth E. Kendall, Julie E. Kendall Anlisis y Diseo de Sistemas, 2005
Prez Lpez Cesar SQL - Administracin y Anlisis de Base de Datos, 2006
Silberschatz Abraham Fundamentos de Base de Datos, 2006
Alex Martelli Python, 2008
Neil Smyth CentOS 5 Essentials, 2010
Joshua D. Drake, John C. Worsley Practical PostgreSQL, 2011























V. Linkografa

http://es.wikipedia.org/wiki/Python#Filosof.C3.ADa Python, Wikipedia
http://python.pe/ - Comunidad de Usuarios de Python en Per
http://www.youtube.com/playlist?list=PL40E91D89837EBADB - Curso de
Programacin en Python
http://www.velocityreviews.com/forums/t339913-how-do-i-make-windows-
application-with-python.html - How do I make Windows Application with Python ?
http://es.wikipedia.org/wiki/Django_(framework) - Django (framework) -
Wikipedia,
http://django.es/ - Web de Django en Espaol
http://www.youtube.com/watch?feature=player_embedded&v=St-30zsoDus -
Introduccin a Django
http://es.wikipedia.org/wiki/JavaScript - JavaScript - Wikipedia
http://addyosmani.com/blog/a-few-new-things-coming-to-javascript/ - A Few New
Things Coming To JavaScript
http://es.wikipedia.org/wiki/JQuery - jQuery - Wikipedia
http://jquery.com/ - jQuery: The Write Less, Do More, JavaScript Library
http://www.cristalab.com/css3/ - Curso de CSS3
http://xtornasol512.blogspot.com/2012/07/Stylus.html - Stylus, Framework para CSS3
http://www.html5rocks.com/es/ - HTML5 Rocks
http://es.wikipedia.org/wiki/HTML5 - HTML5 - Wikipedia
http://aprendiendoando.com/html5 - Html5 | AprendiendoAndo
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado - Lenguaje
Unificado de Modelado Wikipedia
http://www.monografias.com/trabajos82/lenguaje-uml-importancia-
modelar/lenguaje-uml-importancia-modelar.shtml
http://www.slideshare.net/2008PA2Info3/extensiones-uml-para-aplicaciones-
web-roco-santiago - Extensiones UML para aplicaciones web - Roco Santiago
http://en.wikipedia.org/wiki/StarUML - Star uml
http://www.slideshare.net/Javier_lema/star-uml - Star uml
http://www.iered.org/archivos/Grupo_Vultur/Seminario/3-mecs/sesion3/RUP-Vs-
XP.pdf - RUP-Vs-XP
http://falasco.org/guia-definitiva-sublime-text-2
http://www.postgresql.org/
http://es.wikipedia.org/wiki/PostgreSQL

VI. Firmas















____________________________ ____________________________
ALTAMIRANO ZELADA JEAN RAMIREZ LOPEZ KARIN
Investigador Investigadora


































VII. Anexos














SISTEMA WEB PARA EL CENTRO DE PRODUCCION DE LA FACULTAD DE CIENCIAS FISICAS
Y MATEMATICAS DE LA UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO-LAMBAYEQUE

ENCUESTA

SEXO: M ( ) F ( ) EDAD:.

1.-Considera usted que en el Centro de produccin se maneja una cantidad de alumnos alta

S _____ No _____

2.-Considera que la baja productividad del centro de produccin se debe a la falta de
organizacin en las reas administrativas

S _____ No _____

3.-Cree usted que con un rediseo en la parte administrativa contribuira con las mejoras del
centro de produccin

S _____ No _____

4.-Considera usted que el manejo de archivos en el centro de produccin es buena

S _____ No _____

5.-Considera usted que el uso de un Sistema Web es un factor externo

S _____ No _____

6.-Cree usted que para una buena prestacin del servicio por el centro de produccin sera
bueno implantar un sistema Web



S _____ No _____

7.-Considera que de ser posible un cambio de todo el manejo de la informacin en el centro de
Produccin ayudara a mejorar los procesos administrativos y acadmicos

S _____ No _____

8.-SUGERENCIAS:
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
__________________

Você também pode gostar