Download Documento de Requisitos

Document related concepts

MATLAB wikipedia , lookup

Initrd wikipedia , lookup

Ataque de arranque en frío wikipedia , lookup

Horde (software) wikipedia , lookup

Raspbian wikipedia , lookup

Transcript
Documento de Requisitos
del Proyecto
“Reconocimiento De Rostros Para Acceso A
Sesión De Computador”
Fecha
29-04-2011
Versión
versión 0.1
Integrantes
del grupo:
Benjamín Ginouvès
Franco Luca
Carlos Quiroz
Herbyn Toledo
Documento de Requisitos de Nombre del Sistema
Página i
Prefacio
Alcance del
documento
Documentos
relacionados
Este es el Documento de Requisitos del Proyecto de Proceso Digital de Imágenes
llamado “RECONOCIMIENTO DE ROSTROS PARA ACCESO A SESIÓN DE
COMPUTADOR”. La idea general de este sistema es lograr el acceso a un ordenador o
sistema operativo mediante autentificación biométrica.
El Documento de Requisitos es la base de todo el desarrollo futuro del Proyecto
“RECONOCIMIENTO DE ROSTROS PARA ACCESO A SESIÓN DE
COMPUTADOR”. Describe los siguientes aspectos del sistema: propósito, contexto,
requisitos funcionales, requisitos de pruebas, requisitos de calidad, requisitos de
ambiente, arquitectura del sistema, requisitos del desarrollo, requisitos de postdesarrollo, y riesgos del proyecto.
Documento de Inicio de Proyecto, proyecto “RECONOCIMIENTO DE ROSTROS
PARA ACCESO A SESIÓN DE COMPUTADOR”,
versión 0.1, 28-04-2011.
Autor Benjamín Ginouvès, Franco Luca, Carlos Quiroz, Herbyn Toledo
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
29-04-02011
Primer borrador
Benjamín Ginouvès, Franco
Luca, Carlos Quiroz, Herbyn
Toledo
Documento de Requisitos de Nombre del Sistema
Página ii
Índice de Materias
Prefacio ....................................................................................................................................................... ii
Historia del Documento ............................................................................................................................. ii
Lista de Figuras ......................................................................................................................................... iv
Lista de Tablas .......................................................................................................................................... iv
1 Introducción ............................................................................................................................................. 1
1.1 Propósito ................................................................................................................................................. 1
1.2 Alcance ................................................................................................................................................... 1
1.3 Contexto .................................................................................................................................................. 1
1.4 Estándares ............................................................................................................................................... 1
1.5 Referencias.............................................................................................................................................. 1
1.6 Documentación ....................................................................................................................................... 1
1.6.1 Documentos Existentes ........................................................................................................................ 2
1.6.2 Documentos a Desarrollar .................................................................................................................... 2
1.6.3 Documentos a Modificar...................................................................................................................... 2
2 Requisitos del Sistema ............................................................................................................................. 3
2.1 Requisitos Funcionales ........................................................................................................................... 3
2.2 Requisitos de Interfaces .......................................................................................................................... 3
2.3 Manejo de Excepciones .......................................................................................................................... 4
2.4 Requisitos de Prueba ............................................................................................................................... 4
2.5 Matriz de Requisitos Funcionales y de Pruebas...................................................................................... 4
3 Requisitos de Calidad .............................................................................................................................. 6
3.1 Calidad de la Funcionalidad.................................................................................................................... 6
3.1.1 Calidad de la Funcionalidad 1.............................................................................................................. 6
3.2 Confiabilidad........................................................................................................................................... 7
3.2.1 Confiabilidad 1..................................................................................................................................... 7
3.3 Usabilidad ............................................................................................................................................... 7
3.3.1 Usabilidad 1 ......................................................................................................................................... 7
3.4 Eficiencia ................................................................................................................................................ 7
3.4.1 Eficiencia 1 .......................................................................................................................................... 7
3.5 Mantenibilidad ........................................................................................................................................ 8
3.5.1 Mantenibilidad 1 .................................................................................................................................. 8
3.6 Portabilidad ............................................................................................................................................. 8
3.6.1 Portabilidad 1 ....................................................................................................................................... 8
3.7 Otros Requisitos de Calidad.................................................................................................................... 8
3.7.1 Otros 1.................................................................................................................................................. 8
4 Requisitos de Ambiente ......................................................................................................................... 10
4.1 Requisitos del Ambiente de Desarrollo ................................................................................................ 10
Documento de Requisitos de Nombre del Sistema
Página iii
4.1.1 Hardware de Desarrollo ..................................................................................................................... 10
4.1.2 Software de Desarrollo ...................................................................................................................... 10
4.2 Requisitos del Ambiente Objetivo ........................................................................................................ 10
4.2.1 Hardware Objetivo ............................................................................................................................. 10
4.2.2 Software Objetivo .............................................................................................................................. 10
4.3 Requisitos del Ambiente de Pruebas ..................................................................................................... 10
4.3.1 Hardware de Pruebas ......................................................................................................................... 10
4.3.2 Software de Pruebas ........................................................................................................................... 10
4.4 Hardware y Software Entregado por el Cliente .................................................................................... 10
5 Arquitectura del Sistema ....................................................................................................................... 11
5.1 Diagrama de Arquitectura ..................................................................................................................... 11
5.2 Descripción de Componentes................................................................................................................ 11
5.2.1 Componente 1 (Abreviatura) ............................................................................................................. 11
5.3 Matriz de Requisitos Funcionales y Componentes ............................................................................... 12
6 Requisitos de Desarrollo y Post-Desarrollo ......................................................................................... 13
6.1 Normas de Desarrollo ........................................................................................................................... 13
6.2 Requisitos de Comunicación................................................................................................................. 13
6.3 Requisitos de Medios de Entrega .......................................................................................................... 13
6.4 Condiciones de Entrega ........................................................................................................................ 13
6.5 Requisitos de Entrenamiento y Transferencia Tecnológica .................................................................. 13
7 Gestión de Riesgos.................................................................................................................................. 14
7.1 Supuestos .............................................................................................................................................. 14
7.2 Dependencias ........................................................................................................................................ 14
7.3 Restricciones ......................................................................................................................................... 14
7.4 Riesgos .................................................................................................................................................. 14
7.4.1 Riesgo 1 ............................................................................................................................................. 14
7.4.2 Riesgo 2 ............................................................................................................................................. 14
Definiciones............................................................................................................................................... 15
Lista de Figuras
Figura 1: Diagrama de arquitectura del sistema ................................................................................... 11
Lista de Tablas
Documento de Requisitos de Nombre del Sistema
Página 4
Tabla 1: Documentación del proyecto ....................................................................................................... 2
Tabla 2: Eventos externos .......................................................................................................................... 3
Tabla 3: Respuestas del sistema................................................................................................................. 3
Tabla 4: Excepciones .................................................................................................................................. 4
Tabla 5: Matriz de requisitos funcionales y de pruebas ......................................................................... 4
Tabla 6: Matriz de requisitos funcionales y componentes ................................................................... 12
Documento de Requisitos de Nombre del Sistema
Página 5
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.1 Propósito
El sistema es un programa capacitado para reconocer a una persona al detectarla analizando
su rostro, con lo cual se consultará a una base de datos para comparar, para así acceder a una
sesión si es que la persona detectada ha sido reconocida satisfactoriamente.
Por lo cual el proyecto a desarrollar es el Acceso a un ordenador mediante el Reconocimiento
de Rostro, aplicando en cierta parte lo que es el Proceso Digital de Imágenes, para esto se han
planteado una serie de objetivos a cumplir. El objetivo general del proyecto es lograr el
acceso a un ordenador mediante autentificación biométrica, pero este objetivo se divide a la
vez cronológicamente en objetivos específicos, empezando por la detección de rostro para así
ir avanzando y cumpliendo las demás metas.
1.2 Alcance
El alcance del proyecto a desarrollar se orienta a lo que es la detección de un rostro, el
reconocimiento de personas por sus rostros, acceso de sesión de computadores.
1.3 Contexto
El software a desarrollar es elavorado en C++ y trabaja en OpenCV. Éste código ya está
desarrollado para la detección de rostro y ojos (http://xromsystem.net/?p=843), y existen
varias versiones y diferentes aplicaciones. Nosotros buscamos aplicar este código al inicio de
sesión de un computador. Supuestamente, esta aplicación ya está disponible para Windows.
(http://elgeek.com/luxand-blink-iniciar-sesion-en-windows-por-medio-del-reconocimientofacial).
1.4 Referencias
Libros y Manuales:

Learning OpenCV: Computer Vision with the OpenCV Library (Gary Bradski, Adrian
Kaehler)

http://www.sisoft.ucm.es/Manuales/C++.pdf

ABSTRACCIÓN Y ESTRUCTURA DE DATOS EN C++ (Garrido Carrillo, Antonio;
Fernández Valdivia, Joaquín)
Páginas Web:

http://xromsystem.net/?p=843 (Link que muestra codificación para detectar rostros y
ojos)

http://elgeek.com/luxand-blink-iniciar-sesion-en-windows-por-medio-delreconocimiento-facial

http://www.dacostabalboa.com/es/iniciar-sesion-con-reconocimiento-facial-enlinux/10909
Documento de Requisitos de Nombre del Sistema
Página 1
2 Requisitos del Sistema
2.1 Requisitos Funcionales
RF1
El sistema debe ser capaz de ejecutar el software en el momento en que el computador
vaya a solicitar la clave para ingresar a alguna sesión del equipo.
RF2
El sistema debe poder mediante una webcam, detectar un rostro, compararlo con la
base de datos donde estarán almacenadas las claves de las distintas sesiones del
computador, y lograr ver si coincide con alguno para así poder dar acceso al
computador.
RF3
El sistema debe poder interpretar el reconocimiento facial como una clave de usuario
de alguna sesión existente.
2.2 Requisitos de Interfaces
Evento externo 1: El sistema debe responder al estimulo entregado por el usuario al momento
de querer ingresar a su sesión en el computador.
Evento externo 2: El sistema debe obtener del usuario un argumento de entrada el cual será su
rostro, a través de la captura mediante la webcam y utilizarlo como clave de la sesión
correspondiente.
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
capaz de detectar
cuando el usuario
quiere ingresar a su
sesión.
El usuario al
momento de
iniciar el
computador.
Encendido del
computador o al
momento de salir del
estado de hibernación
del pc.
Iniciar el
software.
Evento
externo 2
El software debe
poder detectar un
rostro humano, e
interpretarlo como
un password de
sesión en el
computador.
El software será el
iniciador, debe
poder detectar al
usuario y obtener
los parámetros
necesarios para su
correcta ejecución.
Los parámetros
usados serán rasgos
físicos del usuario,
los cuales se verán
más adelante cuales
serán tomados en
cuenta.
El software
podrá emitir
una respuesta
positiva si lo
reconoce
dejando abrir
la sesión o
negativa
obstruyendo el
ingreso del
usuario.
Documento de Requisitos de Nombre del Sistema
Página 2
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
Puede
ser la
detección de
La respuesta será la ejecución del movimiento en el ambiente o
software.
simplemente detectar un evento
como movimiento del mouse.
Respuesta
al evento 2
El software deberá interactuar con
el sistema operativo al momento de
Usar el rostro como password.
detectar e identificar al rostro para
así poder dar acceso a la sesión.
2.3 Manejo de Excepciones
Excepción 1: La principal excepción que vamos a tener en cuenta es que en caso de que el
software falle y no pueda reconocer el rostro, igual sea posible tener acceso a la sesión
mediante el ingreso de una clave alfanumérica.
Excepción 2: en caso de que el Software sufra algún fallo inesperado de ejecución, se podría
emplear un contador para que en caso de que el software no entregue ninguna respuesta en
cierta cantidad de tiempo, poder reiniciarlo o enviar algún aviso al usuario de que ingrese con
su clave alfanumérica.
Excepción 3: se tratara de buscar alguna solución, al evento de que alguien quiera ingresar a
la sesión de algún usuario mostrando una foto de él, para esto podríamos tratar de detectar
movimiento pero dentro del rostro.
Excepción 4: Hay que tener cuidado con la iluminación del ambiente, la que puede afectar
considerablemente las respuestas del software, para esto se tratara de estandarizar los factores
del ambiente como por ejemplo tratar de usar fondos de un solo color y luz artificial siempre
constante.
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
En caso de que el software no Puede ocurrir que la luz no deje detectar el
pueda
entregar
ninguna rostro.
respuesta.
2
Fallos del software que no se Puede colgarse el programa por falta de
pueden manejar.
memoria o por motivos de la ejecución.
3
Seguridad
del
sistema, Ocurre cuando se quiera violar la seguridad
diferenciar a la persona de del software.
una imagen es decir una foto.
Documento de Requisitos de Nombre del Sistema
Página 3
Excepción
4
Descripción
Eventos o situaciones en que ocurre
Diferencias
en
las Puede que la luz afecte al reconocimiento de
intensidades de la luz al rostro.
momento de llenar la base de
datos y al momento de tratar
de ingresar a una sesión.
2.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 cuando el computador se prenda.
Probar que el software al salir del estado de hibernación, se ejecute también para
volver a ingresar a la sesión.
Probar que el software permite ingresar en cualquier momento con una clave
alfanumérica.
Probar que el software pueble la base de datos al momento de configurar una sesión.
Probar que el software no sufra problemas de memoria.
RP2
-
-
Probar que el software realiza la comparación en tiempo real del usuario con la base
de datos.
Probar que la clave que usara el usuario, es decir su rostro, haya quedado guardado
con niveles óptimos de luz, para no tener inconvenientes a la hora de ingresar a la
sesión.
Probar como responde el software a distintas iluminaciones del ambiente.
Probar la seguridad del software, tratando de vulnerarlo para poder prevenir riesgos
de seguridad en un futuro
RP3
-
Probar que el rostro es usado como clave de ingreso a una sesión.
Probar con distintos rostros para ver la fiabilidad del software.
Probar con distintas iluminaciones.
Probar la tolerancia de cambios de expresiones faciales del usuario.
Probar con fotos en vez de con el usuario real para ver si es posible engañar al
software.
2.5 Matriz de Requisitos Funcionales y de Pruebas
La siguiente matriz muestra qué clases se prueba verificarán qué requisitos funcionales. Una
línea vacía en la matriz indica un requisito funcional no probado. En ese caso es probable que
falte un requisito de prueba; en caso contrario sobraría el requisito funcional. Una columna
vacía indica una prueba que no es útil para estos requisitos funcionales. En ese caso es
probable que falte un requisito funcional “obvio”, que debe hacerse explícito; en caso
contrario sobraría el requisito de prueba.
Documento de Requisitos de Nombre del Sistema
Página 4
[La matriz de abajo debe re-formatearse de modo que tenga columnas para todos los
requisitos de prueba y filas para todos los requisitos funcionales. Una vez re-formateada la
matriz, ponga una X el una celda para indicar que el requisito de prueba de la columna
respectiva ayuda a verificar el cumplimiento del requisito funcional de la fila respectiva.]
Tabla 4: Matriz de requisitos funcionales y de pruebas
RP1
RF1
Capaz de ejecutar el software
en el momento en que el
computador vaya a solicitar la
clave.
RF2
Mediante una webcam, detectar
un rostro y compararlo.
RF3
Interpretar el reconocimiento
facial como una clave.
Documento de Requisitos de Nombre del Sistema
RP2
RP3
X
X
X
Página 5
3 Requisitos de Ambiente
Esta sección describe el hardware y software relevante para el sistema “RECONOCIMIENTO
DE ROSTROS PARA ACCESO A SESIÓN DE COMPUTADOR”.
3.1 Requisitos del Ambiente de Desarrollo
3.1.1 Hardware de Desarrollo
Para el desarrollo de este proyecto se utilizará principalmente un computador, en el cual
deberá tener incorporada una cámara web, o en el caso de que no la tenga, conectar una
webcam por puerto USB al ordenador. Este PC debe contar con las herramientas necesarias
para ejecutar lo que necesite el software, éstas serían: un procesador apto para el uso que se le
va a dar en el proyecto, una buena memoria RAM, un disco duro con capacidad suficiente
para guardar cierta información obtenida por el sistema y puertos USB para la conexión de
alguna cámara en caso de no tenerla incorporada, para así simplemente con estos requisitos,
llevar a cabo lo que es el desarrollo del proyecto.
3.1.2 Software de Desarrollo
Para el desarrollo del proyecto se utilizará un software de detección de rostro en OpenCV.
OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. Se ha
utilizado en infinidad de aplicaciones. Desde sistemas de seguridad con detección de
movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de
objetos. Además es multiplataforma, existiendo versiones para GNU/Linux, Mac OS X y
Windows. Contiene más de 500 funciones que abarcan una gran gama de áreas en el proceso
de visión, como reconocimiento de objetos (reconocimiento facial), calibración de cámaras,
visión estéreo y visión robótica. Su programación es en código C y C++ optimizados.
Dentro de los sistemas operativos disponibles, se trabajará en un ambiente Linux y la
programación necesaria para el desarrollo del proyecto estará orientada a lo que es C y C++.
3.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.
3.2.1 Hardware de Pruebas
El hardware que se utilizará para pruebas del sistema será un computador en específico, para
llevar a cabo el desarrollo solamente en un ordenador, y así después del buen funcionamiento
del sistema, probarlo en otros.
Se harán pruebas con la cámara integrada del computador, o en caso de no tenerla, con alguna
conectada por puerto USB.
Uno de los que podrían ser hardware adicional, sería una cámara filmadora, para obtener
alguna grabación, además de fotografías, o también a través de la cámara web capturar vídeo,
además de fotografías.
Documento de Requisitos de Nombre del Sistema
Página 6
3.2.2 Software de Pruebas
Los software de pruebas serían:
-
En primera instancia el sistema operativo Linux, y como futuras aplicaciones en
Windows o en Mac.
-
Un software de detección de rostro en OpenCV, capacitado para programar algoritmos
necesarios para la detección de objetos.
-
Lenguajes de Programación como C y C++, probando diferentes algoritmos que
implementen lo necesario para el desarrollo del proyecto. También se espera que tenga
futuras aplicaciones en otros lenguajes como JAVA.
-
Entre softwares adicionales, se buscaría probar en otros programas con capacidad de
detectar o reconocer objetos. Probar también con distintos lenguajes de programación, o
también con distintos sistemas operativos, pero todo esto viéndolo mas que nada como
futuras aplicaciones.
Documento de Requisitos de Nombre del Sistema
Página 7
4 Arquitectura del Sistema
4.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
4.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 Rostro.
Este módulo será el encargado de la importación de la imagen desde la cámara web que
mediante un algoritmo filtrará para dejar en óptimo estado la imagen para una detección
posterior.
Módulo Detección.
Recibida la imagen desde el módulo de rostro, será la encargada de los cálculos necesarios
para obtener una identificación única de la imagen, la que será entregada al programa
principal.
Módulo XML/SQL.
Este módulo se encargará de configurar el acceso a la base de datos y/o archivo donde se
guardarán las imágenes autorizadas para el acceso.
Módulo BD.
Módulo encargado de la manipulación de los datos almacenados en la base de datos y/o
archivo con las imágenes codificadas.
Módulo Configuración.
Documento de Requisitos de Nombre del Sistema
Página 8
Módulo que solicitará el ingreso de las imágenes para establecer quién tendrá autorización de
acceso al sistema, también se encargará de entregar la tolerancia de la detección, así como
también de todos los parámetros de configuración de acceso a las sesiones del sistema.
Tendrá también un GUI gráfico para el ingreso de los datos, así como de la presentación de
las imágenes configuradas con acceso.
Módulo Inicio Sesión.
Módulo que interactuará con el sistema de inicio de las sesiones del sistema, obteniendo
quien es de la detección y las credenciales de la configuración.
Módulo Programa Principal.
Módulo principal que se encargará de la coordinación total del programa, que en caso de no
contar con una configuración definida (indicada del módulo de configuración) iniciará el
módulo de configuración automáticamente, en caso contrario pasará a modo silencios para la
detección de las imágenes recibidas del módulo Detección.
4.2.1 Módulo captura de la imagen con el rostro (Rostro)
Este módulo capturará la imagen desde una fuente de cámara web u otra que se disponga, con
el objetivo de aplicar una serie de filtros adecuados para que el módulo de detección pueda
procesarla correctamente.
La señal de iniciar la captura de la imagen se iniciará desde el módulo de Detección., y la
imagen de salida será enviada al módulo de detección del rostro (Detección).
4.2.2 Módulo de detección del rostro en la imagen (Detección)
Este módulo iniciará el proceso de la captura de la imagen (módulo Rostro), el cual recibirá la
imagen resultante y calculará, por medio de un algoritmo, un valor identificatorio del rostro
en la imagen.
La salida de éste módulo será entregado al programa principal.
Los parámetros de cómo detectar o cual algoritmo utilizar, incluyendo la tolerancia de la
detección, se obtendrán del módulo de configuración.
4.2.3 Módulo de acceso a archivo y/o base de datos SQL (XML/SQL)
Este módulo iniciará el acceso al archivo o base de datos SQL con el propósito de almacenar,
cargar y borrar la información que se solicita.
Este módulo recibirá y entregará información desde el módulo de acceso a la base de datos o
archivo.
Este módulo podrá ser adaptado de alguno que ya esté desarrollado para estos efectos.
4.2.4 Módulo de acceso a la base de datos y manejo de archivos (BD)
Este módulo iniciará el control del acceso a archivos o bases de datos genéricos, permitiendo
una adaptación de módulos ya desarrollados con los requerimientos de nuestro programa.
La solicitud de lectura de información se realizará desde el programa principal y la salida será
entregada al módulo solicitante..
Documento de Requisitos de Nombre del Sistema
Página 9
4.2.5 Módulo de configuración de parámetros de detección y de
configuración de sesión (Configuración)
Este módulo se encargará de solicitar la configuración inicial del programa, las imágenes de
rostros detectadas que se utilizarán como base en la identificación, la tolerancia de la
detección, la ubicación del archivo de configuración y/o datos de acceso de la base de datos
para el almacenaje de la información, así como los parámetros de inicio de sesión para cada
persona identificada.
Dispondrá de un GUI (Graphical User Interface) para solicitar los datos. Y entregará datos de
configuración a los módulos que requieran guardar configuración de parámetros críticos para
el funcionamiento del programa y que sean configurables por el usuario.
4.2.6 Módulo de configuración de parámetros de detección y de
configuración de sesión (Configuración)
Este módulo se encargará de solicitar la configuración inicial del programa, las imágenes de
rostros detectadas que se utilizarán como base en la identificación, la tolerancia de la
detección, la ubicación del archivo de configuración y/o datos de acceso de la base de datos
para el almacenaje de la información, así como los parámetros de inicio de sesión para cada
persona identificada.
Dispondrá de un GUI (Graphical User Interface) para solicitar los datos. Y entregará datos de
configuración a los módulos que requieran guardar configuración de parámetros críticos para
el funcionamiento del programa y que sean configurables por el usuario.
También estará encargada de la ubicación del programa como un programa residente que
deberá ser iniciado al iniciar el sistema operativo.
4.2.7 Módulo encargado del inicio de sesión del sistema (Inicio Sesión)
Este módulo se encargará de la interacción con el sistema de inicio de sesión de Linux,
dependiendo de los parámetros que el programa principal le entregue.
4.2.8 Programa principal
Este bloque será el encargado del control total del programa, el cual funcionará de forma
silenciosa si no se requiere la intervención del usuario, para este caso iniciará el módulo de
configuración y/o de detección adecuadamente.
De la misma forma ocurrirá si se deben almacenar las configuraciones del programa,
llamando al módulo de almacenaje (BD)
4.3 Matriz de Requisitos Funcionales y Componentes
La siguiente matriz muestra qué módulos implementan qué requisitos funcionales. Una línea
vacía en la matriz indica un requisito funcional no implementado. En ese caso es probable
que falte un módulo. Una columna vacía indica un módulo no es útil para estos requisitos
funcionales. En ese caso es posible que falte un requisito funcional.
Documento de Requisitos de Nombre del Sistema
Página 10
Tabla 5: Matriz de requisitos funcionales y componentes
C1
C2
C3
C4
C5
C6
C7
C8
X
X
X
RF4
Capaz de ejecutar el
software en el momento en
que el computador vaya a
solicitar la clave.
RF5
Mediante una webcam,
detectar un rostro y
compararlo.
X
X
X
X
X
X
X
X
X
RF6
Interpretar el
reconocimiento facial como
una clave.
Documento de Requisitos de Nombre del Sistema
X
X
Página 11
5 Gestión de Riesgos
5.1 Supuestos
1. El usuario dispondría de un Sistema Operativo Linux.
2. El usuario dispondría de un computador con cámara web.
5.2 Dependencias
1. Dependencia de las condiciones del entorno (iluminación, fondo, colores).
5.3 Restricciones
1. Limitaciones de la cámara web a utilizar.
2. Limitaciones del sistema operativo (Linux).
3. Limitaciones que pueda generar el uso de OpenCV.
5.4 Riesgos
[Los riesgos son hechos que pueden o no ocurrir, y que de ocurrir generan problemas al
proyecto. Algunos riesgos provienen de supuestos, dependencias y restricciones, pero otros
provienen de otras partes. El indicar un riesgo nos compromete a evitar que se transforme en
problema; en el caso de los riesgos mayores, debemos tener de antemano un plan de
contingencia.]
A continuación se indican los principales riesgos del proyecto.
5.4.1 Riesgo 1: Fotografía del usuario
Existe el riesgo de que el software sea engañado a través de una fotografía del usuario y se
pueda acceder a su cuenta por medio de ésta.
En este caso el software a desarrollar debería tener un sistema que reconozca movimientos y
gestos faciales, o bien, reconocer diferentes ángulos del rostro para poder compararla con la
base de datos.
5.4.2 Riesgo 2: Cambio de entorno
La sensibilidad de la cámara ante cambios de iluminación y fondo podrían afectar la
detección.
Para esto se realizarán diferentes pruebas de sensibilidad, cambiando la iluminación, el fondo
y los colores, de tal forma de ajustar los márgenes en los que se pretende que el sistema
funcione de manera efectiva.
Documento de Requisitos de Nombre del Sistema
Página 12
5.4.3 Riesgo 3: Tiempo de reconocimiento
El tiempo de reconocimiento podría ser mayor de lo que se necesita para iniciar la sesión.
Esto puede deberse a ineficiencias en el código que causan algún retardo, lo que pretende
corregirse realizando pruebas eficiencia en la ejecución del programa y corrigiendo dichas
ineficiencias.
Documento de Requisitos de Nombre del Sistema
Página 13