VALIDAÇÃO DE UMA TÉCNICA PARA GERAÇÃO AUTOMÁTICA DE TESTES COM OBJETOS MOCK

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

Download "VALIDAÇÃO DE UMA TÉCNICA PARA GERAÇÃO AUTOMÁTICA DE TESTES COM OBJETOS MOCK"

Transcrição

1 UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA UNIDADE ACADÊMICA DE SISTEMAS E COMPUTAÇÃO RELATÓRIO DE ESTÁGIO VALIDAÇÃO DE UMA TÉCNICA PARA GERAÇÃO AUTOMÁTICA DE TESTES COM OBJETOS MOCK RENATO MICELI COSTA RIBEIRO Estagiário DALTON DARIO SEREY GUERRERO Orientador Acadêmico SABRINA DE FIGUEIRÊDO SOUTO Supervisora Técnica Campina Grande PB Dezembro de 2009

2 VALIDAÇÃO DE UMA TÉCNICA PARA GERAÇÃO AUTOMÁTICA DE TESTES COM OBJETOS MOCK APROVADO EM BANCA EXAMINADORA Dalton Dario Serey Guerrero, Prof. DSc. ORIENTADOR ACADÊMICO Joseana Macêdo Fechine, Prof. DSc. MEMBRO DA BANCA Sabrina de Figueirêdo Souto, BSc. MEMBRO DA BANCA

3 AGRADECIMENTOS Agradeço inicialmente a Sabrina Souto, por ter me convidado a auxiliá-la em seu mestrado, me oferecendo a oportunidade de participar desse estágio; agradeço a Dalton Serey, pelas discussões frutíferas, mesmo em face das dificuldades em encontrá-lo; agradeço também a Alexandro Soares, a Pryscilla Dóra e a Cícero Alan Cruz, pelas boas sugestões quanto a conduzir este trabalho; e, finalmente, agradeço a Joseana Fechine, pelos votos de sucesso ao acreditar no êxito deste trabalho.

4 APRESENTAÇÃO Como parte das exigências do curso de Ciência da Computação, da Universidade Federal de Campina Grande, para cumprimento da disciplina de Estágio Integrado, apresenta-se o relatório de estágio, que expõe as atividades desenvolvidas por Renato Miceli Costa Ribeiro, ao curso do período , sob a orientação acadêmica de Dalton Dario Serey Guerrero e supervisão técnica de Sabrina de Figueirêdo Souto. Esse estágio integrado objetivou validar a técnica Automock de geração automática de testes com Objetos Mock. O estágio foi realizado no Laboratório de Sistemas Distribuídos (LSD), localizado na Universidade Federal de Campina Grande (UFCG), bloco CO. Esse ambiente foi bastante propício para a realização do estágio, visto que dispunha de todo o aparato necessário para o desenvolvimento das atividades. O conteúdo do relatório está distribuído conforme a seguinte descrição. Seção 1 Introdução. Seção 2 Ambiente de Estágio. Seção 3 Fundamentação Teórica e Tecnologias Utilizadas. Seção 4 Atividades do Estágio. Seção 5 Considerações Finais. Referências Bibliográficas. Apêndices. Anexos. 4

5 5

6 RESUMO Testar softwares é uma atividade muito importante. É através dela que os testadores descobrem faltas no software, que poderiam causar falhas de execução. Uma boa prática de testes sobre sistemas orientados a objeto consiste em isolar as várias unidades de código do restante do sistema de modo a diminuir a influência entre elas durante a execução dos testes. Para isso, uma solução bastante empregada são os Objetos Mock; entretanto, desenvolver testes com Objetos Mock é uma tarefa tediosa e complexa, além de requerer que os testadores possuam profundo conhecimento do sistema e de suas interações. Em seu mestrado, Sabrina Souto propôs uma técnica chamada Automock, para geração automática de código Mock a partir de testes pré-existentes. Este relatório apresenta as atividades desenvolvidas por Renato Miceli ao longo de seu estágio, que objetivaram avaliar a técnica Automock. Para isso, foram utilizados experimentos e questionários, além de análises quantitativas. Este é um trabalho em andamento e deverá ser concluído por Sabrina Souto ao final de seu mestrado. 6

7 ABSTRACT Testing softwares is an important task. It is by means of it that testers find out faults on softwares, which could lead to execution failures. A recommended testing practice over object-oriented systems consists in isolating the many units of code from the rest of the system, so to decrease the influence between them during the tests' execution. A commonly employed solution for that are the Mock Objects; developing tests with Mock Objects, however, is a tedious and complex task, besides requiring testers to posess deep knowledge about the system and its interactions. On her Masters Course, Sabrina Souto proposed a technique called Automock, for the automatic generation of Mock code out of previously existing tests. This report presents the activities developed by Renato Miceli during his internship, which aimed help evaluating the technique Automock. In order to do that, there have been used experiments and surveys, as well as quantitative analysis. This is an on-going work and should be finished by Sabrina Souto by the end of her Masters Course. 7

8 8

9 SUMÁRIO Lista de Siglas e Abreviaturas Lista de Quadros Lista de Tabelas Introdução Ambiente de Estágio Orientador Acadêmico Supervisora Técnica Fundamentação Teórica Linguagem de Programação Java Ambiente de Desenvolvimento Eclipse Testes de Software Automatizados Arcabouço JUnit Classes Stub Objetos Mock Arcabouço EasyMock Atividades Realizadas Revisão Bibliográfica Escrita de Artigo Proposta de Plano de Estágio Documentação das Atividades Seleção de Casos de Teste Participar do LADC' Geração de Testes com Colaboradores Stub Execução de Experimentos Avaliação Preliminar de Tempo de Execução Montagem de Questionário Avaliação Preliminar do Número de Linhas de Código Considerações Finais Referências Bibliográficas APÊNDICE A APÊNDICE B

10 APÊNDICE C APÊNDICE D APÊNDICE E ANEXO A ANEXO B ANEXO C

11 LISTA DE SIGLAS E ABREVIATURAS BD Banco de Dados CD-ROM Compact Disc, Read-Only Memory CUT Class Under Test (Classe Sob Teste) DSC Departamento de Sistemas e Computação HP Hewlett-Packard IDE Integrated Development Environment IEEE Institute of Electrical and Electronics Engineers LA-WASP Latin American Workshop on Aspect-Oriented Software Development LCD Liquid Crystal Display (Visor de Cristal Líquido) LSD Laboratório de Sistemas Distribuídos LSI Laboratório de Sistemas de Informação SAST Workshop Brasileiro de Teste de Software Sistemático e Automatizado SBSE Simpósio Brasileiro de Engenharia de Software TDD Test-Driven Development (Desenvolvimento Orientado a Testes) UFCG Universidade Federal de Campina Grande 11

12 LISTA DE QUADROS Quadro 1 Classes de Teste e seus respectivos Sistemas

13 LISTA DE TABELAS Tabela 1: Tempos gastos por participante na execução dos experimentos Tabela 2: Tempos gastos pela ferramenta Automock para gerar código mock Tabela 3: Ganho em tempo por participante frente à geração automática de código mock Tabela 4: Média de ganhos em tempo para intervalos de confiança de 95% Tabela 5: Número de linhas de código dos testes gerados em experimento Tabela 6: Média do total de linhas de código e erros para intervalos de confiança de 95%

14 SEÇÃO I INTRODUÇÃO 14

15 1. INTRODUÇÃO A atividade de construção do conhecimento não está desassociada da prática do saber. Quando ambas caminham unidas, fortalecem-se os conceitos, adquire-se experiência, obtém-se proeficiência e autossuficiência. Participar de um estágio integrado, pois, é ser presenteado com um diferencial. Essa oportunidade única na vida escolar do jovem aprendiz visa apresentar uma visão prática das teorias já conhecidas. É através dela que se vivencia o dia-a-dia de quem corriqueiramente usa pra fins reais os conceitos meramente teóricos de outrora. Para a formação de um profissional, ter sido estagiário lhe dá uma bagagem de conhecimento teórico e prático, firmemente fixados, e que devem lhe acompanhar durante toda a vida. Seguindo essa filosofia, Renato Miceli participou durante o segundo semestre de 2009 de um estágio integrado. Ele foi realizado no Laboratório de Sistemas Distribuídos (LSD), bloco CO do Campus I da Universidade Federal de Campina Grande (UFCG), durante o período escolar , sob orientação acadêmica de Dalton Dario Serey Guerrero e supervisão técnica de Sabrina de Figueirêdo Souto. Este relatório visa apresentar de forma sucinta as atividades desenvolvidas por Renato Miceli ao longo de seu estágio integrado. O estágio integrado desenvolvido teve por objetivo validar a técnica Automock para geração de testes com Objetos Mock (SOUTO, 2009). O foco do estágio foi entender o trabalho proposto, pesquisar soluções de avaliação para problemas similares, e empregar a solução mais adequada para avaliar o Automock sobre o Automock. Objetivo Geral: Validar a técnica e o protótipo de ferramenta Automock de geração de testes com Objetos Mock. 15

16 Objetivos Específicos: Entender o trabalho desenvolvido e proposto por Sabrina Souto, a partir de leitura de documentação por ela produzida, palestras e discussões interpessoais. Pesquisar soluções similares, a fim de identificar melhores abordagens para proceder com a avaliação do trabalho proposto. Conduzir o trabalho de avaliação usando a abordagem mais adequada, oriunda do trabalho de pesquisa, visando identificar a viabilidade, os benefícios e limitações da técnica Automock. O restante do relatório abordará com mais detalhes o ocorrido no decorrer do estágio integrado, focando as causas que resultaram em mudanças no andamento das atividades, embasadas por argumentos que justificam as decisões tomadas. 16

17 SEÇÃO II AMBIENTE DE ESTÁGIO 17

18 2. AMBIENTE DE ESTÁGIO Como citado na seção 1, o estágio integrado foi conduzido no Laboratório de Sistemas Distribuídos (LSD). Este é um laboratório pertencente à Universidade Federal de Campina Grande (UFCG), no âmbito do Departamento de Sistemas e Computação (DSC), localizado no bloco CO. O grupo de pesquisa em sistemas distribuídos já vem de longas datas: fundado em 1996, já passou por diversas mudanças em infraestrutura básica. Sua localidade atual, inaugurada em 2004, dedica toda uma construção própria ao laboratório. Desde sua fundação, os esforços do grupo de pesquisa estão direcionados para a área de sistemas distribuídos, com foco claro nas sub-áreas de computação em grade, sistemas entre-pares, gerenciamento de Ti orientado a negócios, sistemas de arquivo distribuídos e computação nas nuvens. No LSD foram desenvolvidas soluções conhecidas para ambientes distribuídos. Dentre elas, pode-se citar o OurGrid, para compartilhamento de recursos computacionais ociosos; o Commune, para comunicação segura e confiável entre pares através de uma rede; e o BeeFS, um sistema de arquivos distribuído sobre máquinas desktop, que utiliza da capacidade de armazenamento disponível nelas para criar um grande diretório de arquivos. Muitas outras soluções já foram ou estão em desenvolvimento no laboratório, que conta com o suporte financeiro da gigante da informática Hewlett-Packard (HP), especialmente por meio dos projetos OurGrid e Hybrid Clouds, este do qual o estagiário é pesquisador e desenvolvedor atualmente. Mais informações acerca do ambiente de estágio podem ser obtidas na seção Ambiente de Estágio no Apêndice A. O LSD possui infraestrutura própria e dispõe de salas climatizadas e máquinas de última geração. São computadores de uso pessoal com mouse, teclado e monitor LCD, rodando sistemas Unix/Linux e Windows e serviços básicos associados. Toda essa infraestrutura de informática é apoiada por uma equipe de suporte, disponível em horário comercial para quaisquer problemas 18

19 que haja. Assim, o laboratório satisfaz todos os requisitos necessários para ser posto de trabalho permanente no decorrer do estágio integrado. Acima de tudo, foi no LSD que se iniciou o desenvolvimento da técnica Automock, no contexto do projeto AutoTest, coordenado por Dalton Serey. Apesar do fim desse projeto, o laboratório ainda conserva as infraestrutura de serviços montada para suportá-lo; assim sendo, esse é o local mais que propício para a condução do estágio integrado. Dalton Serey e Sabrina Souto são, respectivamente, o orientador acadêmico e a supervisora técnica desse estágio integrado. Suas informações pessoais e profissionais são descritas em sequência ORIENTADOR ACADÊMICO Nome: Dalton Dario Serey Guerrero Função: Professor Adjunto e Coordenador de Curso Endereço Profissional: Universidade Federal de Campina Grande (UFCG) Centro de Engenharia Elétrica e Informática (CEEI) Coordenação do Curso de Ciência da Computação (CCC) Rua Aprígio Veloso, s/n, Bodocongó CEP Campina Grande - PB, Brasil. Telefone: +55 (83) Endereço de Pessoal: Endereço de Profissional: 2.2. SUPERVISORA TÉCNICA Nome: Sabrina de Figueiredo Souto Função: Mestranda 19

20 Endereço Profissional: Universidade Federal de Campina Grande (UFCG) Departamento de Sistemas e Computação (DSC) Laboratório de Sistemas Distribuídos (LSD) Rua Aprígio Veloso, Bloco CO Bodocongó CEP Campina Grande - PB, Brasil. Telefone: +55 (83) Fax: +55 (83) Endereço de Pessoal: Endereço de Profissional: 20

