• Nenhum resultado encontrado

Para que as refatorações fossem avaliadas e realmente comparadas, foi feito um ques- tionário, no qual contém 13 perguntas. O questionário foi enviado a três desenvolvedores e uma analista, no qual todos responderam as questões. As Figuras a seguir ilustram as perguntas e o gráfico obtido referente as respostas dos 4 componentes do projeto que responderam ao formulário.

Capítulo 4. Resultados 40

Figura 19 – Resultado da pergunta 1

Fonte: A Autora (2018)

Na primeira pergunta, seu resultado foi empate. O diagrama em questão era o diagrama de casos de uso antes de ser refatorado.

Figura 20 – Resultado da pergunta 2

Fonte: A Autora (2018)

Na segunda pergunta, seu resultado foi bem satisfatório. O diagrama de casos de uso refatorado teve um nível maior de entendimento.

Capítulo 4. Resultados 41

Figura 21 – Resultado da pergunta 3

Fonte: A Autora (2018)

Como já ilustrado, o diagrama de casos de uso que obteve melhor compreensão perante visualização, foi o refatorado.

Figura 22 – Resultado da pergunta 4

Fonte: A Autora (2018)

A pergunta 4 se dá ao entendimento quando visualiza o diagrama de classes “Sabia”. As respostas foram na média. Três de quatro respostas foram na média 3. Podendo-se notar uma certa confusão no entendimento.

Capítulo 4. Resultados 42

Figura 23 – Resultado da pergunta 5

Fonte: A Autora (2018)

Já o resultado da refatoração do diagrama de classes “Avaliação” mostrou que a maioria das respostas foram para um ótimo entendimento.

Figura 24 – Resultado da pergunta 6

Fonte: A Autora (2018)

De acordo com o gráfico, o resultado obtido foi de meio termo para os dois diagramas, no qual o entendimento foi igualitário para ambos.

Capítulo 4. Resultados 43

Figura 25 – Resultado da pergunta 7

Fonte: A Autora (2018)

A pergunta 7 consiste em saber qual o nível de entendimento na visualização do diagrama de classes “Dados Pessoais”. O resultado foi bem dividido, tendo como interpretação um entendimento não tão bom.

Figura 26 – Resultado da pergunta 8

Fonte: A Autora (2018)

Já o entendimento do diagrama de classes “Parceiro” foi melhor do que o anterior “Dados Pessoais”, tendo um resultado mais satisfatório.

Capítulo 4. Resultados 44

Figura 27 – Resultado da pergunta 9

Fonte: A Autora (2018)

O resultado entre os diagramas “Dados Pessoais” e “Parceiro” foi de melhor entendi- mento para o diagrama que foi refatorado.

Figura 28 – Resultado da pergunta 10

Fonte: A Autora (2018)

A pergunta 10 consiste em saber qual o nível de entendimento ao visualizar o diagrama de classes “Cadastros IBGE”. O resultado foi idêntico entre os diagramas.

Capítulo 4. Resultados 45

Figura 29 – Resultado da pergunta 11

Fonte: A Autora (2018)

Já as respostas para o nível de entendimento do diagrama de classes “Localidade”, que é o refatorado, também foi idêntico, tendo o mesmo nível de entendimento para ambos.

Figura 30 – Resultado da pergunta 12

Fonte: A Autora (2018)

O resultado final entre os diagramas “Cadastros IBGE” e “Localidade” foi que o diagrama refatorado, apesar de terem sido idênticos em resultados nas perguntas 10 e 11, foi melhor entendido visualmente.

Capítulo 4. Resultados 46

Figura 31 – Resultado da pergunta 13

Fonte: A Autora (2018)

Como resultado final do formulário de questões, é possível visualizar que as refatorações realizadas foram totalmente compreendidas, sendo capaz de fazer com que os envolvidos no projeto tenham um maior/melhor entendimento na análise da documentação/modelagem do sistema SABIA.

