Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Douglas Diego
INESUL- ANÁPOLISINESUL- ANÁPOLIS
1
Agenda
� O que é Qualidade?
� O que é Qualidade de Software?
� Qualidade do Produto e do Processo� Qualidade do Produto e do Processo
� Normas e Organismos Normativos
� Qualidade de Software e Processos Relacionados
2
O que é Qualidade?� O que um determinado produto apresenta para
considerarmos que o mesmo tem qualidade?
Ex.: Carro
� Qualidade é um conceito relativo. Diversos aspectos são levados em conta. No caso de um automóvel, fatores como conforto, segurança, desempenho, beleza e custo têm estreita relação com a qualidade.
3
O que é Qualidade?
� Qualidade está fortemente relacionada à conformidade com os requisitos.
� O que é “conformidade em relação a requisitos”? observado x especificado.
� Pode haver problemas na observação.
� Pode haver problemas na especificação.
4
O que é Qualidade?� Qualidade diz respeito à satisfação do cliente.
� Requisitos são especificados por pessoas e com o objetivo de satisfazer outras pessoas.objetivo de satisfazer outras pessoas.� Uma especificação depende das escolhas feitas (clientes
alvo).
� Pode haver problemas na especificação.
5
Breve Histórico da Qualidade� Relatos Históricos de 4.000 anos atrás no Egito.
� Marco Importante: Revolução Industrial
� 1920: Controle Estatístico da Produção
� 1940: Surgimento de vários organismos ligados à qualidadequalidade� ASQC (American Society for Quality Control)
� ABNT (Associação Brasileira de Normas Técnicas)
� ISO (International Standardization Organization)
� Ainda década de 1940: Japão destaca-se.
� Década de 1970: Qualidade de Software
6
O que é Qualidade de Software?
� Conferência da NATO (1968) – Crise de Software
� Problemas detectados:� Cronogramas não observados.
� Projetos abandonados.
� Módulos que não operam corretamente quando combinados.
� Programas que não fazem exatamente o que era esperado.
� Sistemas tão difíceis de usar que são descartados.
� Sistemas que simplesmente param de funcionar.
� Passados 40 anos, o que mudou?
7
O que é Qualidade de Software?
� Qualidade em geral:� é um conceito relativo.
� está fortemente relacionada à conformidade com requisitos.requisitos.
� diz respeito à satisfação do cliente.
� Como isso se manifesta em software?
8
Desenvolvimento de Software
� O aspecto não repetitivo do desenvolvimento de software torna essa atividade difícil e, em boa medida, imprevisível.
� Delimitar o escopo de um sistema não é trivial.� Delimitar o escopo de um sistema não é trivial.
� A volatilidade dos requisitos é lugar comum no desenvolvimento de software.
9
Fatores que afetam o Desenvolvimento de
Software e influenciam a Qualidade
� Tamanho e complexidade do software;
� Número de pessoas envolvidas no projeto;
� Métodos, técnicas e ferramentas utilizadas;� Métodos, técnicas e ferramentas utilizadas;
� Custo x benefício do sistema;
� Custos associados à existência de erros;
� Custos associados à detecção e remoção de erros; etc.
10
O que é Qualidade de Software?
Conjunto de características a serem satisfeitas em um determinado grau, de modo que o software satisfaça às necessidades de seus usuários.
11
Usuários
Finais
Desenvolvedores
Usuários
Indiretos
Qualidade do Produto x
Qualidade do Processo de Software
� Qualidade do produto de software não se atinge de forma espontânea.
� A qualidade do produto depende fortemente da � A qualidade do produto depende fortemente da qualidade do processo de desenvolvimento.
12
O que é Processo de Software?� Processos de Software devem estabelecer:
� atividades a serem realizadas durante o processo, sua estrutura e organização (decomposição e precedência), incluindo a definição de um modelo de ciclo de vida quando pertinente (ex.: processo de desenvolvimento);quando pertinente (ex.: processo de desenvolvimento);
� artefatos requeridos e produzidos por cada uma das atividades do processo;
� procedimentos (métodos, técnicas, roteiros e padrões) a serem adotados na realização das atividades;
� recursos necessários (humanos, hardware e software) para a realização das atividades.
13
Qualidade do Processo de Software
� Um bom processo não garante que os produtos produzidos são de boa qualidade, mas é um indicativo de que a organização é capaz de produzir bons de que a organização é capaz de produzir bons produtos.
14
Motivação para a busca da Qualidade do
Processo de Software
� Aumento da qualidade do produto.
� Diminuição do retrabalho.
Maior produtividade.� Maior produtividade.
� Redução do tempo para atender o mercado (time to market).
� Maior competitividade.
� Maior precisão nas estimativas.
15
Como definir um processo?� Apoio de Normas e Modelos de Qualidade de
Processos de Software.
16
Normas e Organismos Normativos
� Normas internacionais de qualidade são criadas notrabalho voluntário de especialistas do mundo todo.
� Essas normas tornaram-se a base para especificarprodutos, organizar o fornecimento de serviços e atéprodutos, organizar o fornecimento de serviços e atémesmo para a elaboração de legislação em váriospaíses.
17
Padrões de Facto
� Muitas vezes padrões surgem espontaneamente, apartir de uma necessidade ou como uma soluçãoamplamente adotada quando comparada a outrasalternativas.
� Padrões de facto são padrões aplicados na prática,mas que não foram formalizados como umregulamento.
� Podem ser criados involuntariamente ou por razõescomerciais.
18
Padrões de Jure
� São criados de maneira formal, regulamentada.
� São escritos seguindo regulamentos e aprovados porinstituições reconhecidas publicamente comocapacitadas para tal (ex., ISO, IEEE etc).capacitadas para tal (ex., ISO, IEEE etc).
19
Uso de Padrões � Adequação x Certificação.
� Adequação: deve preceder a certificação e consiste emcolocar em prática, total ou parcialmente, aquilo queé proposto no padrão.
� Certificação: Envolve a participação de um organismo� Certificação: Envolve a participação de um organismoou empresa externa que possa atestar que a empresacandidata segue efetivamente o padrão.
20
Qualidade e Processos Relacionados
Documentação Gerência de Configuraçãode Software
21
Qualidade de Software
Verificação e Validação
Documentação e Gerência de Configuração
� Artefatos registram a evolução do software para que sejam criadas as bases para o desenvolvimento, utilização e manutenção efetivos.
� Artefatos devem retratar fielmente o software, de � Artefatos devem retratar fielmente o software, de modo que as atividades de avaliação e modificação possam ser realizadas sem maiores transtornos.
� Artefatos evidenciam a evolução do projeto. Mas é muito importante registrar modificações que ocorrem nos mesmos, de modo a se ter um histórico da evolução, o que é feito por meio da Gerência de Configuração de Software (GCS).
22
Gerência de Configuração
� Permite manter o controle da evolução dos artefatos de software, além de ajudar a cumprir metas de garantia da qualidade.
� Envolve, dentre outros:� Envolve, dentre outros:� a identificação de itens de configuração de software, � controle de alterações, � registro e apresentação da situação dos itens e das
solicitações de alteração, � garantia da consistência dos itens alterados, � controle de versão, armazenamento, manipulação e
distribuição de itens.
23
Qualidade e Processos Relacionados
Documentação Gerência de Configuraçãode Software
24
Qualidade de Software
Verificação e Validação
Verificação e Validação
� Verificação: assegurar que o software, ou determinada função do mesmo, está sendo desenvolvido corretamente, o que inclui verificar se os métodos e processos estão sendo aplicados adequadamente.processos estão sendo aplicados adequadamente.
� Validação: assegurar que o software que está sendo desenvolvido é o software correto.
25
Análise Estática e Análise Dinâmica
� Análise Estática: não envolve a execução propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Ex.: Revisões técnicas, inspeção de código.de código.
� Análise Dinâmica: envolve a execução do produto. Ex.: Testes.
26
Exercícios
1. Explique com suas palavras o que é Qualidade?
2. O que é Qualidade de Software?
3. Mostre as diferenças entre Qualidade do Produto e do Processo.do Processo.
4. Padrões de Facto e de Jure explique sobre eles.
5. Pesquise sobre Normas e Organismos Normativos e dê 3 exemplos.
6. Fale sobre Qualidade de Software e os Processos Relacionados a qualidade.
27