Você está na página 1de 33

Requisitos de Software

Professor Cleyton Ferreira Franco

Requisitos de Software
Requisitos de Software

Requisitos de Software

Requisitos de Software
Requisitos de Software

Objetivos

Introduzir os conceitos de requisitos do usurio e do sistema


Descrever requisitos funcionais e no-funcionais
Explicar como requisitos de software devem ser organizados
em um documento de requisitos

Requisitos de Software
Requisitos de Software

O que um requisito?

Tanto pode ser uma declarao abstrata de alto nvel de um


servio ou restrio do sistema quanto uma especificao
funcional matemtica detalhada.

Requisitos de Software
Requisitos de Software

Elicitao de requisitos e anlise

Esta atividade divide-se em dois esforos maiores:


Elicitao dos requisitos em si
Tcnicas de elicitao
Anlise do que foi elicitado
Processo de anlise

Requisitos de Software
Requisitos de Software

Elicitao de Requisitos

Tambm denominada de descoberta de requisitos


Envolve pessoal objetivando descobrir o domnio de
aplicao, servios que devem ser fornecidos bem como
restries.
Deve envolver usurios finais, gerentes, pessoal envolvido na
manuteno, especialistas no domnio, etc. (Stakeholders).

Requisitos de Software
Requisitos de Software

Requisitos

Requisitos do Usurio
Declaraes em linguagem natural com diagramas de
servios que o sistema deve oferecer e suas restries
operacionais. Escrito para os clientes.
Requisitos do Sistema
Documento estruturado com descries detalhadas sobre os
servios do sistema. Contrato entre cliente e fornecedor.
Especificao do Software
Descrio detalhada do software que serve como base para
projeto ou implementao. Escrito para desenvolvedores. 7

Requisitos de Software
Requisitos de Software

Requisitos Funcionais e No-Funcionais

Requisitos Funcionais
Declaraes sobre o que o sistema deve oferecer, como o
sistema deve reagir a determinadas entradas e como o
sistema deve comportar-se em situaes especiais.
Requisitos No-Funcionais
Restries sobre funes ou servios oferecidas pelo sistema
(tempo, processo de desenvolvimento, padres, etc)
Requisitos de Domnio
Requisitos vindos do domnio da aplicao do sistema e que
8
refletem caractersticas desse domnio.

Requisitos de Software
Requisitos de Software

Requisitos Funcionais

Descreve funcionalidade e servios do sistema.


Depende do tipo do software, usurios esperados e o tipo do
sistema onde o software usado.
Requisitos funcionais do usurio devem ser declaraes de
alto nvel sobre o que o sistema deve fazer.
Requisitos funcionais do sistema devem descrever os servios
do sistema em detalhes.
9

Requisitos de Software
Requisitos de Software

Impreciso dos Requisitos

Problemas podem surgir quando os requisitos no so


estabelecidos precisamente.
Requisitos ambguos podem ser interpretados diferentemente
por usurios e desenvolvedores.
Considere o termo visualizadores apropriados
Visualizador de propsito especial para cada tipo de
documento diferente (Usurio).
Oferecer um visualizador de texto que mostra o contedo
do documento (Desenvolvedor)
10

Requisitos de Software
Requisitos de Software

Completude e consistncia dos Requisitos

Em princpio, requisitos devem ser completos e consistentes.


Completo
Descries de todos os servios.
Consistncia

No deve haver conflitos e contradies nas descries dos


servios.
Na prtica, torna-se impossvel produzir um documento de
requisitos completo e consistente.

11

Requisitos de Software
Requisitos de Software

Exemplos de R.F.

[RF001] Usurio pode pesquisar todo ou um sub conjunto do


banco de dados.
[RF002] Sistema deve oferecer visualizadores apropriados
para o usurio ler documentos armazenados.
[RF003] A todo pedido deve ser associado um identificador
nico (PID), o qual o usurio pode copiar para a rea de
armazenamento permanente da conta.

12

Requisitos de Software
Requisitos de Software

Exerccio

D alguns exemplos de R.F.s para:


1.Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento do IRPF;
3. Sistema de alocao docente.

13

Requisitos de Software
Requisitos de Software

Requisitos No-Funcionais

Definem propriedades e restries do sistema (tempo,


espao, etc)
Requisitos de processo tambm podem especificar o uso de
determinadas linguagens de programao, mtodo de
desenvolvimento.

Requisitos no-funcionais podem ser mais crticos que


requisitos funcionais. No satisfaz, sistema intil.

14

Requisitos de Software
Requisitos de Software

Requisitos No-Funcionais (Exemplos)

Requisitos do Produto
Toda consulta ao banco de dados baseada em cdigo de
barras no deve exceder 5 s.
Requisitos Organizacionais
Todos os documentos entregues devem seguir o padro
de relatrios XYZ-00.
Requisitos Externos
O sistema no deve usar informaes pessoais do usurio
com os operadores do sistema.
15

Requisitos de Software
Requisitos de Software

Medidas de Requisitos (No-Funcionais)


Propriedade

Medida

Velocidade

Transaes por segundo

Tamanho

Kbytes

Facilidade de uso

Tempo de treinamento

Robustez

Tempo mdio de falhas

Portabilidade

Nmero de sistemas destino

16

Requisitos de Software
Requisitos de Software

Exemplos de R. N. F.

Requisitos do Produto
[RNF001] Toda consulta ao B.D., baseada em cdigo de
barras, deve resultar em at 5 s.
Requisitos Organizacionais
[RNF002] Todos os documentos entregues devem seguir o
padro de relatrios XYZ-00.
Requisitos Externos
[RNF003] Informaes pessoais do usurio no devem ser
vistas pelos operadores do sistema.
17

