SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
ANÁLISIS DE SISTEMAS
Especificación de Requisitos Software.
Modelado de Funciones.
El Diagrama de Flujo de Datos (DFD). Objetivos.
Componentes.
Guías de construcción.
Niveles.
Más Guías de Construcción: Diagrama de Contexto.
Modelado de Datos.
Técnicas de Especificación de Control.
Ejemplo de construcción.
Validación
1. Especificación de Requisitos Software.
La ERS se puede definir como la documentación de los requisitos esenciales (funciones, rendimiento, diseño,
restricciones y atributos) del software y sus interfaces externas. Es un elemento clave dentro de la documentación necesaria
para el desarrollo del software. De alguna manera, la ERS juega un papel similar al que representan en arquitectura los planos
que definen el aspecto de una casa, ya que debe abordar la descripción de lo que hay que desarrollar, no el cómo, el cuándo, ...,
se desarrolla el software.
En definitiva, se trata de especificar lo que desea el usuario sin considerar cómo se va a solucionar, aunque la ERS sí
puede limitar la variedad de soluciones de diseño aceptables.
Existen tres modos de ver (perspectivas) un sistema y es recomendable, para su conocimiento, examinarle bajo estas
tres visiones, utilizando diferentes técnicas:
• Función: qué hace el sistema. El diagrama de flujo de datos (DFD) se utiliza para mostrar las funciones del
sistema y sus interfaces.
• Información: qué información utiliza el sistema. El modelo entidad-relación (ER) se utiliza para señalar las
entidades y las relaciones entre ellas.
• Tiempo: cuándo sucede algo en el sistema. La lista de eventos se utiliza para mostrar cualquier cosa que ocurra y
sobre la que el sistema debe responder.
Además de estudiar cada dimensión, es interesante ver las relaciones que existen entre ellas para hacer
comprobaciones sobre su consistencia.
Análisis de Sistemas Pág.1
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
2. Modelado de Funciones.
2.1. El Diagrama de Flujo de Datos.
El objetivo es construir un modelo del sistema que facilite la comprensión del mismo, tanto por parte de los usuarios
como del equipo de desarrollo.
Un DFD es un diagrama en forma de red que representa el flujo de datos y las transformaciones que se aplican sobre
ellos al moverse desde la entrada hasta la salida del sistema. Se utiliza para modelar las funciones del sistema y los datos que
fluyen entre ellas a distintos niveles de abstracción. El sistema se modelará mediante un conjunto de DFD nivelados en el que
los niveles superiores definen las funciones del sistema de forma general y los niveles inferiores definen estas funciones en
niveles más detallados.
Se divide el sistema en distintos niveles de detalle para:
Simplificar la complejidad del sistema, representando los diferentes procesos sencillos de que consta un
sistema complejo.
Repartir el trabajo entre los diferentes miembros del equipo de desarrollo.
Facilitar el mantenimiento del sistema.
Los fundamentos de la técnica son, esencialmente:
Representar gráficamente los límites del sistema en estudio.
Mostrar el movimiento de los datos y la transformación de los mismos a través del sistema.
Diferenciar las restricciones lógicas de las físicas.
Para conseguir estos objetivos el resultado perseguido debe ser:
Gráfico.
Lógico, nunca referido a entornos físicos.
Preciso y breve.
Comprensible.
Debidamente particionado.
Bien documentado.
Nunca redundante.
No ambiguo.
Establecerá “qué” funciones se deben desarrollar, no “cómo”.
Como resultado se obtendrá un modelo del sistema independiente de las restricciones físicas del entorno, lo que
facilitará su mantenimiento y portabilidad.
Análisis de Sistemas Pág.2
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
2.2. Componentes.
Los componentes de un DFD son:
a) Entidad Externa
• Es una persona o grupo.
• Está fuera del sistema (o del dominio del cambio).
• Es fuente o receptor de los flujos de información.
• Se representa mediante un cuadrado.
b) Proceso
• Qué hace, de qué manera transforma los flujos de entrada de información en flujos de salida de información.
• Se representa mediante un círculo o burbuja. En su interior, se incluyen un número y un nombre.
• Debe cumplirse la regla de conservación de datos.
c) Almacén de Datos
• Representa información en reposo.
• No implica máquina o dispositivo de almacenamiento alguno.
• Los almacenes deben ser necesarios en sí mismos (procesos asíncronos que se comunican) o
• Pueden aparecer por otras razones (seguridad, tecnología, ..etc).
• Se representan mediante dos rectas paralelas o un rectángulo semi-abierto.
d) Flujo
• Representa información en movimiento.
• Tiene un nombre correspondiente a un dato o conjunto de datos del diccionario.
• El movimiento de información tiene una dirección.
• Se representan mediante una flecha.
• El movimiento pueden ser bidireccional, si existe un diálogo.
• La conexión directa entre dos procesos mediante un flujo sólo es posible cuando la información sea síncrona;
sino, debe existir un almacén temporal que guarde los datos del proceso origen.
• Relación con almacenes:
• Se suele omitir el de lectura, cuando sólo leemos para actualizar.
• En lectura, puede ser un conjunto de datos, varios conjuntos de datos (cliente xx, clientes de Madrid) o parte
del conjunto (un teléfono o varios saldos que se suman).
• En actualización, uno o más conjuntos que se borran, añaden o modifican total o parcialmente.
• En cualquier caso, sólo pueden entrar y salir datos que estén en ese almacén.
Análisis de Sistemas Pág.3
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
2.3. Guías de construcción.
1. Elegir nombres significativos:
• Como hay que presentarlo al usuario debe estar claro lo que representa.
• Proceso: El nombre debe describir lo que hace el proceso a nivel conceptual: ¿qué función realiza este proceso?
• Lo mejor, verbo + nombre: recibir pedidos, validar pedidos, asignar alumnos, ...
• Evitar los verbos “hacer”, “procesar”, ..., que no significan nada en concreto.
• Evitar nombres específicos, el significado debería entenderlo cualquier persona incluso de fuera (¿Qué
significa ”Sellar y separar 103b y 104b”?).
• Evitar palabras como rutina, función, procedimiento (son nombres para informáticos y que indican una
posible forma de implementación).
• Flujo: El nombre debe ser una palabra que represente un dato elemental del diccionario o estar definida como un
conjunto de datos (un agregado) en él.
• No deben repetirse.
• Se admiten expresiones como NUM_FACT + IMP_FACT .
• Almacén: El nombre debe ser lo más específico que sea posible (CUENTAS PENDIENTES, CLIENTES).
• RESUMEN: NOMBRES AUTOEXPLICATIVOS
2. Numerar procesos
• de manera consistente, aunque no representan orden
• sirven para la descomposición jerárquica posterior.
3. Evitar DFD complejos
• un folio con, a lo más, una docena de elementos (más flujos)
• si es más complejo, dividir el DFD en varios folios
4. Redibujar el DFD en cuanto sea necesario (ayudado por herramientas CASE)
• por estética y claridad
• para que sea aceptable por el usuario
• técnicamente correcto
5. Asegurar la consistencia interna y con sus DFD asociados
• No puede haber fuentes y sumideros de información:
- procesos con entradas y sin salidas (sumideros infinitos)
- procesos con salidas y sin entradas (generación espontánea)
• Ojo con procesos y flujos sin nombre
- generalmente pueden ser debidos a que no se sabe bien lo qué hace un proceso o en qué consiste un
flujo o que se trate de datos sin relación entre sí.
• El DFD no debe representar el organigrama de la empresa.
• Cuidado con las lecturas y escrituras únicas en almacenes
- excepción admisible: almacenes externos.
• Lógicamente, se mantiene la lectura / actualización de todo el conjunto de DFD.
6. Lo que no debe haber en los DFD.
• No se incluyen los controles de errores triviales
• No hay bucles o construcciones if-else:
entrada
pet. otra entr.
obtener
siguiente
entrada
sumar
entradas
suma...
Análisis de Sistemas Pág.4
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
• No hay eventos temporales:
x
x>y
x<=y
y
comparar
x, y
facturas
pedidos
fin de
mes
facturar
2.4. Niveles.
Como el modelo de un sistema grande no se puede representar en una sola página mediante un DFD, la idea es
representarlo “por capas” (y cada capa queda definida mediante un DFD). Se sigue así una aproximación descendente (top-
down) en la que cada nivel proporciona una visión más detallada de una parte definida en el nivel anterior.
Se comienza por el nivel más alto de la jerarquía mediante un DFD denominado diagrama de contexto. En este
diagrama sólo hay un proceso que representa el sistema completo. A continuación, este proceso se descompone en otro DFD
(que a veces se denomina diagrama del sistema) en el que se representan las funciones principales o subsistemas. A
continuación, se descomponen cada uno de los procesos en nuevos diagramas que representan funciones más simples. Se
procede de la misma manera hasta que todas las funciones estén lo suficientemente detalladas como para que no sea necesaria
la creación de nuevos DFD.
Por tanto, un conjunto de DFD queda definido por:
• Diagrama de contexto, único y en la parte superior.
• Niveles medios, formado por el resto de diagramas.
• Funciones primitivas, que están presentes tanto en los niveles intermedios como en los últimos niveles de la
jerarquía y que se corresponden con procesos que no se explotan en nuevos DFD.
Algunas cuestiones importantes:
♦ ¿Cuántos niveles debe tener un DFD?
• El criterio es que la “especificación del proceso” se exprese en un folio.
• Si un proceso del último nivel no se puede expresar en una hoja, habrá que dividir más.
• En METRICA se exigen, al menos, cinco niveles (contexto, (subsistemas), funciones, (subfunciones), procesos).
• La jerarquía de procesos y subprocesos que se organiza a través de los niveles debe estar “mínimamente” balanceada,
aunque no todas las partes tienen porqué desarrollarse hasta el mismo nivel. Ahora bien, si está muy
desproporcionado, quizás haya algún error en el análisis.
♦ Consistencia entre niveles
• Los flujos entrantes y salientes de un proceso deben corresponder a los flujos de E/S globales del diagrama inferior
que lo describe.
♦ Convenciones a la numeración
• Cada diagrama recibe el número y el nombre del proceso que descompone (el proceso padre).
• Los procesos del diagrama del sistema se enumeran por un entero comenzando por 1 y de forma creciente hasta
completar el número de procesos del diagrama.
Análisis de Sistemas Pág.5
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
• En los restantes niveles, los números de los procesos están formados por la concatenación del número de diagrama en
el que están más un punto y un número entero único para identificarlo dentro del diagrama.
♦ ¿Cuándo aparecen los Almacenes de Datos?
• Hay que mostrar un almacén en el nivel más alto en el que sirve como enlace entre dos procesos o más. Después,
habrá que mostrarlo otra vez en cada diagrama del siguiente nivel que describe esos procesos.
♦ Top-down
• No es necesario trabajar estrictamente top-down como se verá en la construcción del modelo esencial o modelo
conceptual del sistema.
♦ ¿Cómo se muestra al usuario?
• Por partes: los directivos trabajan con el DFD de nivel 1 y el operador con el nivel de proceso más detallado.
• En cualquier caso, para mostrar todo el DFD habrá que trabajar, cada vez, sólo con dos niveles: el actual y el padre.
Técnicas de Descripción de Procesos del Ultimo Nivel
Deberán definirse con más detalle sólo las funciones o procesos primitivos, es decir, aquellos que no se van a
descomponer más.
Cada especificación de proceso (también denominada miniespecificación) debe
• Describir cómo se logra transformar el flujo de datos que llega en los flujos que salen.
• Describir las normas que gobiernan la transformación, no el método de implantar esas normas.
Se pueden llegar a incluir, en la descripción de los procesos de último nivel, las siguientes consideraciones:
• Modo de acceso de los procesos a los datos del sistema.
• Tipo de tratamiento (interactivo o por lotes).
• Información sobre la frecuencia de ejecución.
• Características del proceso:
− Actualización de datos del sistema.
− Consultas e informes.
− Realización de algoritmos específicos y descripción de los mismos.
A la hora de describir los procesos de último nivel de un DFD, se pueden utilizar las siguientes técnicas:
− Narrativa tradicional
− Tablas o árboles de decisión
− Lenguaje estructurado
− Pre y postcondiciones.
Evitar la narrativa sin más, buscar algo que sea inequívoco y al mismo tiempo entendible por cualquier usuario. Ejemplo:
“Para aplicar el descuento, el cliente debe tener una cifra de compra de más de 3.000.000 de pesetas / año y
un buen historial de pagos o haber sido cliente más de 5 años”.
Tablas o árboles de decisión.
Ya conocidas de los métodos Warnier y Jackson.
Lenguaje estructurado:
− Utilizar verbos precisos sin ambigüedad, del tipo
ORDENAR, SUMAR, ENCONTRAR, VALIDAR, REEMPLAZAR, BORRAR, CALCULAR,
MOSTRAR, ESCRIBIR, etc.
− Evitar verbos como
HACER, TRATAR, PROCESAR, CONTROLAR, ...
− Realizar construcciones típicas si/ si no o para cada..., del lenguaje estructurado:
si el cliente reside en Madrid y > 65 años
sumar un 10% a la póliza
si no
sumar un 5%;
Análisis de Sistemas Pág.6
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
para todos los clientes
enviar una felicitación de Navidad;
Pre y Postcondiciones:
− Describen la situación antes y después de aplicar un algoritmo. Se puede interpretar como un contrato
(condiciones previas y posteriores que han de cumplirse).
pre: existe un número x > 0
post: se obtiene un resultado, factor = x*x
− La precondición puede referirse a la existencia o disponibilidad de un flujo o de la relación entre varios flujos
(condición de sincronización) o de flujos con almacenes.
pre1: cliente facilita un nº c.c. que está registrada y tiene un estado abierta
post1: la cuenta se decrementa con el importe de la factura correspondiente
pre2: no se cumple pre 1
post2: se rechaza el pago a cuenta
2.5. Más Guías de Construcción: Diagrama de Contexto.
• La construcción del Diagrama de Contexto es más difícil de lo que parece pues debe incluir todas las
interacciones del sistema.
• Los flujos en el Diagrama de contexto aparecen si son necesarios:
− porque representan un evento (e)
− para producir una respuesta (e)
− para representar una respuesta (s)
• Necesitamos también tener claro el objetivo global del sistema y la lista de eventos externos a los que el sistema
debe responder:
− En la lista de eventos, se distinguen:
• los orientados a flujo (los que suponen un documento de entrada al sistema, del tipo que sea)
• los que son de tipo temporal QUE NO APARECERÁN REPRESENTADOS EN LOS DFD.
− Los eventos se describen desde el punto de vista externo: el cliente hace un pedido.
− La lista de eventos y el DFD deben “cuadrar”:
• Cada flujo de entrada es necesario para reconocer un evento o para producir una respuesta.
• Cada flujo de salida debe ser respuesta a un evento.
• Cada evento no temporal debe tener un flujo asociado.
• Cada evento temporal, al menos una salida.
Proceso de construcción práctica:
La idea fundamental es que cada evento requiere un proceso que le dé respuesta y sobre esa base reorganizar después los DFD
de diversos niveles.
1. Cada evento origina un proceso (evento 3 proceso 3).
evento = respuesta del sistema
cliente paga factura actualizar facturas pendientes
2. Se añaden los flujos de entrada y salida necesarios y los almacenes que sirven de comunicación entre los procesos (si
la comunicación es asíncrona).
• Hay que preguntarse qué necesita el sistema para funcionar (e) y cuál es la respuesta del sistema hacia el exterior (s).
Esto lo habremos obtenido de las entrevistas (lista de eventos).
• Existen casos especiales: un mismo evento da origen a varias respuestas o varios eventos originan la misma
respuesta.
• En este diagrama, que llamaremos inicial, cada proceso no se comunica con otros directamente, sino a través de
almacenes. Es un proceso asíncrono por definición.
(Como:
• la respuesta a un evento puede requerir datos producidos por otro proceso
• no podemos saber cuándo ocurren los eventos
• tenemos que asegurar que el proceso en el modelo esencial tarda 0 segundos
• cada flujo es de velocidad infinita
se deduce que la sincronización de eventos tiene que ser a través de almacenes.)
3. Se chequea contra el DFD de contexto para comprobar la consistencia.
Análisis de Sistemas Pág.7
INGENIERÍA DEL SOFTWARE I 3º Informática Gestión
Análisis de Sistemas Pág.8
4. Se refina el modelo. El criterio es la simplificación y la obtención de varios niveles.
• Reagrupación:
• cada grupo debe agrupar respuestas relacionadas y datos relacionados estrechamente.
• esconder los almacenes de datos en lo posible (dos o tres procesos que usan un almacén se transforman en un
proceso único que esconde el almacén dentro).
• Dividir si:
• el proceso hace varias cosas complejas. Construir un proceso por cada función.
• si hay demasiados flujos de entrada o salida
5. Por último, se describe cada proceso no explosionado.
Ejemplo
Un sistema de ventas de libros con
1. Clientes que piden libros.
2. Todos los días se hace un pedido a editoriales.
3. Todos los días se preparan los pedidos pendientes y se factura.
4. Los libros llegan de las editoriales.
5. Una vez cada15 días se controlan los pagos y se hacen reclamaciones.

