Programação orientada a Aspectos Radio Manager System
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
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
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:
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
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
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.
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
Atividade de atribuição de concerns 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
Código relacionado
Métricas
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