Está en la página 1de 26

lez Gonz Christian Araujo Gonz

Unidad 3: Dise o, Implementaci Dise Implementacin y Mantenimiento de Software

Tema 2: M Mtodos de Dise Diseo de Software

Ing. Christian Araujo Gonzlez

U3: T2-1

Contenido :

lez Gonz Christian Araujo Gonz

2. Dise Diseo la Intefaz HombreHombre-Maquina

1.1. Conceptualizaci Conceptualizacin 1.2. Teor Teora de la Normalizaci Normalizacin 1.3. El Proceso de Dise Diseo de Base de Datos 2.1. Principios de Buen Dise Diseo de Interfaces 2.2. T cnicas para Derivar Interfaces T

3. Dise Diseo Arquitect Arquitectnico o Modular 3.1. Qu Qu es un M Mdulo? 3.2. El Diagramas de Estructura de Procesos (DEP) 3.3. T Tcnicas de Derivaci Derivacin 3.4. T Tcnicas de Refinamiento del DEP 4. Dise Diseo Procedimental 5. Introducci Introduccin al Dise Diseo Orientado a Objetos

Ing. Christian Araujo Gonzlez

U3: T2-2

lez Gonz Christian Araujo Gonz

1. Dise Diseo de Datos

lez Gonz Christian Araujo Gonz

1. Dise Diseo de Datos

lez Gonz Christian Araujo Gonz

1.1. Conceptualizaci Conceptualizacin

Consiste en estructurar adecuadamente las tablas para formar una base de datos fsica, con bajos costos de desarrollo y mantenimiento a largo plazo que tenga un rendimiento razonable.

El trabajo del diseador consiste en realizar lo que sea para conseguir el rendimiento de la base de datos deseable, permaneciendo lo ms cerca posible de un base de datos en 3FN (tercera forma normal). La estrategia bsica de la base de datos es referenciar entidades en tablas, realizando ajustes con los subconjunto, desnormalizacin y las tablas de acumulacin y resumen.

Ing. Christian Araujo Gonzlez

U3: T2-3

1.2. Teor Teora de la Normalizaci Normalizacin

lez Gonz Christian Araujo Gonz

Esta tcnica ayuda a los diseadores a revenir problemas de redundancia y anomalas de modificacin, insercin o borrado en el esquema de datos; aun que a costa de penalizar su recuperacin.

Esta tcnica consiste en ir descomponiendo los registros en otros de menor tamao (con un menor numero de campos), de forma que satisfaga una serie de restricciones especificas que definen lo que se conoce por forma normal. Las formas Normales son: a) Primera forma normal (1FN): se prohbe que en un registros haya repetitivos, es decir, que todos los campos sean atmicos. b) Segunda Forma Normal (2FN): elimina las dependencias funcionales; es decir, debe cumplirse que los campos no claves dependan solamente de la clave primaria. c) Tercera Forma Normal (3FN): eliminar las dependencia transitivas. Es decir, que un campo no clave depende de otro campo no clave y este ultimo dependa de la de la clave primaria. Hay otras para casos especficos

Ing. Christian Araujo Gonzlez

U3: T2-4

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

La generacin fsica de los datos se da siguiendo los siguientes reglas:


1. Representar cada entidad bsica en una tabla relacional.

2. Representar cada entidad agregada en una tabla con sus correspondientes atributos (entre ellos un identificador si fue definido) e incluyendo los atributos que conforman la llave de la relacin. Estos ltimos sern la llave de la agregacin en caso de que no se haya definido un identificador. 3. Representar cada entidad generalizada en una tabla que contendr sus atributos (slo los de la generalizada) y entre ellos la llave.

4. Representar cada entidad especializada en una tabla que contendr la llave de la generalizada y los atributos propios de la especializacin.

5. Representar cada entidad dbil en una tabla que contendr la llave de la entidad bsica determinante y el identificador de la entidad dbil (ambos conforman la llave de la entidad dbil) con sus atributos.

6. Representar en una tabla a cada relacin de M:M incluyendo como llave de la relacin las llaves de las entidades que participan en ella y los atributos de la relacin si los hubiese.

7. Aadir las llaves de la entidad extremo 1 como un nuevo atributo a la entidad del extremo N, para representar una relacin entre las entidades de 1:N o de 1:1.
Ing. Christian Araujo Gonzlez

U3: T2-5

1.3. El proceso del Dise Diseo de la Base de Datos

lez Gonz Christian Araujo Gonz

Fase 1: Recoleccin y Anlisis de Requerimientos Fase 2: Diseo Conceptual Fase 3: Eleccin de SGBD Fase 4: Transformacin al Modelo de Datos (Diseo lgico) Fase 5: Diseo Fsico

Requerimientos de datos Diseo Conceptual

Requerimientos de Procesamiento Diseo de Transacciones

Diseo Conceptual

Frecuencia, Restricciones de rendimiento

Diseo Esquema Interno

Fase 6: Implementacin
Ing. Christian Araujo Gonzlez

Enunciados de LDD

