Software">
Especificación de Requisitos Según El Estándar de IEEE 830 v.2
Especificación de Requisitos Según El Estándar de IEEE 830 v.2
Especificación de Requisitos Según El Estándar de IEEE 830 v.2
Ixtac, 2022
CLIENTE
Las Flores Distribuidor de Café
El documento busca definir de forma detallada y clara todos los requisitos, las funcionalidades y las
restricciones que debe poseer el software que desarrollaremos. En este caso: “Las Flores
Distribuidor de Café”.
El informe va orientado, tanto para el cliente como para todos los integrantes del grupo de trabajo,
con el fin de mantener a cada uno de estos informados de las características que tendrá el sistema.
Todos los requerimientos establecidos en este informe debieran ser suficientes para que nuestro
grupo de desarrolladores puedan crear el software, cumpliendo con lo exigido por el cliente y por
futuras revisiones que realizará la entidad QA, para su posterior aprobación
El producto para desarrollar fue definido como: “Las Flores Distribuidor de Café Tostado
Aplicación Web”, sin embargo, el documento está enfocado en el desarrollo de los módulos para
“Las Flores Distribuidor de café”, siendo un sistema de gestión de ventas e información para esta
entidad, propuesta para una aplicación web.
Las siguientes tablas entregan datos relevantes que conforman nuestro equipo:
Jefe de proyecto:
Nombre Odraude Méndez Aguirre
Rol jefe de proyecto, scrum máster
Categoría profesional Ingeniero en software
Responsabilidades Organización de las tareas del equipo, scrum máster
Área de Gestión
Nombre Guadalupe Cristina Reyes Lucas
Rol Analista en gestión
Categoría Profesional Ingeniero en software
Responsabilidades Toma de requerimientos, entrevistas
Área de desarrollo
Área de QA (Testing)
El siguiente apartado, describe cada uno de los acrónimos y abreviaturas encontradas a lo largo del
documento.
1.5. Referencias
Desde ahora en adelante el documento estará compuesto por los siguientes puntos:
Una descripción general de lo que será el producto y que es lo que hará y cuál es su utilidad para el
usuario final. Las funcionalidades principales de este, que deben de realizar el cual estará detallado
de tal forma, que se entendible por el cliente, a la vez se mostrarán las descripciones y/o
características de los usuarios que interactuarán con dicho producto.
Una de las partes más importantes que se detallarán serán las restricciones de este, lo cual nos será
de gran ayuda para ver cuáles son los requisitos mínimos de nuestro sistema para lograr que
funcione de acuerdo con lo esperado.
A la vez se detallarán los posibles conflictos que se pueden generar en nuestro sistema al querer
modificarlo, junto a ello se detallarán las posibles evoluciones previsibles del sistema.
Otra de las partes importantes dentro de este documento serán los requisitos específicos, el cual
deberá de ser conciso para que nuestro equipo de desarrollo pueda diseñar el sistema sin problemas
y a cabalidad, dentro de los cuales se les mencionará los requisitos de interfaces, usuario, hardware,
software, comunicación, funcionales, los no funcionales que dentro de estos encontramos los
requisitos de rendimiento, seguridad, fiabilidad, disponibilidad, mantenibilidad y portabilidad.
2. Descripción General
2.1. Perspectiva del Producto
Se proyecta implementar un sistema de ventas, información y una filtración de correos para spam de
usuarios que acepten recibir notificaciones de nuevas promociones de la empresa independiente que
reemplace completamente la página antigua de la empresa, el cual no tendrá relación con otros
sistemas, dentro de sus módulos, éste debe permitir controlar la información y ventas del sistema, el
cual está enfocado este documento, mientras que otros módulos se encargaran de apoyarla.
El módulo del Sistema Gestor dependerá del módulo de Catálago de productos para realizar las
tareas de ventas de productos de café y sus derivados de esta, se necesitará el módulo de pedidos, en
este módulo se obtendrá toda la información necesaria, para él envió de los productos, otro modulo
necesario es el de Pago en línea, puesto que es obligatorio la realización de pagos por los productos,
por otro lado, es de suma importancia llevar el control de los pedidos ya realizados o enviados para
esto, se contará con el módulo Pedidos Realizados. El siguiente módulo imprescindible es el de
visualización de correos spam para establecer contacto con los usuarios que acepten dicho spam.
2.4. Restricciones
El producto que se está desarrollando presenta restricciones las cuales se deben tener en cuenta
tanto al momento de desarrollar el software, como cuando esté se implemente.
En el desarrollo de este software para la empresa Café las Flores, utilizaremos lenguaje de
programación Java, por este motivo la funcionalidad del software será solo para equipos con
sistema operativo Windows 10.
Los equipos clientes que se encuentren en funcionamiento deben cumplir con los requisitos
mínimos para el correcto funcionamiento del sistema.
El servidor de Base de Datos debe ser capaces de atender consultas concurrentemente y de atender
la consulta de varios usuarios a la vez.
En este punto abordaremos los factores que pudiesen afectar al funcionamiento del sistema, en el
caso de que se produjese algún cambio dentro de los requisitos que se hayan obtenido.
Para el funcionamiento del sistema es necesario que el servidor en el cual se está trabajando deba
contar con una conexión a internet, en caso contrario el programa no funcionaria.
En este punto se mencionan las interfaces software, que serán necesarias para el correcto
funcionamiento del sistema.
Entity Framework
Una librería que permite a los desarrolladores crear aplicaciones de acceso a datos, programando
con un modelo de aplicaciones conceptuales, modelo denominado ORM (Mapeo Objeto-
Relacional), en lugar de programar directamente con un esquema de almacenamiento relacional. El
objetivo es reducir la cantidad de código y el mantenimiento necesarios para las aplicaciones
orientadas a datos. Forma para del conjunto de tecnologías en ADO.NET, que dan soporte al
desarrollo de software orientado a datos.
PostgreSQL
Es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su
código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto
más potente del mercado y en sus últimas versiones no tiene nada que envidiarles a otras bases de
datos comerciales.
Su funcionalidad es la creación de bloques de código que se ejecutan en el servidor. PostgreSQL
soporta funciones que retornan "filas", donde la salida puede tratarse como un conjunto de valores
que pueden ser tratados igual a una fila retornada por una consulta. Las funciones pueden ser
definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de un usuario
previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como
"procedimientos almacenados”.
Librerias .NET
Es una librería o un framework diseñado por Microsoft, que permite el desarrollo rápido de
aplicaciones haciendo énfasis en la transparencia de redes, con independencia de plataforma de
hardware.
Sistema Operativo Windows 7 o superior
El equipo cliente utilizará el sistema operativo Windows 7 o superior
En el siguiente tópico, se describirán los requisitos de comunicación con otros sistemas y cuáles
protocolos se utilizarán para ese fin.
Nuestro programa estará en constante comunicación con el sistema de la base de datos suministrada
por PostgreSQL.
Para conseguir un intercambio fiable de datos, entre nuestro sistema y la base de datos, se deben
llevar a cabo muchos procedimientos separados. Con un modelo en capas o niveles resulta más
sencillo agrupar funciones relacionadas e implementar el software modular de comunicaciones.
En este apartado se especificarán todas aquellas acciones que el sistema deberá llevar a cabo.
En cuanto a los requisitos que se establecen para el correcto funcionamiento del software, se debe
considerar que éste, será un sistema que tendrá constantes ingresos y vistas a la página web, por
esto mismo, se establece como prioridad que dicha actividad debería afectar lo menos posible al
desempeño de la plataforma.
Se calcula que las transacciones que se realizarán, el 80% sea en un tiempo estimado en menos de 1
segundo.
3.3.2. Seguridad
3.3.3. Disponibilidad
La disponibilidad es una de las características que mide el grado, con el que los recursos del sistema
estarán disponibles para su uso por el usuario final, a lo largo de un tiempo dado. Ésta no sólo se
relaciona con la prevención de caídas del sistema (también llamadas tiempos fuera de línea,
Downtime u Offline), sino incluso con la percepción de "caída" desde el punto de vista del usuario:
cualquier circunstancia que nos impida trabajar productivamente con el sistema – desde tiempos de
respuesta prolongados, escasa asistencia técnica o falta de estaciones de trabajo disponibles – es
considerada como un factor de baja disponibilidad.
Ya que este sistema será subido a la web, debe de ser un sistema el cual tenga niveles de servicio
que alcancen las 24 horas al día y los 365 días del año.
Tiempo muerto no programado debido a fallas y ajuste de este mismo es de 3 horas anuales
(24 horas x 7 días) – 0.5 hora offline = 167.5 Horas funcionando a la semana.
((167.5 horas / 7 días) * 365 días) - 3 Horas offline = 8730,928571428571 Horas al año
24 x 365 = 8,760 Horas tiene un año
(8730,928571428571 / 8760) * 100 = 99.668%
El sistema tendrá anualmente una disponibilidad total del 99.668% en línea.
3.3.4. Mantenibilidad
El IEEE (19990) Define mantenibilidad como: “La factibilidad con la que un sistema o componente
software puede ser modificado para corregir fallos, mejorar su funcionamiento u otros atributos o
adaptarse a cambios en el entorno”.
Dicho esto, se deduce, que un software bien desarrollado, debe tener la flexibilidad necesaria para
adaptarse al futuro, como también, el mantenimiento deberá hacerse de manera rápida y efectiva,
afectando lo menos posible a las labores de la entidad que lo utilice.
El equipo de soporte deberá revisar el sistema una vez por semana durante 15 días, para analizar el
correcto funcionamiento tanto del sistema, como de la base de datos, chequear si los respaldos estén
en buenas condiciones y de manera íntegra, se deberá compactar la base de datos, revisar que
consultas están afectando el funcionamiento del sistema, para seguir mejorando el sistema con el
pasar del tiempo.
3.3.5. Portabilidad
Primero que nada, cabe mencionar que el sistema a crear está siendo programado en leguaje “Java”
por lo que no pierde portabilidad este leguaje es funcional en familia Windows.
El 100% de los componentes del sistema son dependientes del servidor. Ya que sin el servidor el
sistema no podría funcionar.
Este sistema solo podrá ser usado en sistemas operativos Windows 7 o superior.
En este punto definiremos requisitos de carácter legal, cultural o político según lo requerido por la
entidad cliente.
El producto de software que se desarrollará solamente tendrá como opción el idioma español, ya
que el personal encargado de utilizar el software no requiere la opción de visualizar el sistema en
otro idioma, obviamente no se descarta que en futuras actualizaciones exista la traducción a otros
idiomas. Esta última característica del sistema corresponde a un requisito cultural y/o político.