Diseño Arquitectonico
Roque Luis Ortiz Santacruz
Marilen Soledad Prieto
Fernández
Integrantes
Concepto
El diseño arquitectonico es para poder entender cómo debe
organizarse un sistema y cómo tiene que diseñarse la estructura
global de ese sistema.
Es el enlace crucial entre el diseño y la ingeniería de
requerimientos, ya que identifica los principales componentes
estructurales en un sistema y la relación entre ellos
Niveles de diseño
● La arquitectura en pequeño
Se centra por la arquitectura de programas individuales. En este nivel, uno se
preocupa por la forma en que el programa individual se separa en componentes
● La arquitectura en grande
Esta enfocada por la arquitectura de sistemas empresariales complejos que
incluyen otros sistemas, programas y componentes de programa. Tales sistemas
empresariales se distribuyen a través de diferentes computadoras, que diferentes
compañías administran y poseen
Ventajas de diseñar y documentar
● Comunicación con los participantes:
Puede usarse como un enfoque para la discusión de un amplio número de
participantes
● Análisis del sistema:
Al inicio del desarrollo, es importante analizar la arquitectura del sistema, ya que
las decisiones de diseño arquitectónico impactan directamente en la capacidad
del sistema para cumplir con requisitos clave como el rendimiento, la fiabilidad y
la mantenibilidad.
● Reutilización a gran escala:
Un modelo arquitectónico describe de forma simple cómo se organiza un sistema
y cómo interactúan sus componentes. Sistemas con requisitos similares suelen
compartir la misma arquitectura, lo que facilita la reutilización del software.
Contradicciones entre practica y teoría
● Facilitar la discusión:
Una vista general de la arquitectura de un sistema ayuda a comunicar ideas entre
los participantes y a planificar el proyecto, sin complicarse con demasiados
detalles.
● Documentar la arquitectura:
Se busca crear un modelo detallado del sistema que muestre todos los
componentes, sus interfaces y conexiones. Esto facilita entender y modificar el
sistema a lo largo del tiempo.
Decisiones en el diseño arquitectónico
El diseño arquitectónico es un proceso creativo para organizar un sistema que
cumpla con sus requerimientos funcionales y no funcionales. Se basa en
decisiones clave más que en una secuencia fija de actividades. Aunque cada
sistema es único, los sistemas similares suelen tener arquitecturas parecidas.
Las decisiones arquitectónicas dependen de los requerimientos
no funcionales del sistema
Agrupar operaciones críticas en
pocos componentes y en una
misma máquina.
Usar una estructura en capas,
protegiendo los activos más
críticos en capas internas.
Incluir componentes
redundantes para reemplazo y
actualización sin detener el
sistema.
Usar componentes
independientes y fáciles de
cambiar.
Rendimiento Seguridad Protección
Ubicar operaciones de
protección en componentes
específicos.
Disponibilidad Mantenibilidad
Vistas arquitectónicas:
Una vista arquitectónica es una representación parcial de un sistema de software que muestra aspectos específicos,
como la estructura de módulos, la interacción de procesos o la distribución de componentes. Utilizar múltiples vistas
ayuda a entender y documentar diferentes facetas del sistema de manera clara y detallada.
Muestra las principales
abstracciones del sistema,
como objetos o clases, y cómo
se relacionan con los
requerimientos.
Muestra cómo los procesos
interactúan en funcionamiento,
útil para evaluar rendimiento y
disponibilidad.
Muestra el hardware y cómo se
distribuyen los componentes de
software en los procesadores.
Es útil para la planificación de la
implementación.
Una vista lógica Vista de Proceso Vista de Desarrollo
Detalla cómo se descompone el
software para su desarrollo,
ayudando a administradores y
programadores.
Vista Física
Patrones
arquitectonicos
Son soluciones probadas y generalizadas para
problemas comunes en el diseño de software. Un patrón
arquitectónico es una guía que describe una forma
efectiva de organizar un sistema, basada en
experiencias anteriores. Incluye cuándo usar el patrón,
sus beneficios y limitaciones.
Por ejemplo, el patrón Modelo-Vista-Controlador (MVC)
es ampliamente utilizado para gestionar la interacción
en aplicaciones web. Cada patrón incluye una
descripción, un modelo gráfico, ejemplos de uso y
detalles sobre sus ventajas y desventajas.
Arquitectura en
capas
En la arquitectura en capas, el sistema se organiza en
capas distintas. Cada capa solo usa los servicios de la
capa que está justo debajo de ella, logrando así una
separación y autonomía entre las capas.
Arquitectura de
repositorio
En la arquitectura de repositorio, los sistemas se
basan en una base de datos o repositorio central. Esto
es útil cuando un componente genera datos y otros
componentes los utilizan.
Arquitectura
cliente-servidor
Un sistema que sigue el patrón cliente-servidor se
organiza como un conjunto de servicios y servidores
asociados, y de clientes que acceden y usan los
servicios.
Los principales componentes de este modelo son:
● Servidores: Ofrecen servicios a otros componentes
(ej., impresión, administración de archivos,
compilación).
● Clientes: Solicitan y utilizan los servicios ofrecidos
por los servidores. Generalmente hay múltiples
instancias corriendo en diferentes computadoras.
● Red: Conecta a clientes y servidores, permitiendo el
acceso a los servicios. Estos sistemas suelen ser
distribuidos y utilizan protocolos de Internet.
Arquitectura de
tubería y filtro
Este patrón organiza el sistema como una serie de
transformadores que procesan datos. Los datos fluyen a
través de estos transformadores, transformándose en
cada etapa. Los transformadores pueden trabajar
secuencial o paralelamente y procesar datos
individualmente o en grupos.
Arquitecturas de
aplicación
● Las arquitecturas de aplicación están diseñadas
para cubrir necesidades comunes en empresas,
como contratación de personal, emisión de
facturas y contabilidad. Estas arquitecturas
ayudan a estructurar y organizar sistemas de
software específicos para diferentes tipos de
aplicaciones.
Usos de Modelos de Arquitecturas de Aplicación
● Punto de Partida: Usar una arquitectura
genérica como base para el diseño si no estás
familiarizado con el tipo de aplicación.
● Lista de Verificación: Comparar tu diseño con
una arquitectura genérica para asegurar
consistencia.
● Organización del Trabajo: Facilitar el
desarrollo paralelo de características
estructurales estables.
● Valoración de Componentes: Comparar
componentes reutilizables con estructuras
genéricas para encontrar similitudes.
● Vocabulario: Usar conceptos genéricos para
discutir y comparar tipos de aplicaciones.
Arquitecturas de
aplicación
Tipos de Aplicaciones y sus Arquitecturas
● Aplicaciones de Procesamiento de
Transacción: Manejan datos en bases de datos
y actualizan la información. Ejemplos incluyen
sistemas bancarios y comercio electrónico.
● Sistemas de Procesamiento de Lenguaje:
Traducen lenguajes de programación a código
de máquina. Ejemplos son los compiladores
Sistemas de Información
Sistemas que interactúan con bases de datos
compartidas para proporcionar acceso controlado a
grandes volúmenes de información.
Modelo General:
● Capa Superior: Interfaz de usuario.
● Capa Inferior: Base de datos.
● Capa de Comunicaciones: Maneja entradas y
salidas de la interfaz de usuario.
● Capa de Recuperación de Información:
Contiene lógica para acceder y actualizar la
base de datos.
Arquitecturas de
aplicación
Sistemas de Procesamiento de Lenguaje
● Descripción: Convierten lenguajes naturales o
artificiales a representaciones internas y, para
lenguajes de programación, ejecutan el código
resultante.
● Ejemplo: Compiladores que traducen código de
alto nivel a código máquina.
Gracias por prestar atención

