UNIVERSIDAD VERACRUZANA TESINA. Licenciado en Sistemas Computacionales Administrativos. Ricardo Miguel Murrieta Torralba

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD VERACRUZANA TESINA. Licenciado en Sistemas Computacionales Administrativos. Ricardo Miguel Murrieta Torralba"

Transcripción

1 UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración SIECT: Sistema Integral de Evaluación de Cursos del Posgrado en Telemática TESINA Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Ricardo Miguel Murrieta Torralba Asesor: MRT. Octavio Castillo Reyes Cuerpo Académico: Tecnologías de la Información y las organizaciones Inteligentes en la Sociedad del Conocimiento Xalapa-Enríquez, Veracruz Marzo 2013

2 AGRADECIMIENTOS A mis padres: Irma Torralba Ibarra y Miguel Manuel Murrieta Martinez por darme su apoyo y confianza, por hacer de mi un hombre y no un vago los amo y todo lo que soy es gracias a ustedes. A mi hermana mimi: porque a pesar de todas las peleas y diferencias de opiniones te amo mucho y siempre serás mi hermanita. A mis abuelos: Miguel, Pily y mami cholita por apoyarme y quererme. Papi Dama: porque aunque no estás conmigo en este momento siempre me diste tú cariño, apoyo y consejo para lograr todas mis metas. Familia Torralba: tíos y primos por apoyarme, brindarme su cariño, esas noches de relajo y convivencia en familia, los quiero mucho. Familia Murrieta: gracias por todo su apoyo y consejos. A mis amigos por siempre estar conmigo y brindarme una mano en los momentos que los he necesitado y que a pesar de estar en ocasiones separados sé que puedo contar con ustedes. Gracias a Dios por ponerme en este camino, el cual no ha sido fácil, pero con fe y confianza he logrado salir adelante.

3 ÍNDICE RESUMEN... 1 INTRODUCCIÓN... 2 CAPÍTULO I MARCO REFERENCIAL Introducción Planteamiento del problema Objetivos Objetivo General Objetivos Específicos Descripción del Trabajo... 8 CAPÍTULO II ANÁLISIS Análisis del problema Análisis de licenciamiento Licenciamiento software propietario Análisis de los paradigmas de programación Aplicaciones Web Aplicaciones de escritorio Análisis de Sistemas Gestores de Bases de Datos CAPÍTULO III DISEÑO UML El Modelo de Datos Entidad-Relación (E/R) Diseño de Interfaz CONCLUSIONES FUENTES DE INFORMACIÓN ANEXO I II

4 ÍNDICE DE FIGURAS ÍNDICE DE TABLAS ÍNDICE DE IMÁGENES III

5 RESUMEN El siguiente trabajo aborda el tema de desarrollo de aplicaciones basado en software libre, en concreto, un sistema para la aplicación de encuestas de opinión las cuales el Posgrado en Telemática toma en cuenta para poder determinar áreas de oportunidad y mejorar la calidad de los aspectos que en ellas se evalúan. Enfatizando la importancia de la automatización de este proceso debido a que actualmente se genera de forma manual y emplea tiempo del personal administrativo, el cual se podría aprovechar para realizar otras actividades. Esta primera etapa de sistematización da pie a generar un sistema integral el cual brinde crecimiento de acuerdo a las necesidades de las estrategias que la entidad requiera, agilizando y facilitando procesos que actualmente requieren mayor atención por parte del personal administrativo. 1

6 INTRODUCCIÓN

7 Hoy en día, se tiene una amplia gama de programas que permiten realizar de una manera fácil y rápida nuestro trabajo, gracias a estos se han incrementado el número de casas desarrolladoras de software así como la experimentación de usuarios que viendo algunos detalles en las aplicaciones que utilizan se dan a la tarea de modificar dicha aplicación o crear una que se adapte a sus necesidades. Gracias a la cultura de software libre ahora es más fácil tomar las aplicaciones que alguien más desarrolla para poder modificarlas y/o adaptarlas a nuestro mejor modo, incluso reproducirlas y compartirlas con usuarios con las mismas necesidades o ideas para mejorar dicho producto, sin caer en faltas a las leyes (piratería). En el mundo del desarrollo de software se tienen paradigmas o tipos de arquitecturas con las cuales trabajar, en un principio lo más utilizado fueron los sistemas o aplicaciones de escritorio, debido a que en una oficina se tenían las máquinas de trabajo y solo ahí se utilizaban estas herramientas. Después llego la etapa en la que se vio la necesidad de acceder a las mismas herramientas pero desde una ubicación diferente al lugar habitual de trabajo, desde casa o simplemente una oficina que no tuviera configurada la misma aplicación para trabajar, es cuando surge el desarrollo web, en un principio simplemente manejado con solo lo necesario, simples formularios con texto plano y un diseño si bien no ausente pero si muy vano. Después de ir evolucionando con aplicaciones y herramientas de ayuda como lo son los IDE s para diseño web, se vio una mejora tanto en el contenido como en el diseño, viendo diseños más atractivos y aplicaciones robustas, que llaman la atención y facilitan la usabilidad al usuario, incluyendo animaciones y otros elementos que proporcionaba la compatibilidad de exploradores con el lenguaje flash en su momento. 3

8 En la actualidad que se tiene un nuevo estilo en Internet y en el desarrollo de nuevas tecnologías, como son las pantallas inteligentes, nuevos dispositivos móviles (sistemas de apoyo y/o entretenimiento para automóviles, consolas de videojuego, entre otros). Se libera la revisión 5 del Lenguaje HTML, denominada HTML5, la cual se encuentra en modo experimental indicado por la W3C (World Wide Web Consortium). A pesar que todavía se encuentre en versión beta, el lenguaje HTML5 ya es usado por múltiples desarrolladores web por sus avances, mejoras y ventajas. Debido a que la combinación de tecnologías que conforman HTML5 (HTML, javascript y CSS3) son soportadas de forma nativa, no es necesario puntualizar que es lo que se está realizando y al tratarse de un lenguaje evolucionado el navegador no tendrá que recibir la indicación de lo que debe traducir, simplemente se debe incluir el encabezado que se trabaja HTML. Además de la simplicidad de código, HTML5 ofrece nuevas mejoras como son: contenido multimedia sin utilizar plug-ins, animaciones sin necesidad de flash, efectos de diseño sobre objetos, por mencionar algunos. Al tomar como base del proyecto el lenguaje HTML5 se pueden realizar validaciones y generación de scripts de una manera más útil y de forma nativa, en conjunto con la tecnología PHP para la creación de páginas dinámicas. Las cuales permiten obtener una aplicación cliente-servidor robusta, con la que se pretende realizar la automatización de procesos y así obtener mejores resultados con el menor esfuerzo. El objetivo de esta tesina es proponer una herramienta basada en un sistema web para el desarrollo de la competitividad del Posgrado en Telemática que permita en primera instancia reducir en tiempo y herramientas la aplicación de encuestas de opinión, dejando abierta la puerta para el desarrollo de otros módulos, los cuales ayuden a realizar las tareas administrativas de una forma más eficaz y eficiente. Es importante enfatizar el papel que cumplen las encuestas en este momento, las cuales son la base para poder realizar mejoras tanto en la parte académica como 4

9 en las instalaciones y otros procesos administrativos, realizando preguntas de los aspectos más relevantes que acontecen en cada curso. Lo cual permitirá realizar una mejora en procesos y temas implementados así como obtener una observación importante sobre el comportamiento y nivel de conocimientos de los profesores y valorar el nivel de entendimiento de los estudiantes. Realizando investigación sobre alguna herramienta que pueda cubrir las necesidades que hasta el momento se tienen, se encontraron algunos ERP s que cumplen con los puntos necesarios, presentando algunos inconvenientes como son: el costo, algunos módulos no necesarios y algunos que requieren ser solicitados a la empresa lo cual genera un costo extra por adaptación y desarrollo. De acuerdo a lo planteado en el análisis para el desarrollo de esta tesina, se optó primero por desarrollar el módulo de encuestas, debido a que los procesos administrativos que se tienen actualmente son básicos y no generan mayor complicación, sin embargo la aplicación de encuestas como se lleva actualmente genera inversión de tiempo para aplicarlas como para la generación de las herramientas ocasionando trabajo extra. Una gran ventaja de realizar una solución informática para esta herramienta es que los usuarios ya se encuentran familiarizados con el uso de sistemas y no tendrán ninguna objeción para realizar el cambio. 5

10 CAPÍTULO I MARCO REFERENCIAL

11 1.1 Introducción En este trabajo se llevará a cabo el análisis, desarrollo e implementación de un sistema computacional para poder llevar el control de las encuestas de opinión que se aplican al finalizar cada curso y obtener el punto de vista de los estudiantes sobre el plan de estudios, las instalaciones y los profesores que impartieron dichos cursos. El proyecto nace en el núcleo del cuerpo académico Tecnologías de la Información y las Organizaciones Inteligentes en la Sociedad del Conocimiento, el sistema se desarrollará con software libre utilizando las tecnologías actuales como: java, Mysql, Linux. Se ha optado por el uso de las herramientas antes mencionadas debido a la falta de desarrollo e impulso por parte de los estudiantes de la Universidad Veracruzana hacia el software libre. En este trabajo se explicará la realización del sistema SIECT: Sistema Integral de Evaluación de Cursos del Posgrado en Telemática, se parte del punto de los paradigmas actuales de programación, como son el desarrollo para sistemas de escritorio y el desarrollo web, tomando en cuenta los diversos programas que ya existen para llevar a cabo estas tareas. El porqué de la utilización de herramientas de software libre para el desarrollo así como cuáles son los pros y contras que existen tanto en el software propietario como en el software libre. De acuerdo con una investigación realizada hacia el programa educativo de Sistemas Computacionales Administrativos, se concluyó que el desarrollo de aplicaciones es poco y la mayor parte del alumnado no muestra interés por la programación, esto deriva en una cuna de desarrollo pobre dentro de la facultad, asimismo de la Universidad. Por lo que se opta utilizar herramientas 6

12 existentes y no adaptables al cien por ciento a los requerimientos de entidades como el posgrado en el cual se enfoca este trabajo; Es por eso que se optó por desarrollar un software a medida, pero que a la vez se pueda acoplar a otros programas educativos, con la finalidad de generar mayor interés por parte de los alumnos hacia el área de programación. 1.2 Planteamiento del problema En este momento el posgrado está recién iniciado dentro de la Universidad Veracruzana, por lo que todo el trabajo se realiza de forma manual y no cuenta con un sistema de control; El cual pueda facilitar los procesos de reclutamiento, inscripción, consulta, investigación y las encuestas de evaluación de cursos que es el tema sobre el que se desarrollará este trabajo. Por ello se decide desarrollar este sistema en su primera versión incorporando el módulo de encuestas de opinión. Además se considera que es una buena oportunidad para que conforme la entidad crece y avanza, el sistema vaya implementando las necesidades que surjan mediante la fase de análisis y desarrollo; esto debido a que es un proyecto nuevo y se espera que en tanto el posgrado crezca académicamente, a la par se pueda ir desarrollando la parte informática. Según lo comentado con el personal operativo y administrativo del posgrado, de acuerdo a la aplicación de encuestas, al realizar todo de forma manual se presenta el problema del gasto de recursos como lo son hojas, tinta y tiempo principalmente, ya que se deben realizar X encuestas de opinión a lo largo del semestre lo que generaría un total de Y al finalizar cada semestre y a la larga generaría un Y n ocasionando que no sean tan fácil de localizar los documentos requeridos por otras entidades como son el CONACyT o entidades certificadoras. De lo anterior deriva la necesidad de un sistema de control que ayude al personal 7

13 administrativo a desempeñar sus labores de una manera eficaz y al mismo tiempo apoye al posgrado con el tema de sustentabilidad que en la actualidad es muy necesario para una entidad que busca apoyar a la sociedad. 1.3 Objetivos Objetivo General Desarrollar un sistema que permita agilizar y asegurar la aplicación de la evaluación de cursos del programa de la maestría en telemática Objetivos Específicos Conocer el funcionamiento administrativo de la entidad Conocer cómo se llevan a cabo los procesos actualmente Obtener datos reales de sistemas ya implementados sobre alguna entidad parecida Conocer las necesidades básicas de los usuarios para utilizar este sistema Llevar a cabo el análisis de necesidades básicas para los administradores Conocer las ventajas y desventajas de los paradigmas web y escritorio Estudiar las metodologías predominantes en el desarrollo de sistemas de información Realizar el análisis del sistema a desarrollar Realizar el diseño del sistema Llevar a cabo el desarrollo de la funcionalidad para la primera versión Implementar el sistema para realizar pruebas Liberar la primera versión, para su uso dentro de la entidad 1.4 Descripción del Trabajo En este trabajo se llevará acabo el análisis, desarrollo e implementación de un sistema web enfocado a encuestas de opinión, se describirán los paradigmas de 8

14 programación que pueden facilitar la realización del sistema SIECT así como cuál será la técnica utilizada y el porqué de esta decisión. En el desarrollo del trabajo se detallarán las necesidades del posgrado por las cuales se desarrolla el sistema y cuáles serán las soluciones para que los procesos sean más eficientes y como se hará sustentable al utilizar este sistema. En general se plantea la idea de la realización de un sistema para disminuir tiempo en los procesos administrativos de la entidad, esto se podría realizar con herramientas de software existentes en el mercado actual, pero estas herramientas muchas de la veces no se acoplan completamente a lo que el usuario requiere, ya que son herramientas genéricas para cubrir las necesidades básicas del usuario; Al desarrollar una herramienta de software desde cero y conociendo los problemas y requerimientos del usuario, se garantiza un completo acoplamiento de esta así como la ventaja de incrementar o modificar la herramienta en un futuro, sin tener que realizar un gasto extra o considerable, como sucedería con las herramientas de software propietario que se encuentran en el mercado. Se optó por el desarrollo con herramientas de software libre ya que no se necesita realizar una inversión fuerte para poder trabajar, simplemente es necesario contar con una computadora en la cual se pueda montar el sistema, con el mínimo de requerimientos y con esto se tendrán las condiciones adecuadas para poder comenzar a trabajar; Aparte las herramientas de software libre recomendadas no tienen costo y permiten el total control y manejabilidad del desarrollo. 9

15 CAPÍTULO II ANÁLISIS

16 2.1 Análisis del problema Como se ha comentado anteriormente el principal problema que presenta el posgrado es la falta de un sistema que permita llevar a cabo de una manera práctica el proceso de evaluación de cursos que la entidad requiere, esto nos lleva a tomar la decisión de la realización de un sistema desde cero para adaptarlo correctamente a lo que la entidad requiere. A continuación se presentará el análisis correspondiente para tomar la decisión adecuada para el desarrollo de la aplicación. 2.2 Análisis de licenciamiento Una Licencia de software es la autorización o permiso concedida por el titular del derecho de autor, en cualquier forma contractual, al usuario de un programa informático, para utilizar éste en una forma determinada y de conformidad con unas condiciones convenidas. La licencia, que puede ser gratuita u onerosa, precisa los derechos (de uso, modificación y/o redistribución) concedidos a la persona autorizada y sus límites. Además, puede señalar el plazo de duración, el territorio de aplicación y todas las demás cláusulas que el titular del derecho de autor establezca. En la actualidad, existen un gran número de Licencias de Software de diferente tipo, sin embargo se pueden agrupar en 2 grandes grupos: licencias de software libre y licencias de software propietario. A continuación se menciona la clasificación de las licencias de software según la Free Software Foundation (1998) Licencia de software de código abierto permisivas 11

17 Esta licencia permite crear una obra derivada sin que ésta tenga obligación de protección alguna. Muchas licencias pertenecen a esta clase, entre otras: Academic Free License v.1.2. Apache Software License v.1.1. ArtisticLicense v.2.0 AttributionAssuranceLicense. BSD License. MIT License. University of Illinois/NCSA Open Source License. W3C Software Notice and License. Zope PublicLicense v.2.0 Open LDAP License v.2.7 Perl License. Academic Free License v.3.0 PythonLicense v.2.1 PHP License v.3.0 Q PublicLicense v.1.0 Licencia de software de código abierto robustas Estas licencias aplican algunas restricciones a las obras derivadas, haciendo que según el grado de aplicación se puedan dividir a su vez en dos subcategorías: Licencias de software de código abierto robustas fuertes y Licencias de software de código abierto robustas débiles Licencias de software de código abierto robustas fuertes Las licencias de software de código abierto robustas fuertes o con copyleft fuerte, contienen una cláusula que obliga a que las obras derivadas o modificaciones que se realicen al software original se deban licenciar bajo los mismos términos y condiciones de la licencia original. Entre las licencias de esta categoría están: 12

18 CommonPublicLicense v.1.0. GNU General PublicLicense v.2.0. GNU General PublicLicense v.3.0. Eclipse PublicLicense. ecoslicense v.2.0 Sleepycat Software ProductLicense. AfferoLicense v.1.0 AfferoLicense v.2.0 OpenSSLLicense. Licencias de software de código abierto robustas débiles Las licencias de software de código abierto robustas débiles, con copyleft débil/suave o híbridas, contienen una cláusula que obliga a que las modificaciones que se realicen al software original se deban licenciar bajo los mismos términos y condiciones de la licencia original, pero que las obras derivadas que se puedan realizar de él puedan ser licenciadas bajo otros términos y condiciones distintas. Entre las licencias de esta categoría están: GNU Lesser General Public License v.2.1. Mozilla PublicLicense Open SourceLicense. Apple SourceLicense v.2.0 CDDL. EUPL. Licencia de software de código cerrado Estas licencias también se conocen con el nombre de software propietario o privativo. En ellas los propietarios establecen los derechos de uso, distribución, redistribución, copia, modificación, cesión y en general cualquier otra consideración que se estime necesaria. 13

19 Este tipo de licencias, por lo general, no permiten que el software sea modificado, desensamblado, copiado o distribuido de formas no especificadas en la propia licencia (piratería de software), regula el número de copias que pueden ser instaladas e incluso los fines concretos para los cuales puede ser utilizado. La mayoría de estas licencias limitan fuertemente la responsabilidad derivada de fallos en el programa. Los fabricantes de programas sometidos a este tipo de licencias por lo general ofrecen servicios de soporte técnico y actualizaciones durante el tiempo de vida del producto. Algunos ejemplos de este tipo de licencias son las llamadas CLUFs: Contrato de Licencia para Usuario Final o EULAs: End User License Agreement, por sus siglas en Inglés. Software de dominio público (sin licencia) Se permite su uso, copia, modificación o redistribución con o sin fines de lucro Licenciamiento software propietario El software propietario también llamado privativo, privado, de código cerrado, cautivo o software no libre, como se menciona anteriormente es cualquier programa informático en el que el usuario tiene limitaciones para usarlo, modificarlo o redistribuirlo (esto último con o sin modificaciones) (Välimäki, 2005). Morales (2006) en su blog describe como software privativo: Se conoce como software privativo a los programas informáticos amparados bajo licencias que reservan algunos o todos los derechos de uso, copia, modificación y distribución para el fabricante, quien previo pago de una regalía concede el uso de una copia ejecutable del programa al titular de la licencia. El usuario no es dueño del software que está funcionando en su computador, el propietario sigue siendo el fabricante y no 14

20 faculta al usuario a realizar ninguna modificación en él, ni a tampoco estudiarlo por ninguna vía para determinar cómo realiza sus funciones. Asimismo, el usuario tiene prohibida la divulgación por cualquier medio de fallos que descubriese en el programa. E incluso, algunas licencias impiden al comprador la transferencia de la titularidad a un tercero. La persona física o jurídica (compañía, corporación, fundación, entre otros) al poseer los derechos de autor sobre un software tiene la posibilidad de controlar y restringir los derechos del usuario sobre su programa. Software privativo La expresión software privativo comenzó al ser utilizada por Richard Stallman, desde el año 2003, en sus conferencias sobre software libre, pues sería más adecuada que "software propietario". El término "privativo" significa "que causa privación o restricción de derechos o libertades"(stallman, 2012), justamente lo que se pretende describir con él: la privación a los usuarios de sus libertades en relación al software, esto desde el punto de vista de las organizaciones que apoyan las opciones de software libre. Software no libre La expresión software no libre (en inglés non-free software) es usado por la FSF para agrupar todo el software que no es libre, es decir, incluye al llamado en inglés "semi-free software" (software semilibre) y al "propietary software". (Stallman, 2012) Asimismo, es frecuentemente utilizado para referirse al software que no cumple con las Directrices de software libre de Debian, las cuales siguen la misma idea básica de libertad en el software, propugnada por la FSF, y sobre las cuales está basada la definición de código abierto de la Open Source Initiative. Software de código cerrado 15

21 La expresión software de código cerrado nace como antónimo de software de código abierto y por tanto se centra más en el aspecto de ausencia de acceso al código que en los derechos sobre el mismo. Éste se refiere sólo a la ausencia de una sola libertad por lo que su uso debe enfocarse sólo a este tipo de software y aunque siempre signifique que es un software que no es libre, no todo software que no sea libre tiene que ser software de código cerrado. Software privado La expresión software privado es usada por la relación entre los conceptos de tener propietario y ser privado. Este término sería inadecuado debido a que, en una de sus acepciones, la palabra "privado" se entiende como antónimo de "público", o sea, que no es de propiedad pública o estatal, sino que pertenece a particulares (Stallman, 2012), provocando que esta categoría se interpretara como no referente al Estado, lo que produciría la exclusión del software (no libre) generado por el aparato estatal Ventajas y desventajas Ventajas, basadas en investigación para este trabajo y experiencias propia 1. Propiedad y decisión de uso del software por parte de la empresa Basado en un punto de vista personal, el desarrollo de la mayoría de software requiere importantes inversiones para su estudio y desarrollo. Este esfuerzo, de no ser protegido se haría en balde, puesto que la competencia se podría apropiar inmediatamente del producto una vez finalizado, para sus propios fines. Esto garantiza al productor ser compensado por la inversión, fomentando así el continuo desarrollo. 2. Soporte para todo tipo de hardware 16

22 Refiriéndose solo al mercado del sistema operativo mayoritario, que es Microsoft Windows y no al resto de sistemas operativos de tipo Unix, que es minoritario. El actual dominio de mercado invita a los fabricantes de a producir drivers o hardware solo compatible con Windows. Por lo que la elección del sistema operativo de Microsoft tiene garantizado un soporte de hardware seguro. Aunque siendo justos, habría que decir que dicho soporte por parte de los fabricantes se limita generalmente al sistema operativo actual. Las siguientes versiones de sistemas operativos no se suelen soportar, a fin de vender nuevos dispositivos. 3. Mejor acabado de la mayoría de aplicaciones Realizando una comparativa de los productos que se encuentran en el mercado actualmente y se encuentran en ambos casos; Se distingue que el software propietario, generalmente, tiene un mejor acabado a las aplicaciones, en cuestiones, tanto de estética, como de usabilidad de la aplicación. Aunque muchas aplicaciones de software libre tienen un buen acabado, aquí se nota de forma especial el cuidado y el esfuerzo del desarrollador de software propietario. 4. Las aplicaciones número uno son propietarias El actual dominio de mercado no sólo interesa a los fabricantes de hardware, sino que también a los de software; De acuerdo a una investigación realizada para este trabajo, algunas de las aplicaciones más demandadas son, de acuerdo al ámbito que se estudia en este tema son: Microsoft Office, Microsoft Visual Studio, 3DStudio, Adobe Suite, Corel draw, por mencionar algunos. 5. El ocio para computadoras personales está destinado al mercado propietario 17

23 Los desarrolladores de juegos tienen sus miras en el mercado más lucrativo, que es el de las consolas y en última instancia el de los ordenadores personales. Además, en estos últimos la práctica totalidad de títulos benefician a Microsoft Windows. 6. Menor necesidad de técnicos especializados El mejor acabado de la mayoría de sistemas de software propietario y los estándares actuales permiten una simplificación del tratamiento de dichos sistemas, dando acceso a su uso y administración, a técnicos que requieren una menor formación, reduciendo costos de mantenimiento. 7. Mayor mercado laboral actual Como muchas de las ventajas restantes se deben al dominio del mercado, no hay que ignorar que cualquier trabajo relacionado con la informática pasará, en casi todos los casos, por conocer herramientas de software propietario, de acuerdo con comentarios de desarrolladores realizados en foros destinados a estos temas. 8. Mejor protección de las obras con copyright Las obras protegidas por copyright se ven beneficiadas por mecanismos anti copia, como el DRM y otras medidas, que disminuyen o dificultan en cierto grado la piratería. 9. Unificación de productos Una de las ventajas más destacables del software propietario es la toma de decisiones centralizada que se hace en torno a una línea de productos, haciendo que no se desvíe de la idea principal y generando productos funcionales y altamente compatibles. 18

24 Desventajas, basadas en investigación para este trabajo y experiencias propia 1. Difícil manejo En algunos casos, existen comentarios que describen como difícil de aprender a utilizar eficientemente el software propietario sin haber asistido a costosos cursos de capacitación. 2. Desconocimiento de código En base a la experiencia adquirida, el funcionamiento del software propietario es un secreto que guarda celosamente la compañía que lo produce. En muchos casos resulta riesgosa la utilización de un componente que es como una caja negra, cuyo funcionamiento se desconoce y cuyos resultados son impredecibles. En otros casos es imposible encontrar la causa de un resultado erróneo, producido por un componente cuyo funcionamiento se desconoce. 3. Falta de soporte En la mayoría de los casos el soporte técnico es insuficiente o tarda demasiado tiempo en ofrecer una respuesta satisfactoria. 4. No modificable Es ilegal extender una pieza de software propietario para adaptarla a las necesidades particulares de un problema específico. En caso de que sea vitalmente necesaria tal modificación, es necesario pagar una elevada suma de dinero a la compañía fabricante, para que sea ésta quien lleve a cabo la modificación a su propio ritmo de trabajo y sujeto a su calendario de proyectos. 5. Exclusión de mejoras La innovación es derecho exclusivo de la compañía fabricante. Si alguien tiene una idea innovadora con respecto a una aplicación propietaria, tiene que elegir 19

25 entre venderle la idea a la compañía dueña de la aplicación o escribir desde cero su propia versión de una aplicación equivalente, para una vez logrado esto poder aplicar su idea innovadora. 6. Restricción de Licenciamiento por equipos Es ilegal hacer copias del software propietario sin antes haber contratado las licencias necesarias. Si una dependencia tiene funcionando exitosamente un sistema dependiente de tecnología propietaria no lo puede compartir con otras dependencias a menos que cada una de éstas contrate todas las licencias necesarias. 7. Problemas futuros no previstos Si la compañía fabricante del software propietario se va a la banca rota, o si el software se da por deprecado/ fuera de soporte, el soporte técnico desaparece la posibilidad de en un futuro tener versiones mejoradas y la posibilidad de corregir los errores de dicho software también desaparece. Los clientes que contrataron licencias para el uso de ese software quedan completamente abandonados a su propia suerte Costos y alcance del código Como se comentó en una de las desventajas antes mencionadas, el alcance que se tiene hacia el código en una licencia de software propietario es nulo, esto debido a que todo aquel software que se rige mediante licencias de software propietario está restringido para el conocimiento del usuario sobre lo que hace y cómo funciona el software tal que todo intento o modificación realizada resultara en sanciones para el usuario que lo realizó y al que infringió en el delito de compartir con este otro una copia para un fin que se marca en las políticas del software como ilegal. 20

26 Por otra parte el costo de obtención para las licencias de software propietario por lo general es bastante elevado y no permite el uso que muchos usuarios requieren, como en un ejemplo anterior las dependencias de gobierno que requieren utilizar un producto bajo este tipo de licenciamiento está obligado a comprar N número de copias para poder trabajar en todos sus equipos, lo que lleva a un gasto aun mayor debido a que el alto costo del producto que va a adquirir se multiplica por el número de equipos que requieren trabajar con este producto de acuerdo a Välimäki (2005): (CostoTotal=CostoLicencia*N). En ocasiones y en determinados programas las empresas cuentan con licencias empresariales, las cuales ahorran poco en costos debido a que se puede realizar la instalación del programa en X número de máquinas, si se necesita instalar en más equipos se puede ampliar el margen en los que se podrá instalar el software, obviamente con un costo adicional. Por lo que respecta a la Universidad Veracruzana en concreto a la Dirección General de Tecnología de Información y en cuanto a software de carácter o licenciamiento institucional para los cinco campus universitarios, la Dirección General gestionó la adquisición y pago del software siguiente para el ejercicio 2012 (Universidad Veracruzana, 2012): Software Importe 2012 Enrollment For Educations (Campus Agreement) $ 3,733, Solución de Seguridad McAfee EndPointProtectionAdvanced Suite $ 672,

27 Oracle para Servidores de Aplicaciones y Base de Datos $ 524, Total $ 4,931, Tabla. 2.1 Compra de Software Propietario adquirido por la Dirección General de Tecnología de Información (Universidad Veracruzana, 2012) Licenciamiento Software Libre El software libre es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, modificado, y redistribuido libremente. Según la Free Software Foundation (2012): El software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado. El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratis" o "gratuito" incluye en ocasiones el código fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa. Tampoco debe confundirse software libre con "software de dominio público". Éste último es aquel software que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. 22

28 Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquel cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de este, habitualmente 70 años. Si un autor condiciona su uso bajo una licencia, por muy débil que sea, ya no es del dominio público. El Software Libre es un tipo particular de software que le permite al usuario el ejercicio de cuatro libertades básicas (Stallman, 2002), las cuales se mencionan a continuación: 1. Ejecutarlo con cualquier propósito 2. Estudiar cómo funciona y adaptarlo a sus necesidades 3. Distribuir copias 4. Mejorarlo, y liberar esas mejoras al público con la única restricción del copyleft (o sea, cualquiera que redistribuya el software, con o sin cambios, debe dar las mismas libertades que antes), y con el requisito de permitir el acceso al código fuente (Imprescindible para ejercer las libertades 1 y 3) Ventajas y desventajas Ventajas, basadas en investigación para este trabajo y experiencias propia 1. Bajo costo El costo de los productos de software libre puede ser bajo o nulo lo cual permite proporcionar servicios y ampliar la infraestructura sin verse afectado el intento de crecimiento por no poder hacer frente al pago de grandes cantidades en licencias. La reducción de costos por uso de software libre se puede beneficiar a la entidad generando temas de investigación, sobre el desarrollo y manejo de estas herramientas. 2. Libertad de uso y redistribución 23

