Está en la página 1de 64

Especificaciones de software

Especificaciones de software
Acuerdo entre dos partes
Especificaciones de requisitos Especificaciones de diseo

Puede decirnos
Qu hacer Cmo hacerlo Divisin no tan clara

Uso de las especificaciones


Dar los requisitos del cliente. Dar los requisitos de diseo. Verificar la implementacin. Como punto de referencia en el mantenimiento.
mantenimiento correctivo. mantenimiento adaptativo. mantenimiento perfectivo.

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 mayora de las acciones de formateado requieren de dos pasos: primero se debe seleccionar el rea donde se quiere trabajar y luego iniciar la accin apropiada.

Cualidades de las especificaciones


Consistentes. Completas
Internamente. Respecto a los requisitos.

Estilos de especificaciones

Formales vs. informales Operacionales vs. descriptivas.

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 mnimo de a (si varios elementos de a tienen el mismo valor, cualquiera de ellos es aceptable), el segundo elemento de b es el mnimo del arreglo de n-1 elementos obtenidos de a al remover su mnimo elemento; y as sucesivamente hasta que todos los n elementos de a hayan sido removidos.

Estilos de especificaciones
El resultado de ordenar a es un arreglo b el cual es una permutacin de a y est ordenado.

Estilos de especificaciones
Primero, a debe estar ordenado; donde la definicin de ordenado se encuentra dada en la especificacin descriptiva anterior. Luego, cualquier elemento duplicado del arreglo ordenado debe ser eliminado del arreglo.

Conclusiones
No siempre existe una distincin muy clara entre las especificaciones descriptivas y operacionales. No existe un estilo que sea adecuado para todo tipo de problema. Ningn estilo garantizar la calidad de la especificacin.

Modelos del Anlisis

Modelado del Anlisis


Anlisis Estructurado Anlisis Orientado a Objetos

Anlisis Estructurado
Elementos del modelo de anlisis

Modelo de datos
Qu es un modelo?

REALIDAD

MODELO

Representacin Abstracta de la realidad

Modelo de datos
Diagramas de Entidad-Relacin

Modelo de Datos
Cules son los objetos de datos primarios que va a procesar el sistema? Cul es la composicin de cada uno de estos objetos y qu atributos los describen? Cul son las relaciones entre dichos objetos?

Primitivas de los DER


Entidades Relaciones Atributos

Entidades y atributos
Entidad
Abstraccin de un objeto del mundo real. Representa una coleccin de objetos que tienen propiedades comunes. Ejemplo: CLIENTE

Atributo
Propiedad de una entidad Ejemplo: Nombre y apellido, edad, direccin, etc.

Instancia de una entidad


Ejemplo.

Entidades y atributos

CLIENTE numero_cliente nombre direccion

Area de Clave Primaria (Atributos de clave primaria). Area de Datos (Atributos no-clave)

Relaciones

CLIENTE compra

PRODUCTO

Modelo conceptual

En IDEF1X las relaciones son binarias. Entidades asociativas

Relaciones uno a muchos

EQUIPO esta_formado

JUGADOR

Entidad padre
Cardinalidad: cero, una o ms

Entidad hijo

Cardinalidades
P indica uno o ms. Z indica cero o una. n indica exactamente n. ausencia de smbolo indica cero o ms.
EQUIPO esta_formado JUGADOR 22

Relaciones muchos a muchos


No especficas No hay padre ni hay hijo
PERSONA alquila COPIA_PELICULA

PERSONA registra es_registrada

COPIA_PELICULA

ALQUILER

Entidad asociativa

Relaciones identificantes y no-identificantes


Identificantes: la clave primaria del padre pasa a ser parte de la clave primaria del hijo.
PELICULA numero_pelicula nombre_pelicula COPIA_PELICULA esta_en_stock_como numero_pelicula (FK) numero_copia

Depende para

Lnea llena

Entidad dependiente

Formar su identidad Existir

Siempre mandatorias.

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.
PELICULA numero_pelicula nombre_pelicula COPIA_PELICULA numero_copia numero_pelicula (FK)

esta_en_stock_como

VENDEDOR vendedor_id nombre

cubre

CIUDAD ciudad_id vendedor_id (FK)

Relaciones identificantes y no-identificantes


Uno a cero o ms Cero o uno a cero o ms P P Z Z n Uno a uno o ms Cero o uno a uno o ms Uno a cero o uno Cero o uno a cero o uno Cero o uno exactamente n a

Uno a cero o ms P Z n Uno a uno o ms Uno a cero o uno

Uno a exactamente n Relaciones identificantes (siempre mandatorias)

Uno a exactamente n Relaciones no-identificantes (opcionales o mandatorias)

Capacidad expresiva de los DER

En cada curso el nmero de alumnos inscriptos no puede ser menor de 5 ni puede exceder el valor del atributo max_inscriptos de la entidad CURSO.
ALUMNO id_alumno CURSO id_curso nombre max_inscriptos INSCRIPCION id_alumno (FK) id_curso (FK)

Entidades dependientes e independientes


