Está en la página 1de 132

Anlisis y Diseo Estructurado Diagrama de Flujo de Datos

P1
ENTIDAD EXTERNA Proceso

Docente : Yessica Gmez Gutirrez

flujo de datos

D ALMACN DE DATOS

Anlisis y Diseo Estructurado


Introduccin - Visin panormica del Anlisis y Diseo Estructurado. Anlisis : Diagramas de Flujo de Datos. Diseo: Diagrama de Estructuras
P1
ENTIDAD EXTERNA Proceso flujo de datos
D ALMACN DE DATOS

1.- Introduccin: Visin panormica del AyDE


Anlisis Estructurado
Mtodo clave en el desarrollo estructurado o convencional Aparece a finales de los 70 Facilita la comunicacin en el proceso de desarrollo de un sistema de informacin
anlisis y diseo usuarios y analistas

Sencillo, fcil de entender y fcil de aprender

1.- Introduccin: Visin panormica del AyDE. Caractersticas Amplia difusin Descomposicin funcional
(Originariamente) Orientada a procesos (Originariamente) Top/down

Presente en numerosas metodologas


p.ej. Mtrica, SSADM, information engineering, Merise

Herramientas CASE disponibles

Bibliografa
Texto principal
Mario Piattini,Jose Calvo-Manzano,Joaqun Cervera,Luis Fernandez, Anlisis y diseo detallado de Aplicaciones Informticas de gestin. Edit. Ra-ma Yourdon, E., Anlisis estructurado moderno. 1993: Prentice-Hall Hispanoamericana

Bibliografa (II)
Entre la bibliografa bsica...
MAP, MTRICA versin 2.1. Gua de Tcnicas. 1995, Madrid: Ministerio de Administraciones Pblicas. Secretara de Estado para la Administracin Pblica. Consejo Superior de Informtica.

Referencias clsicas...
DeMarco, T., Structured analysis and system specification. 1979, Englewood Cliffs, New Jersey: Yourdon Press. Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo (traduccin de Gane, C. and T. Sarson, Structured systems analysis, tools and techniques. Software series. 1979, New Jersey: Prentice-Hall.)

1.- Introduccin: Visin panormica del AyDE. Componentes

DFD (Diagrama de Flujo de Dato Dataflow diagram) Diagrama E-R (Entidad-Relacin), o alternativamente, DED (Diagrama de Estructura de Datos)
Diagramas HVE (Historia de Vida de las Entidades) Diagramas de Transicin de Estados (STD, State Transition Diagram)

1.- Introduccin: Visin panormica del AE. componentes

Lgica de procesos
Lenguaje estructurado Pre y post-condiciones Tablas de decisin rboles de decisin

Diccionario de Datos (DD)

1.- Introduccin: Visin panormica del AE. DFD

P1
ENTIDAD EXTERNA Proceso

flujo de datos

D ALMACN DE DATOS

Visin general de las funciones y transformaciones de datos en una organizacin Modelo lgico y grfico del sistema
tambin como modelo fsico

Identifica entradas, salidas, procesos y relaciones con el exterior


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

1.- Introduccin: Visin panormica del AE. DFD


Tipos de smbolos en los DFDs
(notacin de Yourdon/De Marco)
P1
ENTIDAD EXTERNA Proceso

flujo de datos

D ALMACN DE DATOS

1.- Introduccin: Visin panormica del AE. DFD: Ejemplo Prctico

Ejemplo
Sistema de distribucin 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 captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo.

1.- Introduccin: Visin panormica del AE. DFD: Ejemplo Prctico

Anlisis de los procesos del sistema


Aplicamos la visin sistmica

Diagrama de contexto
CLIENTE pedidos rdenes de compra libros entregados 0. Sistema de Pedidos

en principio, no son materiales, son datos

EDITOR

libros pedidos

1.- Introduccin: Visin panormica del AE. DFD: Ejemplo Prctico 0. Sistema de pedidos
pedidos

D LIBROS
rdenes de compra pedidos vlidos

estado del crdito


D CLIENTES

1. Verificar validez de pedido

D PEDIDOS PENDIENTES

2. Armar pedidos a editores

D RDENES DE COMPRA

pedidos por ttulo 4. Asignar libros a pedidos

pedidos en lote

direccin 5. Armar entrega a clientes libros por clientes libros recibidos


libros recibidos = {ttulo + cantidad}

libros entregados
libros entregados = albarn + lista-novedades

3. Verificar envo de editores

libros pedidos

DD

DD

1.- Introduccin: Visin panormica del AE. Diccionario de Datos Es un conjunto de metadatos, es decir, de informacin (datos) sobre datos Contiene las definiciones de todos los elementos de los diagramas Implementacin
Manual Procesador de textos Base de datos Automtico e integrado

1.- Introduccin: Visin panormica del AyDE. Diccionario de Datos


Flujo de datos: entrega Descripcin: Conjunto de libros enviados por un proveedor a la biblioteca, basado en la relacin que previamente haba recibido. Sinnimos: *** none *** Componente de: *** none *** Composicin: Libros + { Albarn } Informacin de entrada y salida Origen Destino *** Off the diagram *** Compra libros PROVEEDORES Biblioteca

Visin panormica AyDE Diccionario de Datos (III)


Almacen: Facturas Descripcin: Informacin, por nmero de factura, sobre facturas en el sistema actual. Sinnimos: *** none *** Composicin:
@Nmero-factura + Fecha-factura + Direccin-cliente + { Nmero-producto + Cantidad-producto + Costo-unidad-producto } + Costo-envo + Tasa-de-descuento + Neto-factura + Estado-factura

Procesos asociados: Segn DFD general


Proc_cancelacin Proc_consultas Proc_pago Adjuntar_albarn

1.- Introduccin: Visin panormica del AyDE. Pseudocdigo.


Proceso: Verificar estado del socio Nmero: 1.1.1 Descripcin: Se examina si el socio no est sancionado Miniespecificacin: Recibir Socio ID del socio Leer SOCIOS para Leer Flag-de-precaucin Si OK, enviar Socio ID vlido Complejidad: Ratio de transacciones: Prioridad: Memoria requerida (Kb): Tiempo de proceso:

1.- Introduccin: Visin panormica del AyDE. Modelado de Datos

