arquitetura de sistemas

Uma arquitetura de sistema é o modelo conceitual que define a estrutura , o comportamento e mais visualizações de um sistema . [1] Uma descrição de arquitetura é uma descrição formal e representação de um sistema, organizado de forma a apoiar o raciocínio sobre as estruturas e comportamentos do sistema.

Uma arquitetura de sistema pode consistir em componentes de sistema e subsistemas desenvolvidos, que trabalharão juntos para implementar o sistema geral. Houve esforços para formalizar linguagens para descrever a arquitetura do sistema, coletivamente chamadas de linguagens de descrição de arquitetura (ADLs). [2] [3] [4]

Visão geral

Várias organizações podem definir a arquitetura de sistemas de diferentes maneiras, incluindo:

  • A organização fundamental de um sistema, incorporada em seus componentes, suas relações entre si e com o ambiente, e os princípios que governam seu projeto e evolução. [5]
  • Uma representação de um sistema, incluindo um mapeamento de funcionalidade em componentes de hardware e software , um mapeamento da arquitetura de software na arquitetura de hardware e interação humana com esses componentes. [6]
  • Um arranjo alocado de elementos físicos que fornece a solução de design para um produto de consumo ou processo de ciclo de vida destinado a satisfazer os requisitos da arquitetura funcional e a linha de base dos requisitos. [7]
  • Uma arquitetura consiste nas invenções e decisões estratégicas mais importantes, difundidas e de alto nível e suas lógicas associadas sobre a estrutura geral (ou seja, elementos essenciais e seus relacionamentos) e características e comportamentos associados. [8]
  • Uma descrição do design e conteúdo de um sistema de computador . Se documentado, pode incluir informações como um inventário detalhado dos recursos atuais de hardware, software e rede; uma descrição de planos de longo prazo e prioridades para compras futuras e um plano para atualização e/ou substituição de equipamentos e software obsoletos. [9]
  • Uma descrição formal de um sistema ou um plano detalhado do sistema em nível de componente para orientar sua implementação. [10]
  • O composto das arquiteturas de design para produtos e seus processos de ciclo de vida. [11]
  • A estrutura dos componentes, suas inter-relações e os princípios e diretrizes que regem seu design e evolução ao longo do tempo. [12]

Pode-se pensar na arquitetura do sistema como um conjunto de representações de um sistema existente (ou futuro). Essas representações inicialmente descrevem uma organização funcional geral de alto nível e são progressivamente refinadas para descrições mais detalhadas e concretas.

A arquitetura do sistema transmite o conteúdo informacional dos elementos que compõem um sistema, os relacionamentos entre esses elementos e as regras que governam esses relacionamentos. Os componentes arquitetônicos e o conjunto de relacionamentos entre esses componentes que uma descrição de arquitetura pode consistir em hardware, software , documentação, instalações, procedimentos manuais ou papéis desempenhados por organizações ou pessoas. [ esclarecimento necessário ]

Uma arquitetura de sistema se concentra principalmente nas interfaces internas entre os componentes ou subsistemas do sistema e na(s) interface(s) entre o sistema e seu ambiente externo, especialmente o usuário . (No caso específico de sistemas de computador, esta última interface especial é conhecida como interface homem-computador , AKA interface homem-computador ou HCI ; anteriormente chamada de interface homem-máquina.)

Pode-se contrastar uma arquitetura de sistema com a engenharia de arquitetura de sistema (SAE) - o método e a disciplina para implementar efetivamente a arquitetura de um sistema: [13]

  • A SAE é um método porque uma sequência de etapas é prescrita [ por quem? ] produzir ou alterar a arquitetura de um sistema dentro de um conjunto de restrições .
  • A SAE é uma disciplina porque um corpo de conhecimento é usado para informar os profissionais sobre a maneira mais eficaz de projetar o sistema dentro de um conjunto de restrições.

História

