Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado...

23
Modelado del software Jhon Jairo Padilla A., PhD.

Transcript of Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado...

Page 1: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Modelado del softwareJhon Jairo Padilla A., PhD.

Page 2: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Herramientas para el modelado de software• Es importante resaltar los aspectos del

sistema real que vamos a tener en cuenta durante su modelado:

• La estructura del sistema: las partes de las que está compuesto el sistema, y cómo se relacionan entre sí.

• La dinámica del sistema: cómo evoluciona el sistema en el tiempo, los cambios que en él acontecen.

• Los recursos del sistema: qué partes del sistema son compartidas por distintos agentes y cómo se gestiona su servicio.

Page 3: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Descripción de los procesos

• Se utiliza un Diagrama de Flujo de Datos (DFD)

• Visión general de las funciones y transformaciones de datos en un sistema

• Modelo lógico y gráfico del sistema• también como modelo físico

• Identifica entradas, salidas, procesos y relaciones con el exterior

• ...a nivel general• ...por refinamiento, a nivel detallado

Page 4: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Notación del DFD

notación de Yourdon/De Marco

P1

Proceso ENTIDAD EXTERNA

flujo de datos D ALMACÉN DE

DATOS

Page 5: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Ejemplo: Sistema de Distribución de libros sin inventario• “Se trata de un sistema que sirve pedidos de libros a

unos clientes, con la particularidad de que no mantiene un stock o inventario interno. El sistema puede agrupar los pedidos que clientes distintos hacen a un mismo editor, de manera que se puedan conseguir descuentos.”

(Adaptado del capítulo 2 de Gane, C. and T. Sarson, Análisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo.)

Page 6: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Ejemplo

Diagrama de contexto

en principio, no son

materiales, son datos

0. Sistema de

Pedidos EDITOR

libros entregados

pedidosCLIENTE

órdenes de compra

libros pedidos

Page 7: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Ejemplo: DFD de nivel 1.1. Sistema de pedidos

1.Verificar validez

de pedido

pedidos

2.Armar

pedidos a editores

pedidos en lote

3.Verificar

envíode editores

libros pedidos

4.Asignar libros a pedidos

5.Armar entrega

a clientes

pedidos por título

libros recibidos

libros por clientes

D CLIENTES

estado del crédito

dirección

D LIBROS

libros entregados

libros entregados = albarán + lista-

novedades

DD

DD

libros recibidos = {título + cantidad}

pedidos válidos

D PEDIDOS PENDIENTES

órdenes de compra

D ÓRDENES DE COMPRA

Page 8: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Diccionario de Datos• Contiene la descripción de todos los datos

(nombres de las flechas) y todos los almacenes

Flujo de datos: entrega

Descripción: Conjunto de libros enviados por un proveedor a la biblioteca, basado en la relación que previamente había recibido.

Sinónimos: *** none ***

Componente de: *** none ***

Composición:

Libros

+ { Albarán }

Información de entrada y salida

Origen Destino

*** Off the diagram *** Compra libros

PROVEEDORES Biblioteca

Page 9: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Ejemplo: Descripción de un almacen de datos en el Diccionario de DatosAlmacen: Facturas

Descripción: Información, por número de factura, sobre facturas en el sistema actual.

Sinónimos: *** none ***

Composición:@Número-factura

+ Fecha-factura

+ Dirección-cliente

+ { Número-producto

+ Cantidad-producto

+ Costo-unidad-producto }

+ Costo-envío

+ Tasa-de-descuento

+ Neto-factura

+ Estado-factura

Procesos asociados: Según DFD general

Proc_cancelación Proc_pago

Proc_consultas Adjuntar_albarán

Page 10: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Descripción de la función de cada procesoProceso: Verificar estado del socio

Número: 1.1.1

Descripción: Se examina si el socio no está sancionado

Miniespecificación:Recibir “Socio ID” del socioLeer “SOCIOS” paraLeer “Flag-de-precaución”

Si OK, enviar “Socio ID válido”

Complejidad: Prioridad:

Ratio de transacciones: Memoria requerida (Kb):

Tiempo de proceso:

Page 11: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Diagramas E-R y DED (Diagrama de Estructura de Datos)

• Describen las bases de datos (almacenes)

• Describen las relaciones entre las tablas

• DED es, básicamente, un E-R limitado:• no relaciones ternarias• sólo cardinalidades 1:N• no atributos multivaluados ni compuestos

Page 12: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Representación de Cardinalidad en el DER• Relación 1 a 1 (1:1).

• Relación muchos a uno (m:1).

• Relación muchos a muchos (m:n).

Page 13: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Diagrama E-R

ProyectoEmpleado

Departamento

asignado

pertenece

(1,n)

(1,1)

(0,n) (1,m)

[EN2002] (Chen)

Asignación

Departamento

Empleado

Proyecto

requiere

tiene

perteneceDED

Ejemplo de E/R .

Page 14: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

¿Para que hacer el E-R?

• El diagrama entidad relación es otro camino para obtener el diseño de los almacenamientos:

• Hacer un almacenamiento para cada una de las entidades.

• Hacer un almacenamiento para cada una de las relaciones.

• Combinar almacenamientos que compartan la misma clave (si existen).

Page 15: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Diagramas de Transición de Estados• Diagrama de Transición de Estados (DTE)• Enfatiza el comportamiento dependiente del

tiempo de un sistema.• El DTE es interesante para sistemas que

interactúan controlando el ambiente externo:• poder modelar qué sucede y cuándo.

• Ejemplos:• Sistemas telefónicos.• Sistemas de control y mando militares.

Page 16: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

DTE- Notación

• Estados• Cambios de estados• Condiciones / acciones

Page 17: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

DTE-Estados del sistema

• Cada estado representa un estado en el que se puede encontrar el sistema.

• El sistema permanece en un estado por un período de tiempo.

• Ejemplo:• Calentando una mezcla de sustancias químicas.• Aguardando en reposo.

Page 18: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

DTE-Ejemplo

• El Diagrama de Transición de Estados para una máquina simple reproductora de cintas podría ser:

Page 19: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Correspondencia entre el DFD y el DTE

Page 20: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Implementación del Código del programa principal• Se desarrolla con base en la MEF (Máquina de

estados finitos)• La MEF se describió en la fase de modelado

con los DTE (Diagramas de Transición de estados)

Page 21: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

DTE para la MEF de un protocolo de enlace

Page 22: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Programa típico de una MEFINICIO

Evento (MSG)

ESTADO: Desc

Caso ESTADO

Caso MSG

Caso MSG

ESTADO= Desc

Accion 1;ESTADO=Transf

MSG=SABM

Accion 3;ESTADO=Desc

Accion 2;ESTADO=Ocupado

ESTADO= Transf

Page 23: Modelado del software - upbbga.edu.cojpadilla.docentes.upbbga.edu.co/Logica_y_Algoritmia/modelado del... · modelado de software •Es importante resaltar los aspectos del sistema

Código en Python para la MEF

● Ver archivo ejemploMEF.py