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