ERS
ERS
ERS
Especificación de Requisitos
de Software
Proyecto:
Revisión: [1.2]
[06-09-2024]
Integrantes:
Matias Ortega
Martín Hernández
Javier Muñoz
Claudio Candia
Contenido
FICHA DEL DOCUMENTO.....................................................................................................................................................................
1. INTRODUCCIÓN............................................................................................................................................................................
1.1. PROPÓSITO..................................................................................................................................................................................
1.2. ÁMBITO DEL SISTEMA....................................................................................................................................................................
1.3. DEFINICIONES, ACRÓNIMOS Y ABREVIATURAS.....................................................................................................................................
1.4. REFERENCIAS................................................................................................................................................................................
1.5. VISIÓN GENERAL DEL DOCUMENTO..................................................................................................................................................
2. DESCRIPCIÓN GENERAL..................................................................................................................................................................
2.1. PERSPECTIVA DEL PRODUCTO..........................................................................................................................................................
2.2. FUNCIONES DEL PRODUCTO............................................................................................................................................................
2.3. CARACTERÍSTICAS DE LOS USUARIOS.................................................................................................................................................
2.4. RESTRICCIONES.............................................................................................................................................................................
2.5. SUPOSICIONES Y DEPENDENCIAS......................................................................................................................................................
2.6. REQUISITOS FUTUROS....................................................................................................................................................................
3. REQUISITOS ESPECÍFICOS................................................................................................................................................................
3.1 REQUISITOS COMUNES DE LAS INTERFACES..........................................................................................................................................
3.1.1 Interfaces de usuario........................................................................................................................................................
3.1.2 Interfaces de hardware....................................................................................................................................................
3.1.3 Interfaces de software.....................................................................................................................................................
3.1.4 Interfaces de comunicación.............................................................................................................................................
3.2 REQUISITOS FUNCIONALES...............................................................................................................................................................
3.3 REQUISITOS NO FUNCIONALES..........................................................................................................................................................
3.3.1 Requisitos de rendimiento...............................................................................................................................................
3.3.2 Seguridad.........................................................................................................................................................................
3.3.3 Fiabilidad.........................................................................................................................................................................
3.3.4 Disponibilidad..................................................................................................................................................................
3.3.5 Mantenibilidad.................................................................................................................................................................
3.3.6 Portabilidad.....................................................................................................................................................................
3.4 OTROS REQUISITOS........................................................................................................................................................................
2
Especificación de Requisitos, estándar de IEEE 830
Martin Hernandez
Javier Muñoz
3
Especificación de Requisitos, estándar de IEEE 830
[Firma]
[Firma]
Sr./Sra. Sr./Sra.
1. Introducción
Este documento de Especificación de Requisitos Software (ERS) detalla los requerimientos para el
desarrollo de un sistema de cerradura inteligente, diseñado para incrementar la seguridad en zonas
vulnerables de Chile. El sistema permitirá el acceso a través de la cédula de identidad chilena, huella
digital y un botón de emergencia, integrando tecnología avanzada mediante el uso de Arduino y bases
de datos MongoDB.
Este documento está dirigido a los equipos de desarrollo, diseño, y pruebas, así como a los
stakeholders que intervienen en el ciclo de vida del producto, para asegurar que todos los requisitos
funcionales y no funcionales sean claramente definidos y comprendidos.
1.1. Propósito
El propósito de este documento ERS es establecer una base común de entendimiento entre los
stakeholders y el equipo de desarrollo sobre los requisitos del sistema de cerradura inteligente. Este
documento tiene como fin garantizar que todas las partes involucradas compartan la misma visión del
producto y los objetivos que se desean alcanzar. Está dirigido a desarrolladores, ingenieros de
4
Especificación de Requisitos, estándar de IEEE 830
● Lo que hará: El sistema permitirá a los usuarios acceder a el hogar mediante la autenticación
con su cédula de identidad chilena, huella digital y un botón de emergencia en caso de que
exista una situación de peligro. Utilizará un Arduino como controlador central y MongoDB para
el almacenamiento seguro de los datos de acceso.
Arduino: Plataforma de hardware libre basada en una placa con un microcontrolador y un entorno de
desarrollo integrado.
5
Especificación de Requisitos, estándar de IEEE 830
1.4. Referencias
En esta subsección se mostrará una lista completa de todos los documentos referenciados en la ERS.
Autor: IEEE
Fecha de Publicación: 2021
Fuente: IEEE Standards
Documentación de Stakeholders
6
Especificación de Requisitos, estándar de IEEE 830
Este documento consta de un área de definición del negocio, un área de especificación de requisitos,
se proporciona el detalle de los requerimientos a través de formularios de caso de uso como anexos.
7
Especificación de Requisitos, estándar de IEEE 830
2. Descripción General
Ambos tipos de usuario deben poseer un carnet con el cual se puedan identificar.
2.4. Restricciones
● Compatibilidad con Carnets/DNIs existentes: El sistema debe ser compatible con los
estándares de carnet y DNI actuales.
● Compatibilidad con tipos de huella digital: El sistema deberá ser compatible con la mayoría de
los tipos de huellas digitales, incluyendo huellas de diferentes dedos de una misma mano y de
ambas manos. Esto implica que el sistema debe ser capaz de reconocer y autenticar huellas
digitales con variaciones en tamaño, forma, y características distintivas, asegurando un alto
nivel de precisión en la identificación del usuario.
8
Especificación de Requisitos, estándar de IEEE 830
Se usará el microcontrolador Arduino Uno para controlar el software y los agregados (RFID o
Reconocimiento de huella).
Se asume que todos los usuarios disponen de un dispositivo móvil para poder manipular de mejor
manera los permisos de la cerradura.
Se asume que todos los usuarios disponen de un carnet o DNI válido, huella de identidad y que estos
serán los únicos medio de autenticación.
Se asume que el entorno en el que se instalará la cerradura es seguro frente a manipulaciones físicas.
Hacer una app de celular acompañada a la base de datos de la KnockToolUs siendo posible poder abrir
la puerta con tu celular o carnet de identidad.
otras de las posibles mejoras seria que no solo sea con el carnet que se pueda entrar/salir si no que
también un anillo con un microchip posible de dar el acceso a la vivienda.
añadir una cámara a la KnockToolUs que apunte al rostro de la persona, asi se podra saber quien esta
tratando de abrir tu puerta, y que te notifique si la cámara vio movimiento.
9
Especificación de Requisitos, estándar de IEEE 830
10
Especificación de Requisitos, estándar de IEEE 830
3. Requisitos Específicos
Esta sección contiene los requisitos a un nivel de detalle suficiente como para permitir a los
diseñadores diseñar un sistema que satisfaga estos requisitos, y que permita al equipo de pruebas
planificar y realizar las pruebas que demuestren si el sistema satisface, o no, los requisitos. Todo
requisito aquí especificado describirá comportamientos externos del sistema, perceptibles por parte
de los usuarios, operadores y otros sistemas. Esta es la sección más larga e importante de la ERS.
Deberán aplicarse los siguientes principios:
• El documento debería ser perfectamente legible por personas de muy distintas formaciones e
intereses.
• Deberán referenciarse aquellos documentos relevantes que poseen alguna influencia sobre los
requisitos.
• Todo requisito deberá ser unívocamente identificable mediante algún código o sistema de
numeración adecuado.
• Lo ideal, aunque en la práctica no siempre realizable, es que los requisitos posean las
siguientes características:
− Corrección: La ERS es correcta si y sólo si todo requisito que figura aquí (y que será
implementado en el sistema) refleja alguna necesidad real. La corrección de la ERS implica que
el sistema implementado será el sistema deseado.
− No ambiguos: Cada requisito tiene una sola interpretación. Para eliminar la ambigüedad
inherente a los requisitos expresados en lenguaje natural, se deberán utilizar gráficos o
notaciones formales. En el caso de utilizar términos que, habitualmente, poseen más de una
interpretación, se definirán con precisión en el glosario.
− Completos: Todos los requisitos relevantes han sido incluidos en la ERS. Conviene incluir todas
las posibles respuestas del sistema a los datos de entrada, tanto válidos como no válidos.
− Consistentes: Los requisitos no pueden ser contradictorios. Un conjunto de requisitos
contradictorio no es implementable.
− Clasificados: Normalmente, no todos los requisitos son igual de importantes. Los requisitos
pueden clasificarse por importancia (esenciales, condicionales u opcionales) o por estabilidad
(cambios que se espera que afecten al requisito). Esto sirve, ante todo, para no emplear
excesivos recursos en implementar requisitos no esenciales.
− Verificables: La ERS es verificable si y sólo si todos sus requisitos son verificables. Un requisito
es verificable (testeable) si existe un proceso finito y no costoso para demostrar que el sistema
cumple con el requisito. Un requisito ambiguo no es, en general, verificable. Expresiones como
a veces, bien, adecuado, etc. Introducen ambigüedad en los requisitos. Requisitos como “en
caso de accidente la nube tóxica no se extenderá más allá de 25Km" no es verificable por el
alto costo que conlleva.
11
Especificación de Requisitos, estándar de IEEE 830
Estilo y Colores:
● Estilo: Diseño moderno y minimalista, optimizado para una experiencia táctil en dispositivos
móviles.
● Paleta de Colores:
○ Color Primario: Azul (#007BFF), utilizado para botones principales y encabezados.
○ Color Secundario: Blanco (#FFFFFF) para el fondo de las pantallas.
Navegación:
● Menú Inferior: La aplicación contará con un menú en la parte inferior de la pantalla con iconos
que representen las principales secciones: "Inicio", "Usuarios", "Historial", "Configuraciones", y
"Perfil".
● Gestos: La navegación entre secciones podrá realizarse mediante gestos táctiles, permitiendo
una interacción fluida.
Pantalla Principal:
● Inicio: Esta sección mostrará un resumen de las estadísticas clave, como accesos recientes,
usuarios activos, y alertas de seguridad.
● Gestión de Usuarios: Aquí se podrán agregar, modificar o eliminar usuarios. Los
administradores podrán utilizar la cámara del dispositivo para escanear carnets o DNIs,
facilitando la entrada de datos.
● Historial de Accesos: Mostrará un registro detallado de los accesos, incluyendo fecha, hora, y
resultados (permitido o denegado).
12
Especificación de Requisitos, estándar de IEEE 830
● Escaneo de Documentos: Los administradores podrán usar la cámara del móvil para escanear
carnets o DNIs al agregar nuevos usuarios, lo que automatiza el proceso de entrada de datos y
mejora la eficiencia.
Interactividad:
Este diseño asegura que la aplicación móvil sea intuitiva y fácil de usar, ofreciendo a los
administradores todas las herramientas necesarias para gestionar el sistema de cerraduras
directamente desde sus dispositivos móviles.
Lector de Tarjetas
● Interfaz de Comunicación:
○ Tipo de Comunicación: Comunicación serial (UART) o protocolo específico del lector
(por ejemplo, Wiegand o I2C).
○ Formato de Datos: El lector debe transmitir datos en un formato estandarizado (como
ASCII o hexadecimal) que sea compatible con la unidad de control.
13
Especificación de Requisitos, estándar de IEEE 830
Fuente de Alimentación
● Interfaz de Comunicación:
○ Tipo de Comunicación: Alimentación eléctrica con especificaciones de voltaje y
corriente.
○ Requisitos: Voltaje y corriente necesarios para alimentar la unidad de control, el lector
de tarjetas y el mecanismo de bloqueo.
● Características de Configuración:
○ Fuente de Alimentación Principal: Debe proporcionar la potencia necesaria para el
funcionamiento continuo del sistema.
○ Fuente de Alimentación de Respaldo: Batería de respaldo para asegurar el
funcionamiento durante cortes de energía, con capacidad especificada (por ejemplo, 4
horas de funcionamiento continuo).
Conectividad y Configuración
● Interfaz de Configuración:
○ Configuración Inicial: La configuración de la unidad de control y los componentes de
hardware se realizará mediante una aplicación móvil que permite la configuración
remota.
○ Diagnóstico: Herramientas de diagnóstico integradas para verificar el estado de las
conexiones y el funcionamiento de los componentes.
● Manual de Configuración:
○ Documentación: Manual detallado para la instalación y configuración de los
componentes de hardware, incluyendo esquemas de conexión y procedimientos de
calibración.
14
Especificación de Requisitos, estándar de IEEE 830
Aplicación Móvil
Servicio de Backend
15
Especificación de Requisitos, estándar de IEEE 830
Sistema de Notificaciones
16
Especificación de Requisitos, estándar de IEEE 830
○ Contenido:
■ Notificaciones: Mensajes de alerta sobre eventos como accesos no
autorizados o problemas del sistema.
■ Configuración: Parámetros para el tipo y frecuencia de notificaciones.
○ Formato:
■ Comunicación: Servicios de notificaciones push (como Firebase Cloud
Messaging para Android y Apple Push Notification Service para iOS).
■ Protocolos: Protocolos de notificación push específicos de la plataforma móvil.
● Requisitos de Comunicación:
○ Propósito: La aplicación móvil debe enviar y recibir datos del servicio de backend para
gestionar usuarios, configurar el sistema y obtener el historial de accesos.
○ Frecuencia: Comunicación continua y en tiempo real para garantizar la sincronización
de datos y la actualización inmediata de la información.
● Protocolos de Comunicación:
○ Protocolo: HTTP/HTTPS para garantizar la seguridad en la transmisión de datos.
○ Formato de Datos: JSON para el intercambio de datos estructurados entre la
aplicación móvil y el backend.
○ Métodos HTTP:
■ GET: Para recuperar datos (por ejemplo, historial de accesos, lista de
usuarios).
■ POST: Para enviar nuevos datos (por ejemplo, agregar un usuario, actualizar
configuraciones).
■ PUT: Para modificar datos existentes.
■ DELETE: Para eliminar datos (por ejemplo, eliminar un usuario).
17
Especificación de Requisitos, estándar de IEEE 830
● Requisitos de Comunicación:
○ Propósito: La aplicación móvil debe enviar comandos a la unidad de control para
activar o desactivar la cerradura y recibir datos de estado.
○ Frecuencia: Comunicación bajo demanda, principalmente cuando se realizan
operaciones de control o se actualiza el estado del sistema.
● Protocolos de Comunicación:
○ Protocolo: Comunicación Serial (UART).
○ Formato de Datos: Datos en formato binario.
● Requisitos de Comunicación:
○ Propósito: La unidad de control debe recibir datos del lector de tarjetas o huella para
verificar la identidad del usuario y determinar si se debe permitir el acceso.
○ Frecuencia: Comunicación continua durante la lectura de tarjetas o huellas para
garantizar una respuesta rápida.
● Protocolos de Comunicación:
○ Protocolo: Comunicación Serial (UART).
○ Formato de Datos: Datos en formato binario.
● Comprobación de validez de las entradas: El sistema debe validar que el número de carnet de
identidad ingresado por el usuario sea un número válido y esté registrado en la base de datos.
● Secuencia exacta de operaciones: El sistema recibe el número de carnet, lo compara con los
datos en MongoDB, y luego autoriza o deniega el acceso según la coincidencia.
● Respuesta a situaciones anormales: En caso de un carnet no válido o no registrado, el sistema
debe denegar el acceso y generar una alerta para revisión.
● Parámetros: Número de carnet de identidad.
● Generación de salidas: Resultado de la verificación (acceso autorizado o denegado).
● Relaciones entre entradas y salidas: La entrada (número de carnet) se relaciona directamente
con la salida (autorización o denegación de acceso).
● Especificación de los requisitos lógicos para la información almacenada: El número de carnet
y los detalles del usuario relacionados deben estar almacenados en MongoDB.
18
Especificación de Requisitos, estándar de IEEE 830
● Comprobación de validez de las entradas: El sistema debe verificar que los datos ingresados
(como el número de carnet y detalles personales) sean válidos y no duplicados.
● Secuencia exacta de operaciones: El administrador ingresa los datos del usuario, el sistema
valida la información, y luego la almacena en MongoDB.
● Respuesta a situaciones anormales: Si se detectan errores en la entrada de datos o
duplicaciones, el sistema debe notificar al administrador para corregirlos antes de continuar.
● Parámetros: Número de carnet de identidad, detalles del usuario (nombre, dirección, etc.).
● Generación de salidas: Confirmación de que el usuario ha sido registrado correctamente.
● Relaciones entre entradas y salidas: Los datos ingresados se reflejan directamente en la base
de datos, confirmando el registro exitoso.
● Especificación de los requisitos lógicos para la información almacenada: Los datos del
usuario, incluyendo el número de carnet, deben ser almacenados en MongoDB con todos los
detalles relevantes.
● Comprobación de validez de las entradas: El sistema debe validar que el carnet de identidad
escaneado esté registrado y sea válido.
● Secuencia exacta de operaciones: El usuario presenta el carnet, el sistema lo escanea, valida
los datos y permite o deniega el acceso.
● Respuesta a situaciones anormales: Si el carnet no es reconocido, el sistema debe denegar el
acceso y notificar al administrador.
● Parámetros: Datos del carnet de identidad.
● Generación de salidas: Autorización de acceso o denegación.
● Relaciones entre entradas y salidas: La información del carnet se compara con la base de
datos para determinar el resultado.
● Especificación de los requisitos lógicos para la información almacenada: Los datos del carnet
deben ser almacenados de manera segura y estar disponibles para la verificación.
19
Especificación de Requisitos, estándar de IEEE 830
● Comprobación de validez de las entradas: El sistema debe validar que la huella digital
escaneada coincida con la registrada en la base de datos.
● Secuencia exacta de operaciones: El usuario coloca su huella digital en el escáner, el sistema la
compara con las huellas almacenadas y autoriza o deniega el acceso.
● Respuesta a situaciones anormales: Si la huella digital no coincide, el sistema debe denegar el
acceso y registrar el intento fallido.
● Parámetros: Datos biométricos de la huella digital.
● Generación de salidas: Autorización de acceso o denegación.
● Relaciones entre entradas y salidas: La huella digital escaneada se compara con los registros
existentes para determinar el resultado.
● Especificación de los requisitos lógicos para la información almacenada: Las huellas digitales
deben ser almacenadas de forma encriptada en la base de datos para su seguridad.
20
Especificación de Requisitos, estándar de IEEE 830
● Comprobación de validez de las entradas: No aplica directamente para este tipo de requisito.
● Secuencia exacta de operaciones: Al acceder al sistema desde diferentes dispositivos (móviles,
tabletas, computadoras de escritorio), la interfaz debe ajustar su diseño y disposición de
elementos automáticamente para proporcionar una experiencia de usuario óptima.
● Respuesta a situaciones anormales: Si la interfaz no se ajusta correctamente a un dispositivo,
el sistema debe permitir al usuario reportar el problema y ajustar manualmente el diseño si es
posible.
● Parámetros: Resoluciones de pantalla, tipos de dispositivos (móviles, tabletas, escritorios).
● Generación de salidas: Interfaz adaptada al dispositivo y tamaño de pantalla.
● Relaciones entre entradas y salidas: Las características del dispositivo (tamaño de pantalla,
orientación) determinan la disposición y el diseño de la interfaz de usuario.
● Especificación de los requisitos lógicos para la información almacenada: No aplica
directamente para este tipo de requisito.
21
Especificación de Requisitos, estándar de IEEE 830
3.3.2 Seguridad
Requerimiento no funcional 1: Seguridad de la Base de Datos
22
Especificación de Requisitos, estándar de IEEE 830
● Descripción: Los datos almacenados en MongoDB deben estar protegidos con medidas de
seguridad adecuadas, incluyendo autenticación, autorización y cifrado, para proteger la
información sensible.
● Especificación:
○ La autenticación debe requerir múltiples factores (MFA) para el acceso de
administradores y usuarios privilegiados.
○ El acceso a la base de datos debe estar restringido mediante políticas de autorización
que limiten los permisos a nivel de roles.
○ Se deben realizar auditorías de seguridad trimestrales para asegurar el cumplimiento
de las políticas de seguridad.
23
Especificación de Requisitos, estándar de IEEE 830
3.3.3 Fiabilidad
R.37 Resiliencia ante Fallo
● Descripción: El sistema debe ser tolerante a errores, permitiendo continuar operando con
funcionalidad limitada en caso de fallos menores.
● Requisito: El sistema debe continuar operando al menos al 80% de su capacidad funcional
durante fallos menores, con una tasa de recuperación al 100% de la funcionalidad dentro de
los 60 segundos. No más de 3 errores menores deben ser permitidos durante cualquier sesión
de uso normal.
3.3.4 Disponibilidad
R.33 Escalabilidad
Tipo: No funcional
Descripción: El sistema debe ser escalable para soportar un incremento en la cantidad de usuarios y
transacciones sin degradar el rendimiento. Esto incluye la capacidad de mantener una disponibilidad
del 99.9% durante el proceso de escalado, garantizando que los servicios no se vean interrumpidos
durante el aumento de la carga.
Tipo: No funcional
24
Especificación de Requisitos, estándar de IEEE 830
Descripción: El sistema debe estar diseñado para asegurar una disponibilidad del 99.95% durante el
horario de operación, con un tiempo de inactividad planificado no superior a 4.38 horas al año. Esto
implica la implementación de redundancia en componentes críticos y la capacidad de realizar
mantenimiento sin afectar la operación del sistema.
3.3.5 Mantenibilidad
R.46 Actualización del Sistema
Tipo: Funcional
Descripción: El sistema debe permitir actualizaciones de software sin afectar la disponibilidad del
servicio, mediante implementaciones en caliente. Las actualizaciones deben ser aplicables sin
necesidad de reiniciar el sistema, asegurando una interrupción mínima del servicio y permitiendo
actualizaciones regulares cada dos semanas para corregir errores y mejorar la funcionalidad.
Tipo: Funcional
3.3.6 Portabilidad
R.31 Soporte Multiplataforma
● Tipo: No funcional
25
Especificación de Requisitos, estándar de IEEE 830
asegurar que el sistema se ejecute correctamente en al menos las versiones más recientes de
estos sistemas operativos y que el rendimiento sea comparable en cada uno de ellos.
Tipo: No funcional
26