27
Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Embed Size (px)

Citation preview

Page 1: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação de Requisitos

Eveline Alonso VelosoPUC-Minas

Page 2: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Bibliografia IEEE. SWEBOK: Guide to the Software

Engineering Body of Knowledge. 2004, capítulo 2.

SOMMERVILLE, Ian. Engenharia de Software. 6ª ed., São Paulo: Pearson, 2003, capítulo 6.

PRESSMAN, Roger S. Engenharia de Software. 5ª ed., Rio de Janeiro: McGraw Hill, 2002, capítulos 10 e 11.

Transparências da professora Maria Augusta Vieira Nelson – PUC-Minas.

PAULA-FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, Métodos e Padrões. 2ª ed., Rio de Janeiro: LTC - Livros Técnicos e Científicos, 2003, capítulo 5.

Page 3: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação de Requisitos Requisito:

efeito que o sistema deve exercer sobre o mundo real.

Especificação de Requisitos: interface entre o mundo real e o

domínio da máquina; deve ditar:

o que o sistema deve fazer; sem ditar:

como fazê-lo. Dizer como;

é uma atividade da fase de desenho.

Page 4: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Tipos de Especificação de Requisitos

Especificação dos Requisitos do Usuário: Também conhecida como

Documento de Definição dos Requisitos do Software.

Especificação dos Requisitos do Software: ERSw.

Page 5: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação dos Requisitos do Usuário Descreve o problema enfrentado pela

organização cliente e os futuros usuários finais do produto de software; e as características desejáveis de uma

solução para o problema.

Define os requisitos do software em alto nível; da perspectiva do domínio do problema.

Seu conteúdo deve ser descrito; em termos do domínio da aplicação.

Page 6: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação dos Requisitos do Usuário Lista os requisitos do software

indicando informações sobre: os objetivos gerais do sistema; as características do ambiente em que o

sistema será implantado; restrições aplicáveis; hipóteses relacionadas.

Pode ser a base para a proposta de um contrato de desenvolvimento de software; portanto, os requisitos descritos em uma

especificação de requisitos de usuário devem ser abertos à interpretação.

Page 7: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação dos Requisitos do Software Estabelece a base para um contrato

entre clientes e futuros usuários finais do software e a empresa desenvolvedora sobre: o quê o produto de software deve

oferecer; assim como aquilo que não se espera

que o software faça. Portanto, requisitos documentados nesse

tipo de documento; devem ser definidos em detalhes.

Page 8: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação dos Requisitos do Software Apresenta ainda a visão do cliente e

futuros usuários finais do software; sobre os serviços oferecidos pelo sistema

e outras características; porém em maior nível de detalhes;

o que permite um maior entendimento da necessidade ou problema.

Serve como passo inicial para o refinamento do sistema.

Não deve descrever: decisões de desenho ou de

implementação; aspectos gerenciais do projeto;

como custos e prazos.

Page 9: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Especificação dos Requisitos do Software Provê:

rigorosa avaliação dos requisitos do software;

antes que o desenho do sistema comece; reduzindo o retrabalho na fase de construção;

uma base consistente para a realização de estimativas relacionados ao produto e ao projeto;

uma base para o melhoramento posterior do software;

uma base de referência para manutenções futuras no sistema.

Page 10: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Leitores da Especificação dos Requisitos do Software Clientes/usuários do software:

especificam os requisitos do software; e os lêem para verificar se eles atendem suas

necessidades.

Gerente do projeto: utiliza a ERSw para planejar o

desenvolvimento do software.

Arquitetos de software: utilizam o documento para compreender

o sistema que deve ser desenvolvido.

Page 11: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Leitores da Especificação dos Requisitos do Software

Testadores: utilizam a ERSw para desenvolver

testes de aceitação para o sistema.

Engenheiros de manutenção do sistema: utilizam o documento para melhor

compreender o sistema; e as relações entre suas partes.

Page 12: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Uma boa especificação de

requisitos de software é correta: todo requisito nela presente;

é realmente um requisito do produto a ser construído.

Para verificar a correção da especificação de requisitos:

deve-se solicitar a revisão e aprovação formal da especificação de requisitos por parte do cliente.

Page 13: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software É altamente recomendável que exista

algum registro dessa aprovação pelo cliente, por exemplo:

documento de especificação dos requisitos do software assinado pelo cliente aprovando seus requisitos;

e-mail do cliente contendo um “de acordo” sobre os requisitos aprovados.

Aprovações informais, sem registros, podem gerar conflitos futuros sobre:

