Está en la página 1de 35

Especificación

de la Lógica de
Procesos
(ELPs)
Ing. Edgardo A. BELLONI

ebelloni@ugd.edu.ar
edgardobelloni@gmail.com

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Agenda

Temas
– Contexto: Herramientas de Modelado en Análisis
Estructurado

➢ Especificación de la Lógica de Procesos

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Herramientas de Modelado
Herramientas Gráficas
Diagrama de Flujos de Datos (DFD)
• Permite construir Modelos de Procesos
Diagrama de Entidad Relación (DER)
• Permite construir Modelos de Datos
Diagrama de Transición de Estados (DTE)
• Permite construir Modelos de Comportamiento Externo; Modelo de Procesos
Diagrama de Conexión de Puestos (DCP)
• Permite construir Modelos de Redes de Comunicación de Datos

Herramientas Complementarias:
Textuales y Combinación de Gráfica/Textual
Diccionario de Datos (DD)
• Detalla elementos en los diagramas
Especificación de la Lógica de Procesos (ELP)
• Detalla Lógica Interna de Proceso mostrando su Estructura de Control

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Bibliografía de Consulta
Libros
Análisis Estructurado Moderno
Autor: Yourdon E.
Editoriales: Yourdon Press y Prentice-Hall, Inc.
– Capítulo 9: Diagramas de Flujo de Datos
– Capítulo 10: Diccionario de Datos
– Capítulo 11: Especificaciones de Procesos
– Capítulo 12: Diagramas de Entidad-Relación
– Capítulo 13: Diagramas de Transición de Estados

Análisis y Diseño de Sistemas de Información


Autores: Whitten, Bentley & Barlow
Editorial: McGraw-Hill/Irwin
– Capítulo 10: Modelización de Redes
– Diagramas de Conexión de Puestos

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Agenda
Temas
– Contexto: Herramientas de Modelado en Análisis Estructurado

➢ Especificación de la Lógica de Procesos


– Propósito y Propiedades
– Técnicas de Especificación
– Lenguaje Estructurado
– Castellano Estructurado o Pseudo-Código
– Alternativas Gráficas:
– Diagramas de Flujo Estructurados (Böhm-Jacopini)
– Diagramas de Nassi-Shneiderman
– Pre y Post Condiciones
– Tabla de Decisión y Árbol de Decisión

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Define en detalle lo que debe hacerse para transformar
entradas en salidas en un proceso
Propiedades
– Debe ser Comprensible y Verificable por Analistas y Usuarios
– Debe Comunicar Efectivamente
– Se debe tener en cuenta …
– Preferencias y experiencias de Usuarios y Analistas
– Naturaleza propia del proceso
– No Debe Imponer Decisiones de Diseño e Implementación

Lenguaje Natural? NO
• Demasiado ambiguo
Lenguaje de Programación? NO
• Demasiado complejo, mucho detalle, impone decisiones de
implementación

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
¿Qué generar para detallar (especificar)
qué hace un proceso?

Proceso Complejo => DFD


• Explosiones de Procesos

Proceso Simple => ELP


• Lenguaje Estructurado . . . . . .
HACER CASO

• Alternativamente, herramientas gráficas:


CASO var = valor1
S1
CASO var = valorn
. . .
– Diagramas de Nassi-Shneiderman
Sn
FIN CASO

– Diagrama de Flujo Estructurado (Bohm-Jacopini) ESPECIFICACIÓN DEL PROCESO)

• Pre / Post Condiciones


Pre-Condición 1:
1 2 3 4 5 6 7 Ocurren
8 los datos,
Post-Condición 1:
Edad S S S S N N N N

• Tablas o Árboles de Decisión


> 21 Se producen

Sexo M M F F M M F F

Peso S N S N S N S N
> 150

Diálogo con Agente Externo => DTE


Medicame X X X
nto 1
Medicame X X
nto 2

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Modelos del Análisis Estructurado
Modelo
Esencial Modelos

Modelo del Modelo de


Ambiente Comportamiento

- Declaración de Objetivos Documentos, Técnicas y


Herramientas
- Diagrama de Contexto

- Lista de Eventos
1.- cliente vie
Modelo de Procesos – Diagramas de Flujos
1.- client
1.- cliente
1.-
1.-
cliente vie
cliente vie de Datos y
Especificaciones de
Procesos
Modelo de Datos
– Diagramas de Entidad-
Relación

- Diccionario de Datos
UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)
Especificaciones de Procesos
Complementan a los DFD
• Las especificaciones sólo se desarrollan para los
procesos de mas bajo nivel en un conjunto de DFDs
por niveles
• La especificación de proceso para una burbuja de
nivel superior es el DFD de nivel inferior