Implementacin de Transacciones
U3: T2-6

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Las formas normales nos permiten determinar el modelo lgico de datos (diseo conceptual); el cual se ve expresado a travs de un diagrama entidad-relacin (DER).

2. Dise Diseo de Interfaz HombreHombre-Maquina

lez Gonz Christian Araujo Gonz

2.1. Principios de Buen Dise Diseo de Interfaces

No hay estndares de la industria para el desarrollo GUI. Distintas empresas utilizan estndares radicalmente diferentes sobre la apariencia de las pantallas.

El pensar minuciosamente sobre cmo debe crearse las pantallas ayuda a evitar diferencias fundamentales en la apariencia de las pantallas de una misma aplicacin.

En referencia a los items anteriores, si podemos encontrar una cierta estandarizacin, con los principios de buen dise diseo como: la consistencia (con el mundo real y dentro y entre las aplicaciones), esttica (distribucin de espacios y colores) y las consideraciones humanas.

Ing. Christian Araujo Gonzlez

U3: T2-7

La consistencia tiene dos(2) categoras:

lez Gonz Christian Araujo Gonz

a) Consistencia con el mundo real: las aplicaciones deben construirse sobre las experiencias del mundo real del usuario. Usar conceptos familiares para que hagan ms fcil el uso y aprendizaje del sistema.

b) Consistencia dentro y entre de la aplicaciones: Toda aplicacin debe ser conceptualmente, lingsticamente, visualmente y funcionalmente consistente dentro de ella y con otras aplicaciones.

Por ejemplo: - La terminologa debe ser la misma en mens, comandos y pantallas de ayuda. - Darles a la teclas un mismo uso durante toda la aplicacin. - Responder de igual forma ante situaciones similares. - Siempre el mismo estilo para enviar mensajes (color, posicin en pantalla,etc). - Permite reusar elementos estndares de interfaz.

Ing. Christian Araujo Gonzlez

U3: T2-8

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Las consideraciones humanas, consisten en tener en cuenta las posibilidades fsicas, mentales e incluso de personalidad del usuario a la hora de disear una interfaz.
Ejemplo: - Fsicas: fatiga visual, visin de los colores, odo para determinar tonos audibles. - Mentales: capacidad de memoria (se recuerda fcilmente entre 5 y 9 smbolos). debe existir ayuda en lnea. - Personalidad: atraccin por adelantos tecnolgicos, usar diferentes estilos de comunicacin.

Ing. Christian Araujo Gonzlez

U3: T2-9

2.2. T Tcnicas para Derivar Interfaces

lez Gonz Christian Araujo Gonz

La teora de autmatas sirve como base terica para poder representar un enfoque de interactividad entre el sistema software y el usuario de esta. Este enfoque se le llama monitor de dialogo (define grafo conversacional y diagrama de transicin de eventos).

El Grafo Conversacional La teora de autmatas es otra tcnica de derivacin que permite representar un sistema interactivo a travs de un diagrama de estados o grafo conversacional (diagrama de eventos).

Autmata : modelo matemtico cuyas propiedades y comportamiento pueden ser imitados mediante un programa. Autmata Finito : reconocedor de la validez de una cadena de smbolos de un alfabeto definido en un lenguaje. Se define en funcin de:
- un conjunto de estados posibles (q0, q1, ...) - un conjunto de smbolos de un alfabeto (a, b, c, ...) - una funcin de transicin de estados () - un estado inicial (q0) - un conjunto de estados finales (q0, q1, ...)

Ing. Christian Araujo Gonzlez

U3: T2-10

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

La est esttica y la claridad visual pueden mejorarse poniendo atencin a los principios bsicos del diseo grfico concernientes a la agrupacin espacial, constraste y representacin en tres dimensiones. Las mejores interfaces son las que combinan poder en su funcionalidad con una una buena apariencia. apariencia

lez Gonz Christian Araujo Gonz

q0 q1 q2

a q1 q2 q2

b q0 q0 q2

b q0 a b q1 a q2

a,b

grafo orientado

En el campo de los sistemas interactivos los autmatas finitos, se utilizan para representar el funcionamiento del dilogo hombre-mquina a travs de todas sus variantes. El esquema de preguntas y respuestas de un sistema interactivo, se puede representar en un diagrama de estados, que no es otra cosa que un grafo orientado. Por tanto, se puede usar el autmata como monitor de dilogo hombre-maquina.

Ing. Christian Araujo Gonzlez

U3: T2-11

Ejemplo de grafo conversacional

lez Gonz Christian Araujo Gonz

a mn d k e 3 f 1 g

b j i h 4 n o p 8 q 9 5 r s t 10

Arcos : transacciones entre pantallas

* : indican un camino obligatorio o sea que la computara lo realiza sin que se le ordene 1,2,3,...: son convencionales y crecen de arriba abajo y de derecha a izquierda A,b,c,...: representa la letra que hubo que teclear para pasar de una pantalla a otra

l m

: indican que se describir este nodo en otra hoja por ser el diagrama demasiado grande

