4 eng requisitos

33
Engenharia de Software Engenharia de Requisitos Prof. Marcelo de Barros

Upload: daniel-lobao

Post on 25-Jun-2015

304 views

Category:

Education


0 download

TRANSCRIPT

Page 1: 4 eng requisitos

Engenharia de Software

Engenharia de Requisitos

Prof. Marcelo de Barros

Page 2: 4 eng requisitos

Um dos maiores problemas enfrentados no desenvolvimento de sistemas grandes e complexos são os requisitos

O desenvolvimento de Sistemas tem início com a identificação da necessidade

Identificar a necessidade é o ponto de partida na evolução de um sistema baseado em computador

Introdução

Page 3: 4 eng requisitos

É papel do analista ou engenheiro identificar as necessidades iniciais, e logo em seguida, as metas globais. E desta forma, dar início ao desenvolvimento

◦ Função e desempenho desejados?

◦ Questões de confiabilidade e qualidade?

◦ Metas globais do sistema?

◦ Requisitos de Produção?

◦ Mercados e concorrência?

◦ Tecnologia disponível?

◦ Extensões futuras?

Introdução

Page 4: 4 eng requisitos

“Condição que se deve satisfazer para alcançar um objetivo”

O que são Requisitos?

Page 5: 4 eng requisitos

“Condição que se deve satisfazer para alcançar um objetivo”

“Exigência que deve ser cumprida para atingir um objetivo”

O que são Requisitos?

Page 6: 4 eng requisitos

É a ciência que estuda a criação, construção, análise, desenvolvimento e manutenção dos requisitos que devem

ser cumpridos por um sistema.

Deve descobrir, analisar, documentar e verificar requisitos.

Segundo IEEE, engenharia de requisitos é:

O que é Engenharia de Requisitos ?

Page 7: 4 eng requisitos

Engenharia de Requisitos é uma abordagem sistemática e disciplinada para a especificação e gerenciamento de requisitos com os seguintes objetivos

◦ Conhecer os requisitos pertinentes, alcançar um consenso entre os stakeholders sobre esses requisitos, documentando-os de acordo com as normas dadas e gerenciando-as sistematicamente.

◦ Compreender e documentar os desejos e necessidades dos stakeholders, que especifica o gerenciamento de requisitos para minimizar o risco de entregar um sistema que não atende os desejos das partes interessadas

Objetivos

Page 8: 4 eng requisitos

“Pessoa ou uma organização que tem algum impacto direto ou indireto sobre os requisitos do sistema”

O que é Stakeholder?

Interessados Envolvidos

Page 9: 4 eng requisitos

Frederick P. Brooks

“A parte mais árdua na construção de um software consiste exatamente em identificar o que construir. Nenhuma outra fase compromete tanto o resultado do trabalho se elaborada de forma incorreta.Nenhuma outra parte dificulta tanto as correções posteriores”

Importância da Engenharia de Requisitos

Page 10: 4 eng requisitos

Três principais causas de requisitos incorretos

Sintomas e Causas de uma Engenharia de Requisitos Inadequada

Page 11: 4 eng requisitos

Pressão do cliente para uma construção rápida do sistema

Sintomas e Causas de uma Engenharia de Requisitos Inadequada

Page 12: 4 eng requisitos

Problemas de Comunicação

Sintomas e Causas de uma Engenharia de Requisitos Inadequada

Page 13: 4 eng requisitos
Page 14: 4 eng requisitos

Suposição incorreta, por parte dos stakeholders, de que muito do assunto é evidente

Sintomas e Causas de uma Engenharia de Requisitos Inadequada

Page 15: 4 eng requisitos

Principais atividades da Engenharia de Requisitos

Page 16: 4 eng requisitos

O engenheiro de requisitos precisa extrair, sugar todas as informações possíveis dos stakeholders e identificar requisitos através de pesquisas

Para a etapa de identificação, levantamento e detalhamento de requisitos, podem ser utilizadas diversas técnicas◦ Entrevista, estudo em local de uso, brainstorming, dentre

outros.

Elicitação de Requisitos

Page 17: 4 eng requisitos

É importante registrar as informações coletadas e identificadas na etapa de levantamento de requisitos de forma adequada

Para documentar requisitos podem ser utilizadas a linguagem natural e modelos formais, utilizando por exemplo UML◦ Diagrama de estado, sequência, casos de uso, especificações de casos

de uso, etc.

Documentação

Page 18: 4 eng requisitos

Deve ser garantida a qualidade dos requisitos, validando se estão corretos. ◦ Para isso é importante negociar com o cliente o que realmente

é necessário para o produto.

Importante ter a avaliação de um especialista, de modo que possa ser verificado se o que foi levantado condiz com o que foi solicitado

Validação e Negociação

Page 19: 4 eng requisitos

Compreende todas as medidas que são necessárias às exigências de estrutura para que as outras 3 etapas da ER possam ocorrer

Gerenciar consiste em manter os dados consistentes, com qualidade, garantindo que eles possam ser implementados.

É uma etapa paralela as outras 3 visto que trabalha garantindo a execução destas

