TDD-Test Driven Development

Tamanho: px
Começar a partir da página:

Download "TDD-Test Driven Development"

Transcrição

1 CENTRO UNIVERSITÁRIO UNA TDD-Test Driven Development Desenvolvimento guiado por testes Pós-graduação em Engenharia de Software Centrada em Métodos Ágeis TIME CAVE!RA Bruno Eustáquio Andrade Juliana Villas Bôas Fonseca Marcelo Nascimento Thiago Funghi Thiago Ribeiro Março/2011

2 Sumário 1. Introdução Origem Motivação Funcionamento Princípios de desenvolvimento KISS - Keep It Simple, Stupid YAGNI - You Ain t Gonna Need It Fake it, till you make it ATDD - Acceptance TDD DRY - Don t repeat yourself ou DIE - Duplicate is Evil Cenários TDD desde o início TDD na correção de bugs TDD em código legado Integração do TDD ao Scrum Confusões com TDD Cinco desculpas para não usar TDD Vantagens Desvantagens Conclusão Bibliografia

3 1. Introdução TDD é um acróstico em inglês de Test Driven Development, traduzindo Desenvolvimento Dirigido a Testes. TDD é uma técnica (englobada pelo XP (extreme Programming)) que contempla o desenvolvimento a partir de testes. O programador escreve um teste inicialmente que será executado e falhará, após isso será implementado código para fazer o teste ser validado e um novo teste falho será escrito e assim sucessivamente 1.1. Origem Criado por Kent Beck e David Astels em 2003, o TDD é derivado do método Extreme Programming (XP) e do Manifesto Ágil 1.2. Motivação O que levou a criação do TDD: Implementar boas práticas de programação Antes de o código estar escrito, é preciso que as classes sejam realmente necessárias. TDD ajuda os desenvolvedores a focar na funcionalidade das aplicações e a disponibilidade de testes antes do desenvolvimento e permite um rápido feedback. 2. Funcionamento Os testes deverão ser escritos antes da implementação do código. Dessa forma, o desenvolvedor recebe um retorno rápido do código testado posteriormente. O nível de stress do desenvolvedor aumenta durante o processo de desenvolvimento do software. Com isto, os testes tendem a ser deixados para o final, fazendo com que a quantidade de testes seja reduzida, reduzindo assim consequentemente a qualidade do sistema. Os dados utilizados nos testes devem cobrir todas as alternativas possíveis, ou seja, se o sistema possui múltiplas entradas, um teste bem realizado deverá contemplá-las. Os dados incluídos nos testes devem ter uma relação aparente entre entrada e saída. Os testes podem servir também como documentação para que outro desenvolvedor possa, no futuro, entender e, se necessário, dar manutenção no código. Antes da codificação, deve ser escrita uma lista de testes, contemplando todos aqueles que o desenvolvedor julga necessário para fazer a cobertura das possibilidades de entrada e saída. A lista será o planejamento de cada requisito. Feito isto, ao começar a codificação, ele terá um guia para que não se esqueça de nenhum teste, tornando o sistema mais robusto. Após a especificação dos casos de testes, divididos em pequenas porções de funcionalidades, os testes deverão ser escritos, começando pela regra que o desenvolvedor julgue mais simples. Inicialmente o teste deve falhar, para que o chamado mantra do TDD seja obedecido. Este mantra pode ser visto na figura ao lado. 3

4 Como foi citado anteriormente, a implementação do teste vem antes da implementação código, permitindo o planejamento do design das classes, como serão as chamadas dos métodos e seu funcionamento. Dentro da classe de testes, o método que irá testar o item eleito como o mais simples da lista deverá ser criado, juntamente da assertiva que define onde o teste deverá chegar. É ela que garante que o código está funcionando. O código não deve compilar, pois não foram criados a classe e o método testado. A criação do teste antes do código permite ao desenvolvedor enxergar pela ótica de quem utiliza a classe e não pela ótica de quem esta criando, possibilitando a averiguação da facilidade de utilização, entendimento e simplicidade. Toda esta visão, garantida antes da implementação, torna a sua alteração sem custos, ou seja, como o código não foi implementado, a sua alteração não terá impacto algum, diferentemente se esta visão seja apresentada apenas ao longo do projeto. O segundo passo consiste em chegar mais rapidamente ao sucesso do teste, ou seja, implementar o código que retorna como resultado na classe de testes o marco verde do mantra. Deve ser implementado somente o necessário para que o sucesso seja alcançado, a melhoria do código se dá apenas na refatoração, quando já está garantido o seu funcionamento. É importante que os passos sejam curtos e, quando necessário, utilizar os chamados Baby Steps, que fazem parte conceito de TDD. Implementar a aplicação pouco a pouco, recebendo o rápido feedback dos resultados dos testes de pequenas porções do código, além de garantir o funcionamento de todo o código, evita-se a criação de códigos complexos sem que haja necessidade. Para códigos onde o desenvolvedor se sente seguro em implementar, os passos podem ser maiores, mas como afirma Kent, é sempre bom saber que é possível a realização em passos menores. Outra prática importante no TDD é a simulação do código antes da sua construção. A simulação faz com que o desenvolvedor aprenda e planeje melhor o seu código. Ainda seguindo com as boas práticas, mesmo que o desenvolvedor saiba que o resultado do teste não será o sucesso, o teste deve ser executado, mantendo sempre a ordem de execução do mantra do TDD. Continuando a implementação dos testes, após o sinal verde do teste executado, o código deve ser refatorado, melhorando a implementação. Após refatorar, o teste deverá ser executado até que o sinal verde apareça. Este processo deve ser repetido até que todas as regras definidas sejam atendidas, resultando em um código simples e totalmente aderente aos requisitos. A refatoração deverá ocorrer quantas vezes o desenvolvedor julgar necessária. Caso sejam encontradas regras que necessitem da criação de testes distintos com dados semelhantes, uma boa prática é utilizar o conceito de triangulação, que consiste em implementar uma solução que atenda a todos os casos que se assemelham. Geralmente, na implementação deste conceito, os testes anteriores já garantem o sucesso no resultado dos semelhantes, portanto o resultado deste teste de triangulação deve ser verde. A execução dos testes deve ser isolada, ou seja, um teste não pode interferir no outro. Além disso, os testes devem ser de rápida execução, permitindo que a cada momento sejam executados para verificar a integridade do código. Isto dá ao desenvolvedor a segurança de que qualquer refatoração será testada e caso quebre algo que já estava construído, o sinal vermelho será mostrado na execução dos testes. O TDD servirá como um guia do desenvolvimento, mostrando toda a evolução do código, ou seu histórico de implementação, podendo ser utilizado até mesmo como um manual de utilização para que outros desenvolvedores utilizem as classes e métodos criados. Outras vantagens serão abordadas no decorrer deste trabalho. 4

