Tema 7 Analisis Estructurado PDF

También podría gustarte

Está en la página 1de 75

Ingeniera del Software

3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Tema 7: Anlisis estructurado

Dr. Francisco Jos Garca Pealvo


(fgarcia@usal.es)

3 I.T.I.S.
Fecha de ltima modificacin: 15-12-2005

Universidad de Salamanca Departamento de Informtica y Automtica

Ingeniera del Software


Anlisis estructurado

Resumen
Este tema se centra en dar una visin de la fase de anlisis desde el punto de vista del
paradigma estructurado, especialmente centrado en el denominado mtodo de los
estmulos de Yourdon. As, el tema se divide en seis apartados principales: el primero en
el que se introduce el anlisis estructurado; los tres siguientes se centran en el modelado
funcional, de informacin y de comportamiento respectivamente, presentando las
Resumen tcnicas de modelado ms representativas, esto es, Diagramas de Flujo de Datos (DFD),
Diagrama Entidad-Relacin (DER) y Diagrama de Transicin de Estados (DTE); el quinto
apartado presenta las reglas necesarias para comprobar la consistencia entre los
diversos modelos realizados; y, por ltimo, el sexto apartado describe el mtodo de los
estmulos de Yourdon, comparndolo con el enfoque clsico del anlisis estructurado
Anlisis estructurado; Modelado funcional; Modelado de informacin; Modelado del
comportamiento; Diagrama de Flujo de Datos (DFD); Descomposicin en procesos;
Flujos de datos; Entidades externas; Almacenes de datos; Extensiones de los DFD para
sistemas en tiempo real; Diccionario de datos; Miniespecificacin; Diagrama Entidad-
Descriptores Relacin (DER); Entidad; Relacin; Diagrama de Transicin de Estados (DTE); Estado;
Transicin; Condicin; Accin; Balanceo de modelos; Enfoque clsico de anlisis
estructurado; Mtodos de los estmulos de Yourdon; Modelo esencial; Modelo ambiental;
Modelo de comportamiento; Modelo de implantacin
[Piattini et al., 2004] Captulos 6 y 7
[Pfleeger, 2002] Captulo 4
Bibliografa [Pressman, 2002] Captulos 11 y 12
[Yourdon, 1993] Captulos 9, 10, 11, 13, 14, 17, 18, 19, 20 y 21

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 2

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Esquema
Introduccin
Modelado funcional
Modelado de informacin
Modelado de comportamiento
Balanceo de modelos
Mtodo de anlisis de Yourdon
Aportaciones principales del tema
Ejercicios
Lecturas complementarias
Referencias

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 3

Ingeniera del Software


Anlisis estructurado

1. Introduccin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 4

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Principios del anlisis

Debe representarse y entenderse el dominio de informacin


de un problema
Deben definirse las funciones que debe realizar el software
Debe representarse el comportamiento del software (como
consecuencia de acontecimientos externos)
Deben dividirse los modelos que representan informacin,
funcin y comportamiento de manera que se descubran los
detalles por capas (o jerrquicamente)
El proceso de anlisis debera ir desde la informacin esencial
hasta el detalle de la implementacin
[Pressman, 2002]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 5

Ingeniera del Software


Anlisis estructurado

El dominio de la informacin

Tres formas de representar la informacin


Flujo de la informacin
Datos de Datos de Datos de
Entrada Intermedios Salida
Transformacin 1 Transformacin 2

Almacn de datos

El contenido de la informacin
La estructura de la informacin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 6

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Particin
Divisin en partes para reducir la complejidad
Se dividen los mbitos de la funcionalidad, la informacin y el
comportamiento
Se establece una estructura jerrquica
Divisin vertical refinamiento
Divisin horizontal divisin funcional
SISTEMA

Gestin Gestin Gestin


Contabilidad
Personal Pedidos Clientes Pedidos Proveedores
Particin
vertical
Pedidos con Pedidos sin
crdito crdito

Facturas Albaranes ...

Particin horizontal
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 7

Ingeniera del Software


Anlisis estructurado

Tcnicas de especificacin (i)

No existe un criterio definitivo por el que clasificar dichas


tcnicas
Dos enfoques
Segn la forma de representacin
Grficas
Textuales
Matriciales
Marcos
Segn el enfoque de modelado
Funcin
Informacin
Tiempo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 8

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Tcnicas de especificacin (ii)


Tcnicas grficas
Empleo de una notacin grfica
Conjunto de iconos, cada uno de los cuales tiene una semntica asociada
Cada icono del modelo representa un aspecto particular del modelo
Se usan en combinacin de otras tcnicas
Ejemplos
DFD
DER
Tcnicas textuales
Su utilidad radica en aumentar el grado de detalle de los componentes
definidos en las tcnicas grficas
Utilizan una gramtica definida
Ejemplos
DD
Pseudocdigo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 9

Ingeniera del Software


Anlisis estructurado

Tcnicas de especificacin (iii)

Marcos o plantillas
Especifican informacin relativa a un componente de un modelo que
ha sido declarado en un diagrama o en otro marco

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 10

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Tcnicas de especificacin (iv)


Enfoque de Modelado
Informacin
Funcin
Qu hace el sistema
Informacin
Qu informacin utiliza el sistema
Tiempo
Cundo sucede algo en el sistema Funcin Tiempo
Es aconsejable examinar un sistema bajo los tres puntos de vista clsicos
Dimensin funcional
DFD
Se solapa con la dimensin de informacin
Se apoya en el DD y en las especificaciones de procesos
Dimensin de informacin
DER
Entidades y sus relaciones
Dimensin temporal
Lista de eventos
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 11

Ingeniera del Software


Anlisis estructurado

Tcnicas de especificacin (v)


Plano informacin-tiempo
Propio de los sistemas de tiempo real
Diagrama de historia de la vida de una entidad
Efecto del tiempo sobre una entidad de datos
Matriz entidad-evento
Relaciones entre las entidad e interrelaciones y un conjunto de eventos
Plano informacin-funcin
Propio de los sistemas de gestin orientados a datos
DFD
Matriz entidad-funcin
Plano funcin-tiempo
Muestra el efecto del tiempo sobre un
conjunto de funciones del sistema
Redes de Petri
DTE
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 12

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Definicin de anlisis estructurado

Se denomina anlisis estructurado al enfoque de anlisis que


realiza unas especificaciones funcionales que cumplen las
condiciones siguientes
Grficas
Compuestas de una variedad de diagramas que se apoyan en un material
textual detallado
Particionadas
De forma que se pueden leer independientemente partes individuales de la
especificacin
Mnimamente redundantes
De forma que los cambios en los requisitos del usuario puedan incorporarse
normalmente en una sola parte de la especificacin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 13

Ingeniera del Software


Anlisis estructurado

2. Modelado funcional
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 14

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD (i)
DFD Diagrama de Flujo de Datos
Recibe tambin otros nombres en la bibliografa
Diagrama de flujo de trabajo, Modelo de funcin, Grafo de flujo de datos, Carta de
burbujas, Diagramas de burbujas
Tcnica ms representativa del anlisis estructurado
Modela las funciones que debe realizar un sistema y el flujo de datos que existe
entre ellas
Empieza a utilizarse a mediados de la dcada de los 70s
Tambin se usa como herramienta de estrategia y negocios
Herramienta grfica
Se apoya en tcnicas textuales
Diccionario de datos
Especificaciones de procesos
DFD admiten refinamiento en niveles
Cada nuevo nivel presenta un mayor detalle funcional y un mayor flujo de informacin
Un sistema puede modelarse mediante un conjunto de DFDs nivelados

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 15

Ingeniera del Software


Anlisis estructurado

DFD (ii)
DFD nivelado
Un DFD de nivel 0, tambin denominado modelo fundamental del
sistema o modelo de contexto, representa al elemento software en una
sola burbuja con datos de entrada y de salida representados por flechas
En los DFDs de los siguientes niveles aparecen representados procesos y
caminos de flujo adicionales

Entidad
Externa Infor
maci
entra n de Entidad
da de Externa
acin
Inform lida
sa
Informacin de SISTEMA
Entidad
Externa entrada SOFTWARE
Infor
maci
salid n de
d e a Entidad
cin Externa
rma
Info ntrada
e
Entidad
Externa Modelo de contexto

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 16

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD (iii)
Componentes de un DFD Yourdon, DeMarco Gane y Sarson SSADM
Mtrica
Procesos
Almacenes
Entidades externas Procesos

Flujos de datos

Almacenes

Entidades
Externas

Flujo de
Datos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 17

Ingeniera del Software


Anlisis estructurado

DFD Procesos (i)


Tambin denominados
Transformacin
Funcin
Burbuja
Componente del diagrama que representa una funcin que
transforma los flujos de datos de entrada en uno o varios
flujos de salida, esto es, muestra cmo una o ms entradas
se transforman en salidas
Cada proceso debe cumplir la regla de conservacin de
datos
Un proceso debe ser capaz de generar los flujos de datos de salida a partir de
los flujos de entrada ms una informacin local (constante o variable) al
proceso

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 18

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Procesos (ii)


Cuando a un proceso no le llegan todos los datos necesarios para obtener
los datos de salida se dice que se tiene un error de conservacin de
datos
Cuando un flujo de datos o un componente suyo no se utiliza para
generar un flujo de salida (muere dentro del proceso) se dice que existe
una prdida de informacin
La representacin ms difundida es la propuesta por Yourdon [Yourdon,
1989], esto es, el crculo o burbuja, dentro del cual se incluye un nmero
y una palabra o frase sencilla que sirva para nombrar el proceso

Nmero

Nombre

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 19

Ingeniera del Software


Anlisis estructurado

DFD Procesos (iii)

Caractersticas del nombre de los procesos


Ser lo ms representativo posible de la funcin que representa
El nombre debe englobar toda la funcin, y no slo parte de ella
Se deben suprimir nombres con poca significacin tales como REALIZAR
OPERACIN o GESTIONAR ACCIN
Ser breve, normalmente formado por un verbo seguido de un
sustantivo
Por ejemplo RECIBIR PEDIDOS
El nombre y el nmero de proceso deben ser nicos en el conjunto de
DFDs que representan al sistema

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 20

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Almacenes (i)

Representan informacin almacenada durante un


determinado tiempo (datos en reposo)
Un almacn es un depsito lgico de almacenamiento, y
puede representar cualquier dato temporalmente almacenado
con independencia del dispositivo utilizado
La forma ms habitual de representarlos es mediante dos
lneas paralelas, notacin Yourdon (1989)

Nombre

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 21

Ingeniera del Software


Anlisis estructurado

DFD Almacenes (ii)

Caractersticas
Todos los almacenes de datos deben tener un nombre
Debe ser lo ms representativo posible de los datos que contiene
No debe estar asociado a connotaciones fsicas
Un almacn de datos se puede representar varias veces en un DFD si
con ello se mejora su legibilidad
Si en un DFD hay un almacn que slo tiene conexin con un proceso,
se dice que el almacn es local a ese proceso, y el almacn se
representar en el DFD que se especifique dicho proceso
Un almacn se dice que tiene estructura simple cuando es de tipo
registro, esto es, est formado por una sucesin de atributos en el
que uno o varios de ellos identifican cada ocurrencia del almacn
El contenido de los almacenes se define en el diccionario de datos
El contenido de un almacn con una estructura ms compleja se
puede representar mediante un diagrama entidad/interrelacin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 22

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Entidades externas (i)


