especificaciones de software. acuerdo entre dos partes especificaciones de requisitos ...

64
Especificaciones de software

Upload: dolores-moya-carrasco

Post on 24-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Especificaciones de

software

Page 2: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Especificaciones de software

Acuerdo entre dos partes Especificaciones de requisitos Especificaciones de diseño

Puede decirnos Qué hacer Cómo hacerlo División no tan clara

Page 3: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Uso de las especificaciones

Dar los requisitos del cliente.Dar los requisitos de diseño.Verificar la implementación.Como punto de referencia en el

mantenimiento. mantenimiento correctivo. mantenimiento adaptativo. mantenimiento perfectivo.

Page 4: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Cualidades de las especificaciones

Claras, no ambiguas y entendibles.

“Seleccionar es el proceso para designar áreas del documento sobre las cuales se quiera trabajar. La mayoría de las acciones de formateado requieren de dos pasos: primero se debe seleccionar el área donde se quiere trabajar y luego iniciar la acción apropiada”.

Page 5: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Cualidades de las especificaciones

Consistentes.

Completas Internamente.Respecto a los requisitos.

Page 6: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Estilos de especificaciones

Formales vs. informales

Operacionales vs. descriptivas.

Page 7: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Estilos de especificaciones

“Sea a un arreglo de n elementos. El resultado de ordenar a es un arreglo b de n elementos tal que el primer elemento de b es el mínimo de a (si varios elementos de a tienen el mismo valor, cualquiera de ellos es aceptable), el segundo elemento de b es el mínimo del arreglo de n-1 elementos obtenidos de a al remover su mínimo elemento; y así sucesivamente hasta que todos los n elementos de a hayan sido removidos”.

Page 8: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Estilos de especificaciones

“El resultado de ordenar a es un arreglo b el cual es una permutación de a y está ordenado”.

Page 9: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Estilos de especificaciones

Primero, a debe estar ordenado; donde la definición de “ordenado” se encuentra dada en la especificación descriptiva anterior.

Luego, cualquier elemento duplicado del arreglo ordenado debe ser eliminado del arreglo.

Page 10: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Conclusiones

No siempre existe una distinción muy clara entre las especificaciones descriptivas y operacionales.

No existe un estilo que sea adecuado para todo tipo de problema.

Ningún estilo garantizará la calidad de la especificación.

Page 11: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelos del

Análisis

Page 12: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelado del Análisis

Análisis Estructurado

Análisis Orientado a Objetos

Page 13: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Análisis EstructuradoElementos del modelo de análisis

Page 14: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelo de datos

¿Qué es un modelo?

MODELO REALIDAD

RepresentaciónAbstractade la realidad

Page 15: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelo de datosDiagramas de Entidad-Relación

Modelo de Datos ¿Cuáles son los objetos de datos primarios que

va a procesar el sistema? ¿Cuál es la composición de cada uno de estos

objetos y qué atributos los describen? ¿Cuál son las relaciones entre dichos objetos?

Primitivas de los DER Entidades Relaciones Atributos

Page 16: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Entidades y atributos

Entidad Abstracción de un objeto del mundo real. Representa una colección de objetos que tienen

propiedades comunes. Ejemplo: CLIENTE

Atributo Propiedad de una entidad Ejemplo: Nombre y apellido, edad, dirección, etc.

Instancia de una entidad Ejemplo.

Page 17: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Entidades y atributos

numero_cliente nombre direccion

CLIENTE

Area de Datos (Atributos no-clave)

Area de Clave Primaria (Atributos de clave primaria).

Page 18: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones

compra CLIENTE PRODUCTO

Modelo conceptual

• En IDEF1X las relaciones son binarias.

•Entidades asociativas

Page 19: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones uno a muchos

esta_formado EQUIPO JUGADOR

Entidad hijoEntidad padre

Cardinalidad: cero, una o más

Page 20: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Cardinalidades

“P” indica uno o más.“Z” indica cero o una.“n” indica exactamente n. ausencia de símbolo indica cero o más.

esta_formado

EQUIPO JUGADOR 22

Page 21: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones muchos a muchos

No específicas No hay padre ni hay hijo

alquila

PERSONA COPIA_PELICULA

COPIA_PELICULA

ALQUILER

PERSONA registra es_registrada

Entidad asociativa

Page 22: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones identificantes y no-identificantes

Identificantes: la clave primaria del padre pasa a ser parte de la clave primaria del hijo.

Depende para Formar su identidad Existir

Siempre mandatorias.

esta_en_stock_como PELICULA COPIA_PELICULA numero_pelicula nombre_pelicula

