Você está na página 1de 45

Qualidade de Software

Processos do Ciclo de Vida: Processos de Apoio

Prof. M.Sc. Edgar Gurgel

Agenda
Introduo
1) 2) 3) 4) 5) 6) Documentao de Software; Gerncia de Configurao; Garantia de Qualidade; Verificao e Validao de Software; Teste de Software; Reviso de Software.
Prof. Edgar Gurgel 2

Introduo
Um processo de apoio aquele que auxilia outro processo como parte integrante do mesmo, com um propsito distinto contribuindo para a qualidade do projeto de software; empregado e executado por outro processo quando necessrio; Processos de Apoio: 1) 2) 3) 4) 5) 6) Documentao de Software; Gerncia de Configurao; Garantia de Qualidade; Verificao e Validao de Software; Teste de Software; Reviso de Software.
Prof. Edgar Gurgel 3

1 Documentao de Software
n

Tem como objetivo registrar a evoluo do software para que sejam criadas as bases necessrias para melhor utilizao e manuteno; Cerca de 20% a 30% de todo o tempo empregado no desenvolvimento de um software dedicado elaborao de sua documentao (Parnas, 1994); Nos inmeros documentos produzidos, cada um deve retratar particularidades do software ou do seu ciclo de vida; Havendo a documentao, atividades como avaliao e modificao podem ser realizadas sem transtornos;
Prof. Edgar Gurgel 4

1 Documentao de Software
n

Benefcios: n R e d u o do tempo e do esforo despendidos no desenvolvimento do software; n Facilidade e maior eficincia no manuseio do software por parte dos usurios; n Facilidade de localizao das informaes e melhor compreenso das estruturas do software (Phoha, 1997). Fatores preocupantes: n Altos custos; n Impreciso; n Dificuldade na manipulao. A combinao dos fatores acima, inevitavelmente acarreta documentos incompletos, desatualizados, inconsistentes e caros de se manter;
Prof. Edgar Gurgel 5

1 Documentao de Software
n

A inconsistncia em documentos tambm pode ser decorrente da ausncia de um relacionamento mais explicito entre os documentos; O desenvolvimento de software pode ocorrer em trs situaes:
n n n

Software construdo paralelamente sua documentao; Software construdo antes de sua documentao; Software construdo sem que nenhuma documentao tenha sido redigida;

Muitos engenheiros de software consideram a documentao uma tarefa burocrtica, muito embora reconheam que uma atividade importante, porm na pratica a consideram uma atividade exigente que toma tempo e energia;
Prof. Edgar Gurgel 6

1 Documentao de Software
n

Pouca ateno tem sido dada a documentao:


n n n

Documentos mal-elaborados; De difcil compreenso; Inadequados e incompletos.

Especialistas de Engenharia de Software reconhecem que a falta de um projeto de documentao tem atrapalhado a manuteno do software durante toda a histria da computao; A utilidade do software tambm tem sido degradada por no ter disponveis informaes corretas sobre todas as possibilidades oferecidas pelo produto de software; Portanto, a elaborao de uma documentao de qualidade sobre o processo de software to importante quanto a qualidade do software em si (Hilera, 1998);
Prof. Edgar Gurgel 7

1.1 Implementao do Processo


n

O processo de documentao consiste nas seguintes atividades:


1) 2) 3) 4) Implementao do Processo; Projeto e Desenvolvimento; Produo; Manuteno;

1)

Implementao do Processo Tem como objetivo estudar os requisitos de documentao do projeto de software a ser desenvolvido; Deve ser criado um plano de documento: tipo de documento a ser desenvolvido, tecnologia a ser usada, seqncia de operaes para a operao e distribuio dos documentos, a linguagem utilizada na indexao e referncia;
Prof. Edgar Gurgel 8

1.1 Implementao do Processo


n

