Prévia do material em texto
<p>Pág. 2 de 6.</p><p>AB3 - Atividade prática de aprendizagem</p><p>Curso: Tecnologia em Análise e Desenvolvimento de Sistemas</p><p>Disciplina: Programação Orientada a Objetos – Instituição: Unifatecie</p><p>Aluno: David Tobias Nunes</p><p>Enunciado:</p><p>Em um ambiente de desenvolvimento, o Gerente de Projetos chega para o líder do setor de desenvolvimento e entrega a ele uma solicitação: Desenvolver um código na linguagem de programação Orientada a Objetos Java, com uma classe TestaPerformance para a inserção de 30 mil números em um ArrayList.</p><p>Deverá usar um método System para cronometrar o tempo gasto.</p><p>Deverá usar os seguintes Arrays em sua implementação que deverão ser testadas separadamente:</p><p>Collection teste = new ArrayList();</p><p>Collection teste = new HashSet();</p><p>Depois que foi desenvolvido o programa, o gerente de projetos solicitou ao analista de teste, que testasse o código do programa que o desenvolvedor havia criado para um teste de performance. Entregou também ao analista uma tabela em branco contendo os seguintes campos: "Métodos", "Descrição" e "Melhor Performance", para que o analista preenchesse com todos os métodos relacionados ao código da classe TestaPerformance e também com a descrição do que cada método realiza dentro do programa e identificar qual dos arrays apresentará a melhor performance.</p><p>Com base no que foi estudado em Programação Orientada a Objetos, você será o desenvolvedor que fará a implementação do código, os testes do conteúdo apresentado (código do programa da classe TestaPerformance e a tabela para o preenchimento).</p><p>Replique o código apresentado na figura anterior em uma IDE de desenvolvimento como o Eclipse, Brackets, Visual Studio, etc. Faça pesquisas alterando os valores de 30 mil para 50 mil, 100 mil, 150 mil e 200 mil e verifique o tempo gasto por cada um dos arrays exigidos para a implementação separadamente, identificando assim qual deles apresentará a melhor performance.</p><p>Responda na tabela qual método dos arrays implementados no código, apresenta a melhor performance e identifique também qual é a funcionalidade de cada método (ArrayList() e HashSet()) contidos na tabela abaixo:</p><p>Método</p><p>Descrição</p><p>Melhor Performance</p><p>ArrayList()</p><p>HashSet()</p><p>Novo código com as implementações</p><p>import java.util.HashSet;</p><p>import java.util.ArrayList;</p><p>import java.util.Collection;</p><p>public class TestaPerformance {</p><p>public static void main(String[] args) {</p><p>//teste de performance com 30K até 200K em microsegundo (ms)</p><p>testarPerformance(30000);</p><p>testarPerformance(50000);</p><p>testarPerformance(100000);</p><p>testarPerformance(150000);</p><p>testarPerformance(200000);</p><p>}</p><p>private static void testarPerformance(int total) {</p><p>// Teste com vetor ArrayList</p><p>Collection arrayList = new ArrayList();</p><p>long tempoArrayList = testarInsercaoEContem(arrayList, total);</p><p>System.out.println("Tempo gasto no ArrayList com " + total + " elementos: " + tempoArrayList + " ms");</p><p>// Teste com HashSet</p><p>Collection hashSet = new HashSet();</p><p>long tempoHashSet = testarInsercaoEContem(hashSet, total);</p><p>System.out.println("Tempo gasto no HashSet com " + total + " elementos: " + tempoHashSet + " ms");</p><p>System.out.println();</p><p>}</p><p>private static long testarInsercaoEContem(Collection teste, int total) {</p><p>long inicio = System.currentTimeMillis();</p><p>for (int i = 0; i ()” como a melhor opção de implementação para a classe que foi criada “TestaPerformance”, pois nesse sentido, ele prova na prática o melhor desempenho extremamente superior em relação ao método ArrayList().</p><p>image3.emf</p><p>MétodoDescriçãoMelhor Performance (ms)</p><p>ArrayList()200.000</p><p>17732</p><p>ArrayList()150.000</p><p>9292</p><p>ArrayList()100.000</p><p>4670</p><p>ArrayList()50.000</p><p>879</p><p>ArrayList()30.000</p><p>315</p><p>HashSet()100.00012</p><p>HashSet()200.0008</p><p>HashSet()50.0005</p><p>HashSet()30.0003</p><p>HashSet()150.0003</p><p>image4.emf</p><p>MétodoDescriçãoMelhor Performance (ms)</p><p>HashSet()30.0003</p><p>HashSet()150.0003</p><p>HashSet()50.0005</p><p>HashSet()200.0008</p><p>HashSet()100.00012</p><p>ArrayList()30.000</p><p>315</p><p>ArrayList()50.000</p><p>879</p><p>ArrayList()100.000</p><p>4670</p><p>ArrayList()150.000</p><p>9292</p><p>ArrayList()200.000</p><p>17732</p><p>image5.emf</p><p>MétodoDescriçãoMelhor Performance (ms)</p><p>ArrayList()30.000</p><p>315</p><p>HashSet()30.0003</p><p>ArrayList()50.000</p><p>879</p><p>HashSet()50.0005</p><p>ArrayList()100.000</p><p>4670</p><p>HashSet()100.00012</p><p>ArrayList()150.000</p><p>9292</p><p>HashSet()150.0003</p><p>ArrayList()200.000</p><p>17732</p><p>HashSet()200.0008</p><p>image1.png</p><p>image2.png</p><p>Pág.</p><p>1</p><p>de</p><p>6</p><p>.</p><p>A</p><p>B</p><p>3</p><p>-</p><p>Atividade prática de aprendizagem</p><p>Curso:</p><p>Tecnologia em Análise e Desenvolvimento de Sistemas</p><p>Disciplina:</p><p>Programação Orientada a Objetos</p><p>–</p><p>Instituição:</p><p>Unifatecie</p><p>Aluno:</p><p>David Tobias Nunes</p><p>Enunciado:</p><p>Em um ambiente de</p><p>desenvolvimento, o Gerente de Projetos chega para o líder do setor de</p><p>desenvolvimento e entrega a ele uma solicitação: Desenvolver um código na linguagem de</p><p>programação Orientada a Objetos</p><p>Java</p><p>, com uma classe</p><p>TestaPerformance</p><p>para a inserção de 30 mil</p><p>números em um</p><p>ArrayList</p><p>.</p><p>Deverá usar um método</p><p>System</p><p>para cronometrar o tempo gasto.</p><p>Deverá usar os seguintes</p><p>Arrays</p><p>em sua implementação que deverão ser testadas separadamente:</p><p>Collection</p><p>teste</p><p>=</p><p>new</p><p>ArrayList</p><p>();</p><p>Collection teste = ne</p><p>w HashSet</p><p>();</p><p>Depois que foi desenvolvido o programa, o gerente de projetos solicitou ao analista de teste, que</p><p>testasse o código do programa que o desenvolvedor havia criado para um teste de performance.</p><p>Entregou também ao analista uma tabela em branco</p><p>contendo os seguintes campos: "</p><p>Métodos</p><p>",</p><p>"</p><p>Descrição</p><p>" e "</p><p>Melhor Performance</p><p>", para que o analista preenchesse com todos os métodos</p><p>relacionados ao código da classe</p><p>TestaPerformance</p><p>e também com a descrição do que cada</p><p>método</p><p>realiza dentro do programa e ide</p><p>ntificar qual dos arrays apresentará a melhor performance.</p><p>Pág. 1 de 6.</p><p>AB3 - Atividade prática de aprendizagem</p><p>Curso: Tecnologia em Análise e Desenvolvimento de Sistemas</p><p>Disciplina: Programação Orientada a Objetos – Instituição: Unifatecie</p><p>Aluno: David Tobias Nunes</p><p>Enunciado:</p><p>Em um ambiente de desenvolvimento, o Gerente de Projetos chega para o líder do setor de</p><p>desenvolvimento e entrega a ele uma solicitação: Desenvolver um código na linguagem de</p><p>programação Orientada a Objetos Java, com uma classe TestaPerformance para a inserção de 30 mil</p><p>números em um ArrayList.</p><p>Deverá usar um método System para cronometrar o tempo gasto.</p><p>Deverá usar os seguintes Arrays em sua implementação que deverão ser testadas separadamente:</p><p>Collection teste = new ArrayList();</p><p>Collection teste = new HashSet();</p><p>Depois que foi desenvolvido o programa, o gerente de projetos solicitou ao analista de teste, que</p><p>testasse o código do programa que o desenvolvedor havia criado para um teste de performance.</p><p>Entregou também ao analista uma tabela em branco contendo os seguintes campos: "Métodos",</p><p>"Descrição" e "Melhor Performance", para que o analista preenchesse com todos os métodos</p><p>relacionados ao código da classe TestaPerformance e também com a descrição do que cada método</p><p>realiza dentro do programa e identificar qual dos arrays apresentará a melhor performance.</p>