Anda di halaman 1dari 151

Diseo Estructurado de Sistemas

M.Sc. Alejandro Apaza Tarqui Facultad de Ingeniera Estadstica e Informtica

A System Modelling Language (ASML)


ASML es una metodologa de desarrollo estructurado de sistemas que cubre todo el ciclo de vida de desarrollo, integra las principales ideas del:
Anlisis Estructurado [DeMarco 79; Gane 79] Diseo Estructurado [Constant74; Yourdon 78] en un marco conceptual nico y consistente.

Su definicin se origina en los libros de Ward [Ward 83; 86] y MacMenamim [MacMenam84], le cabe una mejor definicin al ser interpretada como: La conjuncin del Anlisis Estructurado Moderno [Yourdon 89] y el Diseo Estructurado [Constant74; Yourdon 78], con extensiones para el modelado de sistemas de tiempo real [Ward 86]

Estructura de la Metodologa
ASML es una metodologa que integra todas las ideas involucradas en el anlisis y diseo estructurado. Conjuga las tcnicas y herramientas de modelado usadas en:
El Anlisis Estructurado Moderno y en el Diseo Estructurado

Dentro de una organizacin destaca los diferentes modelos necesarios para:


Obtener una buena comprensin del problema. Disear una solucin de buena calidad (mantenible, adaptable, etc.).

Separa el modelado de un sistema en una jerarqua de modelos necesarios para comprender diferentes propiedades del mismo

Jerarqua de modelos de ASML


Modelo del Sistema Modelo Esencial
1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie

Modelo de

Implementacin

Modelo del Ambiente

Modelo de Comportamiento

Diccionario de Datos

Modelo del Usuario


DTE

Modelo de Distribucin Modelo de Procesadores

Modelo de Programa

Diagrama de Contexto Lista de Eventos


1.- cliente 1.- client vie 1.- cliente 1.- cliente 1.- cliente vie vie

Modelo de Tareas
DEs por Tarea

Modelo Funcional

Informes, Listados, Lay-out de Pantallas rboles de Pantalla

Modelo de Datos

DFDs por Tarea

DFDs y ERDs por Procesador

Es concebido como la Tecnologa Perfecta sin restricciones de memoria, tamao del disco o velocidad del procesador, componen dos modelos: El Modelo del Ambiente comprende:
Declaracin de los objetivos. Creacin de un Diagrama de Contexto y

El Modelo Esencial

De una Lista de Eventos, describe los estmulos que recibe el sistema y las respuestas generadas por los estmulos.
Definicin del Diccionario de Datos inicial. Tabla de Estimulo-Respuesta.

El Modelo de Comportamiento comprende:


Creacin de un DFD y Creacin de un DER por cada uno de los eventos de la Lista de Eventos. Los DFDs por eventos se unen en un nico DFD (el Modelo Funcional) y los ERDs por eventos se unen en un nico ERD (el Modelo de Datos). Se acostumbra, tambin, modelar el comportamiento externo del sistema con DTE, rboles de pantallas o menes, etc. La creacin simultnea del modelo de datos, modelo funcional y modelo de interfaz o comportamiento externo, ayuda en la validacin y completitud del modelo esencial (descubriendo, por ejemplo, eventos no considerados)..

El Modelo de Implementacin
La validacin debe ser aplicados en esta etapa para obtener un modelo esencial de calidad y que sea consistente. El modelo esencial es instanciado en una tecnologa dada determinar: la cantidad de procesadores, sus cualidades, el tamao de disco, etc. El modelo de implementacin se fundamenta en la creacin de los siguientes modelos : El Modelo del Usuario: La interfaz hombre-mquina, estilo (rboles de menes, lenguajes de comandos, manipulacin directa, etc.), lay-out y formato de pantallas, formato de informes y listados, diseo de pantallas para el ingreso de datos y presentacin de resultados, estilo de mensajes de error, secuencialidad, etc. La creacin de este modelo es independiente del resto de los modelos que conforman la implementacin, y es desarrollado en paralelo al modelo de procesadores y tareas. El Modelo de Distribucin: Describe todas las decisiones relativas a la arquitectura de hardware (modelo de procesadores) y a la estructuracin general de la arquitectura de software (modelo de tareas).

El Modelo de Implementacin
El Modelo de Procesadores: (modelo de datos, modelo funcional y modelo de comportamiento externo o de interfaz) es subdividido por procesadores. Se aplican criterios cualitativos y cuantitativos para seleccionar los procesadores, sistemas operativos, software y hardware de red, etc. corresponden a la particin del DFD, ERD, DTE en procesadores, refinamiento de procesos y entidades o depsitos de datos y a la incorporacin de procesos para el control de la comunicacin entre procesadores.

El Modelo de Tareas: Los modelos resultantes son estudiados por separado para un procesador, y determinar tareas diferentes (DFD uno por tarea) agrupando procesos batch, interactivos o de tiempo real, partes del DFD aisladas del resto (comunicacin solamente a travs de depsitos de datos), etc. Adems, es probable que sea necesario agregar procesos de control de concurrencia y sincronizacin para el acceso a recursos compartidos (como por ejemplo los depsitos de datos).
El Modelo de Programas: La estructura del programa que implementa cada una de las tareas resultantes de las etapas de modelado de procesadores y tareas, es diseada mediante la aplicacin de las tcnicas y estrategias descriptas por el Diseo Estructurado (por ejemplo: Anlisis de Transformaciones y Transacciones).

Secuencia de creacin de los Modelos


1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie 1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie

Diccionario de Datos

Lista de Eventos

Diagrama de Contexto

1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie

Modelo del Ambiente

Diccionario de Datos Modelo de Datos Modelo Funcional Modelo de Comportamiento Externo rboles de Pantalla ss Informes, Listados, Lay-out de Pantalla s
1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie

Modelo de Comportamento Modelo de Usuario Modelo de Procesadores

Modelo de Datos, Funcional, y de Interfaz para cada Procesador Arquitectura de Hardware Un DFD para cada Tarea de cada Procesador Arquitectura de Software

Diccionario de Datos

Modelo de Tareas

Uno o mas DEs Para cada Tarea

Estructura de los Especificacin Programas e de Mdulos

Modelo de Programas

Del Anlisis al Diseo Estructurado


AE es de amplia difusin y es una descomposicin funcional
(Originariamente) Orientada a procesos yTop/down

Presente en numerosas metodologas


Ejemplo: Mtrica, SSADM, information engineering, Merise y ASML