Requisitos de Software
Requisitos de Software

Exerccio

D alguns exemplos de R.N.F.s para:


1.Sistema da padaria de pequeno porte;
2. Sistema inteligente de preenchimento do IRPF;
3. Sistema de alocao docente.

18

Requisitos de Software
Requisitos de Software

Objetivos e Requisitos
Requisitos no-funcionais podem ser muito difceis de serem
estabelecidos precisamente e requisitos imprecisos difceis de
verificar.
Objetivo
Inteno geral do usurio (facilidade de uso).
Requisito no-funcional verificvel
Declarao usando alguma medida que possa ser testada
objetivamente.
Objetivos so teis aos desenvolvedores uma vez que eles
apresentam as intenes dos usurios do sistema

19

Requisitos de Software
Requisitos de Software

Objetivos e Requisitos (Exemplos)

Um objetivo do sistema
Sistema deve ser fcil de usar por usurios experientes e
organizado de forma a minimizar erros do usurio.
Um requisito no-funcional verificvel
Usurios experientes devem ser capazes de usar toda a
funcionalidade do sistema aps 2h de treinamento. Aps
treinamento, erros no podem ultrapassar 2 por dia.

20

Requisitos de Software
Requisitos de Software

Requisitos de Domnio

Derivados do domnio da aplicao e descrevem


caractersticas do sistema e qualidades que refletem o
domnio.
Podem ser requisitos funcionais novos, restries sobre
requisitos existentes ou computaes especficas.

Se requisitos de domnio no forem satisfeitos, o sistema


pode tornar-se no prtico.

21

Requisitos de Software
Requisitos de Software

Requisitos de Domnio (Exemplo 1)

Deve existir uma interface padro com o usurio para todos


os bancos de dados baseada no padro ABC-98.
Devido a restries de direitos autorais, alguns documentos
devem ser apagados assim que chegam. Dependendo dos
requisitos do usurio, tais documentos devem ser impressos
em impressora local ou remota.

22

Requisitos de Software
Requisitos de Software

Requisitos de Domnio (Exemplo 2)

A desacelerao do trem deve ser computada atravs da


frmula Dtrem=Dcontrole+Dgradiente
onde ...

23

Requisitos de Software
Requisitos de Software

Requisitos de Domnio (Problemas)

Entendimento
Requisitos so descritos na linguagem do domnio da
aplicao.
No entendido pelos engenheiros de software que vo
desenvolver a aplicao.
Implicitude
Especialistas no domnio entendem a rea to bem que no
tornam todos os requisitos de domnio explcitos.

24

Requisitos de Software
Requisitos de Software

Requisitos

25

Requisitos de Software
Requisitos de Software

Requisitos do Usurio

Devem descrever requisitos funcionais e no-funcionais de tal


forma que sejam entendveis pelos usurios do sistema
que no tm conhecimento tcnico detalhado.
Requisitos do usurio so definidos usando linguagem
natural, tabelas e diagramas.

26

Requisitos de Software
Requisitos de Software

O Documento de Requisitos

O documento de requisitos a declarao oficial do que


requerido dos desenvolvedores do sistema.
Deve incluir uma definio e uma especificao dos requisitos
Deve declarar o que o sistema deve fazer e no como.

27

Requisitos de Software
Requisitos de Software

Guias para Escrever Requisitos

Adote um formato padro e use-o para todos os requisitos


Use linguagem consistentemente. Use
dever para requisitos obrigatrios e
deveria para os desejveis
Use texto em negrito para identificar partes chave dos
requisitos.
Evite jargo de computao.
28

Requisitos de Software
Requisitos de Software

Requisitos do Sistema

Especificaes mais detalhadas dos requisitos do usurio.


Serve de base para projetar o sistema.
Pode ser usado como parte do contrato do sistema.
Geralmente expressos usando modelos do sistema.
UML

29

Requisitos de Software
Requisitos de Software

Alternativas para Especificao

Notao

Descrio

Linguagem natural estruturada

Depende de formulrios padro

Linguagem de descrio de projeto

Linguagem semelhante a ling. prog.


mas com recursos abstratos para
especificar requisitos

Notaes grficas

Ling. grfica com anotaes de texto


(Use-cases de UML)

30

Requisitos de Software
Requisitos de Software

UML (Use-Case)

31

Requisitos de Software
Requisitos de Software

Estrutura de um Documento de Requisitos

Introduo
Glossrio
Definio dos Requisitos do Usurio
Arquitetura do Sistema
Especificao dos Requisitos do Sistema
Modelos do Sistema
Evoluo do Sistema
Apndices
ndice

32

Requisitos de Software
Bibliografia bsica padro:
PRESSMAN, Roger S.. Engenharia de software. So Paulo: Makron Books, 2006.
LARMAN, Craig. Utilizando UML e padres. So Paulo: Bookman, 2007.
SOMMERVILLE, Ian. Engenharia de software. So Paulo: Pearson Addison Wesley, 2008.

Bibliografia complementar:
TONSIG, Srgio Luiz. Engenharia de software : anlise e projeto de sistemas. So Paulo:
Futura, 2004.
REZENDE, Denis Alcides. Engenharia de software e sistemas de informao. Rio de
Janeiro: Brasport, 2002.
FERNANDES, Aguinaldo A.. Fbrica de software : implantao e gesto de operaes. So
Paulo: Atlas, 2004.
PFLEEGER, Shari Lawrence. Engenharia de software : teoria e prtica. So Paulo: PrenticeHall, 2004.
PAULA FILHO, Wilson de Pdua. Engenharia de software : fundamentos, mtodos e
padres. Rio de Janeiro: LTC, 2003.
33

Você também pode gostar