Actualmente estoy trabajando en un proyecto, donde tengo que analizar los requisitos de dos sistemas de TI dados, que usan la computación en la nube, para una API en la nube. En otras palabras, tengo que analizar qué requisitos tienen estos sistemas para una API en la nube, de modo que puedan cambiarla, al tiempo que puedan cumplir sus objetivos actuales.
Permíteme darte un ejemplo de algunos requisitos informales del Proyecto A:
- Al iniciar máquinas virtuales en la nube a través de la API, debe ser posible especificar el tamaño de la memoria, el tipo de CPU, el sistema operativo y una clave SSH para el usuario root.
- Debe ser posible monitorear el tráfico de red entrante y saliente por hora por máquina virtual.
- La API debe admitir la asignación de IP públicas a una máquina virtual y la recuperación de las IP públicas.
- ...
En una etapa posterior del proyecto analizaré algunos estándares de Cloud Computing que estandarizan las API de la nube para averiguar dónde están las posibles deficiencias en los estándares actuales. Un hallazgo podría ser, y probablemente será, que un determinado estándar no admite el monitoreo del uso de recursos y, por lo tanto, actualmente no es utilizable.
Actualmente estoy tratando de encontrar una manera de anotar sistemáticamente y clasificar mis requisitos. Siento que la forma en que las tengo escritas actualmente (como los tres puntos anteriores) es demasiado informal.
He leído en un par de libros sobre ingeniería de requisitos y arquitectura de software, pero todos se centran demasiado en los detalles y la implementación. Realmente solo me interesan las funcionalidades proporcionadas a través de la API / interfaz y no creo que los diagramas UML, etc.son la opción correcta para mí. Creo que actualmente los requisitos que recopilé pueden describirse como historias de usuarios, pero ¿ya son suficientes para un análisis de requisitos sofisticado? Probablemente debería ir "un nivel más profundo" ...
fuente
Realmente no necesita ser más "formal" de lo que tiene. Lo estás escribiendo para que lo lean los humanos y probablemente sobre todo tú mismo, así que tenlo en cuenta. Mi única sugerencia es ponerlo en una jerarquía y numerarlo en formato de esquema. De esa manera, en las revisiones, listas de verificación y demás, puede referirse a un número como 3.0.1 como una abreviatura y desambiguar fácilmente de lo que está hablando.
fuente