21 SEÇÃO III FUNDAMENTAÇÃO TEÓRICA 21

22 3. FUNDAMENTAÇÃO TEÓRICA 3.1. LINGUAGEM DE PROGRAMAÇÃO JAVA A linguagem de programação Java (JAVA, 2009) é uma linguagem de programação desenvolvida pela Sun Microsystems, Inc. em 1995 que mescla conceitos dos paradigmas imperativo e orientado a objeto. Sua sintaxe deriva majoritariamente das linguagens de programação C e C++, embora tenha um modelo de objetos bem mais simples e menos facilidades de baixo nível. Foi feita para rodar sobre a Máquina Virtual Java, por meio da interpretação de bytecodes, gerados pela compilação de código-fonte. Para a condução do estágio, foi necessário conhecimento aprofundado sobre o paradigma de programação orientado a objeto e suas boas práticas de projeto, bem como proeficiência na linguagem de programação Java. Essa foi a linguagem utilizada durante todo o trabalho já desenvolvido até o momento, inclusive sendo a linguagem usada para desenvolver o protótipo de ferramenta Automock, os cenários de estudo do protótipo e os sistemas para experimentação. Apesar de ser geral, a técnica Automock só foi implementada em ambientes Java (SOUTO, 2009), tornando esse um requisito fundamental para a atividade de estágio AMBIENTE DE DESENVOLVIMENTO ECLIPSE Um dos mais usados ambientes de desenvolvimento de softwares para a linguagem de programação Java, compreende uma IDE e um sistema de gerenciamento de plug-ins (ECLIPSE, 2009). É o sistema de facto utilizado na UFCG para desenvolvimento de aplicações Java. No contexto do trabalho, essa ferramenta foi de suma importância, pois foi através dela que o protótipo Automock e os casos de teste simples para 22

23 validação foram desenvolvidos (SOUTO, 2009). Esta ferramenta foi usada durante todo o decorrer do estágio para realizar alterações sobre código Java, além de ser tecnologia assistencial obrigatória para os estudos de caso e execução dos experimentos TESTES DE SOFTWARE AUTOMATIZADOS Dentre os maiores princípios da Engenharia de Software estão as recomendadas boas práticas de teste. Testar software é uma técnica eficaz para identificar defeitos em um software que podem ocasionar em falhas de execução. É fato que um maior tempo empregado com atividades de verificação e validação diminui consideravelmente o tempo demandado em atividades de depuração, refatoramento e evolução do software. Para facilitar as atividades de teste de software, inúmeras ferramentas surgiram. Elas se propõem a automatizar o passo-a-passo executado para estimular o software em busca de falhas. Ter se tornado uma tarefa bem menos custosa em termos de tempo contribuiu para tornar o teste de software cada vez mais popular na academia e no mercado ARCABOUÇO JUNIT Dos maiores arcabouços para desenvolvimento de testes de unidade automáticos em sistemas Java é o JUnit (JUNIT, 2009). Na sua atual versão 4.x, é o arcabouço dominante na academia e no mercado para compor testes automatizados sobre softwares Java. Foi com uso do JUnit que o protótipo Automock foi validado. Além disso, os testes que devem ser fornecidos ao protótipo são testes escritos usando o arcabouço JUnit. Assim, todos os testes estudados, alterados e construídos durante o estágio integrado estavam ou foram escritos usando JUnit. 23

24 3.5. CLASSES STUB O conceito de Classes Stub está intimamente ligado às bases do paradigma de programação orientado a objeto. Classes Stub são classes que simulam o comportamento de outras classes do sistema. Para isso, elas devem respeitar o mesmo contrato e retornar respostas predefinidas para certos estímulos fornecidos ao software. O comportamento esperado é definido estaticamente no código da classe Stub. Classes Stub são um dos meios para prover isolamento da CUT em testes de unidade. No entanto, podem se multiplicar ao longo do ciclo de vida do software, por não serem reutilizáveis OBJETOS MOCK Como o conceito de Classes Stub, o conceito de Objetos Mock também está intimamente ligado ao paradigma de programação orientado a objeto. Objetos Mock servem ao mesmo propósito de classes Stub. Diferenciam-se dessas por terem seu comportamento definido dinamicamente em código, no corpo dos métodos de teste. No mais, Objetos Mock têm a capacidade de auxiliar na decisão sobre a falha ou aceitação de um teste, checando a sequência de expectativas que deveriam ter sido satisfeitas quanto a chamadas sobre si. Objetos Mock, bem como Classes Stub, podem tornar a execução do teste mais rápida, por não executarem algoritmos complexos, além de isolar a CUT do restante do ambiente de teste. Por outro lado, código mock é bem custoso de se escrever, requer conhecimento profundo do testador sobre o sistema em estudo, além de ser bastante suscetível a mudanças sutis no código do sistema (pequenas alterações no código podem levar a descartar o código mock). O trabalho proposto visa solucionar esse problema, através de da técnica Automock (SOUTO, 2009). 24

25 Para construir Objetos Mock eficientemente, existe uma variedade de arcabouços disponíveis para a linguagem Java, dentre os quais destaca-se o EasyMock ARCABOUÇO EASYMOCK O EasyMock (EASYMOCK, 2009) é um dos arcabouços de desenvolvimento de código mock mais utilizados dentre os disponíveis para a linguagem de programação Java. Ele provê a construção de Objetos Mock para interfaces e classes Java, registra listas de expectativas e omite completamente a existência de um objeto falso por debaixo do tipo provido pelo objeto. É bastante recomendado para TDD, visto que seu modo único de registro de expectativas o torna imune à maioria dos refatoramentos feitos a códigos Java. Esse arcabouço foi de suma importância para o trabalho de estágio, visto que é com uso dele que o protótipo Automock gera código mock para testes JUnit. Por isso, toda e qualquer atividade que envolvesse Objetos Mock no decorrer desse trabalho necessariamente utilizou o arcabouço EasyMock, para fins de comparação de resultados. 25

26 SEÇÃO IV ATIVIDADES REALIZADAS 26