Gerenciamento

Page 20: 4 eng requisitos

Existem dois níveis de descrição para Requisitos:◦ Declaração abstrata de alto nível

Serviço que o sistema deve fornecer ou uma restrição do sistema

◦ Definição formal e detalhada de uma função do sistema

Estas definições originaram dois novos conceitos:◦ Requisitos de usuário◦ Requisitos de sistema

Requisitos

Page 21: 4 eng requisitos

Leitores de diferentes tipos de especificação:

Requisitos

Page 22: 4 eng requisitos

Descrevem as atividades que os usuários deverão ser capazes de executar com a utilização do sistema

Descrevem os requisitos funcionais e não funcionais, de modo que eles sejam compreensíveis pelos usuários do sistema que não possuem conhecimento técnico detalhado

Devem:◦ Especificar apenas o comportamento externo do sistema◦ Evitar características de projeto do sistema

Requisitos de Usuário

Page 23: 4 eng requisitos

Não deve usar:◦ Jargões de software◦ Notações estruturadas◦ Notações formais◦ Descrever os requisitos por meio da implementação do sistema

Deve escrever:◦ Em linguagem simples◦ Com tabelas e formulários simples◦ Diagramas Intuitivos

Requisitos de Usuário

Page 24: 4 eng requisitos

Problemas que podem surgir:◦ Falta de clareza◦ Confusão de requisitos◦ Fusão de requisitos

Este requisito deve incluir informações conceituais e detalhadas

Sempre que possível, deve-se associar uma justificativa lógica a cada requisito do usuário

Requisitos de Usuário

Page 25: 4 eng requisitos

O que fazer para minimizar os mal-entendidos ao redigir os requisitos do usuário:

1. Padronização do formato para as definições de requisitos

2. Usar a linguagem de forma consistente

3. Utilizar destaque no texto para ressaltar as partes principais do requisito

4. Evitar, sempre que possível, o uso de jargões de informática

Requisitos de Usuário

Page 26: 4 eng requisitos

Versões expandidas dos requisitos de usuário usados como ponto de partida para o projeto do sistema

Adicionam detalhes e explicam como os requisitos de usuário devem ser fornecidos pelo sistema

Requisitos do Sistema

Page 27: 4 eng requisitos

Os requisitos podem ser escritos utilizando notações especializadas:◦ Linguagem natural estruturada e estilizada◦ Modelos gráficos dos requisitos

Forma de escrever os requisitos do sistema◦ Liberdade para elaborar os requisitos é limitada◦ Todos os requisitos são redigidos de maneira padronizada

Garante que algum grau de uniformidade seja imposto nas especificações

Requisitos do Sistema: Especificaçõesem Linguagem Estruturada

Page 28: 4 eng requisitos

Requisitos de sistema são classificados como:◦ Requisitos funcionais:

Declarações de serviços que o sistema deve fazer, como o sistema deve reagir e como o sistema deve se comportar

◦ Requisitos não funcionais: Restrições sobre os serviços ou as funções oferecidos pelo sistema

Requisitos do Sistema

Page 29: 4 eng requisitos

Descrevem o que o sistema deve fazer Dependem:◦ Do tipo do software que está sendo desenvolvido◦ Usuário a que o software se destina

A especificação de requisitos funcionais deve ser completa e consistente◦ Tarefa difícil de ser atingida, pois diferentes stakeholders tem diferentes

necessidades

Exemplo:◦ O sistema deve possibilitar o cadastramento dos dados pessoais dos

clientes◦ O sistema deve emitir relatórios estatísticos gerenciais a cada quinze

dias

Requisitos Funcionais

Page 30: 4 eng requisitos

Não estão diretamente relacionais às funções específicas fornecidas pelo sistema

Podem estar relacionados com às propriedades do sistema◦ Confiabilidade◦ Tempo de resposta◦ Espaço de armazenamento

Podem especificar desempenho, proteção, disponibilidade e outras propriedades emergentes do sistema

Requisitos Não Funcionais

Page 31: 4 eng requisitos

Exemplos:◦ O tempo de resposta do sistema não deve ultrapassar 10 segundos◦ Software deve ser operado no sistema Windows◦ O banco de dados usado deverá ser o SQL Server 2005◦ O banco de dados deve ser protegida para acesso apenas de usuários

autorizados

Problema comum é que eles podem ser difíceis de verificar◦ Usuário ou clientes definem eles como metas gerais (usabilidade,

capacidade do sistema de se recuperar de falhas ou resposta rápida ao usuário)

Requisitos Não Funcionais

Page 32: 4 eng requisitos

Tipos de Requisitos:◦ Requisitos de usuário◦ Requisitos de sistema

Classificação dos Requisitos de sistema:◦ Requisitos funcionais◦ Requisitos não funcionais

Revisando

Page 33: 4 eng requisitos

Listar Requisitos Funcionais e Não Funcionais para os sistemas:◦ Sistema para Biblioteca◦ Sistema Acadêmico para Universidades◦ Media Player para Facebook

Grupos de 4 pessoas

Entregar até o final da aula

Exercício