o que teria sido aprovado na época; o conteúdo dos requisitos.

Page 14: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Uma boa especificação de

requisitos de software é completa: contém todos os requisitos do

software: funcionais, não-funcionais, restrições e

interfaces externas; define entradas válidas e inválidas:

e as respostas do software para todas as entradas válidas;

contém glossário de todos os termos técnicos.

Page 15: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Uma boa especificação de requisitos de

software é consistente: não há conflitos entre os subconjuntos de

requisitos presentes. Uma boa especificação de requisitos de

software é priorizada: todos os seus requisitos são classificados

quanto à estabilidade, complexidade e importância.

Uma boa especificação de requisitos de software é rastreável:

permitindo a fácil determinação dos antecedentes e conseqüências de todos os requisitos.

Page 16: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Uma boa especificação de requisitos de

software é verificável: ou seja, seus requisitos são passíveis de

serem testados. Um requisito é verificável:

se existir um processo finito; com custo compensador; que possa ser executado por uma pessoa ou

máquina; que mostre a conformidade do produto final

com o requisito. Requisitos não-verificáveis:

requisitos ambíguos; requisitos definidos em termos qualitativos; requisitos contrários a fatos técnicos e

científicos.

Page 17: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Uma boa especificação de requisitos

de software é modificável: sua estrutura e estilo permitem a

mudança de qualquer requisito: de forma fácil, completa e consistente.

A modificabilidade geralmente requer: organização coerente;

com índices e referências cruzadas; ausência de redundância entre requisitos; definição separada de cada requisito.

Page 18: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Características de Qualidade da Especificação de Requisitos de Software Na prática, para sistemas

grandes e complexos, é praticamente impossível atingir a consistência e a completude da especificação de requisitos de software. Porém essas características devem

ser sempre buscadas; com a construção de uma

especificação de requisitos de software tão completa quanto possível.

Page 19: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Meios para Especificação de Requisitos

Documentação em linguagem natural;

Modelagem gráfica; Notações tabulares; Modelagem matemática; Protótipos; Combinação dos anteriores.

Page 20: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Documentação em Linguagem Natural Uma das formas mais comuns

de se redigir especificações é a linguagem natural; tanto Especificações de Requisitos

de Usuário; quanto Especificações de

Requisitos de Software. Geralmente utiliza-se algum

template; para orientar a redação dos

requisitos.

Page 21: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Documentação em Linguagem Natural – Dificuldades A linguagem natural:

é muito sujeita a ambigüidades; permitindo que leitores e escritores da

especificação interpretem as mesmas palavras;

de diferentes maneiras;

permite um excesso de flexibilidade: é possível documentar o mesmo requisito;

de modos bastante diferentes na especificação;

é difícil de ser utilizada de maneira precisa; sem produzir um documento de difícil leitura.

Page 22: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Template 1 – Especificação de Requisitos de Usuário – Método Volere identificador do requisito; descrição do requisito; fonte do requisito; critério de aceitação; nível de satisfação (aceita valores de 1 a 5);

define quão satisfeito ficará o cliente/usuário; se o requisito for implementado;

nível de insatisfação (aceita valores de 1 a 5); define quão insatisfeito ficará o cliente/usuário;

se o requisito não for implementado;

dependências e conflitos com outros requisitos.

Page 23: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Template 2 – Especificação de Requisitos de Software – IEEE 803-1998 Introdução; Descrição Geral; Requisitos Específicos:

Requisitos de Interfaces Externas; como o software interage com as pessoas,

com o hardware do sistema e com outros sistemas?

Funcionalidades do Sistema; o que o software deverá fazer?

Outros Requisitos; Informação de Suporte.

Page 24: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Modelagem Gráfica

Diagramas de fluxo de

dados;

Diagramas de entidades e

relacionamentos;

Diagramas de transição de

estados.

Page 25: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Notações Tabulares Utilizam tabelas e árvores para

descrever o comportamento do sistema: Tabelas de Decisão:

permitem especificar requisitos que produzem uma saída ou ação;

dependendo da avaliação de condições complexas.

Árvores de Decisão: semelhantes a tabelas de decisão; úteis quando nem todas as combinações

de condições são possíveis.

Page 26: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Tabela de Decisão – Exemplo

Seção de Condições: superior esquerdoSeção de Ações: inferior esquerdoEntrada de Condições: superior direitoEntrada de Ações: inferior direito

Page 27: Especificação de Requisitos Eveline Alonso Veloso PUC-Minas

Árvore de Decisão – Exemplo

Cálculo de tarifa de uma distribuidora de livros