Você está na página 1de 18

1

Engenharia de Software
Requisitos de Software
Engenharia de Software - Ian Sommerville - 6 edio
Rational Unified Process
Universidade So Judas Tadeu
Prof Ana Paula Gonalves Serra
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 2
Problemas tpicos de desenv. de software
2
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 3
O que so Requisitos? O que so Requisitos? O que so Requisitos? O que so Requisitos?
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 4
Por que os requisitos so importantes?
Falta de cuidado com os requisitos pode
levar a:
Construo de um sistema que resolve o
problema errado;
No funciona como o esperado;
Difcil para os usurios entenderem e utilizarem;
Alto custo.
3
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 5
Sintomas de Problemas no
Desenvolvimento de Software
Necessidades de negcio ou de usurios no atendidas;
Requisitos mal definidos;
Mdulos que no se integram;
Descoberta tardia de falhas;
Interface com o usurio de baixa qualidade;
Esforo da equipe no coordenado;
Problemas relativos ao release gerado.
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 6
Engenharia de Requisitos
O que a engenharia de requisitos?
designa todas as atividades envolvidas em
descobrir, obter, analisar
especificar, documentar
verificar, gerir, manter
os requisitos de um sistema
Implica a utilizao de um conjunto de tcnicas e modelos que
tornam sistemtica e repetitiva a execuo destas tarefas.
A engenharia de requisitos fornece um mecanismo adequado
para entender o que o cliente deseja , analisar as
necessidades, negociar uma soluo adequada, validar a
especificao e administrar os requisitos a medida que eles so
transformados em um sistema em operao.
4
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 7
Engenharia de Requisitos Por que?
Fatores que ameaam um projeto
Chaos: Charting the Seas of Information Technology, Jim Johnson,1994
13%
12%
12%
7%
6%
50%
informao de m qualidade do usurio
requisitos incompletos
requisitos mutveis
insuficincia tcnica (membros da equipe)
pessoal com pouca qualificao
outros
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 8
Engenharia de Requisitos Por que?
Fatores que ameaam um projeto
13%
12%
12%
7%
6%
50%
informao de m qualidade do usurio
requisitos incompletos
requisitos mutveis
insuficincia tcnica (membros da equipe)
pessoal com pouca qualificao
outros
informao de m qualidade do
usurio 13%
requisitos incompletos 12%
requisitos mutveis 12%
5
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 9
Interface
6%
Enviroments
5%
Documentation
2% Human
5%
Requirements
41%
Data
6%
Others
7%
Logic Design
28%
Fontes de Defeitos
Por que gerenciar mudanas e validar requisitos ?
Fonte: U.S. Air Force Project, F.Sheldon, 1992
Reliability Measurement from Theory to Practice
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 10
Custo de Requisitos Pobres
R
e
q
u
i
r
e
m
e
n
t
s
D
e
s
ig
n
C
o
d
i
n
g
D
e
v
e
ll
p
.

T
e
s
t
i
n
g
A
c
c
e
p
t
a
n
c
e