Cuyas tcnicas importantes son: DFD (Diagrama de Flujo de Dato Dataflow diagram), Diagrama E-R (EntidadRelacin), se dispone de Herramientas CASE, luego de traduce en DED (Diagrama de Estructura de Datos)
Diagramas HVE (Historia de Vida de las Entidades) Diagramas de Transicin de Estados (STD, State Transition Diagram)

Facilita la comunicacin en el proceso de desarrollo de un sistema de informacin:


anlisis y diseo, usuarios analistas y es sencillo (fcil de entender y fcil de aprender)

Diagrama de Flujo de Datos (DFD)


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

Ejemplo: Sistema de distribucin sin inventario

flujo de datos

Se trata de un sistema que sirve pedidos de libros a unos clientes, con la particularidad de D ALMACN DE que no mantiene un DATOS stock o inventario interno. El sistema puede agrupar los pedidos que distintos clientes hacen a un mismo editor, de manera que se puedan conseguir descuentos.

DFD: Ejemplo Prctico


Diagrama de contexto

pedidos

CLIENTE
0. Sistema de Pedidos

rdenes de compra

libros entregados

Flujo de datos, no son materiales, son datos

EDITORIAL
libros pedidos

DFD: Ejemplo Prctico


0. Sistema de pedidos
pedidos D LIBROS rdenes de compra pedidos vlidos estado del crdito D CLIENTES pedidos por ttulo direccin 5. Armar entrega a clientes libros por clientes 4. Asignar libros a pedidos libros recibidos
libros recibidos = {ttulo + cantidad}

1. Verificar validez de pedido

D PEDIDOS PENDIENTES

2. Armar pedidos a editores

D RDENES DE COMPRA

pedidos en lote

libros entregados
libros entregados = albarn + lista-novedades

3. Verificar envo de editores

libros pedidos

DD

DD

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

Por defecto, usar diagramas E-R

Ejemplo de Diagramas E/R


Departamento
(1,n) pertenece (1,1)

Diagrama E/R
[EN2002] (Chen)

Empleado

asignado (0,n) (1,m)

Proyecto

Departamento

Proyecto

DED

pertenece tiene Empleado

requiere

Asignacin

DIAGRAMA DE ESTRUCTURA
Ejemplo
Evaluar pedidos
Ped. aceptada Ped. aceptada Informe prstamo

Informe prstamo

Recibir peticiones

Elaborar informe

Informar peticin

Ped. prstamo

Ped. rechazada

Ped. prstamo

ok

Leer pedidos

Consultar stock

Rechazar pedido

Resumen de AE: Esquemas


Diagrama de Flujo de Datos
FUENTE
A PROC B X PROC V Y W PROC D ALMACN DE DATOS Z PROC PROC

DESTINO

Paso al diseo

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

Diagrama de Estructura

Diseo Estructurado.
Objetivo es especificar la construccin del sistema: Definicin de la arquitectura del sistema, arquitecturas multinivel (p.ej. C/S) Definicin del entorno tecnolgico Especificacin detallada de los componentes del SI:
Especificacin tcnica del plan de pruebas Definicin de los requisitos de implantacin Diseo de los procedimientos de migracin y carga inicial (cuando proceda)

Para cada uno de los subsistemas se disea la estructura modular de los procesos que lo integran. Punto de partida: modelo de procesos obtenido en Anlisis de SI y catlogo de requisitos. Tcnica: Diagrama de Estructura de Cuadros de Constantine (DE) Se realiza el diseo detallado de la interfaz de usuario, de pantalla e impresa. El interfaz de usuario debe corresponderse con la estructura modular.

Conceptos y principios del Diseo


El diseo es un proceso a travs del cual los requerimientos establecidos en la fase de anlisis se traducen en una representacin modular del software, se precisa construir acompaado de los procedimientos en virtud de los cuales cada mdulo lleva a cabo su tarea, y de las estructuras de datos que procesa. Larry Constantine
78.

El diseo estructurado es un mtodo de configuracin de la organizacin modular del software que se desarrolla a partir de los flujos de datos en el diseo de programas como estructuras de funciones nicas y de relativa independencia.

Efectividad del Diseo


Para el diseo representativo, es preciso los criterios del buen diseo, siguientes: El diseo debe exhibir una organizacin jerrquica con mecanismos de control que no atenten contra la independencia relativa de cada componente. El diseo debe ser modular, particiones lgicas del software 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 en la fase de anlisis. -Mdulo(laridad) - Abstraccin - Refinamiento

Mdulo(laridad)
Mdulo es una unidad claramente definida y manejable que forman parte de los elementos constituyentes del software La modularidad es el particionamiento del software en elementos con nombres y direcciones separadas que se denominan mdulos, los cuales en su composicin generan la totalidad capaz de resolver el problema global. Trata 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.

Beneficios de la Modularidad
Programas ms simples, es comprendido, verificado, programado, depurado, mejorado y alterado por partes. Mdulos desarrollados con relativa independencia. Disminucin de errores al reducir la complejidad.. El programa se debe evaluar por partes, ya que la test se hace ms fcil. Programa ms fcil de alterar ya que son menores las lneas de cdigo a considerar para incorporar los cambios. Mdulos de funcin nica son reutilizados. Cometer errores por parte de los programadores disminuye porque son menos las lneas de cdigo a enfrentar al mismo tiempo.

Beneficios de la Modularidad
La rotacin de personal es menos crtico, ya que los programadores se involucran en unidades de cdigo ms pequeas, 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.

Mdularidad
-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 a otro se dice que es "superordinado" a ste y, recprocamente, un mdulo controlado por otro se dice que es "subordinado".
Mdulo Superordinado

Mdulo Subordinado
Fan-out : 2 Fan-in : 1

Abstraccin
Cuando se considera la solucin modular para enfrentar un problema, se plantean 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 terminologa orientada al problema con una orientada a la implementacin. El nivel ms bajo de abstraccin permite que la solucin pueda implementarse directamente

Refinamiento
-El refinamiento gradual es una estrategia de diseo top_down propuesto por 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 en una o varias instrucciones del programa y cada vez ms detalladas. El refinamiento sucesivo termina cuando todas las instrucciones estn expresadas en trminos de cualquier lenguaje bsico de programacin.

Refinamiento
- En el dominio SI, la modularizacin se apoya en lo que se
conoce como refinamiento sucesivo o gradual, para que la configuracin de la estructura del software sea precisa disear y luego construir.

Abstraccin

Refinamiento Gradual
Mdulo A Modularidad
A1 A2

Factorizacin

DIAGRAMA DE ESTRUCTURAS (DE)


El diseo estructurado comprende los tpicos como son:
Diagramas de Estructura Tablas de interfaz Estrategias de diseo
Transformacin Transaccin