Tambin conocidas como terminadores
Son componentes activos que representan o generadores o consumidores de informacin
del sistema
No pertenecen al sistema
Representan subsistemas, personas, departamentos, organizaciones... pero fuera del
control del sistema que se est modelando, y que proporcionen datos al sistema o que
los reciban de l
Caractersticas
Son externos al sistema que se est modelando. Los flujos que conectan las entidades externas
con diversos procesos o almacenes definen la interfaz entre el sistema y el mundo exterior
Las relaciones existentes entre las entidades externas no son objeto del estudio del modelo, por
lo que no se representan los posibles flujos de informacin que haya entre ellas
Se representan en el diagrama mediante un rectngulo en el que se incluye un nombre
representativo. Pueden aparecer varias veces en un DFD con el fin de mejorar la legibilidad del
mismo. Si esto sucede, se puede marcar a las entidades duplicadas con un asterisco (*)
Normalmente, las entidades externas slo aparecen en el DFD de mayor nivel, que recibe el
nombre de diagrama de contexto, aunque esto es opcional y pueden aparecer en niveles
inferiores
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 23

Ingeniera del Software


Anlisis estructurado

DFD Entidades externas (ii)

Representacin de una entidad


Departamento
externa de cardinalidad simple
de ventas
y repetida en un DFD
*

Representacin opcional de
Cliente entidades de cardinalidad N

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 24

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (i)


Camino a travs del cual viajan los datos de composicin conocida de una
parte del sistema a otra
Representan los datos en movimiento en un momento y con una
cardinalidad determinada (aunque estos aspectos no se reflejan en el DFD)
Son el medio de conexin de los restantes elementos del DFD
Se representan por medio de una flecha que entra o sale de un proceso
Atendiendo a la persistencia de los datos que fluyen por el flujo, estos se
pueden clasificar en discretos y continuos
Los flujos de datos discretos representan datos en movimiento en un momento
determinado
Un ejemplo de esto puede ser la peticin de una reserva de avin, ya que los datos fluyen por esa
conexin slo cuando hay una peticin de un usuario
Los flujos de datos continuos son un caso especfico de datos discretos que representan
flujos de datos persistentes en el tiempo
Por ejemplo un proceso que debe controlar el nivel de un depsito ya que su caudal puede variar
en el tiempo

Flujo de datos discreto Flujo de datos continuo


Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 25

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (ii)


Caractersticas (i)
Todos los flujos de datos deben tener un nombre representativo del
significado del paquete de datos que se mueve a lo largo del flujo
Una excepcin a esto son aqullos que entren o salgan de almacenes que tengan
una estructura simple, en este caso la estructura de estos flujos de datos es la
misma que la del almacn
Si los datos que viajan por el flujo de datos tienen distintos propsitos, o no
viajan juntos, entonces estos datos no constituyen uno, sino varios flujos de
datos
Tipos de los contenidos de los flujos
Elemento: Contiene un dato elemental (campo o atributo), una pieza indivisible de
datos
Grupo: Contiene varios elementos de datos
Par de dilogo: Slo se puede especificar este tipo de flujo en un flujo de doble
sentido en el que se incluyan dos nombres, uno es el que inicia y el otro es el que
indica la respuesta asociada al primero. Recalca la relacin entre los flujos y
simplifica el diagrama
Mltiple: Flujo formado por un conjunto de flujos
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 26

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (iii)


Caractersticas (ii)
Un flujo de datos se puede desdoblar en varios flujos

Del mismo modo, varios flujos iguales pueden unirse en un nico flujo

Los flujos de datos pueden divergir o converger en un DFD

Un flujo divergente significa


Que se estn mandando copias por duplicado de un paquete de datos a diferentes
partes del sistema
Que un paquete complejo de datos se est dividiendo en varios paquetes
individuales, cada uno de los cuales se est mandando a diferentes partes del
sistema
Que el flujo de datos lleva artculos con distintos valores que estn siendo
separados
Un flujo convergente significa
Que varios paquetes elementales de datos se juntan para formar agregado de
datos ms complejos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 27

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (iv)

Ejemplo de flujo de dilogo

Pregunta sobre
estado de pedido DETERMINAR
CLIENTE ESTADO DE
Respuesta estado PEDIDO
de pedido

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 28

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (v)


Divergencia de flujos de datos

Datos de
entrada

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 29

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (vi)

Restricciones de conexin mediante flujos

Dest ino Proceso Almacn Ent idad Ext erna


Fuent e
Proceso S S S

Almacn S No No*

Ent idad Ext erna S No* No

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 30

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (vii)

TRATAR Entrada
ESTUDIANTE

Carnet

Flujo sncrono
Joven

Carnet PEDIR

entre procesos
CARNET

Carnet
Trabajador

TRATAR Entrada
TRABAJADOR

Detalles
de pedidos Id_Pedido

Flujo asncrono
RECIBIR PROCESAR
PEDIDOS PEDIDOS PEDIDOS

entre procesos

Respuesta
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 31

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (viii)

Conexin entre un proceso y un almacn

Flujo de Flujo de Flujo de


Consulta Actualizacin Dilogo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 32

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Flujos de datos (ix)


Conexin entre un almacn y una entidad externa
Situacin especial
Este tipo de conexin slo es posible con almacenes externos que
sirven de interfaz entre el sistema y una entidad externa
Slo puede darse en el diagrama de contexto
SISTEMA DE
MANTENIMIENTO
DE
PUBLICACIONES

LIBROS

Peticin de
libro GESTIONAR
USUARIO PETICIONES
DE USUARIO
Resguardo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 33

Ingeniera del Software


Anlisis estructurado

DFD Niveles (i)


Los modelos de sistemas reales son grandes y complejos
Dificultad para modelar en un solo DFD
Se recurre a presentarlo en capas o niveles
Cada nivel debe aportar ms informacin y detalles sobre alguna parte
definida en el nivel anterior
Aproximacin descendente

DFD complejo [Yourdon, 1989]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 34

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Niveles (ii)

Ventajas
Ayuda a construir una especificacin de arriba a abajo
Los distintos niveles pueden dirigirse a personas diferentes
Facilita el trabajo de los analistas que pueden trabajar de forma
paralela modelando funciones independientes del sistema
Facilita la documentacin del sistema

Niveles
Un primer nivel, el de mayor abstraccin, que recibe el nombre de
Diagrama de Contexto
Diagrama de sistema o Diagrama de Nivel 1 o Diagrama 0
Una serie de niveles intermedios
Funciones primitivas

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 35

Ingeniera del Software


Anlisis estructurado

DFD Niveles (iii)

Descomposicin en niveles de un DFD

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 36

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Niveles (iv)


El diagrama de contexto o diagrama de nivel 0
Es el primer DFD de la jerarqua
Delimita la frontera entre el sistema y el mundo exterior, a la vez que
establece sus interfaces con el entorno (contexto)
Flujos de entrada y salida
Formado por
Un solo proceso
Un conjunto de entidades externas
Una serie de flujos
Las personas, organizaciones y sistemas con los que se comunica el sistema,
se representan en este diagrama como entidades externas
Los datos que recibe el sistema del mundo exterior sern los flujos de entrada
al nico proceso del diagrama de contexto
Los datos que el sistema produce, y que son enviados al mundo exterior, son
los flujos de salida del proceso
Los almacenes de datos que el sistema comparte con las entidades externas,
son los nicos que pueden aparecer en este diagrama
Es la frontera entre el sistema y el resto del mundo
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 37

Ingeniera del Software


Anlisis estructurado

DFD Niveles (v)


Construccin del diagrama de contexto
Un proceso que representa al sistema completo, su nombre coincide con el
del sistema o es una acrnimo convenido
Las entidades externas no se comunican entre s
Se pueden repetir entidades externas para ganar en legibilidad
Representar roles (no personas individuales)
No deben mostrarse manejadores
Un manejador es un mecanismo, dispositivo o medio fsico utilizado para llevar
datos hacia el interior o el exterior del sistema

La entidad externa SEUR


La entidad externa CLIENTE
es un manejador es la fuente

ido ido
Ped
SALIDA
SALIDA Ped
PEDIDOS
PEDIDOS

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 38

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Niveles (vi)

Las funciones primitivas o procesos primitivos


Son aquellos procesos de un DFD que no se descomponen en
diagramas de nivel inferior
Por cada funcin primitiva tiene que existir una especificacin que la
describa
Cundo dejar de dividir?
Subjetividad
Reglas
Cuando un requisito funcional se puede especificar en menos de una pgina
mediante un lenguaje de especificacin o pseudocdigo (sea formal o no)
Cuando los procesos del diagrama tienen pocos flujos de datos de entrada y
salida
Cuando al descomponer una funcin en un nivel determinado, se pierde el
significado de lo que tiene que hacer esa funcin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 39

Ingeniera del Software


Anlisis estructurado

DFD Niveles (vii)


Consistencia entre Niveles
Debe asegurarse que los niveles de un DFD sean consistentes
La informacin que entra y sale de un proceso de nivel N, debe ser
consistente con la informacin que entra y sale del DFD en que se
descompone
Regla del balanceo
Todos los flujos de datos que entran en un diagrama hijo deben estar
representados en el padre por el mismo flujo de datos entrando en el proceso
asociado
Las salidas del diagrama hijo deben ser las mismas salidas del proceso padre
asociado con una excepcin: los rechazos triviales no necesitan estar
balanceados entre padre e hijo
Equivalencia de red
No se tienen exactamente los mismos flujos de datos en el proceso padre que
en el diagrama en que se descompone, y sin embargo estn balanceados (se
tiene una descomposicin paralela de datos y de funciones)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 40

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Niveles (viii)

Fragmento balanceado de un DFD Fragmento no balanceado de un DFD


Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 41

Ingeniera del Software


Anlisis estructurado

DFD Niveles (ix)

Almacenes en diferentes niveles


Se muestra un almacn en el nivel ms alto donde primeramente sirve
de interfaz entre dos o ms procesos; luego, se muestra de nuevo en
cada diagrama de nivel inferior que describa ms a fondo los procesos
de la interfaz
A

A.1 B.1

Z Z

A.2 B.2

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 42

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Niveles (x)

Convenciones de numeracin
Cada diagrama recibe el nmero y el nombre del proceso que
descompone
El proceso del diagrama de contexto siempre es numerado como 0
Los procesos del diagrama del sistema se enumeran por un entero
comenzando por 1 y de forma creciente hasta completar el nmero de
procesos del diagrama
En los restantes niveles, los nmeros de los procesos estn formados
por la concatenacin del nmero de diagrama en el que estn ms un
punto y un nmero entero nico para identificarlo dentro del diagrama

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 43

Ingeniera del Software


Anlisis estructurado

DFD Recomendaciones de contruccin (i)


Identificar las entidades externas
Dibujar los procesos
Dibujar los flujos de datos
Escoger nombres con significado
Evitar nombres de personas y papeles polticos
Etiquetar los procesos de forma que se identifiquen las funciones que lleven a
cabo
Un sistema muy difundido es usar verbo + objeto
Deben provenir de un vocabulario con sentido para el usuario
Evitar utilizar nombres tcnicos que no entiende el usuario
Numerar los procesos
Constancia a la hora de aplicar los nmeros
El sistema de numeracin puede parecer implicar secuencia de ejecucin,
pero esto no es as. Un DFD es una red de procesos asncronos que se
comunican
Los nmeros se convierten en base para la numeracin jerrquica cuando
existen niveles
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 44

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Recomendaciones de contruccin (ii)