5 3. Princípios de desenvolvimento Na Engenharia de Software Ágil existem vários princípios de desenvolvimento que também podem ser chamados de boas práticas. Estas técnicas, difundidas na literatura e nas comunidades de desenvolvimento de software com o tempo, objetivam melhorar as práticas de engenharia, facilitando, simplificando e melhorando cada vez mais o design e a construção de aplicações. Seus princípios fazem parte do TDD, o qual prega pela simplicidade em sua concepção. Tais siglas e termos peculiares ajudam na fixação e as fazem mais populares, como pode ser visto: 3.1. KISS - Keep It Simple, Stupid O acrônimo em inglês quer dizer Mantenha isso simples, estúpido. Valoriza a simplicidade no desenvolvimento dos projetos e, por conseqüência, do código. É utilizada no TDD, pois parte do princípio de fazer apenas o necessário e de forma mais simples possível. Essa filosofia não é utilizada apenas na Engenharia de Software, mas também em várias outras áreas de conhecimento. Dentre os benefícios do KISS, estão: Resolução de problemas mais rapidamente. Produção de um código para resolver problemas complexos em menos linhas de código. Produção de código de qualidade superior. Construção de sistemas maiores, mais fáceis de manter. Capacidade de trabalhar com grandes projetos, já que todo o código é simples e estúpido YAGNI - You Ain t Gonna Need It Este é um dos princípios mais curiosos e ao mesmo tempo fascinante. O termo em português significa: Você não vai precisar disso. Segundo YAGNI, você não deve adicionar uma funcionalidade até que ela seja necessária, ou seja, implemente apenas quando realmente precisar e nunca quando você prevê que precisará dela no futuro. De acordo com aqueles que defendem esta abordagem, a tentação de escrever um código não necessário no momento, mas que poderá ser no futuro, tem algumas desvantagens: Os novos recursos devem ser testados, documentados. Qualquer novo recurso impõe restrições sobre o que pode ser feito no futuro. Portanto, um recurso desnecessário agora pode impedir execução de uma característica necessária mais tarde. Até que o recurso seja realmente necessário, é difícil definir completamente o que ele deve fazer. Se o novo recurso não está devidamente definido e testado, ele pode não funcionar corretamente. Adicionando o novo recurso, novas funcionalidades podem surgir. Se estes novos recursos são implementados, isso pode resultar em um efeito bola de neve Fake it, till you make it Em português, significa Simule isso enquanto puder. Prática muito utilizada no TDD e que tem relação com a YAGNI. Esta técnica implica em simular uma funcionalidade do desenvolvimento até que você realmente precise implementá-la realmente. Isso faz com que você mantenha a simplicidade ao máximo 5

6 durante desenvolvimento, o que contribui para um bom design. Outra vantagem dessa técnica é a garantia de que o que é simulado está totalmente confiável e correto, evitando a suspeita de problemas no desenvolvimento e testes de outras funcionalidades ATDD - Acceptance TDD O ATDD é uma prática utilizada em equipes num nível mais alto de maturidade, as quais utilizam TDD em testes de aceitação. Em português, significa Desenvolvimento Dirigido a Testes de Aceitação. Tem como princípio automatizar os testes de baseados nos critérios e requisitos especificados pelo cliente. A prática garante que o cliente tenha um mecanismo de validação automatizado que mostre que o software atende às suas necessidades. Os testes são desenvolvidos pela equipe de acordo com as reuniões de planejamento, por exemplo, enquanto discutem cada estória e o cliente define o que fará aquela funcionalidade satisfatória para o negócio. Esta técnica exige que o cliente tenha um nível de maturidade e conhecimento no assunto para tirar proveito do trabalho DRY - Don t repeat yourself ou DIE - Duplicate is Evil As siglas que já falam por si mesmo, em português dizem: DRY: Não se repita e DIE: Duplicar é mau. A prática prega a redução de duplicação de informações de todos os tipos dentro de um projeto. Aplicado à Engenharia de Software, o princípio sugere que cada pedaço do conhecimento dentro de um software deve ter apenas uma apresentação. Essa parte deve ser autoridade daquele conhecimento específico dentro do sistema. Quando o princípio é utilizado consistentemente no sistema, uma alteração em um elemento individual não altera qualquer área de conhecimento que esteja logicamente independente e, em contrapartida, elementos relacionados são mantidos em sincronia, evitando possíveis falhas e alto custo de manutenção. Máximas de grandes nomes que influenciaram esses princípios: Faça tudo o mais simples possível, não o mais fácil. (Albert Einstein) A simplicidade é a sofisticação final. (Leonardo Da Vinci) A perfeição é alcançada não quando não temos mais nada à acrescentar e sim quando não temos mais nada para retirar. (Antonie de Saint Exupéry) 4. Cenários O TDD - ao contrário do que aparenta à primeira vista - pode ser aplicado em vários cenários de desenvolvimento de software. A construção de uma aplicação orientada a testes desde a concepção da ideia é o caminho ideal e de menor custo de implantação. Porém, isso não impede que a metodologia seja aplicada em outros ambientes que não este. Vamos tratar de três cenários bem diferentes e vamos pontuar suas características. Obviamente, todos os casos têm suas peculiaridades que dependem da realidade e ao dia-a-dia de cada projeto. 6

7 4.1. TDD desde o início O primeiro cenário é a implantação da metodologia na sua essência. Um cenário onde o projeto adota a prática desde sua concepção. O caminho feliz. Nesse cenário devem ser seguidas todas as diretivas do TDD para obter o máximo de resultado que a prática oferece. Lembrando que TDD não se trata ta de desenvolvimento de testes e sim desenvolvimento de software orientado a testes, ou seja, a construção dos testes influencia diretamente no design da aplicação. Veja o fluxo de iteração do TDD aplicado em projetos recém-nascidos: Dicas: Manter a compatibilidade com versões pode ser uma boa opção no caso de desenvolvimento de APIs. Transformar casos extremos em testes na robustez do projeto TDD na correção de bugs Outro cenário onde o TDD pode ser aplicado é na correção de bugs de um sistema que não foi construído baseado na metodologia. Este modelo se mostra atraente, pois o teste inevitavelmente faz parte da correção de bugs em um sistema que já funciona. Assim, o TDD tem a vantagem de catalogar os testes feitos para a correção de problemas que ocorrerão com o tempo. Quanto mais bugs vão surgindo, mais cresce a cobertura de testes do sistema. Tal vantagem traz o benefício dos bugs não se repetirem e não causarem impacto em outras partes do sistema já cobertas por testes, pois, de acordo com a metodologia, testes escritos anteriormente nunca podem ser quebrados. Fluxo de iteração do TDD aplicado na correção de bugs em um sistema não coberto por testes: 7

8 Passo a passo Encontre o foco do problema que gera o bug Transforme-o em um teste Teste. Ele deve falhar Corrija o bug Teste novamente. Ele deve passar Dicas Tente fazer com que usuários submetam testes ou casos de testes, mesmo que de forma nãotécnica, pois isso facilita a criação de suas assertivas. O usuário final é quem mais tem conhecimento de um sistema. Examine o código e encontre possíveis falhas semelhantes onde o teste escrito possa ser reaproveitado, cobrindo assim mais uma parte do sistema. Nota: este e modelo pode ser aplicável em sistemas construídos com TDD. Neste caso a correção de bugs consiste na manutenção dos testes existentes TDD em código legado Este é, certamente, o cenário mais complexo para aplicação do TDD. Código legado não coberto por testes automatizados corresponde a um grande e custoso débito técnico do sistema. Normalmente o conhecimento aplicado neste tipo de software é detido por poucas pessoas e na maioria das vezes não possui uma documentação fiel à realidade. Outro problema grave encontrado neste e cenário é o impacto, muito difícil de ser estimado. Fluxo de aplicação do TDD em sistemas de código legado: 8

9 Passo a Passo Analise o código Construa o teste e certifique-se que você entendeu o problema Teste. Deve falhar Adapte o teste (iterativamente) Teste. Deve passar Siga para a próxima parte Ao implementar... Entenda Documente Refatore Remova excessos Padronize Faça-o seguro e robusto Dicas CUIDADO! Vá devagar Esteja pronto para desfazer tudo 9

10 5. Mocks, Stubs, Dummies e Fakes 5.1. O que fazer com as Dependências? Durante a construção dos testes unitários, como o próprio nome já diz, o desenvolvedor está concentrado em um elemento do software por vez, (até porque, quando um teste utiliza mais de um elemento ele é chamado de teste de integração) mas nos sistemas estes elementos geralmente referenciam outros, portanto, o que fazer para resolver estas dependências e evitar o acoplamento? 5.2. Dublês de Teste Uma forma de resolver esta situação é a utilização dos dublês de teste, cuja origem vem dos stunt doubles (sim, os dublês de filmes!). Um dublê é uma representação falsa de um objeto real. Eles são bastante úteis durante o desenvolvimento dos testes, uma vez que nem sempre o elemento que você precisa está pronto ou o teste é dispendioso Tipos de Dublês Mock: simula objetos reais de forma controlada dentro dos testes. Isso nos ajuda quando o objeto real é muito complexo, lento ou ainda nem existe (Banco de Dados, recursos em rede...). São préprogramados com informações que formam uma especificação das chamadas que esperam receber. Stubs: providenciam respostas pré-configuradas para as chamadas feitas durante os testes, normalmente não respondem a nada que não esteja programado para o teste. Um exemplo de uso de stubs seria a implementação de um despertador, que para determinada hora utiliza um alarme diferente. Sem o stub, o teste precisaria esperar até a hora X para ser executado. Dummy: é repassado, mas nunca utilizado. Normalmente são usados para preencher listas de parâmetros. Fakes: têm implementações funcionais, mas normalmente utilizam algum atalho que os torna inadequados para produção (uma base de dados em memória é um exemplo). 6. Integração do TDD ao Scrum O TDD vem completar o Scrum no que tange à qualidade. A máxima se você não testa, você não é ágil nos dá uma ideia desta parceria. Enquanto o Scrum isolado já possibilita desenvolver projetos com transparência e agilidade, Scrum aliado ao TDD entrega projetos com nível de qualidade superior e especificação das classes utilizadas, auxiliando consideravelmente na organização e documentação do projeto. Dentre as mudanças que o TDD traz para o Scrum estão: Na reunião de planejamento o Elevação do comprometimento do time o Planejamento mais rápido 10

11 Na reunião de revisão o Os testes passam a fazer parte da demonstração do que é potencialmente entregável Na reunião de retrospectiva o São considerados Scrum e TDD na discussão do que é ou não entregável TDD + Scrum promove uma sinergia ou seja os benefícios resultantes da soma dos dois elementos impactam no processo em proporção bem maior do que simplesmente a junção TDD + Scrum. No gráfico a ao lado é possível notar o crescente aumento do nível de qualidade após a adoção do TDD em projetos que já utilizavam Scrum. Nota-se, também, que a curva de motivação do time e produtividade alcança níveis estáveis, após a preparação/adaptação ao TDD. Conclui-se, assim, que o resultado da junção TDD + Scrum são projetos andando, com revisões freqüentes para correção/entrega de valor para o cliente, nível de qualidade protegido e especificação das classes de código. 7. Confusões com TDD Existem vários mitos e confusões em torno de TDD. Dentre eles, estão: TDD pode gerar um conjunto de testes 100% aplicável para qualquer aplicação : Há os componentes comprados prontos/baixados/reutilizados que às vezes deixam de ter até o código-fonte. Sistemas legados também requerem atenção especial, pois pode não ter sido escrito ainda o teste específico para alguma parte de um sistema deste tipo. Você só precisa fazer o teste de unidade : É preciso aplicar outras técnicas de teste, mesmo para os sistemas mais simples. TDD é suficiente para testar tudo : TDD contempla o teste entre o desenvolvedor e a unidade. Outros testes (como de aceitação, por exemplo) devem ser feitos. TDD não é escalável : O TDD encoraja o refactoring, o que torna o código escalável. Este mito é geralmente reforçado por aqueles que não sabem como aplicar o TDD. 11

