programação orientada a aspectos radio manager system
TRANSCRIPT
![Page 1: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/1.jpg)
Programação orientada a AspectosRadio Manager System
![Page 2: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/2.jpg)
Equipe
•Caio César Neves de Oliveira•João da Rocha Pascoal Neto•João Paulo Sabino de Moraes•Mário Barbosa de Araújo Júnior•Tiago Farias Silva
![Page 3: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/3.jpg)
Radio Manager System - RMS
•Sistema de organização e gerenciamento de estações de rádio FM
•Visa facilitar o trabalho da equipe organizadora de eventos da estação
•Oferece suporte a decisões relativas à programação da rádio FM▫Geração de Relatórios▫Estatísticas▫Dados pessoais e financeiros
![Page 4: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/4.jpg)
Principais funcionalidades• Gerenciar funcionários• Gerenciar programas da rádio• Gerenciar músicas• Gerar relatório financeiro• Gerar relatório de RH
• Número de classes: 68• Número de linhas de código: 15.034
![Page 5: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/5.jpg)
Concerns
•Interface Gráfica▫Direcionado para a classe da GUI
•Fachada▫Direcionado para a classe Fachada e
Interface•Transação
▫Espalhado em diversas classes que realizam transação
•Negócio▫Espalhado em todas as classes de negócio
![Page 6: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/6.jpg)
Concerns•Controle de Negócio
▫Espalhado nas classes que controlam funcionalidades de outras classes
•Exceção▫Relacionado às classes de Excção do sistema
•Dados▫Direcionado às classes que se comunicam com
classes de transação•Debug
▫Relacionado com comandos de print para debug
![Page 7: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/7.jpg)
Concerns•Foram considerados concerns, requisitos
satisfatórios ao objetivo geral do nosso sistema.
• Interface, exceção, negócios e dados são necessários para estabelecer a base do sistema.
•Os concerns 'transação' e 'controle de negócios' são úteis ao banco de dados e às técnicas de manipulação de dados respectivamente.
![Page 8: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/8.jpg)
Problemas surgidos e dúvidas quanto aos concerns•Houve dúvida quanto a criação do
concern Fachada possuindo Fachada e Interface
•Impossibilidade de criação do concern Eventos
•Os concerns possuem apenas o nome dos métodos ou os atributos das classes▫Deficiências do ConcernTagger
![Page 9: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/9.jpg)
Atividade de atribuição de concerns•10.222 linhas de códigos marcadas•Tempo total levado para marcar: 9-12h,
14-17h = aproximadamente 6h•Não há trechos de código pertencente a
mais de um concern
![Page 10: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/10.jpg)
Código relacionado
![Page 11: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/11.jpg)
Código relacionado
![Page 12: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/12.jpg)
Métricas
![Page 13: Programação orientada a Aspectos Radio Manager System](https://reader036.vdocuments.pub/reader036/viewer/2022062307/552fc142497959413d8df7a3/html5/thumbnails/13.jpg)
Conclusões
•As métricas ajudaram a identificar os concerns com maiores focos de crosscutting
•Foram geradas pelo framework ConcernTagger e tudo depende se identificarmos corretamente os concerns pra cada atributo e método
•Debug é um exemplo de concern que não é cross-cutting
•Negócio e Transação são exemplo de cross-cutting concerns em relação a Dados