Aprender arquitectura a partir de 0 antecedentes históricos y el propósito del diseño de la arquitectura.

Aprender arquitectura a partir de 0 antecedentes históricos y el propósito del diseño de la arquitectura.

La historia del desarrollo del lenguaje de programación.

Lenguaje de máquina -> Lenguaje ensamblador -> Lenguaje de alto nivel.

La escala y la complejidad del software han aumentado considerablemente y ha habido dos crisis de software.

  • La primera crisis del software y la programación estructurada (décadas de 1960 y 1970)
  • La segunda crisis del software y la orientación a objetos (década de 1980)

Antecedentes históricos de la arquitectura de software

A medida que aumenta el tamaño de un sistema de software, los algoritmos relacionados con la computación y las estructuras de datos ya no constituyen
problemas ; cuando un sistema se compone de muchas partes, la organización de todo el sistema, conocida como la "serie de software,
nuevos problemas de diseño".

Los sistemas de software a gran escala enfrentan problemas relacionados con la arquitectura del software:

  • La escala del sistema es enorme, el acoplamiento interno es serio y la eficiencia de desarrollo es baja;
  • El acoplamiento del sistema es grave, y todo el cuerpo se moviliza con una sola acción, lo que dificulta su posterior modificación y expansión;
  • La lógica del sistema es compleja, propensa a problemas y es difícil de solucionar y reparar después de que ocurren los problemas.

小结:

  • El proceso de desarrollo de software incluye múltiples vínculos, como análisis, diseño, implementación, prueba, verificación, implementación y operación y mantenimiento.
  • En el proceso de diseño de software, los módulos, objetos y componentes son esencialmente metodologías de "división" para una cierta escala de software en diferentes granularidades y niveles, y la
    arquitectura de software es un método para "organizar" el software.
  • El diseño arquitectónico no puede separarse de factores que no tienen nada que ver con la tecnología en sí, como el negocio, las condiciones reales de la empresa, el personal, el presupuesto y la inversión de tiempo, pero son factores que afectan e incluso determinan la dirección del diseño arquitectónico. Por lo tanto, no hay mejor, solo más adecuado.

Malentendidos en el diseño de la arquitectura

  • Porque la estructura es muy importante, también lo es el diseño de la estructura.
  • El sistema no puede funcionar sin el diseño de la arquitectura.
  • El diseño de la arquitectura puede mejorar la eficiencia del desarrollo
  • Una arquitectura bien diseñada puede promover el desarrollo empresarial
  • Cada sistema necesita ser diseñado
  • El proceso de la empresa requiere que haya un diseño de arquitectura en el proceso de desarrollo del sistema.
  • Para un alto rendimiento, alta disponibilidad y escalabilidad, se requiere un diseño de arquitectura

El verdadero propósito del diseño arquitectónico.

架构设计的主要目的是为了解决软件系统复杂度带来的问题。

¿Cómo hacer un diseño arquitectónico?

  • A través de la familiaridad y la comprensión de los requisitos, identifique dónde radica la complejidad del sistema y luego diseñe la arquitectura para estos puntos complejos.
  • El diseño de la arquitectura no necesita ser integral, no es necesario que cada arquitectura tenga las características de alto rendimiento, alta disponibilidad y alta escalabilidad, sino que es necesario identificar los
    puntos complejos y luego resolver los problemas de manera específica.
  • Comprenda los puntos complejos que deben resolverse detrás de cada solución arquitectónica, y luego compare sus propios puntos complejos comerciales y consulte
    soluciones con puntos complejos similares.
  • Si la complejidad del sistema no está en la parte de rendimiento, de nada sirve llegar a los 100.000 TPS
  • La arquitectura de Taobao está diseñada para resolver la complejidad del negocio de Taobao. La complejidad del negocio de Taobao no es la misma que la complejidad de nuestro negocio
    . La cantidad de usuarios de la mayoría de los negocios no puede ser tan grande como la de Taobao.
  • Docker no es una panacea, solo está diseñado para resolver la reutilización de recursos y la asignación dinámica, si la complejidad de nuestro sistema
    no está en esta área, no tiene sentido presentar Docker.

小结

La arquitectura empresarial y el nivel empresarial se extraen de los escenarios de aplicación reales de cada proyecto específico.

La arquitectura empresarial es el refinamiento y la abstracción de los requisitos comerciales. El desarrollo de software debe cumplir con los requisitos comerciales, de lo contrario es un castillo en el aire. El problema de la complejidad del negocio del sistema de software
se puede resolver dividiendo la interfaz de trabajo desde la perspectiva de la arquitectura empresarial.

Para diseñar la arquitectura de software, lo primero es asegurarse de que pueda estar alineada con la arquitectura de negocios.Este es también el proceso de cambiar de la lógica de negocios a la lógica de código, por lo que el diseño de la arquitectura de software señala la dirección para el desarrollo.

Además, el diseño arquitectónico también sienta las bases para la posterior división del trabajo de desarrollo.

El nivel empresarial se manifiesta en la capacidad de almacenamiento, la capacidad de rendimiento y la tolerancia a fallas, etc., principalmente debido a la complejidad del negocio durante el período de operación y mantenimiento del software.

Al realizar el diseño de la arquitectura de software, es necesario asegurarse de que el software tenga la capacidad de soportar los requisitos de nivel empresarial. Si el software caduca durante su vida operativa, todo el trabajo anterior será en vano.

La complejidad de la arquitectura de software correspondiente es diferente para los diferentes niveles comerciales, por lo que para diferentes proyectos, el nivel comercial es diferente y el diseño de la arquitectura también es diferente.

La arquitectura empresarial debe coincidir con los escenarios de aplicación reales a los que se enfrenta. Dado que los escenarios empresariales de cada producto o proyecto son
diferentes , cada vez antes de realizar un nuevo desarrollo de software, primero se debe diseñar la arquitectura de software, tratando de aplicarla directamente sin análisis. La arquitectura anterior plan , nueve de cada diez, hará que el sistema actual informe de un gran problema en un punto determinado y lo anule y reinicie, y mucho menos usar directamente el plan de arquitectura
ya preparado de otra persona.

Por lo tanto, antes de que se desarrolle cada software, debe diseñar una arquitectura de software adecuada para sí mismo en combinación con sus propios escenarios de aplicación. Las soluciones de arquitectura listas para usar
solo se pueden usar como referencia y no se pueden aplicar directamente.

Además, debido a que la arquitectura comercial y el volumen comercial continuarán ajustándose o creciendo, la arquitectura del software no se fija de una vez por todas y continuará
ajustándose con el negocio.

Supongo que te gusta

Origin blog.csdn.net/qq_35385687/article/details/131552039
Recomendado
Clasificación