Listen

Description

La información que obtienes durante el levantamiento de requerimientos es un conjunto de datos muy grande, que en su estado natural es poco útil. Debemos analizarla para entender cuatro cosas respecto a nuestro sistema:
— El contexto en el que se desempeña

— La información que pertenece al dominio del sistema
— Cómo y dónde se procesa la información
— El comportamiento que debe tener el sistema ante diferentes estímulos
¡Acompáñame para conocer en qué consiste el Análisis de los requerimientos!

Contexto
Las aplicaciones de software no realizan su trabajo de forma aislada. Estos interactúan con diferentes actores que se encuentran dentro de un sistema complejo, tales como otras aplicaciones, hardware y dispositivos, redes y ubicaciones remotas. A esto le llamamos El Contexto del sistema, y en él encontraremos información importante para definir nuestros requerimientos no funcionales.
Cosas que debes buscar para definir el contexto:

Otras aplicaciones y software que se está usando. Los usuarios pueden mencionar estos otros programas o descubrirlos en los manuales o documentos que te faciliten. Debes registrar cuantas instancias hay y si se encuentran en varias versiones.
Ubicaciones remotas. ¿Dónde se encuentran geográficamente los usuarios o los otros sistemas que interactúan? En esto, debes prestar atención para entender cómo se comunican, si existe una infraestructura de red de telecomunicación actualmente o será necesario desarrollar una. Debes comprender cómo es el acceso a cada lugar, geográficamente, para entender cómo será la comunicación con estos puntos remotos y no suponer ni asumir que la infraestructura de internet funcionará igual en todas partes.
Hardware y dispositivos. ¿Qué hardware especializado se usa e interactuará con nuestro software? ¿Qué dispositivos emplearán tus usuarios para acceder al sistema? ¿En qué versiones se encuentran? ¿Cuál es la variedad de dispositivos, sistemas operativos y capacidades que tienen? ¿Cuántos son y quiénes los usan? ¿Cuál es la posibilidad de cambiarlos por otros? Esta información te permitirá entender, más adelante, cuáles son las decisiones de tecnología que deberás tomar. Ten en cuenta que tu sistema deberá ser adecuado para el contexto y no obligar a los usuarios a que se adapten al sistema. 

Entender el contexto es muy importante y no se debe dar por hecho. Dale un tiempo a tus actividades de análisis para definirlo.
Dominio de la información
Los conceptos de información son entendidos de diferente forma en los distintos dominios. Piensa por ejemplo en un "Cliente"; en el contexto de los negocios, es alguien que consume productos y servicios, del cual nos interesa conocer su nombre, datos demográficos y otros atributos; pero en el dominio la informática, un "Cliente" es un dispositivo o programa que se comunica con un servidor para consultar información o ejecutar funciones de hardware; de este cliente, nos interesa conocer su origen, dirección, capacidad, permisos, entre otros atributos.

Así pues, debemos definir las entidades de información que se usarán en nuestro software y las relaciones entre ellas; debemos hacer esto de acuerdo al dominio en el que están nuestros usuarios.

El análisis del dominio es un diccionario de datos, que nos permite entender qué significa cada concepto o sustantivo que se usa en el dominio. No es un diccionario para una base de datos todavía, sino una descripción de alto nivel que nos permite entender qué significa, para un usuario, un concepto que él utiliza con frecuencia y cómo se relaciona con otros conceptos. Esto te permitirá encontrar los procesos en los que se origina y transforma cada parte de la información.
Por ejemplo, piensa nuevamente en el Cliente y en una Factura. Ambos estarán definidos por un conjunto de datos que les pertenecen y que esperaremos encontrar en el software. Ahora, ¿cómo se relacionan ambos conceptos? Una factura es creada cuando un cliente completa una compra,