Diagramas E-R y DED (Diagrama de Estructura de Datos) DED es, bsicamente, un E-R limitado:
no relaciones ternarias slo cardinalidades 1:N no atributos multivaluados ni compuestos

1.- Introduccin: Visin panormica del AE. Ejemplo de E/R .


Departamento (1,n) pertenece

Diagrama E-R
[EN2002] (Chen)

(1,1) Empleado (0,n)

asignado (1,m)

Proyecto

Departamento

Proyecto

DED

pertenece

requiere

Empleado

tiene

Asignacin

1.- Introduccin: Visin panormica del AyDE. Lgica de Proceso.

Tcnicas para describir la lgica de los procesos primitivos


Lenguaje estructurado Pre y post-condiciones Tablas de decisin rboles de decisin

1.- Introduccin: Visin panormica del AyDE. Lgica de Proceso.

Lenguaje estructurado
SI la factura excede de 300
SI la cuenta del cliente tiene alguna factura sin pagar ms de 60 das, dejar la confirmacin pendiente de este pago. SI NO (la cuenta est en buen estado) hacer confirmacin y factura

SI NO (la factura es de 300 o menos)


SI la cuenta del cliente tiene alguna factura sin pagar ms de 60 das hacer la confirmacin, la factura y escribir un mensaje sobre informe de crdito SI NO (la cuenta est en buen estado) hacer confirmacin y factura

FIN-SI.

1.- Introduccin: Visin panormica del AE. Lgica de Proceso.

Pre y post-condiciones
Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das) Pos1 (confirmacin pendiente de este pago) Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das) Pos2 (confirmacin y factura realizadas) Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das) Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre informe de crdito)

Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das) Pos4 (confirmacin y factura realizadas)

1.- Introduccin: Visin panormica del AyDE. Lgica de Proceso.

Tablas de decisin
ESTADO DE LA CUENTA NETO-FACTURA CONFIRMACIN PENDIENTE HACER CONFIRMACIN HACER FACTURA ESCRIBIR MENSAJE CORRECTO >300 IMPAGADO >300 CORRECTO <=300 IMPAGADO <=300

x x x x x x x x

1.- Introduccin: Visin panormica del AyDE. Lgica de Proceso.

rboles de decisin
Cuentas impagadas ms de 60 das Factura excede de 300
Poltica contable

1. Dejar confirmacin pendiente de los pagos debidos.

Cuentas en buen estado

2. Hacer confirmacin y factura

Factura menos de 300

Cuentas impagadas ms de 60 das Cuentas en buen estado

3. Hacer confirmacin y factura y escribir mensaje sobre informe de crdito 4. Hacer confirmacin y factura

Y despus del AE?


DISEO ESTRUCTURADO (DE)
El diseo lgico de los requisitos del nuevo sistema de informacin se convierte en un modelo de la aplicacin, plasmado en un DIAGRAMA DE ESTRUCTURA. En el paso AE DE,
Anlisis de transacciones Anlisis de transformaciones

Diseo Estructurado: DIAGRAMA DE ESTRUCTURA. Ejemplo de diagrama de


estructuras

Evaluar peticiones

pet aceptada pet aceptada informe prstamo

informe prstamo

Recibir peticiones

Elaborar informe

Informar peticin

pet prstamo

pet rechazada

pet prstamo

ok

Leer peticiones

Consultar stock

Rechazar peticin

Visin panormica AE Esquema resumen


Diagrama de flujo de datos
PROC V Y FUENTE A PROC W PROC D ALMACN DE DATOS B X Z PROC PROC DESTINO

Paso al diseo
Diagrama de estructuras

Descrip. E. E.

Descripcin del proceso

Definicin del FD

Diagrama E-R (o DED)

Diccionario de Datos
Definiciones de la BD Definiciones de los mdulos

2.- Diagramas de Flujo de Datos (DFDs)

Smbolos del DFD


(notacin Yourdon/De Marco)
P Proceso

2.- Diagramas de Flujo de Datos

Transformaciones o procesos (funciones, clculo, seleccin) Terminadores (Fuentes o Destinos) (personas, entidades) Flujos de informacin (inputs-outputs) Flujos de control (Ward & Mellor 85) Ficheros o depsitos temporales de informacin (base de datos, armario, clasificador, etc.)

Entidad Externa

Flujo de datos

Flujo de eventos

D ALMACN DE DATOS

Smbolos del DFD


(notacin Mtrica/SSADM)

2.- Diagramas de Flujo de Datos

ID

Localizacin

Proceso

Transformaciones o procesos Terminadores (Fuentes o Destinos) Flujos de informacin Ficheros o depsitos temporales de informacin

Entidad Externa

Flujo de datos

ALMACN DE DATOS

Procesos

2.- Diagramas de Flujo de Datos

TRANSFORMACIN (clculo, operacin) FILTRO (verificacin fecha, validacin transaccin) DISTRIBUCIN (men, seleccin transaccin)
E1 P E2 E3 S1 S2

Transformacin

Procesos (II)

2.- Diagramas de Flujo de Datos

Nombres nicos, significativos y concisos Preferiblemente expresados en funcin de las entradas y salidas Recomendacin: verbo (no ambiguo) + objeto
Evitar verbos ambiguos

procesar, gestionar, manejar...

objeto est definido en el DD

Los procesos se descomponen en subprocesos, hasta llegar a los procesos primitivos

Diagrama de contexto

2.- Diagramas de Flujo de Datos

Es el DFD ms general de todos Est formado por un solo macroproceso (el sistema), las entidades externas (fuentes y destinos) y sus relaciones con el macroproceso Delimita el sistema y su entorno

Entidades externas

2.- Diagramas de Flujo de Datos

Sealan los lmites del sistema y establecen sus relaciones con el entorno
FUENTE DESTINO

FUENTE

Sistema

DESTINO

FUENTE

DESTINO

Los identificadores (nombres) de las entidades externas sern nicos, significativos y concisos

Flujos de datos

2.- Diagramas de Flujo de Datos

Los nombres de los FD deben ser nicos, significativos y concisos Son datos, as que nmbralos como datos. Pueden estar indistintamente en singular o en plural, ya que en los DFDs no se representan cantidades (Barranco 95) Los nombres no sirven slo para identificar los datos, sino tambin la informacin que se tiene sobre ellos
P.ej. Informacin (fecha-vlida) > Informacin (fecha)