En el grafo conversacional (GC) no se ven los clculos matemticos u otros procesos que no impliquen una salida visual. El GC hay que combinarlo en ocasiones con el DEP para derivar mediante esta tcnica el mdulo o nodo internamente.

Ing. Christian Araujo Gonzlez

U3: T2-12

lez Gonz Christian Araujo Gonz

Nodos (

) : es una salida por pantalla

lez Gonz Christian Araujo Gonz

Autmata Finito Determinstico : aquel en el que para cada estado la entrada de un nuevo carcter, determina el paso a un nico estado nuevo .

Relaci Relacin entre el Grafo Conversacional (GC), el DFD y DD

lez Gonz Christian Araujo Gonz

Existe una relacin (interrelacin) muy estrecha entre el grafo conversacional, el DFD y DD.

Generalmente el primero o uno de los primeros nodos del GC representa el diagrama de contexto.

las burbujas del diagrama cero (nodos que se derivan para el men principal corresponden a las principales funciones del sistema. Esto no es enteramente cierto porque pueden existir ms nodos que burbujas en el diagrama cero, ya que al disear uno puede aadir nuevas funciones. Las burbujas que surgen de estos nodos deben corresponder con la descomposicin por niveles del DFD hasta llegar a las primitivas funcionales.

Ing. Christian Araujo Gonzlez

U3: T2-13

lez Gonz Christian Araujo Gonz

Una vez realizados los pasos anteriormente descritos, se deben agregar nuevos estados correspondientes a procesos que surgen en la etapa de diseo correspondientes a : seguridad, guardar, restaurar, claves, ayuda, etc. Ejercicio :
aviso-vencimiento Boleta

Diagrama Contexto

Cliente

Boletadevoluc

Sistema Prstamos Biblioteca


Datos-nuevolibro

Usuarios

Datos-libro-devoluc Datos-libro-entrega Datos-libro-perdido

Catalogacin

Ing. Christian Araujo Gonzlez

U3: T2-14

lez Gonz Christian Araujo Gonz

Se deben buscar las descripciones de los procesos correspondientes a las primitivas funcionales en el DD para ver los tipos de validaciones y en correspondencia con ellas, los mensajes de errores que se deben visualizar que sern nuevos estados.

lez Gonz Christian Araujo Gonz

Diagrama Cero

lez Gonz Christian Araujo Gonz

Boleta-devoluc Boleta

1. Entregar Libro

2. Incorporar Libro

Datos-libro-entrega

Prstamos Libros 3. Devolver Libro

Datos-libro-perdido avisovencimiento

Datos-librodevoluc

4. Rescatar Libro

Ing. Christian Araujo Gonzlez

U3: T2-15

Diagrama 4: Rescatar Libro

lez Gonz Christian Araujo Gonz

4.1. Emitir Aviso Vencimiento Libros


T E I Esc A D

4.2. Dar Baja Libro Perdido

Datos-libro-perdido

Grafo Conversacional

1
A R

Esc

2
- La numeracin cambia si existen niveles en los procesos 2, 3 o 4. - A = Aceptar

4
V

5
Esc

Esc B

Ing. Christian Araujo Gonzlez

U3: T2-16

lez Gonz Christian Araujo Gonz

avisovencimiento

Prstamos

lez Gonz Christian Araujo Gonz

Usuarios

Datos-nuevo-libro

lez Gonz Christian Araujo Gonz

Sistema de Prstamos Biblioteca

Entregas

Incorporaciones

Devoluciones

Recuperaciones

Termino

Pantalla 5:
Sistema de Prstamos Biblioteca

Ayuda

Se puede incorporar; para el cual se realiza su interaccin en GC

Entregas

Incorporaciones

Devoluciones

Recuperaciones Aviso Bajas

Termino

Ing. Christian Araujo Gonzlez

U3: T2-17

Diagrama de Transici Transicin de Eventos (DTE)

lez Gonz Christian Araujo Gonz

La diferencia es que toda vista (pantalla), da origen a tantos nodos como procedimientos tenga cada objeto o recurso que este presente en la pantalla y las transiciones representan los distintos eventos que pueden generar dichos objetos o recursos. Ejemplo:
Pantalla 2: Entrega de libros Cdigo : Usuario : Aceptar Cancelar Nuevo Salir

Ing. Christian Araujo Gonzlez

U3: T2-18

lez Gonz Christian Araujo Gonz

Es una variante del grafo conversacional, para el diseo de sistemas en lenguajes manejados por eventos como: VB, Delphi, Visual FOX, etc.

lez Gonz Christian Araujo Gonz

Pantalla 1:

Diagrama Eventos de la Pantalla 2:

lez Gonz Christian Araujo Gonz

S A A C N

2
Clic Ini Clic Sgte Clic Ant Clic Fin Clic List

6
Error

3
*

4
*

5
*

6
*

7
*

8
*

9
*

13
6: acepta ingreso; apagado el botn aceptar y habilitando el nuevo 3: limpia pant2 cancelando la operacin y regresa a pantalla dos 4: limpia pantalla habilitando botn aceptar y apagando nuevo 9: cambio visual al subir o bajar de la lista 13: mensaje de error

Pantalla 13 Usuario No Existe Aceptar

5,6,7,8: cambio de color en pant2 al elegir el primer, sgte, anterior o final

Nota :Pueden existir muchas opciones en el diagrama. Depende del diseador

Ing. Christian Araujo Gonzlez

U3: T2-19

3. Dise Diseo Arquitect Arquitectnico o Modular

lez Gonz Christian Araujo Gonz

3.1. Qu Qu es un M Mdulo?

Es la unidad primaria de la estructura de un programa. Es cualquier coleccin de instrucciones ejecutables de un programa que satisface los siguientes criterios: - Es una estructura cerrada, - Puede ser llamada desde cualquier otro mdulo en el programa, - Tiene la potencialidad de ser complicada independientemente, - Posee entrada, salida, funcin, lgica y datos internos. La funcin de un mdulo define que hace el mdulo. La lgica de un mdulo describe como el mdulo realiza su funcin, o sea, el algoritmo interno o procedimiento de un mdulo. El contexto de un mdulo describe una utilizacin particular de un mdulo.

El diseo se relaciona ms directamente con la funcin y slo indirectamente con la lgica y el contexto. Un m mdulo se describe nombrando su funci funcin.

Ing. Christian Araujo Gonzlez

U3: T2-20

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Cuando se define una funcin debe usarse una forma verbo/objeto, o sea, describir a un mdulo como hacindole algo (o un conjunto de cosas) a una cosa. Ejm: Obtener la prxima transaccin de entrada, ordenar el fichero maestro por un campo dado, etc. Evitarse usarse verbos sin sentido como por ejm: procesar artculo del fichero maestro, controlar la tabla resumen,etc.

Caractersticas ms importantes de los mdulos que influyen en la mantenibilidad del sistema:

- El tamao de los mdulos (cuanto ms pequeo mejor-son ms mantenibles). - La independencia de los mdulos (mientras menos dependan ms fcil de mantener). - La estructura de caja negra (cuando mdulo se representa en sus entradas y salidas sin preocuparse de que sucede dentro). - El aislamiento de los detalles (se refleja la filosofa y no los detalles que cambian con mayor facilidad que la filosofa). - Estructura de las decisiones (los mdulos que afecta la decisin deben estar subordinados directamente al que las contiene). - Acceso minimizado a los datos (cantidad de datos que los mdulos deben referenciarse deben minimizarse - evitar los acoplamiento).

Ing. Christian Araujo Gonzlez

U3: T2-21

3.2. El Diagrama Estructurado de Procesos (DEP)

lez Gonz Christian Araujo Gonz

Cualquier sistema automatizado o programa tiene caractersticas procedurales y jerrquicas, las primeras definen el orden que gobiernan las transformaciones ( x ocurre primero, y despus y as sucesivamente), mientras que las segundas define el rango de las transformaciones o procesos (un mdulo es el principal, otros son del nivel ms bajo y as sucesivamente hasta llegar a los mdulos que tienen otros subordinados a l). Un diagrama estructurado de procesos sirve para documentar una vista jerrquica de un programa o sistema. Convenios de notacin del DEP.
Mdulo (dentro se coloca el nombre del smbolo o su descripcin verbo/objeto ) Mdulo Predefinido

Llamada Iterativa

Ing. Christian Araujo Gonzlez

U3: T2-22

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

La funcin de un mdulo incluye los efectos de todos sus subordinados, no as la lgica.

Decisiones

lez Gonz Christian Araujo Gonz

Llamada (A llama a B)

Acoplamiento de datos Bandera

La direccin de la saeta indica quien recibe el dato o la bandera.

- Los mdulos predefinidos son pequeos subsistemas que no hay que describirlos porque ya existen en un sistema o en una biblioteca.

- En un sistema los mdulos no estn independientes, se organizan en una jerarqua, cooperando entre s y comunicndose para realizar el trabajo entre todos.

- Un dato se procesa, no as una bandera. Una bandera fija un valor y se chequea. Los datos se relacionan con el problema en s, la bandera da informacin sobre los datos.

Ing. Christian Araujo Gonzlez

U3: T2-23

lez Gonz Christian Araujo Gonz

Un diagrama estructurado no muestra : - El procedimiento o lgica interna de los mdulos, - Los datos internos de los mdulos, - El orden y la frecuencia de las llamadas. Hay 3 errores en el siguiente diagrama:
OBTENER ARTICULO FORMATEADO

1. No se muestran datos ni banderas 2. El nombre tiene que ser la suma de todas las actividades por debajo de l. Esto lo cumple el primero, pero LEER?; como LEER puede ser un resumen de FORMATEAR. 3. Los subordinados de un mdulo predefinido no se deben mostrar.

LEER FORMATEAR ARTICULO

Ing. Christian Araujo Gonzlez

U3: T2-24

lez Gonz Christian Araujo Gonz

Un diagrama estructurado muestra : - El particionamiento de los mdulos, - La jerarqua y la organizacin de los mdulos, - Las interfaces de comunicacin entre los mdulos, - Los nombres (es decir, las funciones) de los nombres.

lez Gonz Christian Araujo Gonz

El v vlido ser ser:

lez Gonz Christian Araujo Gonz

OBTENER ARTICULO FORMATEADO Fin de artculo LEER Artculo formateado Artculo FORMATEAR ARTICULO

Artculo

Si un mdulo tiene ms de un jefe, puede que en el Diagrama Estructurado (DE) se crucen las lneas, lo que puede evitarse de dos formas:
P X Q Y
Cdigo error

B
No existe comprador

IME

IME

IME

IMPRIMIR MENSAJE ERROR

Ing. Christian Araujo Gonzlez

U3: T2-25

lez Gonz Christian Araujo Gonz

Pgina 5 x x y y

A
( Ver pgina 5 )

Una vez hecho el DE, cada mdulo tiene que ser especificado (descrito) para que un programador pueda codificarlo. Esa descripcin puede hacerse en seudocodigo, sin detalle. El seudocodigo adems de comunicar al diseador con el programador, permite validar la factibilidad de implementar cualquier mdulo que aparezca en el DE.

Ing. Christian Araujo Gonzlez

U3: T2-26

lez Gonz Christian Araujo Gonz

Si el DE no cabe en una pgina, puede mostrarse un mdulo en una pgina y debajo de l un referencia a la pgina donde se describe.

lez Gonz Christian Araujo Gonz

Artculo formateado

Fin artculo formateado

3.3. T Tcnicas de Derivaci Derivacin

lez Gonz Christian Araujo Gonz

Un DFD es una declaracin de requerimientos, l declara qu debe ser hecho, mientras que un DEP es una declaracin de diseo que declara como se deben afrontar los requerimientos. La relacin que existe entre estos diagramas refleja la relacin que existe entre el propsito y el mtodo. Un diseo tiene que ser derivado a partir de sus requerimientos.

De lo anterior se deduce que debe existir alguna forma para derivar la estructura del sistema a automatizar a partir de la especificacin asociada, o sea, derivar el DEP a partir de los DFDs. Existen dos tcnicas de derivacin : 1) El anlisis de transformacin y el de transaccin 2) El monitor de dilogo Con la primera se obtiene el DEP y con la segunda el Grafo conversacional.