numero_pelicula (FK) numero_copia

Línea llena

Entidad dependiente

Page 23: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones identificantes y no-identificantes No-identificantes:la clave primaria del padre no migra a la clave del

hijo. Puede ser opcional. No depende su identidad.

Puede depender su existencia.

COPIA_PELICULA

numero_copia

numero_pelicula (FK)

esta_en_stock_como PELICULA numero_pelicula nombre_pelicula

cubre VENDEDOR CIUDAD vendedor_id nombre

ciudad_id

vendedor_id (FK)

Page 24: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones identificantes y no-identificantes

Uno a exacta-mente n

Uno a cero o más

Uno a uno o más

Uno a cero o uno

Uno a exacta-mente n

Relaciones identificantes (siempre mandatorias)

Relaciones no-identificantes (opcionales o mandatorias)

Uno a cero o más

Uno a uno o más

Cero o uno a exactamente n

Cero o uno a cero o más

Uno a cero o uno

Cero o uno a uno o más

Cero o uno a cero o uno

Z

n

P

n

P

ZP

Z

n

Page 25: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Capacidad expresiva de los DER

En cada curso el número de alumnos inscriptos no puede ser menor de 5 ni puede exceder el valor del

atributo “max_inscriptos” de la entidad CURSO.

id_alumno

CURSO

INSCRIPCION

id_alumno (FK) id_curso (FK)

id_curso nombre max_inscriptos

ALUMNO

Page 26: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Entidades dependientes e independientes

id_alumno

CURSO

INSCRIPCION

id_alumno (FK) id_curso (FK)

id_curso nombre max_inscriptos

ALUMNO

Entidad independiente

Entidad dependiente

Entidad independiente

Page 27: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Jerarquías de generalizaciónJerarquía OR

Agrupamiento de entidades que comparten características comunes.

CAJA_AHORRO

CUENTA nro_cta tipo_cta fecha_apertura

Entidad Generalización o Padre Genérico

Entidades Categoría

tipo_cta Discriminante de categoría

CTA_CTE

nro_cta (FK)

saldo_cheques descubierto cargo_cheque

nro_cta (FK)

saldo tasa_intereses intereses_ganados

CTA_PRESTAMO

nro_cta (FK)

saldo_deudor cantidad-prestada tasa_intereses

Page 28: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Jerarquías de generalizaciónJerarquía OR

CUENTA CTA_CTE nro_cta tipo_cta fecha_apertura nro_cta saldo_cheques descubierto cargo_cheque

1 corriente 15/1/2000 1 12000 11500 1 2 corriente 20/1/2000 2 500 1000 1.2 3 ahorro 21/2/2000 4 ahorro 25/2/2000 CAJA_AHORRO 5 prestamo 4/3/2000 nro_cta saldo tasa_intereses intereses_ganados

3 45000 6.5% 1443 4 1223 5% 85

CTA_PRESTAMO nro_cta saldo_deudor cantidad_prestada tasa_intereses

5 5424 10000 12.5%

Page 29: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Jerarquías de generalizaciónJerarquía AND

CUENTA nro_cta fecha-apertura indicador_cta_c indicador_caja_a indicador_cta_p

indicador_caja_a

CAJA_AHORRO

nro_cta (FK)

saldo tasa_intereses intereses_ganados

CTA_PRESTAMO

nro_cta (FK)

saldo_deudor cantidad-prestada tasa_intereses

indicador_cta_c indicador_cta_p

CTA_CTE

nro_cta (FK)

saldo_cheques descubierto cargo_cheque

Page 30: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Jerarquías de generalizaciónJerarquía AND

CUENTA

CTA_CTE nro_cta indicador

_cta_c indicador_caja_a

indicador_cta_p

fecha_apertura nro_cta saldo_ cheques

descubierto cargo_ cheque

1 1 0 1 15/1/2000 1 12000 11500 1 2 1 0 0 20/1/2000 2 500 1000 1.2 3 0 1 0 21/2/2000 5 876 760 1.2 4 0 1 1 25/2/2000 5 1 0 0 4/3/2000 CAJA_AHORRO

nro_cta saldo tasa_ intereses

intereses_ ganados

3 45000 6.5% 1443 CTA_PRESTAMO 4 1223 5% 85

nro_cta saldo_ deudor

cantidad_ prestada

tasa_ intereses

1 5424 10000 12.5% 4 345 4000 12.5%

Page 31: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Jerarquías de generalización completas e incompletas

Estructura de Categoría Completa

Estructura de Categoría Incompleta

Page 32: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Relaciones Recursivas

es_dueño

COMPAÑIA

compañía_id

nombre

