Engenharia de Software

Norma IEEE 1471: Descrição de Arquitetura de Sistemas Intensivos em Software

Pontos principais

  • A IEEE 1471 foi a primeira norma a formalizar a distinção entre 'visão' (view) e 'ponto de vista' (viewpoint) na arquitetura de software.
  • Foi substituída em 2011 pela norma internacional ISO/IEC/IEEE 42010.
  • A norma foca em sistemas 'intensivos em software', reconhecendo que a arquitetura influencia drasticamente todo o ciclo de vida do sistema.
  • Estabeleceu que a documentação de arquitetura deve ser orientada às preocupações dos stakeholders.

A IEEE 1471 foi uma norma técnica desenvolvida pelo Instituto de Engenheiros Eletricistas e Eletrônicos (IEEE) para estabelecer a prática recomendada na descrição da arquitetura de sistemas intensivos em software. Seu objetivo principal era fornecer uma base conceitual e terminológica para a documentação de arquiteturas, permitindo que diferentes partes interessadas pudessem compreender e validar o design de um sistema.

Em 2011, a norma foi oficialmente substituída pela ISO/IEC/IEEE 42010, que expandiu e refinou os conceitos introduzidos pela IEEE 1471, consolidando-a como um padrão internacional de engenharia de sistemas e software.

Histórico e Desenvolvimento

O processo de criação da IEEE 1471 começou em agosto de 1995, quando o Comitê de Normas de Engenharia de Software do IEEE (SESC) criou o Grupo de Planejamento de Arquitetura (APG) para integrar o pensamento arquitetural nas normas do instituto. Em abril de 1996, foi estabelecido o Grupo de Trabalho de Arquitetura (AWG), liderado por Basil Sherlund, com a função de implementar as recomendações do APG.

A especificação foi editada por Rich Hilliard e contou com a colaboração de 25 membros do AWG e a revisão de 130 especialistas internacionais. Em setembro de 2000, o Conselho de Normas do IEEE-SA aprovou a especificação como IEEE Std 1471-2000.

Devido à sua relevância, em 2006 a norma foi adotada pela ISO/IEC JTC1/SC7 como ISO/IEC 42010:2007 através de um procedimento de "via rápida" (fast-track). Posteriormente, após revisões coordenadas entre a ISO/IEC JTC1/SC7/WG42 e o IEEE CS, ambas as normas foram substituídas em novembro de 2011 pela norma unificada ISO/IEC/IEEE 42010:2011.

Contribuições e Conceitos Fundamentais

A IEEE 1471 introduziu conceitos que se tornaram fundamentais para a arquitetura de software moderna. Suas principais contribuições incluem:

  • Meta-modelo de Descrição: Forneceu definições e um modelo para a descrição de arquiteturas.
  • Foco nos Stakeholders: Estabeleceu que a arquitetura deve abordar as preocupações (concerns) das partes interessadas (stakeholders).
  • Abordagem Multi-visão: Afirmou que as descrições de arquitetura são inerentemente compostas por múltiplas visões, pois nenhuma visão única é capaz de capturar todas as necessidades dos stakeholders.
  • Visões e Pontos de Vista: Definiu a distinção entre viewpoint (ponto de vista) — a especificação das convenções para construir e usar uma visão — e view (visão) — o resultado da aplicação de um ponto de vista a um sistema específico.
  • Racional Arquitetural: Ofereceu orientações para a captura do raciocínio por trás das decisões de design e a identificação de inconsistências entre as diferentes visões.

Finalidade da Descrição de Arquitetura

De acordo com a norma, a descrição de arquitetura serve a diversos propósitos essenciais no ciclo de vida de um sistema:

  • Expressar a estrutura do sistema e sua evolução ao longo do tempo.
  • Facilitar a comunicação entre as partes interessadas.
  • Permitir a avaliação e a comparação de arquiteturas de maneira consistente.
  • Auxiliar no planejamento, gestão e execução das atividades de desenvolvimento.
  • Definir características persistentes e princípios de suporte para guiar mudanças aceitáveis.
  • Verificar se a implementação do sistema está em conformidade com a descrição arquitetural.
  • Contribuir para o corpo de conhecimento sobre arquitetura de sistemas intensivos em software.

Terminologia Técnica

TermoDefinição
ArquitetoPessoa, equipe ou organização responsável por projetar a arquitetura do sistema.
Descrição de Arquitetura (AD)Coleção de produtos utilizados para documentar uma arquitetura.
ArquiteturaOrganização fundamental de um sistema, manifestada em seus componentes, suas relações entre si e com o ambiente, e os princípios que guiam seu design e evolução.
SistemaColeção de componentes organizados para realizar uma função ou conjunto de funções específicas.
StakeholderIndivíduo, equipe ou organização com interesses ou preocupações em relação a um sistema.

Perguntas frequentes

O que foi a norma IEEE 1471?

A IEEE 1471 foi uma prática recomendada para a descrição de arquitetura de sistemas intensivos em software, focada em padronizar a forma como a arquitetura de um sistema é documentada e comunicada.

Qual a diferença entre 'visão' e 'ponto de vista' na IEEE 1471?

Um 'ponto de vista' (viewpoint) é a definição de convenções, modelos e técnicas para criar uma visão. Já a 'visão' (view) é a aplicação prática desse ponto de vista a um sistema específico.

A norma IEEE 1471 ainda é válida?

Não, ela foi substituída pela norma ISO/IEC/IEEE 42010, que é a versão atualizada e internacionalmente aceita para a descrição de arquitetura de sistemas e software.

Quem são os stakeholders em um projeto de software?

Stakeholders são todas as pessoas, equipes ou organizações que possuem interesses, preocupações ou necessidades em relação ao sistema, como clientes, desenvolvedores, gestores e usuários finais.