Arquitectura de Software: Modelo Cliente-Servidor y sus Componentes

Diapositivas de la Universidad de Guayaquil sobre Arquitectura de Software. El Pdf, un material didáctico de Informática para el grado universitario, aborda el diseño arquitectónico, las pruebas y el mantenimiento del software, con un enfoque en el modelo cliente-servidor y sus componentes principales.

Ver más

44 páginas

Arquitectura de Software
Unidad # 2
Msig. Katty Lino C.
Temas de la Unidad
Diseño Arquitectónico
Decisiones de diseño
Vistas Arquitectónicas
Patrones arquitectónicos
Pruebas y Mantenimiento
de Software
Pruebas de desarrollo
Pruebas de versión
Pruebas de Usuario
Mantenimiento de Software
Confiabilidad y Seguridad
Propiedades de confiabilidad
Disponibilidad y fiabilidad
Protección
Seguridad

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

CARRERA EN SISTEMAS DE INFORMACIÓN

Arquitectura de Software

Msig. Katty Lino C.

Unidad # 2

CARRERA EN SISTEMAS DE INFORMACIÓN

Temas de la Unidad

  • Diseño Arquitectónico
    • Decisiones de diseño
    • Vistas Arquitectónicas
    • Patrones arquitectónicos
  • Pruebas y Mantenimiento de Software
    • Pruebas de desarrollo
    • Pruebas de versión
    • Pruebas de Usuario
    • Mantenimiento de Software
  • Confiabilidad y Seguridad
    • Propiedades de confiabilidad
    • Disponibilidad y fiabilidad
    • Protección
    • Seguridad

CARRERA EN SISTEMAS DE INFORMACIÓN

Objetivos de la Carrera

  • Comprender por qué es importante el diseño arquitectónico del software;
  • Conocer las decisiones que deben tomarse sobre la arquitectura de software durante el proceso de diseño arquitectónico;
  • Asimilar la idea de los patrones arquitectónicos, formas bien reconocidas de organización de las arquitecturas del sistema, que pueden reutilizarse en los diseños del sistema;
  • Identificar los patrones arquitectónicos usados frecuentemente en diferentes tipos de sistemas de aplicación, incluidos los sistemas de procesamiento de transacción y los sistemas de procesamiento de lenguaje

CARRERA EN SISTEMAS DE INFORMACIÓN

Decisiones en el Diseño Arquitectónico

El diseño arquitectónico es un proceso creativo en el cual se diseña una organización del sistema que cubrirá los requerimientos funcionales y no funcionales de éste.

Las actividades dentro del proceso dependen del tipo de sistema que se va a desarrollar, los antecedentes y la experiencia del arquitecto del sistema, así como de los requerimientos específicos del sistema.

CARRERA EN SISTEMAS

Arquitectura de Software: Estructura y Componentes

La arquitectura del software de un programa o sistema de cómputo es la estructura o estructuras del sistema, lo que comprende a los componentes del software, sus propiedades externas visibles y las relaciones entre ellos

CARRERA EN SISTEMAS DE INICIMACIÓN

Importancia de la Arquitectura del Software

Las representaciones de la arquitectura del software permiten la comunicación entre todas las partes (participantes) interesadas en el desarrollo de un sistema basado en computadora.

La arquitectura resalta las primeras decisiones que tendrán un efecto profundo en todo el trabajo de ingeniería de software siguiente y, también importante, en el éxito último del sistema como entidad operacional.

La arquitectura "constituye un modelo relativamente pequeño y asequible por la vía intelectual sobre cómo está estructurado el sistema y la forma en la que sus componentes trabajan juntos" [Bas03]

CARRERA EN SISTEMAS

Vistas Arquitectónicas del Sistema Software

Muestran toda la arquitectura del sistema software que se esté documentando, pero cada una de ellas ha de documentarse de forma diferente y ha de mostrar aspectos diferentes del sistema software.

CARRERA EN SISTEMAS DE INFORMACIÓN

Tipos de Vistas Arquitectónicas

  • Vista Lógica
  • Vista de Proceso
  • Vista de Desarrollo
  • Vista Física

CARRERA EN SISTEMAS

Descripción de Vistas Arquitectónicas

Vista Lógica

Indica las abstracciones clave en el sistema como objetos o clases de objeto.

En este tipo de vista se tienen que relacionar los requerimientos del sistema con entidades.

Vista de Proceso

Muestra cómo, en el tiempo de operación, el sistema está compuesto de procesos en interacción.

Esta vista es útil para hacer juicios acerca de las características no funcionales del sistema, como el rendimiento y la disponibilidad

CARRERA EN SISTEMAS DE INFORMACIÓN

Vistas Arquitectónicas Detalladas

Vista de desarrollo

Muestra cómo el software está descompuesto para su desarrollo, esto es, indica la descomposición del software en elementos que se implementen mediante un solo desarrollador o equipo de desarrollo.

Esta vista es útil para administradores y programadores de software.

Vista física