Redibujar el DFD tantas veces como sea necesario
Tcnicamente correcto
Aceptable por el usuario
Estticamente aceptable
Evitar diagramas excesivamente complejos
Asegurarse que el DFD sea internamente consistente y que tambin lo
sea con cualquier DFD relacionado con l A

Evitar sumideros infinitos B C


Evitar procesos de generacin espontnea SUMIDERO

Cuidarse de los almacenes de slo lectura o slo escritura D

Evitar redes desconectadas


A
Evitar bucles
Evitar flujos entre almacenes de datos B C
GENERADOR
Evitar flujos entre entidades externas
D

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 45

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (i)


Ampliaciones a la notacin del anlisis estructurado para sistemas de
tiempo real desarrolladas por Ward y Mellor [Ward y Mellor, 1985]
Un objeto de datos que entra y sale de un proceso de forma
Flujo de datos continua
cuasi continuo

Un transformador de control o de sucesos, acepta control


como entrada y produce control como salida
Proceso de control
Un elemento de control o suceso: toma un valor lgico
Elemento de o discreto; la cabeza de la flecha indica la direccin del
control flujo de control
Un almacn de elementos de control, los cuales se
Almacn de control
guardan para ser usados por uno o ms procesos

Mltiples ocurrencias equivalentes del mismo proceso; se usa


Proceso
cuando se crean procesos mltiples en un sistema multitarea
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 46

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (ii)

Ampliaciones a la notacin del anlisis estructurado para sistemas de


tiempo real desarrolladas por Hatley y Pirbhai [Hatley y Pirbhai, 1987]

Un elemento de control o suceso: toma un valor lgico


Elemento de o discreto; la cabeza de la flecha indica la direccin del
control flujo de control

La barra vertical es una referencia a una especificacin


de control (EC) que describe el comportamiento de un
sistema y define cmo se activan los procesos a
consecuencia de los sucesos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 47

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (iii)


Estado de cada
instalacin

Buffer del estado de las piezas Movimiento


Control de De alarma
Indicador de activacin
Cadena de comienzo/parada del robot
bits

Interfaz del Activar


monitor de proceso
Ajustes del
instalacin y
operacin operador

rdenes del Procesar


operador rdenes del
Flujos de datos
Registro de movimientos robot
y de control
del robot usando la
notacin de
Registro de rdenes del robot
Ward y Mellor

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 48

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (iv)

En la ampliacin de Hatley y Pirbhai (1987) se representa por


separado el modelo de procesos (DFD) y el modelo de control
Se define as un Diagrama de Flujo de Control (DFC)
Contiene los mismos procesos que el DFD, pero muestra el flujo de
control en lugar de datos
No representa directamente los procesos de control dentro del modelo
de flujo
Usa una referencia de notacin (una barra slida) a un especificacin del
control (EC) que controla los procesos representados en el DFD, de
acuerdo con los sucesos que pasan a travs de ella
La EC se usa para indicar
Cmo se comporta el software cuando se detecta un suceso o una seal de
control
Qu procesos se invocan como consecuencia de la ocurrencia del suceso

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 49

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (v)

Se usa una especificacin de proceso (EP) para describir el


procesamiento interno de los procesos representados en el
DFD
El modelo de sistema de tiempo real de Hatley y Pirbhai
(1987) utiliza la notacin convencional ms sus aportaciones
de notacin, junto con la informacin adicional contenida en
la EP y en la EC
Para representar los datos y los procesos que los manejan se
usan los DFD
Los DFC muestran como fluyen los sucesos entre los distintos
procesos e ilustran cmo los procesos externos hacen que se
activen los procesos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 50

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (vi)


Modelo
Entrada de datos de procesos
Salida de datos
DFD

Condiciones de datos
EP

Modelo
de control

Activadores
DFC
de proceso

EC
Salida de control
Entrada de control
[Hatley y Pirbhai, 1987]
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 51

Ingeniera del Software


Anlisis estructurado

DFD Ampliaciones para tiempo real (vii)

Presin absoluta
del tanque Presin
convertida

Comprobar Presin
Comprobar y convertir alta
y convertir presin
presin
Presin
mxima

Diagrama de flujo de datos Diagrama de flujo de control


(DFD) (DFC)

EP
Proceso: Comprobar y convertir presin
si presin absoluta del tanque > presin mxima
entonces
poner presin alta a verdadero
si no
poner presin alta a falso
calcular presin convertida
fin si

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 52

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

DFD Similitudes y diferencias con los casos de uso (i)


Un caso de uso es una funcin (servicio o transaccin) atmica ofrecida
por el sistema al entorno (actores), mientras que un proceso de un DFD
puede ser detallado en un DFD hijo.
As, el concepto de explosin de proceso slo se aplica a los DFDs
En cierta forma, con las relaciones de inclusin entre casos de uso, puede
mostrarse la factorizacin de un caso de uso, aunque esto no llega a ser
equivalente a una explosin de proceso
Aunque un caso de uso y un proceso modelan una pieza de funcionalidad
del sistema, su especificacin es diferente. En un caso de uso interesa
expresar la funcionalidad mediante la interaccin (enlaces de
comunicacin) actor(es)-sistema. En un proceso la funcionalidad se
expresa mediante la transformacin que se hace de los flujos de entrada
para producir flujos de salida

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 53

Ingeniera del Software


Anlisis estructurado

DFD Similitudes y diferencias con los casos de uso (ii)


Un caso de uso en general no modela un particionamiento o detalle
funcional interno del sistema, pues se concibe desde la perspectiva de los
actores, es decir, desde una visin externa del sistema. La excepcin a lo
anterior podra producirse al factorizar funcionalmente un caso de uso
para establecer una relacin de inclusin. Un DFD, segn sea el nivel de
detalle, puede mostrar descomposicin funcional interna del sistema
Se puede afirmar que los diagramas de casos de uso son una herramienta
exclusivamente de captura de requisitos mientras que los DFDs podran
utilizarse en ambas actividades
Las relaciones de extensin y de generalizacin entre casos de uso no
tienen correspondencias en los DFDs

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 54

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (i)

Lista organizada de todos los datos utilizados por el sistema,


con definiciones precisas y rigurosas, para que cliente y
analista tengan una visin comn de todos los flujos y
almacenes
Creacin
Describir el significado de los flujos y almacenes que aparecen en los DFDs
Describir la composicin de paquetes de datos que se mueven a lo largo de
los flujos
Describir la composicin de paquetes de datos en los almacenes
Especificar los valores y unidades relevantes de piezas elementales de
informacin en los flujos de datos y en los almacenes de datos
En definitiva una entrada del diccionario se realiza cuando se identifica un
elemento, y puede ser o un flujo de datos, o un almacn o un dato elemental
Las entradas deben ser nicas para cada componente del DFD

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 55

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (ii)


Los datos son lo suficientemente complejos como para necesitar describirlos en
trminos de otros elementos ms sencillos, que a su vez pueden definirse en
funcin de los valores y unidades que pueden asumir
Composicin de los datos de un sistema de forma narrativa es una tarea tediosa
Necesidad de una notacin concisa y compacta
Smbolo Significado
= Composicin: Est compuesto de, o es equivalente a

+ Inclusin: y

[] Seleccin: Seleccin de una de varias alternativas

{} Iteracin: Iteraciones del componente encerrado entre llaves

() Opcin: Optativo, puede estar presente o ausente

Comentario: El texto entre asteriscos es un comentario


* texto *
aclarativo de una entrada del DD.
@ Identificador: Campo clave para un almacn

| Separador: Separa las opciones alternativas en la construccin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 56

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (iii)


Definiciones
La definicin de un dato se introduce con el smbolo =
En este contexto el smbolo = se lee
se define como; se compone de; significa
Una definicin debe incluir
El significado del dato dentro del contexto de la aplicacin de este usuario
La composicin del dato, si se compone de partes elementales con significado
Los valores que puede tomar el dato, si es un dato elemental que no puede
descomponerse ms
Ejemplos
Detalles-Autor = ttulo de cortesa + nombre + apellido + domicilio
+ ciudad + cdigo postal + (pas) + nmero telfono
Ttulo de cortesa = [D. | Da. | Dr.]
Peso = *Peso del recluta al comenzar el servicio militar*
*Unidades: Kg; Intervalo permitido: 40 130*
Primer Apellido = *Primer apellido del cliente*
{carcter vlido}
Carcter Vlido = [A-Z | a-z | 0-9 | | - | |]
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 57

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (iv)


Elementos de datos bsicos
Las partes elementales de los datos son aqullas para las cuales ya no existe
una descomposicin con significado dentro del contexto del usuario
Estos elementos bsicos suelen acompaarse de una descripcin de su
significado, excepto en aquellos trminos que el analista considere que se
autodefinen
** indica que no hay comentarios
Ejemplo
Sexo = **
*Valores: [M | F]*
Elementos opcionales
Aqul que puede estar o no presente en un dato compuesto
Estas situaciones deben verificarse con sumo cuidado con el usuario y deben
documentarse de forma precisa en el diccionario de datos
Ejemplo
Telfono = (telfono particular) + (telfono trabajo)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 58

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (v)


Iteracin
Representa la ocurrencia repetida de un componente de un dato
Se lee como cero o ms ocurrencias de
Se puede especificar de forma explcita los lmites inferior y/o superior de la
iteracin
Ejemplo
Pedido = Nombre cliente + Direccin envo + 1{artculo}25
Seleccin
Expresa que un dato consiste en exactamente un elemento perteneciente a
un conjunto de opciones alternativas
Estas opciones se encierran entre corchetes y se separan por barras verticales
Revisin con el cliente
Ejemplos
Sexo = [Femenino | Masculino]
Tipo cliente = [Gobierno | Industria | Universidad | Otro]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 59

Ingeniera del Software


Anlisis estructurado

Diccionario de datos (vi)


Alias
Alternativa de nombre para un dato
No es conveniente su utilizacin ya que se estn introduciendo redundancias
Ejemplos
Peticin Libro = Carn biblioteca + Ficha libro
Peticin Libro = Peticin prstamo
Comprador = *Alias de cliente*
Definicin de almacenes
Se definen como entidades repetitivas de datos y/o grupos de datos
El analista o el usuario debe seleccionar uno o ms datos para organizar la
coleccin de entradas en un almacn, lo que recibe el nombre de
identificador
Ejemplos
Vendedor = @Identificador + nombre
Artculo = *Artculos del mismo tipo en el mismo almacn*
@clave-artculo + @identificador-almacn + unidades

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 60

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Especificacin de procesos (i)

Denominada tambin miniespecificacin


Descripcin de lo qu sucede en cada uno de los procesos
primitivos de un DFD
El propsito de una especificacin de proceso es definir de
una forma ms o menos formal lo que debe hacerse para
transformar las entradas en salidas
Diversidad de mtodos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 61

Ingeniera del Software


Anlisis estructurado

Especificacin de procesos (ii)


Requisitos de una tcnica de especificacin de procesos
La especificacin del proceso debe expresarse de tal forma que pueda

