Engenharia de Software II



Documentos relacionados
Engenharia de Software II

Engenharia de Software II

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

Princípios do teste de software

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

Juciara Nepomuceno de Souza Rafael Garcia Miani. Teste de Software

Engenharia de Software II

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

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

Teste de Software Parte 1. Prof. Jonas Potros

Fundamentos de Teste de Software

Introdução ao Processo Unificado (PU)

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Paradigmas de Engenharia de Software

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

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

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

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

Engenharia de Software

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

3. Fase de Planejamento dos Ciclos de Construção do Software

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

3 Qualidade de Software

Engenharia de Software II

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Software II

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

Gestão por Competências

Guia de utilização da notação BPMN

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

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

Engenharia de Software II

Engenharia de Software

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

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

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

SISTEMA DE PRODUÇÃO DISCRETA

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

ISO 9001: SISTEMAS DE GESTÃO DA QUALIDADE

ESTRESSE OCUPACIONAL SAÚDE E SEGURANÇA DO TRABALHO

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Administração da Produção I

Fundamentos de Teste de Software

Processos de Software

Copyright Proibida Reprodução. Prof. Éder Clementino dos Santos

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Unidade II MODELAGEM DE PROCESSOS

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Diretrizes para determinação de intervalos de comprovação para equipamentos de medição.

Qualidade de Software

Análise e Projeto de Software

Disciplina: Gerenciamento de Projetos e Práticas de Integração. Gerenciamento de Projetos e Práticas de Integração.

Administração da Produção I

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Modelagem e Simulação

PMBoK Comentários das Provas TRE-PR 2009

Fundamentos da Administração Estratégica AULA 2

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

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

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Processo de Desenvolvimento de Software

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

O Processo Unificado

Indústria de Cartões de Pagamento (PCI) Padrão de segurança de dados. Resumo de Alterações da Versão 2.0 para a 3.0 do PCI-DSS

Administração de Sistemas de Informação Gerenciais

Classificação de Sistemas: Sistemas Empresariais

TechProf Documento de Arquitetura

agility made possible

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

NORMA NBR ISO 9001:2008

Interseções. Lastran/Ufrgs

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

AULA 6 Esquemas Elétricos Básicos das Subestações Elétricas

Política de Gerenciamento de Risco Operacional

Serviço Nacional de Aprendizagem Industrial Departamento Regional de São Paulo PLANO DE CURSO. Área Profissional: Saúde

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

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

Programação Orientada a Objeto

Especificação Operacional.

Gerenciamento de Projetos Modulo IX Qualidade

GERÊNCIA DE PROJETOS Prof. Késsia Rita da Costa Marchi 4ª Série

Apresentação da Disciplina Processo de Software

Modelos de Processo (métodos)

2 Engenharia de Software

Transcrição:

Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1

Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva? As atividades guarda-chuva são aplicáveis durante todo o processo de software. Exemplos: medição, gestão de risco As atividades de arcabouço são aplicáveis somente durante certas fases do processo. Exemplos: planejamento, modelagem, construção Aula 14-07/05/2006 2

Processo de Software Quais são os estágios do modelo de processos em cascata? Comunicação, planejamento, modelagem, construção e implantação. Por que o modelo em cascata algumas vezes falha? Três motivos principais: É difícil de acomodar modificações à medida que o projeto prossegue. É difícil estabelecer todos os requisitos inicialmente. Uma versão executável do programa só fica disponível no final do processo. Aula 14-07/05/2006 3

Processo de Software O que é o núcleo de produto no modelo incremental? É o primeiro incremento, em que todos os requisitos básicos estão satisfeitos, mas muitas outras características suplementares (conhecidas ou desconhecidas) não estão. Aula 14-07/05/2006 4

Processo de Software Em que situações o modelo RAD é apropriado? O modelo RAD é apropriado em situações onde: Os requisitos são bem compreendidos. A aplicação pode ser modularizada. Há recursos humanos suficientes para criar um número adequado de equipes RAD. Aula 14-07/05/2006 5

Processo de Software Quais são as desvantagens do modelo RAD? As desvantagens principais são as seguintes: Exige recursos humanos suficientes para criar um número adequado de equipes RAD. Exige comprometimento de desenvolvedores e clientes com os prazos curtos. Exige que o projeto seja modularizável. Aula 14-07/05/2006 6

Processo de Software Para que serve um protótipo? Serve como um mecanismo de identificação dos requisitos do software. Concentra-se na representação dos aspectos do software que são visíveis para o cliente. Aula 14-07/05/2006 7

