Revisão Engenharia de Software II
Por: Maximilliam Araujo • 2/5/2017 • Trabalho acadêmico • 360 Palavras (2 Páginas) • 346 Visualizações
REVISÃO ENGENHARIA DE SOFTWARE II
Dificuldades acidentais são aquelas que você pode trabalhar em cima delas e resolver.
Dificuldades essenciais são aquelas inerentes ao que você fizer. Um exemplo é a Changeability (mudança) Não é
possível evitar mudanças no sistema.
Interface requerida é aquela que o sistema importa/ precisa para funcionar
Interface provida é aquilo que public no sistema
Módulo para parmas é uma unidade que eu posso alocar para um time. Um bom critério é encapsular aquilo que é
sujeito a mudanças
Para definir o que é arquitetural e o que não é, basta ver se o componente é muito importante para o sistema. Se ele for é
arquitetura, senão o contrário.
Benefícios de um projeto modular segundo parmas
Compreensibilidade
Flexibilidade
Produtividade
Modelo 4+1
Visão de desenvolvimento: Sistema na perspectiva do programador. Preocupa com gestão de software. Usa diagramas
UML
Vista lógica: Preocupa com a funcionalidade oferecida aos usuários finais
Vista física: Ponto de vista do engenheiro de sistemas. Preocupa com a parte física.
Visualização do processo: aspectos dinâmicos do sistema. Visão do SO
Cenários: Casos de uso. Cenários
A principal diferença entre a visão de processos e a visão lógica é que uma ve requisitos funcionais e a outra ve o
sistema operacional respectivamente.
MODELO DE REFLEXÃO
Passo 1 – Visão de alto nível com os componente principais e as relaçoes entre eles
Passo 2 – Mapear cada classe a um dos componentes
Passo 3 – classificar automaticamente entre ausência e divergência
O problema desse modela é que dois passos são manuais
É mais difícil integrar a tecnica ao build do sistema (tempo de compilação)
É frágio pois mudanças no código podem afetar os passos 1 e 2
ASPECTOS
O papel do weaver é espalhar os aspectos no código
A principal diferença entre os advices e métodos, é que os advices são chamados implicitamente
joinpoint são os pontos no código passíveis de aspectização
pointcut é um conjunto de joinpoint
Quantification é a capacidade de um código ser distribuido em vários lugares do programa
Obliviousness é a propriedade
...