Ing. Christian Araujo Gonzlez

U3: T2-27

lez Gonz Christian Araujo Gonz

La mayora de las aplicaciones de gestin posee la estructura de transformacin, por lo que el DEP debe ser derivado de forma fcil y directa a partir de los DFD confeccionados durante el anlisis. Para obtener el DEP a partir del DFD se debe recorrer el flujo de la mayor corriente de entrada de los datos, hasta llegar a un punto en la que esta desaparece o no puede ser considerada ms como tal (punto de mayor abstraccin de entrada). Para la corriente de salida se debe hacer un recorrido similar empezando por el final hacia atrs. Los puntos de mayor abstraccin de entrada y salida delimitan la transformacin central. Ejm:
B A 1 C 2 3

D E

Ing. Christian Araujo Gonzlez

U3: T2-28

lez Gonz Christian Araujo Gonz

La T Tcnica de Transformaci Transformacin: Se aplica a los DFD (o porcin de ste) en las que en una parte se manipulan todas las funciones de entrada, en otra se toman las entradas y se producen los resultados y finalmente se manipulan las salidas de los resultados.

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

PRODUCIR SOLUCION OBTENER ENTRADAS CALCULAR SOLUCION OBTENER SALIDAS

Los mdulos se deben nombrar de acuerdo a sus funciones o de acuerdo a las ordenes que ellos obedecen, esto es similar a la forma en que se describieron las funciones lgicas en los DFD (usar verbos fuertes en infinitivo con un complemento directo). Para completar el DEP debe adicionarse los mdulos de nivel ms bajo que aparecen el el DDFD y adicionar los acoplamientos de datos y de control que sean necesarios, obteniendose el siguiente DEP para nuestro sistema hipottico.