27 4. Atividades Realizadas Nessa seção são apresentadas as atividades realizadas no decorrer do estágio. Note-se que a sequência de atividades está ordenada cronologicamente, por questões de organização Revisão Bibliográfica Antes de se proceder com o trabalho de avaliação do Automock, foi necessária uma pesquisa bibliográfica inicial do estado-da-arte. O objetivo dessa atividade foi de agregar conhecimento acerca de outras técnicas utilizadas para realizar a avaliação proposta. Foi necessário entender primeiramente o contexto em que se inseria o problema sob estudo, as abordagens que já haviam sido empregadas para resolver tal problema, além de novas abordagens que potencialmente poderiam ser empregadas, para enfim propor uma metodologia adequada para encarar o problema. Assim, essa atividade foi de suma importância para a condução do trabalho de avaliação do Automock. A revisão bibliográfica apresentou Tim Mackinnon como o criador do conceito de Objetos Mock (MACKINNON, 2001). Seu intuito primário era de auxiliar os desenvolvedores a escrever testes para objetos isolados, enquanto seguiam o método Extreme Programming (BECK, 2000). Também foi mostrado que outra abordagem isolar esses objetos são os Stubs, que, mesmo que tenham os mesmos objetivos dos Objetos Mock, não são o mesmo (FOWLER, 2007). De acordo com Meszaros, Stubs proveem respostas predefinidas para as chamadas feitas durante um teste; se usados fora do programado para o teste, é possível que responsam incorretamente (MESZAROS, 2007). Por outro lado, Objetos Mock são dinamicamente préprogramados com expectativas; se usados fora do programado para o teste, eles podem indicar explicitamente uma falha. Há ainda outras características que os diferenciam: por exemplo, Objetos Mock geralmente contam o número 27

28 de vezes que cada operação é invocada, além de verificar os argumentos fornecidos às operações e terem seus valores de retorno pré-estabelecidos. Através dessa atividade pôde-se conhecer uma gama de arcabouços dedicados a auxiliar testadores na construção de testes com Objetos Mock. Dentre eles, pode-se listar o EasyMock (EASYMOCK, 2009) e o GoogleMock (GOOGLEMOCK, 2009). A revisão bibliográfica também revelou alguns trabalhos diretamente relacionados ao Automock. O GenUTest, por exemplo, é uma ferramenta que captura e registra interações entre os objetos durante a execução de programas Java para gerar testes JUnit (PASTERNAK, 2009). Apesar de aparentar ser bastante similar à técnica proposta, GenUTest depende de uma versão funcional do software para executar, e gera testes de unidade para todos as classes do sistema; o Automock, por outro lado, espera que o testador indique um objeto-alvo e provenha algum teste que exercite esse objeto (SOUTO, 2009). Ainda, pelo que consta, o GenUTest, até o presente momento, parece não ter sido levado a público, dificultando o estudo dessa ferramenta que tanto se assemelha ao Automock. Outros trabalhos bem relacionados foram um protótipo de ferramenta para geração de Objetos Mock usando uma combinação de execuções concreta e simbólica de código.net (TILLMANN, 2006), e uma proposta de ferramenta para conversão automática de testes de sistema em uma coleção de testes de unidade, a fim de apoiar a fatoração de testes (SAFF, 2005). Esse último trabalho utiliza a técnica de instrumentação do código binário do sistema, inclusive de todas as suas dependências (por exemplo, as bibliotecas que usa), exceto da CUT. Apesar da similaridade à técnica Automock, nenhum desses trabalhos parece abordar o problema da maneira proposta (SOUTO, 2009), o que aumenta seu trabalho em relevância e originalidade. A partir dessa atividade foram geradas as seções 2 e 1 dos artigos para o SAST'09 e o LA-WASP'09, respectivamente, que podem ser encontrados nos apêndices C e D. 28

29 4.2. Escrita de Artigo Dada a relevância e originalidade do trabalho de geração automática de testes com Objetos Mock, o próximo passo foi documentar seu estágio atual no formato de artigo científico. Embora tenha sido útil para treinar a prática da escrita de documentos formais, o maior objetivo dessa atividade era de apresentar à comunidade científica a abordagem a ser seguida para solucionar o problema da escrita de testes com Objetos Mock. O primeiro fruto dessa atividade foi o artigo escrito para o SAST'09 (vide apêndice C). Por questões de imaturidade do trabalho, esse artigo acabou não sendo submetido para a conferência a tempo. Entretanto, a partir dele foi escrito o artigo para o LA-WASP'09 (vide apêndice D). Esse último trabalho foi submetido ao evento e notificado como aceito. Ele foi defendido por Sabrina Souto durante o evento, ocorrido em outubro de 2009 em Fortaleza. Foi publicado em CD-ROM pela IEEE Computer Society, juntamente com os anais do SBSE' Defesa de Plano de Estágio A ideia do estágio era de realizar a avaliação da técnica Automock por meio de estudos de caso. Para isso, deveria-se averiguar o ganho promovido pela técnica automatizada frente à construção manual de testes com Objetos Mock. Assim, seriam selecionados testes já desenvolvidos para os sistemas sob estudo, que seriam convertidos manualmente e automaticamente (com uso do protótipo de ferramenta) em testes com Objetos Mock. Sobre esses testes com e sem o uso de Objetos Mock seriam aplicadas métricas preestabelecidas: tempo para geração, total de linhas de código, cobertura da execução, número de detecções de erro, equivalência em semântica. O resultado dessas métricas, por uso de diferença simples, geraria o ganho proporcionado pela técnica sobre a construção manual de testes com Objetos Mock. Os sistemas para estudo foram selecionados pela proximidade da equipe de desenvolvimento. Esses sistemas eram o OurBackup, o Hidrogis e o OurGrid. Desenvolvido no LSD nos anos de 2007 e 2008 sob orientação de 29

30 Dalton Serey, o OurBackup (OLIVEIRA, 2008) é voltado para o compartilhamento de arquivos entre amigos, visando o becape cruzado; o Hidrogis foi desenvolvido no Laboratório de Sistemas de Informação (LSI), na UFCG; e o OurGrid (CIRNE, 2006), também desenvolvido no LSD, foca no compartilhamento de poder computacional entre várias grades de máquinas oportunistas. Todos os três sistemas possuem desenvolvedores próximos, o que facilitaria o trabalho de avaliação do Automock. O Plano de Estágio, que pode ser obtido no Apêndice A, foi defendido por meio de uma apresentação, disponível no Apêndice B. Após apreciação do trabalho frente à professora e à turma da disciplina de Estágio Integrado, foi aprovado com a pontuação máxima Documentação das Atividades Foi acordado com a supervisora técnica que todas as atividades relevantes desenvolvidas durante o estágio seriam registradas. Para tanto, foi criado um espaço em wiki no serviço Redmine (REDMINE, 2009), hospedado nos servidores do LSD. As atividades passíveis de documentação são primariamente as reuniões, sejam formais ou informais; o andamento das atividades, sejam de cumprimento obrigatório da disciplina, sejam decorrentes da condução do estágio integrado; quaisquer ideias que forem surgindo, que possam de alguma forma contribuir para melhorar o trabalho. Assim, durante todo o decorrer do estágio, foram postadas anotações que documentam adequadamente as atividades desenvolvidas no âmbito do estágio integrado. Além de tudo, também foram documentados os cronogramas de trabalho, horários de presença no estágio e as atividades desenvolvidas atualmente no âmbito do estágio, tanto do estagiário quanto de seu supervisor técnico. Portanto, o wiki do Redmine tornou-se serviço primordial na boa condução do estágio integrado; obteve status de serviço de centralização das informações concernentes ao estágio, bem como serviço de comunicação confiável público entre o estagiário e seu supervisor técnico. 30

