Buscar

Plano de Qualidade de Software


Prévia do material em texto

Plano de Qualidade de Software
1. Plano de Qualidade de Software
1.1. Introdução
Esse plano de qualidade visa garantir que o software tenha um planejamento, avaliando pontos importantes no desenvolvimento e no produto de software desenvolvido. 
1.2. Escopo 
O escopo desse plano é avaliar a consistência do software, verificando se ele está de acordo com as solicitações do cliente. Além disso, é avaliado o processo de desenvolvimento do software, para garantir que esse processo seja adequado para atender o tipo de software que será criado.
1.3. Glossário e Definições
Abreviações e/ou termos técnicos existentes no documento e suas definições.
Design Patterns - Os padrões de projeto de software ou padrões de desenho de software, também muito conhecido pelo termo original em inglês, Design Patterns, descrevem soluções para problemas recorrentes no desenvolvimento de sistemas de software orientados a objetos. Um padrão de projeto estabelece um nome e define o problema, a solução, quando aplicar esta solução e suas consequências. Os padrões de projeto visam facilitar a reutilização de soluções de desenho - isto é, soluções na fase de projeto do software, sem considerar reutilização de código. Também acarretam um vocabulário comum de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software.
http://pt.wikipedia.org/wiki/Padr%C3%A3o_de_projeto_de_software
1.4. Visão Geral
Esse documento esta estruturado para contemplar os seguintes tópicos: 
· Objetivos de Qualidade (Itens que são considerados como principais para garantir a qualidade do software desenvolvido); 
· Gerenciamento (Organização da equipe, responsabilidades e tarefas das partes envolvidas); 
· Documentação (Todos os documentos necessários para a realização do projeto); 
· Padrões (Normas que deveram ser adotadas no projeto); 
· Métricas (Características que serão monitoras para gerar indicadores de qualidade); 
· Ferramenta, Técnicas e Metodologias. 
2. Objetivos de Qualidade
De acordo com a certificação ISO 9001:2000 a Qualidade do Software deve atender:
Melhor planejamento e controle das rotinas de trabalho, eliminando passos desnecessários.
· Padronização das tarefas e definição de responsabilidades, para maior segurança e agilidade aos trabalhos.
· Realização dos trabalhos buscando melhorias na qualidade e aumento da satisfação dos clientes.
De acordo com a certificação ISO 12207 a Qualidade do Software se deve adotar: 
· Que procedimentos e métodos serão usados para a execução das atividades;
· Que ferramentas e equipamentos suportarão a realização das atividades, de forma a simplificar e automatizar o trabalho; 
· Qual o perfil adequado de quem irá executar as atividades e qual o treinamento requerido nos procedimentos, métodos, ferramentas para que se possam realizar as atividades de forma adequada; 
· Quais as métricas de processo que poderão ser empregadas para que a execução do processo possa ter a qualidade avaliada
 	Por se tratar de um projeto de menor escala, os pontos comentados acima serão buscados em menor escala, evitando que se tenha desperdício de tempo em procedimentos muito detalhados.
3. Gerenciamento
O gerenciamento do projeto é uma responsabilidade do Gerente do Projeto. 
3.1. Organização da Equipe
Defina as pessoas da que participarão do Projeto.
Defina os papéis que cada pessoa vai desempenhar no Projeto.
	Nome
	Papéis
	Email
	
	Gerente do Projeto
	
	
	Analista
	
	
	Projetista
	
	
	Adm. De Dados
	
	
	Programador
	
	
	Testador
	
3.2. Organização de Trabalho - Cronograma
Defina as atividades do Projeto. 
Defina os responsáveis por cada atividade. 
Estime prazos para cada atividade.
As atividades deverão ser no mínimo as mesmas identificadas no Processo de Desenvolvimento de Software(Item 7.2.1). 
	Atividade
	Responsável
(Papel/Nome)
	Data Início 
	Data Fim
	
	
	
	
