Evolução do Design através de Testes e o TDD

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

Download "Evolução do Design através de Testes e o TDD"

Transcrição

1 c a p a Lucas Souza (lucas.souza@caelum.com.br): é bacharel em Engenharia da Computação pela Universidade de Ribeirão Preto, possui a certificação SCJP e trabalha com Java há 4 anos. Atualmente é desenvolvedor e instrutor pela Caelum. Entusiasta de metodologias ágeis e editor-chefe do InfoQ Brasil. Paulo Silveira (paulo.silveira@caelum.com.br): é bacharel e mestre em Ciência da Computação pela USP, trabalha com Java há 10 anos, sendo 6 anos com consultoria, desenvolvimento e treinamento na Caelum. Evolução do Design através de Testes e o TDD Como os testes de unidade impactam diretamente no design da sua aplicação Os testes de unidade já são obrigatórios em muitas empresas e ganham cada vez mais importância no mercado. Ainda é considerado por muitos apenas como uma forma de demonstrar a corretude do seu sistema, mas os testes de unidade vão muito além: são uma forma de validar o design de sua aplicação, garantindo a possibilidade de evoluir, mudar e refatorar o seu código. Veremos, através de um exemplo, como os testes, aliados ao Test Driven Development, possuem o potencial de manter seu design com um baixo acoplamento. Testes de unidade têm se tornado cada vez mais imprescindíveis no atual mercado de desenvolvimento de software. Além de ser uma maneira de diminuirmos a possível quantidade de problemas que o software pode ter, a principal característica dos testes de unidade sem dúvida é aumentar a qualidade do código, diminuindo o acoplamento e obtendo assim um software de fácil manutenção e extensão. Devido a sua existência, a equipe se sente tranquila para efetuar refatorações, manutenções ou até mesmo fazer a adição de novas funcionalidades. Porém obter um código com baixo acoplamento e que seja de fácil manutenção não é uma tarefa trivial de ser alcançada. O que ocorre, muitas vezes, é que ao desenvolver alguma funcionalidade, tomamos decisões que podem tornar o código difícil de ser testado. O Test Driven Development (TDD) é uma técnica de desenvolvimento que pode ser utilizada para evitar esse tipo de problema. O TDD nos questiona frequentemente sobre questões como o Princípio da Responsabilidade Única (SRP) e Não Se Repita (DRY), e esses questionamentos surgem quando sentimos alguma dificuldade para criar o teste. Utilizando TDD o design das classes emerge de forma poderosa (pela facilidade de extensão) e simples (pela fácil manutenabilidade). TDD não substituirá seus princípios e decisões sobre o design ou mesmo seus diagramas UML, a ideia é validar e melhorar suas decisões de design. TDD é uma técnica que ajuda na criação e evolução do design, mas não é a única maneira de fazê-lo. Nosso objetivo aqui é demonstrar na prática como o TDD vai acelerar essa evolução de design. 32