31 4.5. Seleção de Casos de Teste Para dar início à avaliação da técnica Automock, foi necessário selecionar um sistema como ponto de partida para estudá-lo, entendê-lo e, por fim, poder extrair uma suíte de testes que comporia o estudo de caso. O primeiro sistema escolhido foi o OurBackup (OLIVEIRA, 2008). Esse sistema se apresenta em duas versões: a Home, voltada para usuários doméstico, e a Enterprise, direcionada a usuários corporativos. Visto que o estagiário havia participado do desenvolvido da versão Enterprise do OurBackup e isso implicaria em uma curva de aprendizado menos custosa, essa foi a escolha inicial de sistema para estudo. Após alguns estudos sobre o estado atual do sistema, constatou-se que o OurBackup Enterprise não possuia testes adequados para compor a suíte do estudo de caso. Apenas dois testes envolviam uma CUT e seus colaboradores; entretanto, esses testes já possuíam respectivos com uso de mocks. Os demais testes do sistema se encaixam em cinco categorias: ou são testes de unidade, cuja CUT é testada na inexistência de colaboradores; ou são testes de aceitação sobre um módulo servidor, cujo módulo cliente recebe os estímulos de entrada e fornece as respostas de saída; ou são testes de unidade com CUT e colaboradores, cujos colaboradores já são objetos mock; ou são testes de unidade cuja CUT não está bem modularizada, lidando diretamente com o ambiente (seja agregando responsabilidade ou usando instâncias locais de seus colaboradores em seus métodos), quando isso deveria ser feito por meio de colaboradores globais; ou são testes nãodeterminísticos (isto é, nem toda execução admitirá o mesmo comportamento resultante), que envolvem a realização de operações não necessariamente sequenciais (paralelas ou concorrentes) para atingir condições probabilísticas sobre o estado do sistema. (como é a maioria dos sistema distribuídos, senão todos). Além disso, testes adequados para a técnica Automock (chamados testes mockáveis ) não devem ser dependentes do tempo de execução, como ocorre com alguns testes não-determinísticos, uma vez que a substituição de colaboradores reais por Objetos Mock pode alterar o tempo de execução do sistema sensivelmente (imagine colaboradores para acesso a BD ou conexões 31

32 remotas). Dado o uso inviável dos testes do OurBackup Enterprise, não houve outra opção senão descartar o sistema. O próximo sistema sob estudo foi o OurBackup Home. Após diversas análises do sistema e de seus testes, constatou-se que ele apresentava as mesmas deficiências do sistema OurBackup Enterprise. No entanto, sua suíte de testes com Objetos Mock era bem maior. Foi identificado que em ambos os softwares os testes de unidade cuja CUT interage com diversos colaboradores (isto é, os testes focados pelo Automock) já fazem uso de Objetos Mock. Considera-se, pois, sua suíte de testes como de boa qualidade para os padrões atuais de teste de software. Uma alternativa em todo caso seria construir testes para os sistemas sob estudo. Isso requere conhecimento profundo sobre esses sistemas e os relacionamentos estabelecidos entre os objetos em tempo de execução. O tempo de aprendizado seria grande. Portanto, essa foi uma alternativa descartada. Outra alternativa consistia em converter os testes com código mock em testes com colaboradores reais, para então proceder de maneira inversa. No entanto, isso implicaria em realizar manualmente ou dispor de uma ferramenta para tal; ambas as abordagens podem apresentar imperfeições e não garantir equivalência semântica entre os testes original e alterado (vale salientar que avaliar a validade de uma técnica de conversão de testes com código mock em testes com colaboradores reais é da mesma ordem de complexidade de avaliar a técnica Automock). Também requere conhecimento aprofundado do sistema para saber que colaborador real faz o papel exato do Objeto Mock presente em um teste, para questões de substituição. Ainda é um requisito conhecimento acerca da gerência de configuração do sistema, que pode ser bastante complexa, dada a complexidade dos sistemas sob estudo. Por fim, uma limitação dessa abordagem foi de que nem sempre há colaboradores reais no software que se comportem de maneira exata ao modo prescrito pelos Objetos Mock; esse código mock pode realizar o comportamento errôneo (casos de erro ou de alteração do software original), ou ainda servir pra injetar falhas propositais no sistema, desviando do comportamento esperado para um colaborador. Ainda, mesmo que haja colaboradores que se comportem à 32

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA - CEEI DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO - DSC

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA - CEEI DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO - DSC UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA - CEEI DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO - DSC PLANO DE ESTÁGIO Suporte ao DDGfs Experimentos e ambientação

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Projeto Final de Engenharia de Computação

Projeto Final de Engenharia de Computação Orientações para Desenvolvimento do Projeto Final de Engenharia de Computação compilado por: Noemi Rodriguez texto baseado em: Orientações para o Planejamento e Realização do Projeto Final, de Simone Barbosa

Leia mais

Modelos de processos de desenvolvimento de software

Modelos de processos de desenvolvimento de software Definição Um modelo de processo de software é uma representação abstrata de um processo. Os modelos de processo podem ser desenvolvidos a partir de várias perspectivas e podem mostrar as atividades envolvidas

Leia mais

Teste de software. Definição

Teste de software. Definição Definição O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

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

Leia mais

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

Evolução do Design através de Testes e o TDD 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

Leia mais

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009

Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga. Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes de carga Um artigo técnico da Oracle Junho de 2009 Identificação rápida de gargalos Uma forma mais eficiente de realizar testes

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

Leia mais

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos SOFTWARE PROCESSES Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Introduzir modelos de processo de software Descrever uma variedade de modelos de processo

Leia mais

Estratégias de Pesquisa

Estratégias de Pesquisa Estratégias de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Survey Design e Criação Estudo de Caso Pesquisa Ação Experimento

Leia mais

Orientações para o Planejamento e Realização do Projeto Final

Orientações para o Planejamento e Realização do Projeto Final Orientações para o Planejamento e Realização do Projeto Final Simone Diniz Junqueira Barbosa Versão: 1.0.4 Orientações para o Planejamento e Realização do Projeto Final Sumário 1 Introdução... 3 2 Projeto

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Essencial ao Desenvolvimento de Software

Essencial ao Desenvolvimento de Software Documento de Requisitos Essencial ao Desenvolvimento de Software De que se trata o artigo? Apresenta o documento de requisitos de software, destacando-o como um dos principais documentos pertinentes ao

