Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Durante las dos pasadas décadas, se han desarrollado un gran número de métodos de modelado. Los
investigadores han identificado los problemas del análisis y sus causas y han desarrollado varias
notaciones de modelado y sus correspondientes conjuntos de heurísticas para solucionarlos. Cada
método de análisis tiene su punto de vista. Sin embargo, todos los métodos de análisis se relacionan
por un conjunto de principios operativos:
1. Debe representarse y entenderse el dominio de información de un problema.
2. Deben definirse las funciones que debe realizar el software.
3. Debe representarse el comportamiento del software (como consecuencia de acontecimientos
externos).
4. Deben dividirse los modelos que representan información, función y comportamiento de manera que
se descubran los detalles por capas (o jerárquicamente).
5. El proceso de análisis debería ir desde la información esencial hasta el detalle de la implementación.
Los modelos creados durante el análisis de requisitos desempeñan unos papeles muy importantes:
El modelo ayuda al analista a entender la información, la función y el comportamiento del
sistema, haciendo por tanto más fácil y sistemática la tarea de análisis de requisitos.
El modelo se convierte en el punto de mira para la revisión y por tanto la clave para
determinar si se ha completado, su consistencia yla precisión de la especificación.
El modelo se convierte en el fundamento para el diseño, proporcionando al diseñador una
representación esencial del software que pueda trasladarse al contexto de la
implementación.
20
Ingeniería
de
sistemas
Análisis
de
de
requisitos Diseño
del
Software
Especificación de requisitos.7
La especificación es un documento que define de forma completa, precisa y verificable, los requisitos,
el diseño, el comportamiento u otras características de un sistema o componente de un sistema.
La especificación de requisitos del software se puede definir como la documentación de los requisitos
esenciales del software y de sus interfaces externos. Debe tener dos características fundamentales:
1. Debe incluir información cierta, es decir, coherente con las necesidades reales del
usuario que se desean satisfacer.
2. Debe comunicar dicha información de forma eficaz, es decir, de tal manera que se
pueda comprender perfectamente.
7
Extracto tomado de Análisis y diseño de aplicaciones informáticas de Gestión. Mario Piattini.
21
Uno de los aspectos más importantes de la especificación de requisitos es el de las interfaces externas
del software, tanto por su influencia en la facilidad de uso del software como por ser lo que más
fácilmente percibe el usuario y donde más influyen sus preferencias.
Las interfaces con el exterior coinciden con lo que tradicionalmente se ha llamado las entradas y las
salidas del sistema. En el caso del análisis estructurado se pueden identificar fácilmente sólo con
fijarse en los flujos que entran y salen del sistema en el diagrama de contexto.
La acción de modelar los requerimientos da como resultado uno o más de los siguientes tipos de
modelo:
Modelos basados en el escenario de los requerimientos desde el punto de vista de distintos
“actores” del sistema.
Modelos de datos, que ilustran el dominio de información del problema.
Modelos orientados a clases, que representan clases orientadas a objetos (atributos y
operaciones) y la manera en que las clases colaboran para cumplir con los requerimientos del
sistema.
Modelos orientados al flujo, que representan los elementos funcionales del sistema y la manera
como transforman los datos a medida que se avanza a través del sistema.
Modelos de comportamiento, que ilustran el modo en el que se comparte el software como
consecuencia de eventos externos.
El propósito de los prototipos es buscar de manera preliminar información necesaria para ayudar
en la toma de decisiones. Se puede pensar en un prototipo como un medio para la especificación
de requisitos o un enlace de comunicación entre el usuario final y el diseñador.
El análisis hay que hacerlo independientemente del paradigma de ingeniería del software que se
aplique. Sin embargo, la forma que toma este análisis varía. En algunos casos es posible aplicar los
principios operativos del análisis y obtener un modelo de software del que se pueda desarrollar un
diseño. En otras situaciones, se realizan recopilaciones de requisitos, se aplican los principios del
análisis y se construye un modelo del software a fabricar (prototipo) para que lo valore el cliente y
el desarrollador.
22
Si los requerimientos del software incluyen la necesidad de crear, ampliar o hacer interfaz con una
base de datos, o si deben construirse y manipularse estructuras de datos complejas, el equipo del
software tal vez elija crear un modelo de datos como parte del modelado general de los
requerimientos.
Un modelo de datos es un lenguaje orientado a describir una Base de Datos. Típicamente un modelo
de datos permite describir:
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que
se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para
reflejar correctamente la realidad deseada.
Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado,
modificación y recuperación de los datos de la base.
El modelado de datos responde a una serie de preguntas específicas importantes para cualquier
aplicación de procesamiento de datos. ¿Cuáles son los objetos de datos primarios que va a procesar el
sistema?, ¿Cuál es la composición de cada objeto de datos y qué atributos describe el objeto?, ¿Dónde
residen actualmente los objetos? ¿Cuál es la relación entre los objetos y los procesos que los
transforman?
Para responder estas preguntas, los métodos de modelado de datos hacen uso del Diagrama de
Entidad-Relación (DER). Permite que un ingeniero del software identifique objetos de datos y sus
relaciones mediante una notación gráfica. En el contexto del análisis estructurado, el DER define todos
los datos que se introducen, se almacenan, se transforman y se producen dentro de una aplicación.
El DER es específicamente útil para aplicaciones en donde los datos son complejos.
Simbología
Ejemplo de DER
Representa una Relación
Representa un Atributo
23
No. Fecha
Nombre Dirección
Nacionalidad Titulo
Fecha Nac.
M M 1 EDITORIAL
AUTOR N OBRA Edita
Escrbe
Nombre
La información se transforma a medida que fluye por un sistema basado en computadora. El sistema
acepta entradas en una gran variedad de formas; aplica elementos de hardware, software y humanos
para transformar la entrada en salida, y produce salida en una gran variedad de formas. La entrada
puede ser una señal de control transmitida por un controlador, una serie de números escritos por un
enlace de una red o un archivo voluminoso de datos recuperado de un almacenamiento secundario.
La transformación puede ser, desde una sencilla comparación lógica, hasta un complejo algoritmo
numérico o un mecanismo de reglas de un sistema experto.
El análisis estructurado es una técnica del modelado del flujo y del contenido de la información. La
representación del modelado de flujo de datos puede hacerse a través de un Diagrama de Flujo de
Datos.
El modelado del flujo de datos es una actividad fundamental del análisis estructurado.
El modelado orientado al flujo da una indicación de la forma en la que las funciones de procesamiento
transforman los objetos de datos.
Aunque algunos ingenieros de software perciben el modelado orientado al flujo como una técnica
obsoleta, sigue
Fabricante Modelo Número de serie Carrocería Color Propietario
siendo una de las
Lexus LS400 AB123… Sedán Blanco RSP
Chevy Corvette X456… Deportivo Rojo CCD notaciones más
BMW 75Oil XZ765… Cupé Blanco LJL usadas
Ford Taurus Q12A45… Sedán Azul BLF actualmente para
hacer el análisis de los requerimientos.
Los diagramas de flujo de datos se utilizan para complementar los diagramas UML y amplían la
perspectiva de los requerimientos y del flujo del sistema.
El diagrama de flujo de datos (DFD) es una técnica que representa el flujo de la información y las
transformaciones que se aplican a los datos al moverse desde la entrada hasta la salida; ya que
adopta un punto de vista del tipo entrada-proceso-salida para el sistema.
Se puede usar el diagrama de flujo de datos para representar un sistema o un software a cualquier
nivel de abstracción. De hecho, los DFD’s pueden ser divididos en niveles que representen un mayor
flujo de información y un mayor detalle funcional. Por consiguiente, el DFD proporciona un mecanismo
para el modelado funcional, así como el modelado del flujo de información.
24
Ward y Mellor amplían la notación básica del análisis estructurado para que se adapte a las siguientes
demandas impuestas por los sistemas de tiempo real:
Flujo de información que es recogido o producido de forma continúa en el tiempo.
Información de control que pasa por el sistema y el procesamiento de control asociado.
Ocurrencias múltiples de la misma transformación que se encuentran a menudo en situaciones
de multitarea.
Estados del sistema y mecanismos que producen transición de estados en el sistema.
EJEMPLO
A continuación se presenta un DFD en varios niveles para un sistema de
control de pedidos.
NIVEL DE CONTEXTO
25
El modelado del comportamiento es uno de los principios fundamentales de todos los métodos de
análisis de requisitos. El modelo de comportamiento indica la forma en la que responderá el software a
eventos o estímulos externos.
Por consiguiente, es necesario proporcionar un enfoque organizado para representar las características
de cada objeto de datos y elemento de control. Esto se realiza con el diccionario de datos. Se ha
propuesto el diccionario de datos como gramática casi formal para describir el contenido de los objetos
definidos durante el análisis estructurado.
El diccionario de datos es un listado organizado de todos los elementos de datos que son pertinentes
para el sistema, con definiciones precisas y rigurosas que permiten que el usuario y el analista del
sistema tengan una misma comprensión de las entradas, salidas, de los componentes de los
almacenes y también de los cálculos intermedios.
DICCIONARIO DE DATOS
El formato del diccionario varía entre las distintas herramientas, la mayoría contiene la siguiente
información:
Nombre: el nombre principal del elemento de datos o de control, del almacén de datos, o de
una entidad externa.
Alias: otros nombres usados para la primera entrada.
Dónde se usa y cómo se usa: un listado de los procesos que usan el elemento de datos o
de control y cómo lo usan (por ejemplo, como entrada al proceso, como salida del proceso,
como almacén de datos, como entidad externa).
Descripción del contenido: el contenido representado mediante una notación.
Información adicional: otra información sobre los tipos de datos, los valores implícitos (si se
conocen), las restricciones o limitaciones, etc.
27
El siguiente paso es describir las estructuras de datos que componen cada uno de ellos.
Por último, se describen los datos que componen las estructuras.
Existen muchos esquemas de notación comunes utilizados por el analista de sistemas. El que se
muestra a continuación es de los más comunes y utiliza varios símbolos sencillos:
= está compuesto de
+ y
() optativo (puede estar presente o ausente)
{} iteración
[] seleccionar una de varias alternativas
** comentario
@ identificador (campo clave) para un almacén
| separa opciones alternativas en la construcción.
Definiciones:
La definición de un dato se introduce con el símbolo “=”. En este contexto, el “=” se lee: “se define
como”, o “se compone de”, o “significa”.
Significa que el domicilio pudiera consistir en sólo un domicilio de envío o bien sólo un domicilio para
enviar cuentas o ninguno de los dos.
Esta última posibilidad es dudosa. Es mucho más probable que el usuario quiera decir que el domicilio
debe consistir en uno u otro o ambos. Esto se representa así:
Domicilio del cliente = [domicilio de envío | domicilio para cuentas | domicilio de envío +domicilio para
cuentas]
Si se quiere que exista siempre domicilio de envío y que domicilio para cuentas sea opcional se
representa así:
Domicilio del cliente = domicilio de envío + (domicilio para cuentas)
28
Significa que la solicitud siempre debe contener un nombre de cliente, un domicilio de envío y también
cero o más ocurrencias de un artículo. También podemos especificar los límites superior e inferior de la
iteración, que debe haber por lo menos uno y se permitirán cuando menos 10; esto puede indicarse
así: Solicitud = nombre del cliente + domicilio de envío + 1{artículo}10.
Se puede especificar sólo uno de los límites y es correcto.
Selección
La notación de selección indica que un dato consiste en exactamente un elemento de entre un
conjunto de opciones alternativas. Las opciones se encierran entre corchetes y se separan por la barra
vertical |.
Alias: es una alternativa de nombre para un dato. Esto es una ocurrencia común cuando se trata con
diversos grupos de usuarios en diferentes departamentos o ubicaciones geográficas, que insisten en
utilizar distintos nombres para decir lo mismo.
El alias se incluye en el diccionario de datos para que esté completo y se relaciona con el nombre
primario u oficial del dato.
Cuando diseñamos un Diccionario de Datos, debemos adoptar un formato particular para la descripción
de sus elementos.
Lo que se debe describir en el Diccionario de Datos además de su estructura de datos, será cada uno
de los elementos que forman un DFD.
29
31