Ing. Christian Araujo Gonzlez

U3: T2-29

lez Gonz Christian Araujo Gonz

Entrada buena OBTENER ENTRADAS entrada CAPTAR ENTRADA entrada

Entrada Solucin buena CALCULAR SOLUCION Entrada buena Error

Solucin OBTENER SALIDAS Solucin Editada Solucin Editada IMPRIMIR SOLUCION

Solucin EDITAR SOLUCION

VALIDAR ENTRADA

Si el mdulo Calcular Solucin se descompusiera en el DFD en otros procesos, stos deber aparecer en el DEP. Puede darse el caso que existan varias corrientes de entrada o de salida o varios procesos que realicen la transformacin central en el DFD, entonces stos deben aparecer tambin en el DEP, por ejemplo.

Ing. Christian Araujo Gonzlez

U3: T2-30

lez Gonz Christian Araujo Gonz

PRODUCIR SOLUCION

lez Gonz Christian Araujo Gonz

Una vez que los puntos de ms abstraccin han sido encontrados, se confecciona el DEP, especificando una estructura en la cual se invoca a la forma ms abstracta de entrada, se transforma sta en la forma ms abstracta de salida y se obtienen las salidas (es el nivel ms alto del diagrama) como se muestra a continuacin.

lez Gonz Christian Araujo Gonz