dueño.compañía_id (FK)

Page 33: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Conclusiones DER

Notación semi-formalDescriptivaExpresividad limitadaAltamente intuitivos

Page 34: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelo de ProcesosDiagrama de Flujo de Datos (DFD)

Características Fáciles de comunicar Notación operacional semi-formal Variedad de nombres y notación Aplicabilidad amplia Descomposición por niveles

DD

DFDDER

DTE

Page 35: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Componentes de un DFD

Procesos

Flujos de datos

Almacenes

Terminadores o Entidades Externas.

Page 36: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Procesos

Una actividad, tarea, proceso, función, etc. Transforma entradas en salidas Representación Gráfica

1SOLICITARTARJETA

procesoburbujafuncióntransformación

verbo-objeto (qué)en modelos de procesadores (quién)

Page 37: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Flujo de Datos

Representan datos en movimiento lógicamente relacionados.

Describen el movimiento de paquetes de datos de una parte del sistema a otra.

etiqueta del flujo

Page 38: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Flujo de Datos

Entra a o sale de proceso entidad externa almacén

2

VALIDARUSUARIO

contraseña +nro_usuario

respuesta de validación

dirección

Elegir nombres significativos

Page 39: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Flujos de DatosDiálogo

pregunta sobre estado de pedido

respuesta sobre estado de pedido

1DETERM. ESTADO

DEL PEDIDO

pregunta sobre estado de pedido

respuesta sobre estado de pedido

1DETERM. ESTADO

DEL PEDIDO

Page 40: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Flujos de Datos Divergentes

OBTENERDETALLE

DEORDEN

GENERAR FACTURA

detalle de pedidosorden de compra

ACTUALIZAR

INVENTARIO

VALIDARNUMEROTELEFO-

NO

VALIDARCODIGOPOSTAL

domicilio

VALIDAR CALLE

código postal

numero teléfono

calle

Page 41: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Flujos de Datos Convergentes

OBTENERNUMEROTELEFO-

NO

OBTENERCODIGOPOSTAL

domicilio

OBTENER CALLE

código postal

numero teléfono

calle

VALIDAR DOMICILIO

Page 42: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Aplicabilidad

1MEZCLAR

INGRE-DIENTES

harinamasa

leche azúcar

manteca

huevos

2

HORNEAR

torta

Page 43: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Almacén de Datos

Colección de datos en reposo. archivo en disco microfichas datos en un fichero de papel etc.

Representación gráfica:

nombre del almacén

Page 44: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Almacén de DatosLectura

OBTENERDATOS

PERSONALES

CLIENTESdatos_cliente

no destructiva

pasivonombre en plural

nro_cliente

datos_cliente

Page 45: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Almacén de DatosEscritura

ACTUALIZARINFORMACION DE CONTACTO

DECLIENTE

CLIENTES

info_contacto

escritura

sólo paquetes que el almacén pueda guardar

nro_cliente

info_contacto

Page 46: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

CLIENTES = {CLIENTE}

CLIENTE = @nro_cliente + nombre + domicilio + teléfono

nro_cliente = ...

nombre = *nombre de una persona*

primer nombre + (segundo nombre) + apellido

domicilio = ...

teléfono = ...

primer nombre = ...

segundo nombre = ...

apellido = ...

datos_cliente = nombre + domicilio + teléfono

info_contacto = [domicilio + telefono | domicilio | telefono]

Page 47: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Diccionario de Datos - Notación

= Está compuesto por+ y() Opcionalidad{} Iteración. Cero o más ocurrencias. [] Selección de una de varias alternativas. | Separador de opciones alternativas.* Principio y fin de comentario. @ Identificador de clave para un almacén. Se

coloca precediendo la clave.

Page 48: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Entidad Externa o Terminador

Representan objetos con los cuales el sistema se comunica. personas agrupamientos organizaciones otros sistemas de software o hardware

Se encuentran por fuera del sistema. Representación gráfica:

nombre del terminador

Page 49: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Entidad Externa o Terminador

Proveen con datos al sistema y/o esperan algún tipo de salida.

“Cuando recibimos los formularios XYZ de Contaduría debemos producir los reportes financieros para el Comité de finanzas”.

CONTADURIACOMITÉ DE FINANZASPRODUCIR

REPORTESFINANCIEROSformularios_XYZ

reportes_financieros

Page 50: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

DFDs por niveles

Cuando el DFD es muy complejo.Organización por niveles

DFD de nivel inferior proporciona más detalles sobre proceso en DFD de nivel superior.

Page 51: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

DFDs por niveles

Diagrama de Contexto Nivel más alto. Visión más abstracta del