29 Las licencias de software libre existentes permiten la instalación del software tantas veces y en tantas máquinas como el usuario desee. 3. Independencia tecnológica El acceso al código fuente permite el desarrollo de nuevos productos sin la necesidad de desarrollar todo el proceso partiendo de cero. El secretismo tecnológico es uno de los grandes frenos y desequilibrios existentes para el desarrollo en el modelo de propiedad intelectual. 4. Fomento de la libre competencia al basarse en servicios y no licencias Uno de los modelos de negocio que genera el software libre es la contratación de servicios de atención al cliente. Este sistema permite que las compañías que den el servicio compitan en igualdad de condiciones al no poseer la propiedad del producto del cual dan el servicio. Esto, además, produce un cambio que redunda en una mayor atención al cliente y contratación de empleados, en contraposición a sistemas mayoritariamente sostenidos por la venta de licencias y desatención del cliente. 5. Sistemas más seguros El acceso al código fuente permite que se pueda verificar el flujo del sistema y sea fácil de auditar, por lo que la existencia de puertas traseras es ilógica ya que se pondría en evidencia y contraviene el interés de la comunidad que es la que lo genera, haciendo los sistemas más seguros y confiables. 6. Corrección más rápida y eficiente de fallos El funcionamiento e interés conjunto de la comunidad ha demostrado solucionar más rápidamente los fallos de seguridad en el software libre, algo que desgraciadamente en el software propietario es más difícil y costoso. Cuando se notifica a las empresas propietarias del software sobre la existencia de errores (bugs) suelen tardan meses hasta proporcionar los parches de seguridad. 24

30 7. Métodos simples y unificados de gestión de software Actualmente la mayoría de distribuciones de Linux incorporan alguno de los sistemas que unifican el método de instalación de programas, librerías, etc. por parte de los usuarios. Esto llega a simplificar hasta el grado de marcar o desmarcar una casilla para la gestión del software y permiten el acceso a las miles de aplicaciones existentes de forma segura y gratuita a la par que evitan tener que recurrir a páginas web de dudosa ética desde las que los usuarios instalan sin saberlo spyware o virus informáticos en sus sistemas. 8. Sistema en expansión Las ventajas especialmente económicas que aportan las soluciones libres a muchas empresas y las aportaciones de la comunidad han permitido un constante crecimiento del software libre, hasta superar en ocasiones como en el de los servidores web, al mercado propietario. El software libre se utiliza en sistemas de producción por algunas de las empresas tecnológicas más importantes como IBM, SUN Microsystems, Google, Hewlett- Packard, entre otros. Desventajas, basadas en investigación para este trabajo y experiencias propia La curva de aprendizaje es mayor (aprendizaje, implementación, migración). La práctica totalidad de las propuestas realizadas para desarrollo de software, pasan de largo y generalmente se opta por adoptar sistemas de casa de software establecidas como el caso de Microsoft, lo que genera que los usuarios finales se familiaricen con este tipo de herramientas y crea un caso de miedo al cambio, al querer adoptar nuevas herramientas, que para ellos son desconocidas, aunque en función realicen lo mismo. El software libre no tiene garantía proveniente del autor. Se necesita dedicar recursos a la reparación de erratas. 25

31 No existiría una compañía única que respaldará toda la tecnología. Las interfaces amigables con el usuario (GUI) la multimedia y juegos apenas se están estabilizando. El usuario debe tener nociones de programación, ya que la administración del sistema recae mucho en la automatización de tareas y esto se logra utilizando, en muchas ocasiones, lenguajes de guiones (perl, python, shell, por meniconar algunos.). La diversidad de distribuciones, métodos de empaquetamiento, licencias de uso, herramientas con un mismo fin, etc., pueden crear confusión en cierto número de personas. Menor compatibilidad con el hardware. Dificultad en el intercambio de archivos: esto se da mayormente en los documentos de texto (generalmente creados con Microsoft Word), ya que si se desean abrir con un Software Libre (ej. Open Office o LaTeX) los formatos se dañan cuando se utiliza tablas por lo demás funciona perfectamente Costos y alcance del código En este caso el alcance del código es absoluto ya que se tienen las libertades de estudiar cómo funciona y adaptarlo a las necesidades así como la de mejorar el programa y hacer públicas las mejoras esto nos permite tener completo control del código sobre el que estamos trabajando para realizar lo que queramos y así adaptarlo a nuestras necesidades, lo cual para una entidad como la Universidad Veracruzana en donde se tiene una cuna de desarrollo y la infraestructura necesaria se deberían plantear más investigación y desarrollo sobre estas plataformas libres, que a largo plazo se verá reflejado en disminución de costos y tal vez mejor funcionamiento y aprovechamiento de las tecnologías. 26

32 Por la parte de costos como se menciona anteriormente es más barato para una empresa que se está formando o está pensando en automatizar sus procesos optando por realizar todo a partir de software libre, ya que solo requiere hacer inversión de infraestructura que no necesariamente sea muy poderosa o de alto costo. En cambio una empresa que quiera migrar de una base tecnológica de software propietario a software libre aplica la siguiente métrica. La Secretaria de Tecnologías de la Información de Ecuador, basado en (Pressman, 2005) propone los siguientes: Este método deberá aplicarse tanto al Software Propietario como al Software Libre. Si el costo de este último es menor que el del propietario se deberá realizar la migración. Previamente, la solución de Software Libre deberá satisfacer los siguientes requisitos: Tener las capacidades mínimas funcionales y técnicas requeridas por la organización y los usuarios Mantener o incrementar la productividad de la organización y los usuarios Ser compatible o integrable en las plataformas de hardware y software existentes El Costo Total de la Solución (CTS) considera 3 componentes: CTS = CTI + CTA + CTC Donde: CTI: Costo Total de Implementación CTA: Costo Total Administrativo CTC: Costo Total de Capacitación 27

33 Para el cálculo de los costos CTA y CTC se sugiere considerar al menos 3 años de funcionamiento de la solución. 1. Costo Total de Implementación (CTI) Es el costo total de rubros y actividades necesarios para poner a funcionar la solución. Se incluye adquisición de equipos, licencias y recurso humano puntual para la implementación. El CTI se calcula de la siguiente forma: CTI = CP + CI + CADH + CADS + CM Donde: CP: Costos de las licencias del software considerando la arquitectura1 CI: Costos de instalación, configuración y adaptación (si fuera el caso) CADH: Costos adicionales de hardware e infraestructura CADS: Costos adicionales de software CM: Costos de migración de datos e integración 2. Costo Total Administrativo (CTA) Es el costo total promedio anual de rubros y actividades necesarios para garantizar la disponibilidad, capacidad y continuidad de la solución implantada. Incluye el costo total promedio anual del recurso humano empleado en estas actividades. El CTA se calcula de la siguiente forma: CTA = CMH + CASS + CRH Donde: CMH: Costos de actualización y mantenimiento del hardware e infraestructura CASS: Costos de actualización y soporte del software 28

34 CRH: Costos del Recurso Humano Los CASS representan los costos de actualización de licencias o nuevas versiones y el soporte del software. Este último puede ser un valor fijo anual o estimado por horas/hombre. Los CRH se calculan de la siguiente forma: CRH = CA + CO + CS Donde: CO = costo promedio anual de un ingeniero operador * número de ingenieros * porcentaje de tiempo dedicado a la operación de la solución * número de años de funcionamiento de la solución CS: Costo de personal de la organización para soporte en la solución de incidentes y problemas detectados. Este costo se calcula de la siguiente forma: CS = costo promedio anual de un ingeniero de soporte * número de ingenieros * porcentaje de tiempo dedicado al soporte de la solución * número de años de funcionamiento de la solución 3. Costo Total de Capacitación (CTC) Es el costo promedio anual para la capacitación continua del personal (técnico y usuarios) en la operación y explotación de la solución. El CTC se calcula de la siguiente forma: CTC = CT + CU Donde: CT = Costo hora capacitación técnica * número de técnicos * número de horas * número años de funcionamiento de la solución 29

35 CU = Costo hora capacitación usuario * número de usuarios * número de horas * número años de funcionamiento de la solución 2.3 Análisis de los paradigmas de programación Los paradigmas de programación nos indican las diversas formas que, a lo largo de la evolución de los lenguajes, han sido aceptadas como estilos para programar y para resolver los problemas por medio de una computadora. (Ramírez, 2011) Los programas se pueden clasificar por el paradigma del lenguaje que se use para producirlos. Los principales paradigmas son: imperativos, declarativos y orientación a objetos. AlegsaOnLine (2006) define al lenguaje imperativo como: Los programas que usan un lenguaje imperativo especifican un algoritmo, usan declaraciones, expresiones y sentencias. Una declaración asocia un nombre de variable con un tipo de dato. Una expresión contiene un valor, por ejemplo: contiene el valor 4. Finalmente, una sentencia debe asignar una expresión a una variable o usar el valor de una variable para alterar el flujo de un programa, por ejemplo: x := 2 + 2; if x == 4 then haz_algo();. Una crítica común en los lenguajes imperativos es el efecto de las sentencias de asignación sobre una clase de variables llamadas no locales. AlegsaOnLine (2006) define al lenguaje declarativo como: Los programas que usan un lenguaje declarativo especifican las propiedades que la salida debe conocer y no especifica cualquier detalle de implementación. Dos amplias categorías de lenguajes declarativos son los lenguajes funcionales y los lenguajes lógicos. Los lenguajes funcionales no 30

36 permiten asignaciones de variables no locales, así, se hacen más fáciles, por ejemplo, programas como funciones matemáticas. El principio detrás de los lenguajes lógicos es definir el problema que se quiere resolver (el objetivo) y dejar los detalles de la solución al sistema. El objetivo es definido dando una lista de sub-objetivos. Cada sub-objetivo también se define dando una lista de sus sub-objetivos, etc. Si al tratar de buscar una solución, una ruta de sub-objetivos falla, entonces tal sub-objetivo se descarta y sistemáticamente se prueba otra ruta. La forma en la cual se programa puede ser por medio de texto o de forma visual. En la programación visual los elementos son manipulados gráficamente en vez de especificarse por medio de texto Aplicaciones Web En su libro Aplicaciones Web, Martínez (2012) dice: Existen múltiples definiciones sobre lo que son los servicios web, lo que muestra su complejidad a la hora de dar una adecuada definición que englobe todo lo que son e implican. Podemos considerar los servicios web como un conjunto de aplicaciones o de tecnologías con capacidad para interpretar en la Web. Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web. Las aplicaciones web son populares debido a lo práctico del navegador, a la independencia del sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin la necesidad de distribuir y ocupar espacio de instalación en los equipos cliente. Existen aplicaciones como los webmails, wikis, weblogs, tiendas en línea, por mencionar algunas. 31

37 Es importante mencionar que una página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la página responderá a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo. Una mejora en el servidor, como parte de la aplicación, requería normalmente una mejora de los clientes instalados en cada ordenador personal, añadiendo un coste de soporte técnico y disminuyendo la productividad. A diferencia de lo anterior, las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar, como HTML o XHTML, soportados por los navegadores web comunes. Se utilizan lenguajes interpretados en el lado del cliente, directamente o a través de plug-ins tales como JavaScript, Java, Flash, etc., para añadir elementos dinámicos a la interfaz de usuario. Generalmente cada página web en particular se envía al cliente como un documento estático, pero la secuencia de páginas ofrece al usuario una experiencia interactiva. Durante la sesión, el navegador web interpreta y muestra en pantalla las páginas, actuando como cliente para cualquier aplicación web. Una ventaja significativa es que las aplicaciones web deberían funcionar igual independientemente de la versión del sistema operativo instalado en el cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux y otros sistemas operativos, la aplicación web se escribe una vez y se ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes escritas con HTML, CSS, DOM y otras especificaciones estándar para navegadores web que pueden causar 32

38 problemas en el desarrollo y soporte de estas aplicaciones, principalmente debido a la falta de adicción de los navegadores a dichos estándares web (especialmente versiones de Internet Explorer anteriores a la 7.0). Adicionalmente, la posibilidad de los usuarios de personalizar muchas de las características de la interfaz (tamaño y color de fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con la consistencia de la aplicación web. Otra aproximación es utilizar Adobe Flash Player o Java applets para desarrollar parte o toda la interfaz de usuario. Como casi todos los navegadores incluyen soporte para estas tecnologías (usualmente por medio de plug-ins), las aplicaciones basadas en Flash o Java pueden ser implementadas con aproximadamente la misma facilidad. Dado que ignoran las configuraciones de los navegadores, estas tecnologías permiten más control sobre la interfaz, aunque las incompatibilidades entre implementaciones Flash o Java puedan crear nuevas complicaciones, debido a que no son estándares. Aunque existen muchas variaciones posibles, una aplicación web está normalmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera capa, y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets, ASP.NET, CGI, ColdFusion, embperl, Python, etc.) que constituye la capa intermedia. Por último, una base de datos constituye la tercera y última capa. El navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario. 33

39 Requerimientos. Para los lenguajes que se ejecuta del lado del servidor (php, jsp, etc.) es necesario tener ciertas herramientas que ayudarán a ver los resultados de lo que se está desarrollando. Estos lenguajes fueron diseñados para ejecutarse junto a Apache que es un servidor web para sistemas operativos Linux, pero en la actualidad se puede instalar también sobre Windows y Mac OS, así como otras alternativas de servidor web que han ido apareciendo. Para comenzar con el desarrollo no es necesario hacer una gran inversión, una de las computadoras que se tienen destinadas para el posgrado fungirá como servidor utilizando aplicaciones que contendrán el ambiente en el cual se tendrá instalado el servidor de aplicación, el intérprete del lenguaje y una base de datos, todo de forma automática (aunque también se podría instalar todo por separado). A continuación se presentan algunas aplicaciones aplicables a cada sistema operativo para poder trabajar sobre la aplicación web utilizando PHP que es el lenguaje que se eligió para esta primera etapa de desarrollo. Windows XAMPP es uno de los más utilizados y confiables WAMP, que es para Windows solamente. Zend Server CE es la recomendada para usar en un proyecto con ambientes de desarrollo y producción. También es posible instalar el servidor web y PHP por separado. Mac OS 34

40 Todo viene instalado de base a excepción de MySQL pero requiere de algún tiempo para configurarlo, para evitar problemas y batallar con la configuración existe MAMP en una versión gratuita. Linux XAMPP también puede instalarse en sistemas como Ubuntu. También es posible instalar un servidor web (lighttpd, apache son algunos ejemplos), y las librerías de php por separado, así como el mysql y otras utilidades. En algunas distribuciones Linux ya vienen instalados por defecto. Una breve explicación de lo que hace cada elemento que se ha instalado El servidor Apache entrega los archivos para que puedan ser mostrados en el navegador. El intérprete o módulo de apache lee el código de los archivos.php y lo ejecuta en base al contenido. En el tiempo de ejecución puede realizar una consulta a una base de datos como Mysql, para ingresar o leer información. En conjunto muestran el resultado en el navegador Aplicaciones de escritorio En un principio el uso de aplicaciones con esquema cliente-servidor en una computadora, se veía estructurado mediante una aplicación que se instalaba en cada equipo la cual realiza las funciones de la interfaz cliente, esta aplicación realizaba las peticiones al servidor, el cual era otro programa. 35