Mais conteúdo relacionado

Mais procurados

Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...negroues
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
Sistemas de información diapositivas de la 3era unidad
Sistemas de información diapositivas de la 3era unidadSistemas de información diapositivas de la 3era unidad
Sistemas de información diapositivas de la 3era unidadBeto Meneses
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanJonathan Bastidas
 
Proseso de diseño de un (si)
Proseso de diseño de un (si)Proseso de diseño de un (si)
Proseso de diseño de un (si)marcelino garcia
 
11 Clase Analisis De Requisitos
11 Clase Analisis De Requisitos11 Clase Analisis De Requisitos
11 Clase Analisis De RequisitosJulio Pari
 
Trabajo final informatica
Trabajo final informaticaTrabajo final informatica
Trabajo final informaticaluisalejoha7
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradomateraactivo
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructuradoeglisp
 
C:\fakepath\diseño orientado al flujo de datos
C:\fakepath\diseño orientado al flujo de datosC:\fakepath\diseño orientado al flujo de datos
C:\fakepath\diseño orientado al flujo de datossistemas222
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físicoerrroman
 
Diagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDiagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDeivis Romero
 
Diseño de flujo de datos
Diseño de flujo de datosDiseño de flujo de datos
Diseño de flujo de datosRafa
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx AlvareL
 

