Please enable JavaScript.
Coggle requires JavaScript to display documents.
Conceitos de Projeto (:pen:Arquitetura
É a estrutura ou a organização de…
Conceitos de Projeto
:pen:Arquitetura
É a estrutura ou a organização de componentes de programas (módulos), a maneira através da qual esses componentes interagem e a estrutura de dados são usadas pelos componentes.
Propriedades que devem ser especificadas como parte de um projeto de arquitetura::check:
Dadas as propriedades, o projeto de arquitetura pode ser representado por um ou mais modelos::black_flag:
:check:Propriedades não funcionais
Desempenho, capacidade, confiabilidade, segurança, adaptabilidade.... coisas que são necessárias e o cliente não vê
-
:check: Propriedades Estruturais
Define os componentes do sistemas e a maneira pela qual os componentes são empacotados e interagem entre si.
:black_flag: Modelos Dinâmicos
Tratam os aspectos comportamentais da arquitetura do programa, indicando como a estrutura ou configuração do sistema pode mudar em função de eventos externos
:black_flag:Modelos Estruturais
Representam a arquitetura como um conjunto organizado de componentes de programa.
:black_flag:Modelos de Processo
Concentram-se no projeto do processo técnico ou do negócio que o sistema deve atender
:black_flag: Modelos Funcionais
Podem ser utilizados para representar a hierarquia funcional de um sistema
:pen:Abstração
Abstração Procedural
Refere-se a uma sequência de instruções que possuem uma função específica e limitada
-
:pen: Independência funcional
[E atingida desenvolvendo módulos com função única e em aversão à interação excessiva com outros módulos.
A independência é avaliada usando dois critérios qualitativos: coesão e acoplamento:
:check: Coesão
Um módulo coeso realiza um única tarefa, exigindo pouca interação com outros componentes em outras partes de um programa.
O ideal é tentar atingir uma alta coesão
:check: Acoplamento
Indica a interdependência relativa entre os módulos.
O ideal é atingir um baixo acoplamento
:pen: Padrões
Descreve uma estrutura de projeto que resolve uma particular categoria de problemas de projeto em um contexto específico e entre forças que direcionam a maneira pela qual o padrão é aplicado e utilizado.
:pen:Separação por Interesses (afinidades)
Conceito que sugere que qualquer problema complexo pode ser tratado mais facilmente se for subdividido em trechos a serem resolvidos e ou otimizados independetemente
:pen: Modularidade
O software é divido em componentes separadamente especificados e endereçáveis.
Modulo: São os componentes separadamente especificados e endereçáveis
:pen: Encapsulamento
Os módulos devem ser especificados e projetados de modo que as informações (algoritmos e dados) contidas em um módulo sejam inacessíveis por parte de outros módulos que não necessitam de tais informações, disponibilizando apenas os itens que interessam aos outros módulos.
:pen: Refinamento
É um processo de elaboração. Um programa é desenvolvido refinando-se sucessivamente níveis de detalhes procedurais.
O refinamento nos ajuda a resolver detalhes menores à medida que o projeto avança.
:pen: Aspecto
É uma representação de interesse em comum.
Um aspecto é implementado como um módulo (componente) separado, em vez de fragmentos de software que estão espalhados ou emaranhados através de vários componentes.
:pen:Refatoração
É uma técnica de reorganização que simplifica o projeto ou o código de um componente sem mudar sua função ou comportamento.