41 En los primeros tiempos de la computación cliente-servidor, cada aplicación tenía su propio programa cliente que servía como interfaz de usuario que tenía que ser instalado por separado en cada ordenador personal de cada usuario. El cliente realizaba peticiones a otro programa -el servidor- que le daba respuesta. El paradigma del escritorio ha sido la metáfora predominante durante muchos años desde su introducción en el Xerox PARC. La primera computadora personal en popularizar este tipo de interfaces fue la Apple Macintosh en 1984.El escritorio dispone de ventanas, iconos, menús y punteros. Este estilo utiliza un mecanismo físico (el mouse) para controlar la posición de un cursor en pantalla. La información se muestra en ventanas, agrupada en menús y es mayormente representada por íconos. Las ventajas inherentes a este paradigma se centran en la facilidad de uso, debido a la baja carga cognitiva que requiere el acceder a las distintas acciones disponibles. El otro factor importante, es la unificación de la apariencia de la interfaz, debido a esto, la curva de aprendizaje al pasar de un programa a otro es sumamente baja. De forma paralela a la constante evolución del paradigma del escritorio han surgido nuevos paradigmas de interacción, cuya aparición sugiere mejoras en la forma y facilidad de uso de los sistemas. Por aplicaciones de escritorio se entiende a toda aplicación que ha sido desarrollada para ser ejecutada en una plataforma específica, ya sea Windows, Linux o Mac. El desarrollo sobre una plataforma, normalmente, implica que la aplicación "no" pueda ser ejecutada en otras, actualmente con Java, Python entre otros lenguajes se puede eliminar esta negativa debido a que son lenguajes multiplataforma, por ejemplo. Para ejecutar una aplicación desarrollada en el lenguaje Java solo se requiere tener instalada la máquina virtual de java (JVM) que ya viene preinstalada en casi todos los sistemas operativos y si no se encuentra preinstalada se puede descargar fácilmente del sitio web de java. Entre las ventajas de las aplicaciones de escritorio, se pueden destacar: Mayor capacidad gráfica visual. Menor tiempo de respuesta (aplicación más rápida). 36

42 Mayor personalización. Las aplicaciones de escritorio se desarrollan para cubrir necesidades específicas de la empresa, como la contabilidad, gestión de personal, etc. Es bien sabido que para el desarrollo de aplicaciones Web existe un conjunto de frameworks que facilitan el trabajo del programador proporcionándole out-of-thebox un conjunto de características que son comunes a todas las aplicaciones y de las cuales él puede disponer a través de ellos con mucha facilidad, permitiéndole enfocarse en resolver los requerimientos relacionados con el dominio del problema y ayudándole a ser más productivo. En contraste con la variedad de frameworks existentes para el desarrollo Web, hay un conjunto muy reducido de estos para la creación de software de escritorio, entre los cuales se encuentra el Framework de Aplicaciones Swing (SAF del inglés Swing Application Framework), el cual, por cierto, ha dejado de tener soporte desde hace algún tiempo atrás. El propósito de un framework es proveer una estructura definida mediante la cual el software pueda ser construido de manera organizada de acuerdo a prácticas sanas de programación y a patrones de desarrollo. Normalmente, proporciona un conjunto de APIs y herramientas que ayudan al desarrollador durante la tarea de construcción y creación. Plataforma de cliente rico La Plataforma de Cliente Rico es un entorno de administración del ciclo de vida de una aplicación, la cual constituye una base para el desarrollo de aplicaciones de escritorio. Esta se encarga de proveer un framework que brinda al desarrollador un conjunto de características presentes en este tipo de aplicaciones, tales como: menús, barras de herramienta, barras de estado, barras de progreso, persistencia de datos de configuración de la aplicación e internacionalización, entre otras, las cuales pueden ser utilizadas con mucha facilidad. 37

43 También, es la Plataforma quien determina un aspecto fundamental de las aplicaciones como lo es la arquitectura. Las aplicaciones desarrolladas sobre una Plataforma de Cliente Rico son escritas en forma de Módulos, lo cual conlleva un sin número de ventajas, entre las cuales se puede mencionar que cada módulo resuelve un problema en particular con o sin ayuda de otros, y el mismo puede ser utilizado por otros módulos para llevar a cabo sus tareas, contribuyendo a la facilidad de integración, un alto grado de cohesión y coherencia, y un muy reducido (o tal vez nulo) nivel de acoplamiento entre los diferentes componentes de la aplicación. Debido a todo esto, desarrollar sobre una Plataforma de Cliente Rico incrementa la productividad del desarrollador, liberándolo de preocuparse con tareas que tienen poca incidencia sobre la resolución de los requerimientos del dominio del problema y ayudándolo a enfocar sus energías en realizar tareas relacionadas con la lógica del negocio de la aplicación. Ventajas de utilizar una plataforma de cliente rico Además del enfoque modular provisto por la Plataforma de Cliente Rico, existen otras características que motivan su uso. Estas se enumeran a continuación: Optimización del tiempo de desarrollo. Interfaz de usuario consistente (Usabilidad). Facilidad de actualización de la aplicación incluso en tiempo de ejecución. Independencia de la plataforma. Reusabilidad y fiabilidad Requerimientos Los requerimientos han sido tomados en cuenta proponiendo JAVA como lenguaje de programación para desarrollar la solución al problema que en este trabajo se plantea. 38

44 Requerimientos de software Es necesario contar con cierto software de desarrollo Java para la compilación y ejecución de las aplicaciones generadas. JDK/JRE Driver JDBC Navegador En caso de aplicaciones web (servlets), adicionalmente se requiere: Un Servidor Web Un Motor de Servlets JavaServer Web Development Kit Requerimiento para JDK y JRE sobre sistemas Windows En plataformas de 32-bit Requerimiento de procesador Se requiere como mínimo un procesador Pentium 2 a 266MHz o su correspondiente de otra casa de hardware para soportar el Java SE Development Kit (JDK) así como el Java SE RuntimeEnvironment (JRE) Espacio en disco requerido Para el JDK, se presentan las siguientes opciones de instalación: Development Tools SourceCode Public Java RuntimeEnvironment Aparte del requerimiento de espacio en disco para instalar las imagines anteriormente mencionadas, se debe contar con suficiente espacio en disco para las actualizaciones Java Update. La siguiente tabla muestra el espacio necesario para los paquetes JRE y JDK: (Oracle, 2012) 39

45 Espacio en disco requerido para JRE JRE Java RuntimeEnvironment Java Update JavaFXRuntime Tamaño de imagen 94 MB 2 MB 30 MB Tabla Espacio en disco requerido para Java RunTime Enviroment (JRE) - (Oracle, 2012) Espacio en disco requerido para JDK JDK Development Tools SourceCode JavaFX SDK Public Java RuntimeEnvironment Tamaño de imagen 180 MB 27 MB 65 MB Ver la tabla anterior espacio en disco requerido para JRE Tabla Espacio en disco requerido para Java Develpment Kit (JDK) - (Oracle, 2012) Requerimientos de memoria 40

46 La siguiente tabla muestra los requerimientos mínimos de memoria para sistemas que operan con 32-bit Nota: la cantidad de memoria mínima es requerida para correr aplicaciones basadas en gráficos. Incrementar la RAM es recomendado para correr applets con un explorador que utilice la tecnología Java Plug-in. Correr aplicaciones con menos memoria puede ocasionar un problema en el disco que tendrá efectos graves en el rendimiento del mismo. Para ejecutar programas grandes es necesario incrementar la memoria para mejorar el rendimiento. (Oracle, 2012) Microsoft Windows 32-Bit Versión Windows 7 Windows Vista Windows Server 2008 Windows XP Memoria mínima 128 MB 128 MB 128 MB 64 MB Tabla. 2.4 Memoria mínima para ejecutar JRE y JDK en sistemas de 32 bits (Oracle, 2012) Plataformas de 64-bit Requerimientos del procesador Se requiere como mínimo un procesador Pentium 2 a 266MHz o su correspondiente de otra casa de hardware para soportar el Java SE Development Kit (JDK) así como el Java SE RuntimeEnvironment (JRE) Espacio en disco requerido 41

47 Las características del JDK disponible para plataformas 64-bit son las mismas que par a las plataformas de 32-bit. Los requerimientos de disco para herramientas de desarrollo en plataformas de 64-bit es de 181 MB. El espacio en disco requerido para el código fuente y el JRE público son los mismos que para plataformas de 32-bit, a excepción del JavaFX SDK (68 MB) y para el JavaFXruntime (32 MB). Requerimientos de memoria Las siguientes tablas muestran los requisitos mínimos de memoria para sistemas operativos de 64-bit: Nota: la cantidad de memoria mínima es requerida para correr aplicaciones basadas en gráficos. Incrementar la RAM es recomendado para correr applets con un explorador que utilice la tecnología Java Plug-in. Correr aplicaciones con menos memoria puede ocasionar un problema en el disco que tendrá efectos graves en el rendimiento del mismo. Para ejecutar programas grandes es necesario incrementar la memoria para mejorar el rendimiento. (Oracle, 2012) Microsoft Windows x64, 64-Bit Versión Windows 7 Windows Server 2008 Windows Server 2008 R2 Windows Vista Windows XP Memoria mínima 128 MB 128 MB 128 MB 128 MB 128 MB Tabla. 2.5 Memoria mínima para ejecutar JRE y JDK en sistemas de 64 bits (Oracle, 2012) 42

48 2.4 Análisis de Sistemas Gestores de Bases de Datos. Manejador de Bases de Datos El Information Technology Laboratory (ITL) Education Solutions Limited (2008) en su libro Introduction to Database Systems define como SMBD: El sistema manejador de bases de datos (SMBD / DBMS Database Management System por sus siglas en inglés) es un conjunto de programas utilizados para crear y mantener una base de datos. El principal objetivo de un SMBD es proveer un método efectivo y conveniente para definir, almacenar, recuperar y manipular la información contenida en la base de datos. Adicionalmente, el SMBD debe asegurar la seguridad de la BD de accesos no autorizados y recuperación de datos durante fallas del sistema. Debe proveer técnicas para compartir información hacia una cantidad amplia de usuarios. La base de datos y el SMBD son en conjunto conocidos como sistema de base de datos Las funciones principales de un DBMS son: Crear y organizar la Base de datos. Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente. Manejar los datos de acuerdo a las peticiones de los usuarios. Registrar el uso de las bases de datos. Interacción con el manejador de archivos. Una vez que el esquema de base de datos está definido y la información inicial ha sido cargada, operaciones como el regreso de información, inserción, eliminación y modificación de los datos pueden ejecutase en la base de datos. Esto a través de las sentencias en DML (Data ManipulationLanguaje / Lenguaje de Manipulación 43

49 de Datos) al comando del sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos. (ITL, 2008) Respaldo y recuperación: Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos. Control de concurrencia: Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la inconsistencia de los datos. Seguridad e integridad: Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos. El DBMS es conocido también como Gestor de Base de datos. Indagaciones Sistema de manejo de archivos DBMS Sistema operativo Base de datos Fig. 2.1 flujo de la petición del usuario. Elaboración propia basada en. (Carlos Simón Garcia,2010) 44

50 La figura muestra el DBMS como interface entre la base de datos física y las peticiones del usuario. El DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En sí, un sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar (Carlos Simón Garcia,2010). MYSQL MySQL es un servidor de bases de datos multiusuario, concretamente, el más rápido en entornos web. SQL es el lenguaje de bases de datos más popular y estandarizado del mundo. MySQL es una implementación cliente/servidor que consiste en un demonio mysqld y varios programas clientes y librerías. Las principales virtudes del MySQL son su gran velocidad, robustez y facilidad de uso. Junto con PostgreSQL es lo mejor que hay en bases de datos. MySQL soporta muchos lenguajes de programación distintos como: C, C++, Eiffel, Java, Perl, PHP, Python y TCL. También tiene la opción de protección mediante contraseña, la cual es flexible y segura. Características Principales El principal objetivo de MySQL es velocidad y robustez. Escrito en C y C++, testeado con GCC Usa GNU autoconf para potabilidad. Clientes C, C++, Java, Perl, TCL, etc. Multiproceso, es decir puede usar varias CPU si éstas están disponibles. Puede trabajar en distintas plataformas y S.O. distintos. Sistema de contraseñas y privilegios muy flexibles y seguros. Todas las claves viajan encriptadas en la red. Registros de longitud fija y variable. 16 índices por tabla, cada índice puede estar compuesto de 1 a 15columnas o partes de ellas con una longitud máxima de 127 bytes. 45

51 Todas las columnas pueden tener valores por defecto. Utilidad (Isamchk) para chequear, optimizar y reparar tablas. Todos los datos están grabados en formato ISO8859_1. Los clientes usan TCP o UNIX Socket para conectarse al servidor. El servidor soporta mensajes de error en distintas lenguas. Todos los comandos tienen -help o -? Para las ayudas. Diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, punto flotante, doble precisión, carácter, fechas, enumerados, etc. Según benchmarks disponibles en Internet, es hasta 80 veces más rápida que Oracle en las mismas condiciones. Gestión de Usuarios MySQL lleva a cabo una gestión de usuarios que permite dotar a cada uno de los mismos unos determinados privilegios, según los cuales dichos usuarios podrán acceder, modificar, consultar y realizar tareas administrativas y de control con la base de datos. La información sobre los usuarios se encuentra almacenada en una tabla denominada user, dentro de la base de datos interna de la aplicación.al instalar MySQL, por defecto se creará el usuario root, sin ninguna contraseña. Al ser este el usuario más importante, ya que posee total control sobre las bases de datos, se le deberá proporcionar una contraseña. Asimismo, es aconsejable crear un nuevo usuario para acceder a las bases de datos, y dejar dicho usuario root para tareas administrativas y de control. 46

52 CAPÍTULO III DISEÑO

53 3.1 UML De acuerdo con Mandar, Pravin & Lakshmi (2010) el UML (Unified Modeling Language - Lenguaje de Modelado Unificado) se define como: la sucesión de una serie de métodos de análisis y diseño orientadas a objetos que aparecen a fines de los 80's y principios de los 90s.UML es llamado un lenguaje de modelado, no un método. Los métodos consisten de ambos de un lenguaje de modelado y de un proceso. El UML, fusiona los conceptos de la orientación a objetos aportados por Booch, OMT y OOSE (Booch, G. et al., 1999). UML incrementa la capacidad de lo que se puede hacer con otros métodos de análisis y diseño orientados a objetos. Los autores de UML apuntaron también al modelado de sistemas distribuidos y concurrentes para asegurar que el lenguaje maneje adecuadamente estos dominios. El lenguaje de modelado es la notación (principalmente gráfica) que usan los métodos para expresar un diseño. El proceso indica los pasos que se deben seguir para llegar a un diseño (José Enrique González Cornejo, 2010) La estandarización de un lenguaje de modelado es invaluable, ya que es la parte principal del proceso de comunicación que requieren todos los agentes involucrados en un proyecto informático. Si se quiere discutir un diseño con alguien más, ambos deben conocer el lenguaje de modelado y no así el proceso que se siguió para obtenerlo. Una de las metas principales de UML es avanzar en el estado de la integración institucional proporcionando herramientas de interoperabilidad para el modelado visual de objetos. Sin embargo para lograr un intercambio exitoso de modelos de 48