2 Exemplo: enviando um ao cadastrar um novo usuário Para nossa demonstração, considere que em um sistema precisamos que, ao adicionar um novo usuário, um seja enviado dando boas-vindas a esse cliente. Em um pensamento rápido, podemos criar um método estático envia dentro de uma classe EnviadorDe . Invocaremos esse método de dentro do nosso NovoUsuarioController, que será responsável por adicionar o novo usuário no banco de dados e enviar o de boas-vindas, como nas Listagens 1 e 2. Para isso, considere que também temos uma classe DaoFactory, responsável por retornar as classes do sistema responsáveis pela persistência de dados. Listagem 1. Classe NovoUsuarioController. EnviadorDe .envia (usuario.get ()); Listagem 2. Classe EnviadorDe . import org.apache.commons.mail. exception; import org.apache.commons.mail.simple ; public class EnviadorDe { public static void envia (string para) { try { Simple = new Simple (); .sethostname( smtp.server.com ); .addto(para).setfrom( lucas.souza@caelum.com.br, Lucas Souza ).setsubject( Confirmação de cadastro ).setmsg( Seja bem-vindo ).send(); catch ( Exception e) { e.printstacktrace(); É um código que parece funcionar, mas será que possui um bom design? Está desacoplado o suficiente? Para garantir o funcionamento desse método de adição de novo usuário, será criado um teste de unidade, que verifica se o foi enviado corretamente. A Listagem 3 mostra como podemos preparar o teste de unidade. Listagem 3. Cenário do teste de unidade da classe NovoUsuarioController. Com o usuário e o controller criados, estaríamos prontos para fazer as asserções e assim garantir que o método adiciona() está funcionando como esperado. Mas como verificar se um está sendo enviado para o usuário? Se mantivermos o teste com o código assim, um de verdade será disparado para esse cliente cada vez que o executarmos! Uma alternativa seria, antes de iniciar os testes, levantar um servidor SMTP que apenas simulasse o envio do . Poderíamos até fazer isso via Java no setup do teste, programaticamente, ao usar um servidor como o Apache James. Porém, com isso, começamos a nos complicar com um teste de unidade que deveria ser bastante simples. Dessa forma, ele estaria se tornando um teste de integração. O problema neste caso é que não temos como verificar de uma maneira fácil se o foi enviado, afinal, dentro do método adiciona() mantemos um acoplamento muito forte com a classe EnviadorDe . Isso ocorre devido a ela ser uma dependência que não podemos mudar com facilidade. Outra maneira um tanto complicada de evitar que o método de envio de fosse realmente invocado (para não enviar o e apenas testá-lo) seria, através de um classloader customizado e manipulação de bytecode, os quais trocariam a implementação desse método. Alguns frameworks de mock (se não sabe o que é mock, aguarde que será explicado mais a frente) possibilitam isso, mas esse é um forte indício de alto acoplamento. Para testar esse método de uma forma mais elegante, em vez de usar essas opções apresentadas, será necessário refatorar o nosso controller: em vez de procurarmos o que queremos, vamos inverter isso e receber a dependência no construtor. Isso é, vamos aplicar o princípio de inversão de controle através da injeção de dependências, como na Listagem 4. Para essa mudança ser possível, o método envia () da classe EnviadorDe apresentada na Listagem 2 precisará deixar de ser estático. Será que agora podemos testar facilmente nossa classe? NovoUsuarioController novousuario = new NovoUsuarioController(); // que verificações faço aqui? Listagem 4. Removendo acoplamento com EnviadorDe . private EnviadorDe enviadorde ; public NovoUsuarioController(EnviadorDe enviadorde ) { this.enviadorde = enviadorde ; enviadorde .envia (usuario.get ()); 33

3 Utilizando Mocks Uma solução eficaz para o teste dessa nova versão da classe é o uso de mock objects, que nos permite isolar os testes das classes de um sistema de forma simples. Como muitos já conhecem, um mock object é um objeto falso criado com base em uma estrutura definida, que pode simular comportamentos de dependências e verificar a corretude na interação da classe testada com a mesma. No caso do exemplo, a classe NovoUsuarioController depende diretamente da classe EnviadorDe para cumprir suas responsabilidades. Ao invés de utilizarmos a classe EnviadorDe , usaremos outra, que finge fazer o que essa dependência deveria fazer, porém é mais simples e fácil de ser usada no ambiente de testes, por termos controle sobre ela. O código atual da classe NovoUsuarioController já está com um design bem melhor, que nos possibilita injetar um mock no lugar da dependência. Para fazer isso, precisaríamos estender a classe EnviadorDe e reescrever o método envia (), de tal forma que ele apenas fingisse enviar um . Essa invocação do método também seria registrada para depois ser usada na asserção do teste. Sendo assim, essa nova classe-filha seria utilizada para os testes. Apesar dessa solução funcionar, podemos usar algo mais elegante para evoluir o design da aplicação. Devemos refatorar: agora a classe NovoUsuarioController passará a receber como dependência (Listagem 6) uma referência para alguém que implemente uma nova interface chamada Enviador (Listagem 5) que possui um único método envia () declarado (o que pode ser feito através de uma IDE como o Eclipse, que oferece a refatoração automatizada Extract Interface ). Agora, durante o teste (Listagem 8), passaríamos um objeto especial, da classe Enviador Dummy, que implementa a interface Enviador e simula um envio de (Listagem 7). Esse dummy é um mock menos inteligente, já que não verifica e nem realiza nenhuma operação. No teste, basta fazer uma asserção para verificar se o destinatário do que foi utilizado dentro do mock é igual ao do usuário que está sendo cadastrado. Listagem 5. Interface Enviador. public interface Enviador { void envia (string para); Listagem 6. Troca da dependência da classe Enviador para a interface Enviador. private Enviador enviadorde ; public NovoUsuarioController(Enviador enviadorde ) { this.enviadorde = enviadorde ; enviadorde .envia (usuario.get ()); Listagem 7. Criação do EnviadorDe Dummy. public class EnviadorDe Dummy implements Enviador { private String enviadopara; public void envia (string para) { // simulação de envio de this.enviadopara = para; public String getenviadopara() { return this.enviadopara; Listagem 8. Teste usando um mock object. EnviadorDe Dummy mock = new EnviadorDe Dummy(); NovoUsuario novousuario = new NovoUsuario(mock); Assert.assertEquals(usuario.get (), mock.getenviadopara()); Apesar de ter sido fácil criar o mock para a interface Enviador como um objeto bobo (dummy object), muitas vezes a dependência pode ter métodos que são difíceis de serem simulados, pois retornam outros objetos, por exemplo. Outra dificuldade que podemos enfrentar é quando a unidade que estamos testando possui muitas dependências, o que acarretaria na criação de mocks para cada uma delas. Ao enfrentarmos estas situações uma boa opção seria a utilização de ferramentas que criam em tempo de execução objetos mockados para serem utilizados e nos testes de unidade. Criação automatizada de mocks Um dos frameworks que vem se destacando no mercado é o Mockito ( por ser simples e de fácil entendimento, considerado uma evolução em relação às outras alternativas. Utilizaremos ele para mockar nossa dependências, mas, como visto na edição 31 da Mundoj, o Jmock é uma outra excelente opção Para utilizarmos o mockito, basta fazer o download no site (ver referências) e colocar o mockito-all-x.x.x.jar no classpath da aplicação. O código de teste com o uso do Mockito está apresentado na Listagem

4 Listagem 9. Mock de dependências com mockito. Criar mocks utilizando frameworks do tipo Mockito torna-se uma tarefa muito simples e que pode nos levar a acreditar que nosso design está simples e extensível. Porém, na maioria das vezes, isso indica um cenário em que o código está muito acoplado e ruim, um sinal de que a unidade que estamos testando talvez esteja fazendo mais do que deveria por ter muitas dependências. No caso de encontrar esse tipo de problema, o melhor a se fazer é refatorar essa classe de forma a diminuir suas dependências, separando as responsabilidades e testando cada uma das novas classes individualmente. Enviador mock = Mockito.mock(Enviador.class); NovoUsuarioController novousuario = new NovoUsuarioController(mock); Mockito.verify(mock).envia (usuario.get ()); E se usássemos TDD? Como sabemos, Test-Driven Development é o nome dado a prática de criar os testes antes mesmo de escrevermos o código que queremos que seja testado. Muitos citam que sua grande vantagem é que dessa forma não teremos código que não possua teste, mas essa realmente não é a única vantagem. O primeiro passo para utilizar o Mockito é pedir para que ele crie através do seu método principal, o método mock(), um objeto mockado a partir de uma interface ou classe. Em nossos testes precisamos de um mock da interface Enviador, que é obtida invocando Mockito.mock(Enviador.class). Uma das principais características do Mockito é que quando criamos algum mock não precisamos definir antecipadamente quais métodos serão invocados nele, como seria feito se utilizásemos um stub. Em seguida, basta passarmos a dependência para a classe NovoUsuarioController e depois da execução do método fazemos a verificação para saber quais métodos do mock foram chamados no método adiciona(), comprovando que o método realmente invoca a funcionalidade para envio de quando o cadastro é finalizado. Isso é feito utilizando o método verify() da classe Mockito. No teste da Listagem 9 verificamos se o método envia () foi invocado recebendo como parâmetro a propriedade do objeto Usuario que está sendo cadastrado. O Mockito pode ajudar em muitas tarefas durante o desenvolvimento de testes de unidade. Considere que o cenário de teste em que método envia- () deve retornar uma exceção quando o de destino indicado for inválido. Um teste utilizando Mockito que verifica esse comportamento está representado na Listagem 10. No exemplo, o comportamento esperado para a classe NovoUsuarioController seria enviar uma exceção do tipo IllegalArgumentException Listagem 10. Teste mais avançado utilizando mockito. (expected = IllegalArgumentException.class) public void retornaexcecaoquando forinvalido() { usuario.set ( lucas.souza#caelum.com.br ); usuario.setusuario( lucas.souza ); usuario.setsenha( ); Enviador mock = Mockito.mock(Enviador.class); Mockito.doThrow(new IllegalArgumentException()).when(mock).envia (usuario.get ()); NovoUsuarioController novousuario = new NovoUsuarioController(mock); A vantagem de fazer os testes primeiro é que não precisaríamos repensar todo o design da nossa aplicação como exemplificado no exemplo deste artigo. Se tivéssemos guiado nosso desenvolvimento a partir dos testes, terminaríamos com um design mais simples, abstrações mais bem definidas e códigos mais reutilizáveis. E por consequência ganharíamos a confiança no código implementado a partir dos próprios testes. No artigo, para obter um design elegante e simples, várias vezes tivemos que refatorar o código e o teste. Utilizando TDD também faríamos refatorações, que é uma ótima prática, mas com certeza chegaríamos no design ideal bem mais facilmente do que fazendo os testes depois. Por que esse design melhorado já apareceria desde cedo? Vamos ilustrar isso escrevendo o teste para a classe NovoUsuarioController, considerando que ainda não implementamos nem essa classe, nem o enviador de . A Listagem 11 esboça o início dessa situação. Listagem 11. Mock de dependências com mockito. NovoUsuarioController novousuario = new NovoUsuarioController(); // aqui preciso testar se o foi enviado. Como? Escrevendo o teste dessa Listagem 11, logo perceberíamos duas coisas: precisamos criar a classe NovoUsuarioController e necessitamos que ela tenha um método que adiciona um usuário. Isso já mostra como o teste guia também a criação de como a classe interage com seus clientes. Depois disso, como verificar se o foi enviado? De alguma forma precisamos de um objeto (um mock?) que vá dizer se foi tentado enviar um para o paulo.silveira@caelum.com.br. Esse objeto de alguma forma tem de estar relacionado com o NovoUsuarioController. Para fazer isso, passaremos esse objeto via construtor (poderia ser de outra forma, 35

5 como usando um método setter) para o controller. A fim de tornar mais fácil o processo de criar um mock para esse objeto, será criada uma interface para abstrair seu comportamento. Dado esse raciocínio, cairíamos diretamente num código muito semelhante ao da Listagem 9. Outra prova de como o TDD auxilia no design é que dificilmente teríamos usado o DaoFactory com métodos estáticos, pois perceberíamos que seria complicado conseguir simular essa parte na hora de criar um teste que verificasse se o DAO foi acionado ao adicionar um novo usuário. Normalmente percebe-se que é importante tornar o código mais desacoplado, por exemplo, recebendo no construtor o UsuarioDAO. Ou talvez outra solução, como recebê-lo através de um setter ou ainda utilizando uma busca em um registro. Porém, a injeção via construtor acaba sendo uma alternativa muito popular e demonstra vantagens em relação a outras abordagens de inversão de controle, já que isso impede que o objeto seja instanciado e fique num estado inconsistente, sem ter suas dependências preparadas. São por esses motivos que algumas pessoas chegam até a se referir ao TDD como Test-Driven Design. TDD e injeção de dependências Injeção de dependências é uma maneira de diminuir acoplamento, na qual a classe recebe suas dependências externamente, através de métodos ou construtores, ao invés de criá-las de forma interna. Evitar que classes busquem suas dependências torna possível construirmos testes de unidade que foquem apenas no comportamento da classe que está sendo testada, ou seja, qualquer mudança que ocorra em alguma dependência da classe testada não deveria impactar no teste. Com TDD alcançamos isso de maneira mais fácil, porque quando vamos escrever os testes percebemos a necessidade de torná-los de fato um teste de unidade. Por exemplo, no caso do teste da adição de um novo usuário perceberíamos prematuramente que o envio de não deveria ser um envio real que utiliza um SMTP de verdade. No exemplo de teste apresentado, a classe NovoUsuarioController deve ser independente do comportamento da classe EnviadorDe . Isso nos levaria a perceber a necessidade de desacoplar o código através da injeção da dependência. Considerações finais O teste de unidade já se provou essencial, mas sabemos como é difícil criar esses testes se o código já está pronto: ele pode estar (e provavelmente está) muito acoplado, sendo difícil evitar que os testes de unidade se tornem de integração. Muitos desistem de criar testes por essa dificuldade inicial, ao tentar criar testes para código já existente. O uso do TDD, além de trazer o benefício de garantir que você vai ter uma boa cobertura de testes e só vai escrever o que realmente é necessário, implica em um design mais desacoplado. Isso pode ser explicado por um motivo muito simples: sem design desacoplado, criar um teste de unidade é bastante difícil. Logo, o TDD de certa maneira o força a ir em direção a inversão de controle, muitas vezes através de injeção de dependências, de uma maneira clara e natural. Referências Independentemente se usamos algum framework de injeção de dependências (Spring, Guice, Pico etc.) no ambiente de produção, nos testes é importante utilizarmos essa práticaa para que os objetos mockados possam substituir as dependências, isolando assim a unidade que estamos testando. 36

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

MOCKITO - - Alexandre Gazola (alexandregazola@gmail.com / Twitter: @alexandregazola)

MOCKITO - - Alexandre Gazola (alexandregazola@gmail.com / Twitter: @alexandregazola) cinto de utilidades mocks_ CRIAÇÃO DE MOCKS COM MOCKITO No último artigo desta coluna, falamos de uma forma geral sobre diversas ferramentas para suporte a testes automatizados. Dentre as ferramentas mencionadas,

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

TESTES AUTOMATIZADOS COM JUNITE MOCKITO

TESTES AUTOMATIZADOS COM JUNITE MOCKITO TESTES AUTOMATIZADOS COM JUNITE MOCKITO Jaime William Dias 12, Dener Barranco 1, Douglas Delapria 1 1 Universidade Paranaense (Unipar) 2 Universidade Estadual de Maringá (UEM) Paranavaí PR Brasil dener_barranco@hotmail.com,

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Fixture-Factory. Criando objetos para seus testes. Como criar objetos através de templates para serem utilizados como massa de dados em seus testes.

Fixture-Factory. Criando objetos para seus testes. Como criar objetos através de templates para serem utilizados como massa de dados em seus testes. fixture-factory_ Fixture-Factory Criando objetos para seus testes Como criar objetos através de templates para serem utilizados como massa de dados em seus testes. Começamos testando métodos simples, mas

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

5. Métodos ágeis de desenvolvimento de software

5. Métodos ágeis de desenvolvimento de software Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

NOKIA. Em destaque LEE FEINBERG

NOKIA. Em destaque LEE FEINBERG Em destaque NOKIA LEE FEINBERG A Nokia é líder mundial no fornecimento de telefones celulares, redes de telecomunicações e serviços relacionados para clientes. Como Gerente Sênior de Planejamento de Decisões

Leia mais

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco). Permissões de compartilhamento e NTFS - Parte 2 Criando e compartilhando uma pasta - Prática Autor: Júlio Battisti - Site: www.juliobattisti.com.br Neste tópico vamos criar e compartilhar uma pasta chamada

Leia mais

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem

22 DICAS para REDUZIR O TMA DO CALL CENTER. em Clínicas de Imagem para REDUZIR O TMA DO CALL CENTER em Clínicas de Imagem Objetivo Um atendimento eficiente e personalizado é um dos principais fatores que o cliente leva em consideração ao iniciar um processo de fidelização

Leia mais

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.

1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. 1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

www.marketingdigitalexpress.com.br - Versão 1.0 Página 1

www.marketingdigitalexpress.com.br - Versão 1.0 Página 1 www.marketingdigitalexpress.com.br - Versão 1.0 Página 1 Remarketing é um recurso utilizado para direcionar anúncios personalizados para as pessoas que visitaram uma determinada página do seu site ou clicaram

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

Uma Publicação Grupo IPub. Guia. redes sociais para clínica de estética. Guia de redes sociais para clínica de estética

Uma Publicação Grupo IPub. Guia. redes sociais para clínica de estética. Guia de redes sociais para clínica de estética Uma Publicação Grupo IPub Guia redes sociais para clínica de estética Guia de redes sociais para clínica de estética Conteúdo 1. Introdução 2. A força das redes sociais para clínica de estética 3. As redes

Leia mais

Gerenciamento de Contatos

Gerenciamento de Contatos Gerenciamento de Contatos O objetivo deste módulo é ajudar a gerenciar todos os contatos da empresa. Além dos dados mais importantes, o módulo permite cadastrar anotações e relacionar as tarefas e eventos

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

VVS Sistemas (21)3405-9500

VVS Sistemas (21)3405-9500 Índice Assunto Página Apresentação... 2 Funcionamento do Módulo... 3 Instalação do Módulo... 4 Configurações no C-Plus NF-e... 9 Acessando os arquivos... 11 Apresentação Apresentamos o módulo C-Plus NF-e

Leia mais

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc. Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço

Leia mais

Processo de Controle das Reposições da loja

Processo de Controle das Reposições da loja Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido

Leia mais

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1 TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

Guia Site Empresarial

Guia Site Empresarial Guia Site Empresarial Índice 1 - Fazer Fatura... 2 1.1 - Fazer uma nova fatura por valores de crédito... 2 1.2 - Fazer fatura alterando limites dos cartões... 6 1.3 - Fazer fatura repetindo última solicitação

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos

Ricardo Roberto de Lima UNIPÊ 2008.1 APS-I. Históricos e Modelagem Orientada a Objetos Históricos e Modelagem Orientada a Objetos Histórico Diversas metodologias e métodos surgiram para apoiar OO. Evolução a partir de linguagens C++ e SmallTalk. Anos 80 Anos 80-90: diversidade de autores.

Leia mais

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

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

edirectory Plataforma ios / Android

edirectory Plataforma ios / Android edirectory Plataforma ios / Android Levando seu site ao próximo nível Conheça o novo aplicativo do edirectory. E seja bem vindo a revolução em aplicativos para Diretórios Online. Mobile Completamente reestruturado

Leia mais

Documentação. Programa de Evolução Contínua Versão 1.72

Documentação. Programa de Evolução Contínua Versão 1.72 Documentação Programa de Evolução Contínua Versão 1.72 Sumário Resumo das Novidades... 3 Configuração das Novidades... 5 Exibição de variações nas listagens... 5 Novo Sistema de Lista de Desejos... 7 Resumo

Leia mais

LOGGING DE EVENTOS COM LOG4J

LOGGING DE EVENTOS COM LOG4J LOGGING DE EVENTOS COM LOG4J por Luiz Gustavo Stábile de Souza O que é logging? Fazer o logging de uma aplicação é uma das possíveis maneiras de debugá-la, registrando em algum meio (arquivo, enviando

Leia mais

Omega Tecnologia Manual Omega Hosting

Omega Tecnologia Manual Omega Hosting Omega Tecnologia Manual Omega Hosting 1 2 Índice Sobre o Omega Hosting... 3 1 Primeiro Acesso... 4 2 Tela Inicial...5 2.1 Área de menu... 5 2.2 Área de navegação... 7 3 Itens do painel de Controle... 8

Leia mais

ACOMPANHAMENTO GERENCIAL SANKHYA

ACOMPANHAMENTO GERENCIAL SANKHYA MANUAL DE VISITA DE ACOMPANHAMENTO GERENCIAL SANKHYA Material exclusivo para uso interno. O QUE LEVA UMA EMPRESA OU GERENTE A INVESTIR EM UM ERP? Implantar um ERP exige tempo, dinheiro e envolve diversos

Leia mais

Manual Sistema de Autorização Online GW

Manual Sistema de Autorização Online GW Sistema de Autorização Online GW Sumário Introdução...3 Acesso ao sistema...4 Logar no sistema...4 Autorizando uma nova consulta...5 Autorizando exames e/ou procedimentos...9 Cancelamento de guias autorizadas...15

Leia mais

Instalando o WordPress em localhost

Instalando o WordPress em localhost Instalando o WordPress em localhost WordPress sem Mistério LEE ARAUJO htto://wordpresssemmisterio.com.br Sumário Instalando o WordPress em Localhost... 2 O Servidor web... 3 Iniciando o servidor... 6 Criação

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Atualizaça o do Maker

Atualizaça o do Maker Atualizaça o do Maker Prezados Clientes, Nós da Playlist Software Solutions empresa líder de mercado no desenvolvimento de software para automação de rádios - primamos pela qualidade de nossos produtos,

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!!

Apresentação. Nossa sugestão é que você experimente e não tenha medo de clicar!!! Apresentação Este manual é uma orientação para os participantes de cursos no ambiente Moodle do INSTITUTO PRISMA. Tem como objetivo orientar sobre as ações básicas de acesso e utilização do ambiente virtual

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

Gerenciador de Congressos de Iniciação Científica Manual de Instruções

Gerenciador de Congressos de Iniciação Científica Manual de Instruções Pág. 1 Autores Gerência de Redes e Sistemas Versão Data 1. Apresentação Este é um produto desenvolvido pela equipe da Gerência de Redes e Sistemas da FARN, atualmente estruturada com o

Leia mais

O papel do CRM no sucesso comercial

O papel do CRM no sucesso comercial O papel do CRM no sucesso comercial Escrito por Gustavo Paulillo Você sabia que o relacionamento com clientes pode ajudar sua empresa a ter mais sucesso nas vendas? Ter uma equipe de vendas eficaz é o

Leia mais

O Novo Portal Etilux também foi criado para ser um facilitador para nossa Força de Vendas, abrangendo as seguintes características:

O Novo Portal Etilux também foi criado para ser um facilitador para nossa Força de Vendas, abrangendo as seguintes características: INTRODUÇÃO: O Novo Portal Etilux também foi criado para ser um facilitador para nossa Força de Vendas, abrangendo as seguintes características: Ser uma alternativa para substituição dos volumosos e pesados

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

GUIA INTEGRA SERVICES E STATUS MONITOR

GUIA INTEGRA SERVICES E STATUS MONITOR GUIA INTEGRA SERVICES E STATUS MONITOR 1 - Integra Services Atenção: o Integra Services está disponível a partir da versão 2.0 do software Urano Integra. O Integra Services é um aplicativo que faz parte

Leia mais

3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis

3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis 3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis O que é um e- mail bem sucedido? É aquele e- mail que você recebe o contato, envia o e- mail para o cliente e ele te responde. Nós não estamos

Leia mais

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos

Microsoft Access: Criar relações para um novo banco de dados. Vitor Valerio de Souza Campos Microsoft Access: Criar relações para um novo banco de Vitor Valerio de Souza Campos Conteúdo do curso Visão geral: relações são essenciais Lição: inclui oito seções Tarefas práticas sugeridas Teste Cartão

Leia mais

3.5. Cuidado com o modelo anêmico

3.5. Cuidado com o modelo anêmico 3.5. Cuidado com o modelo anêmico public Periodo adiaumasemana() { Calendar novofim = (Calendar) this.fim.clone(); novofim.add(calendar.day_of_month, 7); return new Periodo(inicio, novofim); E, com uma

Leia mais

1 Natuur Online Cadastre-se Nome, Login E-mail Cadastrar.

1 Natuur Online Cadastre-se Nome, Login E-mail Cadastrar. 1 Essa é a tela de acesso do Natuur Online, clique aqui para acessar o site e siga o passo-apasso abaixo. Se esse é o seu primeiro acesso, clique em Cadastre-se. 2 - Preencha os dados solicitados com Nome,

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes Resumo Este trabalho apresenta uma infra-estrutura para gerenciamento de eventos científicos acadêmicos na

Leia mais

Manual Administrador - Mídia System

Manual Administrador - Mídia System Manual Administrador - Mídia System Logo após cadastrarmos sua Empresa em nosso sistema, será enviado um e-mail confirmando as informações de acesso do Administrador do sistema. Obs: Caso não tenha recebido

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item Sites da web. Servidor WEB Desenvolvedores de sites que querem aprender ou testar ASP, ou mesmo profissionais que precisam desenvolver páginas ASP ou ASP.Net, não precisam necessariamente ter um servidor na web com

Leia mais

Como incluir artigos:

Como incluir artigos: Como incluir artigos: O WordPress é uma ferramenta muito flexível, com muitas variações e ajustes que podem torná-lo algo muito simples e também muito sofisticado conforme os recursos que são configurados

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas

Leia mais

Se acontecer algum problema no teste da conta tente configurar da seguinte maneira:

Se acontecer algum problema no teste da conta tente configurar da seguinte maneira: 1) Cria-se o e-mail na task 2) Cria-se o e-mail no Gmail seguindo manual abaixo (ir também dentro do painel do Gmail em conta e habilitar acesso ao aplicativo) 3) Configura o outlook a. Nome: nome usuário

Leia mais

PROGRAMANDO EM C# ORIENTADO A OBJETOS

PROGRAMANDO EM C# ORIENTADO A OBJETOS PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Introdução... 2. Contratando o produto Link2NFe... 2. Assistente de configuração de emissor... 3. Configurações Avançadas do Emissor...

Introdução... 2. Contratando o produto Link2NFe... 2. Assistente de configuração de emissor... 3. Configurações Avançadas do Emissor... 0 Conteúdo Introdução... 2 Contratando o produto Link2NFe.... 2 Assistente de configuração de emissor.... 3 Configurações Avançadas do Emissor... 5 Conhecendo o Gerenciador de Recursos da Link2business....

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

SISTEMA DE MANUTENÇÃO E SUPORTE DE INFORMÁTICA SMSI TUTORIAL

SISTEMA DE MANUTENÇÃO E SUPORTE DE INFORMÁTICA SMSI TUTORIAL SISTEMA DE MANUTENÇÃO E SUPORTE DE INFORMÁTICA SMSI TUTORIAL Pequeno tutorial para ajudá-lo a conhecer e trabalhar com o sistema SMSI. Quaisquer dúvidas e/ou sugestões que porventura possam advir após

Leia mais

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008

Como melhorar a Qualidade de Software através s de testes e nua. Cláudio Antônio de Araújo 22/11/2008 Como melhorar a Qualidade de Software através s de testes e integração contínua. nua. Cláudio Antônio de Araújo 22/11/2008 Objetivos Fornecer uma visão geral da área de testes de software, com ênfase em

Leia mais

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014.

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014. A importância da comunicação no gerenciamento de projetos de softwares: reflexões teóricas Lucas Krüger lucas_kruger-@hotmail.com Resumo: Esse artigo objetiva estudar a comunicação entre cliente e desenvolvedor

Leia mais

Utilizando a ferramenta de criação de aulas

Utilizando a ferramenta de criação de aulas http://portaldoprofessor.mec.gov.br/ 04 Roteiro Utilizando a ferramenta de criação de aulas Ministério da Educação Utilizando a ferramenta de criação de aulas Para criar uma sugestão de aula é necessário

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

MANUAL TISS Versão 3.02.00

MANUAL TISS Versão 3.02.00 MANUAL TISS Versão 3.02.00 1 INTRODUÇÃO Esse manual tem como objetivo oferecer todas as informações na nova ferramenta SAP que será utilizada pelo prestador Mediplan, a mesma será responsável para atender

Leia mais

Passo-a-Passo para Criação de Conta no site Griaule e Download do Programa SDK e da Licença Fingerprint SDK 2009

Passo-a-Passo para Criação de Conta no site Griaule e Download do Programa SDK e da Licença Fingerprint SDK 2009 1 Importante: Passo-a-Passo para Criação de Conta no site Griaule e Download do Programa SDK e da Licença Fingerprint SDK 2009 É importante salientar que a Licença SDK não trabalha sozinha. Para que que

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG

UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG UNIVERSIDADE FEDERAL DE GOIÁS CERCOMP (CENTRO DE RECURSOS COMPUTACIONAIS) TUTORIAL DE USO DO WEBMAIL - UFG Página 1 de 26 Sumário Introdução...3 Layout do Webmail...4 Zimbra: Nível Intermediário...5 Fazer

Leia mais

Apresentação do Treinamento

Apresentação do Treinamento Apresentação do Treinamento COBIT 5 Foundation 1 O COBIT 5 fornece um framework completo que ajuda as organizações a alcançar seus objetivos para a Governança e Gestão da TI Empresarial. Em outras palavras,

Leia mais

Curso - Padrões de Projeto Módulo 2: Padrões de Criação

Curso - Padrões de Projeto Módulo 2: Padrões de Criação Curso - Padrões de Projeto Módulo 2: Padrões de Criação Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

Leia mais

Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014

Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014 Tutoriais de apoio para a migração do e-mail @pmmc.com.br para @se-pmmc.com.br Atualização: 30/04/2014 Sumário Introdução... 3 1. Redirecionando e-mails novos... 4 2. Fazendo backup e encaminhando e-mails

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

Manual do Google agenda. criação e compartilhamento de agendas

Manual do Google agenda. criação e compartilhamento de agendas Manual do Google agenda criação e compartilhamento de agendas 1 O que é o Google Agenda? Google Agenda é um serviço de agenda on line gratuito do Google, onde você pode anotar compromissos e tarefas, organizando

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Desvios de redações efetuadas por alunos do Ensino Médio

Desvios de redações efetuadas por alunos do Ensino Médio Desvios de redações efetuadas por alunos do Ensino Médio 1. Substitua as palavras destacadas e copie as frases, tornando os fragmentos abaixo mais elegantes, além de mais próximos à língua padrão e à proposta

Leia mais