Seqncia de atividades n Identificao dos requisitos de documentao; n Identificao dos documentos e de suas relaes; n Estabelecimento da organizao dos documentos; n Elaborao de um plano de produo e distribuio; n Elaborao de um plano de definio da linguagem do documento; n Estudo das diferentes tecnologias alternativas. Para cada documento identificado deve-se fornecer: ttulo ou nome, propsito, procedimentos e responsabilidades para entradas, desenvolvimento, reviso, modificao, aprovao, produo, armazenamento, distribuio, manuteno e gerenciamento de configurao, e cronograma para verses intermediarias e finais;
Prof. Edgar Gurgel 9

1.2 Projeto e Desenvolvimento


n

Consiste na descrio de todos os aspectos exigidos para a produo de cada documento; Os aspectos envolvem desde a sua estrutura interna at as caractersticas de apresentao para o usurio final; Cada documento deve ser projetado de acordo com determinados padres: formato, contedo, descrio, numerao de paginas, localizao de figuras e tabelas, propriedade e segurana, etc; Os documentos preparados devem ser revistos e editados de acordo com os padres; Antes da emisso devem ser aprovados pelo pessoal autorizado;
Prof. Edgar Gurgel 10

1.2 Projeto e Desenvolvimento


n

Nesta fase deve ser revisto o plano de documentao, pois informaes mais detalhadas sobre os documentos j esto disponveis; A seqncia de atividades desta etapa : n Projetar a estrutura dos documentos; n P r o j e t a r o comportamento dinmico dos documentos; n Incorporar os aspectos de hipermdia ao projeto; n Projetar a apresentao dos documentos; n Revisar o plano de produo e distribuio dos documentos.
Prof. Edgar Gurgel 11

1.3 Produo
n n

O objetivo gerar os diferentes documentos; Cada documento deve ser elaborado com a informao produzida durante as diversas atividades do ciclo de vida de software; A produo e a distribuio dos documentos podem ser feitas em papel, por meio eletrnico ou por qualquer outro meio; A seqncia de atividades desta etapa a seguinte: n Preparar o ambiente de produo; n Produzir e revisar os documentos; n Conceber a identificao dos documentos; n Liberar (publicar) os documentos.
Prof. Edgar Gurgel 12

1.4 - Manuteno
n

So desenvolvidas as seguintes tarefas:


n

Relacionadas introduo controlada de modificaes nos documentos; Relacionadas destruio dos documentos considerados obsoletos; Relacionadas ao armazenamento dos documentos em um arquivo para que possam fazer parte do patrimnio documental da organizao; Efetuar a manuteno dos documentos; Armazenar ou eliminar documentos.
Prof. Edgar Gurgel 13

A seqncia de atividades desta etapa a seguinte:


n n

2 Gerncia de Configurao
n

O processo de gerncia de configurao um processo de ciclo de vida de software que permite que seja realizado o controle sobre os itens de informao produzidos durante o processo de desenvolvimento de software; Item de configurao do software um item de informao produzido durante o processo de desenvolvimento de software para o qual importante que seja realizado o controle das alteraes; Configurao de software um conjunto de itens de configurao; Linhas de referncia (baselines) so pontos bem definidos que devem ser estabelecidos dentro do processo de desenvolvimento de software, para que cada item de configurao possa ser efetivamente gerenciado;
Prof. Edgar Gurgel 14

2 Gerncia de Configurao
n

Os pontos podem ocorrer ao final de cada uma das fases do processo de desenvolvimento de software ou definido pela gerncia; Nos pontos estabelecidos os itens de configurao devem ser: identificados, analisados, corrigidos, aprovados e armazenados em um local com controle de acesso (repositrio dos itens de configurao); Estando nos repositrios, esses itens s podero ser alterados aps uma solicitao de alterao formalmente aprovado pelo gerente de configurao; Mtodo check-in/check-out (conferncia na entrada e na sada); Controle de concorrncia;
Prof. Edgar Gurgel 15

2 Gerncia de Configurao
n

So as seguintes as atividades desta etapa: 1) Implementao do processo; 2) Identificao da configurao; 3) Controle da configurao; 1) Controle de mudanas; 2) Controle de verses; 4) Relato da situao; 5) Avaliao da configurao; 6) Gerncia da liberao e entrega.
Prof. Edgar Gurgel 16