Atributos de calidad de un diseo Metodologas de diseo


Modelo de Jackson Metodologa de Warnier

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

Visin Panormica
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

28

Definiciones de los mdulos

Proceso de Diseo
El proceso de aplicar distintas tcnicas y principios con el propsito de definir un dispositivo, un proceso o un sistema con suficiente detalle para permitir su realizacin fsica. Proceso iterativo a travs del cual se traducen los requisitos en una representacin del software.

Proceso de Diseo
ERS Anlisis (Qu) Lenguaje comprensible por el usuario
Organizacin lgica

E-R
Diseo de alto nivel (arquitectnico)

DFD

Enfoque de datos Modelo lgico de datos

Enfoque funcional Arquitectura de procesos

Diseo (Cmo)

Modelo fsico de datos


Diseo de bajo nivel (detallado)

Estructura detallada: programas y mdulos


Decisiones concretas: organizacin y rendimiento

Esquema de BD y ficheros

Cuadernos de carga
Codificacin y pruebas

(Piattini et al. 96)

Implementacin Lenguaje comprensible por la mquina

Elementos del Diseo Estructurado


Diseo de datos. Transforma el modelo del dominio de la
informacin del anlisis en las estructuras de datos necesarias para la implementacin. Esquema Lgico de Datos Modelo Relacional.

Diseo arquitectnico. Estructura modular del


programa/aplicacin, tiene la finalidad de comprobar las relaciones con los diferentes mdulos o macro requisitos del sistema. Comprende la arquitectura lgica, fsica y modelo de datos. de los cuales se resalta: particiones fsicas descomposicin lgica en subsistemas de diseo ubicacin de cada subsistema en cada particin especificacin detallada de la infraestructura tecnolgica

Diseo Detallado. Descripcin procedimental detallado de los micro componentes del Sistema, diseo detallado de mdulos, interfaces del SW
con otros sistemas y con los usuarios, modelo navegacional, diccionario de datos y matriz de trazado

Definicin de la arquitectura del sistema.


Definicin de niveles en la arquitectura:
definicin de las principales particiones fsicas del SI (nodos y comunicaciones entre nodos):
gestores de datos tipos de puesto cliente tipos de dispositivos de impresin monitores de teleproceso servidores comunicaciones

Se usa un diagrama de representacin (formato libre) o de despliegue UML

Ejemplo de Arquitectura del sistema

Definicin de la arquitectura del sistema


Identificacin de subsistemas de diseo:
normalmente, evolucin directa de los subsistemas de anlisis, aunque se pueden adoptar otros criterios. en diseo estructurado, se describen con un diagrama de estructura de alto nivel subsistemas especficos: funcionalidades propias del SI subsistemas de soporte: servicios comunes, que proporcionan un acceso transparente a los recursos

Se ubican los subsistemas en nodos Se especifica el entorno tecnolgico:


se determina la implementacin concreta de los nodos y comunicaciones especificados

Diseo de mdulos del sistema


Objetivo: para cada uno de los subsistemas se disea la estructura modular de los procesos que lo integran. Punto de partida: modelo de procesos obtenido en ASI y catlogo de requisitos. Tcnica: Diagrama de Estructura de Cuadros de Constantine (DEC) Se realiza el diseo detallado de la interfaz de usuario, de pantalla e impresa. El interfaz de usuario debe corresponderse con la estructura modular.

Diseo fsico de datos


Objetivo: definir la estructura fsica de datos que utilizar el sistema, a partir del modelo lgico de datos normalizado o del modelo de clases Paso a tablas, si se usa un SGBDR. Se analizan los caminos de acceso a los datos persistentes, por parte de cada mdulo, con el fin de mejorar los tiempos de respuesta y optimizar recursos.

Verificacin y aceptacin de la arquitectura del sistema


Objetivos: garantizar la calidad de las especificaciones del diseo y su viabilidad:
Verificacin de la calidad tcnica de cada modelo Aseguramiento de la coherencia entre varios modelos Aceptacin del diseo por parte de Explotacin y Sistemas

Generacin de especificaciones de construccin.


A partir del diseo anterior, se generan las especificaciones para la construccin del SI, incluyendo:
Especificacin del entorno de construccin:
herramientas, compiladores, generadores de cdigo, etc.

Descripcin de componentes Especificacin detallada de componentes


normalmente en pseudocdigo

Especificacin de la estructura fsica de datos


definicin y creacin de los elementos del modelo fsico de datos con el DDL del SGBD escogido

Especificacin tcnica del plan de pruebas


Se especifica en detalle el plan de pruebas del SI, para los niveles de prueba:
Pruebas unitarias Pruebas de integracin Pruebas de implantacin Pruebas de aceptacin

Se especifica el entorno de las pruebas Se definen los casos de prueba

Especificacin tcnica del plan de pruebas


Catlogo de requisitos (se completa) Catlogo de excepciones Catlogo de normas para el diseo y construccin Diseo de la arquitectura del sistema Entorno tecnolgico del sistema Procedimientos de operacin y administracin del sistema Procedimientos de seguridad y control de acceso Diseo detallado de los subsistemas de soporte Modelo fsico de datos optimizado Asignacin de esquemas fsicos de datos a nodos Adems, en diseo orientado a objetos: Diseo de la realizacin de los casos de uso Modelo de clases de diseo Comportamiento de clases de diseo Diseo de interfaz de usuario

Diagrama de Estructuras de Constantine (cuadros).


Diseo de la Arquitectura del Sistema: Diagrama de mdulos funcionales. Identifica qu mdulos se necesitan, as como sus inputs/outputs (caja negra). Refleja la comunicacin de datos y control y la jerarqua entre mdulos. Diagrama de estructura. Elementos constituyentes :
Mdulos. Conexiones. Comunicaciones.

Aquella parte de cdigo que se puede llamar. (Page-Jones 88). Representa un programa, subprograma o rutina, dependiendo del lenguaje que se vaya a utilizar. Admite parmetros de llamada y retorna algn valor, si es preciso. Tamao ideal: 40-50 lneas, pero hay muchas opiniones! Se representa en el diagrama mediante un rectngulo.

Diagrama de estructura de cuadros de Constantine.

MODULO OBTENER DATOS CLIENTES

MODULO PREDEFINID O IMPRIMIR CHEQUE DE PAGO

CONECTOR 1

En Mtrica tambin se dispone de: Almacenes de datos Dispositivos fsicos


NOMBRE

DISPOSITIV O

Diagrama de estructura de cuadros de Constantine


La conexin entre mdulos se representa mediante una lnea. En la figura:


A llama a B. B hace su funcin. B retorna a A, inmediatamente despus del lugar donde se produjo la llamada de A a B.
CONEXION

MODULO QUE LLAMA

MODULO LLAMADO

El diagrama no dice nada sobre el cdigo de A ni sobre el de B, lo nico que sabe es que en A existe una sentencia del tipo CALL B.

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).

A Estructura alternativa

Estructura repetitiva

Orden de ejecucin de los mdulos: de izquierda a derecha y de arriba abajo (Piattini et al. 96).

Segn (Molina et al. 97) el orden no importa.

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).
Ejemplo tpico de men: Men login

Procesos para Agentes externos

Procesos para departamentos

Procesos Generales

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).

Los signos para llevar a cabo la comunicacin entre mdulos son:

campo alfabtico correcto

EOR

Obtener datos clientes

campo

campo correcto EOR campo

Flags o controles Datos


Obtener campo siguiente

Validar campo alfabtico

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine). Mediante los flags o controles, se puede representar:
Paso de control entre mdulos: un mdulo comunica a otro mdulo que ha terminado su proceso y traspasa al mdulo llamado el control del sistema. Comunicacin de que se ha producido un error en el proceso. Comunicacin de que se puede proceder a una operacin concreta.

Diagrama de estructura
Diagrama de estructura de cuadros de Constantine). Los datos se procesan. Los datos son la informacin compartida por los mdulos. La posicin de la flecha (hacia arriba o hacia abajo) indica el sentido de la comunicacin. Los datos tienen importancia para el mundo exterior, estn relacionados con el problema. Los controles slo sirven para comunicar condiciones entre los mdulos. Los controles indican al mdulo que llama la terminacin EOF, o un error del mdulo llamado, y deben ir siempre en sentido ascendente. Los flags tienen importancia en la comunicacin de informacin en el interior; son los que sincronizan la operativa de los mdulos.

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).

Se pueden representar mediante tablas de interfaz.


Mdulo Parmetro formal x Entrada Salida Uso Significado

F(x,y)

No

Fecha nacimiento

No

Edad

Uso:

P procesado
M modificado (...)

Diseo Estructurado.
Diagrama de estructura (Diagrama de estructura de cuadros de Constantine).

Diseo Estructurado.
Diagrama de estructura (Diagrama de estructura de cuadros de Constantine).
ENTERO VLIDO FIN DE FICHER O
CONSEGUIR ENTERO VLIDO

Jerarqua Iterativa
Cuerpo del Bucle

ENTERO FIN DE FICHERO ENTERO

EL ENTERO ES VLIDO

CONSEGUIR ENTERO VLIDO:

...
VALIDAR ENTERO

LEER ENTERO DE FICHERO

LEER_ENTERO( fin_fichero, entero ); ...

if VALIDAR_ENTERO( entero ) then ...


...

Diseo Estructurado.
Diagrama de estructura (Diagrama de estructura de cuadros de EMISIN CHEQUES DE PAGO Constantine).
NMERO EMPLEADO REGISTRO PAGO PAGO NETO JORNALERO FIN REGISTROS PAGO NETO EMPLEADO REGISTRO PAGO JORNALERO REGISTRO PAGO EMPLEADO OBTENER REGISTRO PAGO CALCULAR PAGO NETO JORNALEROS CALCULAR PAGO NETO EMPLEADOS IMPRIMIR CHEQUE PAGO IMPORTE PAGO NOMBRE EMPLEADO

RETRIBUCIN DIARIA PAGO BRUTO JORNALERO JORNADAS TRABAJADAS

DEDUCCIONES NORMALES SUELDO BASE PAGO BRUTO EMPLEADO COMPLEMENTOS IRPF IRPF CALCULAR DEDUCCIONES NORMALES CALCULAR PAGO BRUTO EMPLEADOS

CALCULAR PAGO BRUTO JORNALEROS

Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine). A veces hay que refinar el DFD de partida. Dos estrategias:
Anlisis de transformaciones. Anlisis de transacciones.

Importante: disear el DE de forma que:


Los mdulos de nivel superior toman las decisiones de ejecucin (coordinan). Los de nivel inferior realizan la mayor parte del trabajo de entrada, de clculo y de salida.

Revisar el modelo fundamental del sistema


DFD procesos primitivos
no hace falta crear el DFD de procesos primitivos se aaden procesos, si hace falta recomendado, como mnimo, tener 3 niveles de profundidad

Determinar si el DFD tiene caractersticas de transformacin o de transaccin.


indica expresamente la caracterstica del DFD!

Diagrama de estructuras
(Diagrama de estructura de cuadros de Constantine). Estrategias de Diseo.
Segn sea de transformacin o transaccin:
a) Aislar el centro de la transformacin, especificando los lmites del flujo de llegada y de salida ...o bien... b) Identificar el centro de la transaccin y las caractersticas del flujo de cada camino de accin. indica expresamente los elementos anteriores!

Realizar el primer corte del diagrama de estructuras. Realizar el segundo nivel de factorizacin. Refinar la estructura del programa. Asegurarse del trabajo realizado por el diseo obtenido.

Estrategias para Construir Diagrama de Estructura

Diseo Centrado en Transformaciones DFD Diseo Centrado en Transacciones Anlisis Diseo Diagrama de Estructura

Estrategia de Diseo
Diseo centrado en Transformaciones
Los datos entran al sistema mediante caminos que se llaman flujos de entrada En el ncleo ocurre la transformacin de los datos, que entraron anteriormente Finalmente los datos se mueven por caminos llamados flujos de salida
1.1 1.2
3 2.1 2.2 4.2 Flujo de entrada Centro de Transformacin Flujo de salida 4.1

Estrategia de Diseo
Diseo centrado en Transacciones
Se presenta un centro de transaccin, como centro de flujo de informacin Desde el centro de flujo de Informacin, surgen muchos caminos de accin alternativos Los caminos de accin alternativos, son de forma excluyentes
2.1 2.2

Camino de Accin 1

1 Centro de Transaccin

3.1

3.2

Camino de Accin 2
Camino de Accin 3

4.1

4.2

Estrategia de Diseo: Transformacin


1. Revisin del Modelo Fundamental del sistema
DFD, mnimo tres niveles 2. Determinar si el DFD Transformacin o Transaccin tiene caractersticas de

Analizar el centro de transformacin 3. Aislar el centro de Transformacin, especificando los lmites del flujo de entrada y de salida

Delimitar el centro de transformacin (depende del diseador)


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 el resto de los mdulos Mdulo coordinador de la Informacin de Entrada, Ce Mdulo controlador del centro de transformacin, que supervisa las operaciones de los datos, Ct Mdulo controlador, del procesamiento de la informacin de salida, Cs
1.1 1.2
3 4.1 4.2 Flujo de Salida

2.1
Flujo de Llegada Diagrama de Contexto

2.2

Centro de Transformacin

Cp

Ce

Ct

Cs

Nombres representativos

Estrategia de Diseo: Transformacin


5. Ejecucin del segundo nivel de factorizacin
a 1.1 1.2 3 b 2.1 2.2 Centro de Transformacin 4.1 Cp

z
4.2 Flujo de Salida Ce 1.2 1.1 2.2 2.1 Ct 3 Cs 4.1 4.2 Escribir z

Flujo de Llegada

Leer a

Leer b

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 Transformacin o Transaccin tiene caractersticas de

Analizar el centro de transaccin 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 el resto de los mdulos Mdulo coordinador de la Informacin de Entrada, Ce Mdulo gestor del centro de transaccin, D Mdulo controlador, los distintos caminos que generan informacin de salida, Ci; i=1n (n: n caminos)
a

z
R

Cp

Ce

C1

C2

C3

Estrategia de Diseo: Transaccin


5. Ejecucin del segundo nivel de factorizacin
Camino 1 a A D z a C1 Leer a P Q R Escribir z C2 C3 Camino 2 Ce P b Q Camino 3 R 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.

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 Estructurado.
Anlisis de Transformacin. Ejemplo.

Diseo Estructurado.
Anlisis de Transformacin. Ejemplo.

Anlisis de Transaccin
Ejemplo.

Anlisis de Transaccin Ejemplo.

Anlisis de Transaccin
Centro Normalmente el esquema de transaccin no es tan claro: el proceso de transaccin no aparece explcitamente en el DFD solucin: examinar el diagrama de contexto y la lista de eventos para determinar los tipos de transacciones en el sistema

Anlisis de Transaccin
Centro
P datos-venta Realizar venta

(Molina et al. 97) p.172

DPTO. SERVICIO A CLIENTES datos-devolucin P Realizar devolucin

...

P datos-pago Admitir pago

Seleccione la opcin deseada:

1. Realizar venta
2. Realizar devolucin 3. Admitir pago

Factores de la calidad: Acoplamiento


Es una medida de interconexin de los mdulos. Bajo acoplamiento se mide en las relaciones que guardan los mdulos con sus interfaces de entrada y salida, minimizar el acoplamiento corresponde al grado de independencia entre dos mdulos, es una determinante prioritaria al configurar las conformaciones estructurales. La obtencin de mdulos tan independientes como sea posible, se puede lograr principalmente de tres maneras: - Eliminando relaciones innecesarias. - Reduciendo el nmero de relaciones necesarias. - Debilitando la dependencia de las relaciones necesarias.

Factores de la calidad: Cohesin


La cohesin es una medida de la fuerza relativa funcional de los elementos de un mdulo que 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. Como principio de ocultamiento de informacin un mdulo realiza una tarea sencilla sin depender de otros mdulos.
Acoplamiento Cohesin (la informacin que esta dentro de un modulo debe ser inaccesible a otros mdulos que no necesiten esa informacin). 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
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
A acoplados si: Un Mdulo A llama a otro B B retorna el control a A B No se produce traspaso de parmetros entre ellos, slo existe la llamada de uno a otro.

2. Acoplamiento por Datos.- Dos mdulos estn acoplados por

datos si ellos se comunican por parmetros, siendo cada parmetro una unidad elemental de datos, 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. Obtener
Datos Cliente RUC_cliente Leer RUC

Tipos de Acoplamiento
3. Acoplamiento por Estampado o Imagen
Dos mdulos aparecen acoplados por estampado o 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 de datos, tal como un registro, el cual, por su parte, se constituye de varios campos. Cliente=RUC+nombres+apellido_paterno+Apellido_mater no+direccin+fono+e_mail
Calcular deuda Cliente
Cliente

Leer Cliente

4. Acoplamiento de Control

Obtener Datos Cliente


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 ejecucin entre un mdulo y otro. No es muy recomendable.

Tipo_dato

Leer Cliente

Tipos de Acoplamiento
5. Acoplamiento Comn Los mdulos presentan acoplamiento comn, si ellos se refieren a la misma rea estructura de datos (global). Cuando slo se acoplan por una variable (global), se trata de un Acoplamiento Externo Programas con muchos datos globales son extremadamente difciles de entender por los programadores en mantenimiento, porque no es fcil saber cules son los datos usados por un cierto mdulo.
Actualizar Stock Video Obtener Nombre Video

video

Leer Registro Video

Tipos de Acoplamiento
6. Acoplamiento por Contenido A B Es un tipo de acoplamiento Inaceptable. dos mdulos .. .. presentan acoplamiento de Srch: Move.. .. contenido (o patolgico) si uno .. Jump to Srch 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 Tal acoplamiento torna el concepto de mdulos altera un comando de otro.
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 estn 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 Mdulo como Caja Negra

Mdulo Transparente

COINCIDENTAL
Grado de Cohesin

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

Tipos de Cohesin
1. Cohesin Funcional
Se puede decir que un mdulo con cohesin funcional es aquel que contiene elementos que contribuyen a la ejecucin de una y slo una tarea relacionada al problema objeto de diseo.
Ejemplos Calcular el coseno de un ngulo Calcular el I.G.V. De una factura Verificar el dgito de un RUC

2. Cohesin Secuencial
Un mdulo cohesionado secuencialmente es aquel cuyos elementos estn envueltos en actividades tales que los datos de salida de una actividad sirven como datos de entrada para la prxima actividad.

Ejemplo: Calcular Salario 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 ....

Tipos de Cohesin
3. Cohesin Comunicacional
Un mdulo presenta cohesin comunicacional cuando sus elementos contribuyen a actividades que usan la misma entrada o la misma salida. No importa el orden secuencial. Ejemplo: Obtener datos Video 1. Obtener nombre video 2. Obtener stock video 3. Obtener ubicacin 4. Obtener precio .... Ejemplos: Actividades en una oficina 1. Hablar por telfono 2. Tomar un caf 3. Leer correo electrnico 4. Solicitar cotizacin

4. Cohesin Procedimental
un mdulo cohesionado por 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
Un mdulo con cohesin temporal es aquel cuyos elementos estn envueltos en actividades que estn relacionadas en funcin del momento en que se realizan. Ejemplo: Actividades iniciar el da 1. Apagar despertador 2. Tomar una ducha 3. Vestirse 4. Tender la cama 5. Tomar desayuno .... al