Entrada buena OBTENER ENTRADAS entrada CAPTAR ENTRADA entrada

Entrada Solucin buena CALCULAR SOLUCION Entrada buena Error

Solucin OBTENER SALIDAS Solucin Editada Solucin Editada IMPRIMIR SOLUCION

Solucin EDITAR SOLUCION

VALIDAR ENTRADA

Si el mdulo Calcular Solucin se descompusiera en el DFD en otros procesos, stos deber aparecer en el DEP. Puede darse el caso que existan varias corrientes de entrada o de salida o varios procesos que realicen la transformacin central en el DFD, entonces stos deben aparecer tambin en el DEP, por ejemplo.

Ing. ChAraujoG
Ing. Christian Araujo Gonzlez

U3: T2-31

lez Gonz Christian Araujo Gonz

B A 1

C 2

E 5 G 6 H

SISTEMA

C
TRANSFORMAC. de C en D y E

D E D

SALIDA

E
OBTENER F OBTENER H

ENTRADA

B B

D F

E G
CONVERTIR E en G

G H
CONVERTIR G en H

LEER A

CONVERTIR A en B

CONVERTIR B en C

CONVERTIR D en F

ESCRIBIR F

ESCRIBIR H

Ing. Christian Araujo Gonzlez

U3: T2-32

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

PRODUCIR SOLUCION

lez Gonz Christian Araujo Gonz

Transaccin A

Validar Transaccin A

Transaccin A validada

Actualizar Fichero A Fichero A

Reporte Diario

Entrada

Determinar tipo Transaccin Transaccin B

Validar Transaccin B

Transaccin B validada

Actualizar Fichero B Fichero B

Imprimir Reporte Diario

Transaccin C Validar Transaccin C

Transaccin C validada

Actualizar Fichero C Fichero C

Ing. Christian Araujo Gonzlez

U3: T2-33

lez Gonz Christian Araujo Gonz

REALIZAR TRANSACCION

Transaccin valida

Tipo Tipo

Transaccin valida
DESPACHAR TRANSACCION

OBTENER BUENA TRANSACCION CON TIPO

Transaccin

Transaccin Tipo

Transaccin valida
REALIZAR TRANSACCION A REALIZAR TRANSACCION B REALIZAR TRANSACCION C

CAPTAR TRANSACCION

VALIDAR TRANSACCION

IMPRIMIR REPORTE DIARIO

ENTRADA

Ing. Christian Araujo Gonzlez

U3: T2-34

lez Gonz Christian Araujo Gonz

Un posible DEP que se obtiene de esta porcin transaccin se muestra a continuacin.

del DFD aplicando

lez Gonz Christian Araujo Gonz

El an anlisis de transacci transaccin generalmente se aplica a DFD o porciones de estos cuando existe varios tipos de transformaciones como se observa en el siguiente ejemplo.

lez Gonz Christian Araujo Gonz

REALIZAR TRANSACCION

Transaccin valida

Tipo

OBTENER BUENA TRANSACCION CON TIPO

REALIZAR TRANSACCION A

REALIZAR TRANSACCION B

REALIZAR TRANSACCION C

IMPRIMIR REPORTE DIARIO

Transaccin

Transaccin Tipo

Transaccin valida

TRANSFORMACION CENTRAL

CAPTAR TRANSACCION

VALIDAR TRANSACCION

SALIDA ENTRADA

Ing. Christian Araujo Gonzlez

U3: T2-35

Analizar los siguientes porciones de DFD con sus correspondientes DEP.

lez Gonz Christian Araujo Gonz

B A 1

D 5 E

MODULO PRINCIPAL

B
ENTRAR B

D D
REALIZAR PROCESO 3 OBTENER E

C C

REALIZAR PROCESO 2

A
LEER A

B
CONVERTIR A en B

D E
CONVERTIR D en E

ESCRIBIR E

Ing. Christian Araujo Gonzlez

U3: T2-36

lez Gonz Christian Araujo Gonz

Ejm 1 :

lez Gonz Christian Araujo Gonz

Otra opcin de posible del DEP aplicando la transformacin se muestra a continuacin.

lez Gonz Christian Araujo Gonz

B1 1 B2

2 3

C1 5 C2 D

MODULO PRINCIPAL

B1 B2
ENTRAR B1 y B2

C1 C2
REALIZAR PROCESO 3

B1

B2 C1

C2

REALIZAR PROCESO 2

OBTENER C1 Y C2

A
LEER A

B1 A

B2

C2

C1 D
CONVERTIR D en E

REALIZAR PROCESO 1

ESCRIBIR E

Ing. Christian Araujo Gonzlez

U3: T2-37

3.4. T Tcnicas de Refinamiento del DEP

