Fase de Definición de Requisitos del Sistema
Resources
Paso 2 - Definición de Requisitos del Sistema
Con los objetivos del sistema claramente definidos, podemos establecer con mayor claridad los requisitos del sistema.
Los requisitos del sistema son las propiedades necesarias para asegurar que se logren los objetivos del sistema.
Los requisitos influirán en muchos otros aspectos del diseño del sistema, incluyendo: estados, acciones permitidas, mecanismos y parámetros.

Para derivar los requisitos, necesitamos una declaración precisa de qué funcionalidades necesita el sistema y qué propiedades se requieren para estas funciones.
Distinguimos entre diferentes tipos de propiedades:
Propiedades variables, como requerir que la cantidad intercambiada por el operador sea menor o igual a los activos que posee.
Propiedades invariantes, como requerir que los precios de los activos después de un evento de adición de liquidez sean los mismos que antes del evento.
Aquí hay algunos requisitos que podríamos imponer al sistema para un AMM:
Un operador solo puede comerciar usando tokens que posee.
El precio de los activos en el fondo debe cambiar en respuesta a las operaciones.
Cuando un proveedor de liquidez agrega o retira liquidez, esto no debe cambiar los precios en el fondo.
Cuando un proveedor de liquidez agrega o retira liquidez, esto no debe cambiar el valor de las participaciones ya distribuidas.
Diferentes sistemas tendrán diferentes requisitos dependiendo de su diseño. Otro protocolo puede necesitar otras funciones y requisitos.
El trabajo del Token Engineer es identificar lo que se necesita para que el sistema funcione como se pretende.
Contexto adicional para la ingeniería de requisitos
Casi cualquier ingeniero que trabaje con un cliente deberá asegurarse de que el cliente esté satisfecho con los resultados finales. Por lo tanto, casi todas las ramas de la ingeniería tienen alguna forma de estándares profesionales para recopilar y documentar los requisitos del proyecto. Dado que los estándares profesionales relacionados con esto en la Ingeniería de Tokens aún están en desarrollo, esta es un área donde resulta útil observar otras disciplinas de ingeniería para obtener inspiración.
La disciplina de ingeniería de software ha establecido herramientas sólidas para especificar los requisitos necesarios. Los futuros ingenieros de software suelen tomar un curso universitario completo solo para aprender a especificar y documentar requisitos. Existen muchos tutoriales en video y cursos en línea excelentes disponibles sobre Ingeniería de Requisitos para ingenieros de software. Un video que vale la pena considerar es la Introducción a la Ingeniería de Requisitos por Birgit Penzenstadler, que puedes ver aquí.
Dentro de los sistemas de Ingeniería de Tokens, a menudo es posible tomar requisitos del sistema expresados verbalmente y convertirlos en propiedades matemáticas invariantes. Una vez que un requisito del sistema se formula como una propiedad invariante, se puede determinar objetivamente si se cumple mediante ecuaciones y código computacional.
Las propiedades invariantes son aspectos del sistema que permanecen sin cambios durante la operación del sistema. A menudo, estas propiedades invariantes se expresan mediante ecuaciones matemáticas. Al igual que los requisitos del sistema de diferentes diseños de AMM pueden traducirse en propiedades matemáticas invariantes.
¿Quieres saber más sobre las Matemáticas de las Propiedades Invariantes en los Sistemas?
La idea de una propiedad invariante de un sistema es común en matemáticas y ciencia. Aquí hay algunos recursos donde puedes ver más ejemplos:
Una vez que los Requisitos del Sistema están claramente definidos, el siguiente paso es identificar a los actores involucrados (stakeholders) y analizar cómo interactuarán con el sistema. Discutiremos eso en la siguiente sección.