diseño arquitectónico.
   Es la fase en donde debemos modelar el funcionamiento interno del sistema, describiendo:
  • Estructuras de datos
  • La estructura del programa
  • Los detalles procedimentales
Imagen relacionada



Diseño de datos:
El diseño de datos trata de la construcción de la base de datos en sí, la importancia de crear un buen diseño de base de datos se debe a que si los datos no son almacenados correctamente el sistema pierde coherencia y confiabilidad.
Diseño y estilo arquitectónico
Una vez que tenemos la base de datos, nuestro siguiente paso es la definición de la arquitectura, dentro de la cual debemos, en primera instancia crear la estructura jerárquica o lineal de módulos que contendrá el sistema.
Existen diferentes estilos de arquitecturas, pero entre las mas comunes tenemos:
Arquitectura clásica: También llamada arquitectura de programa/subprograma, describe una estructura jerárquica de los módulos, siendo que el menú principal llama a los módulos de primer nivel y estos pueden llamar a los módulos de segundo nivel.
Arquitectura de llamada de procedimiento remoto: Al igual que la anterior usa una estructura de árbol, pero los módulos están distribuidos entre varias computadoras.

Imagen relacionada

Arquitectura estratificada: En esta el programa se desarrolla construyendo capas de módulos, donde cada capa corresponde a actividades que son comunes a los módulos que componen dicha capa. Esta es la arquitectura de muchos sistemas operativos.



Arquitectura flujo de datos(filtros y tuberías)
-Se basa en un patrón tuberías y filtros. Este consta de un conjunto de componentes denominados «filtros», conectados entre sí por «tuberías», que transmiten los datos desde un componente al siguiente. Cada filtro trabaja de manera independiente de los componentes que se encuentren situados antes o después de el.

-Cada paso del proceso se encapsula en un filtro.  Los datos se pasan a través de tubos entre filtros adyacentes.  Los filtros se pueden usar en varios sistemas.

-Una tubería, es una arquitectura que conecta componentes (filtros), a través de los conectores y las comunicaciones se ejecutan como un flujo.

-Los filtros, no necesariamente realizan únicamente tareas de filtrado, sino que ejecutan formas variables de transformación.

- Permite entender el sistema global en términos de la combinación de componentes
.
- Es un mecanismo de acceso a una base de datos, de una forma abstracta. Su objetivo, es acceder a cualquier dato desde cualquier aplicación, sin importar que sistema de gestión de base de datos almacenen los datos.


Resultado de imagen para sistema de flujo de datos tuberias y filtros


Características:
•Por los tubos fluyen datos, transmisión de salidas de un filtro a la entrada de otro
•Cada filtro admite una o varias entradas (tubos) y una o varias salidas (tubos)
•Cada filtro es independiente del resto y no conocen la identidad de los filtros antes y después de él
•La transformación del filtro puede comenzar antes de terminar de leer la entrada (distinto al proceso por lotes)
•Respetando el grafo, no importa la secuencia (paralelismo).
Bondades:
•Fácil comprender el comportamiento total de entrada/salida del sistema a partir de los efectos de cada filtro
  (entrada->transformación->salida).


•Permite reutilización (simplicidad de interfaces, filtros reutilizables).


•Fácil evolución y mantenimiento (agregar, sustituir, eliminar filtros).


•Permite evaluar desempeño (independencia de filtros).


•Permite ejecución en paralelo.

Limitaciones:
•Orientado a procesamiento por lotes (no interactivo).


•Necesidad de consistencia entre flujos de datos.


•La independencia entre filtros puede acarrear la repetición de procesos de 

preparación.




La programación por capas es una arquitectura cliente-servidor 

en el que el objetivo primordial es la separación de la lógica de 

negocios de la lógica de diseño; un ejemplo básico de esto consiste en 

separar la capa de datos de la capa de presentación al usuario.

permite distribuir el trabajo de creación de una aplicación por 

niveles; de este modo, cada grupo de trabajo está totalmente

 abstraído del resto de niveles, de forma que basta con conocer la API

 que existe entre niveles.




Resultado de imagen para sistemas basados en llamado y retorno (capas)