lez Gonz Christian Araujo Gonz

El DEP no es en si el diseo, sino un simple instrumento de ste. Un buen diseo debe tener una serie de cualidades. Estas cualidades son medios para reducir la complejidad, ya que la complejidad es la diferencia ms visible entre una buena y una mala estructura de un programa. Esta evaluacin y refinamiento se hacen a partir de dos conceptos fundamentales para definir las cualidades. Estos son: - El acoplamiento - La cohesin
EL ACOPLAMIENTO

Es el grado de independencia entre dos mdulos. El objetivo es minimizarlo, o sea, hacer los mdulos tan independientes como sea posible. Un acoplamiento bajo es ndice de buen particionamiento y puede ser alcanzado eliminando relaciones innecesarias y disminuyendo la tensin de las relaciones necesarias.

Ing. Christian Araujo Gonzlez

U3: T2-38

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Ejm 2 :

El bajo acoplamiento es bueno por tres razones:

lez Gonz Christian Araujo Gonz

Hay cuatro tipos diferentes de acoplamiento que pueden ocurrir entre dos mdulos: Bueno o Flojo (d (dbil) 1) Acoplamiento de datos 2) Acoplamiento sellado (de paquete) 3) Acoplamiento de control 4) Acoplamiento de zona comn Malo o Tenso

Ing. Christian Araujo Gonzlez

U3: T2-39

lez Gonz Christian Araujo Gonz

Dos mdulos estn acoplados por los datos si se comunican mediante parmetros, siendo cada parmetro un nico campo o una tabla homognea (una tabla en la que cada entrada contiene el mismo tipo de informacin).

PRODUCIR FACTURA
km das Tipo Alquiler

CALCULAR ALQUILER

2) Acoplamiento Sellado o de Paquete Los mdulos lo tienen si se refieren a la misma estructura de datos (una pieza compuesta de datos, como un record -registro- consistente de un mnimo de campos), an cuando utilicen slo pequeas y diferentes partes de la estructura.
PRODUCIR FACTURA
Reg. Clientes Alquiler

CALCULAR ALQUILER

Ing. Christian Araujo Gonzlez

U3: T2-40

lez Gonz Christian Araujo Gonz

1) Acoplamiento de Datos

lez Gonz Christian Araujo Gonz

1. Mientras menos conexiones entre mdulos hay menos oportunidad para el efecto de onda (un error en un mdulo aparece como un sntoma o seal en otro). 2. Es deseable poder cambiar un mdulo con un riesgo mnimo de tener que cambiar otro mdulo y es deseable que cada cambio afecte la menor cantidad posible de mdulos. 3. Cuando se da mantenimiento a un mdulo, es deseable no tener que preocuparse por los detalles de la codificacin interna de otro mdulo.

3) Acoplamiento de Control

lez Gonz Christian Araujo Gonz

a) el mdulo que llama tiene que conocer la lgica interna del que fue llamado para controlarlo, b) el mdulo subordinado no es una caja negra y c) el mdulo subordinado no realiza una nica funcin.
ACTUALIZAR MAESTRO
Monto Saldo Nuevo Saldo Sobregiro

HACER RETIRO

Ing. Christian Araujo Gonzlez

U3: T2-41

lez Gonz Christian Araujo Gonz

Tipos de Informacin Dato


(Almacena informacin relacionada directamente con el problema)

Representacin

Tipo de Nombre
Sustantivo

Ejemplo

Precio, Edad Cdigo Postal Nmero Cta

Bandera Descriptiva

(Describe un dato a una situacin. Esta un poco lejos del problema)

Adjetivo

Cdigo Postal numrico, Fin fichero de transacciones, Nmero de cta no vlido Leer prximo artculo, Rechazar usuario, Reabrir fichero maestro, Escribir mensaje Cta no existe

Bandera de Control
Verbo

(Indica alguna sugerencia particular de la implementacin y por tanto no guarda relacin con el problema por lo que debe eliminarse)

Ing. Christian Araujo Gonzlez

U3: T2-42

lez Gonz Christian Araujo Gonz

Cuadro sobre los tipos de informacin:

lez Gonz Christian Araujo Gonz

Dos mdulos lo tienen si uno le pasa a otro una informacin que intenta controlar su lgica interna. Esto implica que :

4) Acoplamiento de Zona Com Comn

lez Gonz Christian Araujo Gonz

Lo tienen dos mdulos si se refieren a la misma rea de datos global.c

Area de datos global

C, E y N exhiben acoplamiento comn

Ing. Christian Araujo Gonzlez

U3: T2-43

LA COHESION

lez Gonz Christian Araujo Gonz

Es la medida de cuan fuerte es la asociacin funcional de los elementos dentro de un mdulo. Por elemento se entiende a una instruccin o grupo de instrucciones o una llamada a otro mdulo; o sea, cualquier parte de cdigo que realice algn trabajo. Lo que se desea son mdulos fuertes, altamente cohesivos. Asegurando una alta cohesin se minimizan los acoplamientos. Esto tambin asegura que las funciones del sistema reflejen las funciones del problema original.

