Na análise e design do sistema, o nível de abstração refere -se ao grau de detalhe e complexidade incluído em um modelo ou representação de um sistema. É sobre o quanto você "amplia" ou "zoom" ao visualizar o sistema. Diferentes níveis são apropriados para diferentes propósitos e públicos. Níveis mais altos de abstração mostram o quadro geral, enquanto níveis mais baixos fornecem granularidade mais fina.
Aqui está um detalhamento dos níveis comuns de abstração:
*
Abstração de alto nível (nível conceitual): Esta é a visão mais ampla do sistema. Ele se concentra no objetivo geral, componentes principais e interações entre eles, sem entrar em detalhes. Pense nisso como uma visão panorâmica. Exemplos incluem:
*
Diagramas de fluxo de dados (DFDS): Mostrando o fluxo de dados através do sistema, mas não o funcionamento interno dos processos.
*
Use diagramas de casos: Ilustrando as interações entre os usuários e o sistema, sem detalhamento da implementação.
*
Diagramas de contexto: Mostrando os limites do sistema e suas interações com o ambiente externo.
*
Abstração no nível médio (nível lógico): Esse nível fornece mais detalhes do que o alto nível, mas ainda evita detalhes de implementação. Ele se concentra no que * o sistema faz, não * como * faz. Exemplos incluem:
*
Diagramas de relação de entidade (ERDs): Modelando as entidades de dados e seus relacionamentos, sem especificar a tecnologia de banco de dados.
*
DFDs detalhados: Quebrar processos de alto nível em subprocessos menores e mais gerenciáveis.
*
Diagramas de transição de estado: Mostrando os diferentes estados que um sistema pode estar e como ele faz a transição entre eles.
*
Abstração de baixo nível (nível físico): Este é o nível mais detalhado, concentrando -se no *como *. Ele lida com os detalhes da implementação do concreto, incluindo hardware, software e algoritmos específicos. Exemplos incluem:
* Diagramas de classe
(em design orientado a objetos): mostrando aulas, atributos, métodos e relacionamentos.
* Diagramas de sequência
: ilustrando a ordem das mensagens trocadas entre objetos.
*
Esquemas de banco de dados: Definindo tabelas, colunas e tipos de dados.
*
Código fonte: a implementação real do sistema.
A escolha do nível de abstração depende do estágio do ciclo de vida do desenvolvimento do sistema e do público. Os estágios iniciais geralmente usam níveis mais altos de abstração para comunicar o design geral às partes interessadas. Os estágios posteriores passam progressivamente para níveis mais baixos, fornecendo detalhes crescentes para desenvolvedores e implementadores. A análise e o design eficazes do sistema requerem uma transição suave entre esses níveis, garantindo consistência e evitando complexidade desnecessária em cada estágio.