Title: Especificaciones de software
1Especificaciones de software
2Especificaciones 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
3Uso 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.
4Cualidades 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.
5Cualidades de las especificaciones
- Consistentes.
- Completas
- Internamente.
- Respecto a los requisitos.
6Estilos de especificaciones
- Formales vs. informales
- Operacionales vs. descriptivas.
7Estilos 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.
8Estilos de especificaciones
- El resultado de ordenar a es un arreglo b el
cual es una permutación de a y está ordenado.
9Estilos 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.
10Conclusiones
- 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.
11Modelos del Análisis
12Modelado del Análisis
- Análisis Estructurado
- Análisis Orientado a Objetos
13Análisis EstructuradoElementos del modelo de
análisis
14Modelo de datos
MODELO
REALIDAD
Representación Abstracta de la realidad
15Modelo 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
16Entidades 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.
17Entidades y atributos
18Relaciones
Modelo conceptual
- En IDEF1X las relaciones son binarias.
- Entidades asociativas
19Relaciones uno a muchos
Entidad padre
Entidad hijo
Cardinalidad cero, una o más
20Cardinalidades
- P indica uno o más.
- Z indica cero o una.
- n indica exactamente n.
- ausencia de sÃmbolo indica cero o más.
21Relaciones muchos a muchos
- No especÃficas
- No hay padre ni hay hijo
Entidad asociativa
22Relaciones 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.
LÃnea llena
Entidad dependiente
23Relaciones identificantes y no-identificantes
- No-identificantesla clave primaria del padre no
migra a la clave del hijo. - Puede ser opcional.
- No depende su identidad.
- Puede depender su existencia.
24Relaciones identificantes y no-identificantes
Uno a cero o más
Cero o uno a cero o más
Uno a uno o más
Cero o uno a uno o más
Uno a cero o más
Uno a cero o uno
Cero o uno a cero o uno
Uno a uno o más
Cero o uno a exactamente n
Uno a cero o uno
Uno a exacta- mente n
Uno a exacta- mente n
Relaciones identificantes (siempre mandatorias)
Relaciones no-identificantes (opcionales o
mandatorias)
25Capacidad 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.
26Entidades dependientes e independientes
Entidad independiente
Entidad independiente
Entidad dependiente
27JerarquÃas de generalizaciónJerarquÃa OR
- Agrupamiento de entidades que comparten
caracterÃsticas comunes.
28JerarquÃas de generalizaciónJerarquÃa OR
29JerarquÃas de generalizaciónJerarquÃa AND
30JerarquÃas de generalizaciónJerarquÃa AND
31JerarquÃas de generalización completas e
incompletas
32Relaciones Recursivas
33Conclusiones DER
- Notación semi-formal
- Descriptiva
- Expresividad limitada
- Altamente intuitivos
34Modelo 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
35Componentes de un DFD
- Procesos
- Flujos de datos
- Almacenes
- Terminadores o Entidades Externas.
36Procesos
- Una actividad, tarea, proceso, función, etc.
- Transforma entradas en salidas
- Representación Gráfica
proceso burbuja función transformación verbo-obj
eto (qué) en modelos de procesadores (quién)
1 SOLICITAR TARJETA
37Flujo de Datos
- Representan datos en movimiento lógicamente
relacionados. - Describen el movimiento de paquetes de datos de
una parte del sistema a otra.
38Flujo de Datos
- Entra a o sale de
- proceso
- entidad externa
- almacén
Elegir nombres significativos
2 VALIDAR USUARIO
contraseña nro_usuario
respuesta de validación
dirección
39Flujos de DatosDiálogo
1 DETERM. ESTADO DEL PEDIDO
pregunta sobre estado de pedido
respuesta sobre estado de pedido
40Flujos de Datos Divergentes
ACTUALIZAR INVENTARIO
detalle de pedidos
OBTENER DETALLE DE ORDEN
orden de compra
GENERAR FACTURA
41Flujos de Datos Convergentes
42Aplicabilidad
azúcar
leche
1 MEZCLAR INGRE- DIENTES
2 HORNEAR
harina
masa
torta
huevos
manteca
43Almacén de Datos
- Colección de datos en reposo.
- archivo en disco
- microfichas
- datos en un fichero de papel
- etc.
- Representación gráfica
44Almacén de DatosLectura
pasivo nombre en plural
datos_cliente
OBTENER DATOS PERSONALES
datos_cliente
CLIENTES
nro_cliente
no destructiva
45Almacén de DatosEscritura
info_contacto
ACTUALIZAR INFORMACION DE CONTACTO DE CLIENTE
nro_cliente
info_contacto
escritura sólo paquetes que el almacén pueda
guardar
46- CLIENTES CLIENTE
- CLIENTE _at_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
47Diccionario 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.
- _at_ Identificador de clave para un almacén. Se
coloca precediendo la clave.
48Entidad 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
49Entidad 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.
PRODUCIR REPORTES FINANCIEROS
CONTADURIA
COMITÉ DE FINANZAS
formularios_XYZ
reportes_financieros
50DFDs 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.
51DFDs 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.
52DFDs 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ó). -
53(No Transcript)
54DFDs 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Ã?
55GuÃa práctica
- Escoger nombres significativos.
- Numerar los procesos.
- Redibujar.
- Evitar complejidad gt niveles
- Evitar los flujos y procesos no etiquetados.
- Controlar consistencia entre niveles.
- Tener cuidado con los almacenes de solo lectura o
solo escritura.
56GuÃ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 agujero negro
Un milagro
57Observaciones 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.
58Modelo 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
59Estados
- 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
60Transiciones
- Representan cambios de un estado a otro.
estado inicial
transición
estado final
61Condiciones y Acciones
- Pueden aparecer asociadas a una transición.
62(No Transcript)
63(No Transcript)
64Balanceo 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 ...