T
e
s
t
in
g
O
p
e
r
a
t
io
n
1 3-6
10
15-40
30-70
40-1000
0
100
200
300
400
500
600
700
800
900
1000
Phase in which
found
Unit Cost
Fonte: Gause, Donald and Gerald Weinberg
Exploring Requirements: Quality Before Design
6
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 11
O que so Requisitos? O que so Requisitos? O que so Requisitos? O que so Requisitos?
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 12
Requisito (IEEE)
Uma condio ou capacidade necessitada por um usurio para
resolver um problema ou alcanar um objetivo.
Uma condio ou capacidade que deve ser satisfeita por um sistema
para satisfazer um contrato ou um padro.
Requisito (Sommerville)
Os requisitos para um sistema de software estabelecem o que o
sistema deve fazer e definem restries sobre sua operao e
implementao.
Requisito (Aurlio)
Condio necessria para a obteno de certo objetivo, ou para o
preenchimento de certo fim.
Conceitos de Requisitos Conceitos de Requisitos Conceitos de Requisitos Conceitos de Requisitos
7
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 13
Finalidade dos Requisitos
Estabelecer e manter concordncia com os clientes e
outros envolvidos (stakeholders) sobre o que o
sistema deve fazer;
Stakeholder (envolvidos ou interessado) utilizado
para qualquer pessoa que ter alguma influncia
direta ou indireta sobre os requisitos do sistema.
Exemplo: usurios finais, rea de TI, gerentes de
negcio...
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 14
Finalidade dos Requisitos
Oferecer aos desenvolvedores do sistema uma
compreenso melhor dos requisitos do sistema;
Delimitar o sistema;
Planejar o desenvolvimento do sistema;
Fornecer uma base para estimar o custo e o tempo
de desenvolvimento do sistema.
8
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 15
Requisitos - Exemplos
"cada disciplina tem um professor responsvel, embora outros
professores possam lecion-la tambm; em cada semestre pode
haver um professor responsvel diferente e os professores que a
lecionam tambm.
"o sistema dever ter uma disponibilidade superior a 99%.
"as respostas do sistema nunca devero ser percepcionadas como
'lentas'.
"os dados dos colaboradores devero ser obtidos por consulta
base de dados de recursos humanos; no desejvel que se faam
cpias das tabelas desta base de dados.
o sistema deve realizar o cadastro de clientes, pedidos e entrega de
produtos.
"o sistema deve respeitar as normas de acessibilidade da W3C.
o sistema deve emitir um recibo, com tempo de resposta de no
mximo de 8 segundos.
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 16
Requisitos
Os requisitos de um sistema devem focar-se no "o
qu?"
o que que o sistema deve fazer?
o "como?" deve ser relegado para segundo plano.
No entanto a separao do "o qu?" e do "como?"
difcil de conseguir na prtica.
os requisitos de um sistema incluem na prtica uma mistura de
dados sobre o problema, descries do comportamento do
sistema e propriedades e restries da construo do sistema.
9
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 17
1. Requisitos Funcionais
2. Requisitos No-Funcionais
2.1. Produto
2.2. Organizacionais
2.3. Externos
3. Requisitos de Dom nio
4. Requisitos do Usu rio
5. Requisitos do Sistema
Tipos de Requisitos Tipos de Requisitos Tipos de Requisitos Tipos de Requisitos
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 18
Requisitos que descrevem a funcionalidade
(funes que o sistema deve realizar) ou os
servios que se espera que o sistema faa. Por
exemplo:
cadastrar cliente
emitir nota fiscal
consultar estoque
gerar pedido
1. Requisitos Funcionais 1. Requisitos Funcionais 1. Requisitos Funcionais 1. Requisitos Funcionais
10
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 19
Requisitos que no dizem respeito diretamente a
funcionalidade do sistema mas expressam
propriedades do sistema e/ou restries sobre os
servios ou funes providas pelo sistema.
Podem ser categorizados em:
2.1. Requisitos de Produto
2.2. Requisitos Organizacionais
2.3. Requisitos Externos
2. Requisitos No 2. Requisitos No 2. Requisitos No 2. Requisitos No- -- -Funcionais Funcionais Funcionais Funcionais
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 20
2. Requisitos No-Funcionais
Requisitos no
funcionais
Requisitos
Organizacionais
Requisitos de
Produto
Requisitos
Externos
requisitos de
entrega
requisitos de
usabilidade
requisitos de
eficincia
requisitos de
confiabilidade
requisitos de
portabilidade
requisitos de
implementao
requisitos para
padres
requisitos de
espao
requisitos
de custo
requisitos de
interoperabilidade
requisitos
legais
requisitos de
performance Sommerville
Taxonomia
11
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 21
Requisitos que especificam o comportamento do
produto, como por exemplo:
Usabilidade/Facilidade de Uso (esforo para
utilizar, aprender o produto)
Confiabilidade (freqncia de falhas,
recuperabilidade)
Eficincia (desempenho
Portabilidade (capacidade de transferir o produto
para outros ambientes)
2.1. Requisitos No 2.1. Requisitos No 2.1. Requisitos No 2.1. Requisitos No- -- -Funcionais Funcionais Funcionais Funcionais - -- - Produto Produto Produto Produto
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 22
2.1. Mtricas para Especificar Requisitos No-
Funcionais
Propriedade Mtrica
Velocidade Transaes processadas/segundo
Tempo de resposta usurio/evento
Tempo de atualizao da tela
Tamanho Kbytes
Nmero de chips de RAM
Facilidade de Uso Tempo de treinamento
Nmero de telas de ajuda
Confiabilidade Tempo mdio de falha
Probabilidade de indisponibilidade
Taxa de ocorrncia de falha
Disponibilidade
Robustez Tempo para reiniciar aps falha
Porcentagem de eventos que causam falhas
Probabilidade de corrupo de dados por falha
Portabilidade Porcentagem de declaraes dependentes do sistema-alvo
Nmero de sistemas-alvo
12
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 23
Requisitos derivados das polticas organizacionais
do cliente e do desenvolvedor, como por exemplo:
Implementaes (regras de codificao)
Padres (linguagem de programao)
2.2. Requisitos No 2.2. Requisitos No 2.2. Requisitos No 2.2. Requisitos No- -- -Funcionais Funcionais Funcionais Funcionais - -- - Organizacionais Organizacionais Organizacionais Organizacionais
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 24
Requisitos procedentes de fatores externos ao
sistema e ao seu processo de desenvolvimento. Com
por exemplo:
Requisitos ticos
Legais (poltica de privacidade, direitos autorais)
Interoperabilidade
2.3. Requisitos No 2.3. Requisitos No 2.3. Requisitos No 2.3. Requisitos No- -- -Funcionais Funcionais Funcionais Funcionais - -- - Externos Externos Externos Externos
13
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 25
Requisitos derivados do domnio da aplicao do sistema, em
vez de serem obtidos a partir das necessidades especficas dos
usurios do sistema, eles podem se transformar em novos
requisitos funcionais, ou serem regras de negcios especfica
do domnio do problema. Por exemplo:
Utilizao de uma interface padro utilizando a norma
Z39.50;
Disponibilizao de arquivos somente para leitura devido a
direitos autorais;
Desacelerao do trem dever ser calculada pela seguinte
equao: A
trem
= A
controle
+ A
rampa
3. Requisitos de Domnio 3. Requisitos de Domnio 3. Requisitos de Domnio 3. Requisitos de Domnio
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 26
So os requisitos funcionais e no funcionais do
sistema sob o ponto de vista do usurio.
Em geral apresentam os seguinte problemas:
Falta de clareza
Confuso
Fuso (requisitos diferentes escritos como um nico
requisito)
4. Requisitos do Usurio 4. Requisitos do Usurio 4. Requisitos do Usurio 4. Requisitos do Usurio
14
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 27
Descries mais detalhadas dos requisitos do
usurio.
So base para que os engenheiros de software
possam fazer o projeto do sistema
5. Requisitos do Sistema 5. Requisitos do Sistema 5. Requisitos do Sistema 5. Requisitos do Sistema
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 28
Stakeholders (Envolvidos)
Pessoas ou grupos que no esto diretamente
relacionados aquisio, ao uso ou
desenvolvimento do produto de software e que
podem influenciar no software.
Baseline
Conjunto de artefatos de software que servem de
base para o seu desenvolvimento.
Conceitos Chaves Conceitos Chaves Conceitos Chaves Conceitos Chaves
15
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 29
Documento de Requisitos de Software
O documento de requisitos de software, chamados
de SRS (Software Requirements Specification) ou
ERS (Especificao de Requisitos de Software) a
declarao estabelecida dos requisitos do sistema,
devendo ser organizado de modo que possa ser
utilizado pelos clientes de sistemas e pelos
desenvolvedores de software.
Conceitos Chaves Conceitos Chaves Conceitos Chaves Conceitos Chaves
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 30
Documento de Requisitos de Software - Modelo
Conceitos Chaves Conceitos Chaves Conceitos Chaves Conceitos Chaves
Padro IEEE 830-1993.
16
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 31
Alguns recomendaes na Especificao de
Requisitos
Evite ambigidade
Ex: O mesmo subsistema deve tambm ser capaz de gerar um sinal de cuidado/alerta visvel
ou audvel para chamar a ateno do co-piloto e/ou navegador.
No crie mltiplos requisitos.
Ex: A lmpada de alerta de pouca bateria deve acender quando a voltagem cair abaixo de
3.6 Volts, e a rea de trabalho corrente ou dados de entrada devem ser salvos.
Nunca use palavras evasivas.
Ex: O alarme de incndio deve sempre ser tocado, a menos que o alarme esteja sendo
testado ou o engenheiro tenha suprimido o alarme.
Evite rodeios.
Ex: Dado que os sinais de entrada designados dos dispositivos especificados sejam
recebidos na ordem correta onde o sistema capaz de diferenciar os designadores, o sinal
de sada deve estar de acordo com o framework requerido da seo 3.1.5 para indicar o
estado desejado de estrada.
Resista tentao de projetar o sistema
Ex: A antena deve ser capaz de receber sinais FM usando um miolo de cobre com nylon o
protegendo e uma capa de borracha endurecida prova d'gua.
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 32
Alguns recomendaes na Especificao de
Requisitos
Evite misturar diferentes tipos de requisitos
Ex: O usurio deve ser capaz de ver o nmero do canal corrente que deve ser exibido com
fonte Swiss tamanho 14 num painel LCD em conformidade com o Padro Regulatrio Federal
567-89 e montado com arruelas de borracha prova de choque.
No especule
Ex: Usurios normalmente requerem rpida indicao de intruso no sistema.
No use termos vagos, indefinidos
Ex: A caixa de dilogo de impresso deve ser verstil e amigvel .
No expresse possibilidades
Ex: O subsistema de recepo provavelmente deve ser forte o suficiente para receber um
sinal de dentro de uma construo de placas de ao .
Evite pensamentos desejosos
Ex: A rede deve tratar todos os erros inesperados sem travar.
17
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 33
Perfil dos Envolvidos nos Nveis de Requisitos Perfil dos Envolvidos nos Nveis de Requisitos Perfil dos Envolvidos nos Nveis de Requisitos Perfil dos Envolvidos nos Nveis de Requisitos
Requisitos
dos Usurios
rea de negcio do cliente
rea de TI do cliente
Usurios finais do sistema
Analistas do Sistema ou
Arquitetos do Sistema
Conhecimento no tcnico
detalhado do sistema
Requisitos
de Sistema
rea de TI do cliente
Usurios finais do sistema
Analistas do Sistema ou
Arquitetos do Sistema
Desenvolvedores de SW
Conhecimento tcnico detalhado
do sistema e gerentes de projeto
Especificao
de Projeto SW
rea de TI do cliente
(talvez)
Analistas do Sistema ou
Arquitetos do Sistema
Desenvolvedores de SW
Conhecimento orientado a
implementao
Requisitos
dos Usurios
rea de negcio do cliente
rea de TI do cliente
Usurios finais do sistema
Analistas do Sistema ou
Arquitetos do Sistema
Conhecimento no tcnico
detalhado do sistema
Requisitos
de Sistema
rea de TI do cliente
Usurios finais do sistema
Analistas do Sistema ou
Arquitetos do Sistema
Desenvolvedores de SW
Conhecimento tcnico detalhado
do sistema e gerentes de projeto
Especificao
de Projeto SW
rea de TI do cliente
(talvez)
Analistas do Sistema ou
Arquitetos do Sistema
Desenvolvedores de SW
Conhecimento orientado a
implementao
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 34
Leia a descrio do sistema automtico de emisso de passagens.
Um sistema automtico de emisso de passagens vende passagens de trem.
Os usurios escolhem seu destino e apresentam um carto de crdito e um
nmero de identificao pessoal. A passagem emitida e o custo dessa
passagem includo em sua conta do carto de crdito. Quando o usurio
pressiona o boto para iniciar, uma tela de menu com os possveis destinos
ativada, juntamente com uma mensagem para que o usurio selecione o
destino. Uma vez selecionado um destino, pede-se que os usurios insiram o
carto de crdito. A validao do carto checada e o usurio, ento, deve
fornecer um nmero de identificao pessoal. Quando a transao de crdito
validada, a passagem emitida
Sommerville, Ian. Engenharia de Software. 6 edio.
Exerccio Exerccio Exerccio Exerccio
18
Universidade So Judas Tadeu - Engenharia de Software I -Profa. Ana Paula Gonalves Serra 35
Responda...
1. Descubra ambigidades e omisses.
2. Descreva os requisitos funcionais.
3. Descreva os requisitos no-funcionais.
4. Identifique os Stakeholders.
Pag. 36
Copyright 2008 -2014 Profa. Dra. Ana Paula Gonalves
Serra.
Todos direitos reservados. Reproduo ou divulgao total ou
parcial deste documento expressamente probido sem o
consentimento formal, por escrito, do Professor (autor).