Processo de Software Por que o modelo de métodos formais que garante a correção do software não é amplamente utilizado? Cite dois motivos. Os três motivos principais são: O desenvolvimento de modelos formais é muito lento e custoso. É necessário um treinamento extensivo para os desenvolvedores. É difícil usar os modelos na comunicação com o cliente. Aula 14-07/05/2006 8

Processo de Software Processo unificado e UML são a mesma coisa? Responda sim ou não e justifique sua resposta. Não. UML é uma linguagem de modelagem que é amplamente utilizada na modelagem de análise e projeto. O processo unificado é um arcabouço de processo que utiliza a UML como linguagem de modelagem. Aula 14-07/05/2006 9

Processo de Software Qual é a diferença entre o Documento de Visão e o Caso de Negócio Inicial no Processo Unificado? O documento de visão dá uma visão geral dos requerimentos e das características mais importantes do software. O caso de negócio inicial fornece as informações necessárias para decidir se vale a pena investir no projeto. Aula 14-07/05/2006 10

Processo de Software Qual é o principal foco do desenvolvimento ágil? O foco principal é a entrega contínua de software funcionando. No processo XP, os testes de unidade devem ser criados antes ou depois do código? Por quê? Antes. Porque uma vez criados os testes unitários, o desenvolvedor estará melhor preparado para focalizar o que precisa ser implementado. Além disso, assim que o código fica pronto ele pode ser submetido ao teste. Aula 14-07/05/2006 11

Processo de Software O que é a refabricação no processo XP? A refabricação é o processo de modificar um software de tal modo que não se altere o comportamento externo do código, mas aperfeiçoe a estrutura interna. Dê duas vantagens e desvantagens de programação em pares. Vantagens: solução de problemas em tempo real e garantia de qualidade em tempo real. Desvantagens: necessidade de bom convívio dos pares e maior custo de mão-de-obra. Aula 14-07/05/2006 12

Qual é a diferença entre verificação e validação? A verificação garante que o software implementa corretamente uma função específica. A validação garante que o software construído corresponde aos requisitos do cliente. Aula 14-07/05/2006 13

Qual é a vantagem de se criar um ITG (grupo independente de teste)? Um ITG não tem o conflito de interesses que os desenvolvedores do software podem ter e assim podem testar o software de maneira mais imparcial. Aula 14-07/05/2006 14

Quais são os quatro passos da estratégia global de teste de software? Os quatro passos são: Teste de unidade Teste de integração Teste de validação Teste de sistema Aula 14-07/05/2006 15

Dê dois exemplos de erros comumente encontrados no teste de unidade. Inicialização incorreta, precedência aritmética incorreta, comparação incorreta de variáveis, terminação de ciclo inadequada, etc. O que é teste de regressão? É a reexecução de algum subconjunto de testes que já foi conduzido para garantir que as modificações não gerem efeitos colaterais. Aula 14-07/05/2006 16

O que é um pseudo-controlador (driver)? É um programa que recebe os dados do caso de teste, passa os dados ao componte a ser testado e imprime os resultados relevantes. O que é um pseudo-controlado (stub)? É um programa que substitui módulos que são chamados pelo componente a ser testado. Ele tem a mesma interface do módulo sendo substituído, mas com o mínimo de funcionalidade. Aula 14-07/05/2006 17

Por que um módulo altamente acoplado é difícil de submeter ao teste de unidade? Porque é difícil isolar a funcionalidade a ser testada. Nesse caso, pseudocontrolados simples não poderão substituir os módulos chamados tornando o teste de unidade quase impossível. Aula 14-07/05/2006 18

O que é a abordagem de integração big-bang? Por que ela deve ser evitada? Na integração big-bang todos os componente são integrados de uma vez. Ela deve ser evitada porque torna difícil isolar e corrigir erros. Aula 14-07/05/2006 19

Dê uma vantagem e uma desvantagem do teste de integração ascendente. Vantagem: elimina a necessidade de pseudocontrolados complexos. Desvantagem: o programa principal só é testado no final. Dê uma vantagem e uma desvantagem do teste de integração descendente. Vantagem: demonstração de capacidade funcional logo no início. Desvantagem: necessidade de criação de pseudocontrolados. Aula 14-07/05/2006 20

O que é um módulo crítico e por que devemos identificá-lo? É um módulo que aborda vários requisitos, tem um alto nível de controle, é complexo OU tem requisitos de desempenho. Devemos identificá-lo para priorizá-lo nos testes. Aula 14-07/05/2006 21

Em que tipo de situação os testes de aceitação são apropriados? Nas situações em que o software é construído sob encomenda para um determinado cliente. Em que tipo de situação os testes alfa e beta são apropriados? Nas situações em que o software é desenvolvido como um produto a ser utilizado por vários clientes. Aula 14-07/05/2006 22

