Anteproyecto de trabajo recepcional que para preparar la obtencin del ttulo de:
Ingeniero en Sistemas Computacionales
Presenta:
Garcia Segura Diana Laura. Soriano Feria Maria Candelaria.
Asesores:
Prez Aguilar Armando Cuerpos Acadmicos:
Nombre del CA 1 Nombre del CA 2
Lneas de Generacin y Aplicacin del Conocimiento:
Nombre de la lnea 1 Nombre de la lnea 2
Pgina de resguardo
INSITUTO TECNOLOGICO SUPERIOR DE VILLA LA VENTA DIVISION DE INGENIERIA EN SISTEMAS COMPUTACIONALES
Villa la Venta Huimanguillo, Tabasco. Dic , 2013.
Pagina de resguardo
Es una pgina en blanco que se deja arriba de la contraportada, puede ser usada para anotaciones de la comisin revisora.
Anteproyecto de trabajo recepcional que para preparar la obtencin del ttulo de:
Ingeniero en Sistemas Computacionales
Presenta:
Garcia Segura Diana Laura. Soriano Feria Maria Candelaria
Asesores:
Prez Aguilar armando. Comisin Revisora:
Ttulo y nombre de Revisor 1 Ttulo y nombre de Revisor 2 Ttulo y nombre de Revisor 3
Cuerpos Acadmicos:
Nombre del CA 1 Nombre del CA 2
Lneas de Generacin y Aplicacin del Conocimiento:
Nombre de la lnea 1 Nombre de la lnea 2
INSTITUTO TECNOLOGICO SUPERIOR DE VILLA LA VENTA DIVISION DE INGENIERIA EN SISTEMAS COMPUTACIONALES Villa la Venta Huimanguillo, Tabasco. Dic , 2013. PROTOTIPO PARA FACILITAR LA IMPRESIN DE MANERA INSTANTANEA DE DOCUMENTOS DEL CONTROL ESCOLAR DEL ITSLV
i
ndice general
ndice de ilustraciones .................................................................................................................... iii ndice de tablas ................................................................................................................................ iv 1. Antecedentes ........................................................................................................................... 1 2. Planteamiento del Problema ................................................................................................. 2 2.1 Definicin del problema ....................................................................................................... 2 2.2 Delimitacin de la investigacin .......................................................................................... 3 2.2.1. Alcances ................................................................................................................... 3 2.2.2. Limitaciones ............................................................................................................. 3 3. Objetivos ................................................................................................................................. 4 3.1 Objetivo general. .................................................................................................................. 4 3.2 Objetivos especficos ............................................................................................................ 4 4. Justificacin ............................................................................................................................ 5 5. Marco terico .......................................................................................................................... 6 5.1 Marco referencial ................................................................................................................. 6 5.2 Marco conceptual ................................................................................................................. 9 5.3 Marco Tecnolgico ............................................................................................................ 10 5.3.1. Software de Desarrollo ........................................................................................... 10 5.3.2. Software de operacin ............................................................................................ 13 5.3.3. Software manejador de bases de datos ................................................................... 15 5.3.4. Herramientas de animacin .................................................................................... 17 5.3.5. Servidor .................................................................................................................. 18 5.4 Marco legal ......................................................................................................................... 19 6. Mtodo ................................................................................................................................... 22 6.1 Enfoque de la investigacin .............................................................................................. 22 6.2 Tipo de investigacin ......................................................................................................... 22 6.3 Fuentes de investigacin .................................................................................................... 22 ii
6.4 Instrumento para la recoleccin de datos ........................................................................... 22 6.5 Tipo de programacin ........................................................................................................ 23 6.6 Modelo de desarrollo .......................................................................................................... 23 6.7 Mtodo para el anlisis de la informacin. ....................................................................... 24 7. Anlisis de tiempos y costos ................................................................................................. 25 7.1 Anlisis de tiempos ............................................................................................................ 25 7.2 Anlisis de costos ............................................................................................................... 25 Bibliografa. .................................................................................................................................. 26 Glosario ......................................................................................................................................... 28
iii
ndice de ilustraciones ste ndice al igual que el de tablas se utiliza cuando se tiene tres o ms ilustraciones que mostrar, si se tienen menos de tres en cada ndice se puede fundir en uno solo llamado ndice de ilustraciones y tablas.
Ilustracin No. 4.2. Empresas con sucursales ................................ Error! Bookmark not defined.
iv
ndice de tablas ste ndice al igual que el de ilustraciones se utiliza cuando se tiene tres o ms ilustraciones que mostrar, si se tienen menos de tres en cada ndice se puede fundir en uno solo llamado ndice de ilustraciones y tablas.
1. Antecedentes
Cuando hablamos de la elaboracin de documentos existen muchos procesos por los cuales un documentos debe ser tratado para poder llegar a su destino final, muchas veces a la hora de llevar a cabo la elaboracin de un documento el proceso que este conlleva para su elaboracin muchas veces llega a tardar uno o ms das dependiendo del tipo de documento y de la carga de trabajo que tenga la persona encargada de la elaboracin de dichos documentos. Las instituciones que tiene una gran poblacin de ocupantes se ven en la gran necesidad de elaborar una gran carga de documentos cada tanto y debido a la gran poblacin con las que estos cuentan resulta difcil para los encargados de la elaboracin de los documentos llebara a cabo la realizacin de todos en un da. Adems de la gran carga de trabajo que esta puede representar para dichos trabajadores, existen otras complicaciones que pueden precentarse en el proceso de la elaboracin de los documentos y por lo tanto la elaboracin de estos documentos puede tardar mas de un dia e incluso mas de una semana. Hasta el dia de hoy hay siertos servicios que ofrecen la posibilidad de llebara a cabo la realizacin de los documentos, sin embargo muchos de de estos servicios requieren la presencia de una o mas personas encargadas que tiene que llevar a cabo la realizacin de dichos documentos o recaudar informacin o datos del documentos que se llebara acabo.
2
2. Planteamiento del Problema 2.1 Definicin del problema Las instituciones estudiantiles de grandes poblaciones de alumnos caen en la necesidad de tener que solicitar documentos a la hora de realizar trmites de sus alumnos para lo cual muchas veces se ven altamente rebasados por la carga de trabajo y estas no se dan abasto para cubrir la demanda de sus grandes poblaciones de alumnos los cuales piden uno o ms documentos por cada uno de ellos, y esto genera una gran carga de trabajo para las personas encargadas de la realizacin de dichos documentos, cabe mencionar que muchas veces a la hora de realizar estos documentos solo hay una o dos personas que tiene que encargarse de llevar a cabo el trabajo, y por tanto esto conlleva a un gran retraso de tiempo en la espera de dichos documentos. Cuando se tiene la necesidad de obtener un documento el cual tenemos que solicitar a unas cuantas personas encargadas y a veces solo una, cabe mencionar que la poblacin de alumnos es ms de 2085 alumnos en la institucin. Y por lo tanto hay que esperar mucho tiempo en largas filas tomando algunas horas y como los documentos se solicitan con das de anticipacin para ser entregados al da siguiente o das despus, por lo tanto esto implica que perdamos mucho tiempo en la espera del documento. No solo perdemos tiempo esperando , sino que tambin cabe la posibilidad y ms de una vez ha pasado que la persona encargada de realizar estos documentos no se encuentre laborando o la persona de dar valides al documento por medio de su firma no se encuentre presente. Adems como un agregado ms a los diferentes problemas que podemos encontrar a lo largo del proceso de realizacin de nuestros documentos cabe la posibilidad de que la persona encargada de la realizacin de nuestro documento pueda llegar a poner mal alguno de los datos a la hora del llenado de dicho documento.
3
2.2 Delimitacin de la investigacin 2.2.1. Alcances 1.- El proyecto se implementara con la base de datos de control escolar del ITSVL 2.- Las pruebas se realizaran con datos de alumnos del 1ro. A de la carrera de Ingeniera en Sistemas.
2.2.2. Limitaciones 1. Falta de recursos econmicos para llevar a cabo el proyecto 2. Falta de informacin por parte del departamento de control escolar del ITSLV.
4
3. Objetivos 3.1 Objetivo general. Desarrollar un prototipo que permita la impresin de documentos de manera instantnea a los alumnos ITSLV relacionados con el departamento de control escolar de manera ubicua.
3.2 Objetivos especficos Redactar los objetivos especficos que se debern cumplir hasta llegar al objetivo general que se plante, sin cuantificar, ni explicar cmo se lograrn ya que eso es tarea de las metas y el mtodo. 1. Investigar sobre el proyecto a realizar. 2. Seleccionar las herramientas necesarias para realizar el proyecto. 3. Elegir un lenguaje de programacin adecuado para el proyecto. 4. Seleccionar un sistema manejador de base de datos adecuado al proyecto. 5. Disear la base de datos. 6. Disear la interfaz grfica. 7. Desarrollo del proyecto. 8. realizar pruebas del proyecto.
5
4. Justificacin El proyecto tiene con fin especfico ayudar y beneficiar a los alumnos que deben solicitar documentos y tienen que esperar y hacer largas filas, horas y/o das, adems no solo beneficia a los alumnos sino que tambin ayudara a la institucin y a las personas encargadas de expedir estos documentos, por lo tanto esto facilitara el trabajo de las personas encargadas en control escolar de realizar estos documentos, por otro lado ser de gran ayuda para los alumnos cuando se tiene la necesidad de obtener una constancia de estudios de un da para otro o incluso para el mismo da y tal constancia lleva un proceso de realizacin, cabe mencionar que cada constancia tiene que esperar su turno para que se le realice y por lo tanto esto implica que la persona solicitante tenga que esperar un plazo de tiempo para que su documento le sea entregado. Este proyecto ofrece la posibilidad de dar solucin a los problemas de la comunidad estudiantil del ITSLV en la obtencin de los documentos en cuestin en algunos cuantos minutos y as ya no tener la necesidad de esperar largos plazos de tiempo para obtener nuestro documento. Adems el desarrollo de este proyecto no solo beneficiara a los alumnos, tambin beneficiara a la institucin donde se implemente, pues este proyecto contar con un depositador de monedas, el cual por un costo especifico expedir el documento solicitado una vez que el usuario ingrese sus datos y finalmente obtendr su documento impreso de gran calidad de manera rpida y segura, lo cual hace al proyecto una herramienta innovadora, til y muy eficiente.
6
5. Marco terico 5.1 Marco referencial Redactar el marco referencial, deber ir sustentado con citas. Este marco tiene como finalidad mostrar el estado del arte que guarda el tema a investigar, se describen otras investigaciones similares a la que se proponen Sistema de gestin de activos Manacas, M. (2012). Menciona que su trabajo tuvo como objetivo el Desarrollo de un Sistema de gestin de activos, basado en estndares de software libre para la Gerencia de Administracin y Finanzas de Inviobras Bolvar. Para lo cual fue necesario estudiar el funcionamiento actual de dicha rea y determinar las problemticas que se presentaban en cuanto a la gestin de activos y de consumibles; para posteriormente definir los requerimientos de informacin del sistema en base a dicho problema y a las necesidades del personal que labora en esta gerencia; procedindose despus a disear una arquitectura slida que cumpliera con todos los requerimientos establecidos, hasta finalmente obtener el prototipo inicial de la aplicacin. Dicho trabajo sigui un tipo de investigacin Proyectiva, con un nivel comprensivo, emplendose como tcnica de recoleccin de los datos la revisin documental, la entrevista no estructurada, la entrevista estructurada y la observacin directa. El desarrollo del sistema se fundament en la metodologa de sistemas blandos de Peter Checkland (estadio 1 y 2) y la metodologa eXtreme Programming (XP) conjuntamente con el lenguaje unificado UML, usando herramientas de software de cdigo abierto (Software Libre), tales como PHP, JavaScript y HTML, como manejador de base de datos PostgreSQL y el servidor web Apache 2.0, tomando como base el decreto 3390. De esta manera se pudo concluir que con el desarrollo del sistema se generan beneficios, como reduccin de tiempo, riesgo de prdida en cuanto a informacin, mejor gestin de las labores en la Gerencia de Administracin y finanzas de Inviobras Bolvar. 7
Sistema de base datos Ruiz, J. (2004). Menciona en su tesis que en los ltimos aos se ha producido un incremento continuo en la cantidad de datos manipulados por los sistemas manejadores de bases de datos (DBMS) ms aun, ya no resulta extrao para un DBMS manipular base de datos con tamaos que van desde los cientos de gigabytes hasta terabytes. Por otra parte los sistemas con mltiples procesadores son cada vez ms accesibles, por lo que es posible aplicar computo paralelo para procesar grandes volmenes de informacin en la base de datos. El procesamiento de juntas en bases de datos, es una operacin que demanda muchos recursos de cmputo, sobretodo en base de datos grandes. Para resolver este problema se hace necesario combinar tcnicas de bases de datos especialmente bases de datos distribuidoras y procesamiento paralelo para reducir los tiempos de respuesta a los usuarios de una base de datos grande.
Sistema de documentacin de archivos Leguizamo.m, (2012). La mayora de los sistemas de software requieren almacenar y recuperar informacin de dispositivos de almacenamientos masivos para cumplir sus objetivos. Determinado tipo de informacin requiere ser obsedida por varios procesos en paralelo, es decir, se debe poder acceder de manera concurrente. La forma de almacenar informacin es mediante archivos; estos son unidades lgicas de almacenamiento de informacin, y los sistemas de software o aplicaciones son los que deben saber interpretar los datos para transformarlos en informacin. 8
El tamao mnimo que debe tener un archivo es el tamao de un bloque es la unidad mnima de almacenamiento. Existen dos operaciones que sobresalen del resto en cuanto a importancia, estas son la lectura y la escritura de bloques. Los archivos son administrados por el sistema operativo, y la parte del sistema operativo que trata la administracin de los archivos se conoce como sistemas de archivos. Sistema de control, secuencia y trmino de los ingresados en centros de readaptacin social del estado de hidalgo Martnez, C (2005). Menciona en su tesis denominada sistema de control, secuencia y trmino de los ingresados en centros de readaptacin social del estado de hidalgo llevar un correcto seguimiento en la rehabilitacin de las personas, que se Encuentran recluidas en algn Centro de Readaptacin Social, (CE.RE.SO.) perteneciente a esta Dependencia y cuya sentencia emitida por un Juez sea condenatoria. Esta investigacin, es enfocado hacia la elaboracin de un sistema de Informacin que ayude en la administracin, que se lleva en la organizacin con respecto a las Personas que se encuentran privadas de su libertad, por haber cometido algn delito dentro del rea jurisdiccional, ya sea Federal o Estatal.
Sistemas informticos. Lpez Carmen (1995) El desarrollo de sistemas informticos tendentes a cubrir esta necesidad se centra fundamentalmente en el problema de la gestin de la informacin actual: son cada vez ms y mejores las herramientas que se enfrentan con solvencia a este reto sin embargo, y por las mismas razones que hoy las hacen absoluta mente imprescindibles, el auge de este tipo de sistemas ha desvelado un problema acuciante: mucha de la informacin necesaria, til o relevante para quien adopta un sistema de estas caractersticas se encuentran en un soporte o formato distintos al exigido por la maquina: pensemos en el papel delas fichas de biblioteca o el formato propio de una base de datos primitiva. Con lo cual acontece la paradoja consistente en 9
que un sistema terica y prcticamente pensado para resolver de manera automtica tareas antes realizadas manualmente impone la exigencia de un trabajo previo y muy poco reconocido de trasvase manual de la informa ion original a un formato comprensible por el nuevo sistema.
. 5.2 Marco conceptual Obsedida: Causar, producir o tener ideas que no pueden alejarse de la mente acuciante Que urge o exige rpidamente solucin: Software: Equipamiento lgico o soporte lgico de un sistema informtico, que comprende el conjunto de los componentes lgicos necesarios que hacen posible la realizacin de tareas especficas, en contraposicin a los componentes fsicos que son llamados hardware. Bases de datos: Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. Investigacin proyectiva: Este tipo de investigacin, consiste en la elaboracin de una propuesta, un plan, un programa o un modelo, como solucin a un problema o necesidad de tipo prctico, ya sea de un grupo social, o de una institucin, o de una regin geogrfica, en un rea particular del conocimiento, a partir de un diagnstico preciso de las necesidades del momento, los procesos explicativos o generadores involucrados y de las tendencias futuras, es decir, con base en los resultados de un proceso investigativo. Computo paralelo: La computacin paralela es una tcnica de programacin en la que muchas instrucciones se ejecutan simultneamente. Se basa en el principio de que los problemas grandes se pueden dividir en partes ms pequeas que pueden resolverse de forma concurrente ("en paralelo").
10
5.3 Marco Tecnolgico
5.3.1. Software de Desarrollo JAVA Microsystems, S. (1995). Java es un lenguaje de programacin y la primera plataforma informtica creada por Sun Microsystems en 1995. Es la tecnologa subyacente que permite el uso de programas punteros, como herramientas, juegos y aplicaciones de negocios.
Las caractersticas principales que nos ofrece Java son: 1.- Lenguaje Simple: Se lo conoce como lenguaje simple porque viene de la misma estructura de c y c++; ya que c++ fue un referente para la creacin de java por eso utiliza determinadas caractersticas de c++ y se han eliminado otras. 2.- Orientado a Objeto: Toda la programacin en java en su mayora est orientada a objeto, ya que al estar agrupados en estructuras en estructuras encapsuladas es ms fcil su manipulacin. 3.- Distribuido: 11
Permite abrir sockets, establecer y aceptar conexiones con los servidores o clientes remotos; facilita la creacin de aplicaciones distribuidas ya que proporciona una coleccin de clases para aplicaciones en red. 4.- Robusto: Es altamente fiable en comparacin con c, se han eliminado muchas caractersticas con la aritmtica de punteros, proporciona numerosas comprobaciones en compilacin y en tiempo de ejecucin. 5.- Seguro: La seguridad es una caracterstica muy importante en java ya que se han implementado barreras de seguridad en el lenguaje y en el sistema de ejecucin de tiempo real. 6.- Indiferente a la arquitectura: Java es compatible con los ms variados entornos de red, cualesquiera sean estos desde Windows 95, Unix a Windows N t y Mac, para poder trabajar con diferentes sistemas operativos. Java es muy verstil ya que utiliza byte-codes que es un formato intermedio que sirve para transportar el cdigo eficientemente o de diferentes plataformas (Hardware - Software). 7.- Portable: Por ser indiferente a la arquitectura sobre la cual est trabajando, esto hace que su portabilidad sea muy eficiente, sus programas son iguales en cualquiera de las plataformas, ya que java especifica tamaos bsicos, esto se conoce como la mquina virtual de java. 8.- Interpretado y compilado a la vez: Java puede ser compilado e interpretado en tiempo real, ya que cuando se construye el cdigo fuente este se transforma en una especie de cdigo de mquina. 12
9.- Multihebra o Multihilos: Java tiene una facilidad de cumplir varias funciones al mismo tiempo, gracias a su funcin de multahilos ya que por cada hilo que el programa tenga se ejecutaran en tiempo real muchas funciones al mismo tiempo. 10.- Dinmico: El lenguaje java es muy dinmico en la fase de enlazado, sus clases solamente actuaran en medida en que sean requeridas o necesitadas con esto permitir que los enlaces se puedan incluir incluso desde fuentes muy variadas o desde la red. 11.- Produce Applets: En java se pueden crear aplicaciones independientes y applets. Independientes porque se pueden comportar como cualquier programa escrito en cualquier lenguaje. Por otra parte los applets considerados pequeos programas, tienen la capacidad de ejecutar funciones muy complejas. 12.- Alto rendimiento Java es considerado de alto rendimiento por ser tan veloz en el momento de correr los programas y por ahorrase muchas lneas de cdigo.
Ventajas Es una fuente abierta, as que los usuarios no tienen que luchar con los impuestos sobre patente pesados cada ao Independiente de la plataforma. 13
La poder de Java API sea alcanzada fcilmente por los reveladores Java realiza la coleccin de basura de las ayudas, as que la gerencia de memoria es automtica. Usando JAVA podemos desarrollar aplicaciones web dinmicas Permite que se pueda crear programas modulares y cdigos reutilizables. Desventajas Los programas hecho en java no tienden a ser muy rpidos. Algunas herramientas tienen un costo adicional
5.3.2. Software de operacin Eclipse Eclipse es un programa compuesto por un conjunto de herramientas de programacin 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, 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). Eclipse es tambin una comunidad de usuarios, extendiendo constantemente las reas de aplicacin cubiertas. Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para Visual Age. 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. Eclipse fue liberado originalmente bajo la Common Public License, pero despus fue re- licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas 14
licencias son licencias de software libre, pero son incompatibles con Licencia pblica general de GNU (GNU GPL). Los widgets de Eclipse estn implementados por una herramienta de widget para Java llamada Standard Widget Toolkit, a diferencia de la mayora de las aplicaciones Java, que usan las opciones estndar Abstract Windows Toolkit o Swing. La interfaz de usuario de Eclipse tambin tiene una capa GUI intermedia llamada JFace, la cual simplifica la construccin de aplicaciones basadas en SWT. Este mecanismo de mdulos es una plataforma ligera para componentes de software. Adicionalmente a permitirle a Eclipse extenderse usando otros lenguajes de programacin como son C/C++ y Python, permite a Eclipse trabajar con lenguajes para procesado de texto como Ltex, aplicaciones en red como Telnet y Sistema de gestin de base de datos. La arquitectura plugin permite escribir cualquier extensin deseada en el ambiente, como sera Gestin de la configuracin. Se provee soporte para Java y CVS en el SDK de Eclipse. Y no tiene por qu ser usado nicamente con estos lenguajes, ya que soporta otros lenguajes de programacin. La definicin que da el proyecto Eclipse acerca de su software es: "una especie de herramienta universal - un IDE abierto y extensible para todo y nada en particular". En cuanto a las aplicaciones clientes, Eclipse provee al programador con frameworks muy ricos para el desarrollo de aplicaciones grficas, definicin y manipulacin de modelos de software, aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la edicin grfica) es un plugin de Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de texto WYSIWYG hasta editores de diagramas UML, interfaces grficas para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse, adems de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz grfica personalizable y profesional. El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE con un compilador de Java interno y un modelo completo de los archivos fuente de Java. Esto permite tcnicas avanzadas de refactorizacin y anlisis de cdigo. Mediante diversos plugins estas herramientas estn tambin disponibles para otros lenguajes como C/C++ (Eclipse CDT) y en la 15
medida de lo posible para lenguajes de script no tipados como PHP o JavaScript. El IDE tambin hace uso de un espacio de trabajo, en este caso un grupo de dato en un espacio para archivos plano, permitiendo modificaciones externas a los archivos en tanto se refresque el espacio de trabajo correspondiente. Eclipse fue elegido porque es un software que es una especie de herramienta universal y adems tiene un IDE abierto y extensible para todo y nada en particular. Adems eclipse cuenta con aplicaciones grficas, manipulacin de modelos de software, aplicaciones web, eclipse dispone de un Editor de texto con resaltado de sintaxis. La compilacin es en tiempo real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integracin con Ant, asistentes wizards para creacin de proyectos, clases, test y refactorizacin. Los widgets de Eclipse estn implementados por una herramienta de widget para Java llamada Standard Widget Toolkit, a diferencia de la mayora de las aplicaciones Java, que usan las opciones estndar Abstract Windows Toolkit o Swing. Eclipse cuenta con una licencia de software libre
5.3.3. Software manejador de bases de datos L. Allan (2008). MySQL es un sistema de gestin de bases de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones. MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de 2009 desarrolla MySQL como software libre en un esquema de licenciamiento dual. Inicialmente, MySQL careca de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de pginas web con contenido dinmico, justamente por su simplicidad. 16
Poco a poco los elementos de los que careca MySQL estn siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las caractersticas disponibles en las ltimas versiones se puede destacar: 1. Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente. 2. Disponibilidad en gran cantidad de plataformas y sistemas. 3. Posibilidad de seleccin de mecanismos de almacenamiento que ofrecen diferente velocidad de 4. operacin, soporte fsico, capacidad, distribucin geogrfica, transacciones... 5. Transacciones y claves forneas. 6. Conectividad segura. 7. Replicacin. Bsqueda de indexacin de campos de texto. MySQL es un sistema de administracin de bases de datos. Una base de datos es una coleccin estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galera de pinturas o el vasto volumen de informacin en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de informacin, los administradores de bases de datos juegan un papel central en computacin, como aplicaciones independientes o como parte de otras aplicaciones. MySQL es un sistema de administracin relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas estn conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido. MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el cdigo fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el cdigo fuente y ajustarlo a sus 17
necesidades. MySQL usa el GPL (GNU General Public License) para definir qu puede hacer y qu no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir cdigo MySQL en aplicaciones comerciales, usted puede comprar una versin comercial licenciada. aplicaciones MySQL es muy utilizado en aplicaciones web, como Drupal o php BB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programacin.
5.3.4. Herramientas de animacin G. Jonathan (1993).Flash es una herramienta de edicin con la que los diseadores y desarrolladores pueden crear presentaciones, aplicaciones y otro tipo de contenido que permite la interaccin del usuario. Los proyectos de Flash pueden abarcar desde simples animaciones hasta contenido de vdeo, presentaciones complejas, aplicaciones y cualquier otra utilidad relacionada. En general, los fragmentos independientes de contenido creados con Flash se denominan aplicaciones, aunque se trate solamente de una animacin bsica. Se pueden crear aplicaciones de Flash con una amplia variedad de contenido multimedia que incluye imgenes, sonido, vdeo y efectos especiales. 18
5.3.5. Servidor M Robert (1994). Apache: Es un Servidor web de distribucin libre y de cdigo abierto, siendo el ms popular del mundo desde abril de 1996, con una penetracin actual del 50% del total de servidores web del mundo (agosto de 2007).La principal competencia de Apache es el IIS (Microsoft Internet Information Services) de Microsoft. Apache fue la primera alternativa viable para el servidor web de Netscape Communications, actualmente conocido como Sun Java System Web Server.Apache es desarrollado y mantenido por una comunidad abierta de desarrolladores bajo el auspicio de la Apache Software Foundation.La aplicacin permite ejecutarse en mltiples sistemas operativos como Windows, Novell NetWare,Mac OS X y los sistemas basados en Unix.La primera versin del servidor web Apache fue desarrollada por Robert McCool, quien desarrollaba elservidor web NCSA HTTPd (National Center for Supercomputing Applications). Cuando Robert dej el NCSA a mediados de 1994, el desarrollo de httpd se detuvo.Robert McCool busc otros desarrolladores para que lo ayudaran, formando el Apache Group. Algunos miembros del grupo original fueron Brian Behlendorf, Roy T. Fielding, Rob Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew Wilson, Eric Hagberg, Frank Peters y Nicolas Pioch.La versin 2 del servidor Apache fue una reescritura sustancial de la mayor parte del cdigo de Apache 1.x, enfocndose en una mayor modularizacin y el desarrollo de una capa de portabilidad, el Apache Portable Runtime.Apache 2.x incluy multitarea en UNIX, mejor soporte para plataformas no Unix (como Windows), una nueva API Apache y soporte para IPv6.La versin 2 estable de Apache, fue lanzada el 6 de abril de 2002.Caractersticas de Apache * Soporte para los lenguajes perl, Python, tcl y PHP. * Mdulos de autenticacin: mod_access, mod_auth y mod_digest. * Soporte para SSL y TLS. * Permite la configuracin de mensajes de errores personalizados y negociacin de contenido. * Permite autenticacin de base de datos basada en SGBD.
Uso de Apache es principalmente usado para servir pginas web estticas y dinmicas en la WWW. Apache es el servidor web del popular sistema XAMP, junto con MySQL y 19
los lenguajes de programacinPHP/Perl/Python. La "X" puede ser la inicial de cualquier sistema operativo, si es Windows: WAMP, si es el Linux: LAMP. 5.4 Marco legal Apache. A La licencia de software bajo la cual el software de la fundacin Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de cdigo abierto. La Licencia Apache permite la distribucin de derivados de cdigo abierto y cerrado a partir de su cdigo fuente original. La Free Software Foundation no considera a la Licencia Apache como compatible con la versin 2 de la GNU General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL: Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible con la GPL porque tiene un requerimiento especfico que no est incluido en la GPL: tiene ciertos casos de terminacin de patentes que la GPL no requiere. No consideramos que dichos casos de terminacin de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU GPL. Sin embargo, la versin 3 de la GPL incluye una provisin (Seccin 7e) que le permite ser compatible con licencias que tienen clusulas de represalia de patentes, incluyendo a la Licencia Apache.
El nombre Apache es una marca registrada y puede ser slo utilizada con el permiso expreso del dueo de la marca.
Licencia java. 20
Java es un lenguaje de programacin cuya especificacin est establecida por la empresa SUN, la cual es la nica que la puede modificar, corregir o actualizar. Java constituye una tecnologa basada en un esquema de mquina virtual que a grandes rasgos, significa que las aplicaciones son compiladas para una mquina estndar (que no existe) en vez de hacerse para una arquitectura y plataforma especfica. La ventaja de esto es que un mismo programa puede correr en distintas plataformas sin realizar cambios en el cdigo. aunque ciertamente menos restrictiva que otras licencias propietarias, busca aprovecharse del aporte de la comunidad de desarrolladores de Java pero sin garantizar libertades siquiera parecidas a la de la GNU/GPL. No hace libre a Java ni a ninguna de sus tecnologas asociadas ni provee acceso al cdigo fuente del Java Development Kit (JDK). SUN se reserva la propiedad intelectual sobre Java y tecnologas asociadas y mantiene el control sobre el desarrollo de sus productos como el JDK, JRE, JSE, etc. Licencia De Uso. En virtud de los trminos y condiciones dispuestos en el presente Contrato, incluidas, entre otras, las Restricciones de la Tecnologa Java de los Trminos de Licencia Adicionales, Sun le concede, sin tarifa de licencia, una licencia limitada, no exclusiva e intransferible para la reproduccin y el uso interno del Software completo y sin modificaciones con el nico propsito de ejecutar Programas. Las licencias adicionales para desarrolladores y/o editores se otorgan en los Trminos de Licencia Adicionales. Restricciones. El software es confidencial y se encuentra protegido por derechos de autor (Copyright). Sun y/o sus licenciantes mantienen la titularidad del Software, as como todos los derechos de propiedad intelectual asociados. Queda prohibido modificar, descompilar o utilizar tcnicas de ingeniera inversa en el Software, a menos que se estipule lo contrario en la legislacin aplicable. Restricciones de la tecnologa Java. Usted se compromete a no crear, modificar ni alterar el desempeo, ni autorizar a sus licenciatarios para crear, modificar ni alterar el desempeo de clases, interfaces ni sub paquetes que en cualquier modo se identifiquen como java, javax, sun o similares segn especifique Sun en cualquier designacin de la convencin de denominacin. Licencia de MYSQL. 21
La licencia GNU GPL de MySQL obliga a que la distribucin de cualquier producto derivado (aplicacin) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.
22
6. Mtodo 6.1 Enfoque de la investigacin Este proyecto se enfoca en beneficiar tanto a estudiantes como al personal de control escolar brindndoles la facilidad de evitar cierto exceso de trabajo y la espera de documentos que muchas veces se requieren en el instante. 6.2 Tipo de investigacin El tipo de investigacin utilizado es la investigacin mixta puesto que la investigacin que plasmamos en este formato implico un proceso de recoleccin ,anlisis y vinculacin de datos cualitativos y cuantitativos en un mismo estudio para poder dar resultado al problema planteado 6.3 Fuentes de investigacin Fuentes primarias: Reportes de investigacin Artculos cientficos Tesis Fuentes electrnicas Revistas Libros electrnicos Internet
6.4 Instrumento para la recoleccin de datos Los metodos para la obtencion de datos y la recaudacion de informacion para el proyecto seran los siguientes: La encuesta: Esta se aplicara a los alumnos del ITSVL y se har con la intencin de que den sus propias conclusiones sobre este prototipo. 23
Cuestionario: Se llebara acabo la optencion de datos por medio de un cuestinario con el fin de relazionarse con un gran numero de personas de la poblacion total de alumnos, ademas se cuenta con la ventaja de poder obtener respuestas mas concretas y honestas debido al anonimato de cada uno de los participantes. Se utilizaran preguntas entandarizadas para la optencion de datos e informacion mas confiable por parte de los partircipantes.
6.5 Tipo de programacin En este proyecto se utilizo la programacin orientada a objetos ya que se usan diferentes tipos de programacin ya que al estar en estructuras es ms fcil la manipulacin del prototipo. 6.6 Modelo de desarrollo Booch, G. y Rumbaugh, J. (1994). UML es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; est respaldado por el OMG. Es un "lenguaje de modelado" para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. UML no puede compararse con la programacin estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una forma de programar como lo es la orientacin a objetos, sin embargo, la programacin orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a objetos. UML fue elegido porque es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad est respaldado por el OMG este es para para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. 24
6.7 Mtodo para el anlisis de la informacin. Etapa 1 Recopilacin de informacin: en esta etapa se pens el problema el cual se deseaba solucionar para poder llegar a la conclusin del tipo de proyecto que se deseaba crear. Etapa 2 Depurar la informacin: se busca informacin acerca o relacionada a el tipo de proyecto que se est buscando en diferentes fuentes de informacin y por medio de diferentes tipo de investigacin. Etapa 3 Realizacin de problemtica: dar a conocer el problema general el proyecto. Etapa 4 Realizacin de objetivos: dar a conocer el o los objetivos que el proyecto dar. Etapa 5 Realizacin de justificacin: dar a conocer por qu se est realizando el proyecto Etapa 6 Bsqueda de tesis: buscar informacin para la investigacin del proyecto. Etapa 7 Investigacin del software: investigar el software a utili9zar en este proyecto y el ms adecuado para tal.
25
7. Anlisis de tiempos y costos 7.1 Anlisis de tiempos
Realizacin de problemtica. 27/septiembre/2013-5/octubre/2013 Realizacin de objetivos 6/octubre/2013-15/octubre/2013 Realizacin de justificacin 16/octubre/2013-26/octubre/2013 Bsqueda de tesis 27/octubre/2013-15/nov/2013 Investigacin del software a utilizar. 16/nov/2013-26/nov/2013
7.2 Anlisis de costos Hojas blancas $10.00 pesos. Impresin del posters $50.00 pesos. Impresiones de la investigacin $15.00 pesos. Impresin del documento $43.00 pesos. Engargolado. $25.00 pesos Grabacin de Cd $15.00 pesos 26
Bibliografa. Referencias Impresas
Briones, Guillermo (2002). Metodologa de la investigacin cuantitativa en las ciencias sociales. Tercera edicin. Mdulos de investigacin social. Colombia. Leguizamo.m, (2012). Sistema de documentacin de archivos. Escuela superior de comercio y administracin. Lpez Carmen (1995) Sistemas informticos. Instituto politcnico nacional doctor Fernando collado. Ruiz, J. (2004). Sistema de base datos. Universidad del valle de Mxico. Manacas, M. (2012). Sistema de gestin de activo. Universidad panamericana (Campus Mxico) Martnez, C (2005). Sistema de control, secuencia y trmino de los ingresados en centros de readaptacin social del estado de hidalgo. Universidad autnoma del estado de hidalgo Andrade alba, Fernando. (1987). Desarrollo de la tecnologa. Deterich, Heinz.(2006). Gua para la investigacin cientfica. Primera edicin. Mxico. Hicks Eva, malpuica Carmen.(2001). Mtodos de investigacin. Segunda edicin. Mxico.
27
Referencias electrnicas
Sitio Web Ian Gilfillan. La biblia de MySQL (2008). Sitio web oficial www.mysql.com/ . Con direccin electrnica en http://osmell.files.wordpress.com/2008/08/la-biblia-de-mysql-anaya- multimedia.pdf Juan Gutirrez. Java y Eclipse (2004). Sitio web oficial del software http://www.eclipse.org/. Con direccin electrnica en http://www.uv.es/~jgutierr/MySQL_Java/TutorialEclipse.pdf Bruce Eckel. Piensa en Java (2002). Sitio Web en http://www.java.com/. Con direccin electrnica en http://web.fdi.ucm.es/profesor/lgarmend/ArcGISJava/Libros/Pensando%20En%20Java.pdf Mohammed J. Kabir. La biblia del servidor Apache (2003). Sitio web en www.apache.org/ . Con direccin elctrica en http://yexia.files.wordpress.com/2010/09/mohammed-j-kabir-la-biblia-del- servidor-apache-21.pdf
28
Glosario A Applet: es un componente de una aplicacin que se ejecuta en el contexto de otro programa, por ejemplo en un navegador web. B Bytecode: es un cdigo intermedio ms abstracto que el cdigo mquina G Gigabyte: es una unidad de almacenamiento de informacin cuyo smbolo es el GB. H Hardware: son todas las partes tangibles de un sistema informtico. J 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.
M Multihilo: Las unidades centrales de procesamiento con capacidad para multithilo (multithreading en ingls) tienen soporte en hardware para ejecutar eficientemente mltiples hilos de ejecucin. P PostgreSQL: es un SGBD relacional orientado a objetos y libre, publicado bajo la licencia BSD. S
29
Sintaxis: es la parte de la gramtica que estudia las reglas y principios que gobiernan la combinatoria de constituyentes sintcticos y la formacin de unidades superiores a estos, como los sintagmas y oraciones gramaticales
Software: Es el conjunto de los programas de cmputo, procedimientos, reglas, documentacin y datos asociados, que forman parte de las operaciones de un sistema de computacin. T Terabyte: es una unidad de almacenamiento de informacin cuyo smbolo es el TB, y equivale a 1012 bytes