47

5 Conclusão

Como explicitado ao longo do trabalho, os desenvolvedores de software passam a maior parte do tempo modificando e fazendo a manutenção de softwares existentes. Isso ocorre porque os sistemas e, consequentemente, seu design, estão em perpétua evolução antes de serem “abandonados”. Antes de evoluir um sistema, modificações estruturais são frequentemente necessárias. O objetivo da refatoração é tornar certos elementos mais extensíveis, permitindo adição de novos recursos e simplificação dos mesmos.

Tal qual destacado pela literatura, os resultados deste estudo demonstraram que as técnicas comumente empregadas para a realização da refatoração nos modelos do SABIA foram realmente visíveis. As comparações dos diagramas constataram que com o uso de algumas técnicas de refatoração, o SABIA é capaz de ser melhor entendido, causando menos confusão ao tentar entender a lógica que há entre os processos de alocação de equipes e de avaliação. Além disso, as técnicas utilizadas (Tabela2, Seção4.1) possibilitaram boas soluções, capazes de minimizar os problemas encontrados na Seção1.1e Seção3.1.

A contribuição feita através deste trabalho foi a de promover uma documentação aprimorada e uma modelagem atualizada sobre o projeto SABIA, excluindo qualquer confusão que possa acontecer. Além de que, a refatoração promove uma visualização melhor dos modelos.

Entretanto, durante a refatoração dos modelos de software, houve a descontinuação do projeto novamente. Apesar disso, este trabalho foi finalizado com o intuito de auxiliar aos futuros desenvolvedores e analistas vinculados ao projeto.

Assim sendo, outros fatores não contemplados neste trabalho são sugeridos como possíveis soluções ainda melhores. A consideração da refatoração da implementação do código do SABIA, poderão garantir uma refatoração completa e satisfatória, concluindo um estudo complexo que abrange desde seus requisitos até suas funcionalidades automatizadas.

48

Referências

BARROS, V. P. A. Um método para a refatoração de software baseado em frameworks de domínio. Dissertação (B.S. thesis) — Universidade Tecnológica Federal do Paraná, 2015. Citado na página24.

BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usuário. [S.l.]: Elsevier Brasil, 2012. Citado 12 vezes nas páginas15,16,18e19.

CASSIOLATO, M. M.; GARCIA, R. C. Pronatec: múltiplos arranjos e ações para ampliar o acesso à educação profissional. [S.l.], 2014. Citado na página11.

CORREA, A.; WERNER, C. Applying refactoring techniques to uml/ocl models. In: SPRINGER. International Conference on the Unified Modeling Language. [S.l.], 2004. p. 173–187. Citado na página24.

CUKIER, D. Ddd–introdução a domain driven design. AgileAndArt. jul/ago, 2010. Citado 4 vezes nas páginas21e22.

EVANS, E. Domain-driven design: atacando as complexidades no coração do software. [S.l.]: Alta Books, 2009. Citado 5 vezes nas páginas20,21e22.

FOWLER, M. Refatoração: Aperfeiçoamento e Projeto. [S.l.]: Bookman Editora, 2009. Citado 10 vezes nas páginas22,23,30e38.

FURGERI, S. Modelagem de Sistemas Orientados a Objetos – Ensino Didático. [S.l.]: Editora Érica, 2013. Citado na página23.

GUEDES, G. T. UML 2–Guia Prático - 2 Edição. [S.l.]: Novatec Editora, 2014. Citado 4 vezes nas páginas16,19e20.

JUNIOR, J. M. Estudo de métodos e processos de refatoração de banco de dados. 2015. Citado na página24.

KOSCIANSKI, A.; SOARES, M. d. S. Qualidade de software. São Paulo, SP. Editora: Novatec, 2007. Citado na página13.

LIMA, M.; PACHECO, Z. S. Teixeira de A. As políticas públicas e o direito à educação: programa nacional de acesso ao ensino técnico e emprego versus plano nacional de educação. Educação & Sociedade, SciELO Brasil, v. 38, n. 139, 2017. Citado na página11.

LINDEN, R. Algoritmos Genéticos. [S.l.]: Editora Ciência Moderna, 2012. Citado na página12. MARINESCU, F.; AVRAM, A. Domain-driven design Quickly. [S.l.]: Lulu.com, 2007. Citado na página13.

MOGNON, F. e. a. Uma abordagem para modelagem de software utilizando a OPM para desenvolvimento iterativo, incremental e ágil. [S.l.]: Dissertação de Mestrado, 2017. Citado na página24.

Referências 49

MULLER, N. Framework, o que é e para que serve. Acessado em 3 de ago. 2018, 2014. Disponível em: <https://www.oficinadanet.com.br/artigo/1294/framework_o_que_e_e_para_ que_serve>. Citado na página24.

PIVETA, E. K. Improving the search for refactoring opportunities on object-oriented and aspect- oriented software. 2009. Citado na página24.

POZZEBOM, R. O que é GitHub. 2015. Disponível em:<https://www.oficinadanet.com.br/post/ 14791-o-que-github>. Acesso em: 24 de agosto de 2018. Citado na página27.

RUMBAUGH, J. Braha, Michael, Modelagem e Projetos Baseados em Objetos com UML. [S.l.]: Segunda, 2006. Citado na página15.

SABIA. Sistema de Agrupamento Baseado em Inteligência Arti-

ficial. 2018. Disponível em: <https://docs.google.com/document/d/ 1S6BZwCDegCoN5H-jKbG39PCQKsmQN1Bhk0xislP4_kw/edit?usp=sharing>. Acesso em:

24 de agosto de 2018. Citado 6 vezes nas páginas12e27.

SILVA, B. C. da; NUNES, D. J. Refatoração de modelos orientados a aspectos. XII Workshop de Teses e Dissertações em Engenharia de Software - WTES 2007, 2007. Citado na página24. SUNYÉ, G. e. a. Refactoring uml models. International Conference on the Unified Modeling Language Springer, Berlin, Heidelberg, 2001. Citado na página23.

TANIGUCHI K., C. F. Metodologia ágeis e a motivação de pessoas em projetos de desenvolvi- mento de software: Aplicando práticas de scrum e xp para promover a motivação de equipes de projetos de desenvolvimento de software. Revista de ciências exatas e tecnologia, São Paulo, 2009. Citado na página12.

VERNON, V. Implementing domain-driven design. [S.l.]: Addison-Wesley, 2016. Citado 2 vezes nas páginas20e22.

50

APÊNDICE A – Modelo do Sabia

O diagrama de classes “Sabia” foi refatorado para “Avaliação”, ilustrado na Figura14. Figura 32 – Diagrama de Classes - Sabia (Inicial)

51

APÊNDICE B – Formulário de

Questões

Figura 33 – Questão 1

APÊNDICE B. Formulário de Questões 52

Figura 34 – Questão 2

Fonte: A Autora (2018)

Figura 35 – Questão 3

APÊNDICE B. Formulário de Questões 53

Figura 36 – Questão 4

APÊNDICE B. Formulário de Questões 54

Figura 37 – Questão 5

Fonte: A Autora (2018)

Figura 38 – Questão 6

APÊNDICE B. Formulário de Questões 55

Figura 39 – Questão 7

APÊNDICE B. Formulário de Questões 56

Figura 40 – Questão 8

Fonte: A Autora (2018)

Figura 41 – Questão 9

APÊNDICE B. Formulário de Questões 57

Figura 42 – Questão 10

APÊNDICE B. Formulário de Questões 58 Figura 43 – Questão 11 Fonte: A Autora (2018) Figura 44 – Questão 12 Fonte: A Autora (2018) Figura 45 – Questão 13 Fonte: A Autora (2018)

Documentos relacionados