Transcript of Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
- Slide 1
- Aluno: Mrio Monteiro Orientador: Srgio Soares 1
- Slide 2
- MOTIVAO Estudos empricos so essenciais para o avano cientfico.
H uma demanda cada vez maior por sistemas mais complexos. POA e
Arquitetura em camadas prometem benefcios fundamentais para
Engenharia de Software. 2
- Slide 3
- Arquitetura em Camadas Vantagens: Facilidade de Manuteno e
Entendimento Melhora de Coeso e Acoplamento Auxiliar o reso e
facilidade de estender o sistema. Desvantagens: Aumento da troca de
mensagens Pode ocasionar ineficincia 3
- Slide 4
- Programao Orientada a Aspectos Benefcios so bastante
promissores Objetivo de suprimir problemas da POO Disciplina ainda
recente, porm em grande crescimento. 4
- Slide 5
- POA e Arquitetura em Camadas Existem poucos estudos que
envolvem esses dois temas. Falta de avaliao de violaes de camadas
em sistemas AO. Carncia de estudos de violaes de camadas em evoluo
de software. 5
- Slide 6
- ESTUDO EMPRICO Objetivos: Avaliar impactos da POA com relao a
violaes de camadas. Avaliar aderncia arquitetura em camadas em um
ambiente de evoluo de software. Realizar anlises quantitativas e
qualitativas. 6
- Slide 7
- ESTUDO EMPRICO Fases: Seleo da Aplicao Documentao e classificao
dos mdulos. Desenvolvimento de um Framework para coleta das
mtricas. Anlises e Extenso das mtricas. Avaliao quantitativa e
qualitativa dos resultados. 7
- Slide 8
- ESTUDO EMPRICO Seleo da Aplicao: Health Watcher J foi utilizado
em outros estudos empricos da rea Possui duas verses de
implementao: OO (Java) e AO (AspectJ). Nove cenrios de evoluo.
Vrios interesses transversais implementados. 8
- Slide 9
- ESTUDO EMPRICO Cenrios: 2- Permitir o uso de mltiplos servlets
a fim de melhorar a estensibilidade. 3 - Garantir que o estado de
uma queixa seja atualizado quando bloqueado, a fim de proteg-lo de
mltiplas atualizaes. 4 Encapsular operaes de atualizao a fim de
melhorar a manutenabilidade atravs de uso de prticas comuns em
engenharia de software. 9
- Slide 10
- ESTUDO EMPRICO Cenrios: 5 Aperfeioar o encapsulamento do
requisito de distribuio, a fim de melhorar seu reso e customizao. 6
Aperfeioar o mecanismo de persistncia para melhorar seu reso e
estensibilidade. 7 Remover as dependncias de objetos do tipo
request e response, a fim de facilitar o processo de adio de novos
componentes na camada GUI. 10
- Slide 11
- ESTUDO EMPRICO Cenrios: 8 Tornar o requisito de distribuio mais
fcil de reutilizar e de estender. 9 Adio de novo requisito
funcional para permitir consultas com mais tipos de dados. 10
Modularizao do tratamento de exceo e incluso de recuperao de erros
mais efetivos nos tratamentos atuais. 11
- Slide 12
- ESTUDO EMPRICO Documentao e Classificao dos Mdulos: A princpio,
existem quatro camadas: GUI Comunicao Negcio Gerncia de Dados
Problemas com classificao de alguns mdulos: Elementos Reusveis
Aspectos 12
- Slide 13
- ESTUDO EMPRICO Camadas do HW 13
- Slide 14
- ESTUDO EMPRICO Violaes de camadas 14
- Slide 15
- APRESENTAO DO FRAMEWORK Desenvolvimento de um Framework para
coleta das mtricas. Identificao das Dependncias Coleta das mtricas
15
- Slide 16
- 16
- Slide 17
- APRESENTAO DO FRAMEWORK Identificao das Dependncias. Mdulo A
depende de B da seguinte forma: A invoca mtodo de B, ou A instancia
B A l atributo de B A atribui um valor a um atributo de B B uma
exceo e A trata B. 17
- Slide 18
- APRESENTAO DO FRAMEWORK Identificao das Dependncias. Abordagem
utilizada atravs de aspectos da seguinte forma: 18
- Slide 19
- 19
- Slide 20
- APRESENTAO DO FRAMEWORK Coleta das Mtricas Cada dependncia
consultada no grafo. As camadas dos mdulos so consultados para
determinar violaes. Os ciclos so determinados a partir de
componentes fortes no grafo. 20
- Slide 21
- AVALIAO DOS RESULTADOS Skip-Call - Origem 21
- Slide 22
- AVALIAO DOS RESULTADOS Skip-Call - Destino 22
- Slide 23
- AVALIAO DOS RESULTADOS Skip-Call - Total 23
- Slide 24
- AVALIAO DOS RESULTADOS Skip-Call ndice de Violao para Sistema
24
- Slide 25
- AVALIAO DOS RESULTADOS Skip-Call ndice de Violao para Sistema
25
- Slide 26
- AVALIAO DOS RESULTADOS Skip-Call ndice de Violao para Sistema
26
- Slide 27
- AVALIAO DOS RESULTADOS Back-Call - Origem 27
- Slide 28
- AVALIAO DOS RESULTADOS Back-Call - Destino 28
- Slide 29
- AVALIAO DOS RESULTADOS Back-Call ndice de Violao para Sistema
29
- Slide 30
- AVALIAO DOS RESULTADOS Back-Call ndice de Violao para Sistema
30
- Slide 31
- AVALIAO DOS RESULTADOS Dependncia de Ciclo Strongly Connected
Component 31
- Slide 32
- AVALIAO DOS RESULTADOS Dependncia de Ciclo ndice de Violao para
Sistema 32
- Slide 33
- AVALIAO DOS RESULTADOS Dependncia de Ciclo ndice de Violao para
Sistema 33
- Slide 34
- AVALIAO DOS RESULTADOS Dependncia entre Aspectos e Arquitetura
em Camadas 34
- Slide 35
- AVALIAO DOS RESULTADOS Dependncia entre Aspectos e Arquitetura
em Camadas 35
- Slide 36
- AVALIAO DOS RESULTADOS Dependncia entre Aspectos e Arquitetura
em Camadas 36
- Slide 37
- AVALIAO DOS RESULTADOS Dependncia entre Aspectos e Arquitetura
em Camadas 37
- Slide 38
- AVALIAO DOS RESULTADOS Dependncia entre Aspectos e Arquitetura
em Camadas 38
- Slide 39
- AVALIAO DOS RESULTADOS Boas Prticas de Programao A abordagem
proposta detecta as violaes aps a fase de construo do software.
Evitar que erros se transformem em defeitos Ambientes de
desenvolvimento de software complexos podem envolver vrios
desenvolvedores (experientes e inexperientes). A deteco imediata de
uma violao de camada pode ser um importante benefcio. 39
- Slide 40
- AVALIAO DOS RESULTADOS Boas Prticas de Programao 40
- Slide 41
- AVALIAO DOS RESULTADOS Boas Prticas de Programao 41
- Slide 42
- CONCLUSES Analisadas as diferenas entre POA e POO no contexto
de violaes da arquitetura em camadas. O Framework ajudou a
encontrar problemas triviais. Foi analisado como a POA influencia o
resultado das mtricas. O total de violaes menor na verso OO.
42
- Slide 43
- CONCLUSES A mtrica SCVI(Health Watcher) se mostrou mais
problemtica na verso OO. Pouca ocorrncia de back-call. Nenhuma na
verso AO. Houve apenas uma nica ocorrncia de dependncia de ciclo. A
mtrica DCVI(Health Watcher) apresentou o pior resultado possvel.
43
- Slide 44
- CONCLUSES Houve dependncias dos aspectos para todas as camadas
em todos os cenrios. O Framework foi til para validar os objetivos
de alguns cenrios de evoluo. As mtricas SCVI(Sistema) e
DCVI(Sistema) se mostraram inadequadas. De forma geral, as anlises
quantitativas se mostraram coerente com as anlises qualitativas.
44
- Slide 45
- TRABALHOS FUTUROS Avaliar em sistemas mais complexos em
diferentes contextos. Implementar o framework em IDEs. Utilizar
outras linguagens AO. Avaliar a proposta de boas prticas. 45
- Slide 46
- TRABALHOS FUTUROS Implementar novos cenrios para o Health
Watcher Analisar eficincia do Framework. Criao de novas mtricas
para suprir problemas atuais Comprovar hipteses com as mtricas
atuais. 46