Flujos de datos (II)

2.- Diagramas de Flujo de Datos

Flujos de datos interactivos (dialog flows)


Cuando dos FD establecen un dilogo o comparten una accin de estmulo-respuesta, pueden dibujarse como un nico FD de doble flecha, donde ambos extremos deben llevar el nombre del FD que representan.
P Determinar estado pedido peticin estado pedido respuesta estado pedido

pago autorizacin crdito P solicitud crdito Aceptar pago recibo

P Analizar Peticin crdito

denegacin crdito

Flujos de datos (III)

2.- Diagramas de Flujo de Datos

Las flechas dobles con sentidos opuestos que transportan los mismos datos pueden sustituirse por flechas doblemente encabezadas
Pero slo si transportan los mismos datos!
P A X P B P A P B

Flujos de datos (IV)

2.- Diagramas de Flujo de Datos

Se puede representar, si se desea, el FLUJO DE MATERIAL, usando flechas de trazo grueso


P1 Selecc. y pedir nuevos libros nuevas ofertas EDITORIALES INTERVENTOR

Notacin Gane & Sarson

pedidos de libros nuevos libros nuevos P2 Examinar nuevos libros P3 ajuste de inventario D3 INVENTARIO

Registrar libros ajuste de signaturas nuevos


libros nuevos nuevos libros

D4

SIGNATURAS

D1 LISTA MAESTRA DE ISBN

libros nuevos

D9

CARRITO LIBROS NUEVOS

libros nuevos

P4 Enviar al dpto. comprador

P5 Poner libros nuevos en estantes libros nuevos D2 ESTANTES

libros nuevos

Flujos de datos (V)

2.- Diagramas de Flujo de Datos

Se pueden considerar flechas convergentes o divergentes, con un mismo nombre


P A
nmero de cuenta cod postal direccin cli telef calle P B P Validar calle

P Validar cod postal

P Validar Telef.

Observaciones: Slo los procesos pueden separar FD (Piattini et al. 96) No poner FD como seales de activacin (Yourdon 89)

Flujos de datos (VI)

2.- Diagramas de Flujo de Datos

Notacin System Architect. Ejemplos


FD divergentes (conectores XOR y AND)
P Imprimir lista empaquetado datos de P empaquetado Determinar datos de envo prods.para datos de facturacin enviar XOR cuando los datos son divididos en subconjuntos P Imprimir factura cliente P Determinar prescripcin prescripcin P Rellenar prescripcin

AND cuando todos los datos siguen por ambos caminos

P Actualizar registro paciente

Flujos de datos (VII)

2.- Diagramas de Flujo de Datos

Notacin System Architect. Ejemplos


FD convergentes (conectores XOR y AND)
P Aceptar pago en metlico P Transferir pago P Confirmar empleo datos de pago P Aceptar pago a crdito XOR cuando los mismos datos provienen de cualquier direccin historial de empleo historia combinada P Conceder tarjeta de crdito

historial de crdito

P Confirmar historial de crdito

AND cuando los subconjuntos son combinados en uno

Flujos de datos (VIII)


pedido P Evaluar pedido

2.- Diagramas de Flujo de Datos

El proceso pide el FD pedido?


El proceso necesita ambos FD?

criterios valoracin

No lo sabemos, no importa:
Los aspectos procedurales no se manifiestan en los DFDs Si tales aspectos son relevantes, se deben incluir en las miniespecificaciones

Flujos de control

2.- Diagramas de Flujo de Datos

En los DFDs no se muestra el control ni el orden de ejecucin No se puede mostrar:


Procesos que se realizan antes que otros Sincronizacin Periodificacin

Extensiones al AE para sistemas en tiempo real:


(Ward & Mellor 85) (Hatley & Pirbhai 87)

Almacenes de datos

2.- Diagramas de Flujo de Datos

Nombre nico, significativo y conciso Convenciones de nombres en los FD a/desde un almacn:


No lleva etiqueta
El FD se refiere a un paquete (instancia) completo de la informacin contenida en el almacn El FD se refiere a uno o ms paquetes completos (instancias) de la informacin contenida en el almacn El FD se refiere a uno o ms componentes (atributos) de una o ms instancias del almacn

La etiqueta es la misma que la del almacn La etiqueta es distinta de la del almacn

Consistencia DFD / E-R

2.- Diagramas de Flujo de Datos


(MAP 95)

Para facilitar validaciones cruzadas entre DFDs y E-R (o DED)... Correspondencia entre los almacenes de datos principales (permanentes) del DFD y las entidades del E-R Cada almacn de un DFD representa una o varias entidades del E-R Cada entidad del E-R pertenece a un nico almacn principal de un DFD

Consistencia DFD / E-R (II)

2.- Diagramas de Flujo de Datos

ETIQUETA DE LOS ALMACENES


Segn explosione a
Entidad de datos Plural nombre entidad Diagrama E-R (o DED) Nombre diagrama

DEFINICIN DE LOS ALMACENES


1. Pocos almacenes Para cada uno, diagrama E-R (o DED) 2. Tantos almacenes como entidades se hayan identificado Preferible (si no hay muchas entidades)

Descomposicin funcional

2.- Diagramas de Flujo de Datos

Cada proceso se puede explotar, refinar o descomponer en un DFD ms detallado El DFD de un sistema es realmente un conjunto de DFDs dispuestos jerrquicamente Los niveles de la jerarqua estn determinados por la descomposicin funcional de los procesos La raz de la jerarqua es el diagrama de contexto, que es el ms general de todos

Descomposicin funcional
A FUENTE P f2 V Y A P f1 W P f3 X P f4 Z P Sist B DESTINO P f5

2.- Diagramas de Flujo de Datos


(II)

x1 X P f41

P f43

x2

P f45

y2 y1 P f44

P f42

Consistencia en el DFD

2.- Diagramas de Flujo de Datos

Cada proceso en un diagrama padre es una consolidacin del DFD hijo Balanceo de DFDs
Las E/S de un proceso padre deben corresponderse con las E/S del DFD hijo que lo explica

Descomposicin paralela

2.- Diagramas de Flujo de Datos

Descomposiciones de funciones
Proceso en subprocesos (DFD)