12 8. Cinco desculpas para não usar TDD Apesar de se tratar de uma técnica criada para facilitar o desenvolvimento, há desculpas para aqueles que não admitem adotá-la. As mais comuns são: Vai demorar muito mais : uma das desculpas mais populares, utilizada inclusive pelos gerentes que se enganam, pensando que ter qualquer coisa pronta é sinal de produtividade. Só que a maioria das pessoas adeptas desta desculpa pensa que o tempo de desenvolvimento de uma funcionalidade é só aquele utilizado para entregá-la. Supondo que uma pessoa produziu todo o seu código utilizando basicamente seus instintos e disse terminei sem nenhum tipo de validação, os riscos de ter alguma coisa incorreta aumentam bastante. E é neste ponto que TDD apresenta uma vantagem. O programador é obrigado a explorar melhor o problema, e ao terminar de codificar já terá uma série de testes automatizados para mostrar que aquilo que foi feito funciona. Ou seja, para entregar pode até ser que demore mais, mas para ter uma funcionalidade de acordo com os requisitos e sem defeitos o tempo provavelmente será menor. A funcionalidade é muito fácil : se depois de uma breve avaliação o sujeito achar que a solução a ser programada é muito fácil, ele está correndo três riscos: 1) não entendeu todas as variações do problema; ou 2) vai programar com displicência; ou 3) planeja usar e abusar de um dos piores inimigos da programação, o Ctrl+C, Ctrl+V. Em todos os casos a possibilidade de fazer besteira é iminente e poderia ser diminuída com testes, onde o problema seria explorado melhor antes do código e haveria a chance de remover a duplicação de código com auxílio de testes. Estes testes também confirmariam que a mudança não quebrou outra parte do sistema, o que indica que deveria haver testes para todo o sistema. Não sei como testar : quem está começando a usar TDD tem essa desculpa na ponta da língua. É como se não conhecesse uma biblioteca e isto o impedisse de programar. Mas programar orientado a testes não é tão difícil assim, afinal se trata apenas de programação, coisa que já estamos acostumados. Basta pensar no problema que as perguntas surgem e aí estão os testes. Escreva a pergunta, pense na resposta e a escreva também. Com o tempo as perguntas vão ficando melhores, mas não saber fazê-las não pode ser a razão para não começar. Isso não dá pra testar : este é um mito que não tem fundamento. Tudo é testável, embora alguns casos sejam mais difíceis ou exijam um pouco mais de pesquisa. Dificilmente você terá um cenário que outros não tenham conseguido testar, e neste caso é só aprender como se faz. Se ainda assim o cenário for inédito na literatura, existe uma comunidade grande sempre disposta a ajudar, então só basta querer. Ah! E na maioria dos casos usar mocks e stubs resolvem os problemas ditos como não testáveis pelos iniciantes. Melhor deixar os testes com os testadores : aqui é um exemplo de que não se entendeu pra que serve TDD afinal. Escrever testes de unidade por si só não significa programar orientado a testes, uma vez que os testes são escritos antes do código existir e de maneira incremental. Então deixar os testes com os testadores significa abrir mão de uma ferramenta de modelagem simples, pensando que esta se trata apenas de testes. 12

13 9. Vantagens Desvantagens Vantagens O código é inerentemente testável. O desenvolvimento dirigido por testes oferece mais do que somente uma maneira simples de validação e de correção, ele pode orientar o design de uma aplicação. Melhora o entendimento dos engenheiros com o negócio do sistema, pois o engenheiro deve entender o problema e o que deve ser verificado antes de projetar a solução. A arquitetura tende a apresentar baixo nível de acoplamento. Maior confiança no código produzido, já que os testes cobrem todos os impactos causados por alterações no sistema. Mesmo que usando o TDD a quantidade de código seja maior, o tempo total de implementação é tipicamente menor. Códigos gerados assim geralmente não apresentam problemas posteriores. Testes de alta qualidade: quando se implementa os testes após o código estar pronto, tende-se a implementar testes de baixa qualidade, pois inconscientemente escreve um teste para rodar no código produzido. Quando acabamos realmente acabamos. Desvantagens Mudança de cultura: é necessário o apoio gerencial, caso contrário o tempo necessário para escrever os códigos será considerado desperdício. Para um desenvolvedor já é difícil mudar sua mente em favor dos testes e TDD. Deverá haver esforço necessário para que um gerente o entenda. Quem cria os testes é o próprio desenvolvedor. Portanto, erros conceituais poderão continuar existindo na aplicação. Os próprios testes se tornam parte da manutenção do sistema. 10. Conclusão O processo de desenvolvimento orientado a testes é mais rápido do que parece ser. O tempo gasto no fim do desenvolvimento de uma funcionalidade pode, em alguns casos, ser até mais rápido do que o normal, levando em consideração a prática de implementar a solução mais óbvia possível. A mensagem final que o TDD nos deixa é que, quando acabamos, realmente acabamos. É pouco provável que após o término seja necessário retornar ao código para corrigir alguma falha, já que essas foram detectadas e solucionadas durante a construção. Além disso, o principal ganho se dá quando o código exige evoluções. Qualquer impacto gerado pela alteração do sistema será mostrado pelos testes, simples e rápidos de serem executados. Sendo assim, uma alteração pode ter sua eficiência validada com baixíssimo esforço e grande segurança. É preciso ressaltar que o processo não é infalível, mas, quando bem utilizado, traz grandes ganhos visto que o código-fonte desenvolvido raramente apresenta problemas. 13

14 Recapitulando, as três premissas básicas do TDD são: 1. Escrever um teste que não irá funcionar. 2. Fazer com que esse teste funcione com a implementação mais óbvia e rápida possível. 3. Repetir este ciclo iterativamente, refatorando o código, eliminando duplicações e a facilitando a legibilidade. No início, trabalhar com TDD exige uma mudança de cultura e pode parecer oneroso, pois é uma quebra de paradigma da forma que trabalhamos normalmente. Este processo inicial e doloroso de aprendizado dá lugar a outro sentimento, à medida que a prática traz eficiência e os ganhos são percebidos. Os problemas que acontecem no cotidiano do desenvolvimento de um software acarretam prejuízo aos clientes. E para nós desenvolvedores - o esforço gasto ao utilizar TDD é recompensado. 11. Bibliografia (vídeo com implementação) (Bastante coisa sobre TDD)

Com metodologias de desenvolvimento

Com metodologias de desenvolvimento Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