Leia mais

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software O que é software? Software e Engenharia de Software Programas de computador Entidade abstrata. Ferramentas (mecanismos) pelas quais: exploramos os recursos do hardware. executamos determinadas tarefas

Leia mais

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Gustavo Zanini Kantorski, Marcelo Lopes Kroth Universidade Federal de Santa Maria (UFSM) 97100-000 Santa Maria

Leia mais

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo Aspect-Oriented Programming AOP Comentários Sérgio Crespo Separation of Concerns O princípio de Separation of Concerns já é utilizado por engenheiros de software para o gerenciar a complexidade de sistemas

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Trabalho elaborado pelo

Leia mais

2 Medição e Acompanhamento

2 Medição e Acompanhamento 2 Medição e Acompanhamento Para verificar a eficácia da aplicação da técnica de desenvolvimento dirigido por testes, foram usadas algumas métricas para determinar se houve melhoria ou degradação no processo

Leia mais

Faculdade de Farmácia VALIDAÇÃO DE SISTEMAS COMPUTADORIZADOS

Faculdade de Farmácia VALIDAÇÃO DE SISTEMAS COMPUTADORIZADOS Faculdade de Farmácia VALIDAÇÃO DE SISTEMAS COMPUTADORIZADOS 2012 Relevância: Impacta diretamente na saúde do paciente, na qualidade do produto e na integridade dos dados que devem provar que o sistema

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

DESENVOLVIMENTO DE IDE PARA PLATAFORMA OMAP. Larissa Lucena Vasconcelos¹, Raul Fernandes Herbster², Joseana Macêdo Fechine³

DESENVOLVIMENTO DE IDE PARA PLATAFORMA OMAP. Larissa Lucena Vasconcelos¹, Raul Fernandes Herbster², Joseana Macêdo Fechine³ DESENVOLVIMENTO DE IDE PARA PLATAFORMA OMAP Larissa Lucena Vasconcelos¹, Raul Fernandes Herbster², Joseana Macêdo Fechine³ 1 Aluna do Curso de Ciência da Computação, integrante do PET-Computação, Depto.

Leia mais

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso Casos de Uso O que é Casos de Uso Descrições narrativas de processos do domínio da aplicação Documentam a seqüência de eventos de um ator (um agente externo) usando o sistema para completar, do início

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Requisito O que é um REQUISITO? Em software: É a CARACTERIZAÇÃO do que o

Leia mais

Testador Automático e Método de Avaliação de Programas em Java

Testador Automático e Método de Avaliação de Programas em Java Testador Automático e Método de Avaliação de Programas em Java Ingrid Oliveira de Nunes 1 1 Ingrid Oliveira de Nunes, Universidade Federal do Rio Grande do Sul (UFRGS), Instituto de Informática, Porto

Leia mais

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB.

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. Marllus de Melo Lustosa (bolsista do PIBIC/UFPI), Luiz Cláudio Demes da Mata Sousa

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Engenharia de Software

Engenharia de Software CENTRO UNIVERSITÁRIO NOVE DE JULHO Profº. Edson T. França edson.franca@uninove.br Software Sistemas Conjunto de elementos, entre os quais haja alguma relação Disposição das partes ou dos elementos de um

Leia mais

ANÁLISE DA UTILIZAÇÃO DE PRÁTICAS DO EXTREME PROGRAMMING PARA A PREVENÇÃO DO DÉBITO TÉCNICO DE PROJETOS DE SOFTWARE

ANÁLISE DA UTILIZAÇÃO DE PRÁTICAS DO EXTREME PROGRAMMING PARA A PREVENÇÃO DO DÉBITO TÉCNICO DE PROJETOS DE SOFTWARE CENTRO UNIVERSITÁRIO UNA DIRETORIA DE EDUCAÇÃO CONTINUADA, PESQUISA E EXTENSÃO CURSO DE PÓS GRADUAÇAO EM ENGENHARAIA DE SOFTWARE CENTRADA EM MÉTODOS ÁGEIS ANÁLISE DA UTILIZAÇÃO DE PRÁTICAS DO EXTREME PROGRAMMING

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Um Framework de Engenharia de Requisitos para Desenvolvimento de Produtos de Software

Um Framework de Engenharia de Requisitos para Desenvolvimento de Produtos de Software Um Framework de Engenharia de Requisitos para Desenvolvimento de Produtos de Software Carina Alves Centro de Informática Universidade Federal de Pernambuco (UFPE) Caixa Postal 50732-970 Recife PE Brazil

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

Model Checking of Statecharts using Automatic White Box Test Generation

Model Checking of Statecharts using Automatic White Box Test Generation Model Checking of Statecharts using Automatic White Box Test Generation Um artigo de: Doron Drusinsky (Cupertino, CA) Apresentado por: Charles-Edouard Winandy Disciplina: CSE310-4 Engenharia de Software

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D.

Capítulo 25. Gerenciamento de Configuração. Engenharia de Software Prof. Flávio de Oliveira Silva, Ph.D. Capítulo 25 Gerenciamento de Configuração slide 624 2011 Pearson Prentice Hall. Todos os direitos reservados. Tópicos abordados Gerenciamento de mudanças Gerenciamento de versões Construção de sistemas

Leia mais

RBC no Auxílio de Avaliações Imobiliárias

RBC no Auxílio de Avaliações Imobiliárias RBC no Auxílio de Avaliações Imobiliárias Adauto Trigueiro, Alcione da Costa Pinheiro, Clerton Filho, Kátia Silva Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande (UFCG)

Leia mais

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow

Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Controle de métricas no processo de desenvolvimento de software através de uma ferramenta de workflow Gustavo Zanini Kantorski, Marcelo Lopes Kroth Centro de Processamento de Dados Universidade Federal

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software Análise e Projeto de Sistemas Análise e Projeto de Sistemas Contextualização ENGENHARIA DE SOFTWARE ANÁLISE E PROJETO DE SISTEMAS ENGENHARIA DA INFORMAÇÃO Perspectiva Histórica Engenharia de Software 1940:

Leia mais

Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas

Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas Vieira, Marcio. J. 1 1 Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba PR Brasil marciojv@inf.ufpr.br

Leia mais

Teste de Software I Conceitos e Estratégias

Teste de Software I Conceitos e Estratégias Tema da Aula Teste de I Conceitos e Estratégias Prof. Cristiano R R Portella portella@widesoft.com.br Conceitos Teste e Garantia de Qualidade Importância do Teste, segundo Deutsch: O desenvolvimento de

Leia mais

Testes Orientação Visão Conceitual em Testes Versão 0.3

