Documento de Requisitos de “Estacionamiento Inteligente”

Anuncio
Documento de Requisitos
de
“Estacionamiento Inteligente”
Fecha
06/07/2012
Versión
0.2
Integrantes
del grupo
Francisco Becker
Eduardo Castillo
Víctor Fernández
Ignacio Gómez
Documento de Inicio de Estacionamiento Inteligente
Prefacio
Este es el Documento de Requisitos del Proyecto de Procesamiento Digital
de Imágenes llamado “Estacionamiento Inteligente”, el cual tiene como
propósito el reconocimiento de patentes de automóviles para mantener un
registro de entrada y salida de estos, calculando el tiempo de estadía en un
estacionamiento.
Alcance del El Documento de Requisitos es la base de todo el desarrollo futuro de
documento “Estacionamiento Inteligente”. Describe los siguientes aspectos del sistema:
propósito, contexto, requisitos funcionales, requisitos de pruebas, requisitos
de ambiente, arquitectura del sistema y riesgos del proyecto.
Documentos Documento de Inicio de Proyecto, proyecto “Estacionamiento Inteligente”,
relacionados versión 0.1.
Autores Francisco Becker, Eduardo Castillo, Víctor Fernández, Ignacio Gómez.
Lectores Este documento está dirigido principalmente a los desarrolladores del
proyecto, pero es de interés de todos los interesados en el mismo.
Historia del Documento
Versión
Fecha
Explicación del cambio
Autor
0.1
08/06/2012
Primer borrador
Francisco Becker, Eduardo Castillo,
Víctor Fernández, Ignacio Gómez
0.2
06/07/2012
Segundo borrador
Francisco Becker, Eduardo Castillo,
Víctor Fernández, Ignacio Gómez
Documento de Inicio de Estacionamiento Inteligente
Índice de Materias
Prefacio
2
Historia del Documento
2
Lista de Figuras
4
Lista de Tablas
4
1 Introducción
5
1.1 Propósito
1.2 Alcance
1.3 Contexto
1.4 Estándares
1.5 Referencias
5
5
5
5
5
2 Requisitos del Sistema
6
2.1 Requisitos Funcionales
2.2 Requisitos de Interfaces
2.3 Manejo de Excepciones
2.4 Requisitos de Prueba
2.5 Matriz de Requisitos Funcionales y de Pruebas
6
6
7
9
8
3 Requisitos de Ambiente
9
3.1 Requisitos del Ambiente de Desarrollo
3.1.1 Hardware de Desarrollo
3.1.2 Software de Desarrollo
3.2 Requisitos del Ambiente de Pruebas
3.2.1 Hardware de Pruebas
3.2.2 Software de Pruebas
9
9
9
9
9
9
4 Arquitectura del Sistema
10
4.1 Diagrama de Arquitectura
4.2 Descripción de Módulos
10
10
5 Gestión de Riesgos
13
5.1 Supuestos
5.2 Dependencias
5.3 Restricciones
5.4 Riesgos
5.4.1 Riesgo 1
5.4.2 Riesgo 2
5.4.3 Riesgo 3
13
13
13
13
13
13
13
Documento de Inicio de Estacionamiento Inteligente
Lista de Figuras
Figura 1: Diagrama de arquitectura del sistema
10
Lista de Tablas
Tabla 1: Eventos externos
6
Tabla 2: Respuestas del sistema
7
Tabla 3: Excepciones
7
Tabla 4: Matriz de requisitos funcionales y de pruebas
9
Tabla 5: Matriz de requisitos funcionales y componentes
Documento de Inicio de Estacionamiento Inteligente
12
1. Introducción
En esta introducción se describe brevemente el contexto, objetivos y alcance del
proyecto a desarrollar, así como la documentación relativa al mismo. Esta
información está basada en el Documento de Inicio de Proyecto.
1. Propósito
El proyecto a desarrollar busca manejar el acceso a un estacionamiento de una
forma rápida, sin intervención de alguna persona, calculando el tiempo de estadía
de un vehículo mediante el reconocimiento de su patente.
2. Alcance
El alcance del proyecto se orienta a la detección de patentes, el procesamiento que
se aplicará a estas, el cálculo del tiempo de estadía.
3. Contexto
El programa que se desarrolla se está elaborando en C++ y se trabaja en OpenCV.
En estos tiempo existen diferentes códigos ya desarrollados y disponibles para los
usuarios para la detección de patentes.
4. Referencias
Libros y Manuales:
 Programación en C++. Algoritmos , Estructuras. (Joyanes Aguilar)
 Learning OpenCV: Computer Vision with the OpenCV Library (Gary Bradski, Adrian
Kaehler).
Documento de Inicio de Estacionamiento Inteligente
2. Requisitos del Sistema
1.
Requisitos Funcionales
RF1 El software debe ejecutarse en el momento en que un automóvil se encuentre en
una posición donde pueda reconocerse la patente del mismo.
RF2 Mediante una cámara IP, el sistema debe detectar y reconocer las patentes de
los automóviles, al reconocerlos este debe de guardarlos en una base de datos.
RF3 El sistema al detectar que un automóvil desea salir debe reconocer la patente de
este, buscarlo en la base de datos y proceder a calcular su tiempo de estadía en el
estacionamiento.
2.
Requisitos de Interfaces
La Tabla 1 muestra la lista de eventos externos a los que el sistema responde. La
primera columna es el nombre del evento; la segunda es la descripción del mismo. El
“iniciador” es la componente externa al sistema que inicia el evento. Los parámetros
son los datos asociados al evento. La respuesta es el nombre de una respuesta, cuya
descripción está en la Tabla 2.
Tabla 1: Eventos externos
Evento
Descripción
Iniciador
Parámetros
Respuesta
Evento
externo 1
El sistema debe
detectar cuando
un automóvil
ingresa al
recinto.
El automóvil al ingresar
al recinto.
El parámetro será el
automóvil que se debe
colocar en una posición
determinada.
Inicio del
procesamiento.
Evento
externo 2
El software debe
detectar la
patente del
automóvil y
registrarlo en la
base de datos.
El software será el que
inicie este evento, al
detectar el automóvil
entrante debe ser
capaz de detectar la
patente del mismo.
El parámetro será la
patente del automóvil la
cual debe estar en una
posición determinada.
El software al
detectar la patente,
podrá registrarlo en
la base de datos
del sistema.
Evento
externo 3
El sistema debe
detectar cuando
un automóvil se
disponga a salir
del recinto.
El automóvil al
disponerse a salir del
recinto.
El parámetro será el
automóvil que se debe
colocar en una posición
determinada.
El software al
detectar la patente,
podrá buscarlo en
la base de datos
del sistema.
Evento
externo 4
El sistema debe
calcular el tiempo
de estadía del
automóvil en el
establecimiento
El software será el que
inicie este evento, al
detectar la patente de
un automóvil saliendo
del recinto.
El parámetro será la
patente entregada por
la base de datos del
sistema.
El sistema
entregará el
tiempo de estadía
del automóvil en
el recinto.
Documento de Inicio de Estacionamiento Inteligente
La Tabla 2 muestra las respuestas del sistema frente a eventos externos.
Tabla 2: Respuestas del sistema
Respuesta
Descripción
Parámetros
Respuesta al
evento 1
Se iniciará el software mediante la captura de
imágenes para su posterior procesamiento.
Detectará el automóvil para iniciar la
captura de imágenes.
Respuesta al
evento 2
El software detectará y almacenará en una base
de datos la patente del auto entrante.
Las imágenes de la patente del
automóvil.
Respuesta al
evento 3
El software detectará y buscará en una base de
datos la patente del auto saliente.
Las imágenes de la patente del
automóvil.
Respuesta al
evento 4
El software calcula y entrega la diferencia de
tiempo entre la entrada y salida del automóvil.
El número de patente del automóvil
encontrada en la base de datos.
3.
Manejo de Excepciones
Excepción 1: El caso en que el software sufra un fallo de ejecución y no responda, se
tendrá que reiniciar el sistema para su correcto funcionamiento.
Excepción 2: El caso en que el software no detecte el automóvil entrante y/o saliente
del establecimiento.
Excepción 3: El caso en que el software no pueda detectar las patentes de los
automóviles por encontrarse en un lugar no esperado.
Excepción 4: El caso en que el software detecte un valor que no corresponda a la
patente del automóvil y la registre en la base de datos.
La siguiente tabla muestra las condiciones de excepción que se pueden dar en el
sistema, en relación con eventos externos y internos.
Tabla 3: Excepciones
Excepción
Descripción
Eventos o situaciones en que ocurre
1
El software no responda por
error del sistema.
Puede ocurrir por motivos por falta de memoria o
problemas en el código (ejecución).
2
No se detecten los automóviles
en la entrada y/o salida del
recinto.
Puede ocurrir por falla del procesamiento de las
imágenes obtenidas al no diferenciar el automóvil con el
resto del establecimiento.
3
No se logre detectar la patente
del automóvil .
Puede ocurrir por falta de luz o mala ubicación del
automóvil o de la patente.
4
Se registre una patente que no
corresponde al automóvil.
Puede ocurrir por mal estado de la patente (óxido,
suciedad) o por falta de luz.
Documento de Inicio de Estacionamiento Inteligente
4.
Requisitos de Prueba
Los requisitos de prueba son clases de pruebas que se harán sobre el sistema para
determinar que se cumplen los requisitos funcionales. Un requisito de prueba dará
lugar a muchos casos de prueba.
RP1
○
○
○
Probar que el software se ejecute al acercarse un automóvil.
Probar el software que funcione correctamente con el automóvil en diferentes
ángulos respecto a la cámara.
Probar que el software se mantenga activo en todo momento.
RP2
○
○
○
○
Probar que el software detecte las patentes.
Probar que el software detecte correctamente las patentes.
Probar que el sistema pueble correctamente la base de datos.
Probar que el software no le ocurre problemas de memoria.
RP3
○
○
○
5.
Detectar si la patente del automóvil que se encuentre en la salida del
establecimiento esté en la base de datos.
El software rescate correctamente los datos de la base de datos.
Calcular correctamente el tiempo de estadía del automóvil.
Matriz de Requisitos Funcionales y de Pruebas
Tabla 4: Matriz de requisitos funcionales y de pruebas
RP1 RP2 RP3
RF1 El software debe ejecutarse en el momento en el que un automóvil se
acerque a alguna entrada o salida del establecimiento.
RF2 El software detecta la patente del automóvil y procede a registrarlo en
la base de datos del sistema.
RF3 El sistema al detectar que sale un automóvil debe de buscarlo en la
base de datos del sistema para proceder a calcular el tiempo de estadía.
Documento de Inicio de Estacionamiento Inteligente
X
X
X
3. Requisitos de Ambiente
Esta
sección
describe
el
hardware
y
software
relevante
para
el
sistema
“Estacionamiento Inteligente”.
1. Requisitos del Ambiente de Desarrollo
1. Hardware de Desarrollo
En el desarrollo de este proyecto se utilizará un computador, el cual deberá tener
conectado incorporado una cámara RGB, en caso de no poseerla se deberá tener
disponible una cámara vía USB. El computador con que se trabajará deberá tener la
potencia necesaria para ejecutar todas las herramientas para el desarrollo del proyecto,
esto es tener una buena memoria RAM, espacio de disco duro disponible para los
softwares y la base de datos y un puerto USB disponible para la conexión de la cámara
web.
2. Software de Desarrollo
Para el desarrollo del proyecto se utilizarán las librerías de OpenCV para la detección de
patentes, utilizando el sistema operativo linux GNU/Linux. Su programación es en
código C++. Para la creación de la base de datos se utilizará el motor MySql y como
lenguaje transaccional C++.
2. Requisitos del Ambiente de Pruebas
El ambiente de pruebas incluye todos los elementos de software y hardware
identificados en la sección 3.1 además del hardware y software adicional aquí
identificado.
1. Hardware de Pruebas
El hardware que se usará para las pruebas del funcionamiento del sistema será un
computador, en él se realizarán todas las pruebas para ver el su buen funcionamiento.
Se realizarán pruebas con una cámara RGB, la cual estará conectada al computador,
colocándola en diferentes ángulos para probar el desempeño del sistema.
2. Software de Pruebas
Los software que se utilizarán para las pruebas son los siguientes:
○
○
○
○
Tanto el Sistema operativo Linux y Windows.
Software de detección de patentes en OpenCV.
Lenguaje de programación C++, desarrollado con QtCreator.
MySql para el motor de base de datos.
Documento de Inicio de Estacionamiento Inteligente
4. Arquitectura del Sistema
1. Diagrama de Flujo de Datos
La siguiente figura muestra los módulos del sistema y los principales flujos de
información. Los módulos aparecen indicados con su nombre corto o abreviatura.
Figura 1: Diagrama de flujo de datos del sistema
2. Descripción de Módulos
Las siguientes son las componentes descritas en la Figura 1. Por cada componente
se entrega un breve párrafo descriptivo de su función y sus interacciones con otras
componentes y con el medio.
Módulo Detección.
Será el encargado de detectar la patente del automóvil mediante la cámara RGB, y
enviar la información al Programa principal.
Módulo Procesamiento.
Este módulo se encarga de recibir la patente desde el programa principal para
almacenarlo en la base de datos, como también de enviar la información que se le
solicite como alguna patente o registros de tiempos.
Módulo Programa Principal.
Módulo principal el cual está encargado de coordinar todo el programa.
Documento de Inicio de Estacionamiento Inteligente
Módulo Tiempo.
Este módulo recibe los diferentes tiempos de entrada y salida para calcular el tiempo
de estadía del automóvil en el recinto.
Módulo Salida.
Es el módulo que está encargado de entregar toda la información del sistema.
Módulo de Detección de la Patente (Patente).
Este módulo captura la imagen, mediante una cámara RGB, de un automóvil que
está entrando o saliendo del recinto. Esta imagen será procesada mediante los
diferentes filtros para así obtener la patente de este.
La salida de este módulo, que será la patente del automóvil, será enviada como
entrada del programa principal.
Módulo de Procesamiento de la patente (BD).
Este módulo está encargado de recibir la información de la patente desde el
programa principal, el cual lo tiene que almacenar en la base de datos del sistema,
para luego utilizarlo cuando el programa principal lo requiera.
Este módulo interactúa en ambas direcciones con el Módulo de Programa Principal,
enviándole los valores de las patentes para su registro en la base de datos, como
también cuando se necesita recuperar datos al ser requeridos por el Programa
principal.
Módulo Programa Principal.
Este bloque será el encargado del control total del programa, será el encargado de
hacer uso de los módulo de procesamiento de patente y procesamiento de tiempo
para entregar la salida correspondiente.
Módulo Procesamiento del tiempo de estadía (Tiempo).
Módulo encargado de procesar la información entregada por el programa principal
para hacer el cálculo del tiempo transcurrido. Al recibir la información de la patente
de salida, con la información almacenada en la base de datos respecto a la hora de
ingreso, se procederá a hacer el cálculo del tiempo de estadía del automóvil en el
recinto, para luego retornar este valor y proceder al siguiente módulo.
Módulo Salida
Módulo encargado de recibir los datos entregados por el programa principal y
mostrar por pantalla el tiempo transcurrido desde el ingreso del vehículo hasta la
salida de este.
Documento de Inicio de Estacionamiento Inteligente
3. Matriz de Requisitos Funcionales y Componentes
Tabla 5: Matriz de requisitos funcionales y componentes
C1 C2 C3 C4 C5
El software debe ejecutarse en el momento en que un automóvil se
encuentre en la posición adecuada.
X
Mediante una cámara, el sistema debe detectar y reconocer las
patentes de los automóviles. Al reconocerlas, este debe guardarlas
en una base de datos.
X
El sistema al detectar que un automóvil desea salir debe reconocer
la patente de este, buscarlo en la base de datos y proceder a
calcular el tiempo su estadía en el estacionamiento.
X
Documento de Inicio de Estacionamiento Inteligente
X
X
X
X
X
5. Gestión de Riesgos
1. Supuestos
1. El usuario tendrá una patente clara y de 6 caracteres.
2. Se dispondrá de 1 cámara RGB para realizar la detección de entrada y salida de
los vehículos.
3. Las patentes sólo corresponderán a automóviles con patente chilena que se
encuentren ubicadas en la posición inferior central del mismo, tanto atrás como
adelante.
2. Dependencias
1. El automóvil se posicionará en un ángulo adecuado para que la patente pueda
ser detectada de forma correcta.
4. Restricciones
1. Limitaciones de la cámara a utilizar.
2. Limitaciones del sistema operativo (Linux).
5. Riesgos
A continuación se indican los principales riesgos del proyecto.
Riesgo 1: Cámara RGB
La capacidad, resolución y sensibilidad a la luz de la cámara con la que se dispondrá
podrían dificultar la detección de la patente.
Riesgo 2: Luz ambiental
La posición estratégica de la cámara, en lo posible, no se verá afectada por los
rayos de luz del exterior, pero también se necesitará complementar la iluminación en
la noche y evitar la saturación durante el día.
Riesgo 3: Posición de la patente del automóvil
Si la patente del automóvil se encuentra sucia, deteriorada o en condiciones no
legibles no se podrá proceder a la detección de la misma.
Documento de Inicio de Estacionamiento Inteligente
Descargar