26.3.16

Análisis de Requerimientos

Para poder arribar con éxito a un buen diseño de Base de Datos es necesario hacer un detallado análisis de los requerimientos del sistema al cual nos enfrentamos. Pero qué implica exactamente este análisis?

* Consiste en especificar lo que se requiere que haga el sistema o la aplicación.
* Permite que las personas observen los elementos lógicos separados de los componentes físico. Después de lo cual se podrá desarrollar un modelo físico eficiente para la situación donde será utilizado.


¿Porque no analizamos requisitos al mismo tiempo que diseñamos e implementamos el sistema ?
La respuesta es que el Diseño e Implementación son mucho más que el análisis (refinamiento y estructuración de los requisitos) por lo que se requiere una separación de intereses.
– El Análisis: prepara y simplifica la siguiente actividad de diseño e implementación, delimitando los temas que deben resolverse y las decisiones que deben tomarse en esas actividades.
– En el Diseño: debemos modelar el sistema y encontrar su forma incluyendo su arquitectura: una forma que de vida a todos los requisitos incorporados en el sistema.

Es necesario recabar toda la información posible sobre la realidad, para luego analizarla con detenimiento, desde distintos puntos de vista con el fin de lograr diseñar un modelo que la represente de manera abstracta lo más fielmente posible.



Debemos efectuarnos algunas preguntas con el fin de analizar nuestro sistema:

¿Qué? ¿Quién? ¿Cuándo? ¿Cómo? ¿Dónde?

Preguntas básicas y simples que nos permitirán luego realizar otras más puntuales:
* ¿Cuáles son los objetos de datos primarios que va a procesar el sistema?
* ¿Cuál es la composición de cada uno de estos objetos y qué atributos los describen?
* ¿Cuál son las relaciones entre dichos objetos?
* ¿Qué Procesos realiza nuestro sistema? ¿Cuándo se realizan? ¿Quién los hace?
* ¿Qué intercambio de información existe dentro de los componentes del sistema? ¿Y con el exterior?
* ¿Cuáles son los límites del sistema?
* ¿Existen excepciones a tener en cuenta para la realización de los procesos?
* ¿Cómo se almacena la información actualmente? ¿Qué datos se registran? ¿Quién lo hace?

De allí surgirán:

Entidades
* Abstracciones de un objeto del mundo real.
* Representación una colección de objetos que tienen propiedades comunes.
* Ejemplo: CLIENTE
Atributos
* Propiedades de una entidad
* Ejemplo: Nombre y apellido, edad, dirección, etc.
Relaciones o Flujo de datos
* Intercambio de información entre entidades
* Representan datos en movimiento lógicamente relacionados.
* Describen el movimiento de paquetes de datos de una parte del sistema a otra.
Procesos
* Una actividad, tarea, proceso, función, etc.
* Transforma entradas en salidas
Almacenes
* Colección de datos en reposo.
* archivo en disco
* datos en un fichero de papel
* Ejemplo: una FACTURA
Terminadores o Entidades Externas.
* Representan objetos con los cuales el sistema se comunica.
* Personas, agrupamientos, organizaciones
* otros sistemas de software o hardware
* Se encuentran por fuera del sistema.

El análisis de requerimientos solicita entendimiento, clasificación, organización, priorización y validación.
En todo momento debemos considerar los límites del sistema, teniendo en claro cuál es su objetivo primario ¿Qué es lo que queremos que el sistema haga? ¿Qué salidas de información queremos obtener? Sólo de esta manera se podrá diferenciar qué de toda la información recolectada debemos almacenar y cómo deberá ser el diseño que se ajuste a ella.