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 ( 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

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Visión General de GXportal. Última actualización: 2009

Visión General de GXportal. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

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

Información de Producto:

Información de Producto: Windows Server 2008 Foundation La nueva tecnología rentable de Windows Server 2008 Foundation La tecnología confiable y comprobada de Windows Server Foundation proporciona una base para ejecutar las aplicaciones

Más detalles

Las diez cosas que usted debe saber sobre las LICENCIAS de los derechos de Propiedad Industrial e Intelectual

Las diez cosas que usted debe saber sobre las LICENCIAS de los derechos de Propiedad Industrial e Intelectual Las diez cosas que usted debe saber sobre las LICENCIAS de los derechos de Propiedad Industrial e Intelectual 1.- Qué se entiende por Transferencia de Tecnología?. La transferencia de tecnología es el

Más detalles

Introducción a las redes de computadores

Introducción a las redes de computadores Introducción a las redes de computadores Contenido Descripción general 1 Beneficios de las redes 2 Papel de los equipos en una red 3 Tipos de redes 5 Sistemas operativos de red 7 Introducción a las redes

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14 EVALUACIÓN A TRAVÉS DE LA WEB: EL SISTEMA TUTORMAP 1 R.Criado, D.Martín y S. Sánchez (GIEMATI, Dpto. de CC. Experimentales e Ingeniería de la URJC) Resumen En este trabajo se describen las características

Más detalles

Cómo elegir tu SOFTWARE DE GESTIÓN?

Cómo elegir tu SOFTWARE DE GESTIÓN? Cómo elegir tu SOFTWARE DE GESTIÓN? 00 Introducción Tu empresa está en expansión y has decidido integrar todas las áreas de tu negocio para seguir creciendo. Has iniciado la búsqueda de un software de

Más detalles

Por más insignificante que sea lo que debes hacer, esmérate en hacerlo lo mejor que puedas, como si fuera la cosa más importante

Por más insignificante que sea lo que debes hacer, esmérate en hacerlo lo mejor que puedas, como si fuera la cosa más importante Empecemos! En este tema puedes seguir aprendiendo y conociendo todo lo relacionado a la clasificación del software, sus funciones en el control de los dispositivos de la computadora y las diferentes aplicaciones

Más detalles

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)

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

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

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

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN Tabla de Contenidos LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN... 1 Tabla de Contenidos... 1 General... 2 Uso de los Lineamientos Estándares...

Más detalles

Objetivos y Competencias

Objetivos y Competencias Objetivos y Competencias 2.1 Objetivos del ciclo formativo a) Ajustar la configuración lógica del sistema analizando las necesidades y criterios establecidos para configurar y explotar sistemas informáticos.

Más detalles

App para realizar consultas al Sistema de Información Estadística de Castilla y León

App para realizar consultas al Sistema de Información Estadística de Castilla y León App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

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

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

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

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades A veces me preguntan acerca de las diferencias entre muchos tipos de servicios de hospedaje web, y pensé que traería muchos

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

Qué es el Software Libre? Algunos principios básicos

Qué es el Software Libre? Algunos principios básicos Qué es el Software Libre? Algunos principios básicos Beatriz Busaniche Fundación Vía Libre http://www.vialibre.org.ar Qué es el software? El Software es un

Más detalles

Acronis License Server. Guía del usuario

Acronis License Server. Guía del usuario Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE

Más detalles

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04).

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04). 5.2. PROYECTO RODA Se trata de un proyecto 1 piloto de demostración tecnológica, cofinanciado por el PROFIT 2003, cuya duración se fijó de Enero 2003 a Marzo de 2004. Los participantes son ROBOTIKER, la

Más detalles

Soporte Técnico de Software HP

Soporte Técnico de Software HP Soporte Técnico de Software HP Servicios Tecnológicos HP Servicios contractuales Datos técnicos El Soporte Técnico de Software HP ofrece servicios integrales de soporte remoto de para los productos de

Más detalles

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT INTRODUCCIÓN La documentación de auditoría ó papeles de trabajo son el respaldo que tiene el auditor para registrar los procedimientos aplicados,

Más detalles

USABILIDAD Y ACCESIBILIDAD EN WEB Guillermo M. Martínez de la Teja

USABILIDAD Y ACCESIBILIDAD EN WEB Guillermo M. Martínez de la Teja USABILIDAD Y ACCESIBILIDAD EN WEB Guillermo M. Martínez de la Teja "La usabilidad trata sobre el comportamiento humano; reconoce que el humano es emotivo, no está interesado en poner demasiado esfuerzo

Más detalles

Condiciones de servicio de Portal Expreso RSA

Condiciones de servicio de Portal Expreso RSA Condiciones de servicio de Portal Expreso RSA Le damos la bienvenida a Portal Expreso RSA 1. Su relación con Portal Expreso RSA 1.1 El uso que el usuario haga de la información, software, servicios prestados

Más detalles

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV Página 1 de 6 1. OBJETIVO El presente documento tiene la finalidad de citar los beneficios de la migración de la herramienta de análisis de riesgo, mantenimiento e inspección que en lo sucesivo se denominará

Más detalles

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo Índice completo de la Guía Índice completo de la Guía 1. Quién debe leer esta guía? 3 2. Qué es un ERP? 7 2.2. Qué es un ERP?... 9 2.3. Cuál es el origen del ERP?... 10 2.4. ERP a medida o paquetizado?...

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

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

Análisis de aplicación: Virtual Machine Manager

Análisis de aplicación: Virtual Machine Manager Análisis de aplicación: Virtual Machine Manager Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla

Más detalles

Utilización del sistema operativo GNU/ Linux en las netbooks

Utilización del sistema operativo GNU/ Linux en las netbooks Utilización del sistema operativo GNU/ Linux en las netbooks El sistema operativo es la pieza de software básica de un sistema, que permite manejar los recursos de la computadora, abrir programas, manejar

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

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

ESTE PROGRAMA ES COFINANCIADO POR MÉXICO Y LA UNIÓN EUROPEA

ESTE PROGRAMA ES COFINANCIADO POR MÉXICO Y LA UNIÓN EUROPEA Jornada FONCICYT Tratamiento de los Derechos de Propiedad Intelectual en el marco de consorcios de investigación, desarrollo tecnológico e innovación entre México y la Unión Europea México, 10 de julio

Más detalles

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM SOLUCIÓN HOSPEDADA Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM Aprovechar el ecosistema de Microsoft para el éxito de CRM hospedado Microsoft Dynamics CRM ofrece a clientes

Más detalles

I INTRODUCCIÓN. 1.1 Objetivos

I INTRODUCCIÓN. 1.1 Objetivos I INTRODUCCIÓN 1.1 Objetivos En el mundo de la informática, la auditoría no siempre es aplicada en todos las empresas, en algunos de los casos son aplicadas por ser impuestas por alguna entidad reguladora,

Más detalles

Proceso: AI2 Adquirir y mantener software aplicativo

Proceso: AI2 Adquirir y mantener software aplicativo Proceso: AI2 Adquirir y mantener software aplicativo Se busca conocer los estándares y métodos utilizados en la adquisición de y mantenimiento del software. Determinar cuál es proceso llevado a cabo para

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

E-learning: E-learning:

E-learning: E-learning: E-learning: E-learning: capacitar capacitar a a su su equipo equipo con con menos menos tiempo tiempo y y 1 E-learning: capacitar a su equipo con menos tiempo y Si bien, no todas las empresas cuentan con

Más detalles

DE VIDA PARA EL DESARROLLO DE SISTEMAS

DE VIDA PARA EL DESARROLLO DE SISTEMAS MÉTODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS 1. METODO DEL CICLO DE VIDA PARA EL DESARROLLO DE SISTEMAS CICLO DE VIDA CLÁSICO DEL DESARROLLO DE SISTEMAS. El desarrollo de Sistemas, un proceso

