Fundamentos del diseño de arquitectura de software

Prerrequisito: Fundamentos de la Arquitectura de Software

Diseño
de arquitectura de software: el diseño de arquitectura de software, el modelado de arquitectura de software o los patrones de arquitectura de software se utilizan para representar cómo actuará el sistema sobre la base de elementos, relaciones y propiedades de software. Se utiliza principalmente como modelo del proyecto que se va a construir. El diseño de la arquitectura de software ayuda a conectar los aspectos técnicos y operativos al definir y estructurar una solución. La parte de arquitectura y diseño se puede dividir en dos partes.

  • Arquitectura de software: 
    la arquitectura define los planos de un sistema. Sirve como mecanismo de comunicación y coordinación de los elementos. Diseña una solución estructurada mientras mantiene bajo control el rendimiento, la seguridad, etc. Afecta la calidad, la mantenibilidad y el rendimiento general del sistema.
     
  • Diseño de
    software: el diseño de software es el método para elaborar un plan que tenga en cuenta los requisitos del usuario y los recursos disponibles para encontrar un diseño óptimo. Esto allana el camino para que los desarrolladores y los gerentes desarrollen el proyecto para satisfacer las demandas del cliente.

Importancia de la arquitectura de diseño de software:

  • Lleve el foco a la estructura mientras mantiene la implementación oculta
  • Para atender las demandas de los clientes
  • Uso óptimo de los recursos al mismo tiempo que se proporciona un producto eficaz.
  • Mejorar la confianza en las organizaciones
  • Darse cuenta de los casos de uso y escenarios
  • Predecir el lanzamiento del producto de antemano

Factores de diseño de arquitectura de software:
cuando se diseña un marco estructurado para que el producto conceptualice su comportamiento, elementos de software y relaciones, etc., en ese caso, se consideran diferentes aspectos relacionados con el producto de software para diseñar la arquitectura de software. La siguiente figura representa todos estos factores.

Objetivos principales de los principios de diseño de software:

  • Establece un puente entre los requisitos comerciales y técnicos.
  • Identificar aquellos requisitos que conciernen a la estructura del proyecto.
  • Hacer que la arquitectura del proyecto sea escalable, estable y comprobable
  • Considere las consecuencias generales de las decisiones.
  • Flexibilizar el proyecto

Principios de diseño:
cuando se siguen diferentes principios de diseño durante el diseño de la arquitectura de software, no solo se simplifica el proceso de diseño, sino que también resulta un desarrollo más fácil y rápido del producto con bajo costo, bajo esfuerzo y requisitos mínimos de mantenimiento y seguimiento.

  1. Separación de preocupaciones: 
    este principio establece que el software debe distinguirse en función del funcionamiento del software. Por ejemplo, esto se puede lograr segregando el modelo comercial de la parte de implementación para que las diferentes personas involucradas en cada módulo no tengan que preocuparse por el otro.
  2. Encapsulación:
    ayuda a ocultar partes de la aplicación de las otras partes. Esto ayuda a mejorar el proyecto, ya que garantiza que los cambios en una parte no afectarán a la otra parte de la aplicación.
  3. Don’t Repeat Yourself (DRY):
    evita la duplicación de la funcionalidad que viene dentro de una sola aplicación. Significa evitar la repetición e implementar una pieza de código para un solo componente. Este principio disminuirá la complejidad de la aplicación.
  4. Principio del mínimo conocimiento:
    también se denomina LoD (Ley de Deméter), que ayuda a evitar la interdependencia entre los componentes. Como los componentes son desconocidos sobre la arquitectura interna del producto que contiene otros componentes u objetos.

Publicación traducida automáticamente

Artículo escrito por Satyabrata_Jena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *