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
Separa el modelado de un sistema en una jerarqua de modelos necesarios para comprender diferentes propiedades del mismo
Modelo de
Implementacin
Modelo de Comportamiento
Diccionario de Datos
Modelo de Programa
Modelo de Tareas
DEs por Tarea
Modelo Funcional
Modelo de Datos
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 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).
Diccionario de Datos
Lista de Eventos
Diagrama de Contexto
1.- cliente vie 1.- client 1.- cliente 1.- cliente vie 1.- cliente vie
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 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
Modelo de Programas
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)
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.
pedidos
CLIENTE
0. Sistema de Pedidos
rdenes de compra
libros entregados
EDITORIAL
libros pedidos
D PEDIDOS PENDIENTES
D RDENES DE COMPRA
pedidos en lote
libros entregados
libros entregados = albarn + lista-novedades
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
Diagrama E/R
[EN2002] (Chen)
Empleado
Proyecto
Departamento
Proyecto
DED
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
DESTINO
Paso al diseo
Descrip. E. E.
Definicin del FD
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.
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.
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
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.
Definicin del FD
Diccionario de Datos
Definiciones de la BD
28
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
Diseo (Cmo)
Esquema de BD y ficheros
Cuadernos de carga
Codificacin y pruebas
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
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.
CONECTOR 1
DISPOSITIV O
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).
Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).
Ejemplo tpico de men: Men login
Procesos Generales
Diagrama de estructura
(Diagrama de estructura de cuadros de Constantine).
EOR
campo
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).
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
EL ENTERO ES VLIDO
...
VALIDAR ENTERO
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
DEDUCCIONES NORMALES SUELDO BASE PAGO BRUTO EMPLEADO COMPLEMENTOS IRPF IRPF CALCULAR DEDUCCIONES NORMALES CALCULAR PAGO BRUTO EMPLEADOS
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.
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.
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
Analizar el centro de transformacin 3. Aislar el centro de Transformacin, especificando los lmites del flujo de entrada y de salida
2.1
Flujo de Llegada Diagrama de Contexto
2.2
Centro de Transformacin
Cp
Ce
Ct
Cs
Nombres representativos
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
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
z
R
Cp
Ce
C1
C2
C3
Leer b
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
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
...
1. Realizar venta
2. Realizar devolucin 3. Admitir pago
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.
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
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
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
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.
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
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.
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 Informal
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.
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
Diseo de Datos
Voto Id_Voto A10 Detalle_Voto Id_Voto A10 Id_Partido 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
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.
Diseo de Interfaz
Se disea cada interfaz, que guarde relacin con el modelo de navegacin (3.2).
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:
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.
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.
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.
Diseo arquitectnico:
Revisin de datos y flujos de control Estructura del Programa.
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.
Notas especiales:
Apndices
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.
Procesos asociados:
Proc_cancelacin Proc_consultas