3.1- Decomposição
Por exemplo, a decomposição de um sistema em um cliente e um servidor usando Open Data Base Connectivity (ODBC) ou Java Conectividade de Dados Base (JDBC) como interface para o servidor.
A decomposição é o princípio mais importante e é, muitas vezes, utilizada em qualquer campo de projeto de engenharia. A partir de uma visão sistêmica, a decomposição separa um sistema em dois ou mais sistemas (chamados de subsistemas). A decomposição é usada para conseguir uma variedade de qualidades e atributos incluindo modificabilidade, portabilidade e desempenho.
Os dois tipos de decomposição são:
| Parte-todo | Generalização-especialização | |
|---|---|---|
| A decomposição Parte-todo divide um sistema em um conjunto de subcomponentes que não se sobrepõem funcionalmente. Esta decomposição pode ser efetuada de forma recursiva para formar uma hierarquia de componentes funcionais. A decomposição uniforme divide o sistema em um conjunto de componentes que são eles próprios estruturalmente semelhantes. Por exemplo, cada componente tem um componente de apresentação, um componente lógico do aplicativo e um componente de acesso de armazenamento de dados. | Em uma decomposição generalização-especialização, há potencial funcionalidade de sobreposição entre os componentes. Cada aplicação do operador de decomposição divide um componente em dois subcomponentes. A escolha de onde traçar a linha entre os componentes é impulsionada por atributos de qualidade que você está tentando melhorar. |