A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Especificação de Requisitos Eveline Alonso Veloso PUC-Minas."— Transcrição da apresentação:

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

2 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.

3 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.

4 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.

5 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.

6 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.

7 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.

8 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.

9 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.

10 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.

11 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.

12 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.

13 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; 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.

14 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.

15 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.

16 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.

17 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.

18 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.

19 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.

20 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.

21 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.

22 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.

23 Template 2 – Especificação de Requisitos de Software – IEEE 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.

24 Modelagem Gráfica Diagramas de fluxo de dados; Diagramas de entidades e relacionamentos; Diagramas de transição de estados.

25 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.

26 Tabela de Decisão – Exemplo Seção de Condições: superior esquerdo Seção de Ações: inferior esquerdo Entrada de Condições: superior direito Entrada de Ações: inferior direito

27 Árvore de Decisão – Exemplo Cálculo de tarifa de uma distribuidora de livros


Carregar ppt "Especificação de Requisitos Eveline Alonso Veloso PUC-Minas."

Apresentações semelhantes


Anúncios Google