La arquitectura de un sistema puede constar de componentes del sistema y subsistemas desarrollados, que trabajarán juntos para implementar el sistema general. Se han realizado esfuerzos para formalizar los lenguajes para describir la arquitectura del sistema; en conjunto, se denominan lenguajes de descripción de arquitectura (ADL). [2] [3] [4]
Descripción general
Varias organizaciones pueden definir la arquitectura de sistemas de diferentes maneras, incluyendo:
La organización fundamental de un sistema, incorporada en sus componentes, sus relaciones entre sí y con el medio ambiente, y los principios que rigen su diseño y evolución. [5]
Una disposición asignada de elementos físicos que proporciona la solución de diseño para un producto de consumo o un proceso de ciclo de vida destinado a satisfacer los requisitos de la arquitectura funcional y la línea base de requisitos. [7]
Una arquitectura consta de las invenciones y decisiones estratégicas más importantes, omnipresentes y de alto nivel y sus fundamentos asociados sobre la estructura general (es decir, los elementos esenciales y sus relaciones) y las características y el comportamiento asociados. [8]
Una descripción del diseño y contenidos de un sistema informático . Si está documentado, puede incluir información como un inventario detallado del hardware, software y capacidades de red actuales; una descripción de los planes y prioridades a largo plazo para compras futuras, y un plan para actualizar y/o reemplazar equipos y software obsoletos. [9]
Una descripción formal de un sistema, o un plan detallado del sistema a nivel de componente para guiar su implementación. [10]
El compuesto de las arquitecturas de diseño de productos y sus procesos de ciclo de vida. [11]
La estructura de los componentes, sus interrelaciones y los principios y directrices que rigen su diseño y evolución en el tiempo. [12]
Se puede pensar en la arquitectura del sistema como un conjunto de representaciones de un sistema existente (o futuro). Estas representaciones describen inicialmente una organización funcional general de alto nivel y se refinan progresivamente hasta obtener descripciones más detalladas y concretas.
La arquitectura del sistema transmite el contenido informativo de los elementos que componen un sistema, las relaciones entre esos elementos y las reglas que gobiernan esas relaciones. Los componentes arquitectónicos y el conjunto de relaciones entre estos componentes que una descripción de arquitectura puede consistir en hardware, software , documentación, instalaciones, procedimientos manuales o roles desempeñados por organizaciones o personas. [ se necesita aclaración ]
La arquitectura de un sistema se concentra principalmente en las interfaces internas entre los componentes o subsistemas del sistema , y en las interfaces entre el sistema y su entorno externo, especialmente el usuario . (En el caso específico de los sistemas informáticos, esta última interfaz especial se conoce como interfaz hombre-máquina , también conocida como interfaz hombre-computadora o HCI ; anteriormente llamada interfaz hombre-máquina).
Se puede contrastar la arquitectura de un sistema con la ingeniería de arquitectura de sistemas (SAE), el método y la disciplina para implementar eficazmente la arquitectura de un sistema: [13]
SAE es un método porque se prescribe una secuencia de pasos [ ¿por quién? ] producir o cambiar la arquitectura de un sistema dentro de un conjunto de restricciones .
SAE es una disciplina porque se utiliza un conjunto de conocimientos para informar a los profesionales sobre la forma más eficaz de diseñar el sistema dentro de un conjunto de limitaciones.
Historia
La arquitectura de sistemas depende en gran medida de prácticas y técnicas que se desarrollaron durante miles de años en muchos otros campos, siendo quizás el más importante la arquitectura civil.
Antes de la llegada de las computadoras digitales, la electrónica y otras disciplinas de ingeniería usaban el término "sistema" como todavía se usa comúnmente en la actualidad. Sin embargo, con la llegada de las computadoras digitales y el desarrollo de la ingeniería de software como una disciplina separada, a menudo fue necesario distinguir entre artefactos de hardware, artefactos de software y artefactos combinados. Un artefacto de hardware programable , o máquina informática , que carece de su programa informático es impotente; Incluso como artefacto de software, o programa, es igualmente impotente a menos que pueda usarse para alterar los estados secuenciales de una máquina (hardware) adecuada. Sin embargo, una máquina hardware y su programación pueden diseñarse para realizar un número casi ilimitado de tareas físicas y abstractas. Dentro de las disciplinas de ingeniería informática y de software (y, a menudo, en otras disciplinas de ingeniería, como las comunicaciones), el término sistema pasó a definirse como el que contiene todos los elementos necesarios (que generalmente incluyen tanto hardware como software) para realizar una tarea útil. función.
En consecuencia, dentro de estas disciplinas de ingeniería, un sistema generalmente se refiere a una máquina de hardware programable y su programa incluido. Y un ingeniero de sistemas se define como aquel que se ocupa del dispositivo completo, tanto el hardware como el software y, más particularmente, todas las interfaces del dispositivo, incluida la que existe entre el hardware y el software, y especialmente entre el dispositivo completo y su usuario (el CHI). ). El ingeniero de hardware se ocupa (más o menos) exclusivamente del dispositivo de hardware; el ingeniero de software se ocupa (más o menos) exclusivamente del programa informático; y el ingeniero de sistemas es responsable de garantizar que el programa sea capaz de ejecutarse correctamente dentro del dispositivo de hardware, y que el sistema compuesto por las dos entidades sea capaz de interactuar adecuadamente con su entorno externo, especialmente el usuario, y realizar su función prevista.
Una arquitectura de sistemas utiliza elementos tanto de software como de hardware y se utiliza para permitir el diseño de dicho sistema compuesto. Una buena arquitectura puede verse como un ' esquema de partición ', o algoritmo , que divide todos los requisitos presentes y previsibles del sistema en un conjunto viable de subsistemas claramente delimitados sin que quede nada. Es decir, se trata de un esquema de partición exclusivo, inclusivo y exhaustivo . Un objetivo principal de la partición es organizar los elementos de los subsistemas de modo que exista un mínimo de interdependencias necesarias entre ellos. Tanto en software como en hardware, un buen subsistema tiende a ser visto como un "objeto" significativo. Además, una buena arquitectura permite una fácil correspondencia con los requisitos del usuario y las pruebas de validación de los requisitos del usuario. Idealmente, también existe un mapeo desde cada elemento mínimo hasta cada requisito y prueba.
Tipos
Se han identificado varios tipos de arquitecturas de sistemas (basadas en los mismos principios fundamentales [14] ) de la siguiente manera: [15]
^ Hannu Jaakkoррмшлинla y Bernhard Thalheim. (2011) "Metodologías de modelado basadas en la arquitectura". En: Actas de la conferencia de 2011 sobre Modelado de información y bases de conocimiento XXII . Anneli Heimbürger et al. (ed.). Prensa IOS. pag. 98
^ Paul C. Clements (1996) "Un estudio de los lenguajes de descripción de la arquitectura". Actas del octavo taller internacional sobre especificación y diseño de software. Sociedad de Computación IEEE, 1996.
^ Nenad Medvidovic y Richard N. Taylor (2000). "Un marco de clasificación y comparación para lenguajes de descripción de arquitectura de software". Ingeniería de software, IEEE Transactions el 26.1 (2000): 70-93.
^ Nejad, Bobby (2023), Nejad, Bobby (ed.), "La arquitectura física", Introducción a la ingeniería de sistemas de segmento terrestre de satélite: principios y aspectos operativos , Biblioteca de tecnología espacial, vol. 41, Cham: Springer International Publishing, págs. 187–197, doi :10.1007/978-3-031-15900-8_13, ISBN 978-3-031-15900-8, recuperado el 7 de diciembre de 2022
^
El marco del método para arquitecturas de sistemas de ingeniería, Donald Firesmith et al., 2008
^ Los principios fundamentales de la Arquitectura de Sistemas, por Boris Golden
^ El arte de la arquitectura de sistemas, Mark Maier y Eberhardt Rechtin , 2ª ed. 2002
^ Abbas, Karim (2023). De algoritmos a arquitecturas de hardware. doi :10.1007/978-3-031-08693-9. ISBN978-3-031-08692-2. S2CID 251371033.
^ Michaels, Paul (2022). Arquitectura de software por ejemplo. doi :10.1007/978-1-4842-7990-8. ISBN978-1-4842-7989-2. S2CID 248408249.
^ Zeng, Ruiqi; Niu, Yiru; Zhao, Yue; Peng, Haiyang (2022). "Evolución de la arquitectura de software e investigación tecnológica". En Liu, Shuai; Ma, Xuefei (eds.). Procesamiento híbrido avanzado de información . Apuntes de Conferencias del Instituto de Ciencias de la Computación, Informática Social e Ingeniería de Telecomunicación. vol. 416. Cham: Editorial Internacional Springer. págs. 708–720. doi :10.1007/978-3-030-94551-0_54. ISBN978-3-030-94551-0. S2CID 246051702.
^ Ziemann, Jörg (2022), Ziemann, Jörg (ed.), "Arquitectura empresarial en pocas palabras", Fundamentos de la gestión de la arquitectura empresarial: fundamentos para dirigir el sistema digital en toda la empresa , The Enterprise Engineering Series, Cham: Springer International Publishing , págs. 23–60, doi :10.1007/978-3-030-96734-5_2, ISBN978-3-030-96734-5, recuperado el 7 de diciembre de 2022
^ Musukutwa, Sheunopa Chalmers (2022), Musukutwa, Sheunopa Chalmers (ed.), "Desarrollo de una arquitectura empresarial", Arquitectura empresarial de SAP: un plan para ejecutar la transformación digital , Berkeley, CA: Apress, págs. 51–92, doi : 10.1007/978-1-4842-8575-6_3, ISBN978-1-4842-8575-6, recuperado el 7 de diciembre de 2022
^ Markusheska, Nastasija; Srinivasan, Venkatachalam; Walther, Jan-Niclas; Gindorf, Alex; Biedermann, Jörn; Meller, Frank; Nagel, Björn (1 de julio de 2022). "Implementación de un modelo de arquitectura de sistemas para procesos automatizados de montaje de cabinas de aviones". Revista Aeronáutica CEAS . 13 (3): 689–703. doi : 10.1007/s13272-022-00582-6 . ISSN 1869-5590. S2CID 248972956.
^ Elección de una arquitectura de sistemas estratégicos, por Brad Day
enlaces externos
Wikimedia Commons tiene medios relacionados con la arquitectura de sistemas .
Principios de la arquitectura del sistema.
¿Qué es la Arquitectura de Sistemas?
Grupo de Trabajo de Arquitectura de Sistemas INCOSE