Mais procurados (20)

Dfd
DfdDfd
Dfd
 
Que es dfd
Que es dfdQue es dfd
Que es dfd
 
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...Clase no. 1 unidad no. iii  introduccion al analisis y diseño estructurado  d...
Clase no. 1 unidad no. iii introduccion al analisis y diseño estructurado d...
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Sistemas de información diapositivas de la 3era unidad
Sistemas de información diapositivas de la 3era unidadSistemas de información diapositivas de la 3era unidad
Sistemas de información diapositivas de la 3era unidad
 
Diseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizanDiseño estructurado y las técnicas que lo caracterizan
Diseño estructurado y las técnicas que lo caracterizan
 
Proseso de diseño de un (si)
Proseso de diseño de un (si)Proseso de diseño de un (si)
Proseso de diseño de un (si)
 
11 Clase Analisis De Requisitos
11 Clase Analisis De Requisitos11 Clase Analisis De Requisitos
11 Clase Analisis De Requisitos
 
Trabajo final informatica
Trabajo final informaticaTrabajo final informatica
Trabajo final informatica
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Preguntas del examen
Preguntas del examenPreguntas del examen
Preguntas del examen
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
C:\fakepath\diseño orientado al flujo de datos
C:\fakepath\diseño orientado al flujo de datosC:\fakepath\diseño orientado al flujo de datos
C:\fakepath\diseño orientado al flujo de datos
 
diseño lógico y diseño físico
diseño lógico y diseño físicodiseño lógico y diseño físico
diseño lógico y diseño físico
 
Diagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDiagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesos
 
Trabajo
TrabajoTrabajo
Trabajo
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Diseño de flujo de datos
Diseño de flujo de datosDiseño de flujo de datos
Diseño de flujo de datos
 
Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx Metodología de Diseño Estructurado.pptx
Metodología de Diseño Estructurado.pptx
 
DISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMADISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMA
 

Semelhante a Tema4 a

BASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOBASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOErnesto
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDaniel Jose
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datosLuis Belisario
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datosDaniela Vera
 
Análisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasAnálisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasprofmyriamsanuy
 
Diseño de sistemas-Modelado diagrama de flujo de datos
Diseño de sistemas-Modelado diagrama de flujo de datosDiseño de sistemas-Modelado diagrama de flujo de datos
Diseño de sistemas-Modelado diagrama de flujo de datosssuserd1db251
 
Modelos de análisis estructurado
Modelos de análisis estructuradoModelos de análisis estructurado
Modelos de análisis estructuradoyolimargn
 
Diseño orientado a flujo de datos
Diseño orientado a flujo de datosDiseño orientado a flujo de datos
Diseño orientado a flujo de datosSergio E. Sánchez
 
Herramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteHerramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteAlejandra Apeleister
 
Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]jauanilfabian
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de DatosInés Andara
 
Análisis y diseño de sistemas sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas   sesion 12 - diagrama de secuenciaAnálisis y diseño de sistemas   sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas sesion 12 - diagrama de secuenciaGianfrancoEduardoBra
 
Paraigma de la Ingenieria de Software.pdf
Paraigma de la Ingenieria de Software.pdfParaigma de la Ingenieria de Software.pdf
Paraigma de la Ingenieria de Software.pdfEdecio R. Freitez R.
 
Modelos de analisis estructurado
Modelos de analisis estructuradoModelos de analisis estructurado
Modelos de analisis estructuradoluiscarballoc
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datosCarlos Sangurima
 

Semelhante a Tema4 a (20)

BASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOBASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJO
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datos
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datos
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datos
 
dfd.ppt
dfd.pptdfd.ppt
dfd.ppt
 
Dfd
DfdDfd
Dfd
 
Análisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemasAnálisis de sistemas fases del diseño de sistemas
Análisis de sistemas fases del diseño de sistemas
 
Diseño de sistemas-Modelado diagrama de flujo de datos
Diseño de sistemas-Modelado diagrama de flujo de datosDiseño de sistemas-Modelado diagrama de flujo de datos
Diseño de sistemas-Modelado diagrama de flujo de datos
 
Pt7seccion2
Pt7seccion2Pt7seccion2
Pt7seccion2
 
Modelos de análisis estructurado
Modelos de análisis estructuradoModelos de análisis estructurado
Modelos de análisis estructurado
 
Diseño orientado a flujo de datos
Diseño orientado a flujo de datosDiseño orientado a flujo de datos
Diseño orientado a flujo de datos
 
Clase 2 Semana 3
Clase 2 Semana 3Clase 2 Semana 3
Clase 2 Semana 3
 
Herramientas usadas para definir el ambiente
Herramientas usadas para definir el ambienteHerramientas usadas para definir el ambiente
Herramientas usadas para definir el ambiente
 
Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]Diagrama de flujo_de_datos_(dfd)[1]
Diagrama de flujo_de_datos_(dfd)[1]
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de Datos
 
Análisis y diseño de sistemas sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas   sesion 12 - diagrama de secuenciaAnálisis y diseño de sistemas   sesion 12 - diagrama de secuencia
Análisis y diseño de sistemas sesion 12 - diagrama de secuencia
 
Paraigma de la Ingenieria de Software.pdf
Paraigma de la Ingenieria de Software.pdfParaigma de la Ingenieria de Software.pdf
Paraigma de la Ingenieria de Software.pdf
 
Diagramas de-flujo-de-datos01
Diagramas de-flujo-de-datos01Diagramas de-flujo-de-datos01
Diagramas de-flujo-de-datos01
 
Modelos de analisis estructurado
Modelos de analisis estructuradoModelos de analisis estructurado
Modelos de analisis estructurado
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datos
 