6. Cohesin Lgica
Un mdulo tiene cohesin lgica, cuando existe alguna relacin entre los elementos del mdulo, contribuyendo al desarrollo de actividades de una misma categora general, donde la actividad o las actividades a ser ejecutadas se seleccionan desde fuera del mdulo.

Ejemplo: Registrar Pago

1. Registrar pago con tarjeta de crdito 2. Registrar pago con cheque 3. Registrar pago con efectivo ....

Tipos de Cohesin
7. Cohesin Coincidental
Un mdulo coincidentemente cohesionado es aquel cuyos elementos desarrollan actividades sin relacin significativa entre s.
Ejemplo: 1. Comprar un libro 2. Comer un trozo de torta 3. Ir al teatro 4. Lavar la ropa 5. Dormir ....

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.

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.

Diccionario de Datos
Especificacin de procesos
Clave_votante_vlida: Flag que indica que la combinacin ingresada por el cliente es vlida, y puede llevar a emitir su voto.
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. Pseudocdigo Cerrar archivo INFORMACIN MUNICIPAL. Mandar mensaje indicando Datos_actualizacin_registrados.

Diccionario de Datos (DD)


Es un conjunto de metadatos o informacin (datos) sobre datos, contiene las definiciones de todos los elementos de los diagramas Flujo de datos: entrega Implementacin Descripcin: Conjunto de libros enviados
Manual Procesador de textos Base de datos Automtico e integrado
por un proveedor a la biblioteca, basado en la relacin que previamente haba recibido. Sinnimos: *** no tiene *** Componente de: *** no tiene *** Composicin: Libros + { comrpbante } Informacin de entrada y salida Origen Destino *** Off the diagram *** Compra libros PROVEEDORES Biblioteca

Diseo Arquitectnico
El concepto de Arquitectura de SI tiene mucho tiempo, pero en la dcada de los 1990s comenz a utilizarse de manera formal. Analizando SI se puede observar que existen patrones que se repiten conformando lo que se conoce como estilos arquitectnicos. Un estilo arquitectnico define un conjunto de familias de patrones de software con una determinada estructura y restricciones. Generalmente los patrones de diseo y arquitectura definen soluciones para medios repetitivos. La arquitectura de software es una abstraccin del sistema que permite ver su estructura y su relaciones.

Diseo Arquitectnico
Para el desarrollo del Diseo Arquitectnico se recomiendan seguir los siguientes pasos:
Estructuracin del sistema Modelado de control Descomposicin modular

La Arquitectura de Flujo de Datos parte del DFD para obtener una arquitectura del sistema:
Se establece el tipo de flujo de informacin Se indican los lmites del flujo Se convierte el DFD en una estructura del programa

Se define la jerarqua de control mediante particionamiento. Se refina la estructura resultante utilizando heursticas de diseo.

Diseo Arquitectnico
La Arquitectura Centrada en Datos tiene como componente principal un repositorio, del cual surgen los dems componentes. Las Arquitecturas Estratificadas son las ms utilizadas en la actualidad, dado que dividen las actividades y responsabilidades de sistemas por capas. El software ms elaborado como los sistemas operativos, software de base, sistemas distribuidos y otros maneja variantes de esta arquitectura. El diseo se debe refinar realizando cada uno de los siguientes pasos:
Desarrollar una descripcin del procedimiento para cada mdulo. Desarrollar una descripcin de la interfaz para cada mdulo.

Diseo Arquitectnico
Se definen las estructuras de datos generales y globales. Se anotan todas las limitaciones/restricciones del sistema. Se debe refinar el diseo hasta que est completo. Se recomienda completar la arquitectura con el Diseo de Interfaces. El diseo arquitectnico tiene que ver con el diseo de las macro-componentes del sistema teniendo en cuenta los requisitos de SI. Existen muchas tcnicas y lenguajes para especificar la arquitectura del sistema, se considerar lo siguiente:
Arquitectura Fsica Arquitectura Lgica Modelo de Datos

Arquitectura Fsica
La Arquitectura Fsica expresa cules son los componentes fsicos (cliente, servidor, servidor Web, BD, etc) que participan en la solucin, y la relacin entre ellos. La especificacin de la Arquitectura Fsica normalmente consta de uno o ms diagramas, y la explicacin de los mismos. Tpicamente, la arquitectura fsica es una formalizacin del ambiente operacional definido en el Documento de Requisitos.

Arquitectura Fsica (cont..)


Ejemplo de una Arquitectura Fsica....

Arquitectura Fsica (cont..)

Arquitectura Informal

Arquitectura Fsica (cont..)

Arquitectura Fsica de Tres Capas

Arquitectura Fsica de 3 capas


La tendencia hacia las arquitecturas fsicas de tres capas nunca ha sido tan fuerte como ahora. Todo gracias al espectacular crecimiento de las aplicaciones Web. La arquitectura de tres capas permite que las interfaces de usuarios, la lgica empresarial y los datos residan por separado. Y posiblemente operen en mquinas diferentes con conexin en red. Un factor destacable de esta arquitectura es la posibilidad de que un browser pueda acceder a la lgica empresarial y a la informacin, mientras que sta permanece a salvo tras un firewall.

Arquitectura Fsica de 3 capas (cont.)


Esta arquitectura es una especializacin de la Arquitectura Cliente/Servidor. CAPA 1: Est compuesto por el programa que utiliza el usuario para acceder a la funcionalidad del sistema. Este programa, que generalmente es un navegador, forma parte del cliente. CAPA 2: Est compuesto por el servidor Web y posiblemente algunos accesorios, como por ejemplo: adm. de transacciones, adm. de servicios internos, adm. de seguridad, etc. Esta capa forma parte del servidor, aunque sus componentes pueden ejecutar en diferentes mquinas. CAPA 3: Est compuesto por el modelo de datos del sistema, y por el administrador de estos datos (SABD). Esta capa forma parte del servidor, aunque puede correr en cualquier mquina.

Arquitectura Fsica: 3 capas (cont.)

Otra Arquitectura Fsica de 3 Capas

Arquitectura Fsica: 3 capas


Esta arquitectura necesita de "pegamento Web", que es un software que une el mundo HTML, con entornos capaces de soportar aplicaciones empresariales (adm. de transacciones, seguridad, datawarehouse, etc.). Una vez que las compaas se han instalado en el mundo de las aplicaciones Web de tres capas, obtienen importantes ventajas:
Escalabilidad mejorada. Mayor seguridad. Reutilizacin del cdigo. Administracin de transacciones mejorada. Mayor flexibilidad, adaptabilidad y capacidad de expansin. Mayor mantenibilidad.

Una de las arquitecturas ms conocidas es la de Microsoft.