54 información entre herramientas, se requirió definir a UML una semántica y una notación. La notación es la parte gráfica que se ve en los modelos y representa la sintaxis del lenguaje de modelado. Por ejemplo, la notación del diagrama de clases define como se representan los elementos y conceptos como son: una clase, una asociación y una multiplicidad. Y qué significa exactamente una asociación o multiplicidad en una clase? Un meta modelo es la manera de definir esto (un diagrama, usualmente de clases, que define la notación). Para que un proveedor diga que cumple con UML debe cubrir con la semántica y con la notación. Una herramienta de UML debe mantener la consistencia entre los diagramas en un mismo modelo. Bajo esta definición una herramienta que solo dibuje, no puede cumplir con la notación de UML. El lenguaje está dotado de múltiples herramientas para lograr la especificación determinante del modelo, pero en nuestro caso se trabaja en forma simplificada sobre: Modelamiento de Clases Casos de Uso Diagrama de Interacción Casos de Uso (Use Case)[8] Introducción El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso). 49

55 Un diagrama de casos de uso consta de los siguientes elementos: Actor. Casos de Uso. Relaciones de Uso, Herencia y Comunicación. Elementos Actor: Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema. Como ejemplo a la definición anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al sistema puede ser realizado por un Vendedor o bien por el Jefe de Local. Caso de Uso: Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien desde la invocación desde otro caso de uso. Relaciones: 50

56 o Asociación o Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple. o Dependencia o Instanciación Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada. o Generalización Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o de Herencia (<<extends>>). Este tipo de relación está orientado exclusivamente para casos de uso (y no para actores). Extends: Se recomienda utilizar cuando un caso de uso es similar a otro (características). Uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica. De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases, en donde está la duda clásica de usar o heredar. 51

57 Clases del el sistema SIECT Fig. 3.1 Diagrama de clases. Elaboración propia. 52

58 Casos de uso Fig. 3.2 Diagrama de Casos de Uso, usuario realiza una encuesta. Elaboración propia Fig. 3.3 Diagrama de Casos de Uso, administrador genera un reporte. Elaboración propia 53

59 3.2 El Modelo de Datos Entidad-Relación (E/R) Este modelo se obtiene en tiempo de diseño de la base de datos. Fue propuesto por Peter Chen (1976) y desde entonces se viene utilizando de una forma muy global. Se caracteriza por utilizar una serie de símbolos y reglas para representar los datos y sus relaciones. Con este modelo conseguimos representar de manera gráfica la estructura lógica de una base de datos. Los principales elementos del modelo entidad-relación son las entidades con sus atributos y las relaciones entre entidades. Elementos del modelo entidad-relación Entidad Se trata de un objeto del que se recoge información de interés de cara a la base de datos. Gráficamente se representan mediante un rectángulo. Un ejemplo seria la entidad banco, donde se recogerían los datos relativos a ese banco, como puede ser el nombre, el número de sucursal, la dirección, etc. Dentro de las entidades pueden ser fuertes o débiles. Las fuertes son las que no dependen de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra entidad sino no tienen sentido por ellas mismas. Relación Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su 54

60 función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen más de dos entidades. Las relaciones se representas gráficamente con rombos, dentro de ellas se coloca el nombre de la relación. Otra característica es el tipo de correspondencia entre dos relaciones; 1:1. Uno a uno, a cada ocurrencia de una entidad le corresponde como máximo una ocurrencia de la otra entidad relacionada. 1:N. Uno a Mucho, a cada ocurrencia de la entidad A le pueden corresponder varias de la entidad B. N:M. Muchos a muchos, cada ocurrencia de una entidad puede contener varias de la otra entidad relacionada y viceversa. Para finalizar las características de la relación tenemos la cardinalidad que define el número máximo y mínimo de ocurrencias de cada tipo de entidad. Se representa con los valores máximo coma mínimo encerrado entre paréntesis encima de la relación. (Máximo, mínimo) Atributo Se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que haber un atributo principal que identifica a la entidad y su valor tiene que ser único. 55

61 Fig. 3.4 Diseño Lógico de la Base de Datos sistema SIECT (Modelo Entidad-Relación). Elaboración propia. 56

62 Fig. 3.5 Diseño Físico de la Base de Datos sistema SIECT. Elaboración propia. 3.3 Diseño de Interfaz El concepto de interfaz es muy amplio y se refiere a todo sistema que permite el contacto y la funcionalidad entre dos sistemas diferentes. Sin embargo, en este trabajo nos referiremos exclusivamente a la interfaz web, que es un sistema gráfico que permite a los usuarios acceder a los contenidos, realizar tareas, comprender las funcionalidades y navegar por las diferentes páginas del sitio. En definitiva, la interfaz web es el conjunto gráfico que permite la presentación y la navegación del sitio. Esto se consigue con la inclusión de elementos gráficos comunes a toda la web que son estándares, haciendo que los usuarios tengan completo control sobre las funcionalidades del sitio desde el momento mismo de entrar a él sin que para ello deba tener amplios conocimientos ni preparación anterior alguna. 57

63 A continuación se muestra el diseño de interfaz realizado para el Sistema Integral de Evaluación de Cursos del Posgrado en Telemática - SIECT Imagen 3.1 Pantalla de inicio SIECT. (Elaboración propia) La imagen 3.1 Muestra una breve descripción de lo que realiza el sistema, contiene el icono de acceso en la parte superior derecha. 58

64 Imagen 3.2 Pantalla de acceso al sistema SIECT. (Elaboración propia) La imagen 3.2 muestra el acceso al sistema SIECT en donde se debe ingresar un nombre de usuario y contraseña (U: admin, P: admin) para poder acceder a la funcionalidad de la aplicación. 59

65 Imagen 3.3 Pantalla de inicio con menú de acceso a encuestas. (Elaboración propia) La imagen 3.3 muestra la pantalla de inicio después de logueado el usuario, en la cual se puede observar que se activó el menú para tomar las encuestas, el dar clic en esa liga, abrirá la nueva ventana en la cual se mostrara la encuesta a contestar. 60

66 Imagen. 3.4 SIECT-Encuestas de opinión módulo 1 Valora las instalaciones. (Elaboración propia) Pantalla de encuesta muestra el primer módulo, una vez completado este módulo seleccionar Siguiente para avanzar. 61

67 Imagen 3.5 SIECT-Encuestas de opinión módulo 2 Características del Profesor. (Elaboración propia) Pantalla de encuesta módulo 2, características del profesor, seleccionar Siguiente para avanzar, Anterior para regresar al módulo 1 62

68 Imagen 3.6 SIECT-Encuestas de opinión módulo 3 Calidad de los contenidos. (Elaboración propia) Pantalla modulo 3 Calidad de contenidos, seleccionar Siguiente para avanzar, Anterior para regresar al modulo 2 63

69 Imagen SIECT-Encuestas de opinión módulo 4 Componentes. (Elaboración propia) Pantalla modulo 4 Componentes, seleccionar Siguiente para avanzar, Anterior para regresar al modulo 3. 64

70 Imagen SIECT-Encuestas de opinión módulo 5 Tareas o Actividades. (Elaboración propia) Pantalla modulo 5 Tareas o actividades, seleccionar Siguiente para avanzar, Anterior para regresar al modulo 4. 65

71 Imagen SIECT-Encuestas de opinión módulo 6 Ambiente del curso. (Elaboración propia) Pantalla modulo 6 Ambiente del curso, seleccionar Siguiente para avanzar, Anterior para regresar al modulo 5. 66

72 Imagen SIECT-Encuestas de opinión módulo 7 Materiales utilizados. (Elaboración propia) Pantalla modulo 7 Materiales utilizados, seleccionar Siguiente para avanzar, Anterior para regresar al modulo 6. 67

73 Imagen SIECT-Encuestas de opinión módulo 8 Calificar curso 1/2. (Elaboración propia) 68

74 Imagen SIECT-Encuestas de opinión módulo 8 Calificar curso 2/2. (Elaboración propia) 69

75 Pantallas modulo 8 Calificar curso, seleccionar Enviar Encuesta para finalizar o Anterior para regresar al modulo 7. Como punto final del diseño, se establece este trabajo como una versión beta del sistema por lo cual se considera como un paso para alcanzar la meta global a mediano-largo plazo, la cual es automatizar los procesos del posgrado; Generando así un sistema integral que cumpla con las necesidades, para que se vea una mejoría tecnológica, en cuanto a investigación desarrollo y aplicación de la misma se refiere. Esperando que este tema sea retomado por otros estudiantes con las mismas aspiraciones e intenciones de dar a conocer y reafirmar el uso de software libre. Los módulos más prácticos y necesarios a realizar son los reportes, de estas mismas encuestas, así como la generación de encuestas dinámicas, con el fin de evaluar nuevos aspectos, que sean requeridos o que la entidad considere de importancia para verificar más detalladamente. TRABAJO FUTURO Para dar continuidad a este trabajo los puntos que se deben abordar en un futuro de acuerdo al seguimiento que la entidad requiere llevar son los siguientes: Reportes de evaluación. o Este punto se refiere a generar reportes con graficas o cantidades que se consideren necesarias para la entidad y que así pueda tener un control de los resultados de las evaluaciones, estos reportes deberán presentarse en formato PDF obteniendo así un fácil manejo tanto dentro como fuera del sistema, para este punto se recomienda 70

76 utilizar la herramienta Jasper Reports que es de software libre y la cual es muy robusta, permitiendo generar cualquier tipo de reporte. Enviar notificaciones de evaluación finalizada a los relacionados (profesor, estudiante que contesta la evaluación y administrador del sistema). o Este punto sugiere crear un mail sender, para que una vez concluido el proceso de evaluación se notifique a las personas interesadas en conocer esta tarea y así puedan llevar un seguimiento más puntual de las actividades realizadas. Módulo de administración de evaluaciones o Este puto será clave para cuando se quieran realizar nuevas encuestas, se deberá generar un módulo en el cual se puedan realizar encuestas ad-hoc a los requerimientos que se planteen revisar, esto llevara a una mejor administración de las características del posgrado. Módulo de administración de características o La idea de este módulo es generar un administrador en el cual se puedan generar, nuevas características genéricas del sistema, como la administración de documentos del estudiante o profesor, un directorio de participantes, una agenda de interesados, por mencionar algunos que podrán ser de utilidad para el personal administrativo.. 71

77 CONCLUSIONES

78 En el presente trabajo se determinaron las razones y comparativas del por qué desarrollar una herramienta que se ajuste a las necesidades de la entidad, se realizó la investigación de cuántos y cuáles son los tipos de licenciamientos que existen y cuál sería el mejor, según sus ventajas y desventajas, para sacar el máximo provecho de estas. Se toma como opción final el desarrollo con herramientas de software libre apoyados en las mejores prácticas para un diseño web de cliente-servidor, tomando en cuenta las diferentes herramientas que existen en la actualidad y explotar al máximo sus ventajas. Sandino Araico (2002) dice: Es una cuestión de prioridades y no es ningún secreto que los avances científicos y tecnológicos a lo largo de la historia han sido los verdaderos motores de crecimiento de las naciones. Lograr impulsar el desarrollo tecnológico, en todos los sentidos, debe ser una prioridad de alto nivel para la educación en México. El fomento para el desarrollo tecnológico debe estar inmerso en las escuelas donde se generen nuevas investigaciones y se cree la cultura del hacer y no del obtener, muchas veces se presentan situaciones en las cuales, compañeros del mismo nivel y rama de estudios, prefieren pedir a terceros que realicen alguna solución a un problema o tema visto en clase, siendo que en esta carrera y en esta época deberíamos ser nosotros mismos quienes, desarrollemos las soluciones a lo que se nos solicite, esto fomentara la creatividad en lugar de solo la cultura de consumismo. La metodología de desarrollo de software permite que el sistema educativo genere las herramientas necesarias sin la necesidad de adquirir de terceros licencias de software, conservando efectivamente los recursos intelectuales donde fueron generados, y donde más se necesitan. Pero más importante aún, que la 73

79 generación del conocimiento y el fomento a la creatividad, que es consecuencia del impulso al desarrollo y que trae consigo el incremento en la calidad y la competitividad de nuestros profesionistas y de nuestra casa de estudios. Las propuestas mencionadas se basaron en casos anteriores donde se ha demostrado que la implementación de una herramienta a la medida es lo más conveniente para una entidad como esta; en el cual el análisis, diseño y administración de sistemas es más que necesario dado que es la base de estudios. Los resultados arrojados por el análisis de diferentes herramientas previo al desarrollo de este trabajo, demostraron que hay un amplio número de propuestas aplicables a uno o varios procesos propios del posgrado pero el costo de este tipo de herramientas es elevad, agregando que no solo es el realizar la compra del producto si no también es necesario adquirir cursos de introducción al manejo de la herramienta los cuales tienen un costo extra. Muchas veces los directivos y/o administrativos encargados del análisis de estas herramientas no realizan una comparación de costo beneficio al momento de tomar la decisión de adquirir o desarrollar un producto, simplemente toman la opción que consideran más rápida para poder comenzar a trabajar, tema del cual este trabajo hace mención, no simplemente es comprar por comprar ni desarrollar por que se tiene el equipo de desarrollo, se deben tomar en cuenta aspectos que a la larga se verán reflejados tanto económica como eficientemente. Se tomaron en cuenta varios puntos de vista para la realización de este trabajo, desde implementar una aplicación de escritorio multiusuario, hasta llegar a la opción que se toma como idea principal y que se cree es la mejor, la cual es realizar un sistema web, basado en las nuevas tecnologías HTM5, Ajax, Jquery, etc. con un BackEnd en PHP orientado a objetos para facilitar el orden de la aplicación, utilizando como motor de base de datos Mysql que es una herramienta ligera pero robusta. La ventaja de tomar estas herramientas como base para el desarrollo es la facilidad de configuración para dispositivos móviles que el sistema 74

80 tendrá actualmente y la fácil adaptación en un futuro a los cambios que se puedan presentar en la forma de programación. El Software Libre tiene muchos beneficios, como pueden ser independencia tecnológica con respecto a un único fabricante, seguridad, estabilidad, etc. Hay que conocer la disponibilidad del personal capacitado en la tecnología que vayamos a utilizar, en el caso del sector educativo, resulta fácil realizar una migración, hay que proporcionar a los alumnos de los conocimientos para utilizar un procesador de textos o una hoja de cálculo. No hay que enseñar a manejar los programas de una determinada compañía, sino enseñar las posibilidades que presentan este tipo de programas en general (formularios, macros, tablas, etc.). El desarrollo de este trabajo me aporto mucho como profesionista, no obstante de tener conocimiento sobre algunas tecnologías y metodologías que en este se plantean, me ayudo a comprender más a fondo algunos puntos que no tenía bien en claro, como son las métricas para obtener la comparativa y analizar si es viable o no migrar de una plataforma con licenciamiento propietario a una plataforma de software libre o simplemente que es lo más adecuado, optar por una herramienta existente o desarrollar una que se ajuste a las necesidades. Derivado de lo anterior llegue a la conclusión que muchas veces se tiene una cultura de desinformación, ya que observando lo que la misma Universidad Veracruzana está desarrollando se puede observar que el fomento que se le da al software libre es muy poco, por no decir nulo, pero tomando casos de compañeros que en este momento están optando por hacer trabajaos en estas plataformas, además del empuje que se le está dando a esta tecnología mediante el lanzamiento de dispositivos móviles con sistemas operativos y aplicaciones de software libre, me inclino a pensar que posiblemente en poco tiempo, estaremos viendo más sistemas y desarrolladores abiertos a nuevas tecnologías dentro de nuestra casa de estudios. 75