Leia mais

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Programação Extrema. Luis Fernando Machado. Engenharia de Software Programação Extrema Luis Fernando Machado Engenharia de Software Desenvolvimento Ágil Programação Extrema, ou Extreme Programming (XP) é um modelo de desenvolvimento ágil. Desenvolvimento ágil foi criado

Leia mais

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE www.agenciaatos.com.br COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE APLICAÇÃO DA CONSULTORIA EM VENDAS ONLINE É assim que os resultados são gerados. No entanto, é

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 2- Teste Estático e Teste Dinâmico Aula 4 Projeto de Teste 1 SUMÁRIO INTRODUÇÃO... 3 ANÁLISE E PROJETO DE TESTE... 3 1.

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?

Leia mais

Trilha Agile TDD e 20 coisas que você precisa saber

Trilha Agile TDD e 20 coisas que você precisa saber Trilha Agile TDD e 20 coisas que você precisa saber Camilo Lopes Quem sou eu?! Trabalha com desenvolvimento de software desde 2003. Atualmente Desenvolvedor de Software na ADP Labs, escritor do livro "Guia

Leia mais

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES

OBJETIVO VISÃO GERAL SUAS ANOTAÇÕES OBJETIVO Assegurar a satisfação do cliente no pós-venda, desenvolvendo um relacionamento duradouro entre o vendedor e o cliente, além de conseguir indicações através de um sistema de follow-up (acompanhamento).

Leia mais

20 perguntas para descobrir como APRENDER MELHOR

20 perguntas para descobrir como APRENDER MELHOR 20 perguntas para descobrir como APRENDER MELHOR Resultados Processo de aprendizagem SENTIDOS (principal) Gosto de informações que eu posso verificar. Não há nada melhor para mim do que aprender junto

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de

Leia mais

MÓDULO 5 O SENSO COMUM

MÓDULO 5 O SENSO COMUM MÓDULO 5 O SENSO COMUM Uma das principais metas de alguém que quer escrever boas redações é fugir do senso comum. Basicamente, o senso comum é um julgamento feito com base em ideias simples, ingênuas e,

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto

Leia mais

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp web@cercomp.ufg.br Introdução Criada por Kent Baeck em 1996 durante o projeto Daimler Chrysler. O sucesso

Leia mais

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697

Metodologias Ágeis. Gerenciando e Desenvolvendo Projetos de forma eficiente. Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Metodologias Ágeis Gerenciando e Desenvolvendo Projetos de forma eficiente Gabriel Verta 0767948 Rafael Reimberg 0767701 Vinicius Quaiato - 0767697 Introdução Ao longo dos anos a indústria de desenvolvimento

Leia mais

5 DICAS DE GESTÃO EM TEMPOS DE CRISE. Um guia prático com 5 dicas primordiais de como ser um bom gestor durante um período de crise.

5 DICAS DE GESTÃO EM TEMPOS DE CRISE. Um guia prático com 5 dicas primordiais de como ser um bom gestor durante um período de crise. 5 DICAS DE GESTÃO EM TEMPOS DE CRISE Um guia prático com 5 dicas primordiais de como ser um bom gestor durante um período de crise. INTRODUÇÃO Gerir uma empresa não é uma tarefa fácil, mas em tempos de

Leia mais

5 Considerações finais

5 Considerações finais 5 Considerações finais 5.1. Conclusões A presente dissertação teve o objetivo principal de investigar a visão dos alunos que se formam em Administração sobre RSC e o seu ensino. Para alcançar esse objetivo,

Leia mais

1.000 Receitas e Dicas Para Facilitar a Sua Vida

1.000 Receitas e Dicas Para Facilitar a Sua Vida 1.000 Receitas e Dicas Para Facilitar a Sua Vida O Que Determina o Sucesso de Uma Dieta? Você vê o bolo acima e pensa: Nunca poderei comer um doce se estiver de dieta. Esse é o principal fator que levam

Leia mais

Programação Orientada a Testes Rodrigo Rebouças de Almeida

Programação Orientada a Testes Rodrigo Rebouças de Almeida Programação Orientada a Testes Rodrigo Rebouças de Almeida http://rodrigor.com rodrigor@rodrigor.com Agenda Nossos objetivos hoje: Entender o que é programação orientada a testes Entender a sua função

Leia mais

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

COMO COMEÇAR 2016 se organizando?

COMO COMEÇAR 2016 se organizando? COMO COMEÇAR 2016 se organizando? Como começar 2016 se organizando? Conheça estratégias simples para iniciar o novo ano com o pé direito Você sabia que, de acordo com o Sebrae, os principais motivos que

Leia mais

Princípios do teste de software

Princípios do teste de software Teste de Software Princípios do teste de software Conforme a Lei de Pareto, 80% dos erros podem ser localizados em 20% do projeto, geralmente nos módulos principais do sistema; A atividade de teste não

Leia mais

Levantamento, Análise e Gestão Requisitos. Aula 06

Levantamento, Análise e Gestão Requisitos. Aula 06 Levantamento, Análise e Gestão Requisitos Aula 06 Agenda Técnicas de Levantamento de Requisitos: Entrevista Workshop, Brainstorming, Storyboarding e Roleplaying Prototipação JAD Joint Application Design

Leia mais

20 perguntas para descobrir como APRENDER MELHOR

20 perguntas para descobrir como APRENDER MELHOR 20 perguntas para descobrir como APRENDER MELHOR Resultados Processo de aprendizagem EXPLORAÇÃO Busco entender como as coisas funcionam e descobrir as relações entre as mesmas. Essa busca por conexões

Leia mais

Como vender a Gestão por Processos em sua organização?

Como vender a Gestão por Processos em sua organização? Como vender a Gestão por Processos em sua organização? Janeiro de 2012 O presente artigo aborda de forma prática as principais críticas que usualmente são atribuídas a projetos de gestão por processos.

Leia mais

COMO INICIAR O RELACIONAMENTO COM OS LEADS? 8 passos para TER UMA SEQUÊNCIA DE EMAILS BEM SUCEDIDA.

COMO INICIAR O RELACIONAMENTO COM OS LEADS? 8 passos para TER UMA SEQUÊNCIA DE EMAILS BEM SUCEDIDA. COMO INICIAR O RELACIONAMENTO COM OS LEADS? 8 passos para TER UMA SEQUÊNCIA DE EMAILS BEM SUCEDIDA. Uma sequência de e-mail, follow-up ou auto responder é um sistema de resposta automática em uma série

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas

Leia mais

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê? Significado de XP? Extreme Programming (Programação Extrema). Ideal para que tipo de empresa (equipe): pequena, média, grande? Pequenas e Médias. Em software onde os requisitos não são conhecidos é recomendado

Leia mais

TIPOS DE REUNIÕES. Mariangela de Paiva Oliveira. mariangela@fonte.org.br. As pessoas se encontram em diferentes âmbitos:

TIPOS DE REUNIÕES. Mariangela de Paiva Oliveira. mariangela@fonte.org.br. As pessoas se encontram em diferentes âmbitos: TIPOS DE REUNIÕES Mariangela de Paiva Oliveira mariangela@fonte.org.br As pessoas se encontram em diferentes âmbitos: no âmbito do pensar: quando acontece uma troca de idéias, opiniões ou informações;

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Barreiras. Lição 1.5. A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL.

Barreiras. Lição 1.5. A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL. 40 Lição 1.5 A palavra mais importante para transformar situações de risco potencial em IMPROVÁVEL. Barreiras Conforme você deduziu da lição anterior, a gestão de risco é inerente à nossa vida no planeta

Leia mais

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007.

Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007. Vírus no Linux? Este artigo abaixo foi produzido originalmente para a Network Core Wiki. Reproduzo-a aqui na íntegra. Publicado originalmente em 07/12/2007. Interface de uma distribuição Linux Uma das

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

COMO MINIMIZAR AS DÍVIDAS DE UM IMÓVEL ARREMATADO

COMO MINIMIZAR AS DÍVIDAS DE UM IMÓVEL ARREMATADO PROLEILOES.COM COMO MINIMIZAR AS DÍVIDAS DE UM IMÓVEL ARREMATADO PROCESSOS QUE PODEM FAZER COM QUE VOCÊ CONSIGA QUITAR DÍVIDAS PENDENTES DE UM ÍMOVEL ARREMATADO EM LEILÃO, PAGANDO MENOS QUE O SEU VALOR

Leia mais

5 Dicas Testadas para Você Produzir Mais na Era da Internet

5 Dicas Testadas para Você Produzir Mais na Era da Internet 5 Dicas Testadas para Você Produzir Mais na Era da Internet Uma das verdades absolutas sobre Produtividade que você precisa saber antes de seguir é entender que se ocupar não é produzir. Não sei se é o

Leia mais

Prof. Me. Marcos Echevarria

Prof. Me. Marcos Echevarria Prof. Me. Marcos Echevarria Como tirar nossas ideias do papel e transformá-las em software de verdade? Como criar softwares que realmente dão certo e, até mesmo, rendam muito dinheiro pra nós e para nossos

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Guia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE

Guia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE Guia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE ÍNDICE 1 Introdução 2 Qual a importância da educação financeira para estudantes? 3 Comece definindo onde é possível economizar 4 Poupar é muito

Leia mais

Uma conceituação estratégica de "Terceiro Setor"

Uma conceituação estratégica de Terceiro Setor Uma conceituação estratégica de "Terceiro Setor" Antonio Luiz de Paula e Silva Qual é a tarefa das organizações do chamado "Terceiro Setor"? O "Terceiro Setor" está cumprindo seu papel? Que tipo de perguntas

Leia mais

O guia completo para uma presença. online IMBATÍVEL!

O guia completo para uma presença. online IMBATÍVEL! O guia completo para uma presença online IMBATÍVEL! Sumário Introdução 3 Capítulo 1 - Produção de Conteúdo: Por que e Como produzir 5 Capítulo 2 - Distribuição e Divulgação 8 Capítulo 3 - Monitoramento

Leia mais

Nós o Tempo e a Qualidade de Vida.

Nós o Tempo e a Qualidade de Vida. Nós o Tempo e a Qualidade de Vida. Será que já paramos e pensamos no que é o tempo? Podemos afirmar que o tempo é nossa própria vida. E a vida só é vivida no aqui e agora, no efêmero momento entre o passado

Leia mais

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor.

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Michel Brites dos Santos MAPData A parametrização quando possível já é uma forma de otimizar o processo de criação na engenharia.

Leia mais

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto Objetivos Comparar e contrastar Análise e Projeto Definir O que vamos fazer na disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente

Leia mais

Conversando com a Família Práticas Narrativas

Conversando com a Família Práticas Narrativas Conversando com a Família Práticas Narrativas Projeto Reciclando Mentes Conversando sobre o trauma A abordagem narrativa no trabalho com trauma Considerações importantes no trabalho com trauma A terapia

Leia mais

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL Renara Tavares da Silva* RESUMO: Trata-se de maneira ampla da vitalidade da empresa fazer referência ao Capital de Giro, pois é através deste que a mesma pode

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

E-book Grátis Como vender mais?

E-book Grátis Como vender mais? E-book Grátis Como vender mais? Emissão: 27/01/2015 Responsável: Luiz Carlos Becker Filho Cargo: Diretor Executivo E-book Grátis Como vender mais? Esse conteúdo pode realmente lhe ajudar: Premissas: Olá,

Leia mais

processos de qualidade como um todo. Este conceito, muitas vezes como parte de uma iniciativa mais ampla "gestão enxuta", muitas organizações abraçam

processos de qualidade como um todo. Este conceito, muitas vezes como parte de uma iniciativa mais ampla gestão enxuta, muitas organizações abraçam 2 1 FILOSOFIA KAIZEN Segundo IMAI, MASAAKI (1996) KAIZEN é uma palavra japonesa que traduzida significa melhoria continua, que colabora em melhorias sequenciais na empresa como um todo, envolvendo todos

Leia mais

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS Atualizado em 21/12/2015 GESTÃO DE PROCESSOS Um processo é um conjunto ou sequência de atividades interligadas, com começo, meio e fim. Por meio de processos, a

Leia mais

Exclusivo: Secretária de Gestão do MPOG fala sobre expectativas do Governo Dilma

Exclusivo: Secretária de Gestão do MPOG fala sobre expectativas do Governo Dilma Exclusivo: Secretária de Gestão do MPOG fala sobre expectativas do Governo Dilma Entrevista, Ministério do Planejamento domingo, 6 de novembro de 2011 Carlos Bafutto O SOS Concurseiro discutiu, com exclusividade,

Leia mais

Teste de Software Parte 1. Prof. Jonas Potros

Teste de Software Parte 1. Prof. Jonas Potros Teste de Software Parte 1 Prof. Jonas Potros Cronograma Verificação e Validação Teste de Software: Definição e Conceitos Técnicas de Teste Fases de Teste Processo de Teste Automatização do Processo de

Leia mais

c. Técnica de Estrutura de Controle Teste do Caminho Básico

c. Técnica de Estrutura de Controle Teste do Caminho Básico 1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo

Leia mais

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO DESENVOLVENDO UM PROJETO 1. Pense em um tema de seu interesse ou um problema que você gostaria de resolver. 2. Obtenha um caderno

Leia mais

1. INTRODUÇÃO. Espero que faça um bom proveito do conteúdo e que, de alguma forma, este e-book facilite a sua decisão de adquirir um planejamento.

1. INTRODUÇÃO. Espero que faça um bom proveito do conteúdo e que, de alguma forma, este e-book facilite a sua decisão de adquirir um planejamento. 1. INTRODUÇÃO Muitas pessoas ficam em dúvida sobre o que considerar na hora de contratar um planejamento de estudos. Esta é uma dificuldade aceitável, tendo em vista que existem opções no mercado que não

Leia mais

1. Introdução. Avaliação de Usabilidade Página 1

1. Introdução. Avaliação de Usabilidade Página 1 1. Introdução Avaliação de Usabilidade Página 1 Os procedimentos da Avaliação Heurística correspondem às quatro fases abaixo e no final é apresentado como resultado, uma lista de problemas de usabilidade,

Leia mais

O Guia Coach do Coach O livro para quem deseja mudar vidas.

O Guia Coach do Coach O livro para quem deseja mudar vidas. O Guia do Coach O livro para quem deseja mudar vidas. Que livro é este? Este livro foi criado a partir do conteúdo da formação de LIFE COACH do Instituto RM de Coaching. Sendo assim o livro contempla tudo

Leia mais

Qualidade de Software

Qualidade de Software de Software Gerenciamento de de Software Dedica-se a assegurar que o nível requerido de qualidade seja atingido Em um produto de software Envolve a definição de padrões e procedimentos apropriados de qualidade

Leia mais

Mas, como utilizar essa ferramenta tão útil e que está à sua disposição?

Mas, como utilizar essa ferramenta tão útil e que está à sua disposição? Caríssimo aluno da Rede CEJA, Seja muito bem vindo à sua escola! Estamos muito felizes que você tenha optado por dar continuidade aos seus estudos conosco, confiando e acreditando em tudo o que poderemos

Leia mais

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso

7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso 7 etapas para construir um Projeto Integrado de Negócios Sustentáveis de sucesso Saiba como colocar o PINS em prática no agronegócio e explore suas melhores opções de atuação em rede. Quando uma empresa

Leia mais

ENSINO E APRENDIZAGEM DE CIÊNCIAS BIOLÓGICAS, COM A UTILIZAÇÃO DE JOGOS DIDÁTICOS: RELATO DE EXPERIÊNCIA.

ENSINO E APRENDIZAGEM DE CIÊNCIAS BIOLÓGICAS, COM A UTILIZAÇÃO DE JOGOS DIDÁTICOS: RELATO DE EXPERIÊNCIA. ENSINO E APRENDIZAGEM DE CIÊNCIAS BIOLÓGICAS, COM A UTILIZAÇÃO DE JOGOS DIDÁTICOS: RELATO DE EXPERIÊNCIA. Josilene Maria de Almeida 1 ; Rosângela Miranda de Lima 2 ; Maria Sônia Lopes da Silva; Maria Anunciada

Leia mais

GUIA DE AVALIAÇÃO DE CLIENTES PARA PROGRAMA DE RECUPERAÇÃO PÓS-DESASTRE

GUIA DE AVALIAÇÃO DE CLIENTES PARA PROGRAMA DE RECUPERAÇÃO PÓS-DESASTRE GUIA DE AVALIAÇÃO DE CLIENTES PARA PROGRAMA DE RECUPERAÇÃO PÓS-DESASTRE Este documento é uma tradução do crioulo haitiano e alguns termos foram adaptados para facilitar sua relevância para um público mais

Leia mais

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de

Leia mais

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares André Assis Lôbo de Oliveira Francisco Guerra Fernandes Júnior Faculdades Alves Faria, 74445190, Brasil andrelobin@hotmail.com,

Leia mais

Desenvolvimento Ágil de Software

Desenvolvimento Ágil de Software Desenvolvimento Ágil de Software Métodos ágeis (Sommerville) As empresas operam em um ambiente global, com mudanças rápidas. Softwares fazem parte de quase todas as operações de negócios. O desenvolvimento

Leia mais

ONG S E ASSOCIAÇÕES. Aproveite bem todas as dicas, fotos e textos deste guia, pois eles são muito importantes.

ONG S E ASSOCIAÇÕES. Aproveite bem todas as dicas, fotos e textos deste guia, pois eles são muito importantes. ONG S E ASSOCIAÇÕES PARA COMEÇAR Você tem vontade de participar mais do que acontece ao seu redor, dar uma força para resolver questões que fazem parte da rotina de certos grupos e comunidades e colocar

Leia mais

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009)

UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) GESTÃO DE PROCESSOS UM GUIA RÁPIDO ORIENTADO A RESULTADOS (vigência: 29 JUN 2009) 1. O QUE É PROCESSO? Processos têm sido considerados uma importante ferramenta de gestão, um instrumento capaz de aproximar

Leia mais

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade Introdução É sabido que os processos rodam em processadores. Nos sistemas tradicionais existe somente um único processador, de forma que não há dúvida a respeito de como ele deve ser usado. Em um sistema

Leia mais

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP Planejamento - 7 Planejamento do Gerenciamento do Risco Identificação dos riscos 1 O que é risco? Evento que representa uma ameaça ou uma oportunidade em potencial Plano de gerenciamento do risco Especifica

Leia mais

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios.

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios Caro (a) aluno (a), Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. O Plano de Negócios deverá ter no máximo

Leia mais

5 Instrução e integração

5 Instrução e integração SEÇÃO 5 Instrução e integração no meio de trabalho Quando um novo funcionário entra para uma organização, é importante que ele receba um bom apoio para entender sua função e a organização. Instrução é

Leia mais

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software Módulo 1 SCE186-ENGENHARIA DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br CONSTRUÇÃO Planejamento do Codificação Teste MANUTENÇÃO Modificação 2003 2 Planejamento do Gerenciamento CONSTRUÇÃO de Codificação