4. Documentação
Para o desenvolvimento do software alguns documentos são exigidos, para que seja possível manter a qualidade exigida do software. O plano de testes também será exigido, para garantir o funcionamento das funcionalidades do produto quando este for entregue ao cliente. 
Elaborar os seguintes documentos:
· Plano de Desenvolvimento de Software: O plano de desenvolvimento de software deverá seguir o modelo de referência.
· Plano de Teste: O plano de testes deverá seguir o modelo de referência.
A finalidade do Plano de Teste é definir e comunicar a intenção do esforço de teste. O principal objetivo é ganhar a aceitação e aprovação dos envolvidos no esforço de teste.
Para elaboração desse documento, siga o modelo de referência. Este é um documento simples, que deve descrever um caso de teste, e o resultado esperado. E quando efetuado o teste deve ser registrado, se Ok ou Não OK, neste caso descrever o motivo do erro. E depois de encaminhado para a correção, o responsável deve descrever a solução encontrada.
· Documentação do Usuário: Guia para o usuário se localizar no software. Como se fosse um tutorial de navegação esclarecendo as principais dúvidas para a navegação dos módulos principais. 
Este é documento opcional, e não tem um modelo a ser seguido. 
5. Padrões
5.1. Padrão de Codificação
· Programação Orientada a Objeto.
· Criar nome de variáveis e classes significativas.
· Uso de Padrão de Projeto (Design Patterns) quando possível.
· Criar Classes e métodos coesos e de baixo acoplamento.
· Uso do padrão de arquitetura MVC (Model View Controller).
5.2. Padrão de Banco de dados
· Criação de indexes.
· Nome de constraints de primary key devem começar com ‘pk_’.
· Nome de constraints de foreing key devem começar com ‘fk_’.
· Respeitar data types, ou seja, campos que armazenam datas devem ser date, campos que armazenam string devem ser varchar, campos que armazenam condições de verdadeiro e falso devem ser tinyint, boolean ou int(2).
· Nome de campos numéricos deve começar com ‘nm_’.
· Nome de campos para descrições devem começar com ‘dsc_’.
· Nome de campos para armazenar datas deve começar com ‘dt_’.
· Nome de campos textos devem começar com ‘txt_’.
6. Métricas
Defina as métricas para a qualidade do Produto. 
A ISO/IEC 9126 (NBR 13596) fornece um modelo de propósito geral o qual define seis amplas categorias de características de qualidade de software que são, por sua vez, subdivididas em subcaracterísticas. 
Na tabela abaixo exclua as características/subscaracterísticas que não se aplicam ao software ou que o cliente não exigiu como item determinante para qualidade do sistema. 
	Características
	Subcaracterísticas
	Significado
	Funcionalidade
O conjunto de funções
satisfazem as necessidades
explícitas e implícitas para a
finalidade a que se destina o
produto?
	Adequação
	Propõe-se a fazer o que é apropriado?
	
	Acurácia
	Gera resultados corretos ou conforme acordados?
	
	Interoperabilidade
	É capaz de interagir com os sistemas especificados?
	
	Segurança de acesso
	Evita acesso não autorizado, acidental ou deliberado a programas e dados?
	Confiabilidade
O desempenho se mantém ao
longo do tempo e em condições
estabelecidas?
	Conformidade
	Está de acordo com normas e convenções previstas em leis e descrições similares?
	
	Maturidade
	Com que freqüência apresenta falhas?
	
	Tolerância a falhas
	Ocorrendo falhas como ele reage?
	Usabilidade
Apreensibilidade É fácil aprender a usar?
É fácil utilizar o software?
	Recuperabilidade
	É capaz de recuperar dados após uma
falha?
	
	Inteligibilidade
	É fácil entender os conceitos utilizados?
	Eficiência
Os recursos e os tempos
utilizados são compatíveis com
o nível de desempenho
requerido para o produto?
	Operacionalidade
	É fácil de operar e controlar a operação?
	
	Comportamento em relação ao tempo
	Qual é o tempo de resposta e de
processamento?
	Manutenibilidade
Há facilidade para correções,
atualizações e alterações?
	Comportamento em relação aos recursos
	Quanto recurso utiliza?
	
	Analisabilidade
	É fácil encontrar uma falha quando ocorre?
	
	Modificabilidade
	É fácil modificar e remover defeitos?
	
	Estabilidade
	Hágrandes riscos de bugs quando se faz alterações?
	Portabilidade
É possível utilizar o produto em
diversas plataformas com
pequeno esforço de adaptação?
	Testabilidade
	É fácil testar quando se faz alterações?
	
	Adaptabilidade
	É fácil adaptar a outros ambientes sem
aplicar outras ações ou meios além dos
fornecidos para esta finalidade no software considerado?
	
	Capacidade para ser instalado
	É fácil instalar em outros ambientes?
	
	Capacidade para substituir
	É fácil substituir por outro software?
	
	Conformidade
	Está de acordo com padrões ou convenções de portabilidade?
7. Ferramentas, Técnicas e Metodologias
7.1. Ferramentas
Especifique as ferramentas: 
· IDE de Desenvolvimento 
· Ferramenta de Banco de Dados 
· Ferramenta de Modelagem – UML 
7.2. Metodologia
7.2.1. Processo de Desenvolvimento de Software
A base conceitual para a definição do processo de desenvolvimento de software obedecerá às normas ISO/IEC 12207. 
A ISO/IEC 12207 é a norma ISO/IEC que define processo de desenvolvimento de software.
As Etapas do desenvolvimento do Software e as suas respectivas atividades são:
· Levantamento dos Requisitos
· Definição dos Requisitos Funcionais;
· Definição dos Requisitos Não Funcionais.
· Análise
· Análise dos Requisitos; 
· Elaboração do Modelo Conceitual;
· Elaboração do Diagrama de Casos de Uso;
· Elaboração das Regras de Negócio.
· Projeto
· Elaboração do Modelo ER;
· Elaboração dos Diagramas de classe;
· Especificação dos Casos de Uso (EFR);
· Elaboração dos Diagramas de Sequencia (opcional, caso tenha algum processo mais complexo);
· Elaboração dos protótipos de interface;
· Elaboração do Plano de Testes.
· Implementação
· Codificação do software
· Testes de sistema
· Testes
· Execução e documentação dos planos de testes.
· Implantação
· Planejamento da Implantação
· Preparação do ambiente de implantação
· Acompanhamento
· Encerramento

Mais conteúdos dessa disciplina