2.1 Implementao
n

Deve ser descrito um Plano de Gerncia de Configurao; Este plano deve conter: n Descrio das atividades relacionadas implantao e administrao do processo; n Descrio de como e quando as atividades sero efetuadas; n Quem sero os responsveis; n Recursos necessrios. Este plano desenvolvido de acordo com as metas e solues alternativas especficas a cada ambiente;
Prof. Edgar Gurgel 17

2.2 Identificao da configurao


composta pelos seguintes passos: Selecionar os itens a serem gerenciados Devem sofrer gerenciamento de configurao os itens mais usados no ciclo de vida, os mais genricos, os mais importantes para a segurana, os projetados para reutilizao e os que podem ser modificados por vrios desenvolvedores ao mesmo tempo; Somente os itens selecionados sero controlados, os itens no selecionados podero ser alterados livremente; Descrever como esses itens se relacionam A identificao dos relacionamentos permite que se localizem rapidamente os itens afetados decorrentes de cada alterao;
Prof. Edgar Gurgel 18

2.2 Identificao da configurao


n

Criar um esquema de identificao dos itens n Com a atribuio de nomes exclusivos a cada um dos componentes; n Possibilita o reconhecer a evoluo de cada uma das verses dos componentes e a hierarquia existente entre eles a partir de seus nomes; n Esquema de identificao simples: combinao de nome do projeto, tipo de item, nome do item e verso; Planejar as linhas de referncia (baselines) dentro do ciclo de vida do projeto n Cria-se uma linha de referncia ao final de cada fase do ciclo de vida do projeto; n E periodicamente depois de cada manuteno;
Prof. Edgar Gurgel 19

2.2 Identificao da configurao


n

Deve-se especificar quais itens sero revisados e armazenados em cada uma das linhas de referencia planejadas;

Descrever como os itens sero arquivados e recuperados do repositrio.

Prof. Edgar Gurgel

20

2.3 Controle da Configurao


n

Compe-se de: n Controle de Mudanas; n Controle de Verses; Controle de Mudanas n Mudanas descontroladas podem levar rapidamente ao caos (Pressman, 2000); n Dever ser institudo na organizao um processo que combine procedimentos humanos e ferramentas automatizadas para proporcionar um mecanismo de controle das mudanas; n Esse processo deve ser implementado depois que uma linha de referencia for fixada;
Prof. Edgar Gurgel 21

2.3 Controle da Configurao


n

Controle de Verses
n

n n

Um item evolui at que atinja um estado em que atenda aos propsitos para o qual foi criado; Isso implica em diversas alteraes, gerando uma verso do item a a cada estado; Para control-las todas devem ser armazenadas e identificadas; A verso do item pode ser includa no esquema de identificao ou ser acessvel a partir de uma tabela parte; Para a identificao das verses dos itens, utiliza-se o esquema de rvores; O esquema de rvore permite manter um histrico das verses dos itens e a identificao nica e ramificaes a partir de qualquer verso;
Prof. Edgar Gurgel 22

2.3 Controle da Configurao


n

Quando um item existe simultaneamente em duas ou mais formas diferentes que atendam a requisitos similares, temos variantes do item, representadas por ramificaes na rvore; A fim de minimizar o espao de armazenamento das verses utiliza-se o conceito de delta; O conceito Delta significa que so armazenadas uma verso completa e as diferenas entre as verses; Duas variaes desse conceito: delta negativo e delta positivo; Delta negativo armazena-se integralmente a verso mais recente e as diferenas (deltas) existentes at ento;
Prof. Edgar Gurgel 23

2.3 Controle da Configurao


n

Delta positivo armazena-se a verso mais antiga e, para montar as verses mais recentes, processam-se as diferenas (deltas) armazenadas; Os sistemas atuais de gerenciamento de verses utilizam o conceito de delta negativo;

Prof. Edgar Gurgel

24

2.4 Relato da Situao


n

