Taxonomia de Requisitos

Documentos relacionados
Uma Abordagem de Construção e Testes orientada pelos Critérios de Aceite

Requisitos de Software

Projeto de Sistemas I

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

Dicionário da EAP - Software FarmaInfor

Modelo para Documento de. Especificação de Requisitos de Software

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

ISO Aécio Costa

Implantação de um Processo de Medições de Software

Processos de Desenvolvimento de Software

GARANTIA DA QUALIDADE DE SOFTWARE

Requisitos. Sistemas de Informações

Uma Abordagem de Construção e Testes orientada pelos Critérios de Aceite

Requisitos de Software

DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004)

Modelo para Documento de. Especificação de Requisitos de Software

Análise Estruturada de Sistemas

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

CHECK - LIST - ISO 9001:2000

ENGENHARIA DE SOFTWARE I

Engenharia de Requisitos

Gestão da Qualidade por Processos

1. Conceitos de sistemas. Conceitos da Teoria de Sistemas. Conceitos de sistemas extraídos do dicionário Aurélio:

Requisitos de Software

Resumo das Interpretações Oficiais do TC 176 / ISO

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Gerenciamento de Problemas

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

Engenharia de Requisitos

UML - Unified Modeling Language

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Sistemas de Informação I

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Padrões de Qualidade de Software

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Curso de Engenharia de Produção. Organização do Trabalho na Produção

Estratégia de TI. Posicionamento Estratégico da TI: como atingir o alinhamento com o negócio. Conhecimento em Tecnologia da Informação

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

Prof. Marcelo Henrique dos Santos

GESTÃO DAS INFORMAÇÕES DAS ORGANIZAÇÕES MÓDULO 11

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Aula Anterior. Capítulo 2

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação?

Integração dos Modelos de Gestão de TI

Engenharia de Software III

Gerência de Projetos

BCON BUSINESS CONTROL

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

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

Planejamento de Projetos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Governança de TI. ITIL v.2&3. parte 1

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Podemos encontrar uma figura interessante no PMBOK (Capítulo 7) sobre a necessidade de organizarmos o fluxo de caixa em um projeto.

Engenharia de Sistemas Computacionais

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

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

No mundo atual, globalizado e competitivo, as organizações têm buscado cada vez mais, meios de se destacar no mercado. Uma estratégia para o

SGQ 22/10/2010. Sistema de Gestão da Qualidade. Gestão da Qualidade Qualquer atividade coordenada para dirigir e controlar uma organização para:

Governança Corporativa

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL

Exame de Fundamentos da ITIL

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

Guia de Especificação de Caso de Uso Metodologia CELEPAR

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Engenharia de Software

AUTOR(ES): IANKSAN SILVA PEREIRA, ALINE GRAZIELE CARDOSO FEITOSA, DANIELE TAMIE HAYASAKA, GABRIELA LOPES COELHO, MARIA LETICIA VIEIRA DE SOUSA

PROFESSOR: CRISTIANO MARIOTTI

Porque estudar Gestão de Projetos?

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

PLANOS DE CONTINGÊNCIAS

Qualidade de software

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

CRIAÇÃO DA DISCIPLINA SISTEMA DE GESTÃO AMBIENTAL NO CURSO DE ENGENHARIA CIVIL

Engenharia de Software

Abordagem de Processo: conceitos e diretrizes para sua implementação

Módulo 4 Estratégia de Serviço

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Análise de Requisitos

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade

Atividade: COBIT : Entendendo seus principais fundamentos

Wesley Vaz, MSc., CISA

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

Orientação a Objetos

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Engenharia de Software

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

Como vender a Gestão por Processos em sua organização?

Introdução. Nossos Canais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Project and Portfolio Management [PPM] Sustainable value creation.

ANEXO X DIAGNÓSTICO GERAL

Transcrição:

Taxonomia de Requisitos ou Criando uma padronização nas definições para os componentes de uma especificação pelo conhecimento adquirido em Engenharia de Requisitos via real aplicabilidade por Paulo Nannini Baseado na apresentação de Martin Tornquist Técnicas de Redação, Conteúdo, Estilo e Testes de Requerimentos de Software. Apoiado pelo livro The Requirements Engineering Handbook de Ralph R. Young, Chapter 4 - Types of Requirements. Apoiado pelo livro Practical Software Requirements - A Manual of Content & Style, de Benjamin L. Kovitz, Chapter 3 Two worlds and three designs. Apoiado pelo Texto Implantação de um Processo de Gestão de Requisitos seguindo o CMMI de Claudia Hazan, apresentado no VI Simpósio Internacional de Melhoria de Processos de Software. Resumo Executivo Diferentes literaturas, autores e escolas, fornecem diferentes definições e classificações para os diversos tipos de requisitos. A proposição de uma classificação é uma tarefa complexa, por ser complexa a própria engenharia de requisitos. Quanto mais tipos de requisitos apresentamos, mais aumentam a precisão da classificação. Contudo prejudicam o entendimento, tornando-a complexa demais para utilização. A sugestão é não gastar grande parte do tempo (e do custo) da organização definindo conceitos consensualmente, mas sim definindo o que é importante para construir e testar um produto que atenda as necessidades do usuário. Reforço que relevante é ter os requisitos necessários e suficientes para o entendimento dos participantes (players) do projeto. Na prática, podemos utilizar conceitos simples para o dia-a-dia de uma organização em processo de amadurecimento e solidificação dos conceitos de engenharia de requisitos e de software. No texto que segue é sugerida uma classificação que tem como objetivo minimizar a complexidade do problema e facilitar sua utilização. Test White Paper Apresentando uma Taxonomia de Requisitos.doc 1/6