Sistemas de Componentes Independientes
Un componente de software individual es un paquete de 
software, un servicio web, o un módulo que encapsula un 
conjunto de funciones relacionadas (o de datos).
Todos los procesos del sistema son colocados en componentes 
separados de tal manera que todos los datos y funciones dentro 
de cada componente están semánticamente relacionados. Debido 
a este principio, con frecuencia se dice que los componentes son 
modulares y cohesivos.
Resultado de imagen para sistemas de componentes independientes







SISTEMAS BASADOS EN TRANSACCIONES

Este estilo permite compartir los detalles entre cliente servidor, este estilo 
se prefiere cuando se conoce de antemano la transacción y no cambian con 
frecuencia
Resultado de imagen para sistemas basados en transacciones



Sistemas Basados en eventos
Una arquitectura basada en eventos responde a las acciones o 
acontecimientos generados por un directorio y sus usuarios. 
Los eventos del directorio conectado actúan como un 
disparador para iniciar la replicación o sincronización de los 
datos de ese directorio. El cambio del repositorio genera un 
evento resultante, y dicho evento acciona los cambios en los 
demás directorios conectados. Como consecuencia de los 
eventos y de los cambios correspondientes, se sincronizan los 
datos de identidad de todos los directorios conectados




eventos





SISTEMAS CLIENTE SERVIDOR.
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el 
que las tareas se reparten entre los proveedores de recursos o servicios, 
llamados servidores, y los demandantes, llamados clientes. Un cliente realiza 
peticiones a otro programa, el servidor, que le da respuesta. Esta idea también 
se puede aplicar a programas que se ejecutan sobre una sola computadora, 
aunque es más ventajosa en un sistema operativo multiusuario distribuido a 
través de una red de computadoras.
Resultado de imagen para cliente servidor
NOTACIÓN PARA REPRESENTAR LAS 
ARQUITECTURAS DEL SOFTWARE.
Existen muchas notaciones y lenguajes para representar los artefactos del 
diseño 
software. Unas son para representar la estructura y otras el comportamiento, unas 
sirven principalmente durante el diseño arquitectural, otras durante el diseño 
detallado, y algunas durante ambos, algunas se emplean principalmente en el 
contexto de métodos específicos.
Notaciones de aspectos estructurales (estática), es decir, 

los componentes y sus interconexiones.

Lenguajes de Descripción de Arquitecturas (ADLs):
 
Lenguajes textuales formales ideados para describir una 

arquitectura software en términos de componentes y 

conectores.

Diagramas de Clases y Objetos: Para representar un conjunto

 de clases (y objetos) y sus interrelaciones
.
Diagramas de Componentes: Para representar un conjunto 

de  componentes (partes físicas y reemplazables de un

 sistema que son conformes a y proveen un  conjunto de 

interfaces) y sus interrelaciones.

Tarjetas CRC (Clase Responsabilidad Colaborador):Para 

denotar los nombres de los componentes (clases), sus 

responsabilidades, y los nombres de los componentes con los 

que  colaboran.

Diagramas de Despliegue: Para representar un conjunto de

 nodos físicos y sus interrelaciones, modelando los aspectos

 físicos de un sistema.

Diagramas Entidad-Interrelación: Para representar modelos

conceptuales de los datos almacenados  en sistemas de

 información.

Lenguajes de Descripción de Interfaces (IDLs):

Similares a los lenguajes de programación normales, 

sirven para    definir las interfaces (nombres y tipos de

 las operaciones exportadas) de los componentes

software.

Diagramas de Estructura de Jackson: Para describir

las estructuras de datos en términos de secuencia

  selección e interacción.

Comentarios





Comentarios

hagganhaake ha dicho que…
Casino Vooze Park | Mapyro
Casino Vooze Park. 충주 출장마사지 Casino Vooze Park. 3121 S. Maricopa Rd. Chandler, AZ 85139. Directions · (480) 357-3247. Call 안산 출장안마 Now 제주도 출장안마 · More Info. 통영 출장샵 Hours, Accepts Credit Cards, 전라북도 출장안마 Wi-Fi, PokéStop