Descomposicin de flujos de datos La regla de balanceo se aplica teniendo en cuenta la descomposicin paralela

Descomposicin paralela (II) Ejemplo:


P1 envo P6 P5

2.- Diagramas de Flujo de Datos

pedido = autorizacin + cupn de pedido + pago


P2

pedido P4 P3

autorizacin

envo P6.2

cupn de pedido

P6.1

P6.3 pago

Jerarqua de DFDs

2.- Diagramas de Flujo de Datos

En un DFD completo cada proceso tiene un nmero nico que lo identifica en funcin de su situacin en la jerarqua Cada DFD tiene tambin un nmero nico que coincide con el proceso que describe Las hojas o nodos terminales corresponden a procesos primitivos o indescomponibles Para cada proceso primitivo existir una miniespecificacin.
Localizacin Proceso

Proceso primitivo en Mtrica

Jerarqua de DFDs (II)


P 1.2 Proceso A A B

2.- Diagramas de Flujo de Datos

DFD 1.2
P 1.2.2 f2 X

V P 1.2.1 f1 A W Y P 1.2.3 f3

Jerarqua de DFDs DFD 0

2.- Diagramas de Flujo de Datos

El primer diagrama general que sigue al de contexto es el nmero 0 por convenio En el DFD 0 se hace una descomposicin en subsistemas, es decir, se indican los procesos ms importantes en el sistema
Han de ser SUBSISTEMAS

2.- Diagramas de Flujo de Datos Descomposicin funcional y almacenes de datos

Los almacenes aparecen lo ms tarde posible En un nivel superior nicamente cuando son interfaz entre procesos Una vez que aparezca en un DFD, el almacn aparecer otra vez en cada DFD de nivel ms bajo relacionado

2.- Diagramas de Flujo de Descomposicin Datos funcional y almacenes de datos (II)

P A

FICH

P B

P A.1

P B.1

D
P A.2

FICH

FICH

P B.2

Tamao de la jerarqua de DFDs

2.- Diagramas de Flujo de Datos

Cada DFD debera tener alrededor de 7 procesos o menos (Miller 57) En general, habr varios niveles intermedios, dependiendo del tamao y complejidad del sistema que se est modelando Cuntos niveles son convenientes?
Yourdon: depende del problema
Mtrica
Diagrama Diagrama Diagrama Diagrama de de de de contexto / sistema subsistemas funciones subfunciones

Diagrama de procesos (opcional)

Reglas sintcticas en DFDs

2.- Diagramas de Flujo de Datos

El origen y/o el destino de un FD es siempre un proceso


Excepcin: almacenes en el diagrama de contexto (Yourdon 89)
datos del mercado CLIENTES CORPORATIVOS informes anuales
D DATOS DEL MERCADO

CLIENTE

CENTROS DE INVESTIGACIN

datos de investigacin

P SIST. DE INVESTIG. DE MERCADOS

datos del mercado

Reglas sintcticas en DFDs

2.- Diagramas de Flujo de Datos


(II)

Todo almacn y todo proceso tienen uno o ms FD de E y uno o ms FD de S


EXCEPCIN: un almacn puede no tener FD de salida, por simplificacin (p.ej. BD Histrica) RECOMENDACIN: si aparece un proceso fuente o sumidero, replantearse los lmites del sistema
P Fuente P Sumidero

Ideas tiles para construir el DFD

2.- Diagramas de Flujo de Datos

Identificar todos los elementos exgenos Identificar sus relaciones con el sistema Trabajar segn alguna de las siguientes filosofas:
De inputs a outputs De outputs a inputs Desde una posicin intermedia hacia delante o hacia atrs

2.- Diagramas de Flujo de Datos Ideas tiles para construir el DFD (II)

Nombrar adecuadamente todos los objetos del DFD Numerar adecuadamente procesos y diagramas Realizar una correcta divisin en subsistemas (DFD 0) Utilizar la descomposicin funcional jerrquica hasta alcanzar las funciones primitivas

DFDs - Conclusiones

2.- Diagramas de Flujo de Datos

Valiosa herramienta de comunicacin


Usuario, analista, diseador, programador Se puede combinar con el uso de prototipos

Fcil de entender y de aprender Facilita las relaciones con el usuario Amplia difusin

DFDs Conclusiones (II)

2.- Diagramas de Flujo de Datos

Superado por las metodologas OO, pero todava vigente:


se ensea en 12 de 15 ppales. universidades espaolas,casi todas en Chile industria, administracin (Mtrica 2.1 y 3), cuerpo de conocimiento de ingeniera del software (SWEBOK, SEEK, etc.)

El control no aparece hasta el final de la especificacin estructurada No es inmediato el paso a la codificacin y prueba Diseo estructurado

DFDs Conclusiones (III)

2.- Diagramas de Flujo de Datos

til para el anlisis y para el diseo del nuevo sistema Ms adecuado para el nivel lgico, aunque tambin puede ser adecuado para el nivel fsico (indicando personas concretas, lugares geogrficos, formatos de datos, etc.)

Diseo Estructurado Introduccin

2.- Diseo: Diagrama de Estructuras

Concepto y Principios del Diseo Inicios del Diseo Efectividad del Diseo

Mdulo(laridad) Abstraccin Refinamiento Acoplamiento Cohesin

Factores de calidad

Tipos de Acoplamiento Tipos de Cohesin Consideraciones para un Diseo de Calidad Resultados del Diseo

2.- Diseo: Diagrama de Estructuras

Diseo Arquitectnico ( Diseo Preliminar)

Elementos Diagrama de Estructura Particin Estructural de un Diagrama de Estructura Estrategias de Diseo Construccin del Diagrama de Estructura

Concepto y Principios del Diseo


El diseo es un proceso a travs del cual los

requerimientos establecidos en la fase de anlisis


deben traducirse en una representacin -que se sugiere modular- del producto de software que se

precisa construir y que se acompaa de los


procedimientos en virtud de los cuales cada mdulo debe llevar a cabo su tarea, y de las estructuras de datos que debe procesar
Larry Constantine 78

Concepto y Principios del Diseo


El diseo estructurado es un mtodo de configuracin de la organizacin modular del software que se desarrolla a partir de los flujos de datos que contiene la especificacin de requerimientos obtenida en la fase de anlisis bajo enfoque estructurado. En este sentido, puede decirse