ser verificada tanto por el usuario como por el analista


El proceso debe especificarse en una forma que pueda ser

comunicada efectivamente al pblico involucrado


Debe existir una especificacin para cada una de las funciones o

procesos primitivos. Cada proceso primitivo slo puede tener una


especificacin
Se deben describir todas las reglas que permitan transformar los flujos

de entrada en flujos de salida


No deben imponer un mtodo especfico de implementacin, lo que

deben decir es qu debe hacerse, pero no cmo hacerse


No debe contener redundancias

El mtodo que se elija debe ser lo ms ortogonal posible

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 62

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP Lenguaje estructurado (i)


Tambin conocido por
PDL - Programs Design Lenguage Lenguaje de Diseo de Programas
PSL - Problems Specification Language Lenguaje de Especificacin de
Problemas
Subconjunto de palabras del idioma elegido, de las cuales unas se utilizan
para formar las construcciones propias de la programacin estructurada
(secuencia, seleccin, repeticin) y otras incluyen un conjunto de verbos
que reflejan acciones simples
Lenguaje de especificacin que hace uso de un vocabulario y una sintaxis
limitados
Su objetivo es evitar todas las imprecisiones y las ambigedades del
lenguaje natural
Hace un balance razonable entre la precisin del lenguaje formal de
programacin y la informalidad y legibilidad del lenguaje cotidiano
Es un lenguaje intermedio entre el lenguaje natural y los lenguajes de
programacin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 63

Ingeniera del Software


Anlisis estructurado

EP Lenguaje estructurado (ii)


Vocabulario
Verbos transitivos
Palabras reservadas
SI condicin HACER CASO
Bloque CASO var=valor1
SI NO Bloque1
Bloque
Alternativa FIN SI CASO var=valorN
BloqueN
OTRO
BloqueN+1
FIN CASO
HACER MIENTRAS condicin
Bloque
FIN HACER
Repetitiva
REPETIR
Bloque
HASTA condicin
Est formada por un conjunto de sentencias
(bloque) y cada una de ellas puede ser una
Secuencia
accin sencilla o una estructura de las
anteriores
Objetos
Trminos del DD
Trminos locales
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 64

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP Lenguaje estructurado (iii)

Trminos del Diccionario de Datos


Pueden ser almacenes, flujos, componentes de flujos...
Trminos Locales
Trminos que se definen dentro de la especificacin de proceso,
donde ocurren, y no en el diccionario de datos
Pueden derivarse de trminos del DD
Por definicin slo se conocen en el contexto local, esto es, dentro del
proceso
No deben aparecer como flujo en DFD, y usualmente no forman parte
del vocabulario normal de las palabras orientadas a la aplicacin del
usuario

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 65

Ingeniera del Software


Anlisis estructurado

EP Lenguaje estructurado (iv)


Construccin de especificaciones
complejas
Desventaja
Reglas
Restringir la especificacin del
proceso a una sola pgina de texto
No permitir ms de tres niveles de
anidamiento
Utilizar sangras para evitar
confusiones con los niveles de
anidamiento

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 66

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP Precondiciones y poscondiciones (i)


Son una forma conveniente de describir la funcin que debe realizar el
proceso, pero sin especificar mucho acerca del algoritmo o procedimiento
que se va a utilizar
Adecuado
El usuario tiene tendencia a expresar la poltica llevada a cabo por el proceso
en trminos de un algoritmo particular que ha estado utilizando durante
mucho tiempo
El analista est seguro de la existencia de varios algoritmos diferentes
susceptibles de utilizarse
El analista desea que el programador explore varios algoritmos pero no quiere
involucrarse en los detalles

Ejemplo
PRECONDICIN
Existe un nmero X no negativo
POSCONDICIN
Se produce un factor W tal que X = W*W

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 67

Ingeniera del Software


Anlisis estructurado

EP Precondiciones y poscondiciones (ii)


Las precondiciones describen todas las cosas, en caso de que existan, que
deben cumplirse antes de que el proceso pueda comenzar a ejecutarse
Qu entradas se encuentran disponibles
Qu relacin debe existir entre las entradas
Qu relaciones deben existir entre las entradas y los almacenes de datos
Qu relaciones deben existir entre diferentes almacenes o dentro de un
almacn dado
Las poscondiciones describen lo que debe suceder cuando el proceso
concluya
Qu salidas generar el proceso
Qu relaciones existirn entre los valores de salida y los valores originales de
entrada
Qu relaciones existirn entre valores de salida y los valores en uno o en
varios almacenes
Qu cambios se habrn producido en los almacenes

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 68

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP Precondiciones y poscondiciones (iii)


Forma de utilizacin
Se comienza por describir las situaciones normales de proceso
Si existen situaciones normales diferentes, por ejemplo combinaciones nicas de
relaciones de entrada/almacn vlidas, cada una de ellas se expresa como una
precondicin distinguible e individual
Deben incluirse las precondiciones y poscondiciones apropiadas para los casos de
error y casos fuera de lo normal
Ejemplo
Si un cliente dice que est clasificado Precondicin 1
como cliente que puede llevar El comprador llega con NmeroCuenta que se
corresponde con un nmero de cuenta en CUENTAS,
mercanca a cuenta, cuando llega a y EstadoCuenta es vlido
caja a pagar, entonces se busca su Poscondicin 1
Se produce una factura con NmeroCuenta y
cuenta en el archivo. Si se encuentra, TotalCuenta
y no est sealada como cancelada, Precondicin 2
La precondicin 1 falla por algn motivo
entonces se carga la mercanca a su (NmeroCuenta no est en CUENTAS o
cuenta. De otra forma, se le indica EstadoCuenta no es vlido)
Poscondicin 2
que tiene que abonar en efectivo o Mensaje de error
hablar con el gerente
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 69

Ingeniera del Software


Anlisis estructurado

EP Tablas de decisin (i)


Evaluacin de una combinacin compleja de condiciones
Las tablas de decisin son un modelo que traduce las acciones y las condiciones a
una forma tabular
Creacin
Lista de todas las variables relevantes (condiciones o entradas) lado izquierdo
Lista de todas las acciones lado izquierdo
Condiciones y acciones separadas por una lnea gruesa
En cada columna una reglas

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 70

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP Tablas de decisin (ii)


Pasos
Identificar todas las condiciones, o variables, de la especificacin. Identificar
todos los valores que cada variable pueda tomar
Calcular el nmero de combinaciones de la condiciones
Identificar cada posible accin que se pide en la especificacin
Crear el esqueleto de una tabla de decisiones vaca, listando todas las
condiciones y acciones en el lado izquierdo y numerando las combinaciones
de las condiciones en la parte superior de la tabla
Listar todas las combinaciones de condiciones, una para cada columna de la
tabla
Examinar cada columna, esto es cada regla, e identificar las acciones
apropiadas que se deben tomar
Identificar con el usuario las omisiones, contradicciones o ambigedades
Ventajas
El analista puede concentrarse en una regla a la vez
Las tablas de decisiones no implican ninguna forma particular de implantacin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 71

Ingeniera del Software


Anlisis estructurado

EP Tablas de decisin (iii)


Ejemplo
Si la cuenta del cliente se factura usando un mtodo de tarifa fija, se establece una
carga mensual mnima para consumos menores de 100 kWh (kilowatios hora). En los
dems casos, la facturacin por ordenador aplica la tarifa A. Sin embargo, si la cuenta
se factura usando un mtodo de facturacin variable, se aplica la tarifa A a los
consumos menores de 100kWh, con un consumos adicional facturado de acuerdo a la
tarifa B
1 2 3 4 5

Tarifa fija V V F F F
Tarifa variable F F V V F
Consumo < 100 kWh V F V F
Consumo 100 kWh F V F V

Cargo mensual mnimo X


Esquema A X X
Esquema B X
Otro tratamiento X

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 72

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

EP rboles de decisin (i)


Modelo de una funcin discreta en la que se determina el valor de una variable y
en funcin de su valor se lleva a cabo una accin
Es una representacin en forma de rbol que representa los valores de las
variables y las acciones tomadas para cada valor, as como el orden en el que se
realiza la decisin
Se suele utilizar cuando el nmero de condiciones no es muy grande, sino resulta
una opcin mejor la tabla de decisiones
Ejemplo
Sea una poltica de descuentos que lleva a cabo una empresa sobre los pedidos de sus
clientes, dependiendo del volumen de compras del ao anterior. Si se trata de clientes
con ms de 5 aos de antigedad se le aplica un descuento del 25% si el valor de los
pedidos anuales es superior a 30.000 . Si el montaje de los pedidos se encuentra entre
18.000 y 30.000 , el descuento efectuado ser del 15%, y si no alcanza la cifra de
18.000 se aplicar el 10%. Para clientes entre 3 y 5 aos de antigedad se aplicar el
11% para compras de valor superior a 24.000 y el 5% en caso contrario. Si tienen
menos aos de antigedad, se aplicar el 9% si el valor de las compras es superior a
24.000 . A los clientes clasificados como especiales se le aplicar un descuento de
25% si el volumen de compras supera los 30.000 o del 20% en caso contrario

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 73

Ingeniera del Software


Anlisis estructurado

EP rboles de decisin (ii)


Cliente Volumen de
Especial Compra
> 30.000
Aplicar el 25% de descuento
SI
30.000
Aplicar el 20% de descuento

Aos de Volumen de
Antigedad Compra
> 30.000 Aplicar el 25%
de descuento
>5 18.000 y 30.000 Aplicar el 15%
de descuento
< 18.000 Aplicar el 10%
de descuento
> 24.000 Aplicar el 11%
de descuento
NO 3 y 5
24.000 Aplicar el 5%
de descuento

> 24.000 Aplicar el 9%


de descuento
<3
24.000
Sin descuento
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 74

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

3. Modelado de informacin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 75

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (i)

El objetivo es identificar y representar los conceptos de


importancia en el funcionamiento de un negocio
(entidades), sus propiedades (atributos), y la forma en
que estos conceptos se relacionan entre s (relaciones)
Este modelo se desarroll para facilitar el diseo de bases de
datos [Chen, 1976]
La idea de esta tcnica de representacin de la informacin
es mostrar los datos que contendr un sistema como un
conjunto de objetos con atributos propios, los cuales son
capaces de disminuir la redundancia presente en un sistema
de archivos tradicionales y representar mejor la estructura
presente en los datos a almacenar

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 76

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (ii)

Modelo de datos semntico que se basa en la representacin


de la informacin en tres categoras
ENTIDADES: Objetos que se van a modelar
ATRIBUTOS: Propiedades de esos objetos
RELACIONES: Asociaciones entre las entidades
Terminologa bsica
Entidad
Relacin
Atributo
Cardinalidad de asignacin
Claves
Entidades fuertes y dbiles
Cardinalidad binaria
Generalizacin y Agregacin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 77

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (iii)


