Escolar Documentos
Profissional Documentos
Cultura Documentos
Revisão: 1
Emissão: 14/07/2014
Página: 1/3
MINISTÉRIO DA EDUCAÇÃO
UNIVERSIDADE FEDERAL DE LAVRAS
PRÓ-REITORIA DE GRADUAÇÃO
CARGA HORÁRIA
CÓDIGO DENOMINAÇÃO CR.
TEÓRICA PRÁTICA TOTAL
EMENTA
Conceitos Básicos. Conformidade e Visualização Arquitetural. Modularidade. Compreensão de Programas. Métricas e Qualidade
de Software. Estudos Empíricos em Manutenção e Evolução de Software.
CONTEÚDO PROGRAMÁTICO
1. Introdução.
1.1. Apresentação de alunos e professores.
1.2. Apresentação do plano de curso.
1.3. Metodologia de ensino-apredizagem e avaliação.
1.4. A disciplina no currículo e integração com outras disciplinas.
1.5. A disciplina de formação do profissional e da pessoa.
2. Conceitos Básicos.
2.1. Análise Estática/Dinâmica.
2.2. Descoberta, Conformidade, Visualização e Reparação Arquitetural.
2.3. Métricas.
2.4. Teste de Software.
2.5. Modularização de Sistemas.
2.6. Refatoração/Remodularização.
2.7. Similaridade Estrutural.
3. Conformidade Arquitetural.
3.1. Matrizes de Dependências Estruturais.
3.2. Linguagens de Consulta ao Código Fonte.
3.3. Modelos de Reflexão.
3.4. Linguagens de Restrição Arquitetural.
3.5. Outras técnicas.
3.6. Estudos Empíricos.
4. Visualização Arquitetural.
4.1. Visualizações tradicionais.
4.2. Funcionalidades comuns.
4.3. Ferramentas de apoio à visualização de software.
4.4. Estudos Empíricos.
5. Métricas.
5.1. Métricas tradicionais.
5.2. Similaridade Estrutural.
5.3. Bad smell.
5.4. Cálculo de métricas.
5.5. Thresholds.
5.6. Estudos Empíricos.
6. Teste de Software.
6.1. Defeitos.
6.2. Tipos de testes.
6.3. Ferramentas de apoio ao teste automatizado.
6.4. Verificadores de erros.
6.5. Verificadores de regras de estilo.
6.6. Estudos Empíricos.
7. Modularização de Sistemas.
7.1. Padrões de Projeto.
7.2. Padrões Arquiteturais.
7.3. Refatoração.
7.4. Técnicas de Identificação de Oportunidades de Refatoração.
7.5. Estudos Empíricos.
8. Avaliação.
8.1. Avaliação do conteúdo do curso.
8.2. Avaliação da atuação do aluno.
8.3. Avaliação da atuação do professor.
8.4. Avaliação das condições materiais e físicas em se desenvolve o curso.
1/3
Código: GCC227
Revisão: 1
Emissão: 14/07/2014
Página: 2/3
OBSERVAÇÃO
A bibliografia básica é composta em sua grande maioria de artigos e, por isso, não foram limitadas em três.
BIBLIOGRAFIA BÁSICA
3. Moor, O. de. "Keynote Address: .QL for Source Code Analysis". Em: 7th IEEE International Conference on Source Code Analysis
and Manipulation (SCAM). 2007, pp. 3-14.
4. Terra, R.; Valente, M. T. "A Dependency Constraint Language to Manage Object-Oriented Software
Architectures". Em: Software: Practice and Experience 32.12 (2009), pp. 1073-1094.
5. Brunet, J.; Guerreiro, D.; Figueiredo, J. "Design tests: An approach to programmatically check your code against design rules".
Em: 31st International Conference on Software Engineering (ICSE), New Ideas and Emerging Results Track. 2009, pp. 255 -258.
6. Nierstrasz, O.; Ducasse, S.; Girba, T. "The Story of Moose: An Agile Reengineering Environment". Em: 10th European Software
Engineering Conference (ESEC). 2005, pp. 1-10.
- Metricas
1. Terra, R. et al. "Measuring the Structural Similarity between Source Code Entities". Em: 25th International Conference on
Software Engineering and Knowledge Engineering (SEKE). 2013, pp. 753- 758.
2. Lanza, M.; Marinescu, R. Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the
Design of Object-Oriented Systems. Springer, 2010.
3. McCabe, T. "A Complexity Measure". Em: IEEE Transactions on Software Engineering SE-2.4 (1976), pp. 308-320. issn:
0098-5589. doi: 10.1109/TSE.1976.233837.
4. Ferreira, K. A. M.; Bigonha, M. A. S.; Bigonha, R. S.; Mendes, L. F. O.; Almeida, H. C. "Identifying thresholds for object-oriented
software metrics". Em: Journal of Systems and Software 85.2 (2012), pp. 244-257.
- Teste de Software
1. Pressman, R. S. Engenharia de Software. Sao Paulo: McGraw-Hill, 2007.
2. Terra, R.; Bigonha, R. S. "Ferramentas para Analise Estatica de Codigos Java". Em: III Encontro Brasileiro de Teste de Software
(EBTS). 2008, pp. 1-5.
3. Delamaro, M. E.; Maldonado, J. C.; Jino, M. Introducao ao teste de software. 2007.
- Modularizacao de Sistemas
1. Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. "Padroes de projeto". Em: Solucoes Reutilizaveis de Software (2000).
2. Fowler, M. Refatoracao: Aperfeicoando o Projeto de Codigo Existente. Bookman, 1999.
3. Sales, V.; Terra, R.; Miranda, L. F.; Valente, M. T. "Recommending Move Method Refactorings Using Dependency Sets". Em:
20th Working Conference on Reverse Engineering (WCRE). 2013, pp. 232-241.
4. Silva, D.; Terra, R.; Valente, M. T. "Recommending Automated Extract Method Refactorings". Em: 22nd International Conference
on Program Comprehension (ICPC). 2014, pp. 1-11.
5. Tsantalis, N.; Chatzigeorgiou, A. "Identification of extract method refactoring opportunities for the decomposition of methods". Em:
Journal of Systems and Software 84.10 (2011), pp. 1757-1782.
6. Bavota, G.; Oliveto, R.; Gethers, M.; Poshyvanyk, D.; Lucia, A. D. "Methodbook: Recommending Move Method Refactorings via
Relational Topic Models". Em: IEEE Transactions on Software Engineering 99 (2014), pp. 1-10.
BIBLIOGRAFIA COMPLEMENTAR
2/3
Código: GCC227
Revisão: 1
Emissão: 14/07/2014
Página: 3/3
- Teste de Software
1. Sommerville, I.; Melnikoff, S. S. S.; Arakaki, R.; Andrade Barbosa, E. de. Engenharia de software. Vol. 6. Addison Wesley Sao
Paulo, 2003.
- Modularizacao de Sistemas
1. Fokaefs, M.; Tsantalis, N.; Stroulia, E.; Chatzigeorgiou, A. "Identification and application of Extract Class refactorings in
object-oriented systems". Em: Journal of Systems and Software 85.10 (2012), pp. 2241-2260.
2. Marinescu, C.; Marinescu, R.; Mihancea, P. F.; Wettel, R. "iPlasma: An integrated platform for quality assessment of
object-oriented design". Em: International Conference on Software Maintenance (ICSM), Industrial and Tool Volume. 2005, pp.
77-80.
3/3