que este enfoque consiste en el diseo de programas


como estructuras de funciones nicas y de relativa independencia.

Efectividad del Diseo


Para que poder se evaluar en la efectividad de de una representacin de diseo, es preciso establecer lo denomina Ingeniera software, "criterios para un buen diseo", entre los cuales es posible destacar los siguientes:

El diseo debe exhibir una organizacin jerrquica con mecanismos de control que no atenten contra la independencia relativa de cada componente de la jerarqua.

Efectividad del Diseo


- El diseo debe ser modular, esto es, el software debe estar particionado lgicamente en elementos que ejecuten funciones y subfunciones especficas. - El diseo debe generar mdulos que exhiban niveles adecuados de independencia funcional. - El diseo debe obtenerse a partir de la especificacin de requerimientos generada durante la fase de anlisis. - Mdulo(laridad) - Abstraccin - Refinamiento

Efectividad del Diseo


- Mdulo(laridad) Mdulo es una unidad claramente definida y manejable que forman parte de los elementos constituyentes del software La modularidad consiste bsicamente en el particionamiento del software en elementos con nombres y direcciones separadas que se denominan mdulos, los cuales en su composicin generan la

totalidad que debe ser capaz de resolver el problema global que da


origen a la necesidad de construir un producto de software.
Tiene que ver con la separabilidad de las funciones que en conjunto cumplen un objetivo mayor, esto es, responden a la idea de totalidades emergentes

propia de la nocin de sistemas.

Efectividad del Diseo


- Beneficios de la Modularidad
- Programas ms simples, ya que puede ser comprendido,

verificado, programado, depurado, mejorado y alterado por partes. Mdulos que pueden ser desarrollados con relativa

independencia. - Disminucin complejidad. - Programas que pueden evaluarse por partes, por lo cual todo test se hace ms fcil. - Programas ms fciles de alterar ya que son menores las lneas de cdigo a considerar para incorporar los cambios. - Mdulos de funcin nica que pueden ser reutilizados. de la posibilidad de errores al reducir la

Efectividad del Diseo


- Beneficios de la Modularidad
- La posibilidad de cometer errores por parte de los programadores disminuye porque son menos las lneas de cdigo que deben enfrentarse al mismo tiempo. - La rotacin de personal se hace menos crtica, ya que los programadores estn involucrados en unidades de cdigo ms pequeas por lo cual la sustitucin resulta menos dificultosa. - Responder al requerimiento de la divisin del cdigo en segmentos de una pgina, como lo sugiere la programacin estructurada, es casi total.

Efectividad del Diseo


- Mdulo

El Fan-out es una medida del nmero de mdulos controlados


directamente por otro mdulo (nmero de subordinados inmediatos que posee). El Fan-in indica cuntos mdulos controlan directamente un determinado mdulo (nmero de superiores inmediatos que posee)

Un

mdulo

que

controla

otro

se

dice

que

es

"superordinado" a ste y, recprocamente, un mdulo controlado por otro se dice que es "subordinado".

Efectividad del Diseo


- Mdulo

Mdulo Superordinado

Mdulo Subordinado

Fan-out : 2 Fan-in : 1

Efectividad del Diseo


- Mdulos & Integracin
Costos o Esfuerzo Costo Total SW Costo por Integracin

Costo por Mdulo

N Mdulos

Costos Mnimos

Efectividad del Diseo


- Abstraccin Cuando se considera una solucin modular para enfrentar un problema, se puede plantear en distintos niveles de abstraccin.

Un nivel superior de Abstraccin supone una solucin en


trminos amplios, usando un lenguaje del entorno del problema. A un niveles ms bajos, se toma una orientacin ms procedimental, se combina una bajo de abstraccin permite terminologia orientada al que la solucin pueda

problema con una orientada a la implementacin. El nivel ms


implementarse directamente

Efectividad del Diseo


- Refinamiento
El refinamiento gradual es una estrategia de diseo top_down cuyo origen es la propuesta de Niklaus Wirth (WIRTH-71) quien postula que "La arquitectura de un programa se desarrolla refinando sucesivamente los

niveles de detalle de los procedimientos. De este modo se desarrolla una


jerarqua de procedimientos al descomponer sucesivamente una sentencia global hasta alcanzar sentencias especficas a nivel de un lenguaje de programacin".

R. Pressman (PRESSMAN-88) al respecto cita a Wirth sealando que: "En


cada etapa (del refinamiento), se descomponen una o varias de las instrucciones del programa dado en instrucciones cada vez ms detalladas. Esta descomposicin o refinamiento sucesivo termina cuando todas las

intrucciones estn expresadas en trminos de cualquier lenguaje bsico de


computador o de programacin.

Efectividad del Diseo


- Refinamiento En el dominio de la Ingeniera de Software, la modularizacin se apoya en lo que se conoce como refinamiento sucesivo o gradual, para la configuracin de la estructura del software que se precisa disear y luego construr. Abstraccin Refinamiento Gradual Mdulo A Modularidad Factorizacin

A1

A2

Factores de Calidad
- Acoplamiento
Corresponde al grado de independencia entre dos mdulos. Entendido as, minimizar el acoplamiento aparece entonces como una

determinante prioritaria al configurar las conformaciones estructurales.


La obtencin de mdulos tan independientes como sea posible,se puede ser lograda principalmente de tres maneras:

- Eliminando relaciones innecesarias.


- Reduciendo el nmero de relaciones necesarias. - Debilitando la dependencia de las relaciones necesarias.

Factores de Calidad
-

Cohesin

Corresponde a la medida de relacin funcional de los elementos de un mdulo, Los elementos de un mdulo corresponden a instrucciones,

definiciones de datos, o llamadas o otros mdulos. La idea es


organizar estos elementos de tal manera que tengan una mayor relacin entre ellos a la hora de realizar la tarea especfica del mdulo

Factores de Calidad
Acoplamiento

Cohesin

Principios de un Buen Diseo

Tipos de Acoplamiento
1. Acoplamiento Normal

2. Acoplamiento por Datos


3. Acoplamiento por Estampado o Imagen 4. Acoplamiento de Control 5. Acoplamiento Comn 6. Acoplamiento por Contenido

Tipos de Acoplamiento
Mejor Acoplamiento NORMAL DATOS ESTAMPADO