Tema4 a

  • 1. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión ANÁLISIS DE SISTEMAS Especificación de Requisitos Software. Modelado de Funciones. El Diagrama de Flujo de Datos (DFD). Objetivos. Componentes. Guías de construcción. Niveles. Más Guías de Construcción: Diagrama de Contexto. Modelado de Datos. Técnicas de Especificación de Control. Ejemplo de construcción. Validación 1. Especificación de Requisitos Software. La ERS se puede definir como la documentación de los requisitos esenciales (funciones, rendimiento, diseño, restricciones y atributos) del software y sus interfaces externas. Es un elemento clave dentro de la documentación necesaria para el desarrollo del software. De alguna manera, la ERS juega un papel similar al que representan en arquitectura los planos que definen el aspecto de una casa, ya que debe abordar la descripción de lo que hay que desarrollar, no el cómo, el cuándo, ..., se desarrolla el software. En definitiva, se trata de especificar lo que desea el usuario sin considerar cómo se va a solucionar, aunque la ERS sí puede limitar la variedad de soluciones de diseño aceptables. Existen tres modos de ver (perspectivas) un sistema y es recomendable, para su conocimiento, examinarle bajo estas tres visiones, utilizando diferentes técnicas: • Función: qué hace el sistema. El diagrama de flujo de datos (DFD) se utiliza para mostrar las funciones del sistema y sus interfaces. • Información: qué información utiliza el sistema. El modelo entidad-relación (ER) se utiliza para señalar las entidades y las relaciones entre ellas. • Tiempo: cuándo sucede algo en el sistema. La lista de eventos se utiliza para mostrar cualquier cosa que ocurra y sobre la que el sistema debe responder. Además de estudiar cada dimensión, es interesante ver las relaciones que existen entre ellas para hacer comprobaciones sobre su consistencia. Análisis de Sistemas Pág.1
  • 2. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión 2. Modelado de Funciones. 2.1. El Diagrama de Flujo de Datos. El objetivo es construir un modelo del sistema que facilite la comprensión del mismo, tanto por parte de los usuarios como del equipo de desarrollo. Un DFD es un diagrama en forma de red que representa el flujo de datos y las transformaciones que se aplican sobre ellos al moverse desde la entrada hasta la salida del sistema. Se utiliza para modelar las funciones del sistema y los datos que fluyen entre ellas a distintos niveles de abstracción. El sistema se modelará mediante un conjunto de DFD nivelados en el que los niveles superiores definen las funciones del sistema de forma general y los niveles inferiores definen estas funciones en niveles más detallados. Se divide el sistema en distintos niveles de detalle para: Simplificar la complejidad del sistema, representando los diferentes procesos sencillos de que consta un sistema complejo. Repartir el trabajo entre los diferentes miembros del equipo de desarrollo. Facilitar el mantenimiento del sistema. Los fundamentos de la técnica son, esencialmente: Representar gráficamente los límites del sistema en estudio. Mostrar el movimiento de los datos y la transformación de los mismos a través del sistema. Diferenciar las restricciones lógicas de las físicas. Para conseguir estos objetivos el resultado perseguido debe ser: Gráfico. Lógico, nunca referido a entornos físicos. Preciso y breve. Comprensible. Debidamente particionado. Bien documentado. Nunca redundante. No ambiguo. Establecerá “qué” funciones se deben desarrollar, no “cómo”. Como resultado se obtendrá un modelo del sistema independiente de las restricciones físicas del entorno, lo que facilitará su mantenimiento y portabilidad. Análisis de Sistemas Pág.2
  • 3. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión 2.2. Componentes. Los componentes de un DFD son: a) Entidad Externa • Es una persona o grupo. • Está fuera del sistema (o del dominio del cambio). • Es fuente o receptor de los flujos de información. • Se representa mediante un cuadrado. b) Proceso • Qué hace, de qué manera transforma los flujos de entrada de información en flujos de salida de información. • Se representa mediante un círculo o burbuja. En su interior, se incluyen un número y un nombre. • Debe cumplirse la regla de conservación de datos. c) Almacén de Datos • Representa información en reposo. • No implica máquina o dispositivo de almacenamiento alguno. • Los almacenes deben ser necesarios en sí mismos (procesos asíncronos que se comunican) o • Pueden aparecer por otras razones (seguridad, tecnología, ..etc). • Se representan mediante dos rectas paralelas o un rectángulo semi-abierto. d) Flujo • Representa información en movimiento. • Tiene un nombre correspondiente a un dato o conjunto de datos del diccionario. • El movimiento de información tiene una dirección. • Se representan mediante una flecha. • El movimiento pueden ser bidireccional, si existe un diálogo. • La conexión directa entre dos procesos mediante un flujo sólo es posible cuando la información sea síncrona; sino, debe existir un almacén temporal que guarde los datos del proceso origen. • Relación con almacenes: • Se suele omitir el de lectura, cuando sólo leemos para actualizar. • En lectura, puede ser un conjunto de datos, varios conjuntos de datos (cliente xx, clientes de Madrid) o parte del conjunto (un teléfono o varios saldos que se suman). • En actualización, uno o más conjuntos que se borran, añaden o modifican total o parcialmente. • En cualquier caso, sólo pueden entrar y salir datos que estén en ese almacén. Análisis de Sistemas Pág.3
  • 4. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión 2.3. Guías de construcción. 1. Elegir nombres significativos: • Como hay que presentarlo al usuario debe estar claro lo que representa. • Proceso: El nombre debe describir lo que hace el proceso a nivel conceptual: ¿qué función realiza este proceso? • Lo mejor, verbo + nombre: recibir pedidos, validar pedidos, asignar alumnos, ... • Evitar los verbos “hacer”, “procesar”, ..., que no significan nada en concreto. • Evitar nombres específicos, el significado debería entenderlo cualquier persona incluso de fuera (¿Qué significa ”Sellar y separar 103b y 104b”?). • Evitar palabras como rutina, función, procedimiento (son nombres para informáticos y que indican una posible forma de implementación). • Flujo: El nombre debe ser una palabra que represente un dato elemental del diccionario o estar definida como un conjunto de datos (un agregado) en él. • No deben repetirse. • Se admiten expresiones como NUM_FACT + IMP_FACT . • Almacén: El nombre debe ser lo más específico que sea posible (CUENTAS PENDIENTES, CLIENTES). • RESUMEN: NOMBRES AUTOEXPLICATIVOS 2. Numerar procesos • de manera consistente, aunque no representan orden • sirven para la descomposición jerárquica posterior. 3. Evitar DFD complejos • un folio con, a lo más, una docena de elementos (más flujos) • si es más complejo, dividir el DFD en varios folios 4. Redibujar el DFD en cuanto sea necesario (ayudado por herramientas CASE) • por estética y claridad • para que sea aceptable por el usuario • técnicamente correcto 5. Asegurar la consistencia interna y con sus DFD asociados • No puede haber fuentes y sumideros de información: - procesos con entradas y sin salidas (sumideros infinitos) - procesos con salidas y sin entradas (generación espontánea) • Ojo con procesos y flujos sin nombre - generalmente pueden ser debidos a que no se sabe bien lo qué hace un proceso o en qué consiste un flujo o que se trate de datos sin relación entre sí. • El DFD no debe representar el organigrama de la empresa. • Cuidado con las lecturas y escrituras únicas en almacenes - excepción admisible: almacenes externos. • Lógicamente, se mantiene la lectura / actualización de todo el conjunto de DFD. 6. Lo que no debe haber en los DFD. • No se incluyen los controles de errores triviales • No hay bucles o construcciones if-else: entrada pet. otra entr. obtener siguiente entrada sumar entradas suma... Análisis de Sistemas Pág.4
  • 5. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión • No hay eventos temporales: x x>y x<=y y comparar x, y facturas pedidos fin de mes facturar 2.4. Niveles. Como el modelo de un sistema grande no se puede representar en una sola página mediante un DFD, la idea es representarlo “por capas” (y cada capa queda definida mediante un DFD). Se sigue así una aproximación descendente (top- down) en la que cada nivel proporciona una visión más detallada de una parte definida en el nivel anterior. Se comienza por el nivel más alto de la jerarquía mediante un DFD denominado diagrama de contexto. En este diagrama sólo hay un proceso que representa el sistema completo. A continuación, este proceso se descompone en otro DFD (que a veces se denomina diagrama del sistema) en el que se representan las funciones principales o subsistemas. A continuación, se descomponen cada uno de los procesos en nuevos diagramas que representan funciones más simples. Se procede de la misma manera hasta que todas las funciones estén lo suficientemente detalladas como para que no sea necesaria la creación de nuevos DFD. Por tanto, un conjunto de DFD queda definido por: • Diagrama de contexto, único y en la parte superior. • Niveles medios, formado por el resto de diagramas. • Funciones primitivas, que están presentes tanto en los niveles intermedios como en los últimos niveles de la jerarquía y que se corresponden con procesos que no se explotan en nuevos DFD. Algunas cuestiones importantes: ♦ ¿Cuántos niveles debe tener un DFD? • El criterio es que la “especificación del proceso” se exprese en un folio. • Si un proceso del último nivel no se puede expresar en una hoja, habrá que dividir más. • En METRICA se exigen, al menos, cinco niveles (contexto, (subsistemas), funciones, (subfunciones), procesos). • La jerarquía de procesos y subprocesos que se organiza a través de los niveles debe estar “mínimamente” balanceada, aunque no todas las partes tienen porqué desarrollarse hasta el mismo nivel. Ahora bien, si está muy desproporcionado, quizás haya algún error en el análisis. ♦ Consistencia entre niveles • Los flujos entrantes y salientes de un proceso deben corresponder a los flujos de E/S globales del diagrama inferior que lo describe. ♦ Convenciones a la numeración • Cada diagrama recibe el número y el nombre del proceso que descompone (el proceso padre). • Los procesos del diagrama del sistema se enumeran por un entero comenzando por 1 y de forma creciente hasta completar el número de procesos del diagrama. Análisis de Sistemas Pág.5
  • 6. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión • En los restantes niveles, los números de los procesos están formados por la concatenación del número de diagrama en el que están más un punto y un número entero único para identificarlo dentro del diagrama. ♦ ¿Cuándo aparecen los Almacenes de Datos? • Hay que mostrar un almacén en el nivel más alto en el que sirve como enlace entre dos procesos o más. Después, habrá que mostrarlo otra vez en cada diagrama del siguiente nivel que describe esos procesos. ♦ Top-down • No es necesario trabajar estrictamente top-down como se verá en la construcción del modelo esencial o modelo conceptual del sistema. ♦ ¿Cómo se muestra al usuario? • Por partes: los directivos trabajan con el DFD de nivel 1 y el operador con el nivel de proceso más detallado. • En cualquier caso, para mostrar todo el DFD habrá que trabajar, cada vez, sólo con dos niveles: el actual y el padre. Técnicas de Descripción de Procesos del Ultimo Nivel Deberán definirse con más detalle sólo las funciones o procesos primitivos, es decir, aquellos que no se van a descomponer más. Cada especificación de proceso (también denominada miniespecificación) debe • Describir cómo se logra transformar el flujo de datos que llega en los flujos que salen. • Describir las normas que gobiernan la transformación, no el método de implantar esas normas. Se pueden llegar a incluir, en la descripción de los procesos de último nivel, las siguientes consideraciones: • Modo de acceso de los procesos a los datos del sistema. • Tipo de tratamiento (interactivo o por lotes). • Información sobre la frecuencia de ejecución. • Características del proceso: − Actualización de datos del sistema. − Consultas e informes. − Realización de algoritmos específicos y descripción de los mismos. A la hora de describir los procesos de último nivel de un DFD, se pueden utilizar las siguientes técnicas: − Narrativa tradicional − Tablas o árboles de decisión − Lenguaje estructurado − Pre y postcondiciones. Evitar la narrativa sin más, buscar algo que sea inequívoco y al mismo tiempo entendible por cualquier usuario. Ejemplo: “Para aplicar el descuento, el cliente debe tener una cifra de compra de más de 3.000.000 de pesetas / año y un buen historial de pagos o haber sido cliente más de 5 años”. Tablas o árboles de decisión. Ya conocidas de los métodos Warnier y Jackson. Lenguaje estructurado: − Utilizar verbos precisos sin ambigüedad, del tipo ORDENAR, SUMAR, ENCONTRAR, VALIDAR, REEMPLAZAR, BORRAR, CALCULAR, MOSTRAR, ESCRIBIR, etc. − Evitar verbos como HACER, TRATAR, PROCESAR, CONTROLAR, ... − Realizar construcciones típicas si/ si no o para cada..., del lenguaje estructurado: si el cliente reside en Madrid y > 65 años sumar un 10% a la póliza si no sumar un 5%; Análisis de Sistemas Pág.6
  • 7. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión para todos los clientes enviar una felicitación de Navidad; Pre y Postcondiciones: − Describen la situación antes y después de aplicar un algoritmo. Se puede interpretar como un contrato (condiciones previas y posteriores que han de cumplirse). pre: existe un número x > 0 post: se obtiene un resultado, factor = x*x − La precondición puede referirse a la existencia o disponibilidad de un flujo o de la relación entre varios flujos (condición de sincronización) o de flujos con almacenes. pre1: cliente facilita un nº c.c. que está registrada y tiene un estado abierta post1: la cuenta se decrementa con el importe de la factura correspondiente pre2: no se cumple pre 1 post2: se rechaza el pago a cuenta 2.5. Más Guías de Construcción: Diagrama de Contexto. • La construcción del Diagrama de Contexto es más difícil de lo que parece pues debe incluir todas las interacciones del sistema. • Los flujos en el Diagrama de contexto aparecen si son necesarios: − porque representan un evento (e) − para producir una respuesta (e) − para representar una respuesta (s) • Necesitamos también tener claro el objetivo global del sistema y la lista de eventos externos a los que el sistema debe responder: − En la lista de eventos, se distinguen: • los orientados a flujo (los que suponen un documento de entrada al sistema, del tipo que sea) • los que son de tipo temporal QUE NO APARECERÁN REPRESENTADOS EN LOS DFD. − Los eventos se describen desde el punto de vista externo: el cliente hace un pedido. − La lista de eventos y el DFD deben “cuadrar”: • Cada flujo de entrada es necesario para reconocer un evento o para producir una respuesta. • Cada flujo de salida debe ser respuesta a un evento. • Cada evento no temporal debe tener un flujo asociado. • Cada evento temporal, al menos una salida. Proceso de construcción práctica: La idea fundamental es que cada evento requiere un proceso que le dé respuesta y sobre esa base reorganizar después los DFD de diversos niveles. 1. Cada evento origina un proceso (evento 3 proceso 3). evento = respuesta del sistema cliente paga factura actualizar facturas pendientes 2. Se añaden los flujos de entrada y salida necesarios y los almacenes que sirven de comunicación entre los procesos (si la comunicación es asíncrona). • Hay que preguntarse qué necesita el sistema para funcionar (e) y cuál es la respuesta del sistema hacia el exterior (s). Esto lo habremos obtenido de las entrevistas (lista de eventos). • Existen casos especiales: un mismo evento da origen a varias respuestas o varios eventos originan la misma respuesta. • En este diagrama, que llamaremos inicial, cada proceso no se comunica con otros directamente, sino a través de almacenes. Es un proceso asíncrono por definición. (Como: • la respuesta a un evento puede requerir datos producidos por otro proceso • no podemos saber cuándo ocurren los eventos • tenemos que asegurar que el proceso en el modelo esencial tarda 0 segundos • cada flujo es de velocidad infinita se deduce que la sincronización de eventos tiene que ser a través de almacenes.) 3. Se chequea contra el DFD de contexto para comprobar la consistencia. Análisis de Sistemas Pág.7
  • 8. INGENIERÍA DEL SOFTWARE I 3º Informática Gestión Análisis de Sistemas Pág.8 4. Se refina el modelo. El criterio es la simplificación y la obtención de varios niveles. • Reagrupación: • cada grupo debe agrupar respuestas relacionadas y datos relacionados estrechamente. • esconder los almacenes de datos en lo posible (dos o tres procesos que usan un almacén se transforman en un proceso único que esconde el almacén dentro). • Dividir si: • el proceso hace varias cosas complejas. Construir un proceso por cada función. • si hay demasiados flujos de entrada o salida 5. Por último, se describe cada proceso no explosionado. Ejemplo Un sistema de ventas de libros con 1. Clientes que piden libros. 2. Todos los días se hace un pedido a editoriales. 3. Todos los días se preparan los pedidos pendientes y se factura. 4. Los libros llegan de las editoriales. 5. Una vez cada15 días se controlan los pagos y se hacen reclamaciones.