. . . . . .
. . .

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Lenguaje Estructurado
Subconjunto del Lenguaje Natural restringido en …
• Frases Utilizables
• Frase (Sentencia) Imperativa: <VERBO OBJETO>
• Pocos Verbos posibles: Agregar, Modificar, Reemplazar, Borrar,
Buscar, Calcular, Validar, Ordenar, Comparar, etc …
• Objetos son Datos
– Definidos en el DD: Flujos, Depósitos y sus respectivas
componentes
– Términos Locales: Calculo Intermedio o Relaciones entre
datos de entradas y datos almacenados
• Estructuración de las Frases
• Limita las formas en que se combinan las frases del lenguaje
• Construcciones frecuentes de la Programación Estructurada

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Lenguaje Estructurado
• Estructuración de las Frases o Sentencias
Secuencia S1;
S2;
...
Sn

Alternativa SI Condición SI Condición HACER CASO


St S1 CASO var = valor1
FIN SI SINO S1
.
S2 .
FIN SI .
CASO var = valorn
Sn
FIN CASO

Repetición HACER MIENTRAS Condición REPITE


St St
FIN HACER HASTA Condición
UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)
Lenguaje Estructurado
Patrón para especificaciones
Encabezado y Fin de especificación

ELP PROCESO NRO. número del proceso ‘‘ nombre del proceso ’’


COMENZAR

/* una o más sentencias separadas por ; */

TERMINAR
FIN ELP PROCESO NRO. número del proceso

Sentencias: Declaración de datos locales

DEFINIR nombre de variable local;

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
Patrón para especificaciones
Sentencias: Ocurrencia de Flujos de datos de Entrada y Comunicación de
Flujos de datos de Salida

OCURRE nombre de flujo de entrada DESDE PROCESO número y


nombre de proceso ;

COMUNICAR nombre de flujo de salida A PROCESO número y nombre


de proceso ;

flujo_de_entrada flujo_de_salida
P

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
Patrón para especificaciones
Sentencias: Ocurrencia de Flujos de datos de Entrada y Comunicación de
Flujos de datos Salida

OCURRE nombre de flujo de entrada DESDE TERMINADOR nombre de


terminador ;

COMUNICAR nombre de flujo de salida A TERMINADOR nombre de


terminador ;

flujo_de_salida
flujo_de_entrada P

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
Patrón para especificaciones
Sentencias: Operaciones sobre Depósitos o Almacenes de Datos

ENCONTRAR cliente_existente EN CLIENTES CON apellido_cli =


buscado.apellido y nombre_cli = buscado.nombre;
/* Observar en la sentencia anterior: el uso de criterios de búsqueda y la
referencia a componentes de un flujo */
SI cliente_existente FUE ENCONTRADO

SINO
… buscado cliente_existente
P CLIENTES
FIN SI;

DD
CLIENTES = {cliente}

cliente = apellido_cli + nombre_cli + otros_datos_cli

buscado = apellido + nombre + otros_datos_buscado

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
Patrón para especificaciones
Sentencias: Operaciones sobre Depósitos o Almacenes de Datos

ELIMINAR cliente_a_dar_de_baja DE CLIENTES CON apellido_cli =


buscado.apellido y nombre_cli = buscado.nombre;
/* Observar en la sentencia anterior, el uso de criterios para determinar
cual registro dar de baja */

buscado cliente_a_dar_de_baja
P CLIENTES

DD
CLIENTES = {cliente}

cliente = apellido_cli + nombre_cli + otros_datos_cli

buscado = apellido + nombre + otros_datos_buscado

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
Ejemplos de Frases Utilizables
OCURRE detalle_clte CONTENIENDO apellido y nombre
ENCONTRAR cliente EN CLIENTES CON apellido_cli = apellido y
nombre_cli = nombre
SI cliente FUE ENCONTRADO

FIN SI

ELIMINAR cliente EN CLIENTES CON apellido_cli = apellido y
nombre_cli = nombre

REEMPLAZAR (apellido_cli y nombre_cli) DE cliente EN CLIENTES
POR (apellido y nombre ) CON apellido_cli = “NN” y nombre_cli =
“NN”

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)
Lenguaje Estructurado
Ejemplos de Frases Utilizables
COMENZAR
OCURREN operando1 y operando2
DEFINIR x , z
CALCULAR z CON operando1 * operando2
CALCULAR x CON operando1 / operando2
CALCULAR rta CON x + z
COMUNICAR rta
TERMINAR

CONCATENAR apellido y nombre EN apellido_nombre

OCURRE nuevo_clte