Leia mais

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP

Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP DARCI PRADO Questionário de Avaliação de Maturidade Setorial: Modelo PRADO-MMGP Versão 1.6.4 Setembro 2009 Extraído do Livro "Maturidade em Gerenciamento de Projetos" 2ª Edição (a publicar) Autor: Darci

Leia mais

PESQUISA EM INFORMÁTICA -ESTILOS DE PESQUISA EM COMPUTAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

PESQUISA EM INFORMÁTICA -ESTILOS DE PESQUISA EM COMPUTAÇÃO. Prof. Angelo Augusto Frozza, M.Sc. PESQUISA EM INFORMÁTICA -ESTILOS DE PESQUISA EM COMPUTAÇÃO Prof. Angelo Augusto Frozza, M.Sc. O TRABALHO DE CONCLUSÃO Introdução O texto que segue resume os Capítulo 2 e 8, do livro Metodologia de Pesquisa

Leia mais

Guia Prático para Encontrar o Seu. www.vidadvisor.com.br

Guia Prático para Encontrar o Seu. www.vidadvisor.com.br Guia Prático para Encontrar o Seu Propósito de Vida www.vidadvisor.com.br "Onde os seus talentos e as necessidades do mundo se cruzam: aí está a sua vocação". Aristóteles Orientações Este é um documento

Leia mais

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO!

FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! FAZEMOS MONOGRAFIA PARA TODO BRASIL, QUALQUER TEMA! ENTRE EM CONTATO CONOSCO! DEFINIÇÃO A pesquisa experimental é composta por um conjunto de atividades e técnicas metódicas realizados para recolher as

Leia mais

Como fazer um jogo usando o editor de apresentação

Como fazer um jogo usando o editor de apresentação Instituto Federal de Educação, Ciência e Tecnologia Sergipe IFS Campus Glória Curso Integrado em Agropecuária Professora: Jamille Silva Madureira Disciplina: Informática Como fazer um jogo usando o editor

Leia mais

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução.

Ágil. Rápido. Métodos Ágeis em Engenharia de Software. Introdução. Thiago do Nascimento Ferreira. Introdução. Introdução. Introdução. Introdução Métodos Ágeis em Engenharia de Software Thiago do Nascimento Ferreira Desenvolvimento de software é imprevisível e complicado; Empresas operam em ambiente global com mudanças rápidas; Reconhecer

Leia mais

Markes Roberto Vaccaro

Markes Roberto Vaccaro Markes Roberto Vaccaro Sumário 1 - CONHECER OS SEGREDOS DO MARKETING DIGITAL... 3 2 CRIAR UM BLOG DE NICHO... 4 3 - COMEÇANDO A ESTRATÉGIA DE MARKETING... 4 4 - PRODUTOS DIGITAIS... 5 5 OPTIMIZAÇÃO DE

Leia mais

PLANEJAMENTO ESTRATÉGICO

PLANEJAMENTO ESTRATÉGICO PLANEJAMENTO ESTRATÉGICO Este material resulta da reunião de fragmentos do módulo I do Curso Gestão Estratégica com uso do Balanced Scorecard (BSC) realizado pelo CNJ. 1. Conceitos de Planejamento Estratégico

Leia mais

Análise SWOT seguindo a metodologia do BMG

Análise SWOT seguindo a metodologia do BMG Análise SWOT seguindo a metodologia do BMG Análise SWOT (abreviatura das palavras em inglês Strong, Weakness, Opportunities e Threats) é uma análise ambiental que consiste em levantar pontos internos e

Leia mais

ITIL v3 - Operação de Serviço - Parte 1

ITIL v3 - Operação de Serviço - Parte 1 ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

6.1 A Simulação Empresarial tem utilização em larga escala nos cursos de Administração, em seus diversos níveis de ensino no Brasil?

6.1 A Simulação Empresarial tem utilização em larga escala nos cursos de Administração, em seus diversos níveis de ensino no Brasil? 195 6 Discussão Neste capítulo, são discutidos os resultados apresentados nas suas unidades de pesquisa e a relação existente entre cada uma dessas unidades. Assim, este capítulo traz subsídios para a

Leia mais

SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ

SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ SISTEMA DE GESTÃO DE MANUTENÇÃO APLICADO NO IFRN CAMPUS MOSSORÓ Dayse Duarte Tenorio Diretoria Acadêmica de Eletrotécnica IFRN Campus Mossoró E-mail: dayse_tenoro_d@hotmail.com Lucas Duarte Almeida Departamento

Leia mais

Administração da Produção I

Administração da Produção I Administração da Produção I Manutenção Manutenção Manutenção: Termo usado para abordar a forma pela qual organizações tentam evitar as falhas cuidando de suas instalações físicas. É uma parte importante

Leia mais

Tutorial 7 Fóruns no Moodle

Tutorial 7 Fóruns no Moodle Tutorial 7 Fóruns no Moodle O Fórum é uma atividade do Moodle que permite uma comunicação assíncrona entre os participantes de uma comunidade virtual. A comunicação assíncrona estabelecida em fóruns acontece

Leia mais

6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro

6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro TÍTULO : PLANO CONTÁBIL DAS INSTITUIÇÕES DO SISTEMA FINANCEIRO NACIONAL - COSIF 1 6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro 1. Aplicação 1- As instituições

Leia mais

Resumo artigo Agile Modeling- Overview

Resumo artigo Agile Modeling- Overview Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: Projetos I Aluno: Diogo Ludvig 0313812-7 Resumo artigo Agile Modeling- Overview Este trabalho se refere ao resumo do artigo Agile Modeling,

Leia mais

Não. A Sabesprev tem dinheiro em caixa suficiente para garantir o pagamento aos beneficiários pelos próximos anos. O que existe é um déficit atuarial.

Não. A Sabesprev tem dinheiro em caixa suficiente para garantir o pagamento aos beneficiários pelos próximos anos. O que existe é um déficit atuarial. PRINCIPAIS DÚVIDAS SOBRE O SABESPREV MAIS. 1. A Sabesprev está em dificuldades financeiras? Não. A Sabesprev tem dinheiro em caixa suficiente para garantir o pagamento aos beneficiários pelos próximos

Leia mais

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Série de ebooks sobre desenvolvimento em paralelo ágil: Capítulo 2 Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos Novas pressões, mais restrições

Leia mais