SysSorting Professional - Presentation
-
Upload
michel-alves -
Category
Education
-
view
132 -
download
3
description
Transcript of SysSorting Professional - Presentation
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
SysSorting ProfessionalUm Assistente de Avaliação de Estratégias de Ordenação
Michel Alves dos Santos
Universidade Federal de Alagoas, Campus A. C. SimõesTabuleiro do Martins - Maceió - AL, CEP: 57072-970Docente Responsável: Prof. Dr. Arturo Hernández
{michel.mas,michel.al.santos}@gmail.com
05 de Dezembro de 2011
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Motivação
Analisando a Motivação
Tarefa corriqueira no processo de aprendizagem decomplexidade computacional.
Busca pelas vertentes oficiais das estratégias maisclássicas.
Dificuldades para compreensão de avaliaçõesmeramente teóricas.
Ausência de uma ferramenta para avaliação gráfica.
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
O Sistema
SysSorting Professional
A ferramenta foi concebida para verificar o número de instruçõesexecutadas em aglomerados numéricos aleatórios, crescentes edecrescentes, além do tempo consumido nessas operações.
A ferramenta possui as seguintes funcionalidades
I Geração de aglomerado numérico aleatório;I Escolha da distribuição para geração do aglomerado numérico;I Escolha do método ou estratégia de ordenação.
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Fluxograma
Fluxograma de Interação com o Sistema
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Componente - LibraryTime
Utilizada para executar aferições sobre o esforço computacional necessário pararealização de uma determinada tarefa. As respectivas complexidades teóricas sãoconfrontadas levando em consideração o tempo necessário para sua execução
completa e o tempo consumido.
Tempos obtidos através da geração pseudo-aleatória e aplicação do algoritmo shell sort em aglomerado numérico (aleatório, crescentee decrescente) com cardinalidade igual a 100000. Aglomerado composto por números reais gerados através de congruência linear.
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Componente - LibraryRandom
Para testar os limites teóricos das estratégias de ordenação e para verificar arobustez das mesmas, os números empregados devem possuir natureza e origem
‘aleatórias’!
Gerador Periodicidade TipoLinear Congruential Generator [glibc - gcc] 232 Congruente Linear
Linear Congruential Generator [MMIX by Donald Knuth] 264 Congruente Linear
R250 2250 − 1 Deslocamento de Registro
Mersenne Twister 219937 − 1 Deslocamento de Registro
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Componente - LibrarySorting
Os seguintes algoritmos foram implementados e avaliados confrontando suasrespectivas complexidades teóricas e suas aplicações práticas:
I Bubble SortI Gnome SortI Shaker SortI Comb SortI Insertion Sort
I Selection SortI Shell SortI Heap SortI Quick SortI Merge Sort
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Arquitetura em Camadas
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Resultados
Analisando o Quadro de Classificação
ClassificaçãoAlgoritmo TempoBubble 166.785sGnome 158.188sShaker 143.156sComb 142.328sInsertion 81.765sSelection 68.204sShell 1.281sHeap 1.235sQuick 1.234sMerge 1.375s
Bubble Gnome Shaker Comb Insertion Selection Shell Heap Quick Merge
050
100
150
Algoritmos
BubbleGnomeShakerCombInsertionSelectionShellHeapQuickMerge
Tempos obtidos através da aplicação dos respectivos algoritmos em aglomerados numéricos aleatórios com cardinalidade igual a100000. Aglomerados compostos por números reais gerados através de congruência linear.
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Conclusões
Balanço Geral da Análise
Algoritmos de ordenação quadráticos possuem baixa complexidade deimplementação porém pecam no quesito desempenho.
Algoritmos de ordenação do tipo ‘dividir-para-conquistar’ são as melhoresopções, porém devemos estar atentos aos casos degenerativos.
Possíveis Extensões da Ferramenta
I Ordenação Multi-Thread/Uso de Paralelismo;I Inserção de gráfico de desempenho acumulativo;I Ordenação Distribuída/Uso de Middleware;I Transformação dos algoritmos de ordenação em plugins.
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL
Universidade Federal de Alagoas - UFAL - Campus A. C. Simões - Tabuleiro do Martins - Maceió - AL, CEP: 57072-970 - Instituto de Computação
SysSorting Professional :: Um Assistente de Avaliação de Estratégias de Ordenação :: Engenharia de Software II :: Prof. Arturo Hernández Domínguez
Referências Bibliográficas
G. Booch, R. J., and I. Jacobson.UML: Guia do Usuário, volume 1.Editora Campus, 2 edition, 2006.
C. Larman.Utilizando UML e padrões: Uma introdução à análise e ao projeto orientados a objetos.Bookman, 1 edition, 2000.
C. Larman.Utilizando UML e padrões: Uma introdução à análise e ao projeto orientados a objeto e aodesenvolvimento iterativo, volume 1.Bookman, 3 edition, 2007.
I. Sommerville.Engenharia de Software.Pearson Addison Wesley, 8 edition, 2007.
Grato Pela Atenção!Michel Alves - [email protected]
Michel Alves dos Santos: Bacharelando em Ciência da Computação Instituto de Computação - Bloco 12 - Campus A. C. Simões - UFAL