1
UNIDAD III
NOCIONES GENERALES MODELO ESTRUCTURADO
Todos los métodos de análisis se basan en la construcción de un conjunto de
modelos del sistema que se pretende desarrollar. Utilizando alguna notación
se crean modelos que reflejan el sistema y aplicando las técnicas de
descomposición se establece la esencia del sistema a desarrollar.
Ventajas del uso de modelos:
Centrarse en determinadas características del sistema.
Dejar de lado otras menos significativas.
Enfocar las discusiones con el usuario en los aspectos más
importantes.
Realizar cambios y correcciones en los requisitos a un bajo costo y sin
correr ningún riesgo.
Verificar que el analista haya entendido correctamente las
necesidades del usuario.
Documentar el sistema de forma tal que diseñadores y
programadores puedan construir el software a partir de él.
Todos los métodos de análisis de los requisitos de información se basan en
la construcción de un conjunto de modelos del sistema que se pretende
desarrollar. Utilizando alguna notación, propia de cada método, se crean
modelos que reflejen el sistema y aplicando las técnicas de descomposición
mediante un proceso de construcción descendente o ascendente, se
establece la esencia del sistema a desarrollar.
La construcción de modelos presenta ventajas claras, tales como centrarse
en determinadas características del sistema, dejando de lado otras menos
significativas. Esto, además, permite enfocar las discusiones con el usuario
en los aspectos más importantes del sistema, sin distracciones en
características que sean, por el momento, irrelevantes.
Para modelar sistemas se necesita una técnica que describa:
Qué funciones son las que realizan.
Qué interacciones se producen entre esas funciones.
Qué transformaciones de datos realiza el sistema.
Qué datos de entrada se transforman en qué datos de salida.
DIAGRAMA DE FLUJO DE DATOS (DFD)
El diagrama de flujos de datos es una técnica gráfica que representa el flujo
de datos y las transformaciones que se aplican a ellos. Representa qué
funciones o qué transformaciones se realizan sobre los datos pero no
cuándo se realizan o en qué secuencia.
Es un mapa visual que muestra cómo se mueven los datos dentro de un
sistema o proceso.
Representa, esencialmente, qué funciones o qué transformaciones se
realizan sobre los datos pero no cuándo se realizan o en qué secuencia.
Como se compone? (Para ello se utilizara la notación de Yourdon)
Procesos
Los procesos son transformadores de flujos. Muestran una parte del sistema
que transforma datos de entrada en datos de salida. Estos, en el diagrama
de flujos de datos, evitan mostrar detalles procedimentales.
Los procesos en el diagrama de flujo de datos evitan mostrar detalles
procedimentales, estos se aclaran mediante las especificaciones de
procesos.
Un diagrama de flujo de datos debe contener, por simplicidad, no
más de 9 procesos
Cada proceso de un diagrama de flujo de datos debe tener un
nombre corto y significativo. Normalmente un verbo más un
sustantivo
Los procesos deben ser numerados
Entidades Externas
Las entidades externas, representan a los elementos externos al sistema.
Estos pueden ser personas, organizaciones u otros sistemas que interactúan
con él y que están fuera de los límites del sistema. Las entidades externas
proporcionan datos que serán transformados por el sistema o son las que
consumen los datos que fueron transformados por el sistema.
Flujos de Datos
Representan datos o estructuras de datos que fluyen a través del sistema.
Puede tratarse de un elemento de dato simple o compuesto o incluso de
una colección de datos de estructura compleja y van etiquetados con un
nombre que identifica a los datos que transportan y, posiblemente, con el
estado de dicha información.
Los flujos de datos que comuniquen el sistema con las entidades externas
representan las interfaces del mismo. Las entidades externas aparecen,
principalmente, en el diagrama de contexto y pueden repetirse en los
niveles inferiores.
La forma de reconocerlas es preguntando qué harán esas entidades con los
datos que les ofrece el sistema o de donde obtiene los datos que la entidad
externa entrega al sistema. Si la respuesta a ambas preguntas es “no
interesa”, se está en presencia de una entidad externa.
Almacenamiento de Datos
Mientras que los flujos de datos representan datos en movimiento los
almacenamientos representan datos estáticos o en reposo. Describen a los
datos persistentes que serán utilizados por el sistema.
Permiten guardar, temporalmente, datos que luego podrán ser procesados
por el mismo proceso que los creó o por otro distinto; Los almacenamientos
se comunican solamente con los procesos mediante flujos de datos, de
modo tal que éstos pueden entrar o salir de él.
LAS RELACIONES … COMO SON?
No todos los componentes del modelo pueden relacionarse entre sí. Los
procesos pueden comunicarse con almacenamientos, otros procesos o
entidades externas. Los almacenamientos y las entidades externas sólo
pueden comunicarse con procesos.
Los niveles de un DFD son:
Nivel 0: Diagrama de contexto
Nivel 1: Diagrama de nivel superior
Nivel 2: Diagrama de detalle o expansión
DIAGRAMA DE CONTEXTO
Es aquel que define los limites entre el sistema o parte del sistema y su
ambiente, mostrando las entidades que interactúan con el. Resume el
requisito principal del sistema, esto es, recibir entradas, luego las procesa
de acuerdo con determinadas funciones y genera, por último, las salidas.
Un diagrama de contexto resume el requisito principal del sistema:
Recibir entradas.
Procesarlas de acuerdo con determinadas funciones.
Generar las salidas.
El diagrama de flujo de datos de nivel 0 se lo denomina diagrama de
contexto y en él el sistema está representado por un sólo proceso, que
identifica cuál es la función principal del sistema, mostrando además los
flujos de datos que lo relacionan con las entidades externas.
Descomposición por niveles
Cada diagrama de flujo de datos de un nivel “n+1” será el resultado de la
“exposición” de un proceso de un diagrama de flujo de datos de nivel “n”.
Cada diagrama de flujo de datos de un nivel “n” será el resultado de la
explosión de un proceso de un diagrama de flujo de datos de nivel “n-1”
El diagrama de flujo de datos debe ser leído y comprendido, no sólo por el
analista que construyó el modelo, sino también por los usuarios que son los
expertos en la materia de aplicación.
DICCIONARIO DE DATOS
es un listado organizado que contiene los detalles del sistema, con
definiciones precisas y rigurosas para que, tanto el usuario como el analista,
tengan un entendimiento común de todas las entradas, salidas,
componentes de los almacenamientos y procesos intermedios que existen
en el sistema.
define el significado de los flujos y almacenamientos que se muestran en los
diagramas de flujo de datos; detalla la composición de la agrupación de
estructura de datos que se mueven a lo largo de los flujos, es decir,
estructuras complejas que pueden descomponerse en unidades más
elementales
EL DATO ELEMENTAL
El dato elemental es la mínima unidad indivisible, participa como
componente en las estructuras de datos del sistema. Cualquier
descomposición del dato elemental carecerá de sentido dentro del ámbito
de estudio
La descripción del elemento de datos indica, de manera breve, lo que éste
dato elemental representa para el sistema. Permite tener una descripción
del significado que se le atribuye en el sistema al elemento de dato. El
símbolo que se utiliza para realizar comentarios textuales en la definición de
los componentes es “* *”.
Por ejemplo: Apellido = *apellido del empleado*”, DNI = *documento
nacional de identidad*.
El longitud y el tipo detalla, independientemente de la implementación en
un lenguaje de programación determinado, la cantidad de espacio asignado
a él y el tipo de dato que representa. Este puede ser, entre otros,
alfanumérico, numérico; fecha, boolean, etc.
Por ejemplo: Nombre, alfanumérico (30), Edad, numérico (2).
LA ESTRUCTURA DE DATOS
Los datos elementales se agrupan en estructuras para describir
componentes del sistema. Una estructura de datos está compuesta por
elementos y/o estructuras de datos. Estas estructuras se construyen sobre
un conjunto de relaciones entre los componentes. La definición de una
estructura de datos comienza con el símbolo “=”, este tiene el significado
de “está compuesto por”.
La relación secuencial define los componentes que siempre estarán
incluidos en la estructura. Pueden ser datos elementales o estructuras de
datos. A esta relación se denomina también concatenación. El símbolo que
se utiliza para su descripción es “+”.
Por ejemplo:
Dirección = calle + número + código_postal + localidad
Alumno = código + nombre + dirección
La relación de selección define distintas alternativas para datos elementales
o estructura de datos incluida dentro de una estructura. De todas las
opciones, solamente se elige una. La relación de selección se puede
considerar, para los datos elementales, como un dominio de valores
discretos. El símbolo que se utiliza para su descripción es “[ ]”. Para
separar opciones alternativas en la construcción de selección, se utiliza el
símbolo “|”
Por ejemplo:
Documento = [dni | cedula de identidad | pasaporte] sexo
= [Femenino | Masculino]
EL FLUJO DE DATOS
Los flujos de datos son conductos por donde pasan los elementos de datos o
las estructuras de datos que comunican a los componentes del diagrama de
flujo de datos. En este diagrama, los flujos se representan mediante líneas
con flechas que indican su dirección. Se describe, en el diccionario de datos,
mediante el nombre, contenido, origen y destino
El nombre se utiliza para referenciar un flujo de datos. Se deben asignar
nombres de flujos que sean significativos en el contexto del desarrollo del
sistema. Por ejemplo: Datos del socio. La descripción indica, de manera
breve, lo que ese flujo representa para el sistema. Por ejemplo: Datos de los
socios del club El contenido, describe los componentes del flujo, pueden ser
elementos de datos o estructuras de datos.
Por ejemplo:
Datos del socio = nombre + apellido + ... + dirección
La fuente indica el origen del flujo de datos, puede ser una entidad externa,
un proceso, o un almacenamiento. El destino indica hacia donde se dirige el
flujo de datos, puede, al igual que la fuente, ser una entidad externa, un
proceso, o un almacenamiento.
EL ALMACENAMIENTO
Los almacenamientos son flujos de datos en reposo. Se representan de la
misma forma que los flujos de datos. Por lo tanto tienen nombre,
descripción, contenido y además se detallan los flujo de entrada y salida.
El flujo de entrada indica cuáles son los flujos que alimentan al
almacenamiento. Esto implica una alteración del contenido. Puede ser una
inserción, borrado o modificación de los valores componentes de la
estructura.
El flujo de salida indica cuáles son los flujos que se extraen del
almacenamiento. Esto implica, solamente, la lectura de los valores
componentes de la estructura sin alterar el contenido de los mismos.
LOS PROCESOS
Los procesos son los transformadores de flujos de datos del sistema. Los
procesos primitivos del diagrama de flujo de datos, serán descriptos,
además, en forma más detallada mediante alguna de las herramientas de
especificación. En general, se define el nombre, la descripción y los flujos de
entrada y salida. Se deben asignar nombres a los procesos que sean
significativos en el contexto del desarrollo del sistema. En general se
recomienda que sean verbos más objeto sobre el cual éste actúe. Por
ejemplo: Inscribir socio
La descripción indica, de manera breve, lo que este proceso representa para
el sistema. Por ejemplo: proceso de inscripción de socios al establecimiento
deportivo El flujo de entrada indica cuáles son los flujos que alimentan al
proceso. El flujo de salida indica cuáles son los flujos que se salen del
proceso.
LAS ENTIDADES EXTERNAS
Las entidades externas representan a los objetos externos al sistema en
estudio, de tal manera que determinan sus fronteras. Pueden ser personas,
organizaciones u otros sistemas. Se detalla mediante el nombre, la
descripción y los flujos de datos asociados.
Se deben asignar nombres a las entidades externas que sean significativos
en el contexto del desarrollo del sistema. Por ejemplo: DGI
La descripción indica, de manera breve, lo que la entidad externa
representa para el sistema. Por ejemplo: Dirección General Impositiva
Los flujos de datos asociados indican cuáles son los flujos de entrada y
salida asociados a esa entidad externa
ESPECIFICACIÓN DE PROCESOS
El principal objetivo de la especificación de procesos estructurados es
definir, de forma clara y no ambigua, las funciones y restricciones del
sistema, de forma tal de evitar problemas en las etapas de diseño y
codificación La especificación consiste en describir un sistema de forma tal
que queden expresadas su funcionalidad, sus restricciones y su rendimiento
de la forma más clara y precisa posible.
Para definir los detalles de qué datos de entrada se transforman en qué
datos de salida y cómo se realiza esta transformación se necesita una
descripción detallada de los procesos. Para esto se utilizará la especificación
de proceso.
En los diagramas de flujo de datos de menor nivel, esto es, los más altos en
la jerarquía, los procesos se describen mediante un nuevo diagrama de flujo
de datos que define, más detalladamente, las funciones que realiza y los
flujos que maneja. Este proceso de descomposición debe continuar hasta
que se alcance un nivel en el que un proceso pueda ser descripto de forma
sencilla y no ambigua. Estos procesos se denominan primitivos.
Árbol de decisión
El árbol de decisión es un diagrama que muestra en forma secuencial
condiciones y acciones, presenta qué condiciones se consideran en primer
lugar, cuál en segundo y así sucesivamente hasta que al final se despliega
una acción determinada.
acción
Condición
Condición acción
Condición
raiz
Condición
Tabla de decisión
La tabla de decisión se utiliza cuando se deben especificar procesos
complejos.
Tablas de Verdad
Herramienta que nos ayudan a determinar cuáles son las condiciones
necesarias para que sea verdadero o válido un enunciado propuesto. Estas
se usan como respaldo para tomar decisiones a partir de un resultado dado.
En las columnas se anotan las letras que representan a las
proposiciones simples (variables proposicionales), así como la
proposición compuesta que se desea resolver.
→ En los renglones se anota la combinación de posibles valores de
verdad (verdadero o falso).
En algunos casos, los valores de verdad se representan como V y F, y en
otros, como 1 y 0 (1= verdadero, 0=falso)
Como lo construyo paso a paso…
1- Establecemos las proposiciones
2- Agregamos una columna donde vamos a determinar el resultado
3- Colocamos las posibles opciones de cada proposicion y su resultante
ESPECIFICACION DE PROCESOS ESTRUCTURADOS
La especificación de requisitos de los usuarios es el documento que describe
las características funcionales de un sistema de información que va a ser
desarrollado. El principal objetivo de la especificación de procesos
estructurados es definir, de forma clara y no ambigua, las funciones y
restricciones del sistema, de forma tal de evitar problemas en las etapas de
diseño y codificación.
Es el resultado de las tareas de análisis. Para comprender mejor lo que el
usuario necesita, se divide el problema en partes y se desarrollan
representaciones o modelos que muestren la esencia de los requisitos.
Para llevar adelante dicha especificación, es necesario utilizar determinados
lenguajes, entre ellos encontramos:
- Lenguaje Natural:
Ventaja: Fácil de utilizar
Desventaja: Puede dar lugar a que una implementación no cumpla con los
requisitos.
- Lenguaje Procedimental:
Ventaja: Tiene una sintaxis que evita ambigüedad
Desventaja: No presentan formalidad , obliga a definir algoritmos, es
utilizado como lenguaje final no siendo este el mas apropiado para ello.
- Pseudocodigo:
Similar al lenguaje convencional, pero no presenta una sintaxis tan rigida.
Su propósito es definir lo que debe hacerse para transformar entradas en
salidas.
Las construcciones utilizadas en las especificaciones de procesos mediante
seudocódigo son las estructuras de secuencia, iteración y decisión.
SECUENCIA
la estructura de secuencia se caracteriza por tener una entrada y una salida
dentro de la cual se encuentran una serie de acciones cuya ejecución es
lineal y en el orden en que aparecen. A su vez, todas las acciones tienen
una única entrada y una única salida.
DECISION
Tiene una sola entrada y una sola salida, pero dentro de la misma se realiza
una acción de entre varias, según una condición preestablecida. Esta
condición puede ser simple o compuesta. Las estructuras de decisión
pueden ser de dos salidas, en la que una de ellas puede ser la acción nula o
de tres o más salidas, que se denominan múltiples.
REPETICION
Existe una entrada y una salida dentro la cual se repite una acción que
generalmente es una estructura de secuencia, un número determinado o
indeterminado de veces, dependiendo en este caso del cumplimiento de
una condición.
PARA : ejecuta un conjunto de acciones un número “n” de veces conocido
anticipadamente.
MIENTRAS repite una acción mientras se cumpla la condición que controla el
bucle. La característica principal de esta estructura es que la condición es
evaluada siempre antes de cada repetición.
REPETIR HASTA ,estructura que repite una acción hasta que se cumpla la
condición que controla el bucle, la cual se evalúa después de cada ejecución
del mismo. El número de repeticiones oscila entre 1 e infinito, dependiendo
de la evaluación de la condición, cuyos argumentos deberán modificarse
dentro del bucle, pues de no ser así, también, el número de repeticiones
será infinito estando nuevamente en presencia de un bucle sin salida.