81 FUENTES DE INFORMACIÓN AlegsaOnline Clasificación de los lenguajes de programación (2006) Ferrer Martínez, Juan (2012) Aplicaciones Web (Capitulo 1 Introducción a las Aplicaciones Web), Editorial RA-MA Free Software Foundation (FSF) (2012), Categories of Free and Non-Free Software - GNU Project Gobierno de Ecuador, Subsecretaria de Tecnologías de la Información (2010) Costo total de la solución, Gutiérrez Gallardo, Juan Diego (2009) MYSQL 5.1, Primera Edición, Editorial ANAYA. JACOBSON; BOOCH; RUMBAUGH (1999). UML - El Lenguaje Unificado de Modelado. Pearson Addisson-Wesley. Rational Software Corporation, Addison Wesley Iberoamericana. Johnson, Jeff, GUI Bloopers 2.0 (Common User Interface Design Don'ts and Dos)2nd Edition, Morgan Kaufmann Ken Arnold y James Gosling (1997). Addison-Wesley/Domo."El lenguaje de Programación Java". Wesley Iberoamericana Mandar Chitnis, PravinTiwari, & Lakshmi Ananthamurthy (2010) UML Tools General Books LLC Morgan,Mike (1999). "Descubre Java 1.2". Prentice Hall Oracle (2012), requerimientos para trabajar con Java JDK y JRE, 76

82 PRESSMAN, Roger. S. (2005). Ingeniería del Software, un Enfoque Práctico. Quita Edición. España: McGraw-Hill Interamericana, S.A. Rico Ramírez, Vicente (2011) Paradigmas de programación, Instituto Tecnológico de Celaya, Salinas Caro, Patricio & Histchfeld K., Nancy, introducción a UML, Universidad de Chile, Schwabe, D., Rossi, G. (1998) An Object Oriented Approach to Web-Based Simon Garcia, Carlos (2010), mi Base de Datos Sommerville, Ian Ingeniería de Software Sexta Edición (Capítulo 16 Diseño deinterfaces de Usuario), Addison-Wesley Stallman, Richard (2004) Software libre para una sociedad libre, Madrid,Editorial Traficantes de Sueños. Stallman, Richard (2012), Entrevista a Richard Stallman en Argentina, Canal 7, Universidad Veracruzana (2012), transparencia solicitud folio: 128/2012, Välimäki, Mikko (2005).The rise of Open Source Licensing, Editorial Turre Wiley and Sons (1998)Application Design. Theory and Practice of Object Systems 4(4), 77

83 ANEXO I

84 Manual de configuración de un ambiente AMP (Apache- MySQL-PHP) en plataformas Linux y Windows para ejecutar la aplicación SIECT 79

85 Introducción El objetivo de este manual es explicar la configuración del ambiente en el cual correrá la aplicación SIECT, se detallan los pasos para la correcta configuración del servidor web, el servidor de base de datos y el traductor php, para poder utilizar páginas con contenido dinámico, como es el caso de esta aplicación. Posteriormente se enuncian los pasos a seguir para importar la base de datos que ya se tiene maquetada utilizando la ingeniería inversa con lo cual se podrá migrar fácilmente de un equipo a otro, en caso de ser necesario. Este manual está dirigido al personal técnico encargado de instalar, configurar y administrar el ambiente en el que trabajara la aplicación SIECT; por tanto se asume que el lector está familiarizado con conceptos básicos de la administración bajo los sistemas operativos: Linux y Windows. Requerimientos del sistema Requerimientos de software y hardware. Para poder configurar el ambiente donde se ejecutará la aplicación es necesario contar con la siguiente combinación de software y hardware: Conexión a internet. Distribución de Linux (la aplicación se ha probado en las distribuciones Debian squeeze y Ubuntu 11.04). Computadora con acceso a internet o red local en caso que el servidor sea solo para intranet. Navegador web ( preferentemente Chrome 18+, debido a que los demás navegadores todavía no trabajan bien con html5) PHP 5 MySQL 5 Apache 2 80

86 Configuración de ambiente AMP en Linux Instalar software En este documento se explicará cómo instalar un servidor web Apache 2 con soporte para PHP 5 y MySQL en una computadora con Ubuntu o Debian Squeeze. Lo primero que debe hacer será aumentar los privilegios del usuario a root: $ su Instalar MySQL 5 Para instalar MySQL 5 lo único que se necesita es escribir en la terminal el siguiente comando: # apt-get install mysql-server mysql-client Llegará un momento en que la terminal pedirá una contraseña para el usuario root de MySQL: Nueva contraseña para el usuario root de MySQL : PASSWORD Vuelva a introducir la contraseña para el usuario root de MySQL: PASSWORD Una vez concluido este paso se habrá instalado MySQL en el servidor. Instalar Apache 2 Lo único que se necesita para instalar Apache 2 siguiente instrucción: es ejecutar la # apt-get install apache2 Una vez terminada la instalación, es importante verificar que todo resultó adecuadamente, para comprobarlo es necesario ingresar en el navegador a la 81

87 siguiente dirección: o desde cualquier máquina de la red local ingresar la IP del equipo donde se encuentra montando el servidor (Por ejemplo: ). Si todo resulto correctamente, se deberá mostrar en el navegador la siguiente página web. Figura 1. Servidor apache corriendo. Los siguientes directorios pertenecen a Apache 2: En este directorio se encuentra toda la documentación por defecto de Apache2 /var/www Archivo de configuración Apache 2: /etc/apache2/apache2.conf Configuración adicional en este directorio: /etc/apache2 Para los módulos de apache2: /etc/apache2/mods-enabled 82

88 Hosts virtuales dentro de apache2 /etc/apache2/sites-enabled Instalar PHP 5 Para instalar PHP 5 y sus módulos es necesario ingresar el siguiente comando: # apt-get install php5 libapache2-mod-php5 Luego de la instalación debemos reiniciar nuestro servidor apache2: # /etc/init.d/apache2 restart Probamos PHP 5 para ver que todo funcione correctamente, creamos un documento que se podría llamar info.php dentro de /var/www con el siguiente código: <?php phpinfo();?> En el navegador entrar a la dirección si todo resultó bien se podrá ver una imagen como en la figura 2 83

89 Figura 2. Información de PHP Para buscar el soporte de MySQL en PHP 5 ingresar el siguiente comando: # apt-get install php5-mysql Después reiniciamos el servidor Apache 2: # /etc/init.d/apache2 restart Ahora es necesario instalar phpmyadmin para poder manipular la base de datos que contendrá la información del sistema # apt-get install phpmyadmin Seleccionamos nuestro servidor Apache2 (figura 3): 84

90 Figura 3. Instalar phpmyadmin Aquí marcamos la opción No como se muestra en la figura 4: Figura 4. Configurar phpmyadmin Al terminar de instalar phpmyadmin deberá ingresar a para comprobar que puede ingresar correctamente, si mandará un mensaje de Not Found simplemente deberá crear un link al directorio de phpmyadmin # cd /var/www # ln -s /usr/share/phpmyadmin. # /etc/init.d/apache2 restart 85

91 Figura 5. Acceso a phpmyadmin Una vez concluido los pasos anteriormente descritos en este manual, se habrá terminado de instalar y configurar el ambiente sobre el cual se ejecutará SIECT. Importar base de datos Para poder importar la base de datos es necesario contar con el archivo.sql que contiene todas las sentencias en SQL que permitirán crear la base de datos y las tablas necesarias para el manejo de la información que utilizará el sistema SIECT. Primero deberá entrar a y entrar con su usuario y contraseña, después aparecerá la consola de administración de phpmyadmin como en la figura 6, a continuación presionar la opción Importar marcado en rojo. 86

92 Figura 6. Consola de administración phpmyadmin Una vez que ingresó a la opción de importar, se debe seleccionar el archivo a importar (.SQL) y oprimir el botón continuar para que se pueda crear la base de datos que se importó, si todo resultó correctamente aparecerá un mensaje como en la figura 7. Figura 7. Importar archivo SQL Crear usuario Después de importar la base de datos es importante crear el usuario que podrá manipular la información, ya que sin un usuario no podremos acceder a la base de datos y por consecuencia no tendremos acceso a SIECT. Para crear un usuario deberá ingresar a la opción de SQL que se encuentra en el ménu de phpmyadmin y en el recuadro blanco ingresar la siguiente sentencia: GRANT USAGE ON siect.* to localhost IDENTIFIED BY PASSWORD; 87

93 Si se ejecutó todo correctamente aparecerá un mensaje de éxito como se muestra en la figura 8. Figura 8. Crear usuario en phpmyadmin Asignar permisos Al crear el usuario no por defecto no se le agrega ningún permiso (insertar, crear, seleccionar etc.) por tal motivo es necesario los permisos para que pueda hacer modificaciones a la base de datos, para asignarle los permisos ingresar el siguiente comando: GRANT ALL PRIVILEGES ON siect.* to localhost IDENTIFIED BY PASSWORD; Si no hubo ningún problema al asignar los permisos phpmyadmin enviará un mensaje de éxito como en la figura 9: 88

94 Figura 9. Asignar permisos en phpmyadmin Crear directorio para SIECT Al finalizar todos los pasos descritos anteriormente, se ha creado y configurado el ambiente en el cual se ejecutará el sistema, por último es obligatorio subir la carpeta con todos los archivos que utiliza el sistema al servidor para que pueda ser visto desde el navegador de internet, esto se puede hacer desde un medio extraible (memoria usb, cd, dvd, entre otros) o por medio de un cliente ftp (previamente configurado en el servidor). Es importante que se copie la carpeta SIECT al directorio /var/www, para realizar esto #cp SIECT /var/www/ Posteriormente ingresar a para comprobar que el sistema ya esta disponible desde la red. Si no hubo ningún problema se mostrará en pantalla la Figura

95 Figura 10. Página principal SIECT Con este conjunto de pasos que se siguierón, se configuró el ambiente en un servidor Linux en donde se alojará la aplicación SIECT y ahora está listo para poder ser accesado de la(s) ubicación(es) que sean permitidas. 90

96 Configuración de ambiente AMP en Windows En este manual se mostraran los pasos a seguir para realizar la configuración del ambiente AMP en una maquina con Windows, en caso de que el servidor que se vaya a utilizar tenga instalado este sistema operativo. A continuación se realizara la instalación de un paquete con las herramientas necesarias, que resulta más sencillo para usuarios poco avanzados o que comiencen a utilizar este tipo de ambientes de administración web. Una vez descargado el paquete XAMPP desde su página web (http://www.apachefriends.org/en/xampp-windows.html) se ejecuta el instalador, el cual solicita elegir el idioma de instalación Figura 11. Figura 11. Seleccionar lenguaje XAMPP Para continuar con la instalación deberemos seguir los pasos que a continuación se muestran: 91

97 Figura 12. Bienvenida a la instalación de XAMPP Después de dar clic en siguiente (Figura12), se mostraran las herramientas que se pueden elegir para ser instaladas (Figura13). 92

98 Figura 13. Componentes a instalar Seleccionar todos los componentes y dar clic en siguiente. Se debe elegir la ruta donde será instalado el paquete por default es C:\xampp (Figura 14), si se quiere cambiar la ruta de instalación queda a consideración del administrador. 93

99 Figura 14. Ruta de instalación del producto. Una vez elegida la ruta de instalación se procede a instalar dando clic en el botón install (Figura 14), comenzara el proceso de instalación y una vez terminado mostrara el mensaje que se terminó la instalación correctamente y habrá que dar clic en el botón finish, que se muestra en la siguiente ventana (Figura 15). Figura 15. Conclusión de la instalación XAMPP. Una vez concluida la instalación mostrara un mensaje en el cual se pregunta si desea ejecutar el administrador de XAMPP en este momento, dar clic en si (Figura 16) 94

100 Figura 16. Ejecutar panel de control Cuando se ejecuta el panel de control de la herramienta muestra todos los componentes que se pueden administrar con esta, subrayados en verde si es que se encuentran corriendo y del lado izquierdo una cruz o una palomita si es que el componente se encuentra instalado como servicio en la maquina (Figura 17) Figura 17 Panel de control XAMPP Si se desea ejecutar o detener un componente, desde el panel de control basta con dar clic en el botón correspondiente que se presenta en el área de Actions (Figura 17) y el componente cambiara de estar con un subrayado verde a gris o viceversa. 95

101 Importar base de datos Para poder importar la base de datos es necesario contar con el archivo.sql que contiene todas las sentencias en SQL que permitirán crear la base de datos y las tablas necesarias para el manejo de la información que utilizará el sistema SIECT. Primero deberá entrar a y entrar con su usuario y contraseña, después aparecerá la consola de administración de phpmyadmin como en la figura 6, a continuación presionar la opción Importar marcado en rojo. Figura 18. Consola de administración phpmyadmin Una vez que ingresó a la opción de importar, se debe seleccionar el archivo a importar (.SQL) y oprimir el botón continuar para que se pueda crear la base de datos que se importó, si todo resultó correctamente aparecerá un mensaje como en la figura 7. 96

102 Figura 19. Importar archivo SQL Crear usuario Después de importar la base de datos es importante crear el usuario que podrá manipular la información, ya que sin un usuario no podremos acceder a la base de datos y por consecuencia no tendremos acceso a SIECT. Para crear un usuario deberá ingresar a la opción de USERS que se encuentra en el ménu de phpmyadmin y seleccionar agregar usuario (add user) Figura 20 : Figura 20. Agregar usuario 97

103 Una ves seleccionado aparecera una ventana nueva en la cual hay que ingresar los datos solicitados ypara generar el usuario (Figura 21). Figura 21. Agregar usuario, datos del usuario Asignar permisos Al crear el usuario es necesario asignar los permisos que se requieren para que pueda hacer modificaciones a la base de datos, para asignarle los permisos se deben seleccionar las casillas que sean necesarias (Figura 22). 98

104 Figura 22. Crear usuario, privilegios del usuario Si no hubo ningún problema al asignar los permisos phpmyadmin enviará un mensaje de éxito como en la figura 23: Figura 23. Crear usuario, usuario creado Crear directorio para SIECT Al finalizar todos los pasos descritos anteriormente, se ha creado y configurado el ambiente en el cual se ejecutará el sistema, por último es obligatorio subir la carpeta con todos los archivos que utiliza el sistema al servidor para que pueda ser visto desde el navegador de internet, esto se puede hacer desde un medio extraible (memoria usb, cd, dvd, entre otros) o por medio de un cliente ftp (previamente configurado en el servidor). 99

105 Solo hay que dirigirse a la ruta donde se instaló el paquete XAMPP y entrar a la carpeta /htdocs y crear la carpeta del sistema SIECT y copiar el contenido de la carpeta fuente o pegar toda la carpeta fuente en esta ruta (Figura 24). Figura 24. Crear Carpeta del sistema Por ultimo una vez que la aplicación se encuentre cargada bastara entrar a un navegador y en la barra de direcciones dirigirse a la dirección Y nos mostrara la pantalla principal del sistema (Figura 25). 100

Software Libre. Software Libre. Coordinación de Estudios Interactivos a Distancia (CEIDIS), Mérida - Venezuela

Software Libre. Software Libre. Coordinación de Estudios Interactivos a Distancia (CEIDIS), Mérida - Venezuela Introducción. Entre los años 1960 y 1970, el software no era considerado un producto sino un añadido, que los vendedores de grandes computadores de la época (los mainframes) aportaban a sus clientes para

Más detalles

Ponente Dr. Gabriel Guerrero. 8 de Diciembre de 2014 Tecnológico de Estudios Superiores de Chalco TESCHA

Ponente Dr. Gabriel Guerrero. 8 de Diciembre de 2014 Tecnológico de Estudios Superiores de Chalco TESCHA Conferencia Magistral Paradigma por utilizar el software LIBRE respecto al software LICENCIADO en el marco de la productividad y/o riesgo de una empresa. 8 de Diciembre de 2014 Tecnológico de Estudios

Más detalles

Programación con PHP y MySql Instituto CBTech 5/14

Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 6/14 Qué es una aplicación web? Una aplicación web es un sistema informático que los usuarios utilizan accediendo

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web Gestión de Información Web Características deseables de CMS Arquitectura técnica: Tiene que ser fiable y permitir la escalabilidad del sistema para adecuarse a futuras necesidades con módulos o extensiones.

Más detalles

SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever

SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever SOFTWARE PROPIETARIO Salinas Güicho Diego Eduardo Obregón León Nancy Marever ÍNDICE* I. Software II. Estructura de Software III. Software propietario IV. Su historia V. Ventajas & Desventajas VI. Características

Más detalles

SESIÓN 1: Software Comercial

SESIÓN 1: Software Comercial SESIÓN 1: Software Comercial Objetivo: Identificar los diversos tipos de software comercial. MAPA DE LA SESIÓN: 1 INTRODUCCIÓN La era de la información ha traído consigo cambios en la manera de pensar

Más detalles

Licencias de software

Licencias de software Licencias de software [ETICA Y LEGISLACIÓN] Nombre Integrante(s): Ruben Chura. Oscar Apata Nombre Docente: Rodrigo Tapia Santis Fecha de entrega: Octubre de 2014. Índice Qué es una Licencia de Software?...

Más detalles

INFORME PREVIO DE EVALUACIÓN DE SOFTWARE N EI-007-2007

INFORME PREVIO DE EVALUACIÓN DE SOFTWARE N EI-007-2007 INFORME PREVIO DE EVALUACIÓN DE SOFTWARE N EI-007-2007 1. NOMBRE DEL ÁREA División de Sistemas de Información 2. RESPONSABLE DE LA EVALUACIÓN Luis Antonio Manya Aqquehua 3. CARGO Jefe de Sistemas de Información

Más detalles

El software nació libre y permaneció así durante su infancia. Sin embargo, con la llegada de la juventud, la situación cambió completamente.

El software nació libre y permaneció así durante su infancia. Sin embargo, con la llegada de la juventud, la situación cambió completamente. El software nació libre y permaneció así durante su infancia. Sin embargo, con la llegada de la juventud, la situación cambió completamente. Sólo ahora, al llegar a su madurez, está en vías de recuperar

Más detalles

Clase 01 El Sistema Operativo GNU/Linux

Clase 01 El Sistema Operativo GNU/Linux Clase 01 El Sistema Operativo GNU/Linux Introducción al Sistema Operativo GNU/Linux DCIC - UNS Copyright Copyright 2011 A. G. Stankevicius Se asegura la libertad para copiar, distribuir y modificar este

Más detalles

LINUX. GNU/Linux. Cuatro características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado:

LINUX. GNU/Linux. Cuatro características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado: LINUX GNU/Linux GNU/Linux es un sistema operativo de libre distribución, basado en el kernel Linux creado por Linus Torvalds y los desarrolladores del grupo GNU (Fundación para el software libre encabezada

Más detalles

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

APLICACIONES WEB GOOGLE ANAYLITICS

APLICACIONES WEB GOOGLE ANAYLITICS APLICACIONES WEB GOOGLE ANAYLITICS Elena Berti Rebecca Thompson 2º DAW ÍNDICE Qué es una Aplicación Web Consideraciones técnicas Estructura de las Aplicaciones Web Ventajas Inconvenientes Diferencia entre

Más detalles

CAPÍTULO 2. COMPARACIÓN DE LAS OPCIONES COMERCIALES DE SOFTWARE DE CÓDIGO CERRADO Y DEL SOFTWARE LIBRE EN EL MERCADO NACIONAL

CAPÍTULO 2. COMPARACIÓN DE LAS OPCIONES COMERCIALES DE SOFTWARE DE CÓDIGO CERRADO Y DEL SOFTWARE LIBRE EN EL MERCADO NACIONAL COMPARACIÓN DE LAS OPCIONES COMERCIALES DE SOFTWARE DE CÓDIGO CERRADO Y DEL SOFTWARE LIBRE EN EL MERCADO NACIONAL CAPÍTULO 2. COMPARACIÓN DE LAS OPCIONES COMERCIALES DE SOFTWARE DE CÓDIGO CERRADO Y DEL

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

Universidad Nacional de Santiago del Estero Escuela para la Innovación Educativa

Universidad Nacional de Santiago del Estero Escuela para la Innovación Educativa Asunto: Establece como política informática de la EIE la adopción del Software Libre y formatos estándares y abiertos para la gestión de la información. VISTO: La nota EIE Nº 2498/09 presentada por el

Más detalles

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada.

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Esquema Introducción... 2 Historia... 2 Suites... 2 Herramientas ofimáticas... 3 Tipos de programas ofimáticos:...

Más detalles

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIMEDIA DAM 350 HORAS Resultados de aprendizaje y criterios de evaluación 1. Identificar la estructura y organización

Más detalles

4.- Fundamentos del software

4.- Fundamentos del software 4.- Fundamentos del software Programación Sistemas operativos Software libre Linux Informática Aplicada al Trabajo Social. Curso 2005/06 4.1 Programación Problemas a resolver por una persona Ordenador

Más detalles

Curso de Administración de Servidores GNU/Linux

Curso de Administración de Servidores GNU/Linux Curso de Administración de Servidores GNU/Linux Centro de Formación Permanente Universidad de Sevilla Jorge Juan . Abril, 2014 Usted es libre de copiar, distribuir y comunicar públicamente

Más detalles

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web 2 SERVIDOR En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios.

Más detalles

SOFTWARE LIBRE. Introducción al Software Libre

SOFTWARE LIBRE. Introducción al Software Libre Introducción al Software Libre Índice del curso 1. Introducción... 3 INTRODUCCIÓN AL SOFTWARE LIBRE... 3 Definición de Software... 3 Definición de Sistema operativo... 4 QUÉ ES EL SOFTWARE LIBRE?... 4

Más detalles

ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB...

ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB... QUIVIR WEB EDITION ÍNDICE 1 LA NUEVA EDICIÓN DE QUIVIR...1 1.1 ENTORNO WEB...2 1.2 FIABILIDAD Y ROBUSTEZ...4 2 WEBFACING...6 3 MÁS VENTAJAS DEL USO DE LA EDICIÓN WEB...8 4 CONCLUSIONES FINALES...10 Página

Más detalles

Software Libre. Guillermo Valdés Lozano. 28 de noviembre de 2007

Software Libre. Guillermo Valdés Lozano. 28 de noviembre de 2007 28 de noviembre de 2007 Documento protegido por GFDL Copyright (c) 2008. e-mail: guillermo(en)movimientolibre.com http://www.movimientolibre.com/ Se otorga permiso para copiar, distribuir y/o modificar

Más detalles

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá Gestor de Contenidos CMS Que es un CMS? CMS son las siglas de Content Management System, que se traduce directamente al español como Sistema Gestor de Contenidos. Como su propio nombre indica, es un sistema

Más detalles

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com DISEÑO, DESARROLLO E IMPLANTACIÓN DE UNA APLICACIÓN WEB PARA LA AUTOMATIZACIÓN DE LA INFORMACIÓN DE LA IGLESIA EVANGÉLICA INDÍGENA ECUATORIANA DE LA ALIANZA CRISTIANA Y MISIONERA. Javier Velásquez Maldonado

Más detalles

Licencias en el Software Libre

Licencias en el Software Libre Introducción 1 1 Universidad del Quindío, Programa de Ingeniería Electrónica Flisol Armenia 2010. Contenido Introducción 1 Introducción El software libre 2 3 4 Contenido Introducción El software libre

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 3 Abril 2006 Índice 1. Generalidades... 3 1.1

Más detalles

1 Software Libre en México y en el Mundo

1 Software Libre en México y en el Mundo 1 Software Libre en México y en el Mundo En este Capítulo se desarrollara el tema del software libre, iniciando desde los principios básicos de que significa programar, hasta reflexiones del porque hay

Más detalles

Unidad V: Programación del lado del servidor

Unidad V: Programación del lado del servidor Unidad V: Programación del lado del servidor 5.1 Introducción al lenguaje La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante

Más detalles

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática)

Capítulo 5. Sistemas operativos. Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) Capítulo 5 Sistemas operativos Autor: Santiago Felici Fundamentos de Telemática (Ingeniería Telemática) 1 Sistemas operativos Definición de Sistema Operativo Partes de un Sistema Operativo Servicios proporcionados:

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

Curso de Android con Java

Curso de Android con Java Todos los Derechos Reservados Global Mentoring Experiencia y Conocimiento para tu Vida 1 Este es un tiempo único para el mundo de los celulares, en particular de los Smartphones. Este tipo de dispositivos

Más detalles

Fundamentos de software. Introducción a la Informática 2010-2011

Fundamentos de software. Introducción a la Informática 2010-2011 Fundamentos de software Introducción a la Informática 2010-2011 Objetivos Describir las 3 categorías principales de software y su relación Explicar la correspondencia entre algoritmos y programas Discutir

Más detalles

Derechos de Autor del Software

Derechos de Autor del Software 16 de diciembre de 2005 Juliana Davila Daniel Valencia David Cuadrado 1 Contenidos 2 Que son los derechos de autor? Un poco de historia 3 Derechos patrimoniales Derechos morales sobre los programas de

Más detalles

Software, qué es? Clasificación. Tipos de software Freeware Firmware Shareware Release. Software por área. Propiedades y versiones

Software, qué es? Clasificación. Tipos de software Freeware Firmware Shareware Release. Software por área. Propiedades y versiones Colegio Bosque Del Plata Tecnología de la Información y las Comunicaciones UNIDAD 6 E-mail: garcia.fernando.j@gmail.com Profesor: Fernando J. Garcia Ingeniero en Sistemas de Información, qué es? Clasificación.

Más detalles

Software y Aplicaciones

Software y Aplicaciones Software y Aplicaciones 1. Consejo de Seguridad Informática ST04-006 Saber qué son los Parches Cuando los proveedores advierten vulnerabilidades en sus productos, a menudo largan parches para solucionar

Más detalles

INSTITUTO TECNOLOGICO DE TUXTEPEC Departamento de Sistemas y Computación

INSTITUTO TECNOLOGICO DE TUXTEPEC Departamento de Sistemas y Computación Carrera Ingeniería en sistemas computacionales Plan de estudios 2009-2010 Clave de la materia TIB-1025 Nombre de la materia Programación web Semestre Gpo. Periodo 8 A Ene/Jun 2015 Practica No. Laboratorio

Más detalles

Proyecto de Ética y Legislación

Proyecto de Ética y Legislación Proyecto de Ética y Legislación Tipos de Software Autor: Carlos Aica Vergara Profesor: Rodrigo Tapia Santis Fecha: 24 de Octubre 2014 Introducción Durante mucho tiempo hemos visto el progreso de la tecnología

Más detalles

OMPI y la protección de los derechos de autor en la Sociedad de la Información. Programas informáticos de código abierto/ Programas libres.

OMPI y la protección de los derechos de autor en la Sociedad de la Información. Programas informáticos de código abierto/ Programas libres. OMPI y la protección de los derechos de autor en la Sociedad de la Información. Programas informáticos de código abierto/ Programas libres. La OMPI considera que la protección eficaz y equilibrada de los

Más detalles

Proyecto de implantación de una oficina virtual de atención al ciudadano en el Ayuntamiento de Baza

Proyecto de implantación de una oficina virtual de atención al ciudadano en el Ayuntamiento de Baza Concurso abierto Marzo 2005 Contrato de Consultoría y Asistencia para el diseño del Servicio de Atención Ciudadana (SAC) del Ayuntamiento Proyecto de implantación de una oficina virtual de atención al

Más detalles

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS Resultados de aprendizaje y criterios de evaluación. 1. Identificar la estructura y organización

Más detalles

Aspectos legales del software

Aspectos legales del software Aspectos legales del software Francisco Palomo Lozano Departamento de Lenguajes y Sistemas Informáticos Noviembre 2009 Índice Marco jurídico en España 1 Marco jurídico en España 2 Derecho de la propiedad

Más detalles

TRABAJO DE GRADO PROYECTO PROGRAMA BASE DE DATOS SITUACION ACADEMICA DE LOS ESTUDIANTES DE LA FACULTAD DE CIENCIAS DE LA SALUD UNIVERSIDAD DE LA SALLE

TRABAJO DE GRADO PROYECTO PROGRAMA BASE DE DATOS SITUACION ACADEMICA DE LOS ESTUDIANTES DE LA FACULTAD DE CIENCIAS DE LA SALUD UNIVERSIDAD DE LA SALLE TRABAJO DE GRADO PROYECTO PROGRAMA BASE DE DATOS SITUACION ACADEMICA DE LOS ESTUDIANTES DE LA FACULTAD DE CIENCIAS DE LA SALUD UNIVERSIDAD DE LA SALLE DIRIGIDO POR: Dr. EDGAR LEGUIZAMON TRABAJO ELABORADO

Más detalles

Taller de sistemas operativos. Software Propietario

Taller de sistemas operativos. Software Propietario Taller de sistemas operativos Software Propietario Contenido Historia del Software Propietario Microsoft Ventajas y Desventajas Mitos y Realidades Futuro de Microsoft Internet Palladium Poder Político

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

UF1302 Creación de páginas web con lenguajes de marcas

UF1302 Creación de páginas web con lenguajes de marcas UF1302 Creación de páginas web con lenguajes de marcas TEMA 1. Los lenguajes de marcas TEMA 2. Imágenes y elementos multimedia TEMA 3. Técnicas de accesibilidad y usabilidad TEMA 4. Herramientas de edición

Más detalles

Unidad 4: Software Libre. Aspectos Profesionales UNPA-UARG

Unidad 4: Software Libre. Aspectos Profesionales UNPA-UARG Unidad 4: Software Libre Aspectos Profesionales UNPA-UARG Introducción al Software Libre Qué es el software libre? Historia del software libre Libertades del software libre Aspectos Profesionales UNPA-UARG

Más detalles

Universitat Oberta de Catalunya

Universitat Oberta de Catalunya Universitat Oberta de Catalunya Máster Internacional en Software Libre Administración de web y de comercio electrónico en entornos de Héctor Murrieta Sangabriel Proyecto Web, PEC3 Sistema de Control de

Más detalles

Asuntos legales y profesionales INTRODUCCIÓN A LA INGENIERÍA DE SISTEMAS

Asuntos legales y profesionales INTRODUCCIÓN A LA INGENIERÍA DE SISTEMAS Asuntos legales y profesionales INTRODUCCIÓN A LA INGENIERÍA DE SISTEMAS Aspectos Profesionales Por qué se deben tener en cuenta los aspectos profesionales, en el contexto social de la informática? 1.

Más detalles

Desarrollo Web para tu empresa.

Desarrollo Web para tu empresa. Decálogo de ventajas del Software Libre para la empresa. Desarrollo Web para tu empresa. Ander Novales Israel Sanchez ander@irekisoft.net israel@irekisoft.net 30/09/2010 Software libre NO es lo mismo que

Más detalles

Un nuevo paradigma. Mario Medina C.

Un nuevo paradigma. Mario Medina C. Un nuevo paradigma Mario Medina C. mariomedina@udec.cl Tópicos a tratar Software libre UNIX y su cultura Richard Stallman y la Free Software Foundation Filosofíay éi ética dlh del hacker Bill Gates y Microsoft

Más detalles

DIEZ RAZONES PRINCIPALES PARA MIGRAR A LINUX

DIEZ RAZONES PRINCIPALES PARA MIGRAR A LINUX DIEZ RAZONES PRINCIPALES PARA MIGRAR A LINUX Cambiar el sistema operativo de los equipos de escritorio de su empresa u organización es un reto importante. Pero Linux tiene importantes ventajas sobre el

Más detalles

Por qué utilizar software libre en las organizaciones y movimientos sociales centroamericanos?

Por qué utilizar software libre en las organizaciones y movimientos sociales centroamericanos? Por qué utilizar software libre en las organizaciones y movimientos sociales centroamericanos? Elaborado por: Lizeth Ramírez Camacho (con la retroalimentación del Equipo de trabajo de ) Diciembre, 2009

Más detalles

Boletín de Asesoría Gerencial*

Boletín de Asesoría Gerencial* Espiñeira, Sheldon y Asociados * No. 7-2008 *connectedthinking Contenido Haga click en los enlaces para navegar a través del documento Haga click en los enlaces para llegar directamente a cada sección

Más detalles

Tendencias actuales para el desarrollo de software a la medida

Tendencias actuales para el desarrollo de software a la medida Herramientas informáticas Tendencias actuales para el desarrollo de software a la medida Dora Alicia Reyes Echeagaray En el desarrollo de software es importante evaluar periódicamente si la metodología

Más detalles

FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA. Tema: LinEx

FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA. Tema: LinEx FACULTAD DE CIENCIAS EXACTAS Y NATURALES Y AGRIMENSURA Cátedra: Sistemas Operativos Tema: LinEx Universidad Nacional del Nordeste - Año 2003 - Alumna: Rodriguez Gomez,, Gisela L.U: : 32395 Trabajo final

Más detalles

Unicenter Asset Management versión 4.0

Unicenter Asset Management versión 4.0 D A T A S H E E T Unicenter Asset Management versión 4.0 Unicenter Asset Management es una completa solución para gestionar los activos TI de su entorno empresarial de forma activa. Proporciona funciones

Más detalles

Contrato de Consultoría y Asistencia para el diseño del Servicio de Atención Ciudadana (SAC) del Ayuntamiento

Contrato de Consultoría y Asistencia para el diseño del Servicio de Atención Ciudadana (SAC) del Ayuntamiento Concurso abierto Marzo 2005 Contrato de Consultoría y Asistencia para el diseño del Servicio de Atención Ciudadana (SAC) del Ayuntamiento PROYECTO CONSULTORÍA Y ASISTENCIA TÉCNICA PARA LA CONEXIÓN DE LA

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

TIPOS DE LICENCIAS DE SOFTWARE. Definiciones. Ramón M. Gómez Labrador (ramongomez@us.es) 1ª versión septiembre de 2005

TIPOS DE LICENCIAS DE SOFTWARE. Definiciones. Ramón M. Gómez Labrador (ramongomez@us.es) 1ª versión septiembre de 2005 TIPOS DE LICENCIAS DE SOFTWARE Ramón M. Gómez Labrador (ramongomez@us.es) 1ª versión septiembre de 2005 Definiciones. Licencia: contrato entre el desarrollador de un software sometido a propiedad intelectual

Más detalles

Universidad de Sonora. Alumno: Erick Alonso Castro Navarro. Empresa: SIEP (Sistema Estatal Penitenciario) Proyecto:

Universidad de Sonora. Alumno: Erick Alonso Castro Navarro. Empresa: SIEP (Sistema Estatal Penitenciario) Proyecto: Universidad de Sonora Alumno: Erick Alonso Castro Navarro Empresa: SIEP (Sistema Estatal Penitenciario) Proyecto: Portal intranet para la administración de archivos y servicio de soporte en línea. Índice.

Más detalles

Kra 2E # 5-55 B/ Los Lagos Pitalito Huila (Colombia)

Kra 2E # 5-55 B/ Los Lagos Pitalito Huila (Colombia) KoffeeSoft, es una empresa Laboyana, creada el 28 de Marzo de 2012 con 2 años de acreditación, seria, moderna, con excelente recurso humano capacitado por reconocidas instituciones a nivel nacional. KoffeeSoft

Más detalles

1. Capítulo 1: Herramientas de Software para el sistema

1. Capítulo 1: Herramientas de Software para el sistema 1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios

Más detalles

Coordinación de los Diplomados

Coordinación de los Diplomados Introducción La Facultad de Matemáticas, de acuerdo a su misión de "formar profesionistas altamente capacitados, desarrollar investigación y realizar actividades de extensión en matemáticas y computación,

Más detalles

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB]

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Gobierno Municipal del Cantón Bolívar. SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Visión Universidad Técnica del Norte Histórico de Revisiones

Más detalles

INFORME TECNICO PARA LA ADQUISICIÓN DE LICENCIAS SOFTWARE OFIMÁTICO

INFORME TECNICO PARA LA ADQUISICIÓN DE LICENCIAS SOFTWARE OFIMÁTICO INFORME TECNICO PARA LA ADQUISICIÓN DE LICENCIAS SOFTWARE OFIMÁTICO 1.- Nombre del Área: El área encargada de la evaluación técnica para la adquisición de licencias de software ofimático es la oficina

Más detalles

Clase 05 Por qué migrar a software libre?

Clase 05 Por qué migrar a software libre? Clase 05 Por qué migrar a software libre? Introducción al Sistema Operativo GNU/Linux DCIC - UNS Copyright Copyright 2011 A. G. Stankevicius Se asegura la libertad para copiar, distribuir y modificar este

Más detalles

Es el conjunto de programas concebidos o creados para atender trabajos específicos del usuario, referidos al cumplimiento de sus diversos objetivos.

Es el conjunto de programas concebidos o creados para atender trabajos específicos del usuario, referidos al cumplimiento de sus diversos objetivos. COMPUTO I UASF Es el conjunto de programas concebidos o creados para atender trabajos específicos del usuario, referidos al cumplimiento de sus diversos objetivos. Este software está diseñado y escrito