A arquitetura de sistemas depende fortemente de práticas e técnicas que foram desenvolvidas ao longo de milhares de anos em muitos outros campos, sendo talvez o mais importante a arquitetura civil.

  • Antes do advento dos computadores digitais, a eletrônica e outras disciplinas de engenharia usavam o termo "sistema" como ainda é comumente usado hoje. No entanto, com a chegada dos computadores digitais e o desenvolvimento da engenharia de software como uma disciplina separada, muitas vezes foi necessário distinguir entre artefatos de hardware de engenharia, artefatos de software e artefatos combinados. Um artefato de hardware programável , ou máquina de computação , que não possui seu programa de computadoré impotente; mesmo como um artefato de software, ou programa, é igualmente impotente, a menos que possa ser usado para alterar os estados sequenciais de uma máquina (hardware) adequada. No entanto, uma máquina de hardware e sua programação podem ser projetadas para executar um número quase ilimitado de tarefas físicas e abstratas. Dentro das disciplinas de engenharia de computadores e software (e, muitas vezes, outras disciplinas de engenharia, como comunicações), o termo sistema passou a ser definido como contendo todos os elementos necessários (que geralmente incluem hardware e software) para executar uma função útil. função.
  • Consequentemente, dentro dessas disciplinas de engenharia, um sistema geralmente se refere a uma máquina de hardware programável e seu programa incluído. E um engenheiro de sistemas é definido como aquele que se preocupa com o dispositivo completo, tanto hardware quanto software e, mais particularmente, todas as interfaces do dispositivo, incluindo aquela entre hardware e software, e especialmente entre o dispositivo completo e seu usuário (o CHI ). O engenheiro de hardware lida (mais ou menos) exclusivamente com o dispositivo de hardware; o engenheiro de softwarelida (mais ou menos) exclusivamente com o programa de computador; e o engenheiro de sistemas é responsável por verificar se o programa é capaz de funcionar adequadamente dentro do dispositivo de hardware e se o sistema composto pelas duas entidades é capaz de interagir adequadamente com seu ambiente externo, especialmente o usuário, e executar sua função pretendida.
  • Uma arquitetura de sistemas faz uso de elementos de software e hardware e é usada para permitir o projeto de tal sistema composto. Uma boa arquitetura pode ser vista como um ' esquema de particionamento ', ou algoritmo , que particiona todos os requisitos presentes e previsíveis do sistema em um conjunto funcional de subsistemas claramente delimitados sem sobrar nada. Ou seja, é um esquema de particionamento exclusivo, inclusivo e exaustivo. Um dos principais objetivos do particionamento é organizar os elementos nos subsistemas de forma que haja um mínimo de interdependência necessária entre eles. Tanto no software quanto no hardware, um bom subsistema tende a ser visto como um "objeto" significativo. Além disso, uma boa arquitetura permite um fácil mapeamento dos requisitos do usuário e os testes de validação dos requisitos do usuário. Idealmente, também existe um mapeamento de cada elemento mínimo para cada requisito e teste.

tipos

Vários tipos de arquiteturas de sistemas (baseados nos mesmos princípios fundamentais [14] ) foram identificados como segue: [15]

Veja também