Forma grfica de expresar la estructura conceptual general de una base
de datos en el modelo entidad-relacin
Componentes
Rectngulos: Representan conjunto de entidades
Sencillos: Conjunto de entidades fuertes
Dobles: Conjunto de entidades dbiles
Elipses: Representan atributos
Dobles: Atributos multivaluados
Discontinua: Atributos derivados
Los atributos que son miembros de la clave primaria se subrayan
Rombos: Representan conjuntos de relaciones
Lneas: Conectan los atributos con los conjuntos de entidades y los conjuntos
de entidades con los conjuntos de relaciones
Lneas dobles: Participacin total (si cada entidad en un conjunto de entidades
participa en al menos una relacin en un conjunto de relaciones) de una entidad en
un conjunto de relaciones
Flechas: Expresan la cardinalidad de asignacin
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 78

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (iv)


Notacin (i)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 79

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (v)


Notacin (ii)
atributo 1 ... atributo n atributo 1 ... atributo n

ENTIDAD 1 RELACIN ENTIDAD 2

Cardinalidad de asignacin

1:1 RELACIN

1:N RELACIN

N:1 RELACIN

N:N RELACIN
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 80

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (v)


Extensiones Especializacin (i)
Proceso de diseo descendente
Dentro del mismo grupo de entidades, se pueden agrupar aquellas entidades que
tienen algo que las hace distinguibles de las otras
Estos subgrupos se convierten en conjuntos de entidades de nivel inferior que
tienen atributos o participan en relaciones que no son aplicables al conjunto
de entidades de nivel superior (conjunto genrico)
Estas entidades se denominan especficas o subtipos
La relacin que existe entre el conjunto genrico y los subtipos es una
relacin es un (IS A)
Se representan por medio de un componente tringulo que contiene el
nombre del conjunto de entidades
Herencia de atributos
Un conjunto de entidades de nivel ms bajo hereda todos los atributos y la
participacin en las relaciones del conjunto de entidades de nivel superior al cual
est enlazado

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 81

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (vi)


Extensiones Especializacin (ii)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 82

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (vii)


Extensiones Generalizacin
Proceso de diseo ascendente
Proceso de abstraccin mediante el cual varias entidades que tienen atributos comunes
se unen para formar otra entidad de nivel superior. Esta entidad se llama general,
genrica o supertipo
Permite expresar relaciones entre conjuntos de entidades del mismo tipo,
ntimamente relacionados
Relacin de inclusin que existe entre un conjunto de entidades de un nivel y uno
o ms conjuntos de entidades de un nivel ms bajo
Propiedades
Cobertura total o parcial: Cada entidad del conjunto genrico corresponde o no, al menos, a una
entidad de los subtipos
Total: Una entidad slo puede pertenecer a uno de los conjuntos de entidades de nivel inferior

Parcial: Una entidad no necesita pertenecer a uno de los conjuntos de entidades de nivel

inferior
Cobertura exclusiva o superpuesta: Cada entidad del conjunto genrico corresponde o no, a lo
ms, a una entidad de los subconjuntos.
Exclusiva: Una entidad slo puede pertenecer a un nico conjunto de entidades de nivel

inferior
Superpuesta: Una entidad puede pertenecer a ms de un conjunto de entidades de nivel

inferior
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 83

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (viii)

Extensiones Agregacin (i)


Permite expresar relaciones entre conjuntos de relaciones, tratndolas
como conjuntos de entidades
Abstraccin a travs de la cual
Las relaciones se tratan como entidades de nivel ms alto
Permite las relaciones entre relaciones
Representacin grfica

ENTIDAD 1 R ENTIDAD 2

R'

ENTIDAD 3

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 84

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (ix)


Extensiones Agregacin (ii)
Ejemplo

EST
HOMBRE CASADO CASADO MUJER CASADA
CON

MATRIMONIO

ANIVERSARIO RESIDE EN INGRESA

FECHA DIRECCIN CANTIDAD

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 85

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (x)


Cardinalidad binaria (i)
Cardinalidad mnima
Sea R un conjunto de relaciones entre los conjuntos de entidades E1 y E2
CARD_MIN(Ei, R). La cardinalidad mnima de Ei en R (i=1, 2) es el nmero
menor de asociaciones en las que cada elemento de Ei puede participar
Si CARD_MIN(E1, R) = 0, entonces el conjunto de entidades Ei tiene una
participacin opcional en la relacin R (algunas entidades en el conjunto de
entidades E1 pueden no estar relacionadas en R con entidades de E2)
Si CARD_MIN(E1, R) > 0, entonces el conjunto de entidades E1 tiene una
participacin obligatoria en R (cada entidad de E1 debe corresponder al menos
a una entidad de E2)
Cardinalidad mxima
Dado un conjunto de relaciones R entre los conjuntos de entidades E1 y
E2. La Cardinalidad mxima de Ei en R (i =1, 2) es el nmero mayor de
asociaciones en las que cada elemento de Ei puede participar
CARD_MAX(E1, R) = n indica que cada entidad de E1 puede participar en un
nmero arbitrariamente grande de relaciones en R (raras veces adopta un
nmero fijo)
La cardinalidad mxima permite determinar la cardinalidad de asignacin entre
dos conjuntos de entidades
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 86

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (xi)


Cardinalidad binaria (ii)
Personas Utilizan Edificios

Poseen

Si cada persona utiliza al menos un edificio CARD_MIN(PERSONAS, UTILIZAN) = 1


Si algunos edificios no estn habilitados CARD_MIN (EDIFICIOS,UTILIZAN) = 0, la participacin de
la entidad edificio en la relacin utilizan es opcional
Si algunas personas no poseen un edificio CARD_MIN (PERSONAS,POSEEN) = 0
Si cada uno de los edificios debe pertenecer a una persona CARD_MIN (EDIFICIOS,POSEEN) = 1,
la participacin de la entidad edificio en la relacin poseen es obligatoria
Si cada persona puede usar varios edificios CARD_MAX (PERSONAS, UTILIZAN) = n
Aunque por n se entiende infinito o ilimitado, estar en realidad limitado al nmero de ocurrencias de la
entidad edificios en la base de datos
Cada edificio puede tener varios habitantes CARD_MAX (EDIFICIOS, UTILIZAN) = n
Cada persona puede poseer varios edificios CARD_MAX (PERSONA, POSEEN) = n
Cada edificio pertenece slo a una persona CARD_MAX (EDIFICIOS,POSEEN) = 1
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 87

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (xii)


Cardinalidad binaria (iii)
Los dos valores de cardinalidad (mnima y mxima) permiten caracterizar por
completo la participacin de un conjunto de entidades en un conjunto de
relaciones
Representacin
Si R es un conjunto de relaciones binarias entre dos conjuntos de entidades E1 y E2,
donde
CARD_MIN(Ei,R) = mi
CARD_MAX(Ei,R) = Mi (i = 1, 2)
entonces
CARDINALIDAD(Ei, R) = (mi, Mi)

atributo 1 ... atributo n atributo 1 ... atributo n

(mi, Mi) (mi, Mi)


ENTIDAD 1 RELACIN ENTIDAD 2

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 88

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (xiii)


Cardinalidad binaria (iv)
(0 ,1 ) (0 ,1 )
H o m b res C o n y u ge M u jeres

(1 ,1 ) (0 ,n)
M ujeres S er-M ad re P erso nas

(1 ,n ) (1 ,1 )
E m p lead o s P ertenecen D ep artam ento s

(0 ,n ) (1 ,n)
A lu m n o s M atriculad o s A sign aturas

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 89

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (xiv)


Dimensin temporal (i)
Se intenta recoger de alguna forma en el esquema conceptual el transcurso
del tiempo y su influencia sobre los datos
Atributos de tipo fecha asociados a conjuntos de entidades
Idea de fechas inmutables
Fecha de Nacimiento
Idea de acontecimiento ms recientes
Fecha del ltimo
Atributos de tipo fecha asociados a conjuntos de interrelaciones
Idea de seguimiento histrico
Firman Contratos
Fecha Alta
Fecha Alta Fecha Baja
Profesores

Curso
Imparte
Alumnos Matriculacin

Nota Curso Asignaturas

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 90

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama entidad/relacin (xv)


Dimensin temporal (ii)
Nocin de estado
Representacin de la evolucin de un tipo de entidad a lo largo del tiempo

Profesores

Fecha Ini Estado Fecha Fin

Profesores Tienen Estado Laboral

Fecha Ini Estado Fecha Fin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 91

Ingeniera del Software


Anlisis estructurado

4. Modelado del comportamiento

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 92

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Tcnicas

nfasis en el comportamiento dependiente del tiempo o en la


perspectiva de control
Lista de eventos
Diagramas de Transicin de Estados (DTE)
Redes de Petri (RdP)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 93

Ingeniera del Software


Anlisis estructurado

Lista de eventos
Es una lista narrativa de los estmulos que se producen en el mundo exterior y a
los que el sistema debe responder
Un evento es algo que ocurre en el mundo real y causa un cambio en las bases de
datos, es decir, algo que causa actualizaciones en una o ms entidades
Generalmente, aunque no siempre, se muestra el disparador como un flujo de
datos que entra en el sistema
El evento no se refiere al procesamiento en s mismo, sino a lo que causa el
procesamiento en el mundo real
Tipos
Generados externamente
Reconocidos internamente
Basados en el tiempo
Los eventos se obtienen de los DFD
La relacin normal es un evento por cada funcin, aunque puede ser que una
funcin tenga asociado ms de un evento
Cuando se nombran los eventos no se debe copiar el nombre del proceso o
funcin del DFD
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 94

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (i)

Tcnica de modelado que se enfoca en el comportamiento


dependiente del tiempo del sistema
Normalmente se utiliza para representar el comportamiento
de sistemas de tiempo real, donde el software debe
responder a sucesos del mundo real en un tiempo muy
limitado
Diagrama que representa los estados que puede tomar un
componente o un sistema y que, adems, muestra los
eventos o circunstancias que implican el cambio de un estado
a otro

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 95

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (ii)

Componentes de un DTE [Yourdon, 1989]


Estados
Transiciones
Condiciones/Acciones

ESTADO 1

Transicin Condicin
Accin

ESTADO 2

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 96

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (iii)

Estados
Conjunto de circunstancias o atributos que caracterizan a una persona
o cosa en un tiempo dado; forma de ser; condicin
Representan un modo externo de comportamiento
Se representan por rectngulos [Yourdon, 1989]
El nombre del estado se hereda del comportamiento exhibido por el
sistema
Estado inicial
Se representa con una flecha de transicin apuntando hacia l y sin
ningn estado origen
La flecha puede tener asociadas condiciones o acciones
Uno o varios estados finales

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 97

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (iv)


Transiciones
Cambio de un estado a otro, o bien al mismo estado, cuando ocurre
una condicin
Determina la ejecucin de una o ms acciones sencillas
Se representa por una flecha entre dos estados
Condiciones/Acciones
Las condiciones son las causantes de los cambios de estados
Las acciones son las que el sistema toma cuando cambia de estado
Se representan junto a la flecha de transicin que conecta los dos
estados relacionados
Una condicin es un acontecimiento en el ambiente externo que el
sistema es capaz de detectar
Las acciones que se muestran en un DTE son respuestas de retorno al
ambiente externo o bien clculos cuyos resultados el sistema recuerda
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 98

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (v)

ESTADO
INICIAL

ESTADO 2 ESTADO 1

ESTADO 2 ESTADO 5
ESTADO 3

ESTADO 3 ESTADO 4 ESTADO 6


ESTADO 4

ESTADO
FINAL

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 99

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (vi)


Se pueden dividir

ESTADO 1

ESTADO 2 ESTADO 3