Más detalles

LiLa Portal Guía para profesores

LiLa Portal Guía para profesores Library of Labs Lecturer s Guide LiLa Portal Guía para profesores Se espera que los profesores se encarguen de gestionar el aprendizaje de los alumnos, por lo que su objetivo es seleccionar de la lista

Más detalles

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS MANUAL DE USUARIO APLICACIÓN SYSACTIVOS Autor Edwar Orlando Amaya Diaz Analista de Desarrollo y Soporte Produce Sistemas y Soluciones Integradas S.A.S Versión 1.0 Fecha de Publicación 19 Diciembre 2014

Más detalles

Analista SharePoint OBJETIVOS REQUISITOS CERTIFICACIONES

Analista SharePoint OBJETIVOS REQUISITOS CERTIFICACIONES Analista SharePoint Escuela de Sistemas y Tecnologías BIOS Página 1 de 6 Analista SharePoint OBJETIVOS El analista SharePoint es una persona que podrá transformar necesidades puntuales que tengan los usuarios

Más detalles

Internet Information Server

Internet Information Server Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en

Más detalles

DECLARACIÓN DE PRIVACIDAD DE FONOWEB

DECLARACIÓN DE PRIVACIDAD DE FONOWEB DECLARACIÓN DE PRIVACIDAD DE FONOWEB Fonoweb se compromete a respetar su privacidad y la confidencialidad de su información personal, los datos de las comunicaciones y el contenido de las comunicaciones

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

Bechtle Solutions Servicios Profesionales

Bechtle Solutions Servicios Profesionales Soluciones Tecnología Bechtle Solutions Servicios Profesionales Fin del servicio de soporte técnico de Windows Server 2003 No hacer nada puede ser un riesgo BECHTLE Su especialista en informática Ahora

Más detalles

Capítulo I. Planteamiento del problema

Capítulo I. Planteamiento del problema Capítulo I. Planteamiento del problema Actualmente, cientos de instituciones educativas utilizan Sistemas gestores del aprendizaje (LMS Learning Management Systems), sin embargo, estos no fomentan el trabajo

Más detalles

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2) 1. Qué es un sistema operativo?...2 2. Funciones de los sistemas operativos...2 3. Windows...2 3.1. La interfaz gráfica...2 3.2. La administración y los usuarios...3 3.3. El sistema de archivos...3 3.4.

Más detalles

Programa de gestión Normativa y Requisitos Legales

Programa de gestión Normativa y Requisitos Legales Manual de Uso Versión 3 Programa de gestión ÍNDICE 1. ACERCA DE @LineTerr... 3 1.1. Información general. Requerimientos de los equipos... 3 1.2. Acceso a @LineTerr... 3 1.3. Configuración. Permisos...

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

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

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

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN

Capítulo 4 Pruebas e implementación de la aplicación CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CAPÍTULO 4 PRUEBAS E IMPLEMENTACIÓN DE LA APLICACIÓN CONCEPTOS DE PRUEBAS DE APLICACIÓN El departamento de Testing se encarga de diseñar, planear y aplicar el rol de pruebas a los sistemas que el PROVEEDOR

Más detalles

LOGISTICA D E COMPRAS

LOGISTICA D E COMPRAS LOGISTICA D E COMPRAS 1. - Concepto de compras OBTENER EL (LOS) PRODUCTO(S) O SERVICIO(S) DE LA CALIDAD ADECUADA, CON EL PRECIO JUSTO, EN EL TIEMPO INDICADO Y EN EL LUGAR PRECISO. Muchas empresas manejan

Más detalles

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno. Un Sistema Operativo es el software encargado de ejercer el control y coordinar el uso del hardware entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos

Más detalles

i@c Presentación de servicios

i@c Presentación de servicios i@c Presentación de servicios I n t e r n e t d e A l t a C a l i d a d, S. A. d e C. V. http://www.iac.com.mx/ Tel: +52 (55) 5575-0151 info@iac.com.mx Servicios de Internet Desarrollo de software Software

Más detalles

Principios de Privacidad y Confidencialidad de la Información

Principios de Privacidad y Confidencialidad de la Información Principios de Privacidad y Confidencialidad de la Información Con el objetivo de mantener nuestro permanente liderazgo en la protección de la privacidad del cliente, Manufacturera 3M S.A de C.V está activamente

Más detalles

SUPLEMENTO EUROPASS AL TÍTULO

SUPLEMENTO EUROPASS AL TÍTULO SUPLEMENTO EUROPASS AL TÍTULO DENOMINACIÓN DEL TÍTULO Técnico Superior en Desarrollo de Aplicaciones Web --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

MATERIA: Proyecto de Desarrollo de Aplicaciones Multiplataforma

MATERIA: Proyecto de Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Proyecto de Desarrollo de Aplicaciones Multiplataforma NIVEL: 2º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales

Más detalles

TERMINOS DE USO DE LOS SITIOS WEB PROPIEDAD DE COMERCIALIZADORA SIETE S.A. DE C.V

TERMINOS DE USO DE LOS SITIOS WEB PROPIEDAD DE COMERCIALIZADORA SIETE S.A. DE C.V TERMINOS DE USO DE LOS SITIOS WEB PROPIEDAD DE COMERCIALIZADORA SIETE S.A. DE C.V El sitio web www.gruposiete.com.mx es propiedad de Comercializadora Siete S.A de C.V. Este sitio como todos aquellos que

Más detalles

ESPECIALIZACIÓN EN ARQUITECTURA DEL SOFTWARE SENA - SOCORRO MSL. Hebert Augusto Orjuela Cuadros.

ESPECIALIZACIÓN EN ARQUITECTURA DEL SOFTWARE SENA - SOCORRO MSL. Hebert Augusto Orjuela Cuadros. NOMBRES: Bernardo APELLIDOS: Rueda Hernández ACTIVIDAD: LICENCIAS DE SOFTWARE: Nota a todos: por favor, contestar estas preguntas con la mayor brevedad posible. No se dan más puntos por teclear más largo!!!!

Más detalles

Hoja Informativa ISO 9001 Comprendiendo los cambios

Hoja Informativa ISO 9001 Comprendiendo los cambios Revisiones ISO Hoja Informativa ISO 9001 Comprendiendo los cambios Cambios que se aproximan ISO 9001 de un vistazo Cómo funciona ISO 9001? ISO 9001 puede ser aplicado a todo tipo de organizaciones de cualquier

Más detalles

Fundamentos de Desarrollo de Software

Fundamentos de Desarrollo de Software Instituto Tecnológico de Parral «por un espíritu creador y humano» Fundamentos de Desarrollo de Software M.C. Edgar Omar Bañuelos Lozoya 21/09/2010 Zayra Martínez Germán Villalobos Heber Borjas Software

Más detalles

COLEGIO COMPUESTUDIO

COLEGIO COMPUESTUDIO COLEGIO COMPUESTUDIO ÁREA: TECNOLOGIA E INFORMATICA DOCENTE: WILLY VIVAS LLOREDA ESTUDIANTE: CLEI: III GUIA N 5 N SESIONES: NUCLEO TEMÁTICO: UNIDAD: 2 Sistema operativo (Windows) OBJETIVO: Comprender el

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico TeCS Sistema de ayuda a la gestión del desarrollo de producto cerámico En el origen de todo proyecto de éxito se halla la capacidad de encauzar y estructurar la creatividad TeCS ofrece un entorno de fácil

Más detalles

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE MARZO 2007 Este documento contesta las preguntas más frecuentes que se plantean las organizaciones que quieren

Más detalles

Mantenimiento de Sistemas de Información

Mantenimiento de Sistemas de Información de Sistemas de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ACTIVIDAD MSI 1: REGISTRO DE LA PETICIÓN...4 Tarea MSI 1.1: Registro de la Petición... 4 Tarea MSI 1.2: Asignación de la Petición... 5 ACTIVIDAD

Más detalles

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas.

Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. 1. Manual de usuario 1.1 Esquema de Oasis Oasis es una fábrica para el bien común de los datos mediante la utilización de aplicaciones propuestas. Gracias a OASIS usted podrá comprar o seleccionar aplicaciones

Más detalles

CAPÍTULO 1 Instrumentación Virtual

CAPÍTULO 1 Instrumentación Virtual CAPÍTULO 1 Instrumentación Virtual 1.1 Qué es Instrumentación Virtual? En las últimas décadas se han incrementado de manera considerable las aplicaciones que corren a través de redes debido al surgimiento

Más detalles

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado

Ministerio de Educación, Cultura y Deporte. Joomla! La web en entornos educativos. Guía del alumnado Ministerio de Educación, Cultura y Deporte Joomla! La web en entornos educativos Guía del alumnado INTEF 2012 Joomla! La web en entornos educativos Guía Didáctica En este apartado describiremos las características

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

INTELIGENTE Y VERSÁTIL

INTELIGENTE Y VERSÁTIL INTELIGENTE Y VERSÁTIL ADMINISTRACIÓN DE ACTIVOS DE TI Cada día nos vemos más inmersos en la necesidad de acceder a nuestras aplicaciones de trabajo, como correo, CRM, ERP entre otras. Hoy la movilidad

Más detalles

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas 1 INTRODUCCIÓN. Una visión global del proceso de creación de empresas Cuando se analiza desde una perspectiva integral el proceso de

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter

Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Informe Final de Pasantías: Desarrollo de un Sistema de Gestión de Contenidos (CMS) en CodeIgniter Autor:

Más detalles

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica. Introducción a la tecnología informática 1- EL SISTEMA DE CÓMPUTO Un sistema de cómputo es un conjunto de elementos físicos y electrónicos (Hardware), los cuales funcionan ordenadamente bajo el control

Más detalles

5 formas de mejorar su negocio con COMPUTACIÓN EN LA NUBE

5 formas de mejorar su negocio con COMPUTACIÓN EN LA NUBE 5 formas de mejorar su negocio con COMPUTACIÓN EN LA NUBE Julio 2012 Introducción. Cada empresa y cada empresario ha entendido que, si hay una constante, ésta es el cambio. Día a día, los negocios se ponen

Más detalles

Visión General GXplorer. Última actualización: 2009

Visión General GXplorer. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

pymegnu v2.0 PRESENTACIÓN DE PRODUCTOS

pymegnu v2.0 PRESENTACIÓN DE PRODUCTOS PRESENTACIÓN DE PRODUCTOS pymegnu v2.0 1 INTRODUCCIÓN Nuestros sistemas 100% web le permitirán poder obtener todas las ventajas competitivas que ofrece Internet, como la disponibilidad de tener sus sistemas

Más detalles

http://www.informatizate.net

http://www.informatizate.net http://www.informatizate.net Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C.

Más detalles

Guía de instalación de la carpeta Datos de IslaWin

Guía de instalación de la carpeta Datos de IslaWin Guía de instalación de la carpeta Datos de IslaWin Para IslaWin Gestión CS, Classic o Pyme a partir de la revisión 7.00 (Revisión: 10/11/2011) Contenido Introducción... 3 Acerca de este documento... 3

Más detalles

ISO9001:2015. Todos los certificados emitidos en este periodo tienen una fecha de caducidad de 15 de septiembre de 2018.

ISO9001:2015. Todos los certificados emitidos en este periodo tienen una fecha de caducidad de 15 de septiembre de 2018. ISO9001:2015 PLAN DE TRANSICIÓN Tras la publicación de la nueva versión de la norma ISO9001 el pasado mes de septiembre se inicia un periodo de convivencia entre las dos versiones de la norma. Este periodo

Más detalles