Referências

  1. ^ Hannu Jaakkola e Bernhard Thalheim. (2011) "Metodologias de modelagem orientadas à arquitetura." In: Proceedings of the 2011 Conference on Information Modeling and Knowledge Bases XXII . Anneli Heimbürger et al. (ed.). Imprensa IOS. pág. 98
  2. ^ Paul C. Clements (1996) "Uma pesquisa de linguagens de descrição de arquitetura." Anais do 8º workshop internacional sobre especificação e design de software. IEEE Computer Society, 1996.
  3. ^ Nenad Medvidovic e Richard N. Taylor (2000). "Uma estrutura de classificação e comparação para linguagens de descrição de arquitetura de software." Engenharia de Software, IEEE Transactions em 26.1 (2000): 70-93.
  4. ^ Nejad, Bobby (2023), Nejad, Bobby (ed.), "The Physical Architecture", Introdução à Engenharia de Sistemas de Segmento Terrestre de Satélite: Princípios e Aspectos Operacionais , Biblioteca de Tecnologia Espacial, Cham: Springer International Publishing, vol. 41, pp. 187–197, doi : 10.1007/978-3-031-15900-8_13, ISBN 978-3-031-15900-8, recuperado 2022-12-07
  5. ^ De ANSI / IEEE 1471-2000 .
  6. ^ Do Instituto de Engenharia de Software da Carnegie Mellon University.
  7. ^ Do glossário da home page da engenharia humana. Arquivado em 13/02/2015 na Wayback Machine
  8. ^ Do repositório OPEN Process Framework (OPF) arquivado em 2006-03-05 no Wayback Machine .
  9. ^ Do glossário do National Center for Education Statistics.
  10. ^ TOGAF
  11. ^ De IEEE 1220-1998 conforme encontrado em seu glossário Arquivado em 2006-05-17 no Wayback Machine .
  12. ^ TOGAF
  13. ^ The Method Framework for Engineering System Architectures, Donald Firesmith et al., 2008
  14. ^ Os princípios fundamentais da arquitetura de sistemas, por Boris Golden
  15. ^ A arte da arquitetura de sistemas, Mark Maier e Eberhardt Rechtin , 2ª ed 2002
  16. ^ Abbas, Karim (2023). De Algoritmos a Arquiteturas de Hardware. doi : 10.1007/978-3-031-08693-9. ISBN 978-3-031-08692-2. S2CID  251371033.
  17. ^ Michaels, Paul (2022). Arquitetura de software por exemplo. doi : 10.1007/978-1-4842-7990-8. ISBN 978-1-4842-7989-2. S2CID  248408249.
  18. ^ Zeng, Ruiqi; Niu, Yiru; Zhao, Yue; Peng, Haiyang (2022). Liu, Shuai; Ma, Xuefei (eds.). "Evolução da Arquitetura de Software e Pesquisa Tecnológica". Processamento Avançado de Informações Híbridas . Notas de Aula do Instituto de Ciências da Computação, Informática Social e Engenharia de Telecomunicações. Cham: Springer International Publishing. 416 : 708–720. doi : 10.1007/978-3-030-94551-0_54. ISBN 978-3-030-94551-0. S2CID  246051702.
  19. ^ Ziemann, Jörg (2022), Ziemann, Jörg (ed.), "Enterprise Architecture in a Nutshell", Fundamentals of Enterprise Architecture Management: Foundations for Steering the Enterprise-Wide Digital System , The Enterprise Engineering Series, Cham: Springer International Publishing , pp. 23–60, doi : 10.1007/978-3-030-96734-5_2, ISBN 978-3-030-96734-5, recuperado 2022-12-07
  20. ^ Musukutwa, Sheunopa Chalmers (2022), Musukutwa, Sheunopa Chalmers (ed.), "Developing an Enterprise Architecture", SAP Enterprise Architecture: A Blueprint for Executing Digital Transformation , Berkeley, CA: Apress, pp. 51–92, doi : 10.1007/978-1-4842-8575-6_3, ISBN 978-1-4842-8575-6, recuperado 2022-12-07
  21. ^ Markusheska, Nastasija; Srinivasan, Venkatachalam; Walther, Jan-Niclas; Gindorf, Alex; Biedermann, Jörn; Meller, Frank; Nagel, Björn (2022-07-01). "Implementação de um modelo de arquitetura de sistema para processos automatizados de montagem de cabines de aeronaves". CEAS Revista Aeronáutica . 13 (3): 689–703. doi : 10.1007/s13272-022-00582-6. ISSN  1869-5590. S2CID  248972956.
  22. ^ Escolhendo uma arquitetura de sistemas estratégicos, por Brad Day

links externos

  • Princípios da arquitetura do sistema
  • O que é Arquitetura de Sistemas?
  • Grupo de Trabalho de Arquitetura de Sistemas INCOSE
  • Revista de Arquitetura de Sistemas