Más detalles

Simulador de Protocolos de Red a tráves de WEB

Simulador de Protocolos de Red a tráves de WEB Simulador de Protocolos de Red a tráves de WEB Propuesta de Estudio 20071608 Director Ing. Francisco Antonio Polanco Montelongo Resumen Introducción Actualmente, el desarrollo tecnológico a alcanzado niveles

Más detalles

Qué es un ERP? Qué es un CRM? Entonces, qué es Dolibarr?

Qué es un ERP? Qué es un CRM? Entonces, qué es Dolibarr? Qué es un ERP? Los sistemas de planificación de recursos de la empresa (en inglés ERP, enterprise resource planning) son sistemas de gestión de información que integran y automatizan muchas de las prácticas

Más detalles

Introducción a WebMathematica

Introducción a WebMathematica Introducción a WebMathematica WebMathematica es una nueva tecnología que permite la generación de contenido web dinámico con Mathematica. Se integra en Mathematica a través de un servidor web. WebMathematica

Más detalles

USO DE SOFTWARE LIBRE, UNA EXPERIENCIA EXITOSA. Sonia Muñoz Chacón Jefe División Informática

USO DE SOFTWARE LIBRE, UNA EXPERIENCIA EXITOSA. Sonia Muñoz Chacón Jefe División Informática USO DE SOFTWARE LIBRE, UNA EXPERIENCIA EXITOSA Sonia Muñoz Chacón Jefe División Informática I. QUÉ ES LA FSF? Es la sigla utilizada para referenciar a la Fundación del Software Libre (Free Software Foundation).

Más detalles

VISIÓN GENERAL HERRAMIENTAS COMERCIALES

VISIÓN GENERAL HERRAMIENTAS COMERCIALES VISIÓN GENERAL El servidor de MS SQL se ha convertido en un estándar en muchas partes de la América corporativa. Puede manejar volúmenes de datos grandes y se integra bien con otros productos de Microsoft.

Más detalles

Una mejora continua. Empezando con el Proyecto... Sencillez. Gestión de Menfis 8 más ágil

Una mejora continua. Empezando con el Proyecto... Sencillez. Gestión de Menfis 8 más ágil Una mejora continua El mundo laboral es cada vez más exigente en cuanto a medios y resultados. En Professional Software hemos hecho nuestra esa exigencia y por eso, porque compartimos el mismo objetivo,

Más detalles

Internet Servicios WEB (WWW)

Internet Servicios WEB (WWW) Universidad de Cantabria Internet Servicios WEB (WWW) Arquitectura de Aplicaciones WEB Febrero-2006 Ricardo Sáez Marta Zorrilla Internet- Arquitectura aplicaciones 1 Cliente/Servidor & Intranet/Internet

Más detalles

FACTOR IMPORTANTE A CONSIDAR: DERECHOS DE AUTOR NO CONFUNDIR CON GRATIS, EXISTE SOFTWARE GRATIS SIN SER LIBRE. EXISTE SOFTWARE LIBRE SIN SER GRATIS

FACTOR IMPORTANTE A CONSIDAR: DERECHOS DE AUTOR NO CONFUNDIR CON GRATIS, EXISTE SOFTWARE GRATIS SIN SER LIBRE. EXISTE SOFTWARE LIBRE SIN SER GRATIS L1. DEFINICIÓN SOFTWARE LIBRE DEL INGLÉS FREE SOURCE FACTOR IMPORTANTE A CONSIDAR: DERECHOS DE AUTOR NO CONFUNDIR CON GRATIS, EXISTE SOFTWARE GRATIS SIN SER LIBRE. EXISTE SOFTWARE LIBRE SIN SER GRATIS

Más detalles

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas

Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Memoria resumen del Proyecto de Innovación Docente (PID) Ref.: 52B (periodo 2009-2011) Sistema de aprendizaje por refuerzo para la mejora del rendimiento del alumno en prácticas Investigador Principal:

Más detalles

Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo

Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo... 1 1. Los ejes alrededor de un diseño interactivo... 2 2. Los problemas de Adobe Flash...

Más detalles

Con la interacción de tus empleados mejorará la productividad de tu negocio

Con la interacción de tus empleados mejorará la productividad de tu negocio 1. Introducción Con la interacción de tus empleados mejorará la productividad de tu negocio Los empleados de cualquier compañía precisan numerosos accesos en su trabajo diario, además de interaccionar

Más detalles

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente En este capítulo definimos los requisitos del modelo para un sistema centrado en la mejora de la calidad del código fuente.

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas Ponentes: ---- angel.cifuentes2@carm.es CENTRO REGIONAL DE ESTADÍSTICA DE MURCIA - CREM Resumen: Sistema Informático denominado GATOCREM permite una gestión automatizada de todas las tareas estadísticas

Más detalles

Importancia y aplicaciones del Software Libre para el mundo asociativo Qué es el Software? El software y la gastronomía... Un programa es una "manera ordenada de hacer algo", es decir, una receta: Receta

Más detalles

Cien por Ciento Market Research

Cien por Ciento Market Research Percepción del uso de Software Libre en el Sector Público de México Abril 2009 La Asociación Mexicana Empresarial de Software Libre, A. C. AMESOL y la revista Política Digital promovieron la realización

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

Servicios de accesibilidad Web

Servicios de accesibilidad Web experiencias reales, soluciones reales Servicios de accesibilidad Web Ref.: SER_ACC_V3_julio_ 2009 w w w. o b s e r v a l i a. c o m Índice 1. Introducción a la accesibilidad [ 3] 2. Auditorías de accesibilidad

Más detalles

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA EL SERVICIO DE CREACIÓN DE MAPA DE CONOCIMIENTO DE LA UNIVERSIDAD DE GRANADA Expte. EXCEL. CEI 04/11 1. OBJETO DEL CONTRATO Actualmente, la información presentada

Más detalles

TIC s Módulo introductorio

TIC s Módulo introductorio TIC s Módulo introductorio PDF Portable Document Format o Formato de documento portable El PDF de las siglas en inglés Portable Document Format, en español Formato de documento portable, es un formato

Más detalles

Evaluación de entornos integrados de desarrollo 1. Funciones de un entorno de desarrollo

Evaluación de entornos integrados de desarrollo 1. Funciones de un entorno de desarrollo Tema 3 Evaluación de entornos integrados de desarrollo 1. Funciones de un entorno de desarrollo Un entorno de desarrollo integrado (en inglés integrated development environment o IDE) es un programa informático

Más detalles

Unidad 5. Software libre: un poco de historia Ejercicios de autoevaluación

Unidad 5. Software libre: un poco de historia Ejercicios de autoevaluación Unidad 5. Software libre: un poco de historia Ejercicios de autoevaluación Verdadero o falso 1. En los inicios, el software se distribuía junto con su código fuente y prácticamente sin ningura restricción.

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

RECOMENDACIONES PARA EL DESARROLLO DE UNA POLÍTICA DE SOFTWARE LIBRE

RECOMENDACIONES PARA EL DESARROLLO DE UNA POLÍTICA DE SOFTWARE LIBRE CENTRO DE EXCELENCIA DE SOFTWARE LIBRE DE CASTILLA-LA MANCHA JUNTA DE COMUNIDADES DE CASTILLA LA MANCHA. RECOMENDACIONES PARA EL DESARROLLO DE UNA POLÍTICA DE SOFTWARE LIBRE Autor del documento: Centro

Más detalles

CAPITULO III.- SELECCIÓN DE PLATAFORMA Y ENTORNO DE DESARROLLO

CAPITULO III.- SELECCIÓN DE PLATAFORMA Y ENTORNO DE DESARROLLO CAPITULO III.- SELECCIÓN DE PLATAFORMA Y ENTORNO DE DESARROLLO 1. GENERALIDADES En el presente capítulo se tratará la determinación de los requerimientos de software que se necesitan para el sistema; para

Más detalles

Importancia del software libre en el área de las necesidades especiales

Importancia del software libre en el área de las necesidades especiales Importancia del software libre en el área de las necesidades especiales Distribuido bajo licencia CC 1 Antonio Sacco 2 Revisaremos en este artículo varias cuestiones que ponen de relieve la importancia

Más detalles

Introducción a PTC Windchill. Cómo puede ayudar PTC a gestionar mejor el contenido del producto

Introducción a PTC Windchill. Cómo puede ayudar PTC a gestionar mejor el contenido del producto Introducción a PTC Windchill Introducción a PTC Windchill Cómo puede ayudar PTC a gestionar mejor el contenido del producto Página: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 En los actuales entornos de

Más detalles

Estándares Web: XHTML y CSS - Usabilidad - Accesibilidad. Desarrollo de Sitios Web de Calidad, Usables, Seguros, Válidos y Accesibles

Estándares Web: XHTML y CSS - Usabilidad - Accesibilidad. Desarrollo de Sitios Web de Calidad, Usables, Seguros, Válidos y Accesibles Estándares Web: XHTML y CSS - Usabilidad - Accesibilidad Desarrollo de Sitios Web de Calidad, Usables, Seguros, Válidos y Accesibles Versión actualizada en http://www.usabilidadweb.com.ar/cursos_esp.php

Más detalles