Especificación de requisitos de software
Proyecto:
Revisión [2]
MATERIA
Universidad de Guadalajara
Centro Universitario de Ciencias Exactas e Ingenierías
Departamento de Ciencias Computacionales
Ficha del documento
Fecha Revisión Autor Verificado dep. calidad.
Desarrollado por el equipo
11/09/2024 2
Guayaba
Documento validado por las partes en fecha: [Fecha]
Por el cliente Por la empresa suministradora
Fdo. D./ Dña [Nombre] Fdo. D./Dña [Nombre]
Rev.
Especificación de requisitos de software Pág. 3
Contenido
Contenido
1. Introducción ...................................................................................................................... 4
1.1 Propósito .......................................................................................................................... 4
1.2 Alcance............................................................................................................................. 4
1.3 Personal involucrado ........................................................................................................ 4
1.4 Definiciones, acrónimos y abreviaturas ........................................................................... 4
1.5 Referencias ...................................................................................................................... 4
1.6 Resumen .......................................................................................................................... 5
2. Descripción general .......................................................................................................... 5
2.1 Perspectiva del producto.................................................................................................. 5
2.2 Funcionalidad del producto .............................................................................................. 5
2.3 Características de los usuarios ........................................................................................ 5
2.4 Restricciones .................................................................................................................... 6
2.5 Suposiciones y dependencias ......................................................................................... 6
2.6 Evolución previsible del sistema ...................................................................................... 6
3. Requisitos específicos ...................................................................................................... 6
3.1 Requisitos comunes de los interfaces ............................................................................. 7
3.1.1 Interfaces de usuario..................................................................................................... 7
3.1.2 Interfaces de hardware ................................................................................................. 8
3.1.3 Interfaces de software ................................................................................................... 8
3.1.4 Interfaces de comunicación .......................................................................................... 8
3.2 Requisitos funcionales ..................................................................................................... 8
3.3 Requisitos no funcionales ............................................................................................ 9
3.3.1 Requisitos de rendimiento ............................................................................................ 9
3.3.2 Seguridad ...................................................................................................................... 9
3.3.3 Fiabilidad ....................................................................................................................... 9
3.3.4 Disponibilidad ................................................................................................................ 9
3.3.5 Mantenibilidad ............................................................................................................... 9
3.3.6 Portabilidad ................................................................................................................. 10
3.4 Otros requisitos .............................................................................................................. 10
4. Apéndices ....................................................................................................................... 10
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 4
1. Introducción
1.1 Propósito
Este documento tiene como objetivo definir los requisitos del software SoftRepair,
una solución flexible para la gestión de un taller de refacciones. Proporcionando una
visión general de los requisitos funcionales y no funcionales del sistema, así como
dar detalles sobre el entorno de desarrollo.
1.2 Alcance
• Clientes potenciales y actuales: Dueños de autos, talleres y refaccionarias.
• Equipo de desarrollo: Programadores, diseñadores y administradores de
bases de datos involucrados en el proyecto.
1.3 Personal involucrado
Nombre Araujo Barrón Flores Mayo Valenzuela
Yared Isaac. Antony Enrique Aguilera Juan
Antonio.
Rol Líder de equipo. Back-end. Front-end.
Categoría Programador. Administrador Diseñador.
profesional de la base de
datos.
Responsabilidade Interfaz y tester Documentación Back-end
s del programa .
Información de yared.araujo496 antony.flores90 [Link]@al
contacto 3@[Link] 05@alumnos.u [Link]
.mx [Link]
Aprobación
1.4 Definiciones, acrónimos y abreviaturas
Front-End: Es la parte del desarrollo web que abarca la creación de la interfaz gráfica de
una aplicación o sitio web, utilizando tecnologías como HTML, CSS y JavaScript. El Front-
end se encarga de definir cómo se verá y funcionará la aplicación para el usuario (UI) con
el objetivo de mejorar la experiencia del usuario.
Back-End: A diferencia del front-end, el back-end se encarga de la parte de una aplicación
o sitio web que no es visible para el usuario. Su función principal es gestionar la lógica del
servidor, el procesamiento de datos y las bases de datos. Además, el back-end se encarga
del mantenimiento y optimización del código para que la aplicación o sitio web funcione
de manera correcta y eficiente.
1.5 Referencias
(N/A). Se utilizaron los conocimientos previos que tenía el equipo.
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 5
1.6 Resumen
Este documento se encarga de detallar los requisitos y características de SoftRepair. Se
organiza en secciones que abarcan la visión general del producto y las restricciones que
podrían influir en el desarrollo y la evolución del sistema.
2. Descripción general
2.1 Perspectiva del producto
Este sitio de ecommerce es una parte integrada de un sistema más amplio que puede
incluir diferentes componentes. Esto se hace para mejorar la eficiencia, escalabilidad y
capacidad de gestión de la empresa.
Imagen 1.1. Sistema de gestión.
2.2 Funcionalidad del producto
SoftRepair: proporciona las siguientes funcionalidades principales:
● Gestión de Productos: Alta y baja de productos, incluyendo refacciones para
automóviles y motocicletas.
● Gestión de Clientes y Proveedores: Registro y seguimiento de clientes y
proveedores.
● Servicios Adicionales: Inclusión de servicios mecánicos y reparaciones.
● Interfaz Intuitiva: Desarrollada en HTML para facilidad de uso.
● Base de datos: Se realizará con una base de datos en MySQL.
2.3 Características de los usuarios
Tipo de usuario Dueños de talleres y refaccionarias.
Formación Técnica o administrativa.
Habilidades Experiencia en gestión de inventarios y clientes.
Actividades Gestión de productos, clientes y proveedores.
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 6
2.4 Restricciones
● Lenguajes de Programación: Debes seleccionar un lenguaje adecuado para el
desarrollo web (como PHP, JavaScript, Python, Ruby, etc.). Si ya tienes una
infraestructura existente, puede que estés limitado a seguir usando ciertos lenguajes o
tecnologías.
● Frameworks y Plataformas: Dependiendo del framework (Django, Laravel, Ruby on
Rails, etc.) o la plataforma de ecommerce que elijas (Shopify, Magento, WooCommerce),
estarás limitado por las funcionalidades, extensiones y personalización que estas
permiten.
● Bases de Datos: La elección entre SQL (MySQL, PostgreSQL) o NoSQL (MongoDB)
afecta la escalabilidad y el rendimiento de la plataforma. Además, el servidor debe ser
compatible con el tipo de base de datos que elijas.
● Compatibilidad de Datos: La elección entre SQL (MySQL, PostgreSQL) o NoSQL
(MongoDB) afecta la escalabilidad y el rendimiento de la plataforma. Además, el servidor
debe ser compatible con el tipo de base de datos que elijas.
● Compatibilidad con Dispositivos: La tienda debe ser "responsive", es decir, adaptarse
a diferentes tamaños de pantalla (móviles, tablets, etc.). Asegúrate de probar el sitio en
varios dispositivos y sistemas operativos.
2.5 Suposiciones y dependencias
Las dependencias serían los hostings ya que no es fácil encontrar uno que sea de
confianza, y sobre todo que nos del rendimiento que tenemos pensado, una velocidad de
respuesta óptima para nuestro usuario, a su vez como la base de datos, intentaremos
elegir una que sea más cómoda para el manejo de la información de nuestros usuarios
2.6 Evolución previsible del sistema
Su evolución estará basada en un software que pueda ser manejado incluso para aquel
que no sepa con una interfaz bastante amigable y con nuestro enfoque en que el usuario
se siente cómodo usando nuestro software, al igual que se tratará de optimizar las vistas
de las ventanas así pueda acceder rápidamente entre ellas para las opciones
3. Requisitos específicos
Número de requisito RNF01.
Nombre de requisito Autenticación de usuario.
Tipo ☐ Requisito ☐ Restricción
Fuente del requisito El registro del usuario y su contraseña se almacenan o alojan
en la base de datos, también se encripta en MDS.
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
Número de requisito RNF02.
Nombre de requisito Búsqueda automatizada por categoría.
Tipo ☐ Requisito ☐ Restricción
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 7
Fuente del requisito Se despliegan todas las opciones según vaya escribiendo el
usuario.
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
Número de requisito RNF03
Nombre de requisito Ofertas acordes a temporadas.
Tipo ☐ Requisito ☐ Restricción
Fuente del requisito Aparecerán ofertas o promociones según las fechas (Ofertas de
Otoño, verano, invierno, etc.).
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
Número de requisito RNF04.
Nombre de requisito Administración de roles.
Tipo ☐ Requisito ☐ Restricción
Fuente del requisito La administración contará con tres roles diferentes:
Administrador, superusuario y usuario.
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
Número de requisito RNF05.
Nombre de requisito Gestión de inventario y de stock.
Tipo ☐ Requisito ☐ Restricción
Fuente del requisito Esta se encargará de mandar mensajes de alerta al final del
día, al igual que una advertencia cuando el stock se encuentre
con poca existencia.
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
Número de requisito RNF06.
Nombre de requisito Disponibilidad.
Tipo ☐ Requisito ☐ Restricción
Fuente del requisito La página será hosteada en un servidor con la finalidad de que
se encuentre accesible en todo momento, así lograr acceder
mediante una IP y un puerto.
Prioridad del requisito ☐ Alta/Esencial ☐ Media/Deseado ☐ Baja/ Opcional
3.1 Requisitos comunes de los interfaces
3.1.1 Interfaces de usuario
La interfaz de usuario (UI) debe ser limpia, intuitiva y fácil de usar. Utilizar una
paleta de colores profesional que refleje la identidad de la marca y facilite la
navegación (por ejemplo, colores neutros con acentos en colores corporativos).
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 8
3.1.2 Interfaces de hardware
Facilitar la conexión entre los servidores y estaciones de trabajo como:
• Adaptadores de red o entrada Ethernet.
• Procesador superior a 1.5 GHz
3.1.3 Interfaces de software
Sistema operativo Windows 7 o superior.
Explorador de internet: Edge, Opera, etc.
3.1.4 Interfaces de comunicación
Los servidores, clientes y aplicaciones que se comunicaran entre si mediante los
protocolos, estándares de internet. Por ejemplo: la transferencia de archivos o
documentos que deberán utilizar los protocolos existentes. (FTP u otros
convenientes).
3.2 Requisitos funcionales
3.2.1 Requisito funcional 1
Autenticación de usuario: El sistema debe permitir a los usuarios registrarse y
autentificarse mediante un nombre de usuario y contraseña.
• Restricciones: Las contraseñas deben de tener al menos 8 caracteres y
un carácter especial.
3.2.2. Requisito funcional 2
El sistema debe permitir la añadir, modificar, eliminar y consultar productos en
el inventario.
• El administrador accede al módulo de gestión de productos.
• Para añadir un producto, el administrador ingresa detalles como: nombre,
categoría, precio y cantidad en stock, después guarda el producto.
• Cada producto debe tener un identificador único.
• Los cambios en el stock deben ser reflejados en tiempo real.
3.2.3. Requisito funcional 3
El sistema debe permitir el registro, modificación y eliminación de clientes y
proveedores.
• El administrador accede al modelo de gestión de clientes/proveedores.
• Para registrar un nuevo cliente/proveedor, el usuario ingresa detalles
como: nombre, dirección y contacto.
3.2.4. Requisito funcional 4
El sistema debe permitir generar reportes de ventas, inventarios y servicios.
• Selecciona el tipo de reporte (ventas, inventario, servicios) y define los
tipos de filtros y el rango de fechas.
• El sistema genera el reporte en formato PDF.
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 9
• El usuario puede descargar o imprimir el reporte.
3.3 Requisitos no funcionales
3.3.1 Requisitos de rendimiento
El software debe manejar la carga esperada de usuarios y transacciones con
eficiencia.
● El sistema debe de soportar por lo menos a 100 usuarios
simultáneamente sin degradación significativa en el rendimiento.
● El tiempo de respuesta de carga de páginas y transacciones no debe
superar los 2 segundos en condiciones normales.
● Realizar pruebas de cargas y estrés para validar la capacidad del
sistema bajo diferentes niveles de estrés.
3.3.2 Seguridad
El sistema debe protegerse contra accesos no autorizados y vulnerables.
● Implementar cifrado SSL/TLS para la transmisión de datos sensibles.
● Utilizar técnicas de hashing y salting para la protección de contraseñas.
● realizar auditorías de seguridad y pruebas necesarias de penetración
periódicas para identificar vulnerabilidades.
3.3.3 Fiabilidad
El software debe funcionar de manera que sea confiable utilizar, minimizando
errores y fallos.
● El tiempo entre fallos debe ser de al menos 30 días.
● Esta deberá de implementar mecanismos de recuperación ante fallos,
como backups automáticos y procesos de restauración.
● Monitoreo y registro que evalúen el rendimiento y estabilidad del
sistema.
3.3.4 Disponibilidad
El sistema debe estar disponible para los usuarios la mayor parte del tiempo,
aproximadamente debe de tener un 99.5% de disponibilidad anual.
Para esto se implementará un monitoreo continuo para detectar y resolver
problemas de disponibilidad.
3.3.5 Mantenibilidad
El software debe ser fácil de mantener y actualizar:
● El código debe estar bien documentado para facilitar el desarrollo.
● Se debe dar mantenimiento cada 6 meses para dar mejora al programa.
Descripción de requisitos del sofware
Rev.
Especificación de requisitos de software Pág. 10
3.3.6 Portabilidad
▪ El programa debe de ser con diferentes versiones de PostgresSQL.
▪ Compatibilidad con diferentes Navegadores Web.
3.4 Otros requisitos
La funcionalidad del programa debe ser fácil para el uso del usuario, además debe de ser
compatible para distintos dispositivos siguiendo los requisitos legales y normativos.
Debe cumplir con la Ley de Protección de Datos.
4. Apéndices
• Front-End: Parte del desarrollo web que se ocupa de la interfaz gráfica y la
experiencia del usuario utilizando tecnologías como HTML, CSS y JavaScript. Define
cómo se verá y funcionará la aplicación para el usuario.
• Back-End: Parte del desarrollo web que gestiona la lógica del servidor, el
procesamiento de datos y las interacciones con la base de datos. Asegura que el
sistema funcione correctamente en el servidor.
• API (Interfaz de Programación de Aplicaciones): Conjunto de protocolos y
herramientas que permite que diferente software interactúen entre sí. En SoftRepair,
se utilizan APIs RESTful para integrar el sistema con servicios externos.
• HTTPS (Protocolo de Transferencia de Hipertexto Seguro): Protocolo que
asegura la comunicación segura entre el navegador del usuario y el servidor web
mediante cifrado.
• SQL (Lenguaje de Consulta Estructurado): Lenguaje utilizado para gestionar y
manipular bases de datos relacionales. En SoftRepair, se utiliza para consultas y
gestión de datos en MySQL.
• JSON (Notación de Objetos JavaScript): Formato estándar para el intercambio de
datos entre el cliente y el servidor en aplicaciones web.
Descripción de requisitos del sofware