ALUMNO id_alumno CURSO id_curso nombre max_inscriptos INSCRIPCION id_alumno (FK) id_curso (FK)

Entidad independiente

Entidad independiente

Entidad dependiente

Jerarquas de generalizacin
Jerarqua OR
Agrupamiento de entidades que comparten caractersticas comunes.
CUENTA nro_cta tipo_cta fecha_apertura tipo_cta

Entidad Generalizacin o Padre Genrico Discriminante de categora

CTA_CTE nro_cta (FK) saldo_cheques descubierto cargo_cheque

CAJA_AHORRO nro_cta (FK) saldo tasa_intereses intereses_ganados

CTA_PRESTAMO nro_cta (FK) saldo_deudor cantidad-prestada tasa_intereses Entidades Categora

Jerarquas de generalizacin
Jerarqua OR

CUENTA nro_cta 1 2 3 4 5

tipo_cta fecha_apertura corriente 15/1/2000 corriente 20/1/2000 ahorro 21/2/2000 ahorro 25/2/2000 prestamo 4/3/2000

CTA_CTE nro_cta saldo_cheques 1 12000 2 500

descubierto cargo_cheque 11500 1 1000 1.2

CAJA_AHORRO 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%

Jerarquas de generalizacin
Jerarqua AND
CUENTA nro_cta fecha-apertura indicador_cta_c indicador_caja_a indicador_cta_p indicador_cta_c CTA_CTE nro_cta (FK) saldo_cheques descubierto cargo_cheque indicador_caja_a CAJA_AHORRO nro_cta (FK) saldo tasa_intereses intereses_ganados

indicador_cta_p CTA_PRESTAMO nro_cta (FK) saldo_deudor cantidad-prestada tasa_intereses

Jerarquas de generalizacin
Jerarqua AND

CUENTA nro_cta indicador indicador indicador fecha_apertura _cta_c _caja_a _cta_p 1 1 0 1 15/1/2000 2 1 0 0 20/1/2000 3 0 1 0 21/2/2000 4 0 1 1 25/2/2000 5 1 0 0 4/3/2000

CTA_CTE nro_cta saldo_ descubierto cargo_ cheques cheque 1 12000 11500 1 2 500 1000 1.2 5 876 760 1.2 CAJA_AHORRO nro_cta saldo 3 4

CTA_PRESTAMO nro_cta saldo_ deudor 1 5424 4 345

tasa_ intereses_ intereses ganados 45000 6.5% 1443 1223 5% 85

cantidad_ tasa_ prestada intereses 10000 12.5% 4000 12.5%

Jerarquas de generalizacin completas e incompletas

Estructura de Categora Completa

Estructura de Categora Incompleta

Relaciones Recursivas

COMPAIA compaa_id nombre dueo.compaa_id (FK) es_dueo

Conclusiones DER

Notacin semi-formal Descriptiva Expresividad limitada Altamente intuitivos

Modelo de Procesos
Diagrama de Flujo de Datos (DFD)
Caractersticas
Fciles de comunicar Notacin operacional semi-formal Variedad de nombres y notacin Aplicabilidad amplia Descomposicin por niveles
DER DD DFD

DTE

Componentes de un DFD
Procesos Flujos de datos Almacenes Terminadores o Entidades Externas.

Procesos
Una actividad, tarea, proceso, funcin, etc. Transforma entradas en salidas Representacin Grfica
proceso burbuja funcin transformacin verbo-objeto (qu) en modelos de procesadores (quin)

SOLICITAR TARJETA

Flujo de Datos
Representan datos en movimiento lgicamente relacionados. Describen el movimiento de paquetes de datos de una parte del sistema a otra.
etiqueta del flujo

Flujo de Datos
Entra a o sale de
proceso entidad externa almacn
contrasea + nro_usuario
2

Elegir nombres significativos

VALIDAR USUARIO

respuesta de validacin

direccin

Flujos de Datos Dilogo


pregunta sobre estado de pedido respuesta sobre estado de pedido 1 DETERM. ESTADO DEL PEDIDO

pregunta sobre estado de pedido

respuesta sobre estado de pedido

1 DETERM. ESTADO DEL PEDIDO

Flujos de Datos Divergentes


orden de compra
OBTENER DETALLE DE ORDEN

detalle de pedidos

ACTUALIZ AR INVENTA RIO

GENERAR FACTURA

VALIDAR CODIGO POSTAL

cdigo postal
domicilio

VALIDAR NUMERO TELEFOnumero telfono NO

calle

VALIDAR CALLE

Flujos de Datos Convergentes


OBTENER CODIGO POSTAL cdigo postal OBTENER NUMERO TELEFONO numero telfono

VALIDAR DOMICILIO

domicilio

calle

OBTENER CALLE

Aplicabilidad

leche harina huevos manteca

azcar

1 MEZCLAR INGREDIENTES

masa

2 HORNEAR

torta

Almacn de Datos
Coleccin de datos en reposo.
archivo en disco microfichas datos en un fichero de papel etc.