Expone el hardware del sistema y cómo los componentes de software se distribuyen a través de los procesadores en el sistema.

Esta vista es útil para los ingenieros de sistemas que planean una implementación de sistema.

CA RENA IN SISTEMAS

Vista de Escenarios en Arquitectura

Representada por los casos de uso software y va a tener la función de unir y relacionar las otras 4 vistas, esto quiere decir que desde un caso de uso podemos ver cómo se van ligando las otras 4 vistas, con lo que tendremos una trazabilidad de componentes, clases, equipos, paquetes, etc., para realizar cada caso de uso.

Para completar la documentación de esta vista se pueden incluir el diagrama de casos de uso de UML.

CARRERA EN SISTEMAS DE INFORMACIÓN

Patrones Arquitectónicos

CARRERA EN SISTEMAS DE INFORMACIÓN

Definición de Patrones Arquitectónicos

Un patrón arquitectónico se puede considerar como una descripción abstracta estilizada de buena práctica, que se ensayó y puso a prueba en diferentes sistemas y entornos.

De este modo, un patrón arquitectónico debe describir una organización de sistema que ha tenido éxito en sistemas previos.

Debe incluir información sobre cuándo es y cuándo no es adecuado usar dicho patrón, así como sobre las fortalezas y debilidades del patrón

CARNENA EN SISTEMAS

Model-View-Controller (MVC)

Separa presentación e interacción de los datos del sistema.

El sistema se estructura en tres componentes lógicos que interactúan entre sí.

El componente Modelo maneja los datos del sistema y las operaciones asociadas a esos datos.

El componente Vista define y gestiona cómo se presentan los datos al usuario.

El componente Controlador dirige la interacción del usuario (por ejemplo, teclas oprimidas, clics del mouse, etcétera) y pasa estas interacciones a Vista y Modelo.

CARRENA EN SISTEMAS

Arquitectura Model-View-Controller (MVC)

Figura 6.4 Arquitectura de aplicación Web con el patrón MVC

CARRERA EN SISTEMAS DE INFORMACIÓN

Ventajas y Desventajas de MVC

Ventajas

Permite que los datos cambien de manera independiente de su representación y viceversa.

Soporta en diferentes formas la presentación de los mismos datos, y los cambios en una representación se muestran en todos ellos.

Desventajas

Puede implicar código adicional y complejidad de código cuando el modelo de datos y las interacciones son simples.

CARRERA EN SISTEMAS DE INICIMACIÓN

Modelo En capas

Organiza el sistema en capas con funcionalidad relacionada con cada capa.

Una capa da servicios a la capa de encima, de modo que las capas de nivel inferior representan servicios núcleo que es probable se utilicen a lo largo de todo el sistema ..

Las capas más comunes son:

  • Capa de presentación
  • Capa de lógica de negocio
  • Capa de acceso a datos

CARRERA EN SISTEMAS

Descripción de Capas en el Modelo

Capa de presentación:

La que ve el usuario (también se la denomina «capa de usuario»), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso

También es conocida como interfaz gráfica y debe tener la característica de ser «amigable» (entendible y fácil de usar) para el usuario.

Esta capa se comunica únicamente con la capa de negocio.

Capa de negocio:

Es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso.

Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse.

Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él ..

Capa de datos:

Es donde residen los datos y es la encargada de acceder a los mismos.

Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

CARRERA EN SISTEMAS DE INFORMACIÓN

Ventajas y Desventajas del Modelo en Capas

  • Permite la sustitución de capas completas en tanto se conserve la interfaz. Para aumentar la confiabilidad del sistema, en cada capa pueden incluirse facilidades redundantes (por ejemplo, autenticación).

Desventajas

  • En la práctica, suele ser difícil ofrecer una separación limpia entre capas, y es posible que una capa de nivel superior deba interactuar directamente con capas de nivel inferior, en vez de que sea a través de la capa inmediatamente abajo de ella. El rendimiento suele ser un problema, debido a múltiples niveles de interpretación de una solicitud de servicio mientras se procesa en cada capa.

CARRERA EN SISTEMAS DE INFORMACIÓN

Arquitectura Cliente Servidor

En una arquitectura cliente- servidor, la funcionalidad del sistema se organiza en servicios, y cada servicio lo entrega un servidor independiente.

Los clientes son usuarios de dichos servicios y para utilizarlos ingresan a los servidores.

CARRERA EN SISTEMAS DE INFORMACIÓN

Ventajas y Desventajas del Modelo Cliente Servidor

Ventajas

  • La principal ventaja de este modelo es que los servidores se pueden distribuir a través de una red.
  • La funcionalidad general (por ejemplo, un servicio de impresión) estaría disponible a todos los clientes, así que no necesita implementarse en todos los servicios.

Desventajas

  • Cada servicio es un solo punto de falla, de modo que es susceptible a ataques de rechazo de servicio o a fallas del servidor.
  • El rendimiento resultará impredecible porque depende de la red, así como del sistema.
  • Quizás haya problemas administrativos cuando los servidores sean propiedad de diferentes organizaciones.

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.