¿Son los mismos métodos para el diseño arquitectónico de software y sistemas?

Acabo de leer una buena respuesta a esta pregunta en el libro Evaluating Software Architectures de Clements et al.

“Finalmente deberíamos decir una palabra acerca de la arquitectura de software versus arquitectura de sistema , es decir, la arquitectura de sistemas intensivos en software. Este es un libro sobre la evaluación de arquitecturas de software, pero a menudo escuchamos la pregunta, ‘Bueno, ¿qué pasa con la arquitectura de system, no solo el software, es tan vital “. No podríamos estar más de acuerdo. Las arquitecturas de sistemas incorporan los mismos tipos de decisiones de estructuración y descomposición que impulsan las arquitecturas de software. Además, incluyen compensaciones de hardware / software, así como la selección de equipos informáticos y de comunicación, todos los cuales están completamente fuera del ámbito. de arquitectura de software. Las arquitecturas de sistemas son la clave del éxito o el fracaso de un sistema tanto como la arquitectura de software lo hace para el software. Por lo tanto, merecen ser evaluados tanto y exactamente por las mismas razones.

“Creemos que los métodos presentados en este libro se aplicarán igualmente bien a las arquitecturas de sistemas que a las arquitecturas de software. Si la modificabilidad es una preocupación, los métodos se pueden usar para calcular el gasto de realizar cambios en el sistema de la vida; si el rendimiento es Una preocupación, los métodos se pueden utilizar para detectar cuellos de botella y áreas problemáticas en el sistema, así como el software, y así sucesivamente.

“¿Por qué, entonces, lo llamamos un libro sobre evaluación de arquitectura de software? Porque ese es el ámbito en el que los métodos fueron inventados, desarrollados, probados y madurados. En el resto de este libro, cuando hablamos de arquitectura, siempre puedes prefije con seguridad con el software. Puede prefijarlo con el sistema dependiendo de cuán aplicable considere que son los métodos a las arquitecturas del sistema y cuán seguro esté de nuestra intuición en el asunto “.

Para agregar mis 2 centavos, creo que de las decisiones tomadas durante el diseño de un sistema intensivo de software, esas decisiones con respecto al software son mucho más numerosas, menos obvias e influyentes sobre las cualidades que se expresarán en el producto final.