ARQUITECTURA DEL SOFTWARE
Es un nivel de diseño que hace foco en aspectos " mas allá de los algoritmos y estructuras de datos de la computación, el diseño y la especificación de la estructura global del sistema
Arquitectura:
* Es el diseño de mas alto nivel de la estructura de un sistema
* Toda arquitectura debe ser implementa-ble en una arquitectura física, que consiste simplemente en determinar que computadora tendrá asignada cada tarea.
* la arquitectura del software tiene que ver con el diseño y la implementacion de estructura de software de alto nivel.
MODELOS O VISTAS
Todas las vistas devén ser coherentes entre si, existen tres vistas fundamentales en cualquier arquitectura:
La visión estática: Describe que componentes tiene la arquitectura
La visión funcional: Describe que hace cada componente
La visión dinámica Describe como se comportan los componentes ola largo del tiempo y como interactuan entre si.
CARACTERÍSTICAS
Partes del diseño del software:
*Incluye sus componentes , las propiedades observables y las relaciones que se establecen entre ellos
* Describen las partes que lo integran.
*Pueden incluir patrones que supervisan la composición de sus componentes.
DISEÑO DEL SOFTWARE
Algunos describen un diseño estructural, organizado, otros presentan el inicio del software,estas notaciones son generalmente usadas durante un diseño natural.
HERRAMIENTA
* Se puede utilizar para crear soluciones para, ingeniería, calculo gestión, diseño gráfico, educación ,
incluye novedosas ideas que le aran su trabajo mucho mas fácil
* Permite construir soluciones integrales para empresas, minimizando el tiempo invertido, recursos hardware y costos de desarrollo
* La comunicación entre cliente y servidor se puede establecer por redes locales internas, Internet o redes privadas.
* Para diseñar incluye un IDE que permite crear y modificar aplicaciones de una forma rápida y ágil
OBJETIVOS
*Comprender y mejorar la estructura de las aplicaciones
*Identificar las partes mutables e inmutables de las mismas así como los costos de los posibles cambios.
*Analiza la corrección de la aplicación y su grado de cumplimiento.
ARQUITECTURAS MAS COMUNES
*Monolítica
*Cliente servidor
*En pepeline
*Entre pares
*Orientada a servicios
*Maquinas virtuales
SISTEMAS MONOLÍTICOS
Son aquellos que su centro es un grupo de estructuras fijas
Los sistemas monolíticos se describen en 3 procesos principales:
* Servicio solicitado
*Un conjunto de procedimientos de servicios que llevan a cavo las llamadas del sistema
* Conjunto de procedimientos de utileria que ayudan a los procedimientos del servicio
ARQUITECTURA CLIENTE SERVIDOR
Es un modelo de aplicación distribuida en el que las actividades se reparten entre los proveedores de recursos o servicios y los demandantes llamados clientes
ARQUITECTURA DE TRES NIVELES
Incluye todos los aspectos y ademas brinda mejores opciones para proyectos informáticos de gran alcance y complejidad
ARQUITECTURA EN PEPELINE
Consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales.
También es una arquitectura muy natural de programación funcional ya que equivale ala composición de funciones matemáticas
RED ENTRE PARES
Es una red de computadoras en las que funcionan sin clientes ni servidores fijos, sino una serie de nodos que se compartan como iguales entre si.
LA ARQUITECTURA SOFTWARE
En pizarra es un modelo arquitectónico habitualmente utilizado en sistemas, sistemas multiagentes y en general sistemas basados en el conocimiento
ARQUITECTURA ORIENTADA A SERVICIOS
Las soluciones SOA han sido creadas para satisfacer los objetivos de negocios las cuales incluyen facilidad y flexibilidad, reduce costos de implementar, innovación de servicios al cliente
MAQUINA VIRTUAL
Es un software que simula a una computadora y puede ejecutar programas como si fuese una computadora real , el termino actualmente incluye a maquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.