Você está na página 1de 20

Engenheria de software

ENGENHERIA DE
REQUISITOS
Professor: André Conde
Requisitos de software
Engenharia de
Engenharia de requisitos
Rquisitos
Tarefas de engenharia de
O que você precisa saber requisitos

Referências bibliográficas
O que são Requisitos
de Software?
Objetivos ou restrições Condições ou capacidades
estabelecidas por clientes e necessárias que o software
usuários que definem as deve possuir.
suas diversas propriedades Para que o usuário possa resolver
do software. um problema ou atingir um
objetivo.
Para atender as necessidades
ou restrições da organização
ou dos outros componentes
do sistema
REQUISITOS FUNCIONAIS
Descrevem funcionalidades ou serviços que se
espera que o sistema forneça. Dependem do tipo
de software e sistema que estão sendo
desenvolvidos e dos usuários se esperam
verificar. Quando expressos como requisitos de
usuário, são normalmente descritos de um modo
bastante geral , mas os requisitos funcionais de
sistema descrevem funções do sistema em
detalhes, suas entradas e saídas, exceções, etc.
Podem também explicitamente declarar o que o
sistema não deve fazer. (Ian Sommerville)
REQUISITOS FUNCIONAIS
Uma forma de imagina-los
O que deve ser feito

Os requisitos funcionais definem recursos que devem ser


fornecidos pelo sistema ao usuário. A sua especificação deve ser
completa (todas as funções requeridas pelo usuário devem estar
definidas) e consistente (requisitos não devem ter definições
contraditórias).
REQUISITOS NÃO-FUNCIONAIS

Como o nome sugere, são aqueles que não dizem respeito diretamente
às funções específicas fornecidas pelo sistema. Podem estar
relacionados a propriedades de sistema emergentes, como
confiabilidade, tempo de resposta e espaço em disco. São restrições
sobre os serviços ou as funções oferecidas pelo sistema, como a
capacidade para os dispositivos de entrada e saída e as representações
de dados utilizadas nas interfaces de sistema (Ian Sommerville)
REQUISITOS NÃO-FUNCIONAIS
Exemplos
REQUISITOS FUNCIONAIS
Calcular os gastos diários, semanais, mensais e anuais da empresa
Emitir relatórios de compras a cada quinze dias
Obter o número de aprovações, reprovações e trancamentos em todas as
disciplinas do semestre

REQUISITOS NÃO-FUNCIONAIS
A base de dados deve ser protegida ao acesso de usuários não autorizados
O tempo de resposta do sistema não deve ultrapassar 30 segundos
O software deve ser operacionalizado no ambiente Linux
O tempo de desenvolvimento não deve ultrapassar seis meses
Requisitos

Um requisito funcional descreve uma interação entre os sistema e seu


ambiente , como os sistema deve se comportar, considerando um certo
estímulo . Por outro lado, em vez de informar o que o sistema fará, os
requisitos não-funcionais colocam restrições no sistema, descrevem
limitações para criar uma solução para o problema (Shari Pfleeger)
Requisitos de Software
QUAL TIPO DE REQUISITOS SÃO
MAIS IMPORTANTES?
( ) FUNCIONAIS ( ) NÃO-FUNCIONAIS
DEPENDE DO SISTEMA,
ENTRETANTO,
freqüentemente, os requisitos não-funcionais são mais
importantes do que os requisitos funcionais individuais.

ENQUANTO, A FALHA EM CUMPRIR COM UM REQUISITO FUNCIONAL


INDIVIDUAL PODE DEGRADAR O SISTEMA, A FALHA EM CUMPRIR COM
UM REQUISITO NÃO-FUNCIONAL PODE TORNAR TODO O SISTEMA INÚTIL
O que é Engenharia
de Requisitos?
Processo disciplinado que ajuda engenheiros de
software a compreender melhor o problema que eles
vão trabalhar para resolver.

entender qual será o impacto do software sobre o negócio


perceber o que o cliente deseja
reconhecer como os usuários finais vão interagir com o software
POR QUE A ENGENHARIA DE REQUISITOS É
IMPORTANTE?

permite à equipe de software examinar o contexto do trabalho a ser


realizado
as necessidades específicas que o projeto e a construção precisam
satisfazer
as prioridades que estabelecem a ordem na qual o trabalho será
contemplado
as informações, funções e comportamentos impactantes no projeto
Engenharia de Requisitos
A ENGENHARIA DE REQUISITOS, COMO TODAS AS OUTRAS
ATIVIDADES DA ENGENHARIA DE SOFTWARE, PRECISA SER
ADAPTADA ÀS NECESSIDADES DO PROCESSO, PROJETO,
PRODUTO E PESSOAL QUE ESTÁ FAZENDO O TRABALHO.
Engenharia de Requisitos
Entender os requisitos de um problema está entre as tarefas
mais difíceis enfrentadas por um engenheiro de software
ENGENHARIA DE REQUISITOS
FATORES DE FALHAS NOS PROJETOS DE SOFTWARE
TAREFAS DE ENGENHARIA DE
REQUISITOS

Mecanismo apropriado para:

entender o que o cliente deseja


avaliar a exequibilidade
negociar uma condição razoável
especificar a solução de modo não ambíguo
validar a especificação
gerir os requisitos à medida que eles são transformados em um sistem
operacional
TAREFAS DE ENGENHARIA DE
REQUISITOS
STAKEHOLDERS
Todos envolvidos no projeto (tem uso direto ou
indireto no sistema)

É de quem partem as solicitações


Referências
PRESSMAN, Roger. S. Engenharia de Software. 6ª ed. São Paulo:
MacGraw-Hill, 2006. Capítulo 7: Engenharia de requisitos. P.116-143.
Exercícios
1- O que são requisitos de software?
2- O que são requisitos funcionais? Dê exemplos.
3- O que são requisitos não funcionais?Dê exemplos.
4- Qual tipo de requisito é mais importante:
funcionais ou não funcionais? Justifique sua resposta.
5- O que é a engenharia de requisitos?
6- Quais as tarefas de engenharia de requisitos em
ordem de execução?

Você também pode gostar