Arquitectura Fsica: 3 capas (cont..)

Otra Arquitectura Fsica de Tres Capas

Arquitectura Lgica
La Arquitectura Lgica expresa cules son los componentes lgicos (subsistemas, o macro-funciones) que participan en nuestra solucin, y la relacin entre ellos. La especificacin de esta arquitectura, es similar a la arq. fsica.
Se especifican actores y relaciones entre ellos, slo que los actores ahora son: subsistemas de mi solucin o macro-funciones de la misma.

En los diagramas que expresan tanto la arq. lgica como la fsica, se puede utilizar casi cualquier simbologa que clarifique el escenario (DFD, Diagr. de clases, bloques, casos de uso, dibujo informal, etc)... a menos que existan restricciones al respecto. A continuacin se muestran algunos ejemplos de Arquitecturas Lgicas de Sistemas.

Arquitectura Lgica (cont...)

Arquitectura Lgica (cont...)

Arquitectura Lgica (cont...)

Arquitectura Lgica (cont...)

Arquitectura Lgica (cont...)

Algunas recomendaciones para el diseo de datos son:


Definir todas las posibles operaciones a realizar sobre los datos. Se deben refinar las estructuras de datos hasta tener representaciones de bajo nivel. Se deben desarrollar bibliotecas tiles para la manipulacin de datos. El lenguaje de implementacin debe soportar tipos de datos abstractos. Se debe tener cuidado a la hora de disear diccionarios de datos, para que no se tengan basureros de datos en lugar de almacenes de datos.

Diseo de Datos

Diseo de Datos
clave_Vot Rut_Vot Votante Nom_Vot contiene asigna consulta Nom_Cand Id_Partido Nom_Cand Id_Voto Nom_Cand Part_Cand

Voto

candidatos

Direccin Servicios

Municipalidad Fono

Nom_Organ Id_Organ Comuna

Votante Clave_Vot A10 Rut_Vot A10 Nom_Vot A30

Diseo de Datos
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

Modelo de Datos
- El

modelo de datos consiste en identificar grficamente las entidades (o tablas) que participan en mi sistema, ya sean nuevas o existentes

- Identificar la clave primaria y las claves forneas de cada una. - Podran incluirse tambin otros campos...

Modelo de Datos

Diseo Detallado
El diseo detallado tiene que ver con el diseo de las micro-componentes del sistema. Obviamente, este diseo tiene que tener en cuenta los requisitos de software (ltima versin) y el Diseo arquitectnico. En un proyecto SI se especifica el Diseo Detallado a travs de los siguientes tems:
Diseo Detallado de Mdulos Modelo de Navegacin Interfaces de Usuario Diccionario de Datos Matriz de Trazado

Diseo Detallado de Mdulos

Diseo Detallado de Mdulos

Cada sistema o sub-sistema se debe descomponer en una serie de mdulos interrelacionados. Se deben mantener las interfaces de entrada/salida. Cada uno de los mdulos del sistema se debe tener un identificador, que luego ser usado en el diccionario de datos, para especificar:
ID, Nombre (o descripcin), Subsistema, Funcin, Parmetros de Entrada, Parmetros de Salida.

Modelo de Navegacin del Sistema


Especificar el modelo de navegacin del Sistema, identificando cada uno de sus componentes. A continuacin se muestran ejemplos de modelos de navegacin, para Web.

Modelo de Navegacin del Sistema

Modelo de Navegacin del Sistema

Diseo de Interfaz de Usuario


El diseo de interfaces se refiere al estudio de las relaciones entre los usuarios y las computadoras para que un sistema se pueda ejecutar. El diseo de una interfaz puede definir el xito de cualquier proyecto, ya que la utilizacin de cualquier interfaz de usuario depende de factores humanos. Existen algunas reglas de oro para el buen diseo de Interfaces de Usuario:
Dar el control al usuario Reducir la carga de memoria del usuario Construir una interfaz consecuente

Diseo de Interfaces de Usuario


Existen cuatro modelos diferentes para el desarrollo de interfaces: Modelo de diseo: que consiste en representar el software de acuerdo a los datos, arquitectura, interfaz y procedimiento. Modelo de Usuario: Representa el perfil del usuario (edad, cultura, etnia, educacin, etc.). Existen tres tipos de usuario: Principiantes, Espordicos y Frecuentes. La percepcin del sistema (modelo de usuario): es la idea que tienen los usuarios sobre la posible interfaz del sistema. La imagen del sistema es un modelo que intenta mezclar lo que es la estructura del sistema con analogas de la vida real.

Diseo de Interfaces de Usuario


Las fases del proceso del desarrollo de interfaces de usuario son:
Anlisis de usuarios, tareas y entornos Diseo de la interfaz Implementacin de la interfaz Validacin de la interfaz

Se deben seguir las siguientes recomendaciones:


Establecer los objetivos e intenciones de cada tarea. Hacer correspondencia entre cada objetivo con una secuencia de interaccin. Especificar la secuencia de acciones de tareas y subtareas.

Diseo de Interfaces de Usuario


Se debe indicar el estado del sistema Se deben definir mecanismos de control Se debe mostrar la forma en como los mecanismos de control afectan el estado del sistema. Se debe indicar la forma en que el usuario interpreta el estado del sistema a partir de la informacin presente en la interfaz. Los principales problemas que se presentan al disear una interfaz de usuario son:
El tiempo de respuesta del sistema Los servicios de ayuda al usuario La manipulacin de informacin de errores El etiquetado de rdenes.

Diseo de Interfaz

Patrn de Interfaz de usuario

Diseo de Cada Interfaz

Se disea cada interfaz, que guarde relacin con el modelo de navegacin (3.2).

Diseo de Cada Interfaz

Diseo de Cada Interfaz

Diseo de Cada Interfaz

Diseo de Cada Interfaz

Diseo Detallado (Procedimental)


Tambin llamado diseo de Componentes, se debe de desarrollar cuando se haya terminado el diseo de datos, interfaz y arquitectura. El objetivo de este diseo es tener un modelo de solucin que sea fcil de implementar en lenguajes de programacin. El diseo de procedimientos se hace estructuradamente, podra hacerse con otro paradigma. Se pueden utilizar mecanismos como los diagramas de flujo, los diagramas de caja (NS-Chapin), Lenguaje de Diseo de Programacin (Pseudocdigo). El diseo procedimental debe de ser:
Simple (leer, usar y entender) Modular Fcil de editar

Diseo Procedimental
Legible para la computadora Representar los datos del problema El diseo procedimental es la etapa ms importante del diseo para la fase de construccin del proyecto dado que el modelo que aqu se genere debe de estar libres de errores.

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.