ESTADO 3.1
ESTADO 2.1

ESTADO 3.1
ESTADO 2.2

ESTADO 3.1
ESTADO 2.3 ESTADO 2.4

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 100

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Diagrama de transicin de estados (vii)

Construccin de un diagrama de transicin de estados


Dos enfoques
Se puede comenzar por identificar todos los posibles estados del sistema y
representar cada uno como una caja separada. Luego, se exploran todas las
conexiones con significado entre las cajas, esto es, los cambios de estado
Se puede comenzar por el estado inicial, para posteriormente, metdicamente, ir
siguiendo un camino hasta los restantes estados. Luego de los estados secundarios,
se prosigue a los terciarios
Comprobaciones
Comprobar que se hayan definido todos los estados. Es decir, comprobar si existe
otro comportamiento observable, o alguna otra condicin en la que sistema pudiera
estar
Comprobar que se puede llegar a todos los estados
Comprobar que se puede salir de todos los estados
Comprobar que el sistema responde de forma adecuada a todas las condiciones
posibles

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 101

Ingeniera del Software


Anlisis estructurado

5. Balanceo de modelos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 102

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Balanceo de modelos (i)


Balanceo del DFD y el DD
Cada flujo de datos y cada almacn de datos deben estar definidos en el DD
Si falta la definicin en el DD, el flujo o el almacn se considerar como indefinido
De manera inversa, cada dato y cada almacn que se define en el diccionario
de datos debe aparecer en alguna parte del DFD
Si no aparece, dicho dato o almacn recibe el nombre de fantasma, esto es algo
definido pero que no se utiliza en el sistema
Balanceo del DFD y de la EP
Cada proceso de un DFD debe asociarse con un DFD de nivel inferior o con
una especificacin de proceso, pero no con ambos
Cada especificacin de proceso debe tener una funcin primitiva asociada en
el DFD
Las especificaciones de proceso que no cumplen esta propiedad se denominan
vagabundas
Las entradas y salidas deben coincidir

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 103

Ingeniera del Software


Anlisis estructurado

Balanceo de modelos (ii)

Balanceo de las EP con el DFD y el DD


Cada referencia de un dato en la especificacin de procesos debe
satisfacer una de las siguientes reglas
Coincide con el nombre de un flujo de datos o almacn conectado al
proceso descrito por la especificacin de proceso
Es un trmino local, definido de forma explcita en la especificacin de
proceso
Aparece como componente en una entrada del diccionario de datos para
un flujo o almacn conectado con el proceso
Balanceo del DD con el DFD y las EP
Cada entrada del DD debe tener referencia en una especificacin de
proceso, un DFD, u otro DD
Un DD tiene que ser consistente con el resto del modelo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 104

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Balanceo de modelos (ii)


Balanceo del DER con el DFD
Cada almacn del DFD debe corresponderse con una entidad, una
interrelacin o una combinacin de una entidad y una interrelacin en el DER
Si en el DFD existe un almacn que no aparece en el DER, o en el DER aparece una
entidad o una interrelacin que no se encuentra en el DFD, normalmente algo est
mal
Los nombres de las entidades en el DER y los nombres de los almacenes de
datos en el DFD deben coincidir
Se usa en plural en el DFD y en singular en el DER
Las entradas del DD deben aplicarse tanto al modelo de DFD como al de DER
Balanceo del DER con las EP
Las especificaciones deben en su totalidad
Crear y eliminar instancias de cada tipo de entidad e interrelacin que se muestra
en el DER
Algn proceso del DFD define valores para cada dato asignado a cada instancia de
cada entidad, y algn proceso del DFD usa valores de cada dato

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 105

Ingeniera del Software


Anlisis estructurado

Balanceo de modelos (iii)

Balanceo del DFD y el DTE (i)


Cada proceso de control del DFD puede tener un DTE como su
especificacin de proceso. De forma similar, cada DTE en el modelo
global del sistema puede asociarse con un proceso de control en el
DFD
Cada condicin del DTE se corresponde con un flujo de datos de
entrada al proceso de control asociado con el DTE. Cada flujo de
control que entra en el proceso de control debe asociarse con una
condicin apropiada en el DTE correspondiente
Cada accin del DTE debe corresponderse con un flujo de control de
salida del proceso de control asociado en dicho diagrama. Cada flujo
de control de salida del proceso de control debe estar asociado con
una accin apropiada en el DTE correspondiente

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 106

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Balanceo de modelos (iv)


Balanceo del DFD y el DTE (ii)

1
X
Estado 1

Seal X
Activar burbuja 2

Estado 2

Y
Seal Y
2 Activar burbuja 3

Estado 3

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 107

Ingeniera del Software


Anlisis estructurado

Tcnicas matriciales

Las tcnicas matriciales se utilizan principalmente para


ayudar a verificar la consistencia entre los componentes de
distintos modelos de un sistema

Funcin Informacin Tiempo

Funcin

Informacin Matriz entidad/funcin Matriz entidad/entidad

Tiempo Matriz entidad/evento

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 108

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Matriz entidad/funcin
Visualiza las relaciones existentes entre las funciones que lleva a cabo un sistema
y la informacin necesaria para soportar las mismas
Los elementos de las filas pueden ser entidades, interrelaciones, entidades
asociativas y subtipos presentes en un DER
Los elementos de las columnas estn formados por las funciones del sistema, que
pueden ser las funciones de alto nivel representadas en un DFD o bien las
funciones primitivas del conjunto de DFD
En cada celda se incluyen las acciones que puede realizar una funcin sobre las
ocurrencias de las entidades, interrelaciones... Estas acciones pueden ser (I)
insertar, (L) leer, (M) Modificar y (B) Borrar
Funciones Gestionar Gestionar
...
Presupuesto Cliente
Entidades

Cliente L I, M, B
Presupuesto I, M, B
...

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 109

Ingeniera del Software


Anlisis estructurado

Matriz entidad/entidad
Esta matriz tiene como cometido mostrar las relaciones que tiene una
entidad con otras del modelo entidad/interrelacin
Su utilidad es mayor cuando el nmero de entidades es muy grande
Cuando existe una interrelacin entre dos entidades se incluye en la
matriz el nombre de la interrelacin

Entidades
Cliente Presupuesto
Entidades

Cliente Pide
Presupuesto

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 110

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Matriz entidad/evento
En las filas de esta matriz se colocan los diferentes eventos y en las
columnas se colocan las entidades
En cada una de las celdas se define la iteracin causada por el evento
(I) Insercin, (M) Modificacin o (B) Borrado de una ocurrencia de la
entidad
Se debe comprobar que cada entidad tiene algn evento que la crea,
modifica o borra, si esto no ocurre existe un error
Adems, otra comprobacin que debe hacerse es que cada evento afecte a la
vida de al menos una entidad. Si alguna fila no incluye marca hay un error
grave
Entidades
Cliente Presupuesto
Eventos

Datos Cliente I, M, B
Datos
I I, M, B
Presupuesto

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 111

Ingeniera del Software


Anlisis estructurado

5. Mtodo de anlisis de Yourdon

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 112

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque clsico (i)

Modelo fsico actual


Modelo lgico actual
Modelo lgico nuevo
Modelo fsico nuevo
Programa del
proyecto

DESARROLLAR
Modelo
MODELO
FSICO Fsico Actual
ACTUAL DESARROLLAR
Modelo
MODELO
LGICO Lgico Actual
ACTUAL
DESARROLLAR Modelo
MODELO Lgico Nuevo
LGICO
NUEVO
DESARROLLAR
Modelo
MODELO
FSICO Fsico Nuevo
NUEVO

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 113

Ingeniera del Software


Anlisis estructurado

El enfoque clsico (ii)

Modelo fsico actual


Modelo del sistema que actualmente est utilizando el usuario

Formato 10A
pedidos Mara PROCESO
Jess PEDIDOS

Nota de Pedido
PEDIDOS

JUAN
LUIS

Lista de envos
Modelo fsico actual

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 114

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque clsico (iii)


Modelo lgico actual
Modelo de requisitos esenciales que realiza el sistema actual del usuario
pedidos

VALIDAR PROCESAR
PEDIDO detalles PEDIDO Informe
pedidos

pedido
invalidado

GENERAR Lista de envos


LISTA
ENVIOS

GENERAR
FACTURA Factura
Modelo lgico actual

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 115

Ingeniera del Software


Anlisis estructurado

El enfoque clsico (iv)

Modelo lgico nuevo


Modelo de requisitos esenciales del sistema nuevo que quiere el
usuario
Modelo fsico nuevo
Modelo que muestra las limitaciones de implantacin impuestas por el
usuario

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 116

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque clsico (v)

Suposiciones del enfoque clsico


El analista puede no estar familiarizado con el rea de aplicacin
El usuario puede no estar preparado para trabajar con un modelo
lgico al principio del proyecto
La transformacin de un modelo lgico actual en un modelo lgico
nuevo no requiere mucho trabajo y, en particular, no requiere mucho
trabajo desperdiciado
Se est ignorando un riesgo muy elevado: el proceso
de desarrollar un modelo del sistema actual puede
requerir tanto tiempo y esfuerzo que el
usuario puede cansarse, y llegar a cancelar el
proyecto

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 117

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (i)

Modelo esencial
Modelo de implantacin

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 118

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (ii)


Modelo esencial
Modelo de lo que el sistema debe hacer para satisfacer los requisitos
del usuario, diciendo lo mnimo posible (preferiblemente nada) acerca
de cmo se implantar
El modelo supone que se dispone de una tecnologa perfecta
Evita describir las implantaciones especficas de los procesos del sistema
El modelo describe el contenido de los flujos y de los almacenes de datos,
pero sin hacer referencia al medio o a la organizacin fsica
Horas trabajadas
EMPLEADOS
Modelo
ambiental
Id. empleado
Modelo
esencial
CALCULA

Modelo de
SALARIO

salario
comportamiento
[Yourdon, 1989]
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 119

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (iii)


Modelo ambiental (i)
Es el primer modelo que se debe desarrollar, y no debe hacer ms
que definir las interfaces entre el sistema y el mundo exterior, que es
lo que se denomina ambiente
Se define la frontera entre el sistema y el ambiente
Se definen las interfaces entre el sistema y el ambiente
Se identifican los estmulos que ocurren en el ambiente a los que debe
responder el sistema
El Ambiente
El Ambiente

El Sistema El Sistema

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 120

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (iv)

Modelo ambiental (ii)


Componentes
Declaracin de propsitos
Declaracin textual breve y concisa del sistema
Dirigida a niveles administrativos
No debe sobrepasar un prrafo de extensin
Diagrama de contexto
Caso especial de DFD, en el que una sola burbuja representa todo el sistema
Lista de acontecimientos
Lista narrativa de los estmulos que ocurren en el exterior, y a los cuales el
sistema debe responder
Cada estmulo se etiqueta con F (Flujo), T (Tiempo) o C (Control)
Opcionalmente puede contar con
Un DD inicial, que define los almacenes y flujos externos
Un DER de los almacenes externos

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 121

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (v)

Modelo de comportamiento (i)


Es el modelo del comportamiento final que el sistema debe tener para
manejar el ambiente
Implica la construccin de un DFD y un DER preliminares, adems de
las entradas iniciales en el DD
Enfoque clsico
Enfoque descendente a partir del diagrama de contexto
Este enfoque tiene los siguientes problemas
Parlisis del sistema
El fenmeno de los seis analistas
Una particin fsica arbitraria

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 122

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (vi)


Modelo de comportamiento (ii)
Enfoque de Yourdon (1989) (i)
Enfoque medio, ni totalmente ascendente, ni totalmente descendente
Se tiene un diagrama de contexto
Se sigue con una nivelacin ascendente
Puede necesitarse alguna particin descendente
En este enfoque pueden seguirse los siguientes pasos
Identificacin de las respuestas a acontecimientos
Se dibuja un proceso por cada acontecimiento de la lista
Cada proceso se nombra describiendo la respuesta que el sistema debe dar al acontecimiento
asociado
Se dibujan las entradas y salidas apropiadas de tal forma que el proceso pueda dar la
respuesta requerida, y se dibujan los almacenes, cuando la comunicacin entre los procesos lo
requiera
El borrador del DFD que resulta se compara con el diagrama de contexto y la lista de
acontecimientos para asegurar que est completo y que sea consistente
Conexin de las respuestas a acontecimientos

Los procesos del DFD preliminar son respuestas a acontecimientos del ambiente externo, que
en general no son sincronizados
Para sincronizar mltiples acontecimientos interdependientes se utilizan almacenes
Desarrollo del modelo inicial de datos

De forma paralela al proceso de creacin del DFD se genera una versin inicial del DER
Como el DFD y el DER se han desarrollado en paralelo, pueden comprobarse entre s
Terminacin del modelo de comportamiento
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 123

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (vii)

Modelo de comportamiento (iii)


Enfoque de Yourdon (1989) (ii)
Terminacin del modelo de comportamiento
1. Nivelado del DFD
Ascendente
- Agrupacin de procesos debe involucrar respuestas
relacionadas de cerca
- Ocultar datos almacenados que aparecen en un nivel inferior
- Crear grupos que no contengan demasiados procesos
Descendente
- No todos los procesos identificados son primitivos
- En algunos casos es apropiado un enfoque funcional puro
- Los flujos de datos proporcionan una gua para el nivelado
descendente
2. Completar DD, DER, especificaciones y DTE

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 124

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (viii)


Modelo de comportamiento (iv)
Enfoque de Yourdon (1989) (iii) 1
3

Nivelado
Ascendente

Modelo de comportamiento terminado 2

DFDs de todos los niveles


Diagrama entidad-relacin completo 1.1
1.2
Diccionario de datos completo
Especificaciones de proceso
3.2

1.3

3.1
2.1 3.3

2.3
DFD
Preliminar
2.2

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 125

Ingeniera del Software


Anlisis estructurado

El enfoque de modelado de Yourdon (ix)

Modelo de implantacin
En esta etapa hay que especificar aspectos de la implantacin que
tienen suficiente impacto sobre la capacidad del usuario para usar el
sistema
Frontera de automatizacin: Hay que decidir qu partes del modelo
esencial se van a implantar con el ordenador y cules se van a realizar
manualmente
Interfaces de usuario: Determinacin del formato de entradas y salidas
al sistema (formularios, pantallas, mensajes de error...)
Actividades manuales de apoyo: Actividades que hay que realizar en
condiciones excepcionales o de fallo del sistema
Restricciones operativas del usuario: Volumen de datos, tiempo de
respuesta, seguridad...)

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 126

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

6. Aportaciones principales del tema

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 127

Ingeniera del Software


Anlisis estructurado

Aportaciones principales (i)


El enfoque estructurado presenta en la fase de anlisis diferentes
modelos para estudiar los sistemas desde tres puntos de vista
ortogonales (funcionalidad, informacin y comportamiento), pero con un
carcter muy marcado en la funcionalidad
Los diagramas de flujos de datos (DFDs) se constituyen en la tcnica ms
representativa del anlisis estructurado
Los DFDs organizados por niveles presentan una descomposicin
funcional descendente, a la que acompaa una descomposicin de
informacin tambin descendente
Un DFD por s mismo no es una herramienta suficiente para expresar el
modelo funcional de un sistema, se tiene que apoyar en otras tcnicas
textuales como son el diccionario de datos y las especificaciones de
proceso
Aunque un caso de uso y un proceso modelan una pieza de funcionalidad
del sistema, su especificacin es diferente
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 128

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Aportaciones principales (ii)


El diccionario de datos es una lista organizada de todos los datos
utilizados por el sistema
Definiciones precisas y rigurosas de todos los flujos y almacenes
El modelo entidad-relacin es la tcnica ms utilizada para realizar los
modelos conceptuales de datos en el paradigma estructurado
Un estado representa un modo externo de comportamiento
El uso de tcnicas matriciales est especialmente adecuado para ayudar a
verificar la consistencia entre los componentes de distintos modelos de un
sistema
Se pueden aplicar con mucho xito para mantener la trazabilidad entre
artefactos de distintas fases del ciclo de vida
El enfoque de anlisis de Yourdon presenta importantes ventajas frente al
enfoque clsico, gracias a su enfoque hbrido ascendente/descendente
Un enfoque completamente descendente puede provocar problemas en la
descomposicin de primer nivel si no se tiene una experiencia previa dentro
del dominio del problema en el desarrollo de sistemas software
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 129

Ingeniera del Software


Anlisis estructurado

7. Cuestiones y ejercicios

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 130

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (i)


Realizar la descomposicin mediante DFD del siguiente caso [Piattini et al., 2004]
Se trata de gestionar los prstamos de libros de una biblioteca en la que se va a estudiar
exclusivamente el funcionamiento de las peticiones y devoluciones de libros, donde el
bibliotecario se encarga de las altas y bajas de los libros de la biblioteca
Peticin de libros
Un usuario puede realizar una peticin de uno o ms libros a la biblioteca. Para ello, es necesario presentar el
carn de usuario de la biblioteca y una ficha en la que se detallan los libros pedidos. Puede haber varios tipos de
prstamo (prstamo de sala, colaborador, proyecto fin carrera, doctorado) en funcin de los cuales el usuario
puede disponer de los ejemplares durante un perodo de tiempo especfico, como se indica en la siguiente tabla
SALA El da de la peticin
COLABORADOR Una semana
PROYECTO FIN CARRERA Quince das
DOCTORADO Un mes
Una vez entregados el carn y la ficha, el sistema comprobar y aceptar la peticin de los libros solicitados
siempre que pueda satisfacer la peticin, es decir, cuado haya ejemplares disponibles. Si se acepta la peticin, se
actualiza el nmero de unidades de los libros de la biblioteca y se guarda la ficha de prstamo
Devolucin de libros
Un usuario no puede realizar ms peticiones hasta que no haya efectuado todas las devoluciones de la peticin
anterior. El usuario, para hacer la peticin, necesita el carn, que no se le entrega hasta que no haya devuelto
todos los libros. S puede hacer una devolucin parcial de los libros. Cuando un usuario realice una devolucin, el
sistema actualizar el stock de libros y comprobar la fecha de devolucin de cada ejemplar para estudiar, en el
caso de que la devolucin se haga fuera de tiempo, la imposicin de una sancin que tiene un coste de 1,2 por
cada ejemplar y das de retraso en la devolucin. En este caso, la sancin se emite cuando el usuario entrega el
ltimo ejemplar

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 131

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (ii)

DIAGRAMA DE CONTEXTO

PEDIDO
LIBROS 0
SANCIN

USUARIO GESTIONAR USUARIO


BIBLIOTECA
DEVOLUCIN
LIBROS

ALTAS/BAJAS
LIBROS

BIBLIOTECARIO

[Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 132

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (iii)

DIAGRAMA 0: GESTIONAR BIBLIOTECA

FICHAS
PRESTAMO

PEDIDO DEVOLUCIN
1 2 LIBROS
LIBROS
GESTIONAR GESTIONAR
PEDIDOS DEVOLUCIONES

SANCIN
LIBROS
DISPONIBLES

3
ALTAS/BAJAS
LIBROS ACTUALIZAR
LIBROS

[Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 133

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (iv)

DIAGRAMA 2: GESTIONAR DEVOLUCIONES

FICHAS
PRESTAMO

DEVOLUCIN 2.1 2.2


LIBROS
ACTUALIZAR CALCULAR
STOCK SANCIN

SANCIN
LIBROS
DEVUELTOS

LIBROS
DISPONIBLES

[Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 134

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (v)


Hacer el DER del siguiente supuesto [Piattini et al., 2004]
Se trata de una cadena de hoteles
Cada hotel (del que interesa almacenar su nombre, direccin, telfono, ao de
construccin...) se encuentra clasificado obligatoriamente en una categora (por ejemplo, 3
estrellas), pudiendo bajar o aumentar de categora. Cada categora tiene asociada diversas
informaciones, como, por ejemplo, el tipo de IVA que le corresponde
Los hoteles tienen diferentes clases de habitaciones (suites, dobles, individuales...). Las
habitaciones se numeran de forma que se pueda identificar fcilmente la planta en la que
se encuentran
Las reservas las pueden realizar tanto personas particulares como agencias de viajes. En la
reserva figurarn el nombre, direccin, telfono y otros datos relativos a la persona que
realiza la reserva. En caso de tratarse de una agencia de viaje se necesitan los mismos
datos, adems del nombre de la persona para quien la agencia de viajes est realizando la
reserva. Tambin se deber indicar la categora del hotel (o el hotel) que se desea, el
perodo de la estancia y la clase de habitacin
El sistema debe gestionar los clientes de la cadena de hoteles, lo que supone almacenar los
datos de las personas que han sido huspedes de algn hotel de la cadena, sus diferentes
estancias, gastos realizados y las facturas asociadas
La tarifa de las habitaciones depende adems del hotel y de la clase de habitacin, as como
de la temporada (alta, baja...) de que se trate
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 135

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (vi)

[Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 136

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (vii)


Representar el comportamiento de un controlador de paso a nivel. El
acercamiento o alejamiento de los trenes se detecta por unos sensores
situados a una cierta distancia. Cuando llega un tren, se cierra la barrera.
Cuando se detecta que el tren ha pasado, se abre la barrera. Adems hay
que accionar una alarma cada vez que se abre o cierre la barrera para
alertar a los conductores [Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 137

Ingeniera del Software


Anlisis estructurado

Ejercicios resueltos (viii)

Barrera abierta
Tren aproximndose Desactivar alarma
derecha o izquierda Barrera
Cerrar barrera
Activar alarma Abierta
T=1

Tren aproximndose
Cerrando derecha o izquierda Abriendo
Barrera T= 1 Barrera
Cerrar barrera

(Tren sale por la


Barrera cerrada derecha o izquierda) y
Desactivar alarma (T= 1)
T= 0
Barrera Abrir barrera
Activar alarma
Cerrada

Tren aproximndose (Tren sale por la


derecha o izquierda derecha o izquierda) y
T= T + 1 (T > 1)
T= T - 1

[Piattini et al., 2004]

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 138

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Cuestiones y ejercicios (i)


Una tienda especializada en componentes electrnicos compra sus existencias a una serie de
proveedores, vendindolas posteriormente a sus clientes a la vez que lleva a cabo el control de
almacn adecuado para controlar sus existencias en todo momento. La gestin de proveedores
lleva unida la gestin de los datos administrativos de stos ms la informacin de los
componentes que cada proveedor sirve. La gestin de proveedores, adems del tpico
mantenimiento de los datos relacionados, se encarga de generar los listados de las piezas
servidas por un determinado proveedor, o los proveedores que sirven una determinada pieza.
Cuando un cliente solicita un determinado componente, se comprueba que hay existencias y se
le informa de su precio. Si el cliente adquiere el producto, se actualizar el almacn y se le
emitir una factura. Si no hay existencias del componente, pero el cliente est interesado se
proceder a almacenar la peticin con objeto de realizar el correspondiente pedido al proveedor.
El control de almacn se encarga de tener actualizado el almacn de existencias, dando de alta
los componentes que llegan, eliminando componentes defectuosos, y realizando los listados de
componentes disponibles en el almacn y de los componentes pendientes de ser pedidos a un
proveedor
Realizar un DFD que represente funcionalmente los requisitos expresados, teniendo en cuenta las
siguientes restricciones
No descomponer ms de tres niveles
No tener en cuenta el control de errores
Las funciones pueden realizarse en cualquier momento independientemente de las dems funciones
Debe utilizarse un almacn PROVEEDORES que recoge la informacin de los proveedores y de las piezas que sirven
Realizar el DD
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 139

Ingeniera del Software


Anlisis estructurado

Cuestiones y ejercicios (ii)

Dado el siguiente DFD sealar todos los defectos, razonando cada uno de
los errores encontrados
A B
A1
E1 E2
G C
E F D
H 2.
1.
L
J A2
I 3.
2. M
A3
V
H
S O 5.
A4 T N
4. Q

U R P
E3 E4
A3

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 140

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Cuestiones y ejercicios (iii)


Sea una empresa dedicada al alquiler de CD-ROMs de audio. Dicha empresa tiene un local de atencin al
pblico donde estn expuestas las cartulas de los CDs ms demandados y las ltimas novedades,
aunque tambin existen listados en papel de todos los ttulos que se podran alquilar. Cuando un cliente
solicita un ttulo, se comprueban si hay ejemplares libres y si no hay problemas por ejemplares no
devueltos se realiza el alquiler, quedando constancia de la fecha de alquiler y la fecha mxima de
entrega; de forma que cuando el cliente devuelva el ejemplar se podr comprobar si se le tiene que
imponer una sancin. Cada cliente puede solicitar una relacin de los CDs que ha alquilado previamente.
Cada ejemplar de cada ttulo debe quedar plenamente identificado (incluyendo la informacin necesaria
para su rpida localizacin fsica)
Se pide realizar la parte del DER que recoge la informacin de los CDs
Se pide realizar un DFD que represente funcionalmente los requisitos expresados, teniendo en cuenta las siguientes
restricciones
No tener en cuenta el control de errores
Realizar un DD
Realizar el DER correspondiente al siguiente supuesto: Se tienen CLIENTES de los que se guarda un
nmero de cliente, nombre, apellidos, lista de telfonos, fax y correo electrnico. Los clientes realizan
PEDIDOS. (Un pedido no puede ser realizado por dos clientes simultneamente). Cada pedido tiene un
nmero de pedido, una fecha asociada y una persona de contacto. Cada pedido aglutina varias LNEAS
DE DETALLE, cada una con una cantidad y una referencia a un artculo. Los ARTCULOS tienen un
descriptor, un identificador de familia y un identificador de modelo. Varias lneas de detalle
correspondientes a uno o varios pedidos (bien en su totalidad, bien en parte) constituyen un ALBARN.
Los albaranes contienen una fecha de entrega, una direccin de entrega y el nombre y apellido del
receptor. Varias lneas de detalle correspondientes a uno o varios albaranes (bien en su totalidad, bien en
parte) constituyen una FACTURA, la cual contiene un nmero de factura, una fecha de cobro y un modo
de pago
Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 141

Ingeniera del Software


Anlisis estructurado

Cuestiones y ejercicios (iv)


Hacer el diagrama E/R correspondiente al siguiente enunciado: Un centro de instalaciones
deportivas quiere hacer una aplicacin de reservas. En el centro existen instalaciones deportivas,
(piscinas, gimnasios, frontones, etc.). El centro en cuestin tiene socios, de los cuales se
almacenan su direccin, ciudad, provincia, telfono, nombre y cuota. Existen una serie de artculos
que se pueden alquilar junto con las reservas, (balones, redes, raquetas, etc.). Cada instalacin es
reservada por un socio en una fecha dada desde una hora de inicio hasta una hora de fin. Cada
reserva puede tener asociada uno o varios artculos deportivos que se alquilan a parte. Por
ejemplo si se quiere hacer una reserva para jugar a voleibol se tiene que reservar una instalacin
del polideportivo ms, opcionalmente, un artculo red y/o un artculo baln
Hacer el diagrama E/R correspondiente al siguiente enunciado
Un veterinario tiene como pacientes animales y como clientes familias
Un cliente es un conjunto de personas que suele corresponderse con una familia. Cada cliente tiene un
cdigo de cliente, el primer apellido del cabeza de familia, un nmero de cuenta bancaria, una direccin, un
telfono y los nombres y NIF de las personas correspondientes (incluido l mismo). No existe lmite en el
nmero de personas asociadas a una entidad cliente. Adems, una persona puede estar dada de alta en
varios clientes (por ejemplo, un hombre que vive con su esposa tiene un gato y como tal pertenece a un
cliente, pero tambin esta dado de alta en el cliente asociado con el perro de sus padres)
Los clientes pueden tener varias mascotas, cada mascota tiene un cdigo, un alias, una especie, una raza,
color de pelo, fecha de nacimiento aproximada, peso medio del animal en las ltimas 10 visitas y el peso
actual del animal. Asimismo se guardar un historial mdico con cada enfermedad que tuvo y la fecha en la
que enferm
Adicionalmente cada mascota tiene un calendario de vacunacin, en el que se registrar la fecha de cada
vacuna, la enfermedad de la que se vacuna

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 142

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Cuestiones y ejercicios (v)


Realizar el diagrama de transicin de estados para el juego del ajedrez, utilizando la
notacin de Yourdon
Realizar el diagrama de transicin de estados de un ascensor, utilizando la notacin de
Yourdon
Sea un modelo muy sencillo de horno microondas cuyo modelo de funcionamiento es el
siguiente: en primer lugar se selecciona el nivel de potencia, soportando dos modos
potencia total, que operara a 240 C, y media potencia que operara a 120 C. Mientras
que no se introduzca el tiempo, se puede pasar de un modo a otro. Despus se establece el
tiempo, introduciendo por las teclas oportunas la cantidad de minutos. Una vez que se han
introducido los dos parmetros el horno est listo y slo hay que pulsar el botn Inicio
para comenzar a operar, si se pulsara Cancelar, se volvera al estado inicial de espera. Al
terminar el tiempo dado el horno se pone a pitar durante 10s, trascurridos los mismos pasa
a un estado de espera. Si durante la programacin se pulsa la tecla Cancelar se vuelve al
estado inicial de espera. Si durante la programacin, antes de haber introducido el tiempo,
se abre la puerta se enciende la luz, pero se perdera la programacin, por lo que al cerrar la
puerta se estara de nuevo en el estado inicial de espera. Si durante la operacin se abre la
puerta, sta queda temporalmente suspendida, se pasa a un modo de espera con la luz
encendida, pero al cerrarla puerta se debe pulsar el botn Inicio para continuar. Se pide
realizar un DTE que modele este dispositivo

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 143

Ingeniera del Software


Anlisis estructurado

8. Lecturas complementarias

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 144

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

Lecturas complementarias (i)


Hatley, D. J., Pirbhai, I. Strategies for Real-Time System Specification. Dorset
House Publishing, 1987
Libro dedicado a la especificacin de sistemas de tiempo real
Miller, G. A. The Magical Number Seven, Plus or Minus Two: Some Limits on
Our Capacity for Processing Information. The Psychological Review, Vol. 63: 81-
97, 1956. Also available at http://www.well.com/user/smalin/miller.html [ltima
vez visitado, 13/1/2005]
Artculo clsico que se utiliza para poner un lmite heurstico para la descomposicin de
un proceso en subprocesos, as como en otras tcnicas de divide y vencers
Miguel, A. de, Piattini, M. Fundamentos y Modelos de Bases de Datos. Ra-
ma, 1997
Un clsico para estudiar el modelo entidad-relacin
Ministerio de Administraciones Pblicas. MTRICA 3.0, Volmenes 1-3.
Ministerio de Administraciones Pblicas, 2001
Es interesante destacar la parte de anlisis estructurado de esta metodologa

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 145

Ingeniera del Software


Anlisis estructurado

Lecturas complementarias (ii)

Sibley, E. H. Entity-Life Modeling and Structured Analysis in Real-Time Software


Design A Comparison. Communications of the ACM, 32(12):1458-1466.
December 1989
Artculo que aborda el modelado de sistemas de tiempo real desde una perspectiva
estructurada
Silva, M. Las Redes de Petri: En la Automtica y la Informtica. Editorial AC,
libros cientficos y tcnicos. Madrid. 1985
Para profundizar en las redes de Petri
Ward, P. T., Mellor, S. J. Structured Development for Real-Time Systems.
Volume 1: Introduction and Tools. Yourdon Press/Prentice-Hall, 1985
Libro dedicado a la especificacin de sistemas de tiempo real
Yourdon Inc. Yourdon Systems Method. Model-Driven Systems
Development. Prentice Hall International Editions. 1993
Descripcin detallada del mtodo de los estmulos de Edward Yourdon

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 146

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Anlisis estructurado

9. Referencias

Universidad de Salamanca Departamento de Informtica y Automtica Dr. Francisco J. Garca Pealvo 147

Ingeniera del Software


Anlisis estructurado

Referencias
[Chen, 1976] Chen, P. The Entity-Relationship Model:
Toward a Unified View of Data. ACM Transactions on
Database Systems, 1(1):9-36. March 1976
[Hatley y Pirbhai, 1987] Hatley, D. J., Pirbhai, I.
Strategies for Real-Time System Specification. Dorset
House Publishing, 1987
[Piattini et al., 2004] Piattini, M., Calvo-Manzano, J. A.,
Cervera, J., Fernndez, L. Anlisis y Diseo Detallado de
Aplicaciones Informticas de Gestin. Ra-ma, 2004
[Pressman, 2002] Pressman, R. S. Ingeniera del Software:
Un Enfoque Prctico. 5 Edicin. McGraw-Hill. 2002
[Ward y Mellor, 1985] Ward, P. T., Mellor, S. J.
Structured Development for Real-Time Systems. Volume 1:
Introduction
Universidad and Tools
de Salamanca Departamento . Yourdon
de Informtica y Automtica Press/Prentice-Hall,
Dr. Francisco J. Garca Pealvo1985
148

Tema 7: Anlisis estructurado


Ingeniera del Software
3 de I.T.I.S.
Departamento de Informtica y Automtica
Universidad de Salamanca

Ingeniera del Software


Tema 7: Anlisis estructurado

Dr. Francisco Jos Garca Pealvo


(fgarcia@usal.es)

3 I.T.I.S.
Fecha de ltima modificacin: 15-12-2005

Universidad de Salamanca Departamento de Informtica y Automtica

Tema 7: Anlisis estructurado

También podría gustarte