La siguiente escala de cohesin da una medida de la propiedad de caja negra de un mdulo y de la mantenibilidad del mdulo.

Ing. Christian Araujo Gonzlez

U3: T2-44

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz


P

lez Gonz Christian Araujo Gonz

Tipos de Cohesin Funcional Secuencial Comunicacional De Datos Procedural Temporal Lgica Coincidental
De Procedimiento Coyuntural

Tipos de Caja Negra Caja Negra Caja no tan Negra Caja Gris Caja blanca o Transparente

Mejor Mantenibilidad

Peor Mantenibilidad

Ing. Christian Araujo Gonzlez

U3: T2-45

1) Cohesi Cohesin Funcional

lez Gonz Christian Araujo Gonz

Ejm: Calcular el coseno de un ngulo, Calcular el salario Empleado y Leer un articulo de transaccin

2) Cohesi Cohesin Secuencial Los elementos del mdulo estn involucrados en actividades tales que los datos de salida de una actividad sirven como entrada para la segunda.
Ejm: MODULO Generar Prima y Pago trimestral USA datos de Seguro CALCULA prima CALCULA pago-trimestral RETORNA prima y pago trimestral FIN MODULO

Datos de seguro

Prima

Pago trimestral

GENERAR PRIMA Y PAGO TRIMESTRAL

Ing. Christian Araujo Gonzlez

U3: T2-46

lez Gonz Christian Araujo Gonz

El mdulo que la posee contiene elementos que contribuyen todos a la ejecucin de una y sola una tarea relacionada con el problema.

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Ejm: MODULO Determina De Talles Cliente USA cdigo de clte DETERMINA nuevo clte DETERMINA direccin del clte DETERMINA saldo del clte RETORNA nombre, direccin, saldo FIN MODULO

Cdigo

Nombre Direccin Saldo DETERMINAR DETALLES DE CLTES

4) Cohesi Cohesin Procedural El que la posee, es un mdulo cuyos elementos estn involucrados en actividades diferentes y posiblemente no relacionadas en los que el control fluye de cada actividad hacia la prxima (no fluye el control, sino los datos de una actividad a otro).

Ing. Christian Araujo Gonzlez

U3: T2-47

lez Gonz Christian Araujo Gonz

6) Cohesi Cohesin L Lgico

Los elementos del mdulo contribuyen a actividades de la misma categora general en la que las actividades o actividad a ser ejecutadas se relacionan desde afuera del mdulo.

Ing. Christian Araujo Gonzlez

U3: T2-48

lez Gonz Christian Araujo Gonz

Ejm: MODULO Inicializar ACTUALIZA cont A, cont B, totales, swith A, swith B REBOBINA cinta A SET cont A en cero REBOBINA cinta B SET cont B en cero LIMPIA totales SET swith A en cero SET swith B en cero FIN MODULO

lez Gonz Christian Araujo Gonz

3) Cohesi Cohesin Comunicacional Los elementos del mdulo contribuyen a actividades que usen los mismos datos de entrada o de salida.

Ejm: MODULO I-O Rutina USA flag de entrada ACTUALIZA registro A IF flag=1 THEN Escribe registro A en nuevo maestro Lee archivo-1 en registro B ELSE IF flag=2 THEN IF Registro A=spaces THEN Lee archivo-2 en registro B ENDIF Lee archivo-2 en registro C ELSE IF flag=3 THEN Lee archivo-1 en registro B Lee maestro-1 en registro C Lee maestro-2 en registro A ENDIF ENDIF RETORNA registro B, registro C ENDIF FIN MODULO

lez Gonz Christian Araujo Gonz

Flag Reg B Reg. A Reg C

RUTINA DE I-O

Ing. Christian Araujo Gonzlez

U3: T2-49

7) Cohesi Cohesin Coincidental

lez Gonz Christian Araujo Gonz

Es una cohesin rara de hallar y sus causas son los intentos anormales de salvar tiempo, memoria y mantenimientos mal hechos a mdulos de mediocre cohesin.

Ing. Christian Araujo Gonzlez

U3: T2-50

lez Gonz Christian Araujo Gonz

Las actividades del mdulo no tienen ninguna relacin entre s, son similares a los mdulos de cohesin lgica, pero donde ni siquiera las actividades caen en la misma categora.

lez Gonz Christian Araujo Gonz

lez Gonz Christian Araujo Gonz

Cdigo clte Nombre

Status de saldo

Cdigo clte Nombre DETERMINAR DETALLE DE CLTE Cdigo clte Nombre Nombre HALLAR NOMBRE CLTE

Status de saldo

PASABLE

DETERMINAR DETALLE DE CLTE Cdigo clte Nombre

Cdigo clte HALLAR NOMBRE CLTE

Status de saldo

Status de saldo EVALUAR SALDO

EVALUAR SALDO

EL MEJOR

MEJOR

Ing. Christian Araujo Gonzlez

U3: T2-51

lez Gonz Christian Araujo Gonz

Ejercicio :

También podría gustarte