Especificacin mediante las Miniespecificaciones del Anlisis


Este mtodo considera que las miniespecificaciones generadas durante la fase de anlisis sirven tambin como especificacin de mdulos. Se considera, en general, que la especificacin de cada burbuja del diagrama de flujo de datos es suficiente para 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.

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

Diccionario de Datos
- El diccionario de datos complementa el diseo mostrado en todos los puntos anteriores. - El diccionario de datos tiene 2 componentes: Especificacin de Procesos y de Datos. - Especificacin de Procesos/Pg.Web: Por cada mdulo especificado, se indica su funcin, los parmetros que recibe, y los parmetros que retorna. - Especificacin de Datos: Por cada tabla se especifican los campos y su formato.

Ejemplo: Especificacin de Procesos


NOMBRE: Ingreso de Alumnos SUBSISTEMA: Administracin de alumnos FUNCIN: Este mdulo permite al alumno el ingreso/actualizacin de sus datos personales, por pantalla, a travs de un browser. ENTRADAS: RUT (Char(13)). SALIDAS: No Hay. NOMBRE: Solicitud de Certificado SUBSISTEMA: Certificaciones FUNCIN: Este mdulo permite al alumno solicitar un certificadotipo A, B, y/o C, por pantalla, a travs de un browser. ENTRADAS: Nmero de matrcula (Char(9)). SALIDAS: Nmero de solicitud (Entero Serial).

Especificacin de Datos
Por cada tabla se especifican los campos y su formato

Matriz de Trazado
La matriz de trazado es un elemento de control. Su funcin principal es ver que el diseo refleja los requisitos especificados. Otra de sus funciones tiene que ver con el control de la calidad del diseo realizado. Este elemento es muy til, si uno aprende a sacar provecho de l. La matriz de trazado debe ir completndose en la medida que el trabajo de diseo avanza. Esta es una actividad paralela a la del diseo. A continuacin se presenta un ejemplo de una matriz de trazado.

Matriz de Trazado (cont.)


UR/WP UR101 UR102 UR103 UR104 UR105 UR201 Ur203 UR204 UR205 UR207 UR208 UR209 UR210 UR211 UR212 UR213 UR304 UR305 UR306 UR307 UR308 UR309 UR310 UR311 UR314 UR315 UR316 UR317 UR401 UR402 UR403 UR404 UR405 UR406 UR407 UR408 UR409 UR410 UR411 UR413 UR415 UR501 UR503 UR504 WP105 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X WP106 X WP107 WP108 WP101 WP102 WP103 WP104 WP105 X X X X X WP106 X WP108 WP202 WP401 X X X WP402 X X WP403 WP404 X X WP504 WP701 WP702 WP801 X WP1201 X

X X

X X X

X X X

X X X X X X X X X X X X X X X X X X

X X

Matriz de Trazado
Si se utiliza ReqAdmin la obtencin de la matriz es automtica. Se pueden sacar distintas matrices, por ejemplo:
Req. Usuarios VS Pginas Web/Componentes. Req. Software VS Pginas Web/Componentes. Casos de Prueba VS Req. Usuario/Software. Casos de Prueba VS Pginas Web/Componentes.

Cada matriz tiene un rol distinto. Son muy tiles cuando uno aprende a usarlas.

Documentacin del Diseo


Existen varias formas de documentacin en la etapa del diseo, a continuacin se muestra algunas:
mbito mbito: Diseo de Datos Objetivos Diseo Arquitectnico Principales requisitos de Software Diseo de Interfaz Restricciones de Diseo y Limitaciones Diseo Procedimental Diseo de Datos: Objetos de Datos Referencias cruzadas de requisitos Estructuras de archivos y base de datos Recursos de prueba (estructura lgica, mtodos de acceso, Notas especiales datos)

Diseo arquitectnico:
Revisin de datos y flujos de control Estructura del Programa.

Documentacin del Diseo


Diseo de Interfaz:
Especificacin HMI Normas de diseo de la HMI Diseo de la interfaz externa (con datos y sistemas externos) Normas de diseo de la interfaz interna.

Diseo procedimental: Los siguientes pasos se deben hacer para cada mdulo.
Descripcin del proceso Descripcin de la interfaz Descripcin del lenguaje de diseo Mdulos usados Estructuras de datos internas

Referencias cruzadas de requisitos: esta seccin es opcional, sirve para llevar el control de satisfaccin de los requerimientos del modelo de anlisis.

Documentacin del Diseo


Recursos de prueba:
Directrices para las pruebas Estrategias de integracin Consideraciones especiales

Notas especiales:
Apndices

Heursticas del Diseo


A continuacin se muestra un conjunto de heursticas a seguir para obtener mejores resultados: Evaluar la primer iteracin de la estructura de programa para reducir el acoplamiento y mejorar la cohesin.
Explosin Implosin

Intentar minimizar las estructuras con un alto grado de salida; esforzarse por la entrada a medida que aumenta la profundidad. Mantener el mbito del efecto de un mdulo dentro del mbito de control de ese mdulo. Evaluar las interfaces de los mdulos para reducir la complejidad, la redundancia, y la consistencia.

Heursticas del Diseo


Definir mdulos cuya funcin pueda predecir, pero evitar mdulos que sean demasiado restrictivos. Intentar conseguir mdulos de entrada controlada evitando conexiones patolgicas.

Optimizacin del Diseo


Se recomienda las siguientes acciones para tener un diseo ptimo:
Desarrollar y refinar la estructura del programa sin preocuparse de la optimizacin. Usar herramientas CASE que simulen el rendimiento en tiempo de ejecucin para aislar reas de ineficiencia. Durante las iteraciones posteriores del diseo, seleccionar los mdulos sospechosos de devorar tiempo y desarrollar cuidadosamente procedimientos que mejoren la eficiencia en el empleo de tiempo. Codificar en un lenguaje de programacin apropiado. Instrumentar el software para aislar mdulos que consuman mucho tiempo de procesador. Si es necesario, redisear o recodificar en lenguaje mquina para mejorar la eficiencia.

Diccionario de Datos (DD)


Almacen: Facturas Descripcin: Informacin, por nmero de factura, sobre facturas en el sistema actual. Sinnimos: *** no tiene *** Composicin:
@Nmero_factura + Fecha_factura + Direccin_cliente + { Nmero_producto + Cantidad-producto + Costo-unidad-producto } + Costo-envo + IGV + Neto-factura + Estado-factura

Procesos asociados:
Proc_cancelacin Proc_consultas

Segn DFD general


Proc_pago Adjuntar_Comprobante

Anda mungkin juga menyukai