Ferramenta para Inclusão do Código de Testes na Documentação das Classes
|
|
- Nathalia Alencastre Fernandes
- 8 Há anos
- Visualizações:
Transcrição
1 Ferramenta para Inclusão do Código de Testes na Documentação das Classes Herbert Vieira 1, Jolienai Viegas 1, Eduardo Guerra 1, Fábio Silveira 2, Clovis Fernandes 1 1 Instituto Tecnológico de Aeronáutica (ITA), Praça Marechal Eduardo Gomes, 50 Vila das Acácias - CEP São José dos Campos SP, Brazil 2 Universidade Federal de São Paulo (UNIFESP), Rua Talim, 330 CEP São José dos Campos SP, Brazil {hebertvieira,jolienai,guerraem@gmail.com, fsilveira@unifesp.br, clovistf@uol.com.br Abstract. In agile methods for software development, where tests are part of the documentation, it is possible to state that they contains use examplesof that class under test and they are also always synchronized with the implemented logic. However, especially for developers that are not participating directly in the implementation, this is a source where is difficult to find the desired information. This paper proposes a tool to generate class documentation which enables the inclusion of testing code snippets, according to the developer's choice. Resumo. Nos métodos ágeis de desenvolvimento de software, em que os testes fazem parte da documentação, é possível afirmar que eles apresentam exemplos de uso das classes testadas e que estão sempre consistentes com o que está implementado. Porém, principalmente para desenvolvedores de fora do projeto, essa é uma fonte onde é difícil de localizar a informação desejada. Este trabalho propõe uma ferramenta, que ao gerar a documentação da classe, possibilita a inclusão de trechos de código de teste de acordo com a escolha do desenvolvedor. 1. Introdução Uma pesquisa realizada sobre a produção e o uso de documentação durante o processo de desenvolvimento revelou que a documentação gerada tem grande importância no desenvolvimento. Os desenvolvedores preferem a criação e utilização de documentação simples e relevante, tendendo a ignorar documentações complexas e custosas (Nascimento, 2008). A partir desta pesquisa é possível concluir que os desenvolvedores procuram encontrar um caminho para expressar informações em um menor espaço e de forma que permita fácil atualização. Segundo Fowler (2003), as metodologias ágeis são menos concentradas em documentação. Normalmente é criada uma quantidade menor de documentos para uma dada tarefa, concentrando-se em uma maior clareza do código-fonte do programa. Com a criação de testes de unidade, estes acabam sendo utilizados como documentação da classe. A grande vantagem dos testes como documentação em um ambiente ágil é que estão sempre atualizados. Porém, dependendo da complexidade do sistema e da elevada
2 quantidade de cenários de testes que possam vir a existir, muitas vezes pode ser difícil a localização de informações dentro de uma classe de teste. Isso é ainda mais crítico quando o desenvolvedor não faz parte da equipe que criou o componente do qual está sendo buscada a informação. O objetivo do presente trabalho é propor uma ferramenta que faz a inclusão de trechos de código de testes de unidade na documentação da classe testada. Dessa forma, pretende-se criar uma forma de documentação fácil de ser mantida, de fácil navegabilidade e sempre sincronizada com o código fonte. Devido a essas características, ela seria adequada para o uso dentro de uma metodologia ágil. 2. Testes em Ambiente Ágil Segundo Leal (2009), em um ambiente ágil, a criação de testes de unidade é uma prática muito comum. No Test-driven Development (TDD), muito utilizada no desenvolvimento das aplicações nesse contexto, os testes já são criados naturalmente no processo. Essa técnica usa uma abordagem evolutiva na qual o desenvolvedor escreve o teste antes de escrever o código funcional necessário para satisfazer aquele teste (Vieira, 2009). No TDD, desenvolvedores usam testes automatizados para guiar o projeto do sistema durante o desenvolvimento. Os programadores fazem continuamente pequenas decisões aumentando as funcionalidades do software a uma taxa relativamente constante. A cada adição, todos estes casos de teste devem ser executados com sucesso para o novo código ser considerado totalmente implementado. Segundo um estudo comparativo, com a criação dos testes depois da codificação, usando TDD a complexidade do código fonte acaba sendo menor (Canfora et al. 2009). Segundo Mugridge (2003), como conseqüência do uso do TDD, tem-se que o código é escrito de maneira testável isoladamente, pois geralmente, códigos escritos da maneira tradicional, possuem alto acoplamento e uma pobre orientação a objetos. 3. Documentação de Software Em um ambiente ágil de desenvolvimento a documentação deve ser pouca e valiosa. No estudo realizado em Nascimento (2008) sobre a utilização de documentos, apenas 6% dos entrevistados responderam que dispendem muito tempo lendo documentação e 50% que gastam muito tempo com leitura de código fonte. Esses dados ressaltam a importância de uma boa estruturação e clareza do código fonte. Ter um modelo eficiente de documentação tem fundamental importância no processo de desenvolvimento, devido a isso a documentação deve ser simples, eficaz e de fácil entendimento. As próximas subseções exploram mais o papel da documentação no contexto de metodologias ágeis. 3.1 Tipos de Documentação Muitas pessoas acreditam erroneamente que em metodologias ágeis nenhuma documentação é gerada. De acordo com o Agile Manifesto (2001), deve ser dada preferência a se ter software funcionando do que a criar uma documentação detalhada, porém isso não significa que não se deve ter documentação nenhuma, mas que se deve
3 documentar somente o necessário, de forma simples e de fácil manutenção (Ambler, 2006). Basicamente, os tipos de documentos nas metodologias ágeis podem ser classificados em duas categorias distintas: (a) documentação para uso interno no projeto cujo objetivo é a comunicação entre os membros da equipe; e (b) documentação para ser entregue ao final do projeto, a qual faz parte do produto que está sendo entregue para o cliente. O segundo tipo de documento é encarado como parte do produto final e sua confecção deve ser planejada como qualquer funcionalidade do sistema (Poppendieck, 2003). O primeiro tipo citado, quando necessário, deve ser valioso e enxuto para não comprometer a agilidade do processo (Ambler, 2002). 3.2 Documentação Baseada em Comentários da Classe Como alternativa para deixar a informação de documentação próxima ao código fonte, foram criadas ferramentas que geram a documentação do sistema através de comentários realizados no mesmo. Essa abordagem pode ser usada para o compartilhamento de informações dentro da equipe ou quando o produto é um componente cuja documentação da API deve ser entregue. Uma ferramenta bastante utilizada que segue essa abordagem é o Javadoc (Dantas, 2008). A ferramenta JavaDoc foi criado pela empresa Sun Microsystems; ela analisa as declarações e comentários de arquivos fonte e produz um conjunto de páginas HTML, descrevendo as classes, interfaces, construtores, métodos e campos, além de permitir customizações com o uso de Doclet. Segundo Dantas (2008), dessa forma é possível criar com simplicidade e flexibilidade a documentação de programas desenvolvidos nessa linguagem. Os comentários para serem incluídos na documentação devem estar entre as declarações /* e *\. O texto colocado entre estes caracteres são incluídos na documentação gerada. Dentro desses elementos também existe a possibilidade de se utilizar tags como, por explica o significado de cada parâmetro de um método, que documenta o significado do retorno do método. Os comentários na classe e no método são configurados de forma organizada e de fácil visualização. Essa abordagem permite que os desenvolvedores possam navegar facilmente na documentação gerada ou consultar as informações diretamente no código. 3.3 Uso do Teste como Documentação Os testes não são escritos apenas para o computador, e sim, para que futuros desenvolvedores possam entender o funcionamento da classe (Beck, 2000). Nesse contexto o teste atua como sendo uma parte da documentação do sistema. Isso ressalta a importância de se manter a qualidade também no código de testes (Guerra and Fernandes 2007). Os casos de testes, que podem ser utilizados para consulta do comportamento esperado para as classes, ficam definidos em arquivos separados da própria classe. Existem ferramentas que permitem geração de documentação a partir de comentários no próprio código. Os principais problemas enfrentados pelos desenvolvedores em relação a esse modelo de documentação são: As informações de teste ficam distantes das classes devido a estarem em arquivos separados (Hazrati 2009);
4 Os casos de teste não possuem o principal objetivo de documentar e por isso não são facilmente navegáveis e as informações não são facilmente encontradas. Pela documentação da classe, existe a dificuldade no entendimento dos métodos sem exemplos de utilização dos mesmos (Hazrati 2009); Documentação da classe pode ficar desatualizada quando manutenções são realizadas e acabam não sendo documentadas (Hazrati 2009). 4. Ferramenta Proposta A ferramenta proposta chamada JUnitInDoc tem como principal objetivo a inclusão de exemplos de utilização de métodos das classes extraídos da classe de testes de unidade na documentação, gerando uma única fonte de referência mais completa e sincronizada com o código. Ela está definida como uma Doclet, que são programas escritos na linguagem de programação Java que usam a API Doclet para especificar o conteúdo e o formato da saída da ferramenta Javadoc. 4.1 Estrutura da Ferramenta A estrutura de funcionamento de ferramenta está ilustrada na Figura 1 A ferramenta possui um arquivo de configuração onde são configurados os diretórios dos códigos fonte a serem documentados e dos testes de unidade. A partir dessa definição, a ferramenta percorre as classes do programa e as classes de testes de unidade gerando um XML, no formato representado na Figura 2, de cada classe com informações dos métodos e com exemplos de utilização desses. Este XML será formatado por um XSL que irá transformar o documento XML em formato HTML para que o mesmo possa ser exibido em um navegador. O uso de XSL torna possível customizar a exibição das informações, permitindo filtrar somente as informações desejadas pelos profissionais. Fig. 1 Modelo Gráfico do Funcionamento da Ferramenta
5 <?xml version="1.0" encoding="utf-8"?> <classe> <pacote></pacote> <nome></nome> <construtores> <construtor></construtor> </construtores> <metodos> <metodo> <nome></nome> <obs></obs> <parametros> <param> <var></var> <tipo></tipo> </param> </parametros> <retorno> <tipo></tipo> <obs></obs> </retorno> <codigo_exemplo></codigo_exemplo> </metodo> </metodos> </classe> 4.2 Exemplo de Utilização Fig.2 Estrutura do Documento XML gerado pela ferramenta Para exemplificar o funcionamento da ferramenta, será utilizada a classe Baskara, cujo código está apresentado na Fig.3, que realiza o cálculo das raízes de uma equação do segundo grau. Ela possui um construtor onde são passados os valores de A, B e C e dois métodos, sendo um chamado de CalculaBaskara(), responsável por calcular os valores dos atributos X1 e X2, e outro chamado CalculaDelta(), responsável por calcular e atribuir o valor no atributo delta da classe. public class Baskara { public double X1; public double X2; public double Delta; public final double a, b, c; public Baskara(double a, double b, double c) { this.a = a; this.b = b; this.c = c; /** * O método realiza o calculo e seta os valores de X1 e X2 */ public void calculabaskara() Delta = calculadelta(); X1 = (-b + Math.sqrt(Delta)) / (2 * a); X2 = (-b - Math.sqrt(Delta)) / (2 * a); /** o valor de delta */ public double calculadelta(){ double d = 0; d = ((b * b) - (4 * a * c)); return d; Fig. 3 Classe Baskara
6 Os métodos da classe Baskara serão utilizados para exemplificar a inserção do código de teste na documentação. Para que isso seja possível, é preciso adicionar no código do teste de unidade, as que irão determinar o início e o fim respectivamente do código a ser inserido na documentação do método da classe. A Fig. 4 mostra a utilização das anotações nos teste de unidade da classe. O nome do método de teste deve seguir um padrão de nomenclatura para que a ferramenta consiga associar o teste de unidade com o método da classe. O padrão adotado foi [test] + [nome do método da classe] + [número seqüencial do teste]. Esse padrão foi adotado para diminuir o número de configurações necessárias, porém outras soluções, como o uso de anotações e configurações no doclet, estão sendo consideradas em versões futuras para não amarrarem o nome dos casos de teste. public class testequacao2grau extends TestCase { public void testcalculabaskara1(){ //@JdocBegin double a=4, b=-8, c=0, valorx1=0, valorx2=0; Baskara calc1 = new Baskara(a, b,c); calc1.calculabaskara(); valorx1 = calc1.x1; valorx2 = calc1.x2; //@JdocEnd double resultx1 = 2.0; double resultx2 = 0.0; assertequals(valorx1, resultx1); assertequals(valorx2, resultx2); public void testcalculadelta1(){ //@JdocBegin double a=4, b=-8, c=0, delta=0; Baskara calc1 = new Baskara(a, b,c); delta = calc1.calculadelta(); //@JdocEnd double resultdelta = 64.0; assertequals(delta, resultdelta); Fig.4 Teste de unidade com Junit Para gerar a documentação, basta executar o Javadoc configurando a Doclet da ferramenta proposta. A Fig.5 mostra o trecho da documentação gerada pela ferramenta com os dois métodos da classe Baskara. Pode-se observar que nos métodos foram inseridos os trechos do código dos testes de unidade respectivos. A principal vantagem da utilização da ferramenta proposta, que pode ser claramente percebida, é que ela gera uma única documentação com as informações da classe juntamente com o código de exemplo de sua utilização extraído do teste de unidade. Dessa forma, a cada nova interação a documentação do projeto estará sincronizada com o código. Outro fator a ser ressaltado é o pequeno esforço que deve ser empregado para a criação da documentação, tornando-a adequada para uso em conjunto com metodologias ágeis. Vale ressaltar que a ferramenta apresentada ainda se encontra em fase de desenvolvimento e que ainda não está finalizada para ser utilizada em ambiente de produção. Outras opções serão adicionadas na ferramenta visando torná-la mais flexível
7 e para simplificar o seu uso, além do teste da mesma em um ambiente real. Porém, os resultados obtidos até o momento são suficientes para ilustrar como a abordagem pode ser empregada para a geração de uma documentação de fácil manutenção e que não consome muito esforço da equipe de desenvolvimento. 5. Conclusão Fig.5- Trecho do Documento gerado Uma das propostas das metodologias ágeis é focar o esforço da equipe no produto final ao invés de na geração de documentação. Para dar segurança que esse código gerado atente seus objetivos e que refatorações não irão alterar comportamentos indevidamente, são utilizados testes de unidade, que muitas vezes são criados antes do próprio código através do TDD. Como os casos de teste criados acabam apresentando exemplos de como utilizar as classes em variados cenários e estão sempre em sincronia com o que está implementado, muitas vezes eles acabam sendo utilizados também como documentação da classe. Uma desvantagem dessa abordagem, é que devido ao número de casos de teste e sua separação das classes de produção, muitas vezes a informação procurada é difícil de ser localizada. Dentro desse contexto, o presente trabalho apresenta a proposta de uma ferramenta para geração de documentação que inclui trechos de casos de teste como exemplos de uso da classe de produção. A abordagem apresentada gera um esforço adicional muito pequeno por parte do desenvolvedor, o qual precisa apenas marcar os trechos de código que precisam ser incluídos. Dessa forma, quando um teste for modificado, essa mudança será refletida diretamente na documentação, gerando um pequeno esforço também para a manutenção da documentação. Pelos motivos
8 apresentados, chega-se a conclusão que a ferramenta é adequada para o uso em um ambiente ágil. Devido à ferramenta ainda estar em desenvolvimento, um trabalho futuro imediato é a geração de uma versão de produção da mesma. Com a implementação concluída, ela será utilizada em um projeto para validar o seu uso dentro de um ambiente real. 6. Bibliografia AGILE MANIFESTO, Manifesto for Agile Software Development, Disponível em < Acesso em: 10/03/2010. AMBLER, S. W. (2002) Agile Modeling: Effective Practices for extreme Programming and the Unified Process. Wiley, AMBLER, S. W. (2006) Examining the Agile Manifesto. Disponível em < Acesso em 08/04/2010 BECK, K. (2000) Extreme Programming: Explained, 1ª Ed. Boston: Addison Wesley. CANFORA, G.; VISEGGIO, C.; GARCIA, F.; PIATTINI, M. Measuring the impact of testing on codtructure in Test Driven Development. Tenth International Conference on Agile Processes and extreme Programming in Software Engineering (XP 2009), DANTAS, C. F. F. (2008) Javadoc. Universidade do Estado do Rio Grande do Norte. Mossoró. FOWLER, M. (2003). The New Methodology. Disponível em < Acesso em 15/03/2010. GUERRA, E.; FERANANDES, C. Refactoring Test Code Safely. In: ICSEA, 2007, Tahiti. ICSEA'07, HAZRATI, V. (2009) Two Types of Agile Documents - No More, No Less!. Disponível em: < Acesso em 14/03/2010 LEAL, I. G. (2009) Requisitos de Metodologias de Teste de Software para Processos Ágeis. Universidade Federal de Minas Gerais, Belo Horizonte. MUGRIDGE, R. (2003) Test Driven Development and the Scientific Method. University of Auckuland, New Zealand. Agile Development Conference, NASCIMENTO, G. V. (2008) Um Modelo de Referência para o Desenvolvimento Ágil de Software. Dissertação. (Conclusão de Mestrado) Universidade de São Paulo, São Paulo. POPPENDIECK, M.; POPPENDIECK, T. (2003) Lean Software Development: An Agile Toolkit. 3º Ed. New York. Addison-Wesley. SASSE, E. (2005). Test Driven-Development. Disponível em: < Acesso em: 29/03/2010. VIEIRA, R. M. (2009) Desenvolvimento de software embarcado utilizando a metodologia ágil FDD Desenvolvimento guiado por funcionalidades. Instituto Tecnológico de Aeronáutica. São José dos Campos.
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 maisESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE
ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através
Leia maisagility 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 maisFigure 2 - Nós folhas de uma árvore binária representando caracteres ASCII
A ocorrência tamanho ASCII codificação de Huffman é um A Codificação método de compactação de Huffman caracteres (American e a variável codificação dos usado símbolos Standard para por cada muitas no Code
Leia mais4.1. UML Diagramas de casos de uso
Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema
Leia maisTópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.
Métodos Ágeis Edes Garcia da Costa Filho edes_filho@dc.ufscar.br 1 Tópicos Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Extreme Programming (XP). Referências Bibliográficas. 2 Histórico
Leia maisFigura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?
Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade
Leia maisO 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 maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisMetadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados
1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,
Leia mais5.1. Análise Comparativa
5 Conclusões O objetivo desta dissertação foi apresentar o ambiente de autoria Composer, o qual é voltado para a criação de programas NCL, versão 3.0, para TV digital interativa. Da mesma forma que no
Leia maisOdyssey-MDA: Uma Ferramenta para Transformações de Modelos UML
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511
Leia maisEngenharia 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 maisIntegração de livros fiscais com o Microsoft Dynamics AX 2009
Microsoft Dynamics AX Integração de livros fiscais com o Microsoft Dynamics AX 2009 White paper Este white paper descreve como configurar e usar a integração de livros fiscais entre o Microsoft Dynamics
Leia maisBem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.
Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão. Você deve ter bons conhecimentos de estoque, UM e administração de posições
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso
Leia maisImplementando 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 maisCADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário
CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:
Leia maisEspecificação do Trabalho
Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,
Leia maisPlanejamento - 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 maisQuestões de Informática Prova Comentada Ministério Público da União
NOÇÕES DE INFORMÁTICA QUESTÕES COMENTADAS Prof.: Erion Monteiro Questões de Informática Prova Comentada Ministério Público da União Nível Superior Cargo 1 Analista Administrativo 11/9/2010 Sequencial 015
Leia maisUNIVERSIDADE 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 mais3. Fase de Planejamento dos Ciclos de Construção do Software
3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de
Leia maisCOORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0
COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.
Leia maisWebQualis 3.0 MANUAL CAPES/MEC. Diretoria de Avaliação - DAV
CAPES/MEC Diretoria de Avaliação - DAV WebQualis 3.0 Aplicativo para a classificação dos veículos de divulgação da produção científica da Pós-Graduação Brasileira MANUAL 2008 2 Fundação CAPES Presidente
Leia maisUnidade 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 maisDesenvolvimento em Ambiente Web. HTML - Introdução
Desenvolvimento em Ambiente Web HTML - Introdução O que é HTML? HTML é uma linguagem para descrever a estrutura de uma página WEB. Ela permite: Publicar documentos online com cabeçalhos, texto, tabelas,
Leia maisFATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes
FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes Vânia Somaio Teixeira 1,2, Marcio Eduardo Delamaro 1, Auri Marcelo Rizzo Vincenzi 3 1 Programa de Pós-graduação em Ciência da Computação
Leia maisResumo 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 maisEng Civil Washington Peres Núñez Dr. em Engenharia Civil pela Universidade Federal do Rio Grande do Sul
PESQUISA ANÁLISE DE CARACTERÍSTICAS DE QUALIDADE DE MISTURAS ASFÁLTICAS PRODUZIDAS NA ATUALIDADE NO SUL DO BRASIL E IMPACTOS NO DESEMPENHO DE PAVIMENTOS FLEXÍVEIS. MANUAL DE OPERAÇÃO DO BANCO DE DADOS
Leia maisUsando o do-file editor Automatizando o Stata
Usando o do-file editor Automatizando o Stata 1 O QUE É O EDITOR DE DO-FILE O Stata vem com um editor de texto integrado, o do-file editor (editor de do-files, em português), que pode ser usado para executar
Leia maisTransformação sobrenome + nome em nome completo utilizando Máquina de Turing
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Computabilidade e Complexidade de Algoritmos Prof. Ney Laert Vilar Calazans
Leia mais18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB
18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB Autor(es) HARLEI MIGUEL DE ARRUDA LEITE Orientador(es) PLÍNIO ROBERTO SOUZA VILELA Apoio Financeiro PIBIC/CNPQ
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisSistemas 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 maisConectar diferentes pesquisas na internet por um menu
Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A
Leia maisipea políticas sociais acompanhamento e análise 7 ago. 2003 117 GASTOS SOCIAIS: FOCALIZAR VERSUS UNIVERSALIZAR José Márcio Camargo*
GASTOS SOCIAIS: FOCALIZAR VERSUS UNIVERSALIZAR José Márcio Camargo* Como deve ser estruturada a política social de um país? A resposta a essa pergunta independe do grau de desenvolvimento do país, da porcentagem
Leia maisGerenciamento de Projetos Modulo VIII Riscos
Gerenciamento de Projetos Modulo VIII Riscos Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com Bibliografia* Project Management Institute. Conjunto de Conhecimentos em Gerenciamento
Leia maisQ-Acadêmico. Módulo CIEE - Estágio. Revisão 01
Q-Acadêmico Módulo CIEE - Estágio Revisão 01 SUMÁRIO 1. VISÃO GERAL DO MÓDULO... 2 1.1 PRÉ-REQUISITOS... 2 2. ORDEM DE CADASTROS PARA UTILIZAÇÃO DO MÓDULO CIEE... 3 2.1 CADASTRANDO EMPRESAS... 3 2.1.1
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6 EJB Enterprise Java
Leia maisManual do Usuário. Protocolo
Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................
Leia maisMANUAL MOODLE - PROFESSORES
MANUAL MOODLE - PROFESSORES VERSÃO 2.5 Faculdades Projeção FACULDADE PROJEÇÃO Prof. Oswaldo Luiz Saenger Presidente Prof.ª Catarina Fontoura Costa Diretora Geral das Unidades Educacionais Prof. José Sérgio
Leia maisResoluçã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 maisSEI Superintendência de Estudos Econômicos e Sociais da Bahia Av Luiz Viana Filho, 435-4ª avenida, 2º andar CAB CEP 41.750-300 Salvador - Bahia Tel.
SIDE Sistema de Dados Estatísticos AJUDA SEI Superintendência de Estudos Econômicos e Sociais da Bahia Av Luiz Viana Filho, 435-4ª avenida, 2º andar CAB CEP 41.750-300 Salvador - Bahia O QUE O NOSSO BANCO
Leia mais2 Engenharia de Software
20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite
Leia maisCriar as tabelas para um banco de dados
Treinamento Criar as tabelas para um banco de dados ANTES DE COMEÇAR O primeiro curso desta série, "Criar as tabelas de um novo banco de dados", forneceu uma lista de tabelas e campos para uso no banco
Leia maisGerenciamento da Integração (PMBoK 5ª ed.)
Gerenciamento da Integração (PMBoK 5ª ed.) O PMBoK diz que: O gerenciamento da integração do projeto inclui os processos e as atividades necessárias para identificar, definir, combinar, unificar e coordenar
Leia maisTópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.
Engenharia de Software Aula 06 Tópicos da Aula Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 26 Março 2012 Funcionais e não funcionais De usuário e do Engenharia de Estudo
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisGuia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Leia maisUnidade 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 maisGuia de publicação de imóveis
Guia de publicação de imóveis Como disponibilizar seus imóveis facilmente no Tá Tri Imóveis Porto Alegre, 01 de junho de 2011 imoveis@tatri.com.br http://www.tatri.com.br Índice Introdução...3 Sobre...3
Leia maisEngenharia de Software II
Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.
Leia maisPREVISÃO DE DEMANDA - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS
CONTEÚDO DO CURSO DE PREVISÃO DE DEMANDA PROMOVIDO PELA www.administrabrasil.com.br - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS - HORIZONTE
Leia maisSoluçõ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 maisREPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX
REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX Murilo Augusto Tosatti (ICV-Unicentro), Marcos Antonio Quináia (Orientador), e-mail: maquinaia@gmail.com. Universidade Estadual do
Leia maisProgramaçã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 maisApostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice
2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores
Leia maisGBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
Leia maisGráficos estatísticos: histograma. Série Software ferramenta
Gráficos estatísticos: histograma Série Software ferramenta Funcionalidade Este software permite a construção de histogramas a partir de uma tabela de dados digitada pelo usuário. Gráficos estatísticos:
Leia maisSIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS
SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS SANTA MARIA FATECIENS 2008 Este manual tem por finalidade apresentar as especificações detalhadas da aplicação de Cadastro de Funcionários,
Leia maisUnidade II MODELAGEM DE PROCESSOS
Unidade II 3 MODELAGEM DE SISTEMAS 1 20 A fase de desenvolvimento de um novo sistema de informação (Quadro 2) é um momento complexo que exige um significativo esforço no sentido de agregar recursos que
Leia maisEngenharia de Software II
Engenharia de Software II Aula 5 http://www.ic.uff.br/~bianca/engsoft2/ Aula 5-05/05/2006 1 Dúvidas da aula passada RUP (Rational Unified Process) é uma ferramenta ou um processo? Resposta: os dois. O
Leia maisTeste 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 maisDescrição do Produto. Altus S. A. 1
Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração
Leia maisAná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 maisPrincí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 maisDesenvolvimento de uma Etapa
Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades
Leia mais12.1 - Inserção de Ponto de Entrada. Autoenge Módulo Automação Página 1
12 - Módulo Automação Residencial - Autopower Manual de utilização Módulo Automação Residencial Para maiores informações, acesse www.autoenge.com.br ou por email suporte@autoenge.com.br 12.1 - Inserção
Leia maisUtilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação
Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação Use of UML modeling in a management system for a food franchising Richard B. N. Vital, Tatiane M. Vital.
Leia maisESTUDO AVALIATIVO DE ACESSIBILIDADE E USABILIDADE APLICADO AO AMBIENTE WEB.
ESTUDO AVALIATIVO DE ACESSIBILIDADE E USABILIDADE APLICADO AO AMBIENTE WEB. Rogério Albuquerque Ribeiro, Claudete Werner Universidade Paranaense (Unipar) Paranavaí - PR - Brasil albuquerque.rogerio@icloud.com
Leia mais6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes
6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes A ferramenta MAS-ML Tool surgiu com o objetivo de viabilizar o processo de desenvolvimento proposto na Seção anterior, implementando
Leia maisBem-vindo ao tópico sobre administração de listas de preços.
Bem-vindo ao tópico sobre administração de listas de preços. Nesse tópico, você aprenderá a administrar listas de preços no SAP Business One. Sua empresa atualiza múltiplas listas de preços para fornecer
Leia maisModelagem de Sistemas
Capítulo 5 Modelagem de Sistemas slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1 Tópicos Apresentados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais
Leia mais1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços
1 Introdução Nos últimos anos, houve um aumento notável de demanda por plataformas com suporte a diferentes mídias. Aplicações manipulando simultaneamente texto, vídeo e áudio são cada vez mais comuns.
Leia maisSegurança Patrimonial - Sistema de Informações para Proteção Patrimonial
Segurança Patrimonial - Sistema de Informações para Proteção Patrimonial Conheça mais sobre a coleta de dados por meio de bastão de rondas, entrevistas e auditorias. Artigo Publicado no Jornal da Segurança
Leia maisTÉ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 maisO modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento
O modelo Entidade-Relacionamento Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento 1 Antes de começarmos: A modelagem conceitual é uma fase muito importante no plamejamento de um
Leia maisQUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWARE - 02 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 A ISO 9000-3 é um guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software.
Leia maisProcessos de gerenciamento de projetos em um projeto
Processos de gerenciamento de projetos em um projeto O gerenciamento de projetos é a aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de cumprir seus requisitos.
Leia maisEduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 10 Modelagem de atividades Qualquer um pode escrever código que um computador pode entender.
Leia maisCapítulo 13 Pastas e Arquivos
Capítulo 13 Pastas e Arquivos À medida que a tecnologia avança, os dispositivos móveis vão ganhando cada vez mais funções e características que antes só pertenciam aos computadores pessoais. Com a expansão
Leia maisCA Mainframe Chorus for Security and Compliance Management Version 2.0
FOLHA DO PRODUTO CA Mainframe Chorus for Security and Compliance CA Mainframe Chorus for Security and Compliance Management Version 2.0 Simplifique e otimize suas tarefas de gerenciamento de segurança
Leia maisMAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Leia maisManual das planilhas de Obras v2.5
Manual das planilhas de Obras v2.5 Detalhamento dos principais tópicos para uso das planilhas de obra Elaborado pela Equipe Planilhas de Obra.com Conteúdo 1. Gerando previsão de custos da obra (Módulo
Leia maisDESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO
Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO Aluno: Rafael
Leia maisPortal do Projeto Tempo de Ser
Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5
Leia maisSoftware Livre e Engenharia Elétrica
Software Livre e Engenharia Elétrica Diego Cézar Silva de Assunção Henrique Ribeiro Soares José Rubens Guimarães Vilaça Lima Pedro Dias de Oliveira Carvalho Rafael Viegas de Carvalho Carlos Gomes O software
Leia maisLISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE
Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?
Leia maisManual de Conciliação Bancária
Manual de Conciliação Bancária Índice Conciliação Bancária... 2 O módulo de Conciliação Bancária no SIGEF... 3 Conciliação Bancária Extrato Bancário... 5 Fazendo a Conciliação Bancária Extrato Bancário...
Leia maisEngenharia 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 maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisManual de Rotinas para Usuários. Advogados da União. Procuradoria da União no Estado do Ceará PU/CE SAPIENS. Sistema da AGU de Inteligência Jurídica
Manual de Rotinas para Usuários Advogados da União Procuradoria da União no Estado do Ceará PU/CE SAPIENS Sistema da AGU de Inteligência Jurídica Versão 1.0 2015 1 INTRODUÇÃO 3 1.1 O QUE É O SAPIENS? 3
Leia maisCapí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 maisUnidade I Conceitos BásicosB. Conceitos BásicosB
à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar
Leia maisCONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Leia mais