CONTROL
EXTERNO (caso especial de COMN) COMN CONTENIDO Grado de Acoplamiento

Tipos de Acoplamiento
1.Acoplamiento Normal Dos Mdulo A y B estn Normalmente Acoplados si: Un Mdulo A llama a otro B B retorna el control a A

No se produce traspaso de parmetros entre ellos, slo existe la llamada de uno a otro.
A

Tipos de Acoplamiento
2. Acoplamiento por Datos Dos mdulos estn acoplados por datos si ellos se comunican por Obtener Datos Cliente
Rut_cliente

parmetros, siendo cada parmetro


una unidad elemental de datos El acoplamiento por datos

Leer Rut

corresponde a la comunicacin de datos necesaria entre mdulos. Toda vez que los mdulos tienen que comunicarse entre s, la ligazn por datos es inevitable y sern adecuadas si se mantienen a niveles mnimos.

Tipos de Acoplamiento
3. Acoplamiento por Estampado o Imagen Dos mdulos por aparecen o
Cliente

Calcular Deuda Cliente

acoplados

estampado

ligados por imagen si ellos se

refieren a la misma estructura


datos local. Cabe destacar que por estructura de datos se debe entender un grupo compuesto Leer Cliente

de datos, tal como un registro,


el cual, por su parte, se
Cliente= rut+nombres+apellido_paterno+ Apellido_materno+direccin+fono+e_mail

constituye de varios campos.

Tipos de Acoplamiento
4. Acoplamiento de Control Obtener Datos Cliente
Tipo_dato Cliente

Dos mdulos estn acoplados


por control cuando uno de ellos pasa al otro mdulo elementos de control (flags, switchs) como argumentos. Provoca dependencia de

Leer Cliente

ejecucin entre un mdulo y

otro.
No es muy recomendable.

Tipos de Acoplamiento
5. Acoplamiento Comn Los mdulos presentan Actualizar Stock Video Obtener Nombre Video

acoplamiento comn, si ellos


se refieren a la misma rea estructura de datos (global). Cuando slo se acomplan por
video

una variable (global), se trata


de un Acoplamiento Externo
Programas con muchos datos globales son extremadamente difciles de entender por los programadores de mantencin, porque no es fcil saber cules son los datos usados por un cierto mdulo.

Leer Registro Video

Tipos de Acoplamiento
6. Acoplamiento por Contenido Este es un tipo de Acoplamiento Inaceptable. acoplamiento Dos mdulos presentan de contenido (o A .. Srch: Move.. .. . . B .. .. Jump to Srch .

patolgico) si uno hace referencia al interior del otro. Esto ocurre si por ejemplo, en un mdulo se desva la secuencia de instrucciones al interior de otro o si un mdulo altera un comando de otro.

Tal acoplamiento torna el concepto de mdulos configurados bajo el criterio de la caja negra sin sentido, ya que fuerza a un mdulo a conocer explcitamente los contenidos y la implementacin de otro.

Tipos de Acoplamiento
Dos mdulos pueden estar relacionados por ms de un tipo de
acoplamiento. Si esto ocurre, el acoplamiento que caracteriza la relacin entre ellos queda definido por el peor tipo que presenten. Por ejemplo, si dos mdulos estn ligados por acoplamiento de imagen y acoplamiento

comn a la vez, se dir que los mdulos estn ligados por acoplamiento
comn.

Enfoques: Cmo Analizar el Tipo de Acoplamiento?


Imaginar el Mdulo como una Biblioteca Cada Mdulo es codificado por un programador diferente

Tipos de Cohesin
Mayor Cohesin FUNCIONAL SECUENCIAL COMUNICACIONAL PROCEDURAL TEMPORAL LGICA COINCIDENTAL Grado de Cohesin Mdulo Transparente Mdulo como Caja Negra

STEVEN, MYERS, CONSTANTINE y YOURDON (1974) establecieron "una escala de cohesin"

Tipos de Cohesin
1. Cohesin Funcional
Ejemplos Se puede decir que un mdulo funcional contiene con es cohesin aquel que que Calcular el coseno de un ngulo

Calcular el I.V.A. De una factura


Verificar el dgito de un RUT

elementos

contribuyen a la ejecucin de una y slo una tarea

relacionada

al

problema

objeto de diseo,.

Tipos de Cohesin
2. Cohesin Secuencial
Ejemplo: Calcular Salario Un mdulo secuencialmente es aquel cuyos 1. Obtener sueldo base 2. Verificar nmero de cargas 3. Revisar das con permiso 4. Revisar das con licencia 5. Calcular horas de trabajo 6. Descontar horas de atraso 7. Agregar horas extras .... cohesionado

elementos estn envueltos en actividades tales que los datos de salida de una actividad sirven como datos de entrada para la

prxima actividad.

Tipos de Cohesin
3. Cohesin Comunicacional Ejemplo: Un mdulo presenta cohesin comunicacional elementos cuando sus a contribuyen Video 1. Obtener nombre video 2. Obtener stock video 3. Obtener ubicacin 4. Obtener precio .... Obtener datos

actividades que usan la misma


entrada o la misma salida. No importa el orden secuencial

Tipos de Cohesin
4. Cohesin Procedimental un mdulo cohesionado por Ejemplos: una oficina 1. Hablar por telfono 2. Tomar un caf 3. Leer correo electrnico 4. Solicitar cotizacin Actividades en

procedimientos es aquel cuyos


elementos estn envueltos en actividades diferentes y posiblemente no relacionadas,

en donde el control fluye de


una actividad a otra.

....

Tipos de Cohesin
5. Cohesin Temporal Ejemplo: Un mdulo es con cohesin cuyos 1. Apagar despertador 2. Tomar una ducha 3. Vestirse 4. Hacer la cama momento en que se realizan. estn temporal actividades aquel que Actividades al iniciar el da

elementos estn envueltos en relacionadas en funcin del

5. Tomar desayuno
....

Tipos de Cohesin
6. Cohesin Lgica Un mdulo tiene cohesin Ejemplo: Registrar Pago 1. Registrar pago con tarjeta de crdito 2. Registrar pago con cheque 3. Registrar pago con efectivo ....

lgica,

cuando existe alguna contribuyendo al

relacin entre los elementos


