Introdução e Fundamentos Engenharia de Requisitos.

24
Introdução e Fundamentos Engenharia de Requisitos

Transcript of Introdução e Fundamentos Engenharia de Requisitos.

Page 1: Introdução e Fundamentos Engenharia de Requisitos.

Introdução e Fundamentos

Engenharia de Requisitos

Page 2: Introdução e Fundamentos Engenharia de Requisitos.

Roteiro

• O que é Requisito, Engenharia de Requisitos e Stakeholder?

• Importância da Engenharia de Requisitos

• Sintomas e Causas de uma ER inadequada

• 4 atividades principais da ER

• Comunicação na ER

• Requisitos• Tipos de Requisitos

• Requisitos de Qualidade

• Características Importantes

Page 3: Introdução e Fundamentos Engenharia de Requisitos.

O que é requisito?“Condição que se deve satisfazer para alcançar um

objetivo”

Page 4: Introdução e Fundamentos Engenharia de Requisitos.

O que é requisito?“Exigência que deve ser cumprida para atingir um

objetivo”

Page 5: Introdução e Fundamentos Engenharia de Requisitos.

O que é Engenharia de Requisitos (ER) ?

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

Page 6: Introdução e Fundamentos Engenharia de Requisitos.

Engenharia de requisitos

Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido

Tais serviços e restrições são chamados de requisitos

Page 7: Introdução e Fundamentos Engenharia de Requisitos.

O que é Engenharia de Requisitos (ER) ?• 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.

Page 8: Introdução e Fundamentos Engenharia de Requisitos.

O que é Stakeholder?• “É uma pessoa ou uma organização que tem algum

impacto direto ou indireto sobre os requisitos do sistema.”

Interessados

Envolvidos

Page 9: Introdução e Fundamentos Engenharia de Requisitos.

Importância da ER

“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.” Frederick P. Brooks

Page 10: Introdução e Fundamentos Engenharia de Requisitos.

Importância da ER

[Figuras Adaptada do Quik Guide]

Page 11: Introdução e Fundamentos Engenharia de Requisitos.

Sintomas e Causas de uma ER inadequada

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

“Temos que nos acostumar com a pressão.

Mais além, toda vez que sentirmos pressão, mentalizar que isso nos ajuda a alcançar nossos objetivos.

Dá-nos mais gás para agir em direção à nossa meta.” Lauro Valente

Requisitos Incorretos

Page 12: Introdução e Fundamentos Engenharia de Requisitos.

Sintomas e Causas de uma ER inadequada

• Problemas de Comunicação“Quando conversar com um colega de trabalho ou um cliente, lembre-se de que a comunicação transcende as palavras .” Mari Geuer

Omissão de Requisitos

Scott Adams, Inc./Dist. by UFS, Inc

Page 13: Introdução e Fundamentos Engenharia de Requisitos.

Sintomas e Causas de uma ER inadequada

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

“Geralmente as pessoas falham em serem bons ouvintes. Elas simplesmente presumem que sabem o que a outra pessoa esta dizendo ou simplesmente porque elas já ouviram isso antes adotam a idéia de que aquela pessoa é igual a outra “

Requisitos Ambíguos

Page 14: Introdução e Fundamentos Engenharia de Requisitos.

4 atividades principais da ER

Elicitação

Documentação

Validação e Negociação

Gere

ncia

men

to

• Levantamento• Técnicas de identificação• Detalhamento

• Descrição• Linguagem natural• Modelos formais

• Garantia de qualidade• Resolução de Conflitos• Consistência das informações

Page 15: Introdução e Fundamentos Engenharia de Requisitos.

Elicitação

• 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, como, entrevista, estudo arqueológico, brainstorming, dentre outros.

Page 16: Introdução e Fundamentos Engenharia de Requisitos.

Documentação

• É 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 UML, como por exemplo, diagrama de estado, sequência, casos de uso e especificações de casos de uso.

Page 17: Introdução e Fundamentos Engenharia de Requisitos.

Validação e Negociação

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

Para negociar e validar os requisitos é 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.

Page 18: Introdução e Fundamentos Engenharia de Requisitos.

Gerenciamento

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

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

Page 19: Introdução e Fundamentos Engenharia de Requisitos.

Requisitos funcionais e não-funcionais

Requisitos funcionais Serviços que o sistema deve fornecer Como o sistema deve reagir a entradas

específicas Como o sistema deve se comportar em

determinadas situações Requisitos não-funcionais ou de qualidade

Restrições sobre serviços ou funções oferecidos pelo sistema tais como restrições de tempo de resposta, restrições sobre o processo de desenvolvimento, padrões, etc.

Page 20: Introdução e Fundamentos Engenharia de Requisitos.

O sistema LIBSYS

Um sistema de biblioteca que fornece uma interface única para uma série de banco de dados de artigos em bibliotecas diferentes

Os usuários podem pesquisar, baixar e imprimir estes artigos para estudo pessoal

Page 21: Introdução e Fundamentos Engenharia de Requisitos.

Exemplos de requisitos funcionais

O usuário deve ser capaz de pesquisar em todo o conjunto inicial de banco de dados ou selecionar um subconjunto a partir dele

O sistema deve fornecer telas apropriadas para o usuário ler os documentos no repositório de documentos

Page 22: Introdução e Fundamentos Engenharia de Requisitos.

Imprecisão de requisitos

Problemas surgem quando os requisitos não são precisamente definidos Requisitos ambíguos podem ser interpretados de maneiras diferentes pelos desenvolvedores e usuários

Page 23: Introdução e Fundamentos Engenharia de Requisitos.

Requisitos não-funcionais

Definem propriedades e restrições de sistema Exemplos incluem confiabilidade, tempo de resposta e requisitos de armazenamento Restrições são capacidade de dispositivos de E/S, representações de sistema, etc. Requisitos de processo podem também ser especificados, impondo uma linguagem de programação, IDE ou método de desenvolvimento particular Requisitos não-funcionais podem ser mais críticos do que os requisitos funcionais

Page 24: Introdução e Fundamentos Engenharia de Requisitos.

EXERCÍCIOS AVALIATIVO – (2,0 ponto - DUPLA)

• Criar um documento com a visão geral e os requisitos para o seguinte sistema: • Sistema de Controle de Vendas para pizzaria