Principais conceitos de modelagem de sistemas
O conceito principal para modelagem de sistemas é, sem dúvida, a abstração. De maneira breve, abstração é a capacidade de suprimir informações na representação do sistema com um modelo, seja por sua irrelevância ou baixo retorno ao adicioná-las. Um exemplo de abstração ocorre na planta baixa de uma casa, na qual apenas a posição das paredes é indicada, não sendo relevante se elas serão construídas com madeira, blocos pré-moldados ou alvenaria. Ao abstrair uma informação do modelo deve-se ter certeza de sua irrelevância, caso contrário, essa omissão de informação pode acarretar um baixo índice de representação da realidade. É possível citar, como exemplo, as tolerâncias de erro de medida nos trens de levitação magnética, no qual erros de milímetros podem desencadear um acidente. A abstração dos modelos traz dois pares de conceitos, com uma relação direta ao nível de abstração adotado: visão vs. ponto de vista e modelos caixa branca vs. caixa preta.
No contexto de arquitetura de sistemas, padronizado pela norma ISO/IEC/IEEE 42010 [1], tem-se definidos dois conceitos chave: visão (view) e ponto de vista (viewpoint). Uma visão pode ser entendida como uma representação da arquitetura do sistema cujo objetivo é abordar os pontos de interesse dos stakeholders, como segurança, robustez e confiança. Já os pontos de vista são convenções para criação, interpretação e uso das visões para representar interesses específicos do sistema, como diagramas UML, fluxogramas e planilhas.
A divisão entre modelos caixa branca e modelos caixa preta diz respeito à abstração, ou omissão, de níveis internos da arquitetura do sistema, ou seja, oculta informações não visíveis ao observador externo. Uma descrição de um computador como sendo composto por um monitor, teclado, mouse e gabinete é um modelo caixa preta, enquanto uma descrição mais detalhada das interfaces e conexões dessas partes seria um modelo caixa branca. É interessante ressaltar que os componentes de um modelo caixa branca geralmente são modelos caixa preta, pois omitimos níveis de detalhes. No exemplo do gabinete, ele pode ser representado como uma série de componentes: CPU, GPU, RAM, HDD, placa mãe, entre outros; e cada um desses componentes pode ser novamente descrito em mais detalhes.
Por fim, é possível obter a descrição em alto nível de um sistema, um modelo conceitual, representado por um ou vários diagramas descritos em alguma linguagem de modelagem, como UML, SysML, OPD, entre outras. O objetivo de um modelo conceitual é representar e definir diversos aspectos de um sistema, incluindo características como comportamento, estrutura e propriedades dos componentes, além de suas relações.
REFERÊNCIAS
[1] ISO/IEC/IEEE 42010:2011: Systems and software engineering — Architecture description, Geneve: ISO, 2011.