Representacin grfica:
nombre del almacn

Almacn de Datos Lectura


pasivo nombre en plural datos_cliente
OBTENER DATOS PERSONALES

datos_cliente

CLIENTES

nro_cliente

no destructiva

Almacn de Datos Escritura

info_contacto
ACTUALIZAR INFORMACION nro_cliente DE CONTACTO DE CLIENTE

CLIENTES

info_contacto

escritura slo paquetes que el almacn pueda guardar

CLIENTES = {CLIENTE} CLIENTE = @nro_cliente + nombre + domicilio + telfono nro_cliente = ... nombre = *nombre de una persona* primer nombre + (segundo nombre) + apellido domicilio = ... telfono = ... primer nombre = ... segundo nombre = ... apellido = ... datos_cliente = nombre + domicilio + telfono info_contacto = [domicilio + telefono | domicilio | telefono]

Diccionario de Datos - Notacin


= + () {} [] | * @ Est compuesto por y Opcionalidad Iteracin. Cero o ms ocurrencias. Seleccin de una de varias alternativas. Separador de opciones alternativas. Principio y fin de comentario. Identificador de clave para un almacn. Se coloca precediendo la clave.

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. Representacin grfica:


nombre del terminador

Entidad Externa o Terminador


Proveen con datos al sistema y/o esperan algn tipo de salida.
Cuando recibimos los formularios XYZ de Contadura debemos producir los reportes financieros para el Comit de finanzas.
COMIT DE FINANZAS
reportes_financieros

CONTADURIA
formularios_XYZ

PRODUCIR REPORTES FINANCIEROS

DFDs por niveles


Cuando el DFD es muy complejo. Organizacin por niveles
DFD de nivel inferior proporciona ms detalles sobre proceso en DFD de nivel superior.

DFDs por niveles


Diagrama de Contexto
Nivel ms alto. Visin ms abstracta del sistema. Da la visin externa del sistema.

Muestra todo el sistema


proceso nico flujos de entrada y salida entidades externas

Propsito: delinear el alcance del sistema.

DFDs por niveles


Figura 0
Muestra procesos de ms 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).

E1 a 0
EL SISTEMA

E2 b c E3
c
1

PA
x y z

PB
v

Diagrama de Contexto

PC

PD
a

Figura 0: EL SISTEMA 3.1

x o
3.2

PE

PF

t
3.3

PG Figura 3: PC

DFDs por niveles


Cmo se realiza la particin de los DFDs por niveles?

Dos enfoques.
Cuntos niveles tiene que tener un DFD? Cada burbuja lleva a cabo un funcin nica indivisible. Pistas para saber que no hemos particionado lo suficiente:
proceso difcil de nombrar. proceso con demasiadas entradas y salidas.

Deben desarrollarse todas las partes del sistema con el mismo nmero de niveles?
Cmo asegurar que los niveles de un DFD sean consistentes entre s?

Gua prctica
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.

Gua prctica
Evitar sumideros infinitos.
Los datos que entran a una burbuja deberan ser usados.

un agujero negro

Evitar burbujas de generacin espontnea.


Los datos no pueden ser generados de la nada. Excepciones: fecha y hora; nro rndom.

Un milagro

Observaciones sobre los DFDs


Fciles de comunicar. Carecen de un significado preciso:
La semntica de los componentes usados solamente se encuentra especificada por los nombres elegidos por el analista. Carecen de aspectos de control.

Modelo de Comportamiento
Diagramas de Transicin de Estados (DTE)
Notacin grfica semi-formal operacional.
Permite construir modelos de comportamiento dependientes del tiempo. Componentes:
Estados Transiciones
Condiciones Acciones

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.

Representacin grfica:
nombre del estado

Transiciones
Representan cambios de un estado a otro.

ESTADO 1

estado inicial transicin

ESTADO 2

estado final
ESTADO 3

Condiciones y Acciones
Pueden aparecer asociadas a una transicin.

ESTADO 1

Condicin Accin
ESTADO 2

ESPERANDO TARJETA

Se puls Cancelar Devolver Tarjeta

Se ingres tarjeta

Mostrar Ingrese contrasea


ESPERANDO CONTRASEA

Se puls Cancelar Devolver Trajeta Se puls Finalizar Devolver Tarjeta

Se ingres contrasea Mostrar men de opciones


ESPERANDO OPCION

Se puls Extraer efectivo

Se puls Transferir Fondos

Se puls Realizar Consulta Mostrar opciones de consulta


CONSULTAS

EXTRACCION

TRANSFERENCIA

Mostrar men de opciones

ESPERANDO ELECCION

Se puls Consulta de Saldo

Se puls Consulta de Ultimos Movimientos

IMPRIMIENDO SALDO

IMPRIMIENDO MOVIMIENTOS

Balanceo de modelos
Balanceo del DFD con el DD
Cada flujo de datos y cada almacn de datos deben estar definidos en el DD. Caso contrario se dice que el dato est indefinido. Cada dato y almacn 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 almacn 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 + telfono + ... nombre = ...

También podría gustarte