del mdulo, desarrollo de actividades de una misma categora general,

donde

la

actividad

las

actividades a ser ejecutadas se seleccionan desde fuera del mdulo.

Tipos de Cohesin
7. Cohesin Coincidental Un mdulo coincidentemente cohesionado es aquel cuyos elementos actividades sin desarrollan relacin Ejemplo: 1. Comprar un libro

2. Comer un trozo de torta


3. Ir al teatro 4. Lavar la ropa 5. Dormir

significativa entre s.

....

rbol de Cohesin

Consideraciones Importantes para un Diseo de Calidad


La factorizacin consiste en separar la funcionalidad de un mdulo, en subfunciones claramente identificables, en trminos tales que sea posible considerarla como constitutiva de un mdulo independiente.

1. La necesidad de reducir el tamao de un mdulo. 2. Obtener las ventajas de la modularizacin mediante un diseo "top_down". => Sistema ms comprensible el sistema y facilitamiento de cambios 3. Evitar que una misma funcin aparezca en diferentes partes del sistema, es decir, en ms de un mdulo. 4. Proveer mdulos de uso general. 5. Simplificar la implementacin.

Reducir el Tamao de un Mdulo


1. De Marco seala, un tamao razonable para un mdulo corresponde a un conjunto de lneas de cdigo de alrededor de media pgina de listado (30 lneas ms o menos), 2. Page-Jones, seala que toda la codificacin de un mdulo debera, idealmente, ser visible en una pgina de listado (una exigencia que impone un lmite no superior a 60 lneas) 3. Geral Weinberg (WEI-72) muestran que la habilidad del hombre para entender un mdulo y encontrar errores depende de la capacidad de aprehender el mdulo como un todo de una sola vez.

Resultados del Diseo


El proceso de diseo debe lograr la determinacin de las directrizes

en virtud de las cuales el producto de software ha de construirse,


tomando como base la especificacin de requerimientos generada en la fase de anlisis. As, entonces, el diseo, en cuanto proceso, debe dar como resultado:

el Diseo de la Arquitectura del producto de software a construir.


la Especificacin de los Procedimientos del software a construir. el Diseo de los Datos involucrados el Diseo de la Interfaz de usuario

Diseo Arquitectnico

Diccionario de Datos

Clave_votante_vlida: Flag que indica que la combinacin ingresada por el cliente es vlida, y puede llevar a emitir su voto.

Especificacin de procesos
Interfaz

Nombre : REGISTRAR DATOS ACTUALIZACIN Entradas : Datos_actualizacin Salidas :Datos_actualizacin, datos_actualizacin_registrados. Procedimiento: Recibir Datos_actualizacin. Abrir archivo INFORMACIN MUNICIPAL. Escribir en archivo los Datos_actualizacin. Cerrar archivo INFORMACIN MUNICIPAL. Mandar mensaje indicando Datos_actualizacin_registrados.

Pseudocdigo

Diseo de Datos
clave_Vot Id_P art ido Rut _Vot candidat os Nom _Cand Id_Vot o Nom _Cand P art _Cand
Vot ant e

Vot o

Nom _Vot

cont iene

asigna consult a Nom_Cand

Direccin

Servicios

Municipalidad Fono

Nom_Organ

Id_Organ

Com una

Diseo de Datos
Votante Clave_Vot A10 Rut_Vot A10 Nom_Vot A30 Voto Id_Voto A10 Detalle_Voto Id_Voto A10 Id_Partido A30

Servicio Cod_Serv N5 Descrip_Serv A30

Candidato Id_Partido Nom_Cand Municipalidad Id_Orga A10 Nom_Orga A30 Servcio A30 Direccin A30 Fono N10 Comuna A20 A30 A30

Diseo de Interfaz

Elementos del Diagrama de Estructura


Obtener Nombre Video Leer Registro Video

Mdulo

Mdulo Predetermina do
MDULO JEFE (INVOCADOR)

MDULO SUBORDINADO (INVOCADO)

Elementos del Diagrama de Estructura


Obtener Datos Cliente
Tipo_dato Cliente

Flujo de Control Flujo de Dato

Leer Cliente

Un dispositivo fsico es cualquier dispositivo mediante el cual se puede recibir o enviar datos necesarios para el sistema

Un almacn de datos corresponde a la instancia real en la cual van a estar los datos que precisa el sistema

Elementos del Diagrama de Estructura


Conectores

Elementos del Diagrama de Estructura


Secuencia

Iteracin

Elementos del Diagrama de Estructura


Seleccin

Profundidad y Ancho de un Diagrama de Estructura


Profundidad y ancho proporcionan una idea del nmero de niveles de control y el mbito global de control respectivamente. El grado de salida es una medida del nmero de mdulos que son controlados directamente por otro mdulo. El grado de entrada indica cuntos mdulos controlan directamente un mdulo dado.

Estrategia de Diseo para Construir Diagrama de Estructura

Diseo Centrado en Transformaciones


DFD Diagrama de Estructura

Diseo Centrado en Transacciones

Anlisis

Diseo

Estrategia de Diseo
Diseo Centrado en Transformaciones Los datos entran al sistema mediante caminos que se llaman flujos de entrada
4.2 2.1 2.2

1.1

1.2
3 4.1

En el ncleo ocurre la
transformacin de los datos, que entraron anteriormente Finalmente los datos se mueven por caminos llamados flujos de salida

Flujo de Llegada Flujo de Centro Salida de Transformacin

Estrategia de Diseo
Diseo Centrado en
Transacciones Se presenta un centro de transaccin, como centro de flujo de informacin
1 3.1 3.2 Camino de Accin 2 2.1 2.2 Camino de Accin 1

Desde el centro de flujo de Informacin, surgen muchos caminos de accin alternativos Los caminos de accin alternativos, son de forma

Centro de Transaccin 4.1 4.2 Camino de Accin 3

excluyentes

Estrategia de Diseo: Transformacin


1. Revisin del Modelo Fundamental del sistema

DFD, mnimo tres niveles


