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
O que é requisito?
“Condição que se deve satisfazer para alcançar um objetivo”
O que é requisito?
“Exigência que deve ser cumprida para atingir um objetivo”
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.
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
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.
O que é Stakeholder?
•
“É uma pessoa ou uma organização que tem algum impacto
direto ou indireto sobre os requisitos do sistema.”
Interessados
Envolvidos
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
Importância da ER
[Figuras Adaptada do Quik Guide]
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
Sintomas e Causas de uma ER inadequada
•
Problemas de Comunicação
“Quando
conversar com
um colega de
trabalho ou um
cliente, lembrese de que a
comunicação
transcende as
palavras .” Mari
Geuer
Omissão de
Requisitos
Scott Adams, Inc./Dist. by UFS, Inc
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
4 atividades principais da ER
Gerenciamento
Elicitação
Documentação
Validação e
Negociação
• 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
•
O engenheiro de requisitos precisa extrair,
sugar todas as informações possíveis dos
stakeholders e identificar requisitos através
de pesquisas.
Elicitação
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.
•
É importante registrar as informações
coletadas e identificadas na etapa de
levantamento de requisitos de forma
adequada.
Documentação
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.
•
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.
Validação e
Negociação
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.
•
Compreende todas as medidas que são
necessárias às exigências de estrutura para que as
outras 3 etapas da ER possa ocorrer.
Gerenciamento
Gerenciar
consiste em
manter os
dados
consistentes,
com qualidade
garantindo que
eles possam ser
implementados
.
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.
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

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

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

Requisitos completos e consistentes
Em princípio, requisitos devem ser completos e
consistentes
 Completude



Eles devem incluir descrições de todos os recursos requeridos
Consistência

Não deve haver conflitos ou contradições nas descrições dos recursos
de sistema
Na prática, é impossível produzir um documento
de requisitos completo e consistente

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

EXERCÍCIOS
•
Criar um documento com a visão geral
e os requisitos para o seguinte
sistema:
•
Sistema de Registro de Ponto dos
Colaboradores
Download

requisitos