Please enable JavaScript.
Coggle requires JavaScript to display documents.
Diseño Arquitectónico desarrollo-de-software - Coggle Diagram
Diseño Arquitectónico
Objetivos del Diseño
Establecer Modelo diseño
Características
Subsistemas
Diagramas relación Hardware-Software
Modelo de casos de uso
Impacto en los requisitos de sistema
Abstracción implementación
Estrategias
Ventajas
Descomposición del problema
Herramienta de comunicación
Reutilización de partes del sistema
Analisis detallado del sistema
Calidad y Diseño del software
Calidad
Traducción correcta de requisitos
fundamento futuras actividades
implementación
prueba
mantenimiento
Falta de calidad
Inestabilidad
Software no escalable
Difícil de probar
Diseño Arquitectónico
Proceso
Descomposición en subsistemas
Establecer control y comunicación
Decisiones
Estructuración del sistema
Descomposición modular
Modelado del Control
Documentos/Modelos
Estructural estático
Subsistemas y componentes
Proceso dinámico
Tiempo de ejecución
Interfaz
Servicios de cada subsistema
Relación
Relación entre módulos
Distribución
Componentes físicos
Requisitos no funcionales
Rendimiento
Protección
Disponibilidad
Mantenibilidad
Organización del sistema
Arquitectura
Modelos
De deposito o repositorio
Cliente-Servidor
De capas o máquina abstracta
Modelo de repositorios
Características
Base de datos central
Acceso de todos los subsistemas a un punto
Ventajas
Compartición eficiente
Ligera abstracción el manejo de datos
Centralización
Integración directa
Desventajas
Modelo de datos común
Difícil integración de sistemas externos
Dificultad de evolución
Estandarización de las políticas
Dificultad de distribución
Modelo Cliente-Servidor
Características
Servicios y servidores
Clientes de acceso
Componentes
Servidores
Clientes
Red
Ventajas
Modelo de sistemas distribuidos
Varios procesos
Capas logicas
Capa de presentación
Capa de procesamiento de la aplicación
Capa de administración de datos
Modelo Cliente-Servidor en 2 capas
Modelo de cliente delgado
Características
Cliente solo presentación de los datos
Procesos en el servidor
Ventajas
Utilización en sistemas heredados
Interfaz en el PC
Aplicación como servidor
Desventajas
Gran carga al servidor
Gran cantidad de tráfico
Desaprovecho de la maquina cliente
Modelo de cliente grueso
Características
Procesos en el cliente
Servidor administrador de datos
Ventajas
Distribuye al cliente, lógica y presentación
Aprovecho de la maquina del cliente
Desventajas
Administración más compleja
Mayor costo de mantenimiento
Modelo Cliente-Servidor en 3 capas
Características
Separación lógica de procesos
Más escalables
Componentes
Administración de datos
Servicios de aplicación
Presentación
Ventajas
Escalabilidad sencilla
Modelo de capas
Características
Cada capa presta un servicio
capa superior cliente de una inferior
Establecer protocolos de interacción
Ventajas
Reemplazo de capas
Un cambio no afecta a todo el sistema
Re implementación solo de lo necesario
Desventajas
Difícil estructuración
Afecta al rendimiento al usar niveles
Descomposición Modular
Modelos principales
Orientado a objetos
Conjunto de objetos
Objetos de estado privado
Capacidad de reutilización
Difícil representar entidades complejas
De flujo de datos
Módulos funcionales de entrada y salida de datos
Los datos se transforman al fluir entre módulos
Secuencia operacional
Modelado de control
Control Centralizado
Caracteristicas
Subsistema
Control del sistema general
Administrar ejecución de subsistemas
Modelos
Llamada-retorno
Caracteristicas
Lenguajes:Pascal, C, Ada y POO
No es un modelo estructural
Inicio en parte superior del sistema
Ventaja
Sencillo analisis del flujo de control
Desventaja
Excepciones complicadas de gestionar
Del Administrador
Componente central (Administrador)
Control de inicio
Control de detención
Control de coordinación
Ejecución de subsistemas en paralelo
Restricciones de tiempo poco estrictas
Conocido por ciclos de eventos
Control basado en eventos
Característica
Dependen de eventos externos
Modelos
De transmisión
Características
Subsistemas requieren eventos
Controlador responde a solicitudes
Ventajas
Fácil evolución e integración de subsistemas
Fácil interacción entre subsistemas
Subsistemas pueden implementarse en maquinas distribuidas
Desventajas
Subsistemas no saben el tiempo de los eventos
Un subsistema origen no sabe para que subsistema trabaja
Dirigidos por interrupciones
Características
Útiles para tiempo real
Capacidad de combinarse con sistemas centralizados
Responde a interrupciones del sistema
cada interrupción asociado a un controlador
Controlador actua al detectar interrupcion
Controlador manejas los procesos
Ventajas
Rápida respuesta a eventos
Desventajas
Complejo de programar y validar
Limitado por el hardware que registra eventos
Uso de muchos eventos reducción de rendimiento
Sistemas Distribuidos
Caracteristica
Procesamiento en varias maquinas
Ventajas
Compartir recursos
Apertura
Concurrencia
Escalabilidad
Tolerancia a defectos
Desventajas
Complejidad
Baja seguridad
Impredecibilidad
Ejemplo
Sistema peer to peer P2P
Caracteristicas
Sistemas descentralizados
Uso de grandes de redes de equipos
Cada nodo de la red es un equipo
Arquitecturas
Descentralizada
Tolerante a fallos
Sobrecarga de nodos
Semicentralizadas
Nodos servidores
conexion directa entre nodos
Sistemas Orientados a Servicios
Servicios Web
Características
Representación estándar para recursos
Servicio independiente
Accesibilidad de información
Interfaz web de datos y acceso
Componentes
Proveedor de servicios
Solicitante de servicios
Ventajas
Servicios de pago solo en función del uso
Aplicaciones mas pequeñas
Construcción a medida de servicios
Estándares XML
SOAP (Simple Object Access Protocol)
intercambio de datos entre servicios web
WSDL L (Web Services Description Language)
Interfaces de servicios web
UDDI (Universal Description, Discovery and Integration)
buscar y organizar información de descripción de servicios