Diseño ArquitectonicoDecisiones y organizacion
IntroducciónLa esencia del diseño de software es la toma dedecisiones sobre la organización lógica delsoftware.Esta organización por lo general se estructura ensubsistemas  que proporcionan algún conjunto deservicios relacionadosTema 3 - Clase 1Docente: ING. Wilson Gomez Guevara–  wgomez@cotecnova.edu.co2DISEÑO DE SISTEMASDiseño ArquitectonicoInformática empresarial
DefiniciónProceso de diseño inicial que identifica lossubsistemas y establece un marco para el control ycomunicación de estos.Tema 3 - Clase 1Docente: ING. Wilson Gomez Guevara–  wgomez@cotecnova.edu.co3DISEÑO DE SISTEMASDiseño ArquitectónicoInformática empresarial
Ventajas Comunicación entre los Stakeholders    La arquitectura puede ser usada como un foco de discusión por los stakeholders del sistemaAnálisis de sistemas    Ayuda a establecer si el sistema puede cumplir los requerimientos no funcionales.Reutilización a gran escalaLa arquitectura puede ser reutilizada a través de un rango de sistemasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co4
Requerimientos no funcionalesRendimientoProtecciónSeguridadDisponibilidadMantenibilidadProfundizarTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co5
StakeholdersTérmino inglés utilizado por primera vez por R. E. Freeman en su obra: “Strategic Management: A StakeholderApproach”, (Pitman, 1984) para referirse a«quienes pueden afectar o son afectados por las actividades de una empresa».Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co6
StakeholdersTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co7
Proceso del diseño arquitectónicoEstructuración del sistema	El sistema se descompone en varios subsistemas principales y la comunicación entre estos subsistemas es identificada.Modelado del controlSe establece un modelo de las relaciones de control entre las diferentes partes del sistema.Descomposición modularLos subsistemas identificados se descomponen en módulosTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co8
Subsistemas y módulosUn subsistema es un sistema por derecho propio cuya operación es independiente de los servicios provistos por otros subsistemas.Un módulo es un componente del sistema que provee servicios a otros componente pero no se consideraría normalmente como un sistema separado.Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co9
Modelos ArquitectonicosModelo estático estructural es que muestra los componentes principales del sistema.Modelo dinámico del proceso que muestra la estructura de proceso del sistemaModelo de interfaz que define las interfaces de los subsistemasModelo de relaciones tales como un modelo de flujo de datosTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co10
Estructuración del sistemaConcerniente con la descomposición del sistema en subsistemas que interactúan.El diseño arquitectónico se expresa normalmente como un diagrama de bloques que representa una visión general de la estructura del sistema.Se pueden desarrollar modelos más específicos que muestran cómo los subsistema comparten datos, cómo se distribuyen y cómo se comunican entre si.Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co11
Diagrama de bloquesTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co12
Decisiones de diseño arquitectonicoLos arquitectos del sistema tienen que responder alas sigts preguntas fundamentales:¿Existe una arquitectura de aplicación generica que pueda actuar como una plantilla para el sistema que se esta diseñando?Como se distribuira el sistema entre varios procesadores?¿Qué estilo o estilos arquitectonicos son apropiados?¿Cuál sera la aproximacion fundamental utilizada para estructurar el sistema ?¿Cómo se descompondran en modulos las unidades estructurales?¿Qué estrategia se usara para controlar el funcionamiento de las unidades del sistema?¿Cómo se evaluara el diseño arquitectonico?¿Cómo debería documentarse la arquitectura del sistema?Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co13
Organización del sistemaRefleja la estrategia básica usada para estructurardicho sistema.Estilos:Repositorio de datosCliente-ServidorCapasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co14
Modelo de repositorioLos subsistemas deben intercambiar datos. Esto puede ser hecho de dos formas:Los datos compartidos se mantiene en una base de datos central o depósito y puede ser accedida por todos los subsistemasCada subsistema mantiene su propia base de datos y pasa datos explícitamente a otros subsistemasCuando grandes cantidades de datos deben ser compartidos, elmodelo de depósito es el más comúnmente usadoTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co15
Herramienta CaseTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co16
Características del modelo de depósitoVentajas• Forma eficiente de compartir grandes cantidades de datos• Los subsistemas no se deben preocupar sobre cómo los datos sonproducidos o usados.• Administración centralizada. Ej. Backup, seguridad• El modelo de compartición es visible a lo largo del esquema dedepósitoDesventajas• Los subsistemas deben acordar un modelo de datos del depósito. Locual es inevitablemente un compromiso.• La evolución de datos es difícil y cara• No hay campo para políticas de administración específicas• Es difícil distribuir el depósitos eficientementeTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co17
Arquitectura de cliente-servidorModelo de sistema distribuido el cual muestra cómo los	datos y el procesamiento se distribuyen a través de un	rango de componentesConjunto de servidores stand-alone que proveen servicios	específicos tales como impresión, administración de	datos, etc.Conjunto de clientes los cuales acceden a estos serviciosUna red la cual permite la comunicación entre clientes yservidoresTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co18
Biblioteca de videos y pinturaTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co19
Características del modelo cliente-servidorTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co20Ventajas• La distribución de datos es directa• Hace uso efectivo de sistemas interconectados. Podría requerirhardware más barato• Es fácil adicionar nuevos servidores o actualizar servidores existentesDesventajas• No hay un modelo de datos compartido, de manera que lossubsistemas usan una organización de datos diferente. El intercambio dedatos puede ser ineficiente• Administración redundante en cada servidor• No hay un registro central de nombres y servicios
Modelo de máquina abstracta o de capasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co21Usado para modelar las interfaces en entre subsistemasOrganiza el sistema en un conjunto de capas (o máquinas abstractas) cada una de la cuales provee un conjunto de serviciosSoporta el desarrollo incremental de subsistemas en diferentes capas. Cuando la interfaz de una capa cambia, solo las capas adyacentes son afectadasSin embargo, es difícil, en general, estructurar sistemas de esta forma
Sistema de manejo de versionesTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra  –  hramirez@cotecnova.edu.co22

Diseño arquitectonico

  • 1.
  • 2.
    IntroducciónLa esencia deldiseño de software es la toma dedecisiones sobre la organización lógica delsoftware.Esta organización por lo general se estructura ensubsistemas que proporcionan algún conjunto deservicios relacionadosTema 3 - Clase 1Docente: ING. Wilson Gomez Guevara– wgomez@cotecnova.edu.co2DISEÑO DE SISTEMASDiseño ArquitectonicoInformática empresarial
  • 3.
    DefiniciónProceso de diseñoinicial que identifica lossubsistemas y establece un marco para el control ycomunicación de estos.Tema 3 - Clase 1Docente: ING. Wilson Gomez Guevara– wgomez@cotecnova.edu.co3DISEÑO DE SISTEMASDiseño ArquitectónicoInformática empresarial
  • 4.
    Ventajas Comunicación entrelos Stakeholders La arquitectura puede ser usada como un foco de discusión por los stakeholders del sistemaAnálisis de sistemas Ayuda a establecer si el sistema puede cumplir los requerimientos no funcionales.Reutilización a gran escalaLa arquitectura puede ser reutilizada a través de un rango de sistemasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co4
  • 5.
    Requerimientos no funcionalesRendimientoProtecciónSeguridadDisponibilidadMantenibilidadProfundizarTema1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co5
  • 6.
    StakeholdersTérmino inglés utilizado por primeravez por R. E. Freeman en su obra: “Strategic Management: A StakeholderApproach”, (Pitman, 1984) para referirse a«quienes pueden afectar o son afectados por las actividades de una empresa».Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co6
  • 7.
    StakeholdersTema 1 -Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co7
  • 8.
    Proceso del diseñoarquitectónicoEstructuración del sistema El sistema se descompone en varios subsistemas principales y la comunicación entre estos subsistemas es identificada.Modelado del controlSe establece un modelo de las relaciones de control entre las diferentes partes del sistema.Descomposición modularLos subsistemas identificados se descomponen en módulosTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co8
  • 9.
    Subsistemas y módulosUnsubsistema es un sistema por derecho propio cuya operación es independiente de los servicios provistos por otros subsistemas.Un módulo es un componente del sistema que provee servicios a otros componente pero no se consideraría normalmente como un sistema separado.Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co9
  • 10.
    Modelos ArquitectonicosModelo estáticoestructural es que muestra los componentes principales del sistema.Modelo dinámico del proceso que muestra la estructura de proceso del sistemaModelo de interfaz que define las interfaces de los subsistemasModelo de relaciones tales como un modelo de flujo de datosTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co10
  • 11.
    Estructuración del sistemaConcernientecon la descomposición del sistema en subsistemas que interactúan.El diseño arquitectónico se expresa normalmente como un diagrama de bloques que representa una visión general de la estructura del sistema.Se pueden desarrollar modelos más específicos que muestran cómo los subsistema comparten datos, cómo se distribuyen y cómo se comunican entre si.Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co11
  • 12.
    Diagrama de bloquesTema1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co12
  • 13.
    Decisiones de diseñoarquitectonicoLos arquitectos del sistema tienen que responder alas sigts preguntas fundamentales:¿Existe una arquitectura de aplicación generica que pueda actuar como una plantilla para el sistema que se esta diseñando?Como se distribuira el sistema entre varios procesadores?¿Qué estilo o estilos arquitectonicos son apropiados?¿Cuál sera la aproximacion fundamental utilizada para estructurar el sistema ?¿Cómo se descompondran en modulos las unidades estructurales?¿Qué estrategia se usara para controlar el funcionamiento de las unidades del sistema?¿Cómo se evaluara el diseño arquitectonico?¿Cómo debería documentarse la arquitectura del sistema?Tema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co13
  • 14.
    Organización del sistemaReflejala estrategia básica usada para estructurardicho sistema.Estilos:Repositorio de datosCliente-ServidorCapasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co14
  • 15.
    Modelo de repositorioLossubsistemas deben intercambiar datos. Esto puede ser hecho de dos formas:Los datos compartidos se mantiene en una base de datos central o depósito y puede ser accedida por todos los subsistemasCada subsistema mantiene su propia base de datos y pasa datos explícitamente a otros subsistemasCuando grandes cantidades de datos deben ser compartidos, elmodelo de depósito es el más comúnmente usadoTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co15
  • 16.
    Herramienta CaseTema 1- Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co16
  • 17.
    Características del modelode depósitoVentajas• Forma eficiente de compartir grandes cantidades de datos• Los subsistemas no se deben preocupar sobre cómo los datos sonproducidos o usados.• Administración centralizada. Ej. Backup, seguridad• El modelo de compartición es visible a lo largo del esquema dedepósitoDesventajas• Los subsistemas deben acordar un modelo de datos del depósito. Locual es inevitablemente un compromiso.• La evolución de datos es difícil y cara• No hay campo para políticas de administración específicas• Es difícil distribuir el depósitos eficientementeTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co17
  • 18.
    Arquitectura de cliente-servidorModelode sistema distribuido el cual muestra cómo los datos y el procesamiento se distribuyen a través de un rango de componentesConjunto de servidores stand-alone que proveen servicios específicos tales como impresión, administración de datos, etc.Conjunto de clientes los cuales acceden a estos serviciosUna red la cual permite la comunicación entre clientes yservidoresTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co18
  • 19.
    Biblioteca de videosy pinturaTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co19
  • 20.
    Características del modelocliente-servidorTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co20Ventajas• La distribución de datos es directa• Hace uso efectivo de sistemas interconectados. Podría requerirhardware más barato• Es fácil adicionar nuevos servidores o actualizar servidores existentesDesventajas• No hay un modelo de datos compartido, de manera que lossubsistemas usan una organización de datos diferente. El intercambio dedatos puede ser ineficiente• Administración redundante en cada servidor• No hay un registro central de nombres y servicios
  • 21.
    Modelo de máquinaabstracta o de capasTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co21Usado para modelar las interfaces en entre subsistemasOrganiza el sistema en un conjunto de capas (o máquinas abstractas) cada una de la cuales provee un conjunto de serviciosSoporta el desarrollo incremental de subsistemas en diferentes capas. Cuando la interfaz de una capa cambia, solo las capas adyacentes son afectadasSin embargo, es difícil, en general, estructurar sistemas de esta forma
  • 22.
    Sistema de manejode versionesTema 1 - Clase 1Docente: CPT Heynar Ramírez Becerra – hramirez@cotecnova.edu.co22