Download Proyecto Streaming II Parte
Document related concepts
no text concepts found
Transcript
88 CAPÍTULO 5 5. IMPLEMENTACIÓN 5.1 Modelo Utilizado en Programación. Hemos utilizado la técnica de programación orientado a objetos por su eficiencia y eficacia en el modelo mvc, ya que permite la reutilización de código y mantiene una estructura modular a nivel de los diferentes paquetes. Este modelo interactúa con los diferentes objetos de mi aplicación, hecho que ayuda a reducir tiempos de implementación, reduce líneas de código y segmenta responsabilidades a cada objeto iterador. Figura 5.1 Modelo utilizado en programación 89 5.2 Esquema de desarrollo Para la elaboración de este sistema se siguió un esquema de simulación de n capas el mismo que ha surgido como una arquitectura predominante para la construcción de aplicaciones multiplataforma. Una de las principales razones por las cuales se desarrollo el SISV utilizando el esquema de n capas, es el fácil manejo de cada una de las clases dentro de la capa a la cual pertenece, de forma independiente a las demás capas sin afectar su funcionamiento, esto hace que el sistema se vuelva mucho mas robusto y fácil de corregir o implementar alguna mejora o nuevo cambio de acuerdo a las necesidades del negocio, a su vez, esto hace que sea mas fácil al momento de realizar las pruebas pertinentes al sistema cuando han ocurrido dichos cambios. La forma como interactúa el esquema de n capas es parecido al que se muestra en la figura: En el que voy a tener mi capa de presentación que es lo que el cliente va a visualizar, luego tengo mi capa o parte de lógica de negocios que son los procesos internos que se realizan con los datos que ingresa el usuario o las ordenes que este indica a través de la parte visual, y finalmente la capa de acceso a los datos que es la que permitirá realizar las conexiones a la base y también realizar las actualizaciones e inserciones a la misma. 90 Figura 5.2 esquema de desarrollo 5.3 Definición de Paquetes Para realizar la definición de los paquetes se ha considerado como ejemplo la jerarquía de Sun Microsystems. El significado de los diferentes sufijos se indica en la siguiente tabla: Significado de sufijos Id 1 2 3 4 Descripción Comercial Carrera de Ingeniería Sistemas Computacionales Sistema de Vigilancia Nombre característico del paquete Tabla 43 Por ejemplo: com.reto.sisv.ui 5.3.1 Estructura de Paquetes o com.cisc.sisv.Ado Sigla com cisc sisv ui(interfaz usuario) 91 Almacena clases de conexiones. Las clases implementadas son: JDataConnection.java Jconnection.java o com. cisc.sisv.configuration Almacena clases que permite realizar la configuración del sistema. Las clases implementadas son: JCameraConfiguration.java JConfigurationSet.java JConfigurationUtils.java JMotionDetectionConfiguration.java JPersistentPreferences.java JProgramSettings.java o com. cisc.sisv.filters Almacena las clases que permite la detección de movimiento Las clases implementadas son: JFilterPlugin.java JMotionDetectionListener.java o com. cisc.sisv.http Almacena clases que me permite realizar el acceso remoto desde cualquier cliente (browser). Las clases implementadas son: JHttpServerInstance.java JVigilanciaAutHandler.java 92 JVigilanciaWebHandler.java o com. cisc.sisv.res Este paquete contiene los diversos gráficos o diseños que se utilizaran en nuestra aplicación, además de variables constantes. Ejemplo: Addcam.gif Motion.gif New.gif o com. cisc.sisv.res.html Contiene funciones que serán invocadas para la presentación de las imágenes de video en el acceso remoto del cliente (browser). Las funciones implementadas son: Imageobjetc.js Imagepreloader.js Liveview.js Sequenceviewer.js o com. cisc.sisv.sys Almacena clases Las clases implementadas son: JBase 64Encoder.java JCaptureSource.java JCaptureInfo.jav 93 JExporter.java JExporterListener.java JMyMFUtil.java JRecordFrameInfo.java JRecordListener.java JSession.java o com. cisc.sisv.sys.ui Almacena las clases que me permite la visualización de las pantallas del sistema, es decir la interfaz de usuario. Las clases implementadas son: CheckBoxTitledPanel.java CompTitledBorder.java JAutenticacion.java JCameraSettings.java JCameraViewStatusListener.java JCameraView.java JCaptureExportDialog.java JCaptureHistoryDialog.java JDetectDeviceWaitDialog.java JMotionDetectionSettings.java JCaptureView.java JHelpAbout.java JMainFrame.java JNewUsuario.java JProgramSettingsDialog.java JProgramSettingsGenericPanel.java JProgramSettingsPathsPanel.java JProgramSettingsStartupPane.java JProgramSettingsWebPanel.java JVideoFormatChooser.java Jview Configuration.java JviewControl.java JviewSurveillance.java SpringUtilities.java 94 CAPÍTULO 6 6. PRUEBAS 6.1 Tipos de Pruebas De manera general se debe de realizar dos tipos de pruebas: verificación y validación. Verificación: Permite comprobar que el resultado se relacione a la especificación del sistema, es decir, que el sistema se este construyendo de manera adecuada. Validación: Se revisa si el resultado es en realidad lo que el cliente desea, es permitir alcanzar un sistema correcto tanto en la especificación como en el resultado de acuerdo a lo solicitado. La validación se basa en el modelo de casos de uso. 6.2 Técnicas de Pruebas Entre las más importantes consideramos las siguientes: 95 Prueba de Regresión: se comprueba que el sistema mantenga la funcionalidad establecida originalmente luego de haber realizado algún tipo de cambio en el mismo. Prueba de Operación: me permite conocer de que forma opera el sistema en un lapso de tiempo bajo condiciones normales de uso, o sea en producción. Prueba de Rendimiento: permite medir la capacidad de procesamiento del sistema bajo diferentes cargas, incluyendo espacio de almacenamiento y utilización del CPU. Prueba Negativa: El propósito es medir el estrés del sistema en situaciones inesperadas, en caso de que se use el sistema intencionalmente de manera incorrecta. Prueba de Casos de Uso: Se busca que el sistema final cumpla con las especificaciones funcionales establecidas anteriormente en los casos de usos originales. 96 Pruebas Ergonómicas comprende la relación hombre-máquina, tratar de que el sistema en si sea comprensible para el usuario, que los menús sean lógicos y legibles, los errores sean claros y precisos, etc. Prueba de Aceptación o Prueba de Validación: La finalidad de esta prueba es conseguir una revisión final por parte de alguna empresa que solicite el sistema, siendo esto a menudo la validación del sistema que permita su utilización. 6.3 Nivel de Pruebas. Se ha considerado tres niveles de prueba para la aplicación de las diversas técnicas de pruebas: Prueba de Unidad donde solamente una unidad es probada como tal, típicamente una clase, paquete de servicio, o subsistema. Prueba de Integración me permite comprobar que las diferentes unidades funcionen correctamente de manera conjunta. Pruebas de unidad e integración pueden ser hechas mediante casos de uso de pruebas, los cuales pueden ser aplicados a clases, paquetes de servicio, subsistemas y el sistema completo. 97 Prueba de Sistema esto nos indica que se probara el sistema completo o la aplicación como tal. Se considera el criterio del usuario final y los casos de uso de pruebas ejecutan acciones típicas del usuario. 6.4 Proceso de Pruebas. En lo que respecta al proceso de pruebas incluye tomar en consideración en si el propio proceso de desarrollo del sistema SISV, es decir poner atención en las estrategias, actividades y métodos los cuales deber ser empleados de manera continua de acuerdo a como se vaya avanzando y mejorando el sistema. De esta manera realizamos diversas pruebas en el sistema SISV, tomando como prioridad los procesos, se planifico y ejecuto las pruebas en lo que corresponde a la captura de la imagen de la cámara, de la configuración de movimiento, etc. Se conoce que existen varias estrategias para el proceso de prueba, como el orden en que se realizaran o que un conjunto de condiciones permita reutilizarse para ejecutar pruebas diferentes. El Orden de Pruebas permite definir en que momento y en que secuencia se emplearan las pruebas. Este orden depende de la estrategia de diseño que aplicamos ya que debe lograr una buena correspondencia con el proceso de desarrollo utilizado. Empezamos por los 98 mantenimientos, que proporciona datos o información para los procesos, los mismos procesos como la captura de imagen de una cámara para luego terminar en consultas como las grabaciones realizadas de dicha cámara. El Alcance de Pruebas identifica el tipo, número y casos de pruebas que se aplicarán para revisar el sistema en sus diferentes aspectos, si los casos de pruebas son muy extensos se seleccionara un numero pequeño de pruebas con la finalidad de que la probabilidad de encontrar faltas sea alto. Para ello consideramos los casos de uso analizados anteriormente, los que indican el límite de cada uno de los procesos o problemas que han sido establecidos. Los casos de usos utilizados fueron los de configurar parámetros, grabar video, consultar video. 99 CAPÍTULO 7 7. ASPECTOS ECONOMICOS Y FINANCIEROS 7.1. Presupuesto del Sistema Para la elaboración del SISV, y tomando en cuenta todos los costos a nivel de hardware, recurso humano, y software; se ha elaborado el siguiente presupuesto: Sueldo de programadores $300 * 3 personas * 2 meses= $ 1.800. Costo Del Hardware Webcams $35 * 2 webcam = $70. Total: $1.870. La inversión realizada para la realización de este sistema fue aproximadamente de $5.470 7.2 Recuperación de la inversión Para la recuperación de la inversión que realiza el cliente en la adquisición de este sistema, hemos detallado uno de los ahorros más importantes que tendría este, beneficiándose con nuestro sistema de seguridad y vigilancia SISV: 100 Minimizar el personal de seguridad es el principal beneficio a nivel económico que puede tener nuestro cliente si realiza la adquisición de nuestro sistema de seguridad y vigilancia. Cabe indicar que la recuperación de la inversión que conlleva la adquisición del sistema de Seguridad y vigilancia SISV, no se vera reflejado mucho en el ingreso de dinero hacia el dueño del local, o negocio, sino mas bien en el realce que tendría el negocio como tal, sino al brindar un buen servicio a los clientes y por sobretodo seguridad. 7.3 Formas de Pago Para la cancelación de este sistema hemos contemplado los factores económicos de este país por lo cual detallamos las siguientes opciones. El 100% del total del sistema al momento de la instalación. El 50% del total del sistema al momento de la instalación y el restante en cuotas firmadas a través de un contrato 101 CAPÍTULO 8 8. RECOMENDACIONES Y CONCLUSIONES 8.1. Recomendaciones. 8.1.1. Hardware. Computador Pentium 4. Procesador de 2.0 Ghz o superior. 512 de Memoria RAM. Disco de 80 GB. Tarjeta de red 100Mbps o mayor. 8.1.2. Software. Internet Explorer, NetScape, Mozilla o FireFox. Sistema Operativo Linux (distribución Fedora Core 4). Base de Datos Postgres. Instalación de API Java Media Framework 102 8.1.3. Redes. Switch o Hub (el número de puertos dependerá de los clientes que tenga acceso a la red local y tengan un usuario y password para acceder desde cualquier cliente (browser) para observar cada una de las cámaras). 8.1.4. Seguridad del Sistema Debido a que existen personas inescrupulosas que pueden causar daño a una empresa determinada al obtener información confidencial, se debe establecer un nivel de seguridad con respecto a factores de password autenticación, como algo que conozco: usuario y para restringir el acceso a la aplicación, así como la utilización de otros factores para hacerla mas seguro como a algo que tengo: como una tarjeta (donde puede guardar una clave), o algo que soy: como la voz, huella digital. 8.1.5. Mejoras Nuestro proyecto cumple con las especificaciones establecidas anteriormente, sin embargo es necesario dar a conocer que se puede realizar muchas mejoras como por ejemplo el poder realizar notificaciones de correo vía e-mail al momento de conocer la detección de movimiento en la cámaras, así mismo podría enviar 103 mensajes a un celular sobre la detección de movimiento para informar a la persona de que algo esta ocurriendo cuando esta se encuentre en otro lugar. Esta sugerencia muestra claramente un valor agregado que le permitirá distinguirse entre otros productos que ya se encuentran en el mercado, y que al igual que nuestro sistema tratan de sobresalir de los demás. Otra mejora importante seria el soporte para otros idiomas, 8.1.6. Limitaciones y desventajas del SISV No se permite la captura de video desde cámaras IP. JMF, el paquete opcional de Java que permite la captura de imágenes, no es tecnología punta. En plataformas Windows, el sistema de captura de video es VfW, el cual es bastante anticuado. No hay soporte para dispositivos de captura tipo DirectX, con lo que algunos modernos dispositivos de captura, tales como cámaras AV, etc., no pueden ser usados. El acceso remoto de la vistas de las cámaras solo se permite internamente en la red local, no hay soporte para transmitir vía Internet. No se realiza captura ni grabación de sonido, sólo de imágenes. 104 8.1.7. Capacidades funcionales y beneficios del SISV Soporta webcams. Procesamiento simultáneo de cualquier número de webcam soportadas por el sistema operativo. Vista remota de la imagen de las cámaras usando cualquier navegador de Internet con Javascript habilitado. Vista local en dos modos: Vista de Vigilancia con todas las cámaras mostradas en el monitor de la PC o Vista de Control con sólo un listado de los estados de las cámaras y estadísticas de movimientos registrados. Detección del movimiento analizando la imagen. La detección del movimiento se puede configurar permanente. Ante la detección de un movimiento en una cámara: Una secuencia puede ser grabada en su disco duro. Una alarma visible o sonora puede ser ejecutada. Secuencias grabadas localmente, pueden ser revisadas más tarde, bien desde el mismo PC, así como remotamente (red local) usando cualquier navegador de Internet con Javascript habilitado. 105 8.1.8. Conclusiones En definitiva se ha logrado desarrollar un sistema bajo plataforma y estándares abiertos y generalizados, que han permitido que sea flexible y versátil, SISV es un ejemplo de un aplicativo que comprende todo lo que el usuario por lo general desea: multimedia, movilidad, bajo costo, y un valor añadido: seguridad en su lugar de negocio o pequeña empresa que este disponga. Las principales causas por la cual muchos sistemas no son adquiridos son precisamente por su costo, porque muchas veces los dueños de los pequeños negocios no cuentan con los recursos económicos para obtenerlos. El hecho es que nuestro sistema se presenta como una alternativa viable para aquellas personas que requieran un nivel de seguridad sobre sus negocios que al menos le permita saber que esta sucediendo dentro del mismo.