Conceituando Requisitos Encontramos diversas definições e conceituações para requisitos. De forma simples, requisitos definem o que é solicitado ao sistema fazer e com quais limitações ele é requisitado a operar. Segundo o IEEE, requisito é uma condição ou capacitação que deve ser contemplada pelo software, necessitada pelo usuário para resolver um problema ou alcançar um objetivo. Segundo o Aurélio, requisito é (1) uma condição que se deve satisfazer para que uma coisa fique legal e regular; (2) Exigência imprescindível para a consecução de certo fim; (3) Qualidade, dotes, predicados exigidos para um produto. De forma completa, requisito é algo (verificável) que o produto deve fazer ou alguma qualidade (mensurável) que deve apresentar e que (pelo seu risco de comprometer o sucesso do projeto, compen$$a) deve ser testado. Assim, os documentos que compõem uma especificação são essencialmente instrumentos contratuais, configurando um compromisso legal quanto ao escopo (O PORQUÊ), alcance (O QUÊ) e forma (O COMO) do produto a ser desenvolvido e testado. Tipos de Requisitos Tradicionalmente, os requisitos podem ser definidos em funcionais e não funcionais. 1. Os Requisitos Funcionais são as descrições das diversas operações que clientes e usuários querem (conhecidos também como requisitos de usuário), ou precisam que sejam realizadas pelo sistema. 2. Os Requisitos Não Funcionais são restrições ou atributos de qualidade de um software ou de um processo de desenvolvimento de software. É necessário que estes requisitos sejam considerados na fase inicial do processo de desenvolvimento de software. Recomendamos fortemente que os requisitos não funcionais sejam escritos na forma de Critérios de Aceite (vide Test White Paper Uma Abordagem de Construção e Testes orientada pelos Critérios de Aceite by Paulo Nannini). Classificando os Requisitos Funcionais Podemos agrupar os requisitos funcionais em três categorias diferentes, focando em resultados, descrevendo de forma integrada, do mais amplo ao mais específico: 1. Requisitos de Negócio (RqN) ou Business Why (1) fornecem a razão para o desenvolvimento de sistemas e software. (2) São derivados a partir dos objetivos de negócio. (3) É o que precisa ser entregue para agregar valor ao negócio do Cliente. (4) Focado no entendimento do POR QUE e PARA QUE o projeto/sistema é requerido Test White Paper Apresentando uma Taxonomia de Requisitos.doc 2/6

e, como contribuirá para os objetivos do negócio e do usuário. (5) Declaração escrita em linguagem de negócio contendo requisitos de alto-nível. (6) Devem ser escritos do ponto de vista do solicitante. (7) São a base para os requisitos de sistemas. As seguintes perguntas devem ser respondidas: a) Porquê vamos gastar dinheiro com este projeto? b) O que o nosso negócio ganha com isso? c) O quê devemos entregar para gerar valor ao negócio? Agora, tudo o que precisa ser entregue é o quê o software faz e como ele faz e, depende fortemente dos critérios de aceite do(s) requisito(s) de negócio para a decisão da melhor proposta de solução. 2. Requisitos de Usuário (RqU) ou Process What (1) descrevem o quê deve ser disponibilizado pelo processo/sistema/software para atender ao requisito de negócio. (2) Definem as funcionalidades esperadas sob o ponto de vista de funções. (3) Descrevem um comportamento que deve ser percebido pelo usuário. (4) Traduzem o que o sistema/produto precisa fazer para atender as necessidades dos usuários relacionados a um problema de negócio (5) Determinam O QUE é requerido (sem a preocupação do COMO será feito). 3. Requisitos de Software (RqS) ou System How, também encontrados como requisitos detalhados, técnicos, ou de implementação, (1) são derivados dos requisitos de usuário. (2) Focado no COMO os requisitos serão construídos e disponibilizados. (3) Escritos sob a ótica dos desenvolvedores. Identificando outros componentes de uma especificação 1. Reescrevendo sobre Critérios de Aceite Aproveitando as definições que utilizei no Test White Paper Uma Abordagem de Construção e Testes orientada pelos Critérios de Aceite, defino este como: uma frase que define o que deve ser verificado (presente/ausente) e/ou validado (funciona/não funciona) e/ou medido (acima, dentro dos limites, abaixo) do requisito especificado associado. Concordando James Robertson, critérios de aceite são objetivos mensuráveis, contendo números ou medidas, definindo o entendimento de um requisito Test White Paper Apresentando uma Taxonomia de Requisitos.doc 3/6

