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.