Administración y Seguridades Avanzadas de Redes empresariales en Linux (LPI)
Texto completo
(2) I. AGRADECIMIENTO. Agradezco. principalmente. a. Dios, por todas las bendiciones derramadas hacia mi familia y a mí, a mis padres Israel Sánchez y Adelaida Lujano por todo el apoyo. brindado,. hermanos. Manuel,. y a. mis. Daniel. y. Karina Sánchez y a mi novio Byron Benavides. Cristina Sánchez Lujano.
(3) II. AGRADECIMIENTO. Agradezco. principalmente. a. Dios, por mis padres Teodoro Cruz. Suárez. Lindao.. Por. y. Vilma. todo. el. Cruz apoyo. brindado. José Fernando Cruz Cruz.
(4) III. AGRADECIMIENTO. Agradezco. principalmente. a. Dios, a mi mama Elizabeth, mi abuela Elvia, mi tía Amparo, por el. apoyo. brindado,. ya. que. siempre estuvieron a mi lado incondicionalmente, para poder cumplir con mi meta.. Pedro Jesús Copo Matamoros.
(5) IV. DEDICATORIA. Dedico. este. trabajo. principalmente a Dios, a mis padres Adelaida Lujano, Israel Sánchez; Manuel,. mis Daniel. hermanos y. Karina. Sánchez, mis sobrinos. Jhostyn, Anahi y Genesis Sánchez. Y A mi novio Byron Benavides. Y a todas las personas que nos apoyaron para la realización del mismo.. Cristina Sánchez Lujano.
(6) V. DEDICATORIA. Doy gracias a dios por haberme dado unos excelentes padres que me apoyaron siempre y gracias a ellos estas leyendo hoy esta tesis, y también al grupo. de. compañeros. conformamos. para. que. completar. este proyecto.. José Fernando Cruz Cruz.
(7) VI. DEDICATORIA. Dedico. este. proyecto. principalmente a Dios, a mi mama. Elizabeth,. Elvia,. mi. tía. mi. abuela. Amparo,. y. especialmente a mis hijos.. Pedro Jesús Copo Matamoros.
(8) VII. TRIBUNAL DE GRADUACIÓN. Presidente Tribunal. Primer Vocal. Segundo Vocal. Secretario.
(9) VIII. DECLARACIÓN EXPRESA. “La autoría de la tesis de grado corresponde exclusivamente al suscrito(s), perteneciendo a la Universidad de Guayaquil los derechos que generen la aplicación de la misma”. (Reglamento de Graduación. de la Carrera de Ingeniería en. sistemas Computacionales, Art. 26). ____________________. ____________________. Cristina Adelaida Sánchez Lujano Pedro Jesús Copo Matamoros 091975725-2. 0921658465. ____________________ José Fernando Cruz Cruz 0921658426.
(10) IX. RESUMEN La aplicación Control web, es un sistema diseñado y desarrollado para pequeñas y grandes empresas, que tienen usuarios con salida a internet, el propósito es ayudar a los usuarios que realicen un óptimo uso del mismo.. Para lo cual el sistema cuenta con un control exhaustivo de la navegación de los usuarios, también podemos restringir las páginas web de una organización, cada usuario tendrá un User Name para el acceso a internet y dependiendo de eso, una conexión parcial o total.. Si la conexión es total, podrá tener acceso a todas las páginas que desee, si es parcial, dependiendo el usuario, tendrá acceso a determinadas páginas web.. También existen los perfiles de usuarios denominados en nuestro proyecto “departamentos”, los usuarios que pertenecen a. los mismos, tendrán en. común la restricción de aprobación de ciertas páginas web..
(11) X. Se puede hacer una restricción en el ancho de banda, y se lo realiza por la IP. Dependiendo la IP en el que es usuario esté conectado tendrá su debida restricción. Podemos ver diferentes tipos de reportes: . Páginas visitadas: Nos muestra el reporte de las páginas visitadas por todos los usuarios.. . Top ten usuarios: nos muestra las 10 páginas más visitadas de un determinado usuario.. . Top ten páginas: nos muestra las 10 páginas más visitadas por los usuarios en común.. . Cuadro Estadístico: Nos muestra en un rango de tiempo, las páginas más visitadas, en forma estadística.. Se puede crear nuevos usuarios, departamentos y administradores.. Podemos visualizar el ancho de banda gráficamente que estén utilizando los usuarios en común..
(12) RÉSUMÉ Application Control Web is a system designed and developed for small and large companies, which are internet users with output, the purpose is to help users with an optimal use of it.. To which the system has an exhaustive control of navigation of users, we can also restrict the websites of an organization, each user will have a User Name for Internet access and depending on that, a connection partial or total.. If the connection is complete, you can access all pages you want, if partial, depending. on. the. user. will. have. access. to. certain. websites.. There are also profiles of users in our project called "departments", users who belong to them, they have in common restriction for approval of certain websites.. You can make a restriction on the width of banda, and what is done by the IP. Depending on the IP in which it is connected user will have its due restraint. We can see different types of reports:. . visited Pages: We report shows the pages visited by all users.. . Top ten users: shows the 10 most commonly viewed pages on a particular user.. . Top ten pages: shows over 10 pages visited by users in common..
(13) . Statistical Table: It shows us in a time range, the most commonly viewed pages, in statistical form.. You. can. create. new. users,. departments. and. administrators.. We can visualize the width of banda graphically being used by users in common..
(14) XI. INDICE GENERAL PAG. Agradecimientos. I. Dedicatorias. IV. Tribunal de Graduación. VII. Declaración expresa. VIII. Resumen. IX. Índice General. XI. Índice de Tablas. XVII. Índice de Gráficos. XVIII. Introducción. 1. Manual Técnico. 2. Capitulo # 1 Configuraciones de Servicios. 3. 1.1 Snmp (simple Network Management Protocol). 3. 1.1.1 Software requerido. 3. 1.1.2 Descarga o Instalación. 4.
(15) XII. 1.1.3 Listas de Control de Acceso. 4. 1.1.4 Definición de Grupos. 5. 1.1.5 Ramas Predeterminadas. 6. 1.1.6 Permisos a los grupos. 6. 1.1.7 Parámetros de carácter informático. 6. 1.1.8 Iniciar el servicio. 7. 1.1.9 Comprobaciones. 7. 1.2 Mrtg (Multi Router Traffic Grapher). 8. 1.2.1 Software requerido. 8. 1.2.2 Descarga o instalación. 8. 1.2.3 Configuración. 8. 1.2.4 Iniciar servicios. 10. 1.3 Squid. 10. 1.3.1 Software requerido. 10. 1.3.2 Descarga o Instalación. 11. 1.3.3 Puerto para Squid. 11. 1.3.4 Tamaño de caché. 11. 1.3.5 Controles de acceso. 12. 1.4 Squid Guard 1.4.1 Usando Blacklists. 13 14.
(16) XIII. 1.4.2 Configuración de las Reglas de Control 1.5 Htb-gen. 15 17. 1.5.1 Software requerido. 17. 1.5.2 Descarga o Instalación. 17. 1.5.3 Configuración. 17. 1.6 PostgresSql el Linux. 21. 1.6.1 Adquirir permiso del root. 21. 1.6.2 Bajar fuentes y prepararlas para compilarlas. 22. 1.6.3 Configuración Post Instalación. 23. 1.6.4 Administración básica de Usuarios. 23. 1.7 Instalar Jdk. 24. 1.8 Eclipse WTP. 25. Capitulo # 2 Análisis. 27. 2.1 Casos de Usos. 27. 2.2 Diagrama de Flujo de Información. 29. 2.3 Diagrama de Flujo de Datos. 30. 2.4 Diagrama de Transición de Estados. 31.
(17) XIV. Capitulo # 3 Diseño de Datos. 32. 3.1 Estándar de los Datos. 33. 3.2 Diccionario de Datos. 34. Capitulo # 4 Código del Proyecto. 38. 4.1 Conexión a la Base. 38. 4.1.1 Paquetes y librerías necesarias. 38. 4.1.2 Clase que contiene el Bean de Conexión a la base. 38. 4.1.3 Constructor para acceder a la base de datos snort. 39. 4.1.4 Constructor para acceder a la base de datos olimpo. 40. 4.1.5 Método para cerrar la conexión con la base. 41. 4.2 Administrador 4.2.1 Crear Administrador. 41. 4.2.2 Eliminar Administrador. 42. 4.2.3 Consultar Administrador. 42. 4.2.4 Cambiar clave del Administrador. 44. 4.2.5 Verificar si existe clave del Administrador. 45.
(18) XV. 4.3 Usuarios 4.3.1 Crear Usuarios. 46. 4.3.2 Eliminar Usuarios. 47. 4.3.3 Modificar Usuarios. 48. 4.3.4 Validar Contraseña. 50. 4.4 Departamentos 4.4.1 Crear Departamentos. 52. 4.4.2 Modificar Departamentos. 53. 4.4.3 Eliminar Departamentos. 55. 4.4.4 Llenar archivo de pagina y usuarios de los departamentos. 56. 4.5 Controlar 4.5.1 Leer el archivo log. 57. 4.5.2 Validar Fechas. 61. 4.6 Ancho de Banda. 65. 4.6.1 Leer un archivo. 65. 4.6.2 Iniciar servicios. 65. 4.6.2.1 Método de Error al ejecutar el comando. 65. 4.6.2.2 Método para iniciar servicio del squid. 66. 4.6.2.3 Método para ejecutar el comando. 66. 4.7 Reportes 4.7.1 Gráfico Estadístico. 67. 4.7.2 Páginas Visitadas. 69.
(19) XVI. 4.7.3 Top ten Usuarios. 70. 4.7.4 Top ten Páginas Visitadas. 72. Manual de usuarios. 75. Pantalla de Bienvenida. 75. Pantalla del Menú. 76. Pantalla de Controlar. 79. Pantalla de Gráfica de Navegación. 80. Pantalla de Pagina por usuarios. 81. Pantalla de Pagina por Departamentos. 83. Pantalla de Ancho de banda. 85. Reporte de Navegación. 87. Reporte Top Ten de Usuario. 89. Reporte Top ten de Páginas. 91. Reporte de Cuadro Estadístico. 93. Pantalla de Departamentos. 95. Pantalla de Administrador. 97. Pantalla de Usuarios. 99.
(20) XVII. INDICE DE TABLAS PAG.. Tabla # 1: Estándares de datos. 33. Tabla # 2: Administrador. 34. Tabla # 6: Departamentos. 35. Tabla # 4: Navegación. 35. Tabla # 5: Páginas de Departamentos. 36. Tabla # 6: Páginas de Usuarios. 36. Tabla # 7: Privilegios. 37. Tabla # 8: Usuarios. 37.
(21) XVIII. INDICE DE GRÀFICOS PAG. Gráfico # 1: Eclipse. 26. Gráfico # 2: Diagrama de Casos de Usos. 28. Gráfico # 3: Diagrama de Flujo de Información. 29. Gráfico # 4: Diagrama de Flujo de Datos. 30. Gráfico # 5: Diagrama de Transición de estados. 31. Gráfico # 6: Pantalla de Bienvenida. 76. Gráfico # 7: Pantalla de Menú. 77. Gráfico # 8: Pantalla de Controlar. 80. Gráfico # 9: Pantalla de gráfica de navegación. 81. Gráfico # 10: Pantalla de páginas por usuarios. 82. Gráfico # 11: Pantalla de páginas por departamentos. 84. Gráfico # 12: Pantalla de Ancho de Banda. 86. Gráfico # 13: Pantalla de Reporte de Navegación. 88. Gráfico # 14: Pantalla de Reporte de Top ten de Usuarios. 90. Gráfico # 15: Pantalla de Reporte de Top ten de Páginas. 92. Gráfico # 16: Pantalla de Reporte de Cuadro estadístico. 94. Gráfico # 17: Pantalla de Departamentos. 96. Gráfico # 18: Pantalla de Administrador. 98. Gráfico # 19: Pantalla de Usuarios. 100.
(22) 1. INTRODUCCIÓN Hoy en día, sabemos que un elemento principal de la empresa, es la información que en ella se maneja y el tiempo de trabajo ya que los empleados pueden desperdiciar el. tiempo de trabajo en explorar sitios. Internet solo por diversión, lo que podría deteriorar el rendimiento en el trabajo y también bloquear la línea de comunicación de datos por el tráfico de datos innecesario en la red; el cual esto podría causar una pérdida de miles de dólares.. Si bien es cierto, existen muchas formas, medios y métodos para proteger la información y hacer mas optimo el trabajo de los usuarios, dependerá que tan acertado sea su elección o configuración para que esta sea efectiva. El Web controlador ofrece esta seguridad, mediante: monitoreos y políticas de seguridad, manteniendo al margen a los usuarios en páginas no-autorizados y en caso de un alto consumo de ancho de banda seguridad.. genera alarmas de.
(23) 2. CAPITULO 1 ENTORNO PARA EL DESARROLLO DEL PROYECTO. 1. PROBLEMÁTICA 1.1. Antecedentes Hoy en día, el uso inapropiado del Internet es uno de los problemas que se presenta en las empresas y centros educativos, lo que conlleva a un ineficiente rendimiento de los empleados.. Actualmente hemos buscado la solución a este problema ofreciendo una aplicación y servicio, el cual mejorará el.
(24) 3. rendimiento y productividad de los empleados con un debido control de la navegación de usuarios de la red.. 1.2 El Problema La pérdida de productividad y competitividad, por el mal uso de Internet por parte los usuarios cuesta millones de dólares a las empresas, normalmente los directivos no son conscientes de este hecho, por ello es recomendable para amortiguar estas pérdidas tanto el filtrado de páginas web, como el análisis de la navegación, previa comunicación a los trabajadores, para que no se vea afectada su libertad y privacidad.. Una persona con la vista fija en su ordenador parece una persona trabajando. Lamentablemente muchas veces no es así. Son muchas las ocasiones en que esta persona, está usando Internet en provecho propio y poniendo en peligro los datos de la empresa: manda y recibe mails personales, chatea, realiza búsquedas o simplemente navega por lugares que nada tienen que ver con las necesidades específicas de la empresa que le da trabajo..
(25) 4. Muchos directivos y propietarios de empresas son conscientes de los peligros que Internet puede tener para su negocio (cookies, spam, virus, etc. ); por eso, invierten en poderosos antivirus, antispam, firewall y otros equipos para aumentar su seguridad. Sin embargo, muy pocos son conscientes de las pérdidas que ocasiona a sus empresas el uso de Internet para asuntos personales por parte de sus empleados.. Con acceso a la red, el empleado puede ver su correo personal, preparar sus vacaciones, leer el periódico, hacer una compra online en horas de trabajo, visitar web con contenidos inapropiados. El tiempo que utiliza en hacer estas “tareas” es tiempo que deja de trabajar y se traduce en pérdida de productividad y peligro para la empresa.. 1.3. La Solución Vamos a implementar la herramienta Control Web, la cual surge de la necesidad de establecer criterios de seguridades en navegacion, ya que es fundamental preservar los recursos de software (la información). tanto así como los de hardware. (estaciones, servidores, etc) de una organización y Staff.
(26) 5. (usuarios),. estableciendo. quienes. puedan. emplear. determinados recursos y quienes no, además en que hora del día es lícito usarlos. Se debe utilizar la herramienta Control Web para preservar nuestra información libre de daño o robo y para el eficiente trabajo de los usuarios.. El Control Web es una herramienta fundamental al momento de establecer el diseño de restricciones, debido a que por su uso muy amigable será fácil para los usuarios configurar dicha restricción y además para usuarios expertos (administradores) tendrán una interfaz donde establecerá sus restriciones necesarias para cada usuario, respaldando esta configuración.. 1.4. Justificación El Control Web impide la conexión a determinados sitios dependiendo el usuario, y nos muestra la ruta de navegación de los usuarios, y todo esto se realiza sin que el usuario sienta que lo están vigilando.. Nos ofrece un reporte de todos los accesos de los usuarios..
(27) 6. También no ofrece un filtrado de contenidos, útil para entornos organizacionales.. 1.5. Visión Nuestra visión consiste en “llegar a ser los lideres en el Control de navegación”, la cual lo podemos conseguir ofreciendo un excelente y eficiente control de navegación de usuarios. Para ello debemos captar la plena confianza de que los usuarios en las diferentes organizaciones realicen un buen y apropiado uso del Internet.. 1.6. Misión “Nuestra misión es implementar un optimo control de la navegación de los. usuarios, el cual va permitir mejorar. el. rendimiento y competitividad de los usuarios, lo cual beneficiarà a la organización ”.
(28) 7. 1.7. Objetivos 1.7.1. General Realizar una aplicación Web, la cual permita realizar un control exhaustivo y restringir la navegación de los usuarios de una organización.. 1.7.2. Específicos . Controlar las páginas visitadas por los usuarios.. . Controlar y optimizar el ancho de banda.. . Hacer que los usuarios realicen un uso correcto del Internet.. . Obtener información de una manera rápida y eficiente de los usuarios de la red con respecto a su navegación.. . Generación de cuadros estadísticos sobre la navegación de los usuarios.. 1.8. Alcances Monitoreo de Navegación Monitorear el ancho de banda: Un primer paso para controlar el ancho de banda es instalar un firewall, que evitará que existan conexiones no autorizadas, ya sea hacia o desde nuestro ordenador, mediante un control individualizado de las aplicaciones que intentan conectarse a la Red, ya sea para enviar o.
(29) 8. recibir información, la cual se realiza por medio de iptables. Mrtg: (multi router traffic graphic), el cual nos permitirá visualizar el tráfico de la red en forma gráfica.. Monitorear los sitios visitados Por medio de los archivos log del Squid podemos ver las paginas están visitando los usuarios en la web.. Filtrado de Navegación Prevenir riesgos de seguridad Los riesgos pueden ser: virus, intrusos, etc. Para prevenir estos riegos utilizaremos firewall, squidguard. Bloquear las paginas a los usuarios Se lo realiza por medio de squid e iptables.. Reportes Listado de sitios visitados por usuario. Top ten de paginas visitadas por los usuarios. Gráficos estadísticos de paginas más visitados y por tema. Reporte diarios de la navegación de los usuarios. Reporte de tope de ancho de banda por IP. Con htb-gen.
(30) 9. Reporte de paginas visitadas por tiempo (hora, día, mes) Alarmas por mail. . Asignación de Megabites a los usuarios. Todos los reportes se lo harán accediendo a la base de datos por medio de query, funciones, paquetes, etc.. 1.9. Arquitectura del Sistema. Para el desarrollo de nuestro sistema de seguridad se utilizará una arquitectura de tres capas:. 1.9.1. Primera Capa La primera capa será el cliente o browser HTML. Este navegador nos proveerá de una plataforma para mostrar las páginas JSP enviadas por nuestro servidor Jbox El browser enviará. la. información. necesaria. para. establecer. la. configuración del firewall y demás reglas de seguridad que provee nuestra aplicación y necesitan ser ejecutadas por el sistema operativo Linux..
(31) 10. 1.9.2. Segunda Capa La segunda capa es el servidor de aplicaciones Jbox cuya finalidad es servir a las páginas jsp, aunque también actúa como servidor http.. Se recibe una petición de un fichero jsp, le pasa el trabajo a Jbox, el cual generará una respuesta tipo html a partir de un servlet (que no es nada más que una clase Java). La respuesta es recibida por Jbox, que sin más tardanza la manda al cliente. En cierto modo, Jbox actúa como intermediario en las peticiones jsp.. 1.9.3. Tercera Capa La tercera capa es un sistema de bases de datos postgres para guardar las configuraciones del Control Web que el usuario establezca, ademas de las historial de navegación de los usuarios, con la finalidad de generar reportes impresos o via correo..
(32) 11. 1.10 Análisis FODA 1.10.1 Fortalezas. El software es portable por que se pueden acceder a el desde cualquier computador que se encuentre dentro de la red. Permite obtener respaldo de las configuraciones que se realicen dentro de este sistema y así pueda ser reinstalado o reconfigurados. Es una herramienta útil para conseguir la regulación y la restricción de las páginas ajenas al ámbito laboral a los usuarios de la red. El Filtrado Web es la forma perfecta para el control total y sencillo de la navegación que realizan los usuarios de la red. Es capaz de restringir todas las páginas que se desee, solo con escribirlas en el interfaz.. El Filtrado Web es la herramienta más útil para conseguir la restricción de las páginas ajenas al ámbito laboral a los usuarios de la red..
(33) 12. El módulo de control de navegación Web realiza una gestión completa del ancho de banda recibiendo diariamente un correo con todo lo ocurrido en la red.. 1.10.2. Oportunidades. Nuestro sistema a diferencia de muchos ya realizados es manejado en un ambiente web, brindando múltiples ventajas por encima del resto.. Tendrá un costo inferior con relación a otros, debido a que será diseñado en base a herramientas open source.. Es un sistema multiplataforma que puede ser levantado desde cualquier ambiente.. Además permite realizar múltiples funciones integradas que son manejados por diversos software, como por ejemplo traducción de direcciones de red..
(34) 13. 1.10.3 Debilidades. La control de navegación no sólo depende de un buen nivel de restricciones, sino además de políticas de seguridad que deben ser establecidas en cada organización, ya que nuestro sistema sólo asegura el buen uso de la navegación web, no cuando se trata de hardware y software.. Necesita siempre de la disponibilidad de la red para poder ser ejecutado.. 1.10.4. Amenazas. Se corre el riesgo de que por ser diseñado en herramientas open source, terceras personas puedan obtener el código fuente y modificarlo con fines de lucro a partir de nuestro software.. Existen programas gratuitos en el internet que proveerán servicios parecidos al nuestro, pero con sus limitantes..
(35) 14. 1.11 Análisis de Riesgos e Intangibles 1.11.1. Identificación de los riesgos Problemas personales entre los desarrolladores. Personal contratado no preparado para el desarrollo del software. Salida de uno de los desarrolladores. Poca coordinación del grupo de desarrollo para reunirse. Desconocimiento de la funcionalidad del software. No haber elegido una metodología adecuada para el desarrollo del software. Mala interpretación de los requisitos por parte de los desarrolladores. Los. resultados. obtenidos. no. satisfacen. todas. las. necesidades del cliente. Modificación de Requerimientos a último momento por parte del cliente. Mala estimación en el tiempo para la duración del proyecto. Indisponibilidad de reunirse por parte del cliente con el gestor del software. Que los usuarios se resistan a usar el software..
(36) 15. Que los usuarios no tengan los conocimientos básicos para manejar el Software. Daños improvistos del hardware. Pérdida de información por no obtener respaldos. Que los equipos de la empresa no estén en óptimas condiciones de trabajo.. 1.11.2 Interpretación de los riesgos.. Problemas personales entre los desarrolladores. Se considera un riesgo al hecho de que existan discuciones o algún tipo de problema personal entre los desarrolladores, ya que influiría en la comunicación que ellos deben tener para desarrollar el sistema, no existiría un ambiente adecuado y afectaría a su desempeño laboral.. Personal contratado no preparado para el desarrollo del software Si el personal que se contrata no está capacitado en las herramientas necesarias para el desarrollo del sistema como linux y configuración firewal, diseño jsp, etc será una pérdida de tiempo hasta que estos adquieran las destrezas..
(37) 16. Salida de uno de los desarrolladores. El riesgo que representa la salida de uno de los integrantes, significaría un retraso en la estimación del tiempo establecido para culminar las actividades, ya que si se contratara un reemplazo, este tardaria un poco en adaptarse y retomar el lugar del desarrollador anterior o si se llegara a distribuir el trabajo entre los desarrolladores que queden representaría más carga laboral para ellos.. Poca coordinación del grupo de desarrollo para reunirse. La coordinación y disponibilidad, es un factor clave para la integración de los desarrolladores y con ello el intercambio de ideas, necesario para establecer acuerdos en el desarrollo y de no producirse esto implicaría que no avancen a la par en las. actividades. o. futuros. desacuerdo. en. las. implementaciones.. Desconocimiento de la funcionalidad del software Es importante conocer la funcionalidad del software y sobretodo tener una perspectiva de lo que se debe implementar, es indispensable tener un conocimiento básico de redes de computadoras y administración de seguridades.
(38) 17. en dicha red, ya que si vamos a realizar un software para diseño de seguridades firewall es necesario que los desarrolladores tengan una perspectiva global de los requerimientos para seguridades.. No haber elegido una metodología adecuada para el desarrollo del software. El no haber seleccionado la metodología idónea para nuestro proyecto implicar el riesgo de limitar las comunicaciones entre módulos y además disminuir la comunicación entre cliente y gestores del proyecto afectando al desarrollo del mismo, además es una pérdida de tiempo tener que retrodecer en el análisis produciendo que no se cumplan a tiempo las actividades previstas.. Mala interpretación de los requisitos por parte. de los. desarrolladores. Una mala interpretación de los requerimientos, implica un software distinto al esperado por el cliente y el riesgo consistirá en tener un cliente insatisfecho y un software diferente al que realmente se requiere..
(39) 18. Los resultados obtenidos no satisfacen todas las necesidades del cliente. Siempre debe existir la satisfacción del cliente ante el producto que recibe, en este caso es un riesgo que el cliente no este de acuerdo con ciertos aspectos del software desarrollado, es decir a lo mejor no le gusta el diseño de las interfaces o la forma como se presentarán los reporte, o en sí el diseño arquitectónico de nuestro software, corriendo el riesgo de que este cliente pida que el software sea rediseñado.. Modificación de Requerimientos a último momento por parte del cliente. Los requerimientos de último momento es un riesgo que se debe asumir y que puede afectar al tiempo estimado de culminación del proyecto.. Mala estimación en el tiempo para la duración del proyecto. Este aspecto es de vital importancia en el desarrollo de nuestro aspecto, ya que el riesgo de una mala estimación.
(40) 19. significaría no cumplir con las metas estimadas y por ende una insatisfacción del cliente.. Indisponibilidad de reunirse por parte del cliente con el gestor del software. Este riesgo consiste en que el cliente no tenga la disponibilidad, ya sea por cualquier factor, para atender a las entrevistas con los gestores el proyecto y será un impedimento para establecer los requerimientos, ya que de no haber comunicación no se podrá distinguir cuáles son las preferencias o espectativas de este cliente y se corre el riego de que el software no satisfaga al cliente. Que los usuarios se resistan a usar el software. Este riesgo consiste en que los usuarios no estén acostumbrados a los cambios y se resistan a ellos y por ende a usar nuestro software.. Que los usuarios no tengan los conocimientos básicos para manejar el Software. Este riesgo consiste en la poca adaptación que los usuarios puedan tener una vez que ha sido implantado el software y.
(41) 20. puede. ser. causado. por. no. tener. conocimientos. fundamentales de seguridades.. Daños improvistos del hardware. El daño repentino de equipos, tiene como riesgo la posibilidad de pérdida de información o demora en el desarrollo. del. sistema,. produciendo. retrasos. en. las. actividades.. Pérdida de información por no obtener respaldos Los respaldos son necesarios y el riesgo de no contar con ellos, puede producir la pérdida total o parcial de un proyecto, obligándolos a reestructurar lo que hayan avanzado y a su vez perdido.. Que los equipos de la empresa no estén en óptimas condiciones de trabajo. Es necesario que el recurso de hardware cumpla con las especificaciones planteadas dentro del análisis, ya que de no ser así podría afectar a la funcionalidad del software, siendo un riesgo para los desarrolladores al no poder utilizar sus herramientas y no poder llevar a cabo el sistema..
(42) 21. 1.11.3. Impacto y probabilidad de los riesgos.. Problemas personales entre los desarrolladores. Impacto Afectará al ambiente y a la armonía laboral, puesto que puede tornarse un ambiente hostil y su vez disminuiría la comunicación entre los desarrolladores.. Probabilidad Existe poca probabilidad, ya que los problemas personales no deben tornarse laborales.. Personal contratado no preparado para el desarrollo del software Impacto Va a tardar más tiempo en desarrollar los módulos que le toque implementar debido a sus limitados conocimientos, perdiendo tiempo en capacitarse antes de empezar a desarrollar..
(43) 22. Probabilidad La probabilidad es baja, puesto que por lo general se toman pruebas antes de contratar a los desarrolladores.. Salida de uno de los desarrolladores. Impacto Provocaría descoordinación en las actividades, por que se tendría que volver a distribuir el trabajo que había sido asignado a esta persona, produciendo pérdida en el tiempo y provocando el riesgo de que no se cumplan las actividades.. Probabilidad La probabilidad de riesgo es poca pero no despreciable ya que deben existir contratos firmados, ya sea durante el tiempo que dure el proyecto o por tiempos establecidos.. Poca coordinación del grupo de desarrollo para reunirse. Impacto Poco entendimiento y comunicación entre los desarrolladores repercutiría en la visión general del sistema, es decir.
(44) 23. mientras más coordinación exista más ayuda a perfeccionar detalles del sistema, pero de darse lo contrario se tendrá una pobre perspectiva de lo que el sistema debe realizar.. Probabilidad La probabilidad es baja debido a que existe un cronograma establecido al cual todos deben apegarse, además deberán existir políticas establecidas para evitar que este riesgo afecte.. Desconocimiento de la funcionalidad del software. Impacto No tendrá una perspectiva de lo que el software debe realizar, así que deberá primero capacitarse para entender los requerimientos del cliente.. Probabilidad Es una probabilidad de riesgo media baja, debido a que entre los gestores del proyecto existirá alguien que tenga por lo menos conocimientos elementales..
(45) 24. No haber elegido una metodología adecuada para el desarrollo del software. Impacto El impacto radica en tener que rediseñar una nueva metodología a partir de la ya establecida, ocasionando mucha pérdida de tiempo.. Probabilidad La probabilidad del riesgo es baja, por lo que se debe realizar un profundo análisis antes de elegir la metodología.. Mala interpretación de los requisitos por parte de los desarrolladores. Impacto De darse esta situación su impacto repercutiría en un software que haga una actividad diferente a la esperada.. Probabilidad La probabilidad es bien baja debido a que existe una etapa dedicada. a. la. investigación. requerimientos del cliente.. y determinación de. los.
(46) 25. Los resultados obtenidos no satisfacen todas las necesidades del cliente. Impacto El impacto principal será la insatisfacción del cliente y por ende la reconstrucción del sistema para adaptarlo a los requerimientos que el exige.. Probabilidad La probabilidad es baja ya que para ello se realiza las fases iniciales donde establecemos los requerimientos del cliente para no tener este tipo de inconvenientes.. Mala estimación en el tiempo para la duración del proyecto. Impacto No se cumplirán los tiempos establecidos para cumplir las actividades del cronograma, dando como resultado una prolongación en la entrega del software al cliente..
(47) 26. Probabilidad Es media alta por lo que a veces no se pueden calcular eventos inesperados que suelen surgir en la etapa de desarrollo de un sistema.. Modificación de Requerimientos a último momento por parte del cliente. Impacto Retroceder a la etapa de análisis para establecer y detallar los nuevos requerimientos, afectando al cronograma de actividades y por ende al tiempo de culminación del proyecto.. Probabilidad Este riesgo es medio ya que por lo general en la etapa de análisis se establecen las políticas de desarrollo y de cambio por si se da esta situación..
(48) 27. Indisponibilidad. de reunirse por parte del. cliente. con el gestor del software. Impacto Poca información acerca de las expectativas del cliente con respecto al sistema, produciendo que este no refleje lo que el cliente espera.. Probabilidad La probabilidad es media por lo que existen ocasiones en que el cliente se encuentre realizando múltiples actividades laborales y su tiempo sea limitado, provocando así citas muy poco periódicas para tratar de captar la idea que tiene del sistema.. Que los usuarios se resistan a usar el software. Impacto Poca utilidad del sistema, puesto que los usuarios puedan estar acostumbrados a un sistema ya implantado..
(49) 28. Probabilidad La probabilidad es baja ya que nuestro sistema proveerá de interfaces gráficas sencillas, para que los usuarios se adapten fácilmente al uso del nuevo software.. Que los usuarios no tengan los conocimientos básicos para manejar el Software. Impacto Resistencia a usar el sistema ya que podría resultarles un poco complicado, si no se tiene un conocimiento previo en diseño firewall bajo Linux.. Probabilidad La probabilidad es bajo ya que si el sistema va a ser usado por el administrador de seguridad, este ya debe tener conocimientos previos de cómo se va a manejar el sistema o usuarios con conocimientos en redes..
(50) 29. Daños improvistos del hardware. Impacto Si llegara a suceder su impacto provocaría una paralización de las actividades en ese computador, pudiendo ocasionar retrasos dependiendo del tipo de daño.. Probabilidad La probabilidad es alta debido a que los daños suelen ser inesperados y se corre el riesgo de que suceda de improviso.. Pérdida de información por no obtener respaldos Impacto El impacto de este riesgo podría representar la pérdida de la información del proyecto, dejando sin documentación para poder continuar realizándolo e implicaría retroceder al análisis.. Probabilidad La probabilidad es baja ya que se debe realizar un respaldo diario de los avances que se realicen el proyecto y es poco probable de que se pierda la información..
(51) 30. Que los equipos de la empresa no estén en óptimas condiciones de trabajo. Impacto Retardos en el desarrollo debido a la lentitud o características obsoletas que pueda tener un computador que no se encuentre en óptimas condiciones y con las características necesarias para elaborar un proyecto de esta magnitud.. Probabilidad Es muy poco probable, ya que cuando se trata de desarrollar una aplicación es lógico contar con equipos robustos que ofrezcan el perfomance necesario para evitar este tipo de inconvenientes.. 1.11.4. Plan de Contingencia Problemas personales entre los desarrolladores. Realizar actividades de integración donde los empleados trabajen en grupo para buscar mejorar los canales de comunicación y la afinidad entre ellos..
(52) 31. Personal contratado no preparado para el desarrollo del software Se realizarán pruebas respectivas a las persona que van a formar parte del equipo de desarrollo para conocer su perfil laboral y emocional, evitando así contratiempos a futuro.. Salida de uno de los desarrolladores. Para contrarrestar la posibilidad de que esto suceda se le remunerará adecuadamente a los desarrolladores y motivará e incentivará constantemente para establecer un ambiente laboral cómodo, que le brinde estabilidad al trabajador y este se reflejará en la conformidad de dicho empleado.. Poca coordinación del grupo de desarrollo para reunirse. Se establecerán políticas de grupo para evitar que impere la desorganización en el equipo de desarrolladores, además de establecer claramente en el cronograma de actividades los días con fecha y hora de las reuniones.. Desconocimiento de la funcionalidad del software Ofrecer una capacitación previa, acerca de seguridades en redes y diseño firewall bajo Linux, para que puedan tener.
(53) 32. una perspectiva de lo que se debe desarrollar y entender los requerimientos del cliente.. No haber elegido una metodología adecuada para el desarrollo del software. Realizar entrevistas periódicas con el cliente y recopilar toda la información necesaria acerca de los datos que se manejarán en el sistema para elegir la mejor metodología sea esta clásica u orientada a objetos.. Mala interpretación de los requisitos por parte de los desarrolladores. Se establecerán reuniones extraordinarias con el cliente para mejorar la perspectiva de lo que el desea. Se procederá a reestructurar el análisis para luego realizar lo mismo con el diseño, posteriormente se presentará un prototipo del sistema para que sea aprobado por el cliente.. Los resultados obtenidos no satisfacen todas las necesidades del cliente. Para evitar que se cumpla este riesgo es necesario realizar un análisis preciso de lo que el cliente busca y espera, para.
(54) 33. ello nos basaremos en entrevistas periódicas que nos permita conocer cuales son sus expectativas e inquietudes, además de mostrar prototipos que permitan al cliente tener una idea de cómo va ser el producto final. También será necesario estudiar el movimiento de la empresa y el tráfico de la información.. Modificación de Requerimientos a último momento por parte del cliente. Se debe establecer políticas desde el inicio del proyecto, donde es establezca que los cambios deben ser mesurados, para que sean posibles de implementar y por ende adaptar el cronograma y los tiempos anteriormente asignado a las actividades.. Mala estimación en el tiempo para la duración del proyecto. Se elaborará un cronograma de actividades detallado con los tiempos de cada actividad dejando de uno a dos días de holgura, dependiendo de lo que se vaya a realizar y además supervisando periódicamente los avances de las actividades para conocer si se están cumpliendo..
(55) 34. Indisponibilidad de reunirse por parte del cliente con el gestor del software. Se establecerán con anterioridad reuniones con el cliente, en fechas convenidas, previo a una cita para evitar que se de este riesgo.. Que los usuarios no tengan los conocimientos básicos para manejar el Software. El software será diseñado para que hasta el usuario mas novato de administración de firewall lo pueda configurar, pero sin duda si un usuario no puede o sabe usarlo, es debido a que no tiene fundamentos básicos de diseño firewall. Se proveerá un manual detallado como manejar las plantillas de diseño y su funcionalidad para que el usuario haga uso de este, en caso de no tener los conocimientos necesario.. Daños improvistos del hardware. Se mantendrá un computador que podrá ser utilizado en caso de que otro llegase a sufrir un desperfecto, para que el.
(56) 35. desarrollo del software no sufra paralización en sus actividades.. Pérdida de información por no obtener respaldos Se guardarán respaldos diariamente de los avances que se realicen, estos respaldos se encontrarán en las máquinas respectivas de los desarrolladores y en la máquina del director del proyecto, además se mantendrán respaldos en medios físicos como cd que se los almacenará en un lugar ajeno a la empresa.. Que los equipos de la empresa no estén en óptimas condiciones de trabajo. Se proveerá de los recursos de hardware estimados en es estudio técnico, a fin de los equipos brinden las prestaciones adecuadas para que los desarrolladores puedan laborar sin contratiempos..
(57) 36. 1.11.5. Tabla de riesgos Riesgo. Problemas personales entre los desarrolladores.. Probabilidad. Impacto. 40%. 2. del software. 30%. 1. Salida de uno de los desarrolladores.. 50 %. 2. reunirse.. 25 %. 2. Desconocimiento de la funcionalidad del software. 30%. 1. 50 %. 2. 40 %. 2. 25 %. 1. 50%. 2. 40 %. 2. Indisponibilidad de reunirse por parte del cliente 40 %. 2. Personal contratado no preparado para el desarrollo. Poca coordinación del grupo de desarrollo para. No haber elegido una metodología adecuada para el desarrollo del software. Mala interpretación de los requisitos por parte de los desarrolladores. Los resultados obtenidos no satisfacen todas las necesidades del cliente. Modificación de Requerimientos a último momento por parte del cliente. Mala estimación en el tiempo para la duración del proyecto..
(58) 37. con el gestor del software. Que los usuarios se resistan a usar el software.. 25 %. 1. básicos para manejar el Software. 35 %. 2. Daños improvistos del hardware.. 60 %. 2. Pérdida de información por no obtener respaldos. 15 %. 3. 35 %. 1. Que los usuarios no tengan los conocimientos. Que los equipos de la empresa no estén en óptimas condiciones de trabajo. Tabla # 1: Tabla de Riesgos. 1.11.6. Tabla de impacto de los riesgos. Impacto. Significa. 1. Riesgo leve. 2. Riesgo fuerte. 3. Riesgo agresivo Tabla #2: Tabla de impacto de riesgo. 1.12.- Recursos: 1.12.1.- Recursos Humanos: Los Integrantes requeridos para el desarrollo del proyecto de software son de tres personas:.
(59) 38. Pedro Copo Matamoros José Cruz Cruz Cristina Sánchez Lujano. 1.12.2.- Recursos de Hardware: 3 Computadoras 2 Workstation . User Csanchez Pentium IV 1.7 GHz Memoria 512 Mb Disco Duro 80 Gb. . User Jcruz AMD Sempron(tm)2400+ 1.67 GHz Memoria Ram 1 Gb Disco Duro 80 Gb. 1 Server WebServer Pentium IV 3.2 GHz Memoria Ram 1Gb Disco Duro 80Gb 1 Switch 3 cables de red ponchado de 5mts c/u. 1 Impresora Epson CX 3700 en red compartida.
(60) 39. 1.12.3.- Recursos de Software: S.O. Windows XP. S.O. Linux Centos. Java: scripts, applets, jsp Navegador FireFox Mozzilla. Servidor de Aplicaciones Jbox. Base de datos PostGres Dreamwever Servicios a levantar Samba, para compartir archivos. Puerto: 139. Squid, para proxy y bloqueo de páginas. Puerto: 3128. Sendmail, para envio de correo. Dovecot, para correo. Puertos Pop3: 113, Imap: 143, SMTP: 25 Jbox Servidor web. Mrtg, para control de ancho de banda. Htb-gen, para restringir el ancho de banda Fiirewall, por medio de iptables.. 1.12.4.- Descripción del Hardware y Software. 1.12.4.1.- Descripción del Hardware El Control web es nuestro servidor el cual realizará un control exhaustivo de la navegación de usuarios en la red..
(61) 40. Los 2 Workstation se las utilizara como clientes, sus funciones principales son de pedir acceso al servidor, compartir y solicitar recursos.. El Switch es de ocho puertos de 10/100 Mbps + los 3 cables, nos sirve para la comunicación entre computadores.. 1.12.4.2.- Descripción del Software El S.O. Windows XP será utilizado en tres estaciones: dos estaciones serán cliente y otra en el servidor para la instalación implantaremos nuestro sistema operativo linux.. El Sistema Operativo linux en su distribucion Centos 5 permitirá la manipulación del servidor, herramientas de configuración y seguridad para el Control de Navegación de Usuarios que corresponde a nuestro proyecto... El software será desarrollado en Java, y para levantarlo utilizaremos el navegador mozila..
(62) 41. La base de datos permitirá guardar los reportes diarios del control de navegación de usuarios.. Las razones para escoger estas herramientas son:. Plataforma e independencia del servidor.- JSP sigue la filosofía de la arquitectura JAVA de "escribe una vez ejecuta donde quieras". Proceso de desarrollo abierto (open source).- El API JSP se beneficia de la extendida comunidad JAVA existente.. Reusabilidad entre plataformas.- Los componentes JSP son reusables en distintas plataformas (UNIX, Windows). 1.13. Determinación de los Costos. 1.13.1. Costos Fijos 2 PC´s Pentium IV + 1 AMD Sempron. Memoria RAM: 1 PC (512 MB) y . 2 PC’S ( 1 GB ) Disco duro: 80GB c/u. 1 Switch 3 cables de red ponchado de 5mts c/u..
(63) 42. 1 Impresora Epson CX 3700 en red compartida. Tabla de Costos Fijos Costos Fijos. Cantidad. V. Unitario $. Total $. PC´s Pentium IV. 2. 750.00. 1500.00. PC AMD Sempron. 1. 700.00. 700.00. Switch. 1. 50.00. 50.00. Cable de red ponchado. 3. 3.00. 9.00. TOTAL DE ACTIVOS FIJOS. 2259.00. Tabla # 3: Tabla de Costos fijos. 1.13.2. Gastos Generales Tabla de Gastos Generales Gastos Generales. Total $. Luz. 150.00. Transporte. 250.00. Servicio Internet. 150.00. Alquiler Local. 90.00. Equipo de Oficina. 70.00. Gastos Varios. 200.00. TOTAL. 910.00 Tabla # 4: Tabla de Gastos Generales.
(64) 43. 1.14. Modelo de desarrollo. El modelo que utilizaremos para el desarrollo de este proyecto es el ciclo de Vida en Espiral, cada bucle es una actividad. Las actividades no están fijadas a prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.. Se presenta al cliente los prototipos (diseño de cómo quedará el software) con el fin de establecer mejoras u otras alternativas que necesite el software, si es necesario realizar una mejora se dará otra vuelta al espiral(etapas) hasta que llegue un momento en que el software pueda seguir avanzando a otro anillo del espiral, con el fín de que el sotfware satisfaga todas las peticiones del cliente.. Para la realización de las GUI (Interfaces Gráficas de Usuarios) se utiliza el Modelo de Prototipos, ya que debemos mostrar avances gráficos del diseño del software..
(65) 44. Grafico # 1: Modelo en espiral. Grafico # 2:Etapas del Modelo Espiral Se eligió un modelo en espiral por los siguientes puntos:.
(66) 45. Trata de mejorar los ciclos de vida clásicos y prototipos.. Permite acoplar otros modelos. Incorpora objetivos de calidad y gestión de riesgos. Elimina errores y alternativas no atractivas al comienzo. Permite iteraciones, vuelta atrás y finalizaciones rápidas Cada ciclo empieza identificando:. Los objetivos de la porción correspondiente. Las alternativas. Restricciones. Cada ciclo se completa con una revisión que incluye todo el ciclo anterior y el plan para el siguiente.
(67) 46. 1.15. Metodología de diseño. 1.15.1. Método del ciclo de vida clásico del Desarrollo de Sistemas. El método de ciclo de vida para el desarrollo de sistemas es el conjunto de actividades que los analistas, diseñadores y usuarios realizan para desarrollar e implantar un sistema de información. En nuestro proyecto vamos a utilizar el método del ciclo de vida clásico el cual consta de 6 fases:. 1) Investigación preliminar. Al recibir una solicitud de diseño del software por parte del cliente(requerimientos). realizaremos. una. investigación. preliminar de lo que necesita: Aclaración de la solicitud. La solicitud del proyecto debe examinarse para determinar con precisión lo que el solicitante desea; puede darse el caso que muchas solicitudes no están formuladas de manera clara. Estudio de factibilidad.
(68) 47. En la investigación preliminar un punto importante es determinar que el sistema solicitado sea factible. Existen tres aspectos relacionados con el estudio de factibilidad, que son realizados por lo general por analistas capacitados o directivos: Factibilidad técnica. Factibilidad económica. Factibilidad operacional: Aprobación de la solicitud. Después de aprobar la solicitud de un proyecto se estima su costo, el tiempo necesario para terminarlo y las necesidades de personal.. 2) Determinación de los requisitos del sistema.. Estudiaremos todos los procesos de una empresa para dar respuesta a las siguientes preguntas clave: ¿Qué es lo que hace? ¿Cómo se hace? ¿Con que frecuencia se presenta? ¿Qué tan grande es el volumen de transacciones o decisiones? ¿Cuál es el grado de eficiencia con el que se efectúan las tareas? ¿Existe algún problema? ¿Qué tan serio es? ¿Cuál es la causa que lo origina?.
(69) 48. Para contestar estas preguntas realizaremos entrevistas a los jefes de sistema o implicados en la seguridad, además observaremos actividades reales de la empresa a fin de comprender sus procesos de la manera mas detallada posible, conocer como manejan su información y si existen seguridades ya implementadas.. Con todos estos detalles, los analistas estudian los datos sobre requerimientos con la finalidad de identificar las características que debe tener nuestro software.. 3) Diseño del sistema. (diseño lógico). Aquí detallaremos como cumpliremos con los requerimientos planteados durante la fase de análisis. Indicaremos la entrada de datos, la estructuras de archivos y los dispositivos de almacenamiento, en sí describir cómo procesar los datos y producir salidas.. Los documentos que contienen las especificaciones de diseño representan a éste mediante diagramas, tablas y símbolos especiales..
(70) 49. 4) Desarrollo de software (diseño físico). En esta fase se implementará el código y la documentación necesaria del software basado en el análisis anteriormente realizado.. 5) Prueba de sistemas. En esta fase se realizarán las pruebas pertinentes para asegurar que todos los módulos de nuestro software funcionan correctamente.. 6) Implantación y evaluación. En esta fase implantaremos el software en los equipos y de ser necesario proveeremos de la capacitación de uso del mismo. Realizar la evaluación del sistema nos permitirá identificar puntos débiles y fuertes. Durante la evaluación se realizarán las siguientes actividades. Evaluación operacional.- Como operará o funcionará el sistema Impacto organizacional.- Los beneficios que la empresa tendrá luego del uso del software.
(71) 50. Opinión de los administradores.- Conocer actitudes del directivos/ administrador de red y/o seguridad dentro de la organización así como de los usuarios finales.. 1.16. Estudio de Mercado El estudio de mercado está enfocado a tratar de prever el impacto que tendrá nuestro producto dentro de un mercado específico. Buscar la forma y medios de cómo penetrar nuestro software en el mercado.. El objetivo general es determinar la posibilidad real de aceptación de nuestro producto. Después de realizar este estudio de mercado podremos tener una perspectiva de los riesgos que corremos al diseñar el sistema y la posibilidad de éxito.. Aunque nuestro producto será una herramienta open source es importante determinar quienes representan a la competencia y que ofreceremos distinto a lo que ellos brindan..
(72) 51. 1.16.1 Cuestionarios de entrevistas a usuarios 1.16.1.1 Definición El siguiente cuestionario busca conocer al usuario de las empresas y su uso del Internet, conociendo asi las preferencias de los usuarios como paginas, pasatiempo, etc. También cual es el objetivo de todo gerente a que sus. ejecutivos realicen un buen uso del Internet.. 1.16.1.2 Cuestionarios Estrato: Usuarios finales Direccionamiento: Entrevistas dirigidas al buen uso del Internet. Objetivo: Conocer las preferencias de los usuarios a la hora de usar el Internet. 1. ¿La empresa cuenta con un sistema de control de navegación de usuarios? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________.
(73) 52. 2. ¿Ha tenido problemas con el mal uso del Internet por parte de los usuarios, como por ejemplo: virus, `perdida de tiempo, eficiencia, etc. ______________________________________________________________ ______________________________________________________________ ______________________________________________________________. 3. ¿Qué restricciones le gustaría que tuviera sus usuarios? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________. 4. ¿Le gustaría tener una aplicación que controle la navegación de sus usuarios sin que ellos se dieran cuenta? ______________________________________________________________ ______________________________________________________________ ______________________________________________________________. 1.16.1.3 Interpretación de la entrevista La entrevista nos permitió conocer las preferencias de los usuarios al momento de la navegación y como los dirigentes desean un optimo rendimiento de sus usuarios al momento del uso del Internet..
(74) 53. 1.16.2. Análisis de Mercado. Nuestro mercado meta está enfocado a empresas en general que tienen personal que no realiza un buen uso del Internet.. Si bien sabemos existen empresas tanto públicas como privadas, necesitan que sus usuarios realicen un buen uso del Internet, a beneficio de la organización, por ejemplo entidades financieras como bancos, empresas aseguradoras y demás organizaciones que restringen el acceso a Internet, ya sea por tiempo o por megas bites de navegación aprovecharemos la necesidad de implementar medidas de seguridad que provean confianza al manejo de la información dentro de la internet.. Nuestro software busca copar ese mercado y hacer de nuestra herramienta un producto de necesidad líder en el control de navegación de usuarios, ya que por su fácil manejo permitirá configurarlo de manera sencilla por usuarios que tengan un conocimiento básico..
(75) 54. Del 100% de las empresas un 80% de ellas tienen problemas con el uso de Internet en sus usuarios, lo cual deseamos implementar un software para el correcto uso del Internet dentro de la organización.. 1.17. Estudio Técnico Se realiza este estudio con la finalidad de definir la posibilidad real de lograr el producto o servicio deseado con la calidad y costo requerido.. Esto origina la necesidad de identificar procesos productivos, equipos de hardware, herramientas de software y demás tecnología necesarias, recursos humanos, requerimientos de capacitación de los usuarios, etc.. 1.17.1. Proceso de servicio. Para poder diseñar el software que cumpla con las necesidades del cliente es necesario conocer lo que él espera de nuestro sistemas, es decir, cuales son las necesidades.. Analizar cuales son las espectativas que tiene el cliente de nuestro software..
(76) 55. Analizar la posibilidad de prestar servicios adicionales que distinga a nuestro software de otros ya existentes.. Determinar como el usuario quiere proteger su red y que preferencias tiene.. Implementar estandares de seguridad que permitan al usuario tener confianza del uso de un software certificado.. Se elabora el producto de acuerdo a las exigencias del cliente. Se entrega la documentación correspondiente como diccionario de datos, manual de usuario y técnico al cliente.. Se realiza controles posteriores a la entrega del software para supervisar su correcto funcionamiento.. 1.17.2. Proceso de desarrollo del software. El proceso de desarrollo del software de control de navegaciòn de usuarios estará basado en intefaces web que proveeran de opciones que el usuario deberá elegir. Se programarán las interfaces a fin de.
(77) 56. que el usuario pueda seleccionar de un menú que actividad desea realizar:. Establecer un control , donde programaremos la interfaz para que el administrador, pueda visualizar a traves de graficos, correos, etc, lo que esta realizando el usuario.. Establecer las restrinciones, dependiendo el historial del usuario, se realizaran las debidas restrinciones de paginas, tiempo o megabytes de nevagaciòn.. Para obtener los respaldos de las configuraciones y de las listas de control de acceso, implementaremos una base de datos que guarde el historial y sus reportes de cada usuario, por fechas, etc.. Para desarrollar el software utilizaremos un servidor que nos provea disponibilidad del servicio de nuestrá página..
(78) 57. 1.18. Estudio Legal. Este estudio nos permitirá describir el aspecto legal de nuestro proyecto, para poder establecer bajo que condiciones y politicas podrá ser usado. Para ello explicaremos ciertos conceptos básicos para entender las políticas de uso del mismo. Es necesario conocer el ambito general de cómo se divide el software según su legabilidad para poder establcer cuando se puede o no sufrir un perjuicio ya sea por usar un software legal u open source..
(79) 58. CAPITULO 2 EL ANÁLISIS 2.1 Levantamiento de la Información 2.1.1 Quienes son los usuarios Un usuario es la persona que utiliza o trabaja con algún objeto o que es destinaría de algún servicio público o privado, empresarial o profesional. En informática este término se utiliza con especial relevancia.. Tipos de usuario informático En sentido general, un usuario es un conjunto de permisos y de recursos (o dispositivos) a los cuales se tiene acceso. Es decir, un usuario puede ser tanto una persona como una máquina, un programa, etc. Usuario final El usuario final de un producto informático (bien sea hardware o software),. una. es la persona a la que va destinada dicho producto. vez. que. correspondientes.. ha. superado. las. fases. de. desarrollo.
(80) 59. Normalmente, el software se desarrolla pensando en la comodidad del usuario final, y por esto se presta especial interés y esfuerzo en conseguir una interfaz de usuario lo más clara y sencilla posible. Usuario registrado Se denomina así a la persona que tiene derechos especiales en algún servicio de Internet por acreditarse en el mismo mediante un identificador y una clave de acceso, obtenidos con previo registro en el servicio, de manera gratuita o de pago. Normalmente, un usuario registrado tiene asignada una cuenta propia que mantiene información personalizada del usuario en el servidor, (como puede ser dirección de e-mail y espacio correspondiente).. También. puede. dar acceso. a. ciertos. contenidos no accesibles al público en general, como por ejemplo un usuario registrado en un periódico on-line con acceso por suscripción. Usuario anónimo Es usuario anónimo en informática aquel que navega en sitios web (o usa cualquier servicio de la red) sin autenticarse como usuario registrado. En algunos servicios en Internet se dispone de un modo de uso como usuario registrado y otro como usuario anónimo; normalmente, el usuario registrado goza de mayores privilegios. El anonimato en Internet es uno de sus puntos fuertes, a la vez que motivo habitual de discusión. A los usuarios les gusta sentirse. libres. para. expresarse,. mientras. que. ciertos.
(81) 60. organismos quisieran un mayor control de todo el movimiento por la red para actuar con más eficacia contra la delincuencia online. Usuario "beta tester" En el proceso de desarrollo de software, existe un usuario intermedio entre el desarrollador y el usuario final que se encarga de comprobar y testear que el programa hace lo que tiene. que. hacer,. reportando. errores. al. programador. /desarrollador, y es en gran medida responsable de que el programa llegue al usuario final sin errores.(prácticamente realiza la función de un sistema operativo). 2.2 Diagrama de Clases. Gráfico #3: Diagrama de Clases.
(82) 61. 2.2.1 Detalle de las tablas. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Administrador. Tipo: Maestra. Descripción: En esta tabla se almacenara los administradores que tendrán acceso al sistema Controlweb Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. Cod_adm. Código del Administrador. varchar. 30. clave. Clave del Administrador. varchar. 10. Mail. Correo del Administrador. Texto. Tabla # 5: Administrador. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Departamentos. Tipo: Maestra. Descripción: En esta se almacenara los respectivos departamentos a los cuales pertenecen los usuarios Descripción de los Registros Campo. Descripción. Cod_dep. Codigo del Departamento. Descripcin. Descripción del departamento. Tabla # 6: Departamentos. Tipo de Dato. Longitud. Int. 4. varchar. 100.
(83) 62. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Navegación. Tipo: Maestra. Descripción: En esta se almacenara la navegación de los usuarios Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. varchar. 30. usuario. User del usuario. Fecha. Fecha de la navegación. date. Hora. Hora de la navegación. time. Ip. Ip del usuario. Varchar. 30. url. url que el usuario está conectado. varchar. 50. Tabla # 7: Navegación. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Pagdepartamentos. Tipo: Maestra. Descripción: En esta se almacenara todas las páginas visitadas por los usuarios de dicho departamento Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. Id_pagina. Identificación de la pàgina. int. 4. Cod_dep. Codigo del departamento. Int. 4. Dominio. Domino visitado por el usuario. varchar. 100. Descripción. Descripción de la pagina. Varchar. 100. Tabla # 8: Páginas de Departamentos.
(84) 63. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Pagusuarios. Tipo: Maestra. Descripción: En esta se almacenara todas las páginas visitadas por los usuarios de dicho departamento Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. Id_pagina. Identificación de la página. int. 4. Cod_usuario. Código del usuario. Int. 4. Nombre. Nombre del usuario. varchar. 100. dominio. url de la pagina web. Varchar. 100. Descripción. Descripción de la pagina. Varchar. 100. Tipo_acceso. Tipo de acceso de la pagina. Varchar. 1. Tabla # 9: Páginas de Usuarios. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Privilegios. Tipo: Maestra. Descripción: En esta se almacenara privilegios que se le va a dar a cada usuario Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. Depto. Codigo del departamentos. Int. 4. ancho_subida. Ancho de banda asignada de subida. Int. 4. Ancho_bajada. Ancho de banda asignada de bajada. Int. 4. Estado. Estado del privilegio. Varchar. 1. IP. Ip del host. Varchar. 15. Tabla # 10: Privilegios.
(85) 64. CONTROLWEB Base de Datos: Postgre Nombre de la Tabla: Usuario. Tipo: Maestra. Descripción: En esta se almacenara los usuarios que van a poder tener acceso a ControlWeb Descripción de los Registros Campo. Descripción. Tipo de Dato. Longitud. Int. 4. Cod_usuario. Codigo del usuario. Usuarios. User del usuario. Varchar. 20. Nom_usuario. Nombre del usuario. Varchar. 100. Ip. Ip del usuario. Varchar. 15. Depto. Departamento al cual pertenece el usuario. Int. 4. Acceso_ewb. Tipo de acceso a la url. Varchar. 10. Tabla # 11: Usuarios.
(86) 65. 2.3 Diagrama de flujo de Información (DFI). Gráfico #4: Diagrama de Flujo de Informaciòn.
(87) 66. 2.4 Diagrama de Flujo de Datos (DFD) Un diagrama de flujo de datos (DFD) es una representación gráfica del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos.. Gráfico #5 : Diagrama de Flujo de Datos.
(88) 67. 2.5 Diagrama de Transición de Estados (DTE) Un estado es una condición durante la vida de un objeto, de forma que cuando dicha condición se satisface se lleva a cabo alguna acción o se espera por un evento. El estado de un objeto se puede caracterizar por el valor de uno o varios de los atributos de su clase, además, el estado de un objeto también se puede caracterizar por la existencia de un enlace con otro objeto.. Gráfico #6 : Diagrama de Transiciòn de estados.
(89) 68. 2.6. Diagrama de Casos de Uso (DCU) Los diagramas de caso de uso son uno de los cinco tipos de diagramas en UML para modelar aspectos dinámicos de sistemas (diagramas de actividad, diagramas de estados, diagramas de secuencia y diagramas de colaboración son otros cuatro tipos de diagramas en UML para modelar los aspectos dinámicos de un sistema). Los diagramas de casos de uso son importantes para modelar el comportamiento de un sistema, un subsistema o una clase. Cada uno muestra un conjunto de casos de uso, actores y sus relaciones.. Gráfico #7 : Diagrama de Casos de Usos.
(90) 69. CAPITULO 3 DISEÑO 3. Diseño de la interfaz. Al iniciar la ejecución del proyecto, se encontrará con una pantalla inicial, en la cual se deberá digitar la clave para poder acceder al uso del mismo. Esta clave pertenece al usuario Administrador del sistema la cual será validada para que tenga acceso..
(91) 70. 3.1 Pantalla de Bienvenida. Imagen # 8: Pantalla de Bienvenida. Esta pantalla nos da información sobre el sistema ControlWeb, su misión y visión.
(92) 71. 3.2 Pantalla del Menú. Gráfico # 9: Pantalla de Menu. En esta pantalla se indica que contiene el sistema CONTROLWEB. Controlar.-. Este acceso nos muestra dos opciones las cuales podemos. elegir para poder visualizar la navegación de los usuarios: . Navegación: Nos muestra los diferentes que se encuentran navegando en internet y las paginas las cuales está visitando. . Grafica de Navegación: Nos muestra el gráfico del ancho de que están utilizados los usuarios en común.
(93) 72. Internet.- Este acceso nos muestra tres opciones las cuales podemos elegir para poder dar acceso a internet a los diferentes usuarios: . Pagina Usuario: Nos va a permitir dar acceso total o parcial a los usuarios.. . Pagina departamento: Nos va a permitir dar acceso total o parcial a los usuarios pertenecientes a un determinado departamento.. . Ancho de banda: Nos va a permitir restringir el ancho de banda a las diferentes ip.. Reportes.- Este acceso nos muestra cuatros opciones las cuales podemos elegir para poder ver los reportes de la navegación de los usuarios. . Páginas visitadas: Nos muestra el reporte de las páginas visitadas por todos los usuarios.. . Top ten usuarios: nos muestra las 10 páginas más visitadas de un determinado usuario.. . Top ten páginas: nos muestra las 10 páginas más visitadas por los usuarios en común..
(94) 73. . Cuadro Estadístico: Nos muestra en un rango de tiempo, las páginas más visitadas, en forma estadística.. Departamentos: Este enlace nos lleva a otra página, en la cual podemos ingresar un nuevo departamento, modificar, visualizar y eliminar.. Administrador: Este enlace nos lleva a otra página, en la cual podemos ingresar un nuevo administrador, modificar, visualizar y eliminar.. Usuarios: Este enlace nos lleva a otra página, en la cual podemos ingresar un nuevo usuario, modificar, visualizar y eliminar.. Salir: Nos permite salir del sistema y nos direcciona a la pantalla de bienvenida..
(95) 74. 3.3 Pantalla de Controlar. Gráfico # 10: Pantalla de Controlar. En esta pantalla nos muestra a los usuarios que estén navegando en internet en ese momento, indicándonos la fecha, la hora, el usuario conectado, la ip de la maquina en donde el usuario se conecto, y la url( página web) que esta navegando..
(96) 75. 3.4 Pantalla de Ancho de Banda. Grafico # 11: Pantalla de Ancho de Banda. En esta pantalla podemos visualizar el ancho de banda utilizado por los usuarios en ese momento. De Entrada y salida..
(97) 76. 3.5 Pantalla de Restricciones de páginas por usuarios. Gráfico # 12: Pantalla de restricciones de pàginas por usuarios. En esta pantalla nos va a permitir dar acceso o denegar páginas web al usuario..
(98) 77. 3.6 Pantalla de Restricciones de páginas por Departamentos. Gráfico # 13: Pantalla de restricciones de pàginas por departamentos. En esta pantalla nos va a permitir dar acceso o denegar páginas web a los usuarios que pertenecen a dicho departamento.. En la misma podremos modificar dicha regla del departamento elegido..
(99) 78. 3.7 Pantalla de Ancho de Banda. Gráfico # 14: Pantalla de ancho de banda. En esta página, nos permite asignar ancho de banda limitado a ciertas ip. Ancho de banda de subida y de bajada..
(100) 79. 3.8 Reportes. Gráfico # 15: Pantalla de reportes. En los reportes, podemos elegir el deseado y las fechas iníciales o finales y el usuario, dependiendo dicho reporte..
(101) 80. 3.9 Pagina de Departamentos. Gráfico # 16: Pantalla de Departamentos. Esta pantalla nos va a permitir, ingresar un nuevo departamento, modificar, visualizar y eliminar..
(102) 81. 3.10 Pagina de Administrador. Gráfico # 17: Pantalla de Administrador. Esta pantalla nos va a permitir, ingresar un nuevo administrador, modificar, visualizar y eliminar..
(103) 82. 3.11 Pagina de usuarios. Gráfico # 17: Pantalla de Usuarios. Esta pantalla nos va a permitir, visualizar y eliminar.. ingresar un nuevo usuario, modificar,.
(104) 83. CAPITULO 4 Implementación y codificación 4.1. Creación de la Base de Datos Nuestra Base de Datos ha sido creada en POSTGRESQL 8.1 con el nombre de: “Controlweb”, se han definido las tablas obtenidas previo el diseño con sus respectivos campos, indicando las claves primarias que enlazan las demás tablas y las foráneas para su completa relación.. PostgreSQL es un servidor de base de datos relacional-orientada a objeto publicado bajo licencia libre BSD, una buena alternativa a MySQL.. Para crear la base de datos debe estar instalado el postgres, y por defecto se crea un usuario el cual podrá general la base de datos que requerimos hacer.. –su postgres.
Figure
Documento similar
Con este fin, expondremos un breve recuerdo sobre los problemas que, en térmi- nos de costes, morbilidad y mortalidad, gene- ra el alcohol en la sociedad. No deben olvidar- se
64. J.), J.: Direcciones pontificias. J.), J.: El Estado Corporativo. DE I,A CRUZ : La Propiedad.. J.), J.: Orientaciones cristianas del Fuero del Tra- bajo. GAIXART FOLCH, A.:
El manifiesto de una aplicación se encuentra en el directorio raíz del paquete .apk y, aunque el sistema operativo no utiliza toda la información que contiene,
calling other (public or private) methods from the same object (from himself) or calling other methods from other objects (public or accessible from that
public static void main(String[] args) { String counterFile = args[0];. int initialValue
– Los motes de los emblemas, las citas de epigramas, dísticos y otros textos (filacterias, pies de estampas, etc.) deberán ir entre comillas siempre, y
El formato general del documento principal será de un diseño de hoja de tamaño DIN-A4, 3cm de margen en todos los lados, fuente Times New Roman, interlineado 1,5 líneas, sin espaciado
Introduzca el texto, recordando no alterar el formato preestablecido en esta planilla; de modo que, no separe párrafos con ningún espacio (el formato ya está configurado de