e verificando se a solução dada satisfaz a exigência original. A falta de um critério de aceite pode resultar em construção e/ou verificação inadequada, retrabalho custoso e/ou rejeição do cliente. A vantagem em estabelecer critérios de aceite é que estes fornecem algum alvo quantificável que, quando testado, revelará o grau com que a solução está em conformidade com seus requisitos. 2. Reconhecendo as Regras de Negócio A regras de negócio especificam as particularidades das funcionalidades a serem desenvolvidas. Estas regras podem abranger diversos assuntos como suas políticas, interesses, objetivos, compromissos éticos e sociais, obrigações contratuais, decisões estratégicas, leis, regulamentações e restrições do negócio. Estas regras podem ainda ser traduzidas em critérios de aceite associados a um requisitos de negócio ou, mais provavelmente, aos requisitos do usuário. Exemplo de regra de negócio: O cliente não pode retirar mais de R$ 600,00 por dia de sua conta pelo caixa eletrônico. Requisito de Usuário Critério de Aceite Tipo Retirar Valores via Caixa Eletrônico <= R$ 600,00 Positivo Atente que, para evitar ambigüidades, escrevi o requisito e seu critério de aceite na forma positiva, eliminando a negação existente na frase. 3. E os casos de teste? É a definição de um conjunto específico de inputs de teste, condições de execução e resultados esperados, identificados com a finalidade de avaliar um determinado requisito e o critério de aceite especificado. Para cada critério de aceite definido é possível gerar no mínimo 1 caso de teste. A coleção de casos de testes vai determinar o escopo dos testes a serem executados. Segue abaixo exemplo de geração de casos de testes: Test White Paper Apresentando uma Taxonomia de Requisitos.doc 4/6

Requisito de Usuário Critério de Aceite Casos de Teste Tipo < R$600,00 Positivo Retirar Valores via Caixa Eletrônico <= R$ 600,00 = R$600,00 Positivo > R$600,00 Negativo No exemplo acima, somente foi utilizada a técnica de Particionamento por Equivalência para a geração dos casos de testes, com a finalidade de ilustrar a criação de casos de testes a partir do critério de aceite especificado, podendo ser complementado ainda utilizando outras técnicas como, por exemplo, Análise de Valores Limite. 4. Sugerindo uma solução para a problemática do requisito inverso (ou o fora de escopo ) Este requisito quando especificado quer evidenciar o que o sistema não pode fazer, para evitar comportamentos adversos, que gerem prejuízos ou que pelas regras de negócio não são válidos. Isto significa uma restrição para ou do sistema. Por exemplo: A funcionalidade X não será visualizada através do Safari, somente para o IE e Firefox. Este requisito, anteriormente chamado de requisito inverso, pode claramente ser especificado como critério de aceite. No exemplo acima, é possível gerar 2 critérios de aceite positivos e 1 critério de aceite negativo: Requisito de Usuário Critério de Aceite Tipo Visualizar Funcionalidade X Visível no IE Visível no Firefox Visível no Safari Positivo Positivo Negativo Entretanto, devo deixar claro que somente explicito este critério de aceite negativo se for uma solicitação do usuário, ou se for necessário evidenciar que o sistema funciona conforme solicitado ou não faz o que não deveria fazer. Test White Paper Apresentando uma Taxonomia de Requisitos.doc 5/6

Figurograma da Taxonomia de Requisitos Abaixo apresentando um figurograma que tem como objetivo evidenciar a hierarquia entre os requisitos e critérios de aceite e mostrar quais as possíveis origens destes critérios de aceite. Figura 1 Figurograma de Requisitos Sobre o Autor Paulo Henrique Nannini é Diretor da T&M Testes de Software e atual Presidente do Instituto Brasileiro de Qualidade em Testes de Software (IBQTS). Especialista em Gestão e Tecnologias da Qualidade, Escola Politécnica (MBA/USP). Atuou, em clientes como Banco Bradesco, Secretaria da Fazenda do Estado de São Paulo, Unisys do Brasil, BankBoston, Nextel, Boehringer, Nestlé, NetAge (Sênior Solution), DELL, ABN AMRO Bank, Banco Itaú, Orbitall, DATASUL (Totvs), REDECARD, Cardif, British American Tobacco, Banco HSBC, Serasa e BVMF. Para maiores informações visite http://web.me.com/paulonannini Test White Paper Apresentando uma Taxonomia de Requisitos.doc 6/6