Testes Orientação Visão Conceitual em Testes Versão 0.3 Testes Versão 0.3 ori_visao_conceitual_testes.odt 1 de 10 Histórico de Revisões Data Versão Descrição Autor 23/04/2010 0.1 Versão inicial Fernanda Monteiro 07/10/10 0.2 Verificação ortográfica Ana Eckel

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

João Arthur Brunet Monteiro. Março de 2008

João Arthur Brunet Monteiro. Março de 2008 Revisão Bibliográfica em Automação de Testes João Arthur Brunet Monteiro Universidade Federal de Campina Grande Março de 2008 João Arthur Brunet Monteiro (UFCG) Revisão Bibliográfica em Automação de Testes

Leia mais

Curso Superior de Tecnologia em Desenvolvimento de Software. Trabalho Interdisciplinar Semestral. 2º semestre 2011.2

Curso Superior de Tecnologia em Desenvolvimento de Software. Trabalho Interdisciplinar Semestral. 2º semestre 2011.2 Curso Superior de Tecnologia em Desenvolvimento de Software Trabalho Interdisciplinar Semestral 2º semestre 2011.2 Um por todos e todos por um 1. Apresentação Geral Todo e qualquer projeto gerido por uma

Leia mais

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com

Processo de Desenvolvimento de Software. Unidade V Modelagem de PDS. Luiz Leão luizleao@gmail.com http://www.luizleao.com Processo de Desenvolvimento de Software Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático desta aula Modelo Cascata (Waterfall) ou TOP DOWN. Modelo Iterativo. Metodologia Ágil.

Leia mais

ELABORAÇÃO DE HORÁRIOS EM GRID. MACIEL, M.; QUEIROZ, L.M.; GUIMARAES, L.H.M.; MARTINS, M.C.; DE OLIVEIRA, W.V... 391

ELABORAÇÃO DE HORÁRIOS EM GRID. MACIEL, M.; QUEIROZ, L.M.; GUIMARAES, L.H.M.; MARTINS, M.C.; DE OLIVEIRA, W.V... 391 ! " # ELABORAÇÃO DE HORÁRIOS EM GRID. MACIEL, M.; QUEIROZ, L.M.; GUIMARAES, L.H.M.; MARTINS, M.C.; DE OLIVEIRA, W.V... 391 PROSPECÇÃO DE OPORTUNIDADES NA ÁREA DE T.I. ANDRADE O. F., IZIDORO S. C. S., JUNIOR

Leia mais

COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS RELATÓRIO EXECUTIVO DE NEGÓCIOS

COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS RELATÓRIO EXECUTIVO DE NEGÓCIOS COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS TM RELATÓRIO EXECUTIVO DE NEGÓCIOS A visão da computação em nuvem por Aad van Schetsen, vicepresidente da Compuware Uniface, que mostra por que

Leia mais

Recuperação de Imagens na Web Baseada em Informações Textuais

Recuperação de Imagens na Web Baseada em Informações Textuais Recuperação de Imagens na Web Baseada em Informações Textuais André Ribeiro da Silva Mário Celso Candian Lobato Universidade Federal de Minas Gerais Departamento de Ciência da Computação {arsilva,mlobato}@dcc.ufmg.br

Leia mais

Introdução ao Teste de Software

Introdução ao Teste de Software Introdução ao Teste de Software Prof. Dr. Sandro Bezerra - srbo@ufpa.br AGENDA Verificação e Validação Motivação para teste Finalidades dos Testes Testes de Software: Definições e Conceitos Formando a

Leia mais

Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com

Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com Resumo: Demonstrar de forma clara e prática como a Programação Orientada a Aspectos pode ajudar a

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS

RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS ISBN 978-85-61091-05-7 Encontro Internacional de Produção Científica Cesumar 27 a 30 de outubro de 2009 RECUPERAÇÃO DE DOCUMENTOS TEXTO USANDO MODELOS PROBABILISTICOS ESTENDIDOS Marcello Erick Bonfim 1

Leia mais

Documento de Instalação e Configuração do InfoGrid

Documento de Instalação e Configuração do InfoGrid Documento de Instalação e Configuração do InfoGrid Tecgraf/PUC Rio infogrid@tecgraf.puc rio.br 1.Introdução O objetivo deste documento é podermos registrar em um único local todas as informações necessárias

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1

Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 242 Aplicação do Método AHP na Seleção de Software para Modelagem de Processos de Negócios Amanda Alves 1, Thiago Depoi Stoll 1, Rafael Baldiati Parizi 1 1Instituto Federal Farroupilha Campus São Borja

Leia mais

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Geração automática de suíte de teste para GUI a partir de Rede de Petri Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

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

A Computação e as Classificações da Ciência

A Computação e as Classificações da Ciência A Computação e as Classificações da Ciência Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Classificações da Ciência A Computação

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Autor(es) TIAGO CINTO. Orientador(es) CECÍLIA SOSA ARIAS PEIXOTO. Apoio Financeiro FAPIC/UNIMEP. 1. Introdução

Autor(es) TIAGO CINTO. Orientador(es) CECÍLIA SOSA ARIAS PEIXOTO. Apoio Financeiro FAPIC/UNIMEP. 1. Introdução 19 Congresso de Iniciação Científica MODULO DE GERÊNCIA DE INTERFACES COM O USUÁRIO: ESTUDO, DEFINIÇÃO E ELABORAÇÃO DE INTERFACES INTELIGENTES PARA A FERRAMENTA KIRA Autor(es) TIAGO CINTO Orientador(es)

Leia mais

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS

LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS LINGUAGEM DE ESPECIFICAÇÃO E DESCRIÇÃO (SDL) APLICADA AO PROCESSO DE VERIFICAÇÃO E VALIDAÇÃO DE SISTEMAS REATIVOS Fabiana Fraga Ferreira Bacharelanda em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

PLATAFORMA URBANMOB Aplicativo para captura de trajetórias urbanas de objetos móveis

PLATAFORMA URBANMOB Aplicativo para captura de trajetórias urbanas de objetos móveis PLATAFORMA URBANMOB Aplicativo para captura de trajetórias urbanas de objetos móveis Gabriel Galvão da Gama 1 ; Reginaldo Rubens da Silva 2 ; Angelo Augusto Frozza 3 RESUMO Este artigo descreve um projeto

Leia mais

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Implantando um Programa de Melhoria de Processo: Uma Experiência Prática Evandro Polese Alves Ricardo de Almeida Falbo Departamento de Informática - UFES Av. Fernando Ferrari, s/n, Vitória - ES - Brasil

Leia mais

Modelagem e Simulação

Modelagem e Simulação AULA 11 EPR-201 Modelagem e Simulação Modelagem Processo de construção de um modelo; Capacitar o pesquisador para prever o efeito de mudanças no sistema; Deve ser próximo da realidade; Não deve ser complexo.

Leia mais

7HVW'ULYHQ'HYHORSPHQW

7HVW'ULYHQ'HYHORSPHQW 81,9(56,'$'()('(5$/'25,2*5$1'('268/,167,7872'(,1)250È7,&$ 7HVW'ULYHQ'HYHORSPHQW Otávio Gaspareto REJDVSDUHWR#LQIXIUJVEU,QWURGXomR 7HVWGULYHQGHYHORSPHQW, ou TDD, também conhecido por WHVWILUVWGHYHORSPHQW,

Leia mais

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Introdução Engenharia de Software

Introdução Engenharia de Software Introdução Engenharia de Software Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 EMENTA Parte 1 Conceitos de Engenharia de Software. Processo de desenvolvimento

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

Construção e Implantação de Software II - Unidade 3- Estratégias Para Testes de Software. Prof. Pasteur Ottoni de Miranda Junior

Construção e Implantação de Software II - Unidade 3- Estratégias Para Testes de Software. Prof. Pasteur Ottoni de Miranda Junior Construção e Implantação de Software II - Unidade 3- Estratégias Para Testes de Software Prof. Pasteur Ottoni de Miranda Junior 1 1-Estratégia Global 1.1-Visão Global de Estratégias Para Teste A estratégia

Leia mais

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais

Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais Desenvolvimento de uma Plataforma Gráfica para a Descrição de Modelos de Sistemas Ambientais Tiago F. M. Lima 1,2, Tiago G. S. Carneiro 2, Sérgio D. Faria 3 1 Programa de Pós-Graduação em Análise e Modelagem

Leia mais

Escolha e implantação de uma metodologia de desenvolvimento de software: um estudo de caso para o Laboratório de Aplicação em Tecnologia da Informação

Escolha e implantação de uma metodologia de desenvolvimento de software: um estudo de caso para o Laboratório de Aplicação em Tecnologia da Informação Escolha e implantação de uma metodologia de desenvolvimento de software: um estudo de caso para o Laboratório de Aplicação em Tecnologia da Informação Elton A. dos Santos Departamento de Informática e

Leia mais

Evolução de Software e Refatoração

Evolução de Software e Refatoração Evolução de Software e Refatoração Mudança de software Mudança de software é inevitável Novos requisitos surgem quando o software é usado; O ambiente de negócio muda; Erros devem ser reparados; Novos computadores

Leia mais

MINISTÉRIO DA INTEGRAÇÃO NACIONAL SECRETARIA EXECUTIVA DEPARTAMENTO DE GESTÃO ESTRATÉGICA COORDENAÇÃO-GERAL DE TECNOLOGIA DA INFORMAÇÃO ENCARTE R

MINISTÉRIO DA INTEGRAÇÃO NACIONAL SECRETARIA EXECUTIVA DEPARTAMENTO DE GESTÃO ESTRATÉGICA COORDENAÇÃO-GERAL DE TECNOLOGIA DA INFORMAÇÃO ENCARTE R ENCARTE R Estimativa de de Software Estimativa de de Software: Contratação de Serviços de Fábrica de Software Página 1 de 10 SUMÁRIO 1 REFERÊNCIAS... 3 1 INTRODUÇÃO... 3 3.1 ESTIMATIVA PRELIMINAR... 4

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 06 PROFª BRUNO CALEGARO Santa Maria, 27 de Setembro de 2013. Revisão aula anterior Desenvolvimento Ágil de Software Desenvolvimento e entrega

Leia mais

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software

Leia mais

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis Ciência da Computação Arq. e Org. de Computadores Máquinas Multiníveis Prof. Sergio Ribeiro Computador digital máquina que resolve problemas executando uma série de instruções. Programa conjunto de instruções

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil

Instituto de Computação, Universidade Federal do Amazonas (UFAM) Manaus-AM, Brasil Elicitação de Requisitos a partir de Modelos de Processos de Negócio e Modelos Organizacionais: Uma pesquisa para definição de técnicas baseadas em heurísticas Marcos A. B. de Oliveira 1, Sérgio R. C.

Leia mais

Processo de Teste de Software

Processo de Teste de Software Processo de Teste de Software Introdução Auri Marcelo Rizzo Vincenzi Gilcimar Divino de Deus Instituto de Informática Universidade Federal de Goiás 22 de agosto de 2008 Organização Teste Desafios do Teste

Leia mais

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos

Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Engenharia de Software Engenharia de Software 2012/3 Aula 4 Engenharia de Requisitos Thiago P. da Silva thiagosilva.inf@gmail.com Agenda Engenharia de Requisitos Níveis de Descrição dos Requisitos Tipos

Leia mais

Esta ferramenta existe para garantir a sua comodidade, agilidade e satisfação.

Esta ferramenta existe para garantir a sua comodidade, agilidade e satisfação. Manual utilização Sistema Gerenciador de Suporte à Cliente http://www.dominioatendimento.com Principais Benefícios e Vantagens: Esta ferramenta existe para garantir a sua comodidade, agilidade e satisfação.

Leia mais

Groupware. Protocolos e Artefatos de Coordenação. Mecanismo de Coordenação. Cleidson de Souza cdesouza@ufpa.br. Artefatos.

Groupware. Protocolos e Artefatos de Coordenação. Mecanismo de Coordenação. Cleidson de Souza cdesouza@ufpa.br. Artefatos. Groupware Tecnologia computacional para auxiliar o trabalho cooperativo Mas Como o trabalho cooperativo é executado? Como as pessoas trabalham em conjunto? Como a tecnologia existente facilita (ou dificulta)

Leia mais

3 Estudo de Ferramentas

3 Estudo de Ferramentas 3 Estudo de Ferramentas Existem diferentes abordagens para automatizar um processo de desenvolvimento. Um conjunto de ferramentas pode ser utilizado para aperfeiçoar o trabalho, mantendo os desenvolvedores

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

Andarta - Guia de Instalação. Guia de Instalação

Andarta - Guia de Instalação. Guia de Instalação Guia de Instalação 29 de setembro de 2010 1 Sumário Introdução... 3 Os Módulos do Andarta... 4 Instalação por módulo... 6 Módulo Andarta Server... 6 Módulo Reporter... 8 Módulo Agent... 9 Instalação individual...

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br

Algoritmos. Cláudio Barbosa contato@claudiobarbosa.pro.br Algoritmos Partes básicas de um sistema computacional: Hardware, Software e Peopleware Hardware - Componentes físicos de um sistema de computação, incluindo o processador, memória, dispositivos de entrada,

Leia mais

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO Danilo Freitas Silvas Sistemas de informação CEATEC danilofs.ti@gmail.com Resumo:

Leia mais

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software. Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos

Leia mais