sistema.

Da la visión externa del sistema.

Muestra todo el sistema proceso único flujos de entrada y salida entidades externas

Propósito: delinear el alcance del sistema.

Page 52: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

DFDs por niveles

Figura 0 Muestra procesos de más alto nivel y sus

interfaces. Numerar burbujas.

Cada burbuja i de un nivel particular se asocia con una figura del nivel siguiente (si es que se explotó).

Page 53: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

0EL

SISTEMA

E1 E2

E3

a b

c

Diagrama deContexto

Figura 3: PC

3.1PE

3.2PF

3.3PG

z

y

x

o

t

1

PA2

PB

4

PD3

PC

a

z

b

yx

c

w

v

Figura 0: EL SISTEMA

Page 54: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

DFDs por niveles

¿Cómo se realiza la partición de los DFDs por niveles? Dos enfoques.

¿Cuántos niveles tiene que tener un DFD? Cada burbuja lleva a cabo un función única indivisible. Pistas para saber que no hemos particionado lo

suficiente: proceso difícil de nombrar. proceso con demasiadas entradas y salidas.

¿Deben desarrollarse todas las partes del sistema con el mismo número de niveles?

¿Cómo asegurar que los niveles de un DFD sean consistentes entre sí?

Page 55: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Guía práctica

Escoger nombres significativos. Numerar los procesos. Redibujar. Evitar complejidad => niveles Evitar los flujos y procesos no etiquetados. Controlar consistencia entre niveles. Tener cuidado con los almacenes de solo

lectura o solo escritura.

Page 56: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Guía práctica Evitar sumideros infinitos.Los datos que entran a una burbuja deberían ser usados.

Evitar burbujas de generación espontánea. Los datos no pueden ser generados de la nada.

Excepciones: fecha y hora; nro rándom.

Un “milagro”

un “agujero negro”

Page 57: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Observaciones sobre los DFDs

• Fáciles de comunicar.

• Carecen de un significado preciso:– La semántica de los componentes usados

solamente se encuentra especificada por los nombres elegidos por el analista.

– Carecen de aspectos de control.

Page 58: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Modelo de ComportamientoDiagramas de Transición de Estados (DTE)

Notación gráfica semi-formal operacional.

Permite construir modelos de

comportamiento dependientes del tiempo.

Componentes: Estados

Transiciones Condiciones

Acciones

Page 59: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Estados

El sistema está esperando que: algo ocurra en el ambiente externo (evento)

o, alguna actividad que se está realizando en

ese momento cambie a otra.

Representación gráfica:

nombre del estado

Page 60: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Transiciones

Representan cambios de un estado a otro.

ESTADO 1

ESTADO 2

ESTADO 3

estado inicial

estado final

transición

Page 61: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Condiciones y Acciones

Pueden aparecer asociadas a una transición.

ESTADO 1

ESTADO 2

Condición

Acción

Page 62: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

ESPERANDO TARJETA

ESPERANDO OPCION

Mostrar menú de opciones

Se ingresó contraseña

ESPERANDO CONTRASEÑA

Se ingresó tarjeta

Mostrar “Ingrese contraseña”

Se pulsó CancelarDevolver Trajeta

EXTRACCION

Se pulsó “Extraer efectivo”

TRANSFERENCIA

Se pulsó “Transferir Fondos”

CONSULTAS

Se pulsó “Realizar Consulta”Mostrar opciones de consulta

Se pulsó CancelarDevolver Tarjeta

Se pulsó “Finalizar”Devolver Tarjeta

Mostrar menú de opciones

Page 63: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

ESPERANDO ELECCION

IMPRIMIENDO SALDO IMPRIMIENDO MOVIMIENTOS

Se pulsó “Consulta de Saldo”

Se pulsó “Consulta de Ultimos Movimientos”

Page 64: Especificaciones de software. Acuerdo entre dos partes  Especificaciones de requisitos  Especificaciones de diseño Puede decirnos  Qué hacer  Cómo

Balanceo de modelos

Balanceo del DFD con el DD Cada flujo de datos y cada almacén de datos deben

estar definidos en el DD. Caso contrario se dice que el dato está indefinido.

Cada dato y almacén que se define en el DD debe encontrase en alguna parte del DFD. Si no aparece se dice que es un dato fantasma.

Balanceo del DFD con el DER Cada almacén del DFD debe corresponderse con una

entidad dependiente o independiente del DER. Los nombres de objetos en el DER deben coincidir con

los nombres de los almacenes de datos del DFD. CLIENTES = {CLIENTE}CLIENTE = nombre + domicilio + teléfono + ...nombre = ...