O objetivo relatar a todas as pessoas envolvidas no desenvolvimento e na manuteno do software as seguintes informaes sobre as alteraes na configurao de software: n O que aconteceu? n Quem o fez? n Quando aconteceu? n O que mais ser afetado? Para contemplar esta necessidade deve ser criada uma base de dados sobre as ocorrncias na gerncia de configurao, disponvel aos desenvolvedores;
Prof. Edgar Gurgel 25

2.4 Relato da Situao


n

Deve ser gerado regularmente um relatrio de situao para informar as alteraes mais importantes; O acesso rpido s informaes agiliza o processo de desenvolvimento e melhora a comunicao entre as pessoas; uma maneira de eliminar muitos problemas relativos modificao do mesmo item de informao com intenes diferentes e conflitantes;

Prof. Edgar Gurgel

26

2.5 Avaliao da Configurao


n

n n

Para assegurar que a alterao foi implementada apropriadamente h necessidade de fazer avaliaes na configurao do software; Existem dois tipos de avaliaes: funcional e fsica; Avaliao funcional n Compreende uma verificao tcnica formal na configurao de software; n Essa verificao uma atividade de controle de qualidade que tenta descobrir omisses ou erros na configurao que degradam os padres de construo do software;
Prof. Edgar Gurgel 27

2.5 Avaliao da Configurao


n

Avaliao fsica n Processo administrativo que ocorre no final de cada fase do ciclo de vida do software; n Consiste em verificar se a configurao esta composta da verso mais recente dos itens de configurao determinados para a fase especifica do ciclo de vida e se os procedimentos e padres foram devidamente aplicados;

Prof. Edgar Gurgel

28

2.6 Gerncia da liberao e entrega


n

A liberao e a entrega dos produtos e da documentao do software devem formalmente controladas e liberadas de acordo com as polticas da organizao envolvida;

Prof. Edgar Gurgel

29

3 Garantia da Qualidade
n

Serve para garantir que os processos e produtos de software, no ciclo de vida do projeto, estejam com conformidade com os requisitos especificados e referentes aos planos estabelecidos; Evidencia a relao entre a qualidade do produto e a qualidade do processo utilizado em sua construo, alm de relacionar com a norma ISO 9000; Deve estar coordenado com os processos de verificao, validao, reviso conjunta e auditoria; Pode utilizar resultados do processo de resoluo de problemas; composta pelas seguintes atividades: implementao do processo, garantia do produto, garantia do processo e sistema de garantia da qualidade;
Prof. Edgar Gurgel 30

3.1 Implementao do Processo


n n

Deve-se definir um processo de garantia da qualidade adequado a cada projeto de desenvolvimento; necessrio definir um plano de garantia da qualidade que dever ser documentado, implementado e mantido; Este plano deve incluir: n Padres de qualidade, metodologias, procedimentos e ferramentas; n Procedimentos para reviso do contrato e sua coordenao; n Procedimentos para identificao, coleta, arquivamento, manuteno e disponibilizao dos requisitos de qualidade; n Recursos, cronograma e responsabilidades; n Atividades e tarefas selecionadas dos processos de apoio (verificao, validao, reviso conjunta, auditoria e resoluo de problemas); Devem ser gerados e mantidos registros dessas atividades e tarefas em relao a sua execuo, problemas e sua resoluo;
Prof. Edgar Gurgel 31

3.2 Garantia do produto


n

Esta atividade implica em: n Garantir que todos os planos exigidos pelo contrato estejam de acordo com o mesmo; n Garantir que os produtos de software e sua documentao estejam de acordo com o contrato e os planos; n Garantir que os produtos de software satisfaam totalmente os requisitos contratuais e sejam aceitveis pelo adquirente;

Prof. Edgar Gurgel

32

3.3 Garantia do Processo


n