AGREGAR nuevo_clte EN CLIENTES

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
SINONIMOS
Solamente utilizar un único verbo para cada acción por
uniformidad y para facilitar la comprensión
• COMENZAR
Sinónimos: INICIAR, COMIENZA
• TERMINAR
Sinónimos: FINALIZAR, TERMINA
• OCURRE
Sinónimos: RECIBIR, ACEPTAR
• DEFINIR
Sinónimo: DECLARAR
• ASIGNAR
Sinónimos: ESTABLECER, “:=”, “”

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Lenguaje Estructurado
SINONIMOS
Solamente utilizar un verbo para cada acción por
uniformidad y para facilitar la comprensión
• ENCONTRAR
Sinónimos: BUSCAR, CONSULTAR, LEER
• ELIMINAR
Sinónimos: BORRAR, DESCARTAR
• REEMPLAZAR
Sinónimos: ACTUALIZAR, MODIFICAR, ESCRIBIR
• AGREGAR
Sinónimos: INSERTAR, ESCRIBIR_NUEVO
• COMUNICAR
Sinónimos: RETORNAR, ENTREGAR, PRODUCIR
• CONCATENAR
Sinónimos: COMPONER, GENERAR

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Diagramas de Flujo Estructurados
Representación Gráfica Alternativa del Lenguaje Estructurado
• Símbolos de Bohm-Jacopini para Construcciones

Secuencia Alternativa Repetición


S1; SI Condición HACER MIENTRAS Condición
S1
S2; SINO St
S2
FIN SI FIN HACER

S1 Cond

Cond
S1 S2
S2

St

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Diagramas de Nassi-Shneiderman
Representación Gráfica Alternativa de Diagramas de Flujo Estructurados
• Fuerzan Indentación en la Representación de Anidamientos

Secuencia Alternativa Repetición


S1; SI Condición HACER MIENTRAS Condición
S1
S2; SINO St
S2
FIN SI FIN HACER

S1 Condición Condición
V F

S2 S1 S2
St

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Diagramas de Nassi-Shneiderman
Representación Gráfica Alternativa de Diagramas de Flujo Estructurados
• Fuerzan Indentación en la Representación de Anidamientos
Sentencia 11
Sentencia

Condición
Condicion 11
Secuencia
Condición
Condicion 22
V F
Repetición
Sentencia V1
Sentencia V1 Sentencia F1
Sentencia F1
Sentencia V2
Sentencia V2 Sentencia F2
Sentencia F2
Alternativa Cond 3
Sentencia V3
Sentencia V3 V F
Sentencia V4 Senten V1 Senten F1
Sentencia V5 Senten V2 Senten F2
Sentencia V6 Senten V3 Senten F3

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
PRE / POST Condiciones
Conjunto de pares de …
• PRE Condición
Describe lo que debe cumplirse ANTES de la ejecución del proceso
• POST Condición
Describe lo que debe cumplirse DESPUES de la ejecución del proceso
ESPECIFICACIÓN DEL PROCESO Calcular División Entera (CDE)
Pre-Condición 1:
Ocurren los datos enteros dividendo y divisor,
dividendo cociente
tal que valor de divisor > 0
Post-Condición 1:
CDE
Se producen cociente y resto, tal que

resto dividendo = (cociente * divisor) + resto y


divisor 0<= resto < divisor
Pre-Condición 2:
Valor de divisor = 0
Post-Condición 2:
Se produce Mensaje-de-Error: “División por cero”

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Fe1
PRE Condiciones Fe 2

Fs
Típicamente, describen D1 P
Fe3 = d1
• Qué Entradas están disponibles
• Ocurren Fe1 y Fe2 Fe4 = d2
D2
• Qué Relación debe existir entre las Entradas
• X en Fe1 coincide con Y en Fe2
• Z en Fe1 > 0
• Qué Relaciones deben darse entre Entradas y Depósitos de
Datos
• Existe en D1 un d1 conteniendo X que coincide con X en Fe1
• Qué Relaciones deben darse entre diferentes Depósitos o dentro
de un Depósito dado
• Existe en D1 un d1 conteniendo X que coincide con X en un d2 que
existe en D2

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Fe1
POST Condiciones Fe2
Típicamente, describen Fs
D1 P
Fe3 = d1
• Las Salidas que producirá el proceso
Fe4 = d2
• Se produce Fs D2