Diseño Arquitectoniffdfwrasfccd dco.pptx

  • 1.
    Diseño Arquitectonico Roque LuisOrtiz Santacruz Marilen Soledad Prieto Fernández Integrantes
  • 2.
    Concepto El diseño arquitectonicoes para poder entender cómo debe organizarse un sistema y cómo tiene que diseñarse la estructura global de ese sistema. Es el enlace crucial entre el diseño y la ingeniería de requerimientos, ya que identifica los principales componentes estructurales en un sistema y la relación entre ellos
  • 3.
    Niveles de diseño ●La arquitectura en pequeño Se centra por la arquitectura de programas individuales. En este nivel, uno se preocupa por la forma en que el programa individual se separa en componentes ● La arquitectura en grande Esta enfocada por la arquitectura de sistemas empresariales complejos que incluyen otros sistemas, programas y componentes de programa. Tales sistemas empresariales se distribuyen a través de diferentes computadoras, que diferentes compañías administran y poseen
  • 4.
    Ventajas de diseñary documentar ● Comunicación con los participantes: Puede usarse como un enfoque para la discusión de un amplio número de participantes ● Análisis del sistema: Al inicio del desarrollo, es importante analizar la arquitectura del sistema, ya que las decisiones de diseño arquitectónico impactan directamente en la capacidad del sistema para cumplir con requisitos clave como el rendimiento, la fiabilidad y la mantenibilidad. ● Reutilización a gran escala: Un modelo arquitectónico describe de forma simple cómo se organiza un sistema y cómo interactúan sus componentes. Sistemas con requisitos similares suelen compartir la misma arquitectura, lo que facilita la reutilización del software.
  • 5.
    Contradicciones entre practicay teoría ● Facilitar la discusión: Una vista general de la arquitectura de un sistema ayuda a comunicar ideas entre los participantes y a planificar el proyecto, sin complicarse con demasiados detalles. ● Documentar la arquitectura: Se busca crear un modelo detallado del sistema que muestre todos los componentes, sus interfaces y conexiones. Esto facilita entender y modificar el sistema a lo largo del tiempo.
  • 6.
    Decisiones en eldiseño arquitectónico El diseño arquitectónico es un proceso creativo para organizar un sistema que cumpla con sus requerimientos funcionales y no funcionales. Se basa en decisiones clave más que en una secuencia fija de actividades. Aunque cada sistema es único, los sistemas similares suelen tener arquitecturas parecidas.
  • 7.
    Las decisiones arquitectónicasdependen de los requerimientos no funcionales del sistema Agrupar operaciones críticas en pocos componentes y en una misma máquina. Usar una estructura en capas, protegiendo los activos más críticos en capas internas. Incluir componentes redundantes para reemplazo y actualización sin detener el sistema. Usar componentes independientes y fáciles de cambiar. Rendimiento Seguridad Protección Ubicar operaciones de protección en componentes específicos. Disponibilidad Mantenibilidad
  • 8.
    Vistas arquitectónicas: Una vistaarquitectónica es una representación parcial de un sistema de software que muestra aspectos específicos, como la estructura de módulos, la interacción de procesos o la distribución de componentes. Utilizar múltiples vistas ayuda a entender y documentar diferentes facetas del sistema de manera clara y detallada. Muestra las principales abstracciones del sistema, como objetos o clases, y cómo se relacionan con los requerimientos. Muestra cómo los procesos interactúan en funcionamiento, útil para evaluar rendimiento y disponibilidad. Muestra el hardware y cómo se distribuyen los componentes de software en los procesadores. Es útil para la planificación de la implementación. Una vista lógica Vista de Proceso Vista de Desarrollo Detalla cómo se descompone el software para su desarrollo, ayudando a administradores y programadores. Vista Física
  • 9.
    Patrones arquitectonicos Son soluciones probadasy generalizadas para problemas comunes en el diseño de software. Un patrón arquitectónico es una guía que describe una forma efectiva de organizar un sistema, basada en experiencias anteriores. Incluye cuándo usar el patrón, sus beneficios y limitaciones. Por ejemplo, el patrón Modelo-Vista-Controlador (MVC) es ampliamente utilizado para gestionar la interacción en aplicaciones web. Cada patrón incluye una descripción, un modelo gráfico, ejemplos de uso y detalles sobre sus ventajas y desventajas.
  • 11.
    Arquitectura en capas En laarquitectura en capas, el sistema se organiza en capas distintas. Cada capa solo usa los servicios de la capa que está justo debajo de ella, logrando así una separación y autonomía entre las capas.
  • 12.
    Arquitectura de repositorio En laarquitectura de repositorio, los sistemas se basan en una base de datos o repositorio central. Esto es útil cuando un componente genera datos y otros componentes los utilizan.
  • 13.
    Arquitectura cliente-servidor Un sistema quesigue el patrón cliente-servidor se organiza como un conjunto de servicios y servidores asociados, y de clientes que acceden y usan los servicios. Los principales componentes de este modelo son: ● Servidores: Ofrecen servicios a otros componentes (ej., impresión, administración de archivos, compilación). ● Clientes: Solicitan y utilizan los servicios ofrecidos por los servidores. Generalmente hay múltiples instancias corriendo en diferentes computadoras. ● Red: Conecta a clientes y servidores, permitiendo el acceso a los servicios. Estos sistemas suelen ser distribuidos y utilizan protocolos de Internet.
  • 15.
    Arquitectura de tubería yfiltro Este patrón organiza el sistema como una serie de transformadores que procesan datos. Los datos fluyen a través de estos transformadores, transformándose en cada etapa. Los transformadores pueden trabajar secuencial o paralelamente y procesar datos individualmente o en grupos.
  • 16.
    Arquitecturas de aplicación ● Lasarquitecturas de aplicación están diseñadas para cubrir necesidades comunes en empresas, como contratación de personal, emisión de facturas y contabilidad. Estas arquitecturas ayudan a estructurar y organizar sistemas de software específicos para diferentes tipos de aplicaciones. Usos de Modelos de Arquitecturas de Aplicación ● Punto de Partida: Usar una arquitectura genérica como base para el diseño si no estás familiarizado con el tipo de aplicación. ● Lista de Verificación: Comparar tu diseño con una arquitectura genérica para asegurar consistencia. ● Organización del Trabajo: Facilitar el desarrollo paralelo de características estructurales estables. ● Valoración de Componentes: Comparar componentes reutilizables con estructuras genéricas para encontrar similitudes. ● Vocabulario: Usar conceptos genéricos para discutir y comparar tipos de aplicaciones.
  • 17.
    Arquitecturas de aplicación Tipos deAplicaciones y sus Arquitecturas ● Aplicaciones de Procesamiento de Transacción: Manejan datos en bases de datos y actualizan la información. Ejemplos incluyen sistemas bancarios y comercio electrónico. ● Sistemas de Procesamiento de Lenguaje: Traducen lenguajes de programación a código de máquina. Ejemplos son los compiladores Sistemas de Información Sistemas que interactúan con bases de datos compartidas para proporcionar acceso controlado a grandes volúmenes de información. Modelo General: ● Capa Superior: Interfaz de usuario. ● Capa Inferior: Base de datos. ● Capa de Comunicaciones: Maneja entradas y salidas de la interfaz de usuario. ● Capa de Recuperación de Información: Contiene lógica para acceder y actualizar la base de datos.
  • 18.
    Arquitecturas de aplicación Sistemas deProcesamiento de Lenguaje ● Descripción: Convierten lenguajes naturales o artificiales a representaciones internas y, para lenguajes de programación, ejecutan el código resultante. ● Ejemplo: Compiladores que traducen código de alto nivel a código máquina.
  • 19.