Esta atividade implica em: n Garantir que os processos do ciclo de vida do software estejam de acordo com o contrato e com os planos; n Garantir que as praticas de engenharia de software, o ambiente de desenvolvimento, o ambiente de teste e as bibliotecas estejam de acordo com o contrato, com as negociaes e com os planos; n Garantir que os requisitos aplicveis sejam passados ao subcontratado e que seus produtos de software satisfaam os requisitos do contrato original; n Garantir que o adquirente e outras partes envolvidas tenham o apoio e a cooperao necessrios;
Prof. Edgar Gurgel 33

3.3 Garantia do Processo


n

Garantir que as medies do produto e do processo de software estejam de acordo com os padres e procedimentos estabelecidos; Garantir que a equipe tenha a qualificao e o conhecimento necessrios para o projeto e receba todo o treinamento necessrio;

Prof. Edgar Gurgel

34

3.4 Sistema de garantia da qualidade


n

Atividades adicionais de gerencia da qualidade devem ser garantidas de acordo com a norma ISSO 9000;

Prof. Edgar Gurgel

35

4 Verificao e Validao
n n

Os produtos de software consistem em um conjunto de informaes em diferentes nveis de abstrao e em um conjunto de transformaes e decises; No processo de transformao e comunicao no desenvolvimento de produtos de software ocorrem enganos, interpretaes errneas e outras faltas, ocasionando no mau funcionamento do sistema; A maioria dos erros se origina na comunicao e na transformao das informaes; Trs abordagens complementares que podem nortear a estruturao das atividades de garantia de qualidade de software: introduzir maior preciso no processo de desenvolvimento de software; introduzir, em cada fase ou etapa do processo de desenvolvimento de software uma atividade de verificao e orientar diferentes nveis de testes em relao s diversas fases do processo de desenvolvimento, com diferentes classes de erros.
Prof. Edgar Gurgel 36

4 Verificao e Validao
n

O IEEE, 1990 padroniza os termos utilizados na engenharia de software: n Defeito (fault): passo, processo ou definio de dados incorretos, como uma instruo ou comando incorreto; n Engano (mistake): ao humana que produz um resultado incorreto, como uma ao incorreta tomada pelo programador; n Erro (error): diferena entre o valor obtido e o valor esperado, ou seja, qualquer estado intermedirio incorreto ou resultado inesperado na execuo do programa constitui um erro; n Falha (failure): produo de uma sada incorreta com relao especificao. De forma geral os erros so classificados em: n Erros computacionais: o erro provoca uma computao incorreta, mas o caminho executado igual ao caminho esperado; n Erros de domnio: o caminho efetivamente executado diferente do caminho esperado.
Prof. Edgar Gurgel 37

4.1 Verificao, Validao e Teste


n

Verificao: o objetivo assegurar que o software, ou uma determinada funo do mesmo, esteja sendo implementada corretamente; verifica-se tambm se os mtodos e processos de desenvolvimento foram adequadamente aplicados; Validao: o objetivo assegurar que o software que est sendo desenvolvido o software correto de acordo com os requisitos do usurio; Estas atividades (VV&T) envolvem atividades de analise esttica e analise dinmica; Analise Esttica: no envolve a execuo propriamente dita do produto e visa a determinar propriedades do produto vlidas para qualquer execuo do produto final;
n

Pode e deve ser aplicada em qualquer produto intermedirio do processo de desenvolvimento; Revises tcnicas so o exemplo mais clssico;
Prof. Edgar Gurgel 38

4.1 Verificao, Validao e Teste


n

Anlise Dinmica: tem por objetivo detectar defeitos ou erros no software e envolve a execuo do produto (cdigo) ou mesmo uma especificao executvel; n Atividades de simulao e teste so exemplos deste tipo. Essencialmente as atividades de VV&T tem por objetivo identificar a presena de defeitos ou erros o mais cedo possvel no processo de desenvolvimento, aprender com esta atividade e evoluir o processo de desenvolvimento; Revises e teste so atividades complementares. As informaes obtidas durante as revises so extremamente teis para a atividade de teste, pois permitem a identificao de mdulos crticos e propensos a erros; O esforo de teste menor quando as revises so conduzidas ao longo do processo.
Prof. Edgar Gurgel 39

