A continuación se definen los principales conceptos sobre el análisis funcional de los requisitos, que permitirá al team de desarrollo definir las funciones de negocio que satisfacen a los requisitos aprobados, y que serán la base para el desarrollo de la propuesta del sistema informático.
El resultado final de esta actividad es la descripción funcional de los servicios que ofrecerá el sistema para satisfacer a los requisitos.
Identificar el entorno tecnológico.
Se debe conocer la realidad tecnológica de la organización, para poder determinar en fase de validación, si las propuestas de funciones de negocio que satisfacen los requerimientos, son posibles de desarrollo exitoso.
Identificar correctamente el entorno tecnológico, permitirá evitar los riesgos asociados al desarrollo de una propuesta que luego no es implementable, ya sea que sea tecnológicamente de avanzada con respecto a las disponibilidades de la organización cliente o que pueda ser una solución demasiado conservadora, perdiendo las ventajas de las nuevas tecnologías. Por lo tanto se debe identificar claramente la tecnología a utilizar. Esta definición de la tecnología a utilizar forma parte de la documentación del producto del proyecto.
Especificar estándares y normas.
Se deben especificar cuáles serán las normas y estándares a seguir en la ejecución del proyecto. Estos estarán definidos por los aspectos legales y por la metodología de desarrollo de software seleccionada.
Especificaciones de seguridad física.
Relativas a las personas involucradas, tanto en el proceso de creación del producto software, como luego durante su operación.
Especificaciones de seguridad de acceso a los datos.
Relativa a la información utilizada en el proceso de creación, como aquella derivada de la explotación del sistema.
Especificaciones de ergonomía
Relacionadas a las operaciones donde intervienen recursos humanos, tanto sea en la operación del producto software como en los procesos organizativos derivados del uso de la aplicación software.
Identificar el alcance del sistema
Se debe determinar clara y objetivamente cuales son los límites y alcances del sistema, es decir taxativamente que funciones realiza el sistema y cuáles no. Debe quedar perfectamente definido que toda función de sistema no detallada y especificada no será desarrollada. No se permite incluir funcionalidad del tipo “obvia”, “supuesta” o “por default”. Solo se incluye como funciones del sistema las explícitamente declaradas.
Identificar subsistemas
Una vez definido el alcance del sistema, se deben agrupar las funciones de negocios en subsistemas, esta agrupación debe contemplar los criterios de análisis y diseño de la metodología de desarrollo seleccionada y deben cubrir todos los puntos definidos en el alcance del sistema, controlando detalladamente que no existan duplicaciones.
Identificar las interfaces con otros sistemas
Para cada uno de los subsistemas identificados debemos identificar interfaces con otros sistemas al interno del área de negocio, al interno de la organización y con los sistemas externos que deberá interactuar e identificar los usuarios representativos en cada una de sus tipologías intervinientes en cada interface identificada.
Para cada conjunto de datos necesarios en la aplicación, determinar para aquellos que son alimentados desde sistemas externos, cuales son estas fuentes de datos y cuál es el procedimiento para convertir este dato disponible en un sistema externo, en un dato disponible a la aplicación.
No disponer de los datos necesarios puede provocar el desarrollo de pequeños módulos capaces de proveer los mismos, pero fuera del plan de proyecto.
Generalmente se encuentra una solución que puede proveer los datos necesarios, pero a un costo mayor, con mayores riegos en cuanto a la integridad, disponibilidad en tiempos, niveles de acceso y completitud de los mismos, por lo tanto se debe definir para cada conjunto de datos necesarios en el sistema, la fuente de alimentación de las mismas, los procedimientos de obtención y conversión desde las interfaces externas.
Identificar los elementos hardware, software y operaciones manuales Deben identificarse todos los elementos hardware, software y las operaciones manuales, que forman la propuesta de solución, asignando cada unos de éstos a los subsistemas y requisitos aprobados, de manera de poder asegurar que todos los requisitos estas cubiertos, y que los elementos definidos pueden ser relacionados a sus requisitos origen, determinando que sólo son aquellos necesarios y suficientes. La arquitectura propuesta debe ser documentada, junto a la asignación de cada uno de los elementos componentes.
Documentación de subsistemas y módulos funcionales
En esta documentación se debe especificar cada uno de los subsistemas y/o módulos funcionales identificados. Para cada uno de ellos se debe especificar: Objetivo del subsistema/módulo.
Descripción de cada una de las funciones que lo componen. Requisitos aprobados que satisface cada una de las funciones. Recursos necesarios para el desarrollo de cada funciones solución.
Integración con las demás funciones del subsistema/módulo y con las funciones de otros subsistemas/módulos.
Documentación de Análisis de Procedimientos
En esta documentación se detallan los distintos procedimientos que forman parte de la solución propuesta, debiendo identificar:
Objetivo del procedimiento.
Si es procedimiento vertical (se desarrolla por entero en un solo subsistema/ módulo):
Descripción de requisitos de entradas, procesos y salidas obtenidas. Funciones involucradas en su desarrollo.
Requisitos satisfechos para cada función.
Si es procedimiento horizontal (se desarrolla cubriendo dos o más subsistemas/ módulos):
Descripción de requisitos de entradas, procesos y salidas obtenidas en cada uno de los subsistemas involucrados.
Funciones solución involucradas en su desarrollo, en cada uno de los módulos. Requisitos satisfechos para cada función en cada módulo.
Integración, relaciones, interdependencias y vínculos entre los distintos subsistemas/módulos en los que se desarrolla el procedimiento.
Integración, relaciones, interdependencias y vínculos entre las distintas funciones en las que se desarrolla el procedimiento.
Requisitos aprobados que satisface. Recursos necesarios para su desarrollo.
Integración con los demás subsistemas/módulos.
Documento de Análisis del Modelo de datos
De acuerdo a la metodología de desarrollo seleccionada, se debe proporcionar el modelo de base de datos que soportara el diseño de los módulos software para cada una de las funciones de negocio.
Debe ser posible definir la trazabilidad entre los requerimientos y como el modelo de datos satisface a éstos, indicando además la fuente primaria de obtención y la metodología de validación de estos datos.
Documento de Análisis de funciones del sistema
La documentación debe contener:
La enumeración y descripción de cada una de las funciones propuestas, indicando a que subsistema/s pertenece, cuáles son sus entradas, cuáles son los procedimientos que se desarrollan íntegramente dentro de la función, en que procedimientos que se ejecutan dentro del subsistema participa y en que procedimientos viene involucrada al ser ejecutada en más de un subsistema.
Detalle de las suposiciones y de las restricciones con las que se ha realizado el análisis de las funciones solución.
Detalle de los stakeholders involucrados, con sus respectivos grados de influencias, sus requisitos y expectativas.
Matriz de trazabilidad de los requisitos aprobados y las funciones de negocio, de manera de poder determinar si todos los requisitos están contemplados, si existen funciones de negocio sin requisitos que la justifiquen y el impacto de los cambios en los requisitos.
No identificar todos y cada uno de los subsistemas integrantes del producto, como sus elementos componentes, provoca que el producto final carezca de funcionalidades requeridas y aprobadas, que éstas estén duplicadas en más de un subsistema, o que al momento de implementación, encontremos problemas de implementación, de perfiles de usuarios ó de comunicaciones.
Validación Funciones de Negocio
Una vez definidas las funciones de negocio, se debe validar:
- El entorno tecnológico
- Estándares y normas
- Seguridad física
- Seguridad de acceso
- Alcance del sistema
- Subsistemas
- Interfaces con otros sistemas.
- Elementos hardware, software y operaciones manuales
- Documento de subsistemas y módulos funcionales
- Documento de Análisis de Procedimientos
- Documento de Análisis del Modelo de datos
- Documento de Análisis de funciones del sistema