Especificação de Requisitos

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

Introdução à Análise de Sistemas
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Os projetos.
Engenharia de Software
Requisitos de Software
Diagrama de Fluxo de Dados – DFD
Modelo Ambiental Eveline Alonso Veloso PUC-Minas.
Engenharia de Requisitos
Levantamento de Requisitos
Análise Estruturada Moderna
Análise de Requisitos Eveline Alonso Veloso PUC-Minas.
Validação de Requisitos
Especificação de Processos
Modelos de Ciclo de Vida
O Processo Praxis 3.0 Processos de Software 25/03/2017
Participantes do Processo de Desenvolvimento de Software
15/1/2014 Professor Leomir J. Borba- – 1 CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE Aula.
Identificando requisitos
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Especificação de Software
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Adélia Barros Requisitos Adélia Barros
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Engenharia de Requisitos
O processo de coletar os requisitos (escopo do cliente)
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
TSDD Teste de segurança durante o desenvolvimento.
Princípios e Conceitos de Software(v2)
Modelos de Processos de Software
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Prof.Alfredo Parteli Gomes
Especificação de Requisitos de Software - ERSw
Fase de Elaboração: Fluxo de Requisitos
Processo Praxis – Fase de Concepção
Análise e Projeto de Sistemas
IEEE Std IEEE Melhores Práticas para Especificações de Requisitos de Software (ERS)
Processos de Engenharia de Requisitos
Engenharia de Software
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Análise e Projeto de Sistemas
Engenharia de Software
Introdução e Fundamentos Engenharia de Requisitos
Bruno Silva Desenvolvido a partir de
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software
GERENCIAMENTO DE PROJETOS DE T.I
METODOLOGIA, MÉTODOS E FERRAMENTAS
Capítulo 10 – Qualidade de Produtos de Software Escrito por: Renata Araújo Vírginia Chalegre Apresentado por: Cleice.
Processos de Software.
Processos de Software.
Requisitos de Software
Prof.: Bruno Rafael de Oliveira Rodrigues ENGENHARIA DE SOFTWARE.
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
Engenharia de Software
Engenharia de Software
Gerenciamento de Requisitos e Modelagem de sistemas
Análise e Projeto de Sistemas Orientado a Objetos Profa. Ana Karina Barbosa.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Aula /08/2012 Professor Leomir J. Borba-
Qualidade de Produtos de Software
Engenharia de Software
Aula 02 de Eng. de Requisitos
Engenharia de Software
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Mauricio Barbosa e Castro.  A construção de um produto multimídia se faz através de um projeto.  O escopo e a complexidade de um projeto de multimídia.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

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.

Especificação de Requisitos 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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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. Requisitos são freqüentemente especificados em linguagem natural, mas na ERSw descrições em linguagem natural devem ser suplementadas por descrições mais formais ou semi-formais. A seleção da notação apropriada para a especificação dos requisitos permite que requisitos específicos sejam descritos mais precisa e concisamente do que com a utilização da linguagem natural. A regra geral é que notações devem ser utilizadas desde que permitam a descrição dos requisitos tão precisamente quanto possível.

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.

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.

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.

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. Introdução Propósito Escopo do produto Limites do produto Definições, siglas e abreviaturas Referências Visão geral do documento Descrição geral Perspectiva do produto Funções do produto Classes e características dos usuários Ambiente operacional Restrições de projeto e implementação Documentação Premissas e dependências

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

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.

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

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