4.1 Verificao, Validao e Teste


n n

Revises apresentam limitaes: tempo, subjetividade, qualificao do pessoal e do prprio processo de reviso; A viso de que atividades de teste devam ser conduzidas somente aps a codificao , no mnimo, ultrapassada; Modelo de Erros: capta os erros tpicos, os riscos associados, a freqncia de ocorrncia e outros aspectos, de maneira que a experincia e o conhecimento de desenvolvimento de software de uma equipe ou empresa sejam utilizados para o planejamento das futuras atividades de desenvolvimento; O papel do modelo de erros guiar a procura de erros nos locais que apresentam, segundo informaes estatsticas, maiores probabilidades de apresentarem problemas; No existe na literatura um consenso sobre o que seria exatamente um modelo de erros de software e quais atributos deve ter;
Prof. Edgar Gurgel 40

4.2 VV&T e norma ISO/IEC 12207


n

Os processos de verificao e validao fazem parte dos processos de apoio do ciclo de vida que devem ser aplicados ao longo de todo o processo de desenvolvimento de software; Juntamente com os processos de auditoria e reviso podem ser considerados tcnicas do processo de garantia de qualidade; O processo de verificao consistem em duas atividades: n Relacionada a sua implementao: aborda aspectos relativos ao plano de verificao e ao seu cumprimento, ao grau de independncia organizacional desejado, etc; n Relativa prpria verificao: consiste em tarefas como n Verificao de contrato, verificao do processo, verificao dos requisitos, verificao do projeto, verificao do cdigo, verificao da integrao, verificao da documentao;
Prof. Edgar Gurgel 41

4.2 VV&T e norma ISO/IEC 12207


n

O processo de validao consiste em duas atividades: n Relacionada a sua implementao: aborda aspectos relativos ao plano de validao e ao seu cumprimento, ao grau de independncia organizacional desejado, etc; n Relacionada prpria validao: consiste nas tarefas n Preparar os requisitos de teste, casos de teste e especificaes de teste para analisar os resultados, assegurar-se de que esses itens reflitam os requisitos particulares para um uso especfico do software, conduzir testes considerando teste de estresse, de limite e de entradas especficas, habilidade do produto de software para isolar e minimizar os efeitos de erros, conduzir testes com usurios representativos, validar se o produto de software satisfaz seu uso especifico e testar o produto de software apropriadamente no seu ambiente-alvo; O teste visto no contexto da norma como uma atividade, e no como um processo como a validao e a verificao.
Prof. Edgar Gurgel 42

4.3 Teste de Software


n

Consiste na anlise dinmica do software, ou seja, na execuo do produto de software com o objetivo de verificar a presena de defeitos no produto e aumentar a confiana de que o produto esteja correto; Envolve quatro etapas: planejamento, projeto de casos de teste, execuo e avaliao dos resultados; Limitao dos testes:
n n

n n

Dados dois programas se eles so equivalentes; Dadas duas seqncias de comandos se elas computam a mesma funo; Correo coincidente; Teste exaustivo X limitao de tempo.
Prof. Edgar Gurgel 43

4.4 Fases de Teste


n n

Atividade de teste dividida em fases e desenvolvida de forma incremental e complementar. As fases so: n Teste de Unidade: explorar a menor unidade do projeto, procurando identificar erros de lgica e de implementao em cada mdulo, separadamente; n Teste de Integrao: descobrir erros associados s interfaces entre os mdulos quando esses so integrados para construir a estrutura do software que foi estabelecida na fase de projeto; n Teste de Sistema: identificar erros de funo e caractersticas de desempenho que no estejam de acordo com a especificao; Prof. Edgar Gurgel 44

4.5 Tcnicas de Teste


n

So classificadas de acordo com a origem das informaes utilizadas para estabelecer os requisitos de teste. As tcnicas so: n Teste funcional ou de caixa preta; n Teste estrutural ou caixa branca; n Teste com base em mquinas de estado finito.

Prof. Edgar Gurgel

45

Você também pode gostar