2. Determinar si el DFD tiene caractersticas de Transformacin o Transaccin Analizar el centro de transformacin propiamente tal 3. Aislar el centro de Transformacin, especificando los lmites del flujo de llegada y de salida Delimitar diseador) el centro de transformacin (depende del

4. Realizar el primer corte del diagrama de estructura Primer nivel de factorizacin, se incorporan mdulos coordinadores

Estrategia de Diseo: Transformacin


Mdulos a incorporar Mdulo principal Cp, que
controla mdulos Mdulo coordinador de la el resto de los 1.1 1.2 3 4.1

2.1

2.2

Informacin de Entrada, Ce
Mdulo controlador del centro de transformacin, que

Centro 4.2 de Flujo de Llegada Transformacin Flujo de Salida Diagrama de Contexto

supervisa las operaciones de

Cp

los datos, Ct
Mdulo controlador, de del la Ce Ct Cs

procesamiento

informacin de salida, Cs

Nombres representativos

Estrategia de Diseo: Transformacin


5. Ejecucin del segundo nivel de factorizacin
a
1.1 b 2.1 2.2 1.2 3 4.1 z Ce 1.2 1.1 2.2 2.1 Ct 3 Cs 4.1 4.2 Cp

Centro 4.2 de Flujo de Llegada Transformacin Flujo de Salida

Leer a

Leer b

Escribir z

Estrategia de Diseo: Transformacin


6. Refinar la estructura obtenida, utilizando las guas, principios y conceptos, para un diseo de calidad
Aumentar o Disminuir el N de mdulos (ejemplo Ct) Incorporar flujos de datos (DFD) y de control 7. Asegurarse del trabajo realizado, representado en el diseo construido Verificar funcioanalidad, orden de mdulos, etc.

Estrategia de Diseo: Transaccin


1. Revisin del Modelo Fundamental del sistema

DFD, mnimo tres niveles


2. Determinar si el DFD tiene caractersticas de Transformacin o Transaccin Analizar el centro de transaccin propiamente tal 3. Aislar el centro de Transaccin, especificando los lmites del flujo de llegada y de salida El centro de transaccin se encuentra ligado al origen de varios caminos de informacin que fluyen radialmente de l 4. Realizar el primer corte del diagrama de estructura Primer nivel de factorizacin, se incorporan mdulos coordinadores

Estrategia de Diseo:

Transaccin
Mdulos a incorporar Mdulo principal Cp, que
controla mdulos Mdulo el resto de los

a A D
z P Q

coordinador

de

la

Informacin de Entrada, Ce
Mdulo gestor del centro de transaccin, D Mdulo controlador, los Ce

Cp

distintos caminos que generan informacin de salida, Ci i =1n (n: n caminos)

C1

C2

C3

Estrategia de Diseo:

Transaccin

5. Ejecucin del segundo nivel de factorizacin


Camino 1 a A D Camino 2 Ce P b Q Camino 3 Leer a P Q R Escribir z R z a C1 C2 C3 Cp

Leer b

Estrategia de Diseo:

Transaccin

6. Refinar la estructura obtenida, utilizando las guas, principios y conceptos, para un diseo de calidad
Aumentar o Disminuir el N de mdulos Incorporar flujos de datos (DFD) y de control 7. Asegurarse del trabajo realizado, representado en el diseo construido Verificar funcionalidad, orden de mdulos, etc.

Diseo Procedimental (Diseo Detallado


Especificacin Interfaz-Funcin Especificacin Mediante las Miniespecificaciones del Anlisis Especificacin por Pseudocdigo

Diseo Detallado
1. Especificacin por interfaz-funcin

Permite definir un mdulo sin entrar en excesivos detalles. La interfaz del


mdulo contiene los parmetros de entrada y de salida, mientras la funcin del mdulo describe las tareas que este lleva a cabo. Se permite el uso de

tablas, frmulas, lenguaje natural, etc. Permite variar el grado de


formalismo en la definicin del mdulo, generalmente, dando bastante libertad a los programadores. Su inclusin como comentario en el cdigo

final facilita el mantenimiento.

Ejemplo:

Mdulo: SELECCIONAR ASIENTO DE PASAJERO Entrada: PREFERENCIA_ASIENTO_PONDERADA Salidas: ASIENTO_SELECCIONADO, PREFERENCIA_DISPONIBLE Funcin: Seleccionar un asiento para un pasajero considerando que sus preferencias de ubicacin sean lo ms cercanas (ponderadamente) al asiento elegido.

Diseo Detallado
2. Especificacin Mediante las Miniespecificaciones del Anlisis

Este mtodo

considera que las miniespecificaciones

generadas durante la fase de anlisis sirven tambin como especificacin que de de mdulos. de es Se considera, burbuja en del para

general, diagrama

la especificacin flujo de datos

cada

suficiente

especificar

lo que en la fase siguiente al diseo se

debe construir. La gran limitacin de este mtodo es

que no siempre existe una correspondencia uno a uno


entre las burbujas, explicitadas como necesarias de automatizar en la fase de anlisis, y los mdulos del diagrama de estructura.

Mdulo: SELECCIONAR ASIENTO DE PASAJERO


Entrada: PREFERENCIA_ASIENTO_PONDERADA Salidas: ASIENTO_SELECCIONADO, PREFERENCIA_DISPONIBLE Funcin: Seleccionar un asiento para un pasajero considerando que sus preferencias deubicacin sean lo ms cercanas (ponderadamente) al asiento elegido. Detalles de Funcionalidad Buscar asiento disponible comenzando con la clase solicitada y continuando con clases inferiores. Anotar para cada asiento la diferencia respecto a la preferencia del cliente. Seleccionar el asiento con menor diferencia: este ser el AsientoSeleccionado. (Diferencia=Dif-Fumador*PESO_FUMADOR+ ...) Si el cliente necesita un asiento no fumador (y Peso-Fumador > 1) y ha sido

seleccionado un asiento fumador, intentar mover en una fila atrs la seccin de no fumadores en la clase del cliente (si es posible).
Si la diferencia entre el asiento preferido y el asiento seleccionado es 0, realizar la asignacin PREFERENCIA-DISPONIBLE=Y; de lo contrario asgnele N.

Diseo Detallado
2. Especificacin por pseudocdigo Pseudocdigo es un lenguaje informal similar al lenguaje estructurado, el cual es ms preciso y detallado que la especificacin por interfaz-funcin. Tiene sintaxis fija para constructores, declaracin de datos y mdulos, y sintaxis libre para describir caractersticas de procesamiento

También podría gustarte