Uma Abordagem Baseada em Heurísticas para Extração de Linhas de Produto de Software
|
|
- Esther Chaves de Carvalho
- 7 Há anos
- Visualizações:
Transcrição
1 Uma Abordagem Baseada em Heurísticas para Extração de Linhas de Produto de Software Autor: Felipe Nunes Gaia 1, Orientador: Marcelo de Almeida Maia 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia MG Brasil felipegaia@mestrado.ufu.br, marcmaia@facom.ufu.br Nível: Mestrado Ano de ingresso no programa: 2010 Época esperada de conclusão: Agosto / 2012 Resumo. O processo de extração de uma linha de produtos de software (LPS) a partir de um sistema legado pode não ser uma tarefa trivial e consumir muito tempo. Primeiro, os desenvolvedores precisam identificar os componentes responsáveis pela implementação de cada feature do software. Em seguida, devem localizar as linhas de código que referenciam os componentes descobertos no passo anterior. Finalmente, devem extrair essas linhas para módulos independentes ou devem anotar as linhas de alguma forma. A fim de acelerar a extração de linhas de produtos, este trabalho descreve uma abordagem baseada em heurísticas para identificar os melhores cenários de refatoramento das features em uma LPS. A abordagem proposta baseia-se em uma ferramenta identificação dos cenários, que integrado a IDE Eclipse permite identificar cenários através de métricas a partir de colorações pré-estabelecidas. Palavras-Chave. Linhas de produto de software, métricas de software e engenharia de software experimental.
2 1. Introdução e Motivação Linhas de Produto de Software (LPS) refere-se a técnicas emergentes de engenharia que procuram estabelecer o reuso sistemático de software através do compartilhamento de um núcleo comum aos produtos da linha [Clements and Northrop 2001]. Uma LPS contém produtos que compartilham um mesmo domínio de aplicação e possuem pontos de variabilidades entre eles. A adoção desse tipo de abordagem tem como objetivo aumentar a produtividade e a qualidade dos produtos, já que o núcleo é reusado e testado em vários produtos. Várias técnicas já foram utilizadas para implementar LPS. Técnicas baseadas em anotação, como diretivas de pré-processamento [Kernighan and Ritchie 1988], que permitem a separação de features de granularidade menor. Separação virtual de interesses, onde o código é dividido através também de anotações, geralmente por coloração, mas isto é feito virtualmente e não diretamente no código. Técnicas composicionais, como Programação Orientada à Aspectos [Kiczales et al. 1997] e Programação Orientada a Características [Prehofer 1997], que permitem a separação física das features em módulos distintos. No ciclo de vida de um software, mudanças são esperadas e precisam ser acomodadas [Grubb and Takang 2003]. Considerando uma LPS a tendência é existir um número maior de mudanças, já que a LPS necessita de evoluir para atender novas demandas dos stakeholders de vários produtos. Considerando este fato a extração de um LPS a partir de um sistema legado deve proporcionar a facilidade de evolução da mesma, absorvendo a propagação de mudanças e mantendo a estabilidade da arquitetura. Um estudo anterior [Ferreira et al. 2011] tentou estabelecer como melhor se aderem três diferentes técnicas (Compilação Condicional, Programação Orientada à Características e Padrões de Projeto) de implementação de LPS a alguns cenários de evolução. A partir dos resultados obtidos, o principal objetivo deste trabalho é estabelecer um processo para extração de LPS a partir de colorações previamente definidas através de heurísticas baseadas em métricas de modularidade e propagação de mudanças Objetivos Específicos Também são objetivos deste trabalho: - Projetar, implementar e avaliar uma ferramenta para auxílio a extração de LPS a partir de sistemas legados, utilizando as mesmas técnicas de [Ferreira et al. 2011]. A proposta visa facilitar o trabalho de extração de LPS através de alertas de cenários de refatoração onde as métricas de modularidade e propagação de mudanças irão diminuir, consequentemente facilitando posteriores evoluções da LPS. - Propor um processo iterativo para extração de LPS com o objetivo de orientar os desenvolvedores na aplicação da ferramenta proposta. O processo inicia-se com a entrada de uma coloração previamente estabelecida. Posteriormente, o usuário é alertado de possíveis cenários de refatoração do código. A cada etapa, a ferramenta avalia novamente as heurísticas até que não seja mais possível fazer refatorações. - Avaliar o processo de extração proposto em sistemas que possuem cenários de evolução definidos, comparando os resultados obtidos pela aplicação da solução com extrações realizadas manualmente.
3 2. Trabalhos Relacionados Esta seção apresenta alguns trabalhos existentes na literatura que estão relacionados à abordagem proposta. Na subseção 2.1 são apresentados os que se relacionam com as métricas em que este trabalho foi baseado. Em seguida, são abordados os relacionados a avaliação quantitativa de software a partir de métricas (Subseção 2.2). Finalmente, são apresentados alguns estudos já realizados de extração de LPS (Subseção 2.3) Métricas de Software As métricas de software surgiram com objetivo de auxiliar na tomada de decisões ajudando a identificar as possíveis melhorias nos artefatos do software [Fenton and Pfleeger 1998]. Muitas métricas já foram propostas [Chidamber and Kemerer 1994] [Henderson-Sellers 1996] [Lorenz and Kidd 1994], porém este trabalho concentrou-se em dois grupos de métricas: Métricas de estabilidade [Yau and Collofello 1985]: serão utilizadas para quantificar o grau de modificações no código fonte, considerando diferentes níveis de granularidade: Componentes Métodos Linhas de Código Métricas de modularidade [Garcia et al. 2005]: serão utilizadas para quantificar certas propriedades como coesão, acoplamento, separação de interesses e tamanho: Concern Diffusion over Components (CDC) Concern Diffusion over Operations (CDO) Number Of Concern Attributes (NOCA) Concern Diffusion over Lines of Code (CDLOC) Number Of Lines of Concern Code (LOCC) 2.2. Avaliação de Software Baseada em Métricas As abordagens de avaliação existentes que são baseadas em métricas utilizam atributos passíveis de mensuração para identificar características de qualidade como reusabilidade e manutenibilidade. Uma forma comum de se fazer este mapeamento é utilizando modelos de qualidade [Boehm et al. 1976] [Sant anna et al. 2003] [Figueiredo and Staa 2005]. Um modelo de qualidade foi proposto em [Sant anna et al. 2003], revisado em [Figueiredo and Staa 2005], com o objetivo de avaliar sistemas orientado a aspectos. Este modelo utiliza métricas de software para predizer características de manutenibilidade e reusabilidade Extração de LPS Em [Kästner et al. 2007] foi documentado a extração de features do sistema gerenciador de banco de dados (Berkley DB) usando programação orientada por aspectos (AspectJ). Como o sistema era de tamanho e complexidade consideráveis, foram encontrados diversos problemas durante a extração, a maioria decorrentes das limitações de AspectJ em lidar com variabilidades de granularidade fina. Uma abordagem formal para refatoração orientada a features foi descrita em [Liu et al. 2006]. A abordagem proposta, baseada na linguagem composicional AHEAD [Batory 2004], foi usada para extrair features do framework Prevayler. Porém os autores não detalharam as transformações necessárias no código base que permitiram a extração das features para refinamentos (as unidades de modularização suportadas em AHEAD).
4 3. Metodologia e Estado da Pesquisa O trabalho será dividido da seguinte forma: 1. Identificação das heurísticas a partir de 2 estudos de casos já realizados. 2. Implementação da ferramenta que guiará o implementador. 3. Extração da LPS a partir da ferramenta. 4. Comparação dos resultados com a linha extraída pelos projetistas Regras Heurísticas Cada regra é uma expressão baseada em métricas que indicam certas características das colorações avaliadas e podem apontar possíveis cenários de refatoração. O principal objetivo das regras é fornecer uma informação mais abstrata ao desenvolvedor, evitando que este trabalhe diretamente com números e, portanto, facilitar a interpretação dos resultados. Uma regra pode ser expressa como um comando condicional de acordo com a estrutura: SE <condição> ENTÃO <conseqüência> Uma condição contém a combinação de métricas e valores limites para avaliação dos cenários e uma consequência se apresenta como uma classificação da refatoração ideal para aquele cenário Ferramenta para Auxílio à Extração de LPS A ferramenta proposta não tem o objetivo de automatizar a extração da LPS, mas ela irá alertar o usuário sobre cenários onde é possível serem feitas refatorações de código e sugerir como as mesmas devem ser feitas de acordo com a técnica escolhida. Figura 1. Processo para extração da LPS Ela guiará o usuário através de um processo que se repete até que o sistema legado esteja transformado em uma LPS e que não exista mais cenários de refatoração que interessam o desenvolvedor, conforme a figura 1. Inicialmente as métricas são coletadas a partir da coloração, em seguida as regras heurísticas pré-estabelecidas são aplicadas de acordo com as métricas
5 e identifica os cenários possíveis de refatoração. Em seguida o usuário escolhe um cenário de aplica a refatoração manualmente. Assim o processo se repete coletando as métricas nos artefatos de código alterados Estado da pesquisa Atualmente o segundo estudo de caso está em fase de conclusão e a partir disso começam a ser identificados os cenários de refatoração, as heurísticas que os identificam e a maneira correta de se executar a refatoração de acordo com a técnica escolhida. 4. Cronograma do Trabalho até a Defesa Etapas: Etapas 2011/ Novembro Dezembro Janeiro Fevereiro Março Abril Maio Junho Julho Agosto 1: Identificação das heurísticas. 2: Implementação da ferramenta. 3: Primeiro Estudo de Caso. 4: Submissão de Trabalho. 5: Segundo Estudo de Caso. 6: Submissão de trabalho. 7: Escrita da dissertação. 8: Apresentação / Defesa. Referências Batory, D. (2004). Feature-oriented programming and the ahead tool suite. In Proceedings of the 26th International Conference on Software Engineering, ICSE 04, pages , Washington, DC, USA. IEEE Computer Society. Boehm, B. W., Brown, J. R., and Lipow, M. (1976). Quantitative evaluation of software quality. In Proceedings of the 2nd international conference on Software engineering, ICSE 76, pages , Los Alamitos, CA, USA. IEEE Computer Society Press. Chidamber, S. and Kemerer, C. (1994). A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20: Clements, P. and Northrop, L. (2001). Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison Wesley. Fenton, N. E. and Pfleeger, S. L. (1998). Software Metrics: A Rigorous and Practical Approach. PWS Publishing Co., Boston, MA, USA, 2nd edition.
6 Ferreira, G., Gaia, F., Figueiredo, E., and Maia, M. (2011). On the use of feature-oriented programming for evolving software product lines: A comparative study. Brazilian Symposium on Programming Languages. Figueiredo, E. and Staa, A. (2005). Avaliação de um modelo de qualidade para implementações orientadas a objetos e orientadas a aspectos. PUC. Garcia, A., Sant Anna, C., Figueiredo, E., Kulesza, U., Lucena, C., and von Staa, A. (2005). Modularizing design patterns with aspects: a quantitative study. In Proceedings of the 4th international conference on Aspect-oriented software development, AOSD 05, pages 3 14, New York, NY, USA. ACM. Grubb, P. and Takang, A. (2003). Software maintenance: concepts and practice. World Scientific. Henderson-Sellers, B. (1996). Object-oriented metrics: measures of complexity. Prentice-Hall, Inc., Upper Saddle River, NJ, USA. Kästner, C., Apel, S., and Batory, D. (2007). A Case Study Implementing Features Using AspectJ. In Proceedings Int l Software Product Line Conference (SPLC), pages Kernighan, B. and Ritchie, D. (1988). The C programming language. Prentice-Hall software series. Prentice Hall. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwin, J. (1997). Aspect-oriented programming. In Aksit, M. and Matsuoka, S., editors, ECOOP 97 Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages Springer Berlin / Heidelberg /BFb Liu, J., Batory, D., and Lengauer, C. (2006). Feature oriented refactoring of legacy applications. In Proceedings of the 28th international conference on Software engineering, ICSE 06, pages , New York, NY, USA. ACM. Lorenz, M. and Kidd, J. (1994). Object-Oriented Software Metrics: A Practical Approach. Prentice-Hall. Prehofer, C. (1997). Feature-oriented programming: A fresh look at objects. In Aksit, M. and Matsuoka, S., editors, ECOOP 97 Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages Springer Berlin / Heidelberg /BFb Sant anna, C., Garcia, A., Chavez, C., von Staa, A., and Lucena, C. (2003). On the Reuse and Maintenance of Aspect-Oriented Software: An Evaluation Framework. In XVII Brasilian Symposium on Software Engineering. Sociedade Brasileira da Computação. Yau, S. and Collofello, J. (1985). Design stability measures for software maintenance. Software Engineering, IEEE Transactions on, SE-11(9):
18/10/2013. Resumo. Os mecanismos. Introdução. Padrões de projeto (OO) Compilação condicional
On the Use of Feature-Oriented Programming for Evolving Software Product Lines A Comparative Study Gabriel Coutinho Sousa Ferreira, Felipe Nunes Gaia, Eduardo Figueiredo and Marcelo de Almeida Maia {gabriel,
Leia mais1.1. Definição do Problema
13 1 Introdução Uma das principais preocupações de área de engenharia de software diz respeito à reutilização [1]. Isso porque a reutilização no contexto de desenvolvimetno de software pode contribuir
Leia maisQualidade de Produto. Maria Cláudia F. P. Emer
Qualidade de Produto Maria Cláudia F. P. Emer Introdução Qualidade diretamente ligada ao produto final Controle de qualidade Adequação do produto nas fases finais no processo de produção Software Atividades
Leia maisIntrodução. Qualidade de Produto. Introdução. Introdução ISO/IEC 9126. Normas
Qualidade de Produto Maria Cláudia F.P. Emer Introdução z Qualidade diretamente ligada ao produto final z Controle de qualidade Adequação do produto nas fases finais no processo de produção z Software
Leia maisComposição e Geração de Aplicações usando Aspectos
Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Rosana Teresinha Vaccare Braga 1 1 Programa de Mestrado em Ciências de Computação e Matemática Computacional
Leia maisDesenvolvimento de Linhas de Produtos de Software com uma Arquitetura Orientada a Serviços
Desenvolvimento de Linhas de Produtos de Software com uma Arquitetura Orientada a Serviços Aluno: Paulo Gabriel G. Queiroz 1 Orientadora: Rosana T. Vaccare Braga 1 1 Programa de Pós-Graduação em Ciências
Leia maisLINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.
INTRODUÇÃO O processo de engenharia de software define quem faz o quê, quando e como para atingir um determinado objetivo. Neste trabalho, iremos dissertar sobre o Rational Unified Process, ou RUP, que
Leia maisProporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;
Módulo 7 UML Na disciplina de Estrutura de Sistemas de Informação, fizemos uma rápida passagem sobre a UML onde falamos da sua importância na modelagem dos sistemas de informação. Neste capítulo, nos aprofundaremos
Leia maisCIDE+: Uma Ferramenta para Extração Semi-automática de Linhas de Produtos de Software Usando Coloração de Código
CIDE+: Uma Ferramenta para Extração Semi-automática de Linhas de Produtos de Software Usando Coloração de Código Virgílio Borges de Oliveira 1, Rógel Garcia 2, Marco Túlio Valente 2 1 Instituto de Informática,
Leia maisProcesso de Desenvolvimento de Software
Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma
Leia maisPlano de Teste. Arndt von Staa Departamento de Informática PUC-Rio Maio 2014
Plano de Teste Arndt von Staa Departamento de Informática PUC-Rio Maio 2014 Especificação Objetivo desse módulo apresentar e discutir planos de teste Justificativa para realizar testes de forma confiável
Leia maisEstudo de um caso real de migração de banco de dados de sistemas transacionais para Data Warehouse
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Bacharelado em Ciências da Computação Trabalho de Conclusão de Curso Estudo de um caso real de migração de banco de dados de sistemas
Leia maisComunicação; Planejamento; Modelagem; Análise; Projeto; Construção; Teste; e Implantação.
Disciplina: Engenharia de Software AULA 02 Comunicação; Planejamento; Modelagem; Análise; Projeto; Construção; Teste; e Implantação. Corpo docente: MsC. Alexandro Vladno Edmilson Campos MsC. Fábio Procópio
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 16 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar, discutir o conceito de métricas de software. DESENVOLVIMENTO Métricas
Leia maisAgenda da Aula. Programação Orientada a Características com AHEAD. Característica Modular. Programação Orientada a Características (FOP)
Reuso de Software Aula 17 Agenda da Aula Programação Orientada a Características com AHEAD Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 07 Maio 2012 Programação Orientada
Leia maisAula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 23 Setembro 2013 Bibliografia Método de avaliação
Leia maisPrograma Analítico de Disciplina INF323 Engenharia de Software II
0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos
Leia maisSegurança para Serviços Web no Ambiente pipes-br
UNIVERSIDADE SALVADOR- UNIFACS PLANO DE TRABALHO EM INICIAÇÃO CIENTÍFICA Segurança para Serviços Web no Ambiente pipes-br Bruno Oliveira Xavier de Souza José Augusto Suruagy Monteiro Salvador 03/05/2006
Leia maisEngenharia de Software - 1
Engenharia de Software Licenciatura de EI 2008/2009-6º semestre msantos@ispgaya.pt Engenharia de Software - 1 Objectivos da Cadeira de Engenharia de Software da Licenciatura de EI Ensinar fundamentos de
Leia maisCaptor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos
Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Paulo Cesar Masiero 1 Rosana Teresinha Vaccare Braga 1 1 Instituto de Ciências
Leia maisINTEGRAÇÃO JAVA COM ARDUINO
INTEGRAÇÃO JAVA COM ARDUINO Alessandro A. M. De Oliveira 3, Alexandre O. Zamberlan 3, Reiner F Perozzo 3, Rafael O. Gomes 1 ;Sergio R. H Righi 2,PecilcesP. Feltrin 2 RESUMO A integração de Linguagem de
Leia maisPlanejamento da Disciplina Controle e Servomecanismos II
Planejamento da Disciplina Controle e Servomecanismos II Esta versão utiliza a 3 a edição do livro [1] e não mais será atualizada Identificação UERJ Faculdade de Engenharia Departamento de Eletrônica e
Leia maisPLANEJAMENTO SIMPLIFICADO DE PROJETOS
PLANEJAMENTO SIMPLIFICADO DE PROJETOS Nestor Nogueira de Albuquerque, MsC. Gestão e Desenvolvimento Regional V Encontro de Pós-GraduaP Graduação UNITAU 2005 Necessidade de um processo de Gestão de Projetos
Leia maisIntegração de Métricas Estáticas e Dinâmicas para apoiar a Avaliação da Qualidade em Modelos de Software
Integração de Métricas Estáticas e Dinâmicas para apoiar a Avaliação da Qualidade em Modelos de Software Deivison Barreto, Mara Barcelos, Aline Vasconcelos Instituto Federal de Educação, Ciência e Tecnologia
Leia maisDesenvolvimento de Linhas de Produtos de Software usando Técnicas Orientadas a Aspectos
Programa Nacional de Cooperação Acadêmica PROCAD / CAPES Desenvolvimento de Linhas de Produtos de Software usando Técnicas Orientadas a Aspectos Coordenador: Prof. Paulo Henrique Monteiro Borba Universidade
Leia maisDocumento de Requisitos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0
SISFOTO Sistema de Gerenciamento de Eventos Fotográficos do Sistema SISFOTO Sistema de gerenciamento de eventos fotográficos Versão 1.0 Histórico de Alterações Data Versão Descrição Autor 17/10/2014 1.0
Leia maisATMM uma ferramenta para gerenciamento de métricas de teste no contexto de métodos ágeis
ATMM uma ferramenta para gerenciamento de métricas de teste no contexto de métodos ágeis M.Sc. André Abe Vicente, Dr. Márcio Eduardo Delamaro Instituto de Ciências Matemáticas e de Computação ICMC Universidade
Leia maisRefatoração de Software
Refatoração de Software O que é? Atividade em que a estrutura interna de um software é modificada de modo que seu comportamento externo seja preservado; O objetivo é melhorar a qualidade do software; Cada
Leia maisTipos para uma Linguagem de Transformação
Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto
Leia maisCapacitação em Monitoria e Avaliação Apresentação. Maputo, Moçambique 2008
Capacitação em Monitoria e Avaliação Apresentação Maputo, Moçambique 2008 Objectivo Principal Criar e estabelecer capacidade técnica institucional em Monitoria e Avaliação Porque é importante uma capacidade
Leia maisComponentes de Software Baseados em Engenharia de
19 a 21 de mar o de 2010 117 Componentes de Software Baseados em Engenharia de Domínio Leonardo Ciocari, Rafael Cancian 1 Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar) Universidade do Vale
Leia maisInterpretações de Qualidade de Software. Interpretações de Qualidade de Software. Aspectos Importantes das Definições de Qualidade
terpretações de de é um termo que pode ter diferentes interpretações e para se estudar a qualidade de software de maneira efetiva é necessário, inicialmente, obter um consenso em relação à definição de
Leia maisRelatório Técnico: Descrição do algoritmo para pesquisa automática dos egressos do curso de Ciência da Computação
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Ciências da Computação Laboratório de Engenharia de Software Relatório Técnico: Descrição do algoritmo
Leia maisUTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB
UTILIZAÇÃO DE ARQUITETURA EM CAMADAS BASEADA NO MODEL VIEW CONTROLLER, EM APLICAÇÕES WEB Viviani Priscila Piloni VILHEGAS 1 RESUMO: Este trabalho procura mostrar a importância da utilização de um modelo
Leia maisGUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR
Curso Engenharia Informática Ano letivo 2015-2016 Unidade Curricular Inteligência Artificial ECTS 4 Regime Obrigatório Ano 3.º Semestre 1.º Horas de trabalho globais Docente (s) Celestino Gonçalves Total
Leia mais3 Informações para Coordenação da Execução de Testes
Informações para Coordenação da Execução de Testes 32 3 Informações para Coordenação da Execução de Testes Diversas ferramentas oferecidas na literatura têm auxiliado na coordenação da execução dos testes
Leia maisArquitetura de Referência para Projeto Detalhado de Frameworks Transversais de Persistência
Arquitetura de Referência para Projeto Detalhado de Frameworks Transversais de Persistência Aluno: Rogério Lazanha 1 Orientador: Valter Vieira de Camargo 2 ¹Centro Universitário Eurípedes Soares da Rocha
Leia maisCurso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1
Curso de Sistemas de Informação 8º período Disciplina: Tópicos Especiais Professor: José Maurício S. Pinheiro V. 2009-1 Aula 5 Sistemas Biométricos 1. Sistema Biométrico Típico Qualquer que seja a característica
Leia maisUm Perfil UML para Frameworks Transversais
Um Perfil UML para Frameworks Transversais Aluno: José Uetanabara Júnior 1 Orientador: Valter Vieira de Camargo 2 ¹Instituto de Informática Univem Centro Universitário Eurípides de Marília Marília, São
Leia maisUniversidade do Algarve Faculdade de Ciência e Tecnologia Engenharia de Programação
Universidade do Algarve Faculdade de Ciência e Tecnologia Engenharia de Programação Docente: Engª. Paula Ventura Discentes: Marta Santos nº13828 IG Vera Rocha nº13594 IG Um modelo de processo é uma representação
Leia maisOpenPDV: Sistema aberto para gerenciamento de restaurantes
Universidade Federal de Santa Catarina Departamento de Informática e Estatística INE5638 Introdução a Projetos Orientador: José Eduardo de Lucca OpenPDV: Sistema aberto para gerenciamento de restaurantes
Leia mais4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software
4 Um processo para a elaboração de perguntas de questionários para a elicitação de requisitos de software Esse capítulo tem por objetivo apresentar um método que foi criado com objetivo de prover ao Engenheiro
Leia maisGerenciamento de Integração. Prof. Anderson Valadares
Gerenciamento de Integração Prof. Anderson Valadares 1. Conceito A área de conhecimento em gerenciamento de integração do projeto inclui processos e as atividades necessárias para identificar, definir,
Leia maisMarcelo Henrique dos Santos
Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com REUSO DE
Leia maisTESTANDO MAIS PARA DEPURAR MENOS: OS BENEFICIOS DOS TESTES PARA O DESENVOLVIMENTO DE SOFTWARE
TESTANDO MAIS PARA DEPURAR MENOS: OS BENEFICIOS DOS TESTES PARA O DESENVOLVIMENTO DE SOFTWARE Willian Gilson de Melo 1 Álvaro Ferraz d Arce 2 RESUMO: Neste artigo, serão abordadas três metodologias de
Leia maisTEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1
TEORIA DAS FILAS COMO TÉCNICA MATEMÁTICA PARA REPRESENTAR O COMPORTAMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO EMPRESARIAL 1 Arléte Kelm Wiesner 2, Gabriel Freytag 3, Rafael Z. Frantz 4, Sandro Sawicki 5, Fabricia
Leia maisEH-Meter Uma Ferramenta para Coleta de Métricas de Tratamento de Exceções
EH-Meter Uma Ferramenta para Coleta de Métricas de Tratamento de Exceções Júlio César Taveira 1, Fernando Castor 2, Sergio Soares 1,2 1 Departamento de Sistemas e Computação Universidade de Pernambuco
Leia maisUMA ABORDAGEM SOBRE A EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO COM ÊNFASE EM ORIENTAÇÃO A OBJETO E ORIENTAÇÃO A ASPECTO
UMA ABORDAGEM SOBRE A EVOLUÇÃO DAS LINGUAGENS DE PROGRAMAÇÃO COM ÊNFASE EM ORIENTAÇÃO A OBJETO E ORIENTAÇÃO A ASPECTO Anderson dos Santos Ferraz¹, Claudete Werner¹ ¹Universidade Paranaense (Unipar) Paranavaí
Leia maisAlgoritmos e Programação II
Algoritmos e Programação II Agenda Desenvolver Software Objetos Classes Estudo de algumas Classes da API Estudo de algumas Classes da API Pacotes Criando nossa primeira classe Desenvolver SOFTWARE GAP
Leia maisINTRODUÇÃO A CONTABILIDADE
1.1. Contabilidade para não Contadores INTRODUÇÃO A CONTABILIDADE Objetiva ensinar a Contabilidade para aqueles que não são contadores, mas necessitam interpretar (entender) a Contabilidade, os relatórios
Leia maisComo Fazer uma Monografia
Como Fazer uma Monografia Profa. Mara Abel Instituto de Informática / UFRGS marabel@inf.ufrgs.br O que é uma monografia? A descrição, através de um texto com formato pré-definido, dos resultados obtidos
Leia maisTEMPLATE PARA TCC IFFAR - SVS
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA FARROUPILHA - CAMPUS SÃO VICENTE DO SUL TEMPLATE PARA TCC IFFAR - SVS TRABALHO
Leia maisQualidade de Software Normatização
Qualidade de Software Normatização Norma ISO/IEC 12207 processo do ciclo de vida de software Norma criada em 1995 com o objetivo de fornecer uma estrutura comum para adquirente, fornecedor, desenvolvedor,
Leia maisTítulo : B1 INTRODUÇÃO. Conteúdo : INTRODUÇÃO
Título : B1 INTRODUÇÃO Conteúdo : INTRODUÇÃO O termo documentação tornou se um conceito básico nos negócios, na administração, na ciência e na tecnologia da informação. A modelagem nada mais é que uma
Leia maisPROJETO DE REDES www.projetoderedes.com.br. Prof. José Maurício S. Pinheiro UniFOA 2009-2
PROJETO DE REDES www.projetoderedes.com.br Tecnologias WEB Web 3.0 Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos As pessoas geram o conhecimento; A informação é a matéria prima na geração de
Leia mais10/10/2012. Artigo: Autores:
Artigo: Apresentar um estudo sistemático sobre as métricas de acoplamento na Programação Orientada a Aspectos e seu impacto na manutenibilidade e estabilidade do projeto. Autores: Rachel Burrows, Alessandro
Leia maisDEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY
DEFINING METRIC THRESHOLDS FOR SOFTWARE PRODUCT LINES: A COMPARATIVE STUDY APRESENTADO POR: BRUNO LUAN DE SOUSA QUA L I DA DE E MEDIÇÃO DE SOFTWA R E U N I V E R S I DA D E F E D E R A L D E MINAS G E
Leia maisCapítulo 3: Qualidade de Produto e a ISO 9126
Capítulo 3: Qualidade de Produto e a ISO 9126 Capítulo 1: Introdução Capítulo 2: Conceitos Básicos Capítulo 3: Qualidade de Produto (ISO9126) Capítulo 4: ISO9001 e ISO9000-3 Capítulo 5: CMM Capítulo 6:
Leia maisFerramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos
Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Eduardo Santana de Almeida Daniel Lucrédio Calebe de Paula Bianchini Antonio Francisco do
Leia maisMarcelo Henrique dos Santos
Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação Email:
Leia maisSEGMENTAÇÃO DE GALÁXIAS BASEADAS EM CARACTERÍSTICAS ÓPTICAS ATRAVÉS DO WATERSHED
SEGMENTAÇÃO DE GALÁXIAS BASEADAS EM CARACTERÍSTICAS ÓPTICAS ATRAVÉS DO WATERSHED Thiago Crestani 1 ; Fábio José Rodrigues Pinheiro 2 INTRODUÇÃO O desenvolvimento de novas tecnologias tem resultado na produção
Leia maisProblems and Programmers
DCC / ICEx / UFMG Problems and Programmers Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Visão Geral do PnP O jogo Problems and Programmers (PnP) simula um processo de software Fase de requisitos
Leia maisModelos de Ciclo de Vida de Software
Análise 1 Modelos de Ciclo de Vida de Software Um ciclo de vida do software é um período aproximado do desenvolvimento de software, com capacidade de entrega específica e marcos dentro de cada fase. Um
Leia maisArquitetura TCP/IP. Apresentado por: Ricardo Quintão
Arquitetura TCP/IP Apresentado por: Ricardo Quintão Roteiro Conexões Inter-redes Serviço Universal Rede Virtual (inter-rede ou internet) Protocolos para ligação inter-redes (TCP/IP) Divisão em camadas
Leia maisProdução de Vídeos Didáticos: Tábua de Galton
UNICAMP - Universidade Estadual de Campinas; IFGW Instituto de Física Gleb Watagin; Relatório Final de F 809, Instrumentação para ensino: Produção de Vídeos Didáticos: Tábua de Galton André de Ávila Acquaviva,
Leia maisVerificação e validação
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Verificação e validação Engenharia de Software 2o. Semestre de 2005
Leia maisPrimeira Prova de Análise e otimização de Código - DCC888 -
Primeira Prova de Análise e otimização de Código - DCC888 - Ciência da Computação Nome: Eu dou minha palavra de honra que não trapacearei neste exame. Número de matrícula: As regras do jogo: A prova é
Leia maisDocumento de Processo
Documento de Processo versão 1.0 Desenvolvimento do Sistema de Gestão de Documentos Doc Manager Cliente: São José Agroindustrial Representante do cliente: Paulo José de Souza 2 Histórico de Alterações
Leia maisÍndice 1. CONTEXTO... 3 2. OBJETIVOS... 5 4. CRONOGRAMA... 6 5. REFERÊNCIAS... 7 7. ASSINATURAS... 8 2
U NIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 20010. 1 SUPORTE A UM SISTEMA OPERACIONAL NO PDESIGNER PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno Igino Musselman
Leia mais- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br
Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula E-mail: fernandohs@ifsp.edu.br Sistemas de Arquivos- Parte 2 Pontos importantes de um sistema de arquivos Vários problemas importantes devem
Leia maisLÓGICA E ROBÓTICA PRIMEIRAS IMPRESSÕES
LÓGICA E ROBÓTICA PRIMEIRAS IMPRESSÕES LUCENA, José Henrique Blenke de Almeida¹; Frozza, Angelo Augusto 2 Instituto Federal Catarinense - IFC, Camboriú/SC INTRODUÇÃO O ensino de Algoritmos, ou Lógica de
Leia maisAUTOMAÇÃO COMERCIAL UNIDADE VI
AUTOMAÇÃO COMERCIAL UNIDADE VI Automação Comercial e as Aplicações Ligadas ao ERP Os Sistemas de Enterprise Resource Planing ERP ERP (Enterprise Resource Planning, planeamento de Recursos Empresariais)
Leia maisArquitetura de Software: Documentação
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SSC-0527 Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa Tiago Volpato Introdução
Leia maisde rede são comumente utilizadas nos dias de hoje. Um dos grandes desafios para a tecnologia de redes sem fio no momento é o handoff vertical, onde
15 1 Introdução A utilização e a popularidade dos dispositivos móveis crescem a cada dia. Mobilidade, flexibilidade, facilidade de comunicação e entretenimento proporcionado por dispositivos, como laptops,
Leia maisREUSO E REUSABILIDADE
REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.
Leia maisAula 1 Oficina de Programação e Laboratório Apresentação. Profa. Elaine Faria UFU - 2016
Aula 1 Oficina de Programação e Laboratório Apresentação Profa. Elaine Faria UFU - 2016 Dados do Professor Elaine Ribeiro de Faria Paiva Email: elaine@ufu.br Sala: 1B137 Horário de atendimento (agendado
Leia mais3 Estado da Arte e Trabalhos Relacionados
29 3 Estado da Arte e Trabalhos Relacionados Neste capítulo resumimos alguns trabalhos existentes na literatura que se relacionam à abordagem de avaliação proposta nesta dissertação. O objetivo de todo
Leia maisO que é? Prof. Ms. Ricardo J Marques
1 O que é? O CobiT auxilia as organizações a ter uma Governança de TI mais controlada. Pode dizer-se que se posiciona a um nível superior ao da Gestão de Serviços de TI (ITIL) e da própria norma de Serviços
Leia maisAula 05 Instalação e Uso do Arcabouço. Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016
Aula 05 Instalação e Uso do Arcabouço Alessandro Garcia Alexander Chávez LES/DI/PUC-Rio Março 2016 Sumário Teste automatizado Instalação do arcabouço. Estrutura de diretórios do arcabouço. Como utilizar
Leia mais15/09/2014. Aula 01: Apresentação. Review to 1 st Exam. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Software Reuse Lecture 13 Aula 01: Apresentação Review to 1 st Exam Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 15 September 2014 Bibliografia Método de avaliação Provas
Leia maisAvaliação da Satisfação do Cliente de Informática
Avaliação da Satisfação do Cliente de Informática JULIANO MAIA ARINS Orientador: Everaldo Artur Grahl Roteiro de Apresentação Introdução Objetivos Qualidade de Software Qualidade Princípios da Qualidade
Leia maisEngenharia de Software. Ciclos de Vida do Software. 1. Sistemas
Engenharia de Software Profa. Dra. Lúcia Filgueiras Profa. Dra. Selma S. S. Melnikoff Ciclos de Vida do Software 1. Sistemas 2. Crise do software 3. Caracterização do software 4. Ciclos de vida do software
Leia maisUniversidade Federal de Pernambuco Centro de Informática Departamento de Sistemas de Computação. Graduação em Ciência da Computação
Universidade Federal de Pernambuco Centro de Informática Departamento de Sistemas de Computação Graduação em Ciência da Computação AUTOMAÇÃO DO PROCESSO DE IDENTIFICAÇÃO DE ASPECTOS EM MODELOS I* Cleviton
Leia maisAlgoritmo e Pseudo-código
Departamento de Sistemas de Computação Universidade de São Paulo Algoritmo e Pseudo-código Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br) Objetivos do Curso Desenvolver o Pensamento Computacional
Leia maisMódulos Combinatórios
Arquitectura de Computadores I Engenharia Informática (11537) Tecnologias e Sistemas de Informação (6616) Módulos Combinatórios Nuno Pombo / Miguel Neto Arquitectura Computadores I 2014/2015 1 Somadores
Leia maisSistemas de Tempo Real
Escola de Computação 2000 - IME-USP Sistemas de Tempo Real Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento de Automação
Leia maisModelo CMMI em Fábrica de Software
Modelo CMMI em Fábrica de Software Carol Passos Gerente de Conhecimento - BRAXIS Março/2007 Assuntos Motivação Modelo CMMI Melhoria de Processo de Software Fábrica de Software Processo de Produção de Software
Leia maisProgramação Orientada a Objetos. Professor Leonardo Cabral - Larback
Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),
Leia maisDEVF IT Solutions. Gerenciador de Log. Documento Visão. Versão 2.0. Projeto Integrador 2015/2 Engenharia de Software
1 Gerenciador de Log Documento Visão Versão 2.0 2 Índice 1. Histórico de Revisões...3 2. Objetivo do Documento...4 3. Sobre o Problema...4 4. Sobre o produto...4 4.1. Descrição Geral sobre o produto...4
Leia maisModelando sistemas em UML - Casos de uso.
Modelando sistemas em UML - Casos de uso. Neste artigo vou falar um pouco sobre modelagem de sistemas usando UML focando exclusivamente os diagramas de casos de uso. A primeira coisa que devemos ter em
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: QUALIDADE DE SOFTWARE Tema: Testes de Caixa
Leia maisGESTÃO DA MANUTENÇÃO
Classificação Nível de Criticidade para Equipamentos S Q W Itens para avaliação Segurança cliente interno cliente externo meio-ambiente Qualidade Condição de trabalho Status Equipamento A B D P M Perdas
Leia maisGuia para Modelagem de Casos de Uso Metodologia CELEPAR
Guia para Modelagem de Casos de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiamodelagemcasosuso.odt Número de páginas: 14 Versão Data Mudanças Autor 1.0 25/04/07
Leia maisSSC 5764 Engenharia de Software. Profa. Paulo C. Masiero 1º. 2012
SSC 5764 Engenharia de Software Profa. Paulo C. Masiero 1º. 2012 SSC 5764 - Objetivos Oferecer aos alunos uma visão abrangente do processo de desenvolvimento de software, baseando-se no seu ciclo de vida
Leia mais1 Introdução. 1.1 Importância da Utilização da Amostragem
1 Introdução Um dos principais objetivos da maioria dos estudos, análises ou pesquisas estatísticas é fazer generalizações seguras com base em amostras, sobre as populações das quais as amostras foram
Leia maisSUMÁRIO PARTE I. Princípios de Projeto, a Linguagem de Modelagem Unificada (Unified Modeling Language, ou UML) e Projeto em Nível de Código
SUMÁRIO INTRODUÇÃO O processo de software.......21 0.1 INTRODUÇÃO AO PROCESSO DE SOFTWARE.21 0.1.1 As fases do processo de software.....21 0.1.2 Estilos do processo de software.......22 0.1.3 Procedimentos
Leia maisProgramação em JAVA. Subtítulo
Programação em JAVA Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras em
Leia mais