O que é o teste de estresse? É um teste que executa um sistema de tal forma que demande recursos em quantidade, freqüência ou volume anormais. O que é depuração? A depuração é o processo de encontrar a causa de um erro e corrigí-lo. O que um programador deve fazer depois de tentar depurar um defeito no programa por mais de uma hora? Deve pedir ajuda a outro programador. Aula 14-07/05/2006 23

O que deve ser feito depois que uma causa provável é encontrada para um defeito de software? Testes adicionais para isolar a conexão da causa com o sintoma. O que deve ser feito depois da correção de um defeito de software? Deve-se testar o software novamente para se assegurar de que o defeito foi realmente corrigido e que outros defeitos não foram introduzidos. Aula 14-07/05/2006 24

Por que não é possível realizar testes exaustivos? Porque o número de caminhos lógicos de programas reais é muito grande, impossibilitando o teste de todas as combinações possíveis de caminhos. Qual é a diferença entre o teste caixa preta e o teste caixa branca? O teste caixa preta ignora a estrutura interna do programa, testando apenas a entrada e a saída. O teste caixa branca é baseado em um exame rigoroso da estrutura interna. Aula 14-07/05/2006 25

Transforme o fluxograma em um grafo de fluxo. A B D C E Aula 14-07/05/2006 26

Qual é a complexidade ciclomática? V(G) = E N + 2 = 6 5 + 2 = 3 V(G) = 3 regiões V(G) = P + 1 = 2 + 1 = 3 Dê um conjunto base de caminhos independentes. A-B-C-E A-C-D-E D A C E B Aula 14-07/05/2006 27

Prepare casos de teste para exercitar cada caminho independente. A-B-C-E Entrada: x = 20 Saída: x = 10 A-C-D-E Entrada: x=3 Saída: x=3 Aula 14-07/05/2006 28

Como deve ser feito o teste de ciclos simples? Se n é o número máximo de iterações, deve-se testar: Nenhuma passagem pelo ciclo Apenas uma passagem pelo ciclo Duas passagens pelo ciclo m passagens pelo ciclo onde m < n. n-1, n e n+1 passagens pelo ciclo Como deve ser feito o teste de ciclos aninhados? Os testes devem ser conduzidos do ciclo mais interno para o ciclo mais externo. Quando os ciclos internos são testados, os ciclos externos devem ser mantidos no número mínimo de repetições. Quando os ciclos externos são testados, os ciclos internos devem ser mantidos em valores típicos. Aula 14-07/05/2006 29

Se uma condição de entrada especifica um intervalo válido, quantas classes de equivalência são necessárias para testar essa condição? Três. Uma correspondente ao intervalo válido, outra correspondente a valores inválidos menores que os do intervalo e outras correspondente a valores inválidos maiores que os do intervalo. Aula 14-07/05/2006 30

O que é análise de valor limite? A análise de valor limite é uma técnica de teste de software que focaliza os testes nos limites das classes de equivalência. Que falhas são detectadas pelo teste de matriz ortogonal e não por testes de modo singular? Falhas de modo duplo, isto é, falhas que involvem uma combinação de dois parâmetros. Aula 14-07/05/2006 31

Métricas Quais são os cinco passos de um processo de medição efetivo? Formulação, coleta, análise, interpretação e realimentação. Para que serve o paradigma GQM (Objetivo/Questão/Métrica)? Serve para identificar métricas relevantes para qualquer parte do processo de software. Aula 14-07/05/2006 32

Métricas Na métrica ponto por função, qual é a diferença entre uma entrada externa e uma consulta externa? A entrada externa geralmente modifica algum arquivo lógico interno e fornece informação de controle. A consulta externa resulta na geração de uma saída imediata e não modifica nenhum arquivo. Dê dois exemplos de fatores de ajuste na métrica ponto por função. O sistema requer salvamento e recuperação. O desempenho é crítico. Existem funções de processamento distribuído. Aula 14-07/05/2006 33

Métricas Por que o fan-out é um indicador da complexidade de um projeto arquitetural? Porque ele indica o nível de acoplamento de uma arquitetura. Aula 14-07/05/2006 34

Métricas Explique cada uma das métricas CK abaixo, justificando porque ela mede complexidade: Acoplamento entre as classes de objetos. É o número de classes que colaboram com uma determinada classe. Quanto maior o número de colaborações, mais complicadas são as modificações e os testes. Falta de coesão de métodos É o número de métodos que têm acesso a um ou mais dos mesmos atributos. Quanto maior a falta de coesão, mais difícil é de se isolar os métodos para testes e modificações. Aula 14-07/05/2006 35