• Las Relaciones que existirán entre los Valores de Salida y los Valores de
Entrada
• Fs es = (Q + T) donde Q esta contenido en Fe1 y T esta contenido en Fe2
• Las Relaciones que existirán entre los Valores de Salida y los Valores en uno o
varios de los Depósitos
• Fs es = (Q * R) + (T * U) donde Q esta contenido en Fe1, R esta contenido en
Fe3,T esta contenido en Fe2 y U esta contenido en Fe4
• Los Cambios en los Depósitos: Nuevos Registros, Modificación o Eliminación
de Registros
• Fs es = … y B contenido en d1 almacenado en D1 se actualiza con Fs y No
existe d1 en D1 donde …

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
PRE / POST Condiciones
Al Especificar, se describen
• Situación(es) Normal(es) de Proceso
• Caso(s) de Error
• Habrá un par PRE / POST
• para cada situación normal
• para cada caso de error
ESPECIFICACIÓN DEL PROCESO 3.5: Calcular Impuesto Sobre Ventas
Pre-Condición 1:
Datos-de-Venta ocurre con Tipo-de-Item que coincide con Categoría-de-Item en Categorías-de-Impuestos
Post-Condición 1:
Se produce Impuesto-Sobre-Ventas calculado como Total-Ventas * Valor-Taza
Pre-Condición 2:
Dados-de-Venta ocurre con Tipo-de-Item que no coincide con Categoría-de-Item en Categorías-de-Impuestos
Post-Condición 2:
Se genera Mensaje-de-Error: Item inválido

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
PRE / POST Condiciones
Útil cuando
• Se quiere describir la función que debe realizar el proceso sin
especificar el algoritmo o procedimiento que se utilizará
• El analista …
• sabe que existen diferentes algoritmos que podrían utilizarse
• desea que el diseñador/programador explore estos algoritmos pero no
quiere involucrarse con los detalles
Difícil de entender cuando
• Existen relaciones muy complejas entre entradas y salidas

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Tabla de Decisión
Componentes Reglas
Condiciones o Entradas
1 2 3 4 5 6 7 8
Edad > 21 S S S S N N N N
Sexo M M F F M M F F

Acciones Peso > 150 S N S N S N S N

Medicamento 1 X X X
Medicamento 2 X X
Medicamento 3 X X X
Ningún Medicamento X X

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Tabla de Decisión
Componentes
• Condiciones
• Variables relevantes o Entradas
• En gral. son Lógicas (binarias, toman valores: V o F, Si o No …
• Pueden ser Multivaluadas: alternativa Arbol de Decisión
• Acciones
Reglas
• Cada una especifica la acción(es) que se realiza(n) para una
combinación particular de valores de las condiciones
• Si hay N condiciones binarias => existirán 2N reglas distintas
• Si son Multivaluadas las condiciones => existirán
nro valores de var 1 * nro valores de var 2 * … * nro valores de
var N

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Tabla de Decisión
Útil cuando
• El proceso debe producir una salida o tomar alguna acción
basada en decisiones complejas
• Las Decisiones se basan en muchas variables distintas y
dichas variables pueden tomar valores distintos (en gral.
binarios)
Ventajas
• No implica una implementación particular
• Se construyen sistemáticamente

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Tabla de Decisión
Pasos de Construcción
1. Identificar las Condiciones y los Valores de cada una
2. Calcular número de Reglas (combinaciones de las condiciones)
3. Identificar cada posible Acción
4. Armar Tabla Vacía (Listar Condiciones, Acciones y Poner nros. de
regla a columnas)
5. Listar todas las reglas, una para cada columna
6. Examinar cada columna y marcar acciones que se pueden tomar
7. Identificar con el usuario las omisiones, contradicciones o
ambigüedades
• Condiciones complementarias
• Reglas inconsistentes o redundantes

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Arbol de Decisión
Componentes
 Pedir monto
Condiciones o Extracción  Descontar monto a la cuenta
Variables (Nodos)
Tipo de  Generar comprobante
Transacción
 Pedir monto
Depósito
 Sumar monto a la cuenta
Si  Generar comprobante
¿Transacción Saldo
Válida?  Obtener saldo
No  Generar informe

 Procesar Mensaje de Error


Valores de
Variables (Ramas) Acciones (Hojas)

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Especificaciones de Procesos
Arbol de Decisión
Útil cuando
• El proceso debe producir salidas o tomar acciones basándose
en decisiones complejas
• Las Decisiones se basan en muchas variables distintas y
dichas variables pueden tomar varios valores distintos

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)


Bibliografía de Consulta
Libro
• Análisis Estructurado Moderno
– Autor: E. Yourdon
– Editorial: Prentice-Hall, Inc.
– Capítulo 11: Especificaciones de Procesos

UGD – ANALISIS DE SISTEMAS © Ing. Edgardo A. BELLONI (2008-2022)

También podría gustarte