Вы находитесь на странице: 1из 60

Anlise e Gerncia de Requisitos

Fabiano Oss, 2014


fabiano.oss@gmail.com

Objetivos
Compreender os principais conceitos sobre
Requisitos de Software;
Selecionar a melhor tcnica para
levantamento de requisitos;
Especificar requisitos usando Casos de Uso;
Conhecer a Gerncia de Requisitos;
Compreender como os processos de software
tratam a Gerncia de Requisitos.
2

Referncias

MACHADO, Felipe Nery. Anlise e Gesto de


Requisitos de Software: onde nascem os
sistemas. So Paulo: Editora rica, 2011.

Referncias

LARMAN, Graig. Utilizando UML e Padres:


Uma introduo anlise e ao projeto
orientados a objetos e ao desenvolvimento
iterativo. 3a. ed. Porto Alegre: Bookman,
2007.

Referncias

SOMMERVILLE, Ian. Engenharia de


Software. 8a. ed. So Paulo: Addison
Wesley, 2007.

Referncias

WAZLAWICK, Raul Sidnei. Anlise e Projeto de


Sistemas de Informao Orientados a Objetos.
2a. ed. Rio de Janeiro, 2011.

Referncias

COCKBURN, Alistair. Escrevendo Casos de Uso


Eficazes. So Paulo: Addison Wesley, 2005.
Site: http://alistair.cockburn.us/Use+cases

Referncias

POHL, Klaus, RUPP Chis. Requirements


Engineering Fundamentals. Sebastopol, CA.
O Reilly, 2011.

Avaliao
Exerccios;
Trabalho Final

Roteiro

Introduo
Requisitos de Software
Viso Geral do Sistema
Tcnicas de Analise e Levantamento de Requisitos
Especificaao de Requisitos com Casos de Uso
Engenharia de Requisitos
Gerncia de Requisitos
CMMI e Requisitos
RUP e Requisitos
10

Projeto de Sucesso

11

Projetos de Sucesso
Um projeto de sucesso satisfaz seus clientes e
patrocinadores com resultados que atendem
aos seus objetivos, dentro das restries de
tempo e custo, produzindo produtos de
qualidade, mantendo e promovendo relaes
harmoniosas entre os envolvidos, incluindo os
executores, e contribuindo para o aprendizado
da organizao.
[Gasnier, 2000]
12

Cenrio dos Projetos


60,00%
50,00%
40,00%
Sucesso
Fracassou
Modificado

30,00%
20,00%
10,00%
0,00%
1994

1996

1998

2000

2002

2004

Fonte: Chaos Report

2006

2009

13

Cenrio dos Projetos

14

Motivos de Sucesso
Envolvimento do usurio:

15.9%

Apoio executivo:

13.9%

Declarao de requisitos clara e limpa:

13%

Planejamento apropriado

9.6%

Expectativas realistas

8.2%

Milestones pequenos

7.7%

Equipe competente

7.2%

Propriedade

5.3%

Viso e objetivos claros

2.9%

Trabalho duro e equipe focada

2.4%

15

Motivos de Sucesso
Envolvimento do usurio:

15.9%

Apoio executivo:

13.9%

Declarao de requisitos clara e limpa:

13%

Planejamento apropriado

9.6%

Expectativas realistas

8.2%

Milestones pequenos

7.7%

Equipe competente

7.2%

Propriedade

5.3%

Viso e objetivos claros

2.9%

Trabalho duro e equipe focada

2.4%

16

Origens dos problemas

17

Concluso
Um trabalho consistente de anlise de requisitos,
ou seja, identificar, quantificar, definir,
priorizar e classificar os principais problemas
que o futuro software deve resolver a base de
um projeto de software com sucesso

18

Terminologia
Stakeholder: qualquer pessoa envolvida no projeto;
Cliente: tipo especial de stakeholder o responsvel
pelo oramento do projeto;
Elicitar: significa extrair, obter, produzir os requisitos;
Cenrio: sequncia de eventos que podem ocorrer
durante a utilizao de um sistema;
Disciplina: o conhecimento disponvel, relacionado a
um modelo de processo;
Artefato: toda informao produzida
19

Requisitos de Software

20

Conceito
Requisito a descrio dos servios e das
restries do sistema. Tambm podemos dizer
que requisitos expressam as caractersticas de
um software do ponto de vista da satisfao
das necessidades dos usurios.
SOMMERVILLE, 2005

21

Conceito
Conjunto de condies ou capacidades
necessrias que um software deve possuir
para que o usurio possa resolver um
problema ou atingir um objetivo ou para
atender as necessidades ou restries da
organizao ou dos outros componentes do
sistema.
Machado (2011)

22

Conceito
1. Uma condio ou capacidade exigida por um
usurio para resolver um problema atingir um
objetivo
2. Uma condio ou capacidade que precisa ser
possuida ou processada por um sistema ou
componentes do sistema para satisfazer um
contrato, padro, especificao ou outro
documento oficial
3. Uma representao documentada dos itens [1] e
[2]
IEEE Std. 610.12.1990
23

Atividades

Elicitao
Documentao
Validao
Gerenciamento

24

Nvel de Detalhamentos de Requisitos


Requisitos do Usurio (Necessidades)
Requisitos do Sistema (Caractersticas)
Especificao do projeto de software
(Requisitos de Software)

25

Nvel de Detalhamentos de Requisito

Espao do problema
Necessidade

Caracterstica

Soluo
Requisitos de Software

26

Requisitos do Usurio (Necessidades)


So descritos em linguagem natural ou atravs
de diagramas e refletem o que o sistema deve
fornecer e as restries sob as quais deve
operar
Reflexes de problemas de negcio, pessoais
ou operacionais para justificar o
desenvolvimento do sistema. Este
considerado o espao do problema.
27

Requisitos do Usurio (Necessidades)


Exemplos
Id

Necessidade

Stakeholder

N1

Necessita associar uma solicitao de mudana ao engenheiro


responsvel;

Gerente de
suporte

N2

O cliente necessita manter-se informado sobre o progresso da


requisio;

Usurio

N3

Necessita ser notificado quando uma requisio de suporte


for iniciada

Gerente de
suporte

28

Requisitos do Sistema (Caracterstica)


Um servio que o sistema prov para atender
uma ou mais necessidades dos stakeholders.
considerado o espao da soluo

29

Caracterstica
ID

Caracterstica

Descrio

Necessidade

F1 O Sistema deve ser


orientado a workflow

A requisiao de suporte ir passar por


uma srie de estgios e poder ser
executado por um conjunto de
profissional

N1, N2, N3

F2 Notificao via e-mail

Um sistema central de notificaes de e- N1, N2, N3


mail ser utilizado pelo workflow

30

Especificao do Projeto (Requisitos de


Software)
Detalhamento das caractersticas. Possui mais
especializao e maior volume.
Destinado ao projeto de software

31

Diferentes nveis de descrio

32

Exemplo
Necessidade

Caracterstica

Requisito

N001 Gerenciar cadastro


de professores

C001-Manter professores

RF001-O sistema deve


permitir o cadastro de
novos professores
RF002-Ao finalizar o
cadastro do professor o
sistema dever enviar um
e-mail para o mesmo
informando a senha de
acesso temporria
RF003-O sistema dever
permitir a pesquisa dos
professores pelo nome
.
33

O que um requisito pode descrever?


Uma facilidade em nvel de usurio final:
Exemplo: O processador de texto deve incluir um corretor
ortogrfico.

Uma propriedade bem genrica do sistema:


Exemplo: O sistema deve garantir que as informaes pessoais
nunca sejam disponibilizadas sem autorizao.

Uma restrio especfica:


Exemplo: O sensor deve fazer 10 varreduras a cada segundo.

Uma regra de negcio:


Exemplo: A nota final do aluno ser a mdia aritmtica simples
entre as notas parciais.

Uma restrio ao desenvolvimento do sistema:


Exemplo: O sistema deve ser desenvolvido em Java.
34

Classificao dos requisistos de


sistema
Requisitos Funcionais;
Requisitos No Funcionais ou Requisitos de
Qualidade ou Restries;
Requisitos de Domnio ou Regra de Negcio

35

Requisitos Funcionais
Descrevem as funes que o sistema deve
fornecer, como o sistema deve reagir s
entradas especficas e como deve se
comportar em determinadas situaes.
Tambm pode declarar o que o sistema no
deve fazer, neste caso esse tipo de requisito
tambm pode ser chamado de requisito
inverso
36

Requisitos Funcionais
Os requisitos funcionais devem determinar o
que se espera que o software faa, sem a
preocupao de como ele faz

37

Como descrever requisitos


{[sujeito + ao + objeto] + qualificao}
Exemplo:

O sistema deve usar protocolo TCP-IP


O sistema deve registrar as vendas de livros
O sistema deve emitir relatrio de livros mais
vendidos.
38

Construo de sentenas

39

Elementos do Requisitos Funcional


Um identificador.
A descrio de uma funo a ser executada pelo
sistema (usualmente entrada, sada ou
transformao da informao);
A origem do requisito (quem solicitou) e/ou
quem vai executar a funo em questo;
Quais informaes que so passadas do sistema
para o usurio e vice-versa;
Quais restries lgicas (regras de negcio) ou
tecnolgicas se aplicam na funo;
40

Exemplo
RF001: O sistema deve registrar novos ttulos a partir do catlogo das editoras.
Descrio: O gerente seleciona as editoras para as quais pretende fazer a atualizao. O sistema
consulta os ISBN disponibilizados e os compara com os existentes na base. Havendo novos ISBN,
o sistema atualiza a base com as novas informaes.
Fontes: Maria Oliveira (gerente) e manual tcnico da interface de catlogo das editoras
Usurio: Gerente
Informaes de entrada: O gerente informa quais so as editoras para as quais pretende fazer a
atualizao a partir de uma lista fornecida pelo sistema.
Informaes de sada:
A lista de editoras (nome)
O relatrio de atualizaes efetuadas (lista contendo: nome da editora, ISBN, titulo e preo de
compra)
Restries lgicas: No se aplica.
Restries tecnolgicas:
A interface de comunicao com as editoras deve seguir o manual de cada uma. A tecnologia
usada pode ser REST ou WebServices.
A seleo feita pelo gerente deve ser atravs de uma lista de seleo mltipla, que deve ser
ordenada de forma alfabtica.
41

42

Requisitos No Funcionais
Os requisitos no funcionais, no esto ligados
diretamente a funes especficas fornecidas
pelo sistema. Esse tipo de requisito refere-se
s especificaes tcnicas e de padres e
mtodos do processo produtivo, de qualidade
do produto, de polticas aplicveis ao processo
e ao produto gerado

43

Exemplos
RN001: O tempo de resposta do sistema no
deve ultrapassar 30 segundos;
RN002: O tempo de desenvolvimento no
deve ultrapassar 3 meses;
RN003: O software deve ser operacionalizado
no sistema operacional Linux.

44

Tipos de Requisitos No Funcionais

45

Tipos de Requisitos (ISO/IEC 9126 NBR


13596)
Funcionalidade:

Adequao;
Acurcia;
Interoperabilidade;
Segurana de acesso;

Confiabilidade:
Maturidade;
Tolerncia a falhas;
Recuperabilidade;

Usabilidade

Inteligibilidade;
Apreensibilidade;
Operacionalidade;
Atratividade;
46

Tipos de Requisitos (ISO/IEC 9126 NBR


13596)
Eficincia
Comportamento em relao ao tempo;
Comportamento em relao aos recursos;

Manutenibilidade

Analisabilidade;
Modificabilidade;
Estabilidade;
Testabilidade;

Portabilidade

Adaptabilidade;
Capacidade para ser instalado;
Coexistncia
Capacidade de ser substitudo.
47

Exemplo de definio de RNF

48

Requisitos de Domnio (Regras de


Negcio)
Os requisitos de domnio, que tambm so
conhecidos como regras de negcio por
alguns autores, derivam do conhecimento
relacionado ao negcio da aplicao.
Alguns autores classificam esse tipo de
requisitos como requisito no funcional.

49

Exemplo
A nota final do aluno ser a mdia aritmtica
simples entre as notas parciais.
Um pedido deve possuir no mnimo um produto
Um cliente bom se e somente se as faturas no
pagas tm menos de 30 dias
O preo lquido de um Produto calculado
utilizando a seguinte formula:
preo do produto * (1+porcentagem de imposto/100).

50

Exemplo: tabela de deciso

51

O que um bom requisitos?

No ambguo;
Verificvel;
Determinstico;
Rastrevel;
Correto.

52

No ambguo
A ambigidade refere-se a uma incerteza por causa da
obscuridade ou indistino
So fontes principais de ambigidades:
Uso de pronomes: Exemplo: O sistema dever permitir
somente cinco registros de dependentes vlidos e tipos de
plano de sade. Ele deve incluir o mais velho.
Acrnimos: Exemplo: O sistema dever montar e transmitir
novos registros de mensagens para o STM.
Indeterminao: O sistema dever fazer as correes no
registro quando possvel.
Assumir conhecimento prvio.
53

Verificvel
Um requisito verificvel se ele pode ser
testado completamente, de modo razovel.
Exemplo de requisito no verificvel: O
sistema dever ser amigvel.

54

Lista de palavras para evitar

Amigvel;
Portvel;
Pequeno;
Flexvel;
Rpido.

55

Determinstico
Um requisito determinstico se especifica
todos os possveis resultados e caminhos do
seu fluxo.
Exemplo de requisito no determinstico: O
sistema deve enviar novos registros ao
sistema X a cada cinco minutos.

56

Rastrevel
Indica que o requisito possvel identificar
desde seu requisitante at sua
implementao. Isso importante quando o
requisito alterado identificar as possveis
modificaes.

57

Correto
Assegurar que o requisito descrito est
correto.

58

Referncias
COCKBURN, Alistair. Escrevendo Casos de Uso Eficazes. So Paulo:
Addison Wesley, 2005.
MACHADO, Felipe Nery. Anlise e Gesto de Requisitos de
Software: onde nascem os sistemas. So Paulo: Editora rica, 2011.
LARMAN, Graig. Utilizando UML e Padres: Uma introduo
anlise e ao projeto orientados a objetos e ao desenvolvimento
iterativo. 3a. ed. Porto Alegre: Bookman, 2007.
POHL, Klaus, RUPP Chis. Requirements Engineering Fundamentals.
Sebastopol, CA. O Reilly, 2011.
SOMMERVILLE, Ian. Engenharia de Software. 8a. ed. So Paulo:
Addison Wesley, 2007.
WAZLAWICK, Raul Sidnei. Anlise e Projeto de Sistemas de
Informao Orientados a Objetos. 2a. ed. Rio de Janeiro, 2011.

59

Anlise e Gerncia de Requisitos


Fabiano Oss, 2013
fabiano.oss@gmail.com

60

Вам также может понравиться