UNIVERSIDAD TECNOLOGICA ISRAEL Facultad de Sistemas Ciclo 2008-2009
PROYECTO INTEGRADOR 6to NIVEL MONITOR MANAGER APLICATION
Integrantes: Esteban Gangotena Alan Fonseca
Fecha: 2009-08-27
1
1. INTRODUCCIÓN
En la actualidad, con el rápido crecimiento tecnológico, surgen nuevas formas de seguridad. Una de ellas es de controlar ciertas zonas de una empresa, donde exista mayor acceso de personas no deseadas, como por ejemplo el lugar de recepción de la empresa, o una bodega donde se guardan documentos de gran importancia. El medio para poder controlar y saber qué y quienes ingresaron a la zona, es poder implementar un sistema de vigilancia que facilite con datos precisos sobre todos los movimientos realizados en dicha zona.
1.1 PLANTAMIENTO DEL PROBLEMA Debido al constante robo de objetos de valor, pérdida de información confidencial de una empresa, o el simple hecho de proteger un bien nuestro, han surgido las siguientes interrogantes para plantear el tema de investigación
¿Cuántas empresas protegen áreas específicas o criticas? ¿Cuántas personas dentro de su área de trabajo protegen objetos de valor, a su cargo? ¿Cuál es el monto total que se pierde? 1.2. SISTEMATIZACION 1.2.1 DIAGNÓSTICO La importancia de protección y control de artículos valiosos dentro de una oficina, se hace necesario implantar un sistema para controlar el ingreso de personas, que permita generar un reporte de número de accesos al área protegida. La falta de un monitoreo constante con lleva a la pérdida de objetos o alteraciones del los mismos. Entre un 50% y 60% de empresas pequeñas no disponen de sistemas de seguridad que funcione 24 horas del día, incluyendo los horarios de más tráfico de gente en un área específica.
2
Alrededor de 20% de todos los objetos utilizados que se encuentran dentro del área protegida retornan con algún tipo de daño o alteración. De acuerdo a las mustras tomadas en una empresa se ha recolectado los siguientes datos que se muestran en la taba:
DIAS 1 2 3 4 5 6 7 8 9 10
NUMERO DE OBJETOS EXTRAVIADOS 3 2 2 1 1 0 3 2 5 3
Los datos recolectados los podriamos los podriamos representar en la siguiente grafiica:
3
1.2.2. PRONÓSTICO
Al no llevar un monitoreo continuo de áreas críticas se podría tener consecuencias graves q afectan la productividad de una empresa. La dificultad al controlar el tráfico de personal dentro de una oficina en diferentes horarios, lo que generaría pérdida de objetos, modificación de información o deterioro de los mismos sin poder determinar responsables del daño.
4
De los datos recolectados podemos agregar una linea de tendencia que tendria como ecuacion y = -0,017x3 + 0,408x2 2,452x + 5,366 R² = 0,559 Con la ecuación hallada anteriormente se podría estimar que sucedería dentro de 30 días. Obtendríamos lo siguiente: y = -0,017(30)3 + 0,408(30)2 - 2,452(30) + 5,366 y=
3.567
Los cuales representan el número de objetos perdidos al día numero 30.
5
1.2.3. CONTROL DE PRONÓSTICO
Al diseñar un sistema que permita llevar a cabo el monitoreo de un área crítica con abundante afluencia de personal, permitirá controlar y evitar el mal uso, deterioro y perdida de objetos e información que son de importancia para la empresa. A través de la aplicación se podrá determinar cuántas veces se accedió al área con un agregado adicional que será la captura de la imagen de la persona que acceso al área critica. 1.3. OBJETIVOS
1.3.1. GENERAL Desarrollar un producto de software y hardware que permita monitorear un mobiliario sin interrupciones. 1.3.2. ESPECÍFICOS 1.3.2.1. Estudiar el impacto que ocasiona la pérdida de información y objetos de valor en una empresa. 1.3.2.2. Interpretar las señales de un circuito eléctrico conformado por una señal de un actuador, utilizando el lenguaje de bajo nivel. 1.3.2.3. Lograr la comunicación entre hardware (circuito digital) y la aplicación, por medio de los puertos del CPU. 1.3.2.4. Diseñar una aplicación que permita una conexión con base de datos y que la misma emita reportes de los mismos. 1.3.2.5. Permitir que la aplicación pueda manejar puertos del CPU, logrando activar una cámara Web. 1.3.2.6. Diseñar diagramas de UML que permita identificar actores y procesos del sistema. 1.3.2.7. Utilizar el modelo es espiral en el desarrollo de la aplicación, ayudara a programar las actividades del desarrollo del sistema. 1.3.2.8. Utilizar Programación Orientada a Objetos en el desarrollo del software.
6
1.4 ALCANCE El sistema esta diseñado para recibir señales eléctricas de hardware e interpretarlas como señales binarias, la interpretación de estas señales se las realizara a través de una aplicación con conexión a una base de datos. Por cada señal enviada de hardware la aplicación conectada al mismo por un puerto serial registrara cada una de estas señales con hora, fecha, encargado de mobiliario, tipo de mobiliario protegido, los datos de almacenaran en una base de datos. Los datos podrán ser mostrados en pantalla o exportados a un archivo plano. La cámara Web se activará cuando el hardware envíe una señal y la aplicación la reciba, grabará los registros del suceso en el momento dado. 1.5 JUSTIFICACIÓN
1.5.1. PRÀCTICA Todas las personas poseen objetos de valor que necesitan que estén a buen recaudo. Por lo que es necesario implementar un sistema de monitoreo en lugares donde no se tenga la seguridad apropiada. Muchos de estos lugares son de acceso de varias personas Obtenidos los resultados de la investigación es fundamental brindar soluciones y resolver los inconvenientes como las pérdidas de objetos, etc. Con la implantación de este producto de software se conseguirá una disminución notable en cuanto a pérdidas, mal uso y/o alteraciones de documentos u objetos de valor. Logrando una estabilidad dentro de la empresa, tanto financiera como de protección de objetos de valor.
1.5.3. METODOLÒGICA 7
Para la obtención de información se utilizará las siguientes metodologías. Inicialmente se utilizará la investigación científica de tipo aplicada que permite plasmar los conocimientos en el desarrollo de un producto; Además se realizarán encuestas y entrevistas a todo el personal que tienen acceso al área crítica. Como metodología de desarrollo se ha tomado en consideración la utilización la metodología orientada a objetos
1.6. Estudio de factibilidad 1.6. Factibilidad Técnica 1.6.1. Factibilidad de Hardware.
El hardware de aplicación serán los siguientes. Requisitos mínimos PC
PC desktop
Procesador
Pentium IV
Memoria RAM
256 MB
Disco Duro
60GB
Monitor
15’
1.7.2. Factibilidad de Software
El software que se utilizará para el proyecto, tomando en cuenta nuestros conocimientos, facilidad, estabilidad y menos costo será el siguiente: 1.7.2.1. Lenguaje de Programación
Car acterí st icas
%
JAV A
C#
8
Orientado a Objetos
20
5
1
5
1
Fiabilidad
10
5
0.5
5
0.5
Facilidad de conexión
10
4
0.4
3
0.3
Independiente a la arquitectura
10
5
0.5
4
0.4
Seguridades
10
5
0.5
5
0.5
To tal
100
4.9
4.1
1.7.2.2. Software de base Car acter ísticas
%
WINDOWS XP
LINU X
Costo
10
3
0.3
10
1
Estabilidad
40
4
1.6
38
14.82
Facilidad
10
4
0.4
7
0.7
Seguridad
20
3
0.6
18
3.6
20
15
0.75
16
0.6
100
29
Compatibilidad con otros sistemas To tal
90
1.7.2.3. Software Base de Datos Características
%
MYSQL
%
SQL % SERVER
Velocidad
5
100
5
80
4
Soporte
10
100
10
100
10
9
Seguridad
20
40
8
90
18
Integridad referencial 20
40
8
90
18
Orientación a objetos
10
60
6
90
9
TOTAL
10 0
64 85,5
1.6.3. Factibilidad operativa. 1.6.4. Factibilidad económica Presupuesto
INVERSION Cantidad 1 1 1 1 1 1 1 1
DE EQUIPOS Equipo Computador Monitor Cámara Tarjeta Placa para PIC Cable Serial Cable PIC
COSTO DE DESARROLLO Desarrollo Servicios Básicos Mano de Obra Servicio de Internet Suministros de Oficina Movilización Gastos Varios
Características Costo Core2duo, 160Gb disco, 1Gb RAM 320 BENQ Pantalla Plana 120 WebCam externa VGA 15 Comunicación serial 7 Placa para PIC 12 Externo, tipo hembra 20 Conexión PIC 2 PIC 12 TOTAL 508
Tiempo 6 Meses 6 meses(5 horas diarias) 6 meses 6 Meses 6 Meses 6 Meses TOTAL
Costo 300 800 180 100 150 120 1650
CAPITULO DOS 2. MARCO DE REFERENCIA
2.1. MARCO TEÓRICO 10
Para la realización de este proyecto se debe puntualizar varios aspectos que ayudarán a la recopilación de información, al análisis, diseño, construcción e implementación del sistema como son lenguajes de programación, gestores de base de datos y metodologías de desarrollo de software.
Lenguajes de Programación Los computadores necesitan de un lenguaje específico para su funcionamiento a nivel de software, constantemente interpretan todas las instrucciones que reciben desde un programa. Los lenguajes de programación son lenguajes especiales que ayudan al usuario a comunicarse con la computadora. Establecen una comunicación entre el humano que prefiere usar palabras, el sistema decimal y la computadora, que trabaja solo con números binarios (0's y 1's).
11
GRÁFICO DE EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
12
Programación orientada al objeto. Las metas de la programación orientada al objeto es mejorar la productividad de los programadores haciendo más fácil de rehusar, extender los programas y manejar sus complejidades. De esta forma, se reduce el costo de desarrollo y mantenimiento de los programas. En los lenguajes orientados al objeto los datos son considerados como objetos que a su vez pertenecen a alguna clase. A las operaciones que se definen sobre los objetos son llamados métodos. Ejemplo de programas orientados al objeto: Visual BASIC y C++. Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Para realizar una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos. La programación orientada a objetos es una de las formas más populares de programar y viene teniendo gran acogida en el desarrollo de proyectos de software desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar. Las ventajas que el lenguaje orientado a objetos es: • Fomenta la reutilización y extensión del código. • Permite crear sistemas más complejos. • Relacionar el sistema al mundo real. • Facilita la creación de programas visuales. • Construcción de prototipos • Agiliza el desarrollo de software • Facilita el trabajo en equipo • Facilita el mantenimiento del software • Análisis y diseño Orientado a Objetos
13
Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. También se necesitará realizar un análisis y diseño orientado a objetos. El modelamiento visual es la clave para realizar el análisis. Desde los inicios del desarrollo de software han existido diferentes metodologías para hacer esto del modelado, pero sin lugar a duda, el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías. El lenguaje UML, tiene como fin modelar cualquier tipo de sistemas (no solamente de software) usando los conceptos de la orientación a objetos. Y además, este lenguaje debe ser entendible para los humanos y máquinas. Los modelos orientados a objetos cuando se construyen en forma correcta, son fáciles de comunicar, cambiar, expandir, validar y verificar. Este modelamiento en UML es flexible al cambio y permite crear componentes plenamente reutilizables. Gestores de Base de Datos
Un sistema de gestión de Bases de Datos (SGDB) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. Los objetivos principales de un SGBD consisten en proporcionar un entorno eficaz y eficiente que permita el almacenamiento y la recuperación de información en una base de datos. MODELOS DE DATOS Modelo relacional Emplea una colección de tablas para representar tanto los datos como las relaciones entre ellos. Cada tabla tiene varias columnas con nombre único. Sistemas de Información El desarrollo de nuevas tecnologías de información y comunicación han permitido a los informáticos generar una serie de nuevas aplicaciones (proyectos y soluciones) que permiten llevar a cabo de mejor manera una serie de procesos y procedimientos que se los llevaba de forma manual reduciendo costos y tiempos de tal manera que el proyecto de la creación de un software para el Control de asistencia de trabajadores en sus diferentes frentes de trabajo mediante dispositivos móviles PDA. Es un producto de bastante efectivo en el aspecto de
14
poder tener la información detallada de las asistencias, así como los resultados obtenidos en las jornadas de trabajo. Evolución de los Sistemas de Información Comienza con la adquisición de la primera computadora y normalmente se justifica por el ahorro de mano de obra y el exceso de papeles. Las aplicaciones típicas que se implantan son los Sistemas Transaccionales tales como nóminas o contabilidad. El pequeño Departamento de Sistemas depende en la mayoría de los casos del área de contabilidad. El tipo de administración empleada es escaso y la función de los sistemas suele ser manejada por un administrador que no posee una preparación formal en el área de computación.
Para la ejecución y culminación del presente proyecto, se plantea una metodología de programación Orientada a objetos, utilizando arquitectura del modelo en espiral.
15
2.2.
MARCO CONCEPTUAL
En el siguiente proyecto se plantea realizar un sistema de monitoreo de mobiliario el cual se podrá implementar en cualquier sitio que se requiera tener algún tipo de seguridad adicional el mismo será desarrollado utilizando programación orientada a objetos para el análisis el proyecto se apoyará en un leguaje de modelamiento unificado UML. Con un modelamiento de la base de datos utilizando el modelo relacional obteniendo una colección de tablas y datos relacionados entre sí, teniendo como función principal el poder llevar el registro de cuantas veces y a que hora se accedió al área que se desea proteger. El sistema de fácil implementación permitirá llevar un control marcado en objetos de valor en cualquier departamento de una empresa. Todos estos reportes posteriormente se alojaran directamente en la misma maquina donde se instalo la aplicación.
16
UML es un estándar para el modelamiento de sistemas. UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base orientado a objetos. Lenguajes Lenguaje de máquina El lenguaje de máquina está orientado hacia la máquina que está constituida por varios arreglos de "bits". Este lenguaje es fácil de entender por la computadora, pero difícil para el usuario. Es el lenguaje original de la computadora el cual es generado por el "software", y no por el programador. Lenguaje de bajo nivel Es un lenguaje de programación bien cercano al lenguaje de máquina. Es difícil de entender por las personas y requiere que los programadores codifiquen las instrucciones con muchos detalles. Ejemplo: lenguaje ensamblador. Lenguaje de alto nivel Es un lenguaje que se asemeja más al lenguaje humano que a un lenguaje de máquina o ensamblador. Es más fácil escribir programas en este lenguaje, pero luego deben ser traducidos por compiladores o intérpretes para que la computadora los entienda. Concepto: “Un lenguaje de programación es una serie de comandos que nos permiten codificar instrucciones de manera que sean entendidas y ejecutadas por una computadora”.
2.3 . MARCO TEMPORO/ESPACIAL Una vez implementado todo el sistema se espera que tenga una duracion en actividad de por lo menos 6 años, con un mantenimiento periodico de 6 meses, ya que todas las herramientas que se a escogido para la realizacion del sistema son las mas optimas, esperamos que el tiempo estimado de los años sea el minimo y un maximo de tiempo de actividad del sistema sea de 10 años. El sistema a realizarse para el desarrollo del presente proyecto, será desarrollado, en la provincia de Pichincha, en el canton Quito.
17
2.3. MARCO LEGAL
Los programas de ordenador se consideran obras literarias y se protegen como tales. Dicha protección se otorga independientemente de que hayan sido incorporados en un ordenador y cualquiera sea la forma en que estén expresados, ya sea en forma legible por el hombre (código fuente) o en forma legible por máquina (código objeto), Ya sean programas operativos y programas aplicativos, incluyendo diagramas de flujo, planos, manuales de uso, y en general, aquellos elementos que conformen la estructura, secuencia y organización del programa. El software que se desarrollara será de propiedad intelectual de ALAN SAIF FONSECA ORDOÑES y JUAN ESTEBAN GANGOTENA GOMEZJURADO Alumnos de la Universidad Israel, de acuerdo con la ley de propiedad intelectual artículo 29.
18
CAPITULO TRES
3. PROCESO METODOLÓGICO 3.1. Tipo de investigación El tipo de metodología Científica que se va a usar para el desarrollo del proyecto va a ser de Investigación aplicada. La cual nos permite plasmar todo nuestro conocimiento en un producto de calidad de fácil implementación. 3.2. Unidad de Análisis Todo el análisis realizado se basa en datos recopilados en el departamento de contabilidad de la organización CORAPE (Coordinadora de Radio Popular y Educativa del Ecuador) debido a que dicha organización maneja una contabilidad tradicional, en la cual se maneja documentos y objetos importantes como facturas, retenciones, pautajes, chequeras, solicitudes de chequeras, cheques firmados, entre otros. 3.3. Método científico El método científico que se utilizará para la realización de este proyecto será: Inductivo el cual me permitirá que a partir de casos particulares formular
una hipótesis de investigación para posteriormente se demostrara. 3.4. Metodología de desarrollo de sistema Metodología Orientada a Objetos La orientación a objetos puede ser descrita como el conjunto de disciplinas de ingeniería de software para el modelado y desarrollo que hacen más fácil construir sistemas complejos a partir de componentes individuales, en el presente proyecto la metodología a aplicar es la orientada a objetos, la cual permite: •
Modelar el mundo real más ajustado a la perspectiva del usuario como es posible.
•
Interactuar fácilmente con un ambiente de computación (tecnología).
19
•
Construir componentes de software reutilizables y librerías fácilmente extensibles de módulos de software.
•
Modificar y extender fácilmente implementaciones de componentes sin tener que recodificar todo desde el inicio.
UML Este lenguaje gráfico nos permite: •
Visualizar en diagramas el sistema completo
•
Especificar procesos y personajes
•
Construir el sistema
•
Documentar el sistema.
Modelo en espiral El modelo en espira permitirá identificar cada una de las tareas, objetivos, planificación para el desarrollo de este software. Este modelo evolutivo permite un análisis de los riesgos del proyecto que pueden llevar a la finalización inesperado del mismo.
20
CAPITULO CUATRO 4. INGENIERIA DE SOFTWARE 4.1. ELECTRONICA 4.1.1. FUNCIONAMIENTO El circuito esta construido principalmente por un PIC el cual tiene instrucciones que controla los sensores conectado a la placa, al momento que los mismos emiten una señal el PIC se encarga de enviar la señal a través de un puerto serial hacia el PC. 4.1.2. DIAGRAMA DEL CIRCUITO
4.2. PROCESO DE INGENIERIA 4.2.1. El modelo en espiral establece una serie de modelos y distintas etapas por las que el producto de software pasó. •
Análisis
•
Diseño
•
Construcción
21
•
Pruebas
•
Planificación
•
Cliente
4.2.1. MATRIZ DE RIEGOS RIESGOS
CATEGORI A
PLAN DE CONTINGENCIA
Conexión Software con Hardware
ALTO
Investigación y asesoramiento con Ing. Gutiérrez profesor de la Universidad.
Implementación de Hardware
ALTO
Asesoramiento por parte de un experto en el tema.
Tiempo de desarrollo e investigación
MEDIO
Cumplir correctamente con el cronograma de actividades, simultáneamente hacer evaluaciones del proceso de desarrollo del sistema.
Conexión a Base de Datos
MEDIO
Investigación profunda y asesoramiento con personal de la universidad sobre la conexión de SQL con Java.
Conexión con dispositivo externo (WebCam)
ALTO
Investigación y soporte en aplicaciones en código libre.
22
4.2.2. DIAGRAMAS CASOS DE USO
DIAGRAMA DE CLASES DE LA APLICACIÓN
23
DIAGRAMA DE DESPLIEGUE
24
USB <<MONITOR_ MANAGER.JA R>>
SISTEMA ELECTRÓN ICO
TCP/I P
BASE DE DATOS WEBCAM INTEGRAD A
<
DIAGRAMA CONCEPTUAL
25
4. MODELO DE DATOS 4.3.1. MODELO RELACIONAL DE BASE DE DATOS
CONCLUSIONES 26
Luego de un profundo estudio acerca del monitoreo de mobiliarios en empresas, microempresas, organizaciones en la ciudad de Quito, obteniendo datos reales y un buen análisis y proceso de desarrollo sistematizado; concluimos que se ha cumplido el objetivo general de este proyecto, a través de una conexión de software y hardware, llevando a cabo un monitoreo activo, sin interrupciones de un mobiliario especifico. RECOMENDACIONES Con el desarrollo de este sistema se debería dar mas enfoque a la conexión de base de datos, ya que todos los registros obtenidos mediante hardware pueden llegar hacer muy complejos. Se recomienda utilizar un medio de conexión de tipo USB entre software y hardware, pues los puertos seriales y conectores ya no se encuentran en el mercado.
BIBLIOGRAFIA Diagramas UML http://www.abcdatos.com/tutoriales/tutorial/l7158.html Modelo en espiral http://es.wikipedia.org/wiki/Desarrollo_en_espiral Lenguaje maquina http://es.wikipedia.org/wiki/Lenguaje_de_m%C3%A1quina Programación orientada a objetos www.monografias.com/.../objetos/objetos.shtml
Base de datos http://livedocs.adobe.com/dreamweaver/8_es/using/wwhelp/wwhimpl/common/html /wwhelp.htm?context=LiveDocs_Parts&file=29_conn5.htm Monitoreo de mobiliario http://www.elobservadoreconomico.com/archivo_anterior/154/monitoreo.php INDICE
27
1. INTRODUCCIÓN 1.1 PLANTAMIENTO DEL PROBLEMA 1.2. SISTEMATIZACION 1.2.1 DIAGNÓSTICO 1.2.2. PRONÓSTICO 1.2.3. CONTROL DE PRONÓSTICO 1.3. OBJETIVOS 1.3.1. GENERAL 1.3.2. ESPECÍFICOS 1.4 ALCANCE 1.5 JUSTIFICACIÓN 1.5.1. PRÀCTICA 1.5.2. METODOLÒGICA 1.6. Estudio de factibilidad 1.6. Factibilidad Técnica 1.6.1. Factibilidad de Hardware. 1.7.2. Factibilidad de Software 1.6.3. Factibilidad operativa. 1.6.4. Factibilidad económica Presupuesto CAPITULO DOS 2. MARCO DE REFERENCIA 2.1. MARCO TEÓRICO MARCO CONCEPTUAL . MARCO TEMPORO/ESPACIAL
28
MARCO LEGAL CAPITULO TRES 3. PROCESO METODOLÓGICO 3.1. Tipo de investigación 3.2. Unidad de Análisis 3.3. Método científico 3.4. Metodología de desarrollo de sistema CAPITULO CUATRO 4. INGENIERIA DE SOFTWARE 4.1. ELECTRONICA 4.1.1. FUNCIONAMIENTO 4.1.2. DIAGRAMA DEL CIRCUITO 4.2. PROCESO DE INGENIERIA MATRIZ DE RIEGOS DIAGRAMAS CASOS DE USO DIAGRAMA DE CLASES DE LA APLICACIÓN DIAGRAMA DE DESPLIEGUE DIAGRAMA CONCEPTUAL MODELO DE DATOS MODELO RELACIONAL DE BASE DE DATOS CONCLUSIONES RECOMENDACIONES BIBLIOGRAFIA
29