Você está na página 1de 36

Princpios Fundamentais da

Anlise de Requisitos

Profa. Dra.Lairce Castanhera


Material cedido pela Profa. Dra. Renata P. M. Fortes

___________________________________________________________
1

Fase de Anlise de Requisitos


Engenharia de
Sistemas de
Computador

ANLISE DE
REQUISITOS

Projeto de
Software

Anlise de Requisitos
processo de descoberta e refinamento
ATORES: cliente e desenvolvedor
PROBLEMA: grande propenso a mal
entendidos
"atividade aparentemente simples tornase complexa"
3

Processo de formulao dos requisitos


Estabelecimento das
necessidades do
sistema
Relatrio de
necessidades

Estudo de
viabilidade

Relatrio de
viabilidade
Documento
de
requisitos

Especific.
do projeto

Modelagem
do sistema
Definio
dos
requisitos
Especif.
dos
requisitos
Especific.
do sistema
4

elementos alocados
ao software

Plano de
Desenvolvimento
do Software

estabelecimento do alcance
estabelecimento do alcance
recursos, custo cronograma
recursos, custo cronograma

reviso

reviso
administrativa

aceitvel
no

determinar domnio das


determinar domnio
das
informaes
e das funes,
informaes
e das funes,
interfaces,
restries
de projeto e
interfaces,
restries
critrios de validao de projeto e
critrios de validao

construir prottipo para


estabelecer os
requisitos

reviso

sim

os requisitos so
conhecidos?

reviso
tcnica

aceitvel
revisar e justificar
recursos, custos e
cronogramas

reviso do plano de
projeto do software

incio da fase de
desenvolvimento

Especificao dos
Requisitos do
Software
aceitvel

ATIVIDADES de ANLISE:
1 - reconhecimento do problema
2 - avaliao do problema e sntese da
soluo (Modelagem)
3 -especificao dos requisitos do
software
4 -reviso

Atividade 1
Reconhecimento do Problema
A meta o reconhecimento dos elementos bsicos do
problema, conforme percebidos pelo cliente.
Administrador do projeto

clientes

Plano de projeto
de software

analista

Espec. requisitos
de software

desenvolvedores

prottipo

Atividade 2
Avaliao do Problema e Sntese
da Soluo

Avaliar os problemas na situao atual


Para o novo sistema:
- definir e elaborar todas as funes do
sistema
- identificar dados que o sistema produz e
consome
- entender o comportamento do sistema
- estabelecer caractersticas de interface
- descobrir restries do projeto
8

Atividade 2
Avaliao do Problema e Sntese
da Soluo

Sintetizar uma ou mais solues (dentro


do alcance delineado no Plano de Projeto do
Software)
O processo de avaliao e sntese continua at que
o analista e o cliente concordem que o software
pode ser adequadamente especificado.

a maior rea de esforo

Modelagem

Durante a atividade de avaliao e sntese


devem ser criados modelos do sistema
para se compreender melhor o fluxo de
dados e de controle, o processamento
funcional e a operao comportamental, alm
do contedo da informao.
O modelo serve como fundamento para o
projeto de software e como base para a
criao de sua especificao
10

Atividade 3
Especificao de Requisitos
descrio do fluxo e estrutura da informao
refinamento detalhado de todas as funes do
software
estabelecimento das caractersticas de
interface
identificao das restries de projeto
especificao dos critrios de validao

11

Atividade 4
Revises
Devem ser efetuadas revises tcnicas e revises
no Plano de Projeto de Software
as revises so conduzidas pelo Cliente e
pelo Desenvolvedor
a base para a reviso so os documentos
produzidos na Especificao dos Requisitos
O Plano de Projeto do Software deve ser revisto
devido ao conhecimento adquirido durante
a anlise.
12

Caractersticas do Analista de
Sistemas
1) Capacidade para compreender conceitos
abstratos, reorganizar esses conceitos em
divises lgicas e sintetizar "solues"
baseado em cada diviso.
2) Capacidade de absorver fatos pertinentes a
partir de fontes conflitantes ou confusas.
4) Capacidade de se comunicar bem de forma
escrita e verbal.
5) Capacidade de "ver a floresta ao invs das
rvores
13

reas Problemas
1. Aquisio da Informao
2. Tamanho do Sistema
3. Alteraes

14

reas Problemas
1. Aquisio da informao
que informao deve ser coletada e como
ela deve ser representada?
quem fornece as informaes?
que tcnicas e ferramentas esto
disponveis para facilitar a coleta de
informaes?

15

reas Problemas
2. Tamanho do sistema
como eliminar inconsistncias na
especificao de grandes sistemas?
possvel detectar omisses?
pode um grande sistema ser efetivamente
particionado para que se torne
intelectualmente administrvel?

16

reas Problemas
3. Alteraes
como as alteraes efetuadas em outros
elementos do software so coordenadas
com os requisitos do software?
como se determina o impacto de uma
alterao em outras partes do software
aparentemente no relacionadas?
como se corrige erros na especificao
para que no se gere efeitos colaterias?
17

Causas dos Problemas


comunicao ineficiente
tcnicas e ferramentas inadequadas
tendncias de se eliminar a tarefa de
Especificao dos Requisitos
falhas ao considerar alternativas antes
que o software seja especificado

18

Princpios de Anlise (4)


1. domnio de informao do problema
representado e compreendido (para que a
funo possa ser entendida + completamente)

2. modelos que descrevam a informao, a


funo e o comportamento do sistema
desenvolvidos (para que a informao possa ser
comunicada compactamente)

19

Princpios de Anlise (4)


3. modelos (e o problema)
particionados, de maneira que revele os
detalhes em forma de camadas (ou
hierarquicamente) (para reduzir a complexidade)

4. processo de anlise mover-se da


informao essencial para os
detalhes de implementao (para acomodar
as restries lgicas impostas por requisitos de
processamento e as restries fsicas impostas
por outros elementos do sistema)
20

Domnio da
Informao
1 princpio:

Todo software construdo para processar dados


e eventos.
Os dados e itens de controle residem no domnio
de informao de um problema.
Encerra 3 diferentes pontos de vista:

21

Domnio da
Informao
1 princpio:

Fluxo da Informao:
Informao maneira pela qual os
dados e o controle se modificam medida que
cada um se movimenta pelo sistema

Contedo da Informao:
Informao os dados e os
itens de controle individuais que compreendem
certo item de informao mais amplo.

Estrutura da Informao:
Informao a organizao
interna de vrios itens de controle e de dados
22

2 princpio: Modelagem
O modelo deve ser capaz de modelar a
informao que o software transforma, as
funes (ou subfunes) que possibilitam que
as transformaes ocorram e o comportamento
do sistema quando a transformao est se
desenvolvendo.

Os modelos concentram-se naquilo que o


sistema deve fazer, no em como ele faz.
23

2 princpio: Modelagem
Papis importantes do Modelo:
1) ajuda o analista a entender a informao, a
funo e o comportamento de um sistema,
tornando a tarefa + fcil e sistemtica.
2) torna-se o ponto focal para a reviso e, portanto,
a chave para a determinao da completitude,
consistncia e preciso da especificao.
3) torna-se a base para o projeto,
projeto fornecendo ao
projetista uma representao essencial do
software, a qual pode ser "mapeada" num
contexto de implementao.
24

3 princpio: Particionamento
Os problemas freqentemente so grandes
demais e muito complexos para serem
compreendidos como um todo.
O particionamento divide o problema em
partes mais facilmente entendidas
Atravs das interfaces estabelecidas entre
as partes a funo global do software
pode ser executada.
25

3 princpio: Particionamento
Particionamento Horizontal: decomposio
funcional do problema
Particionamento Vertical: expe detalhes
crescentes
Particionamento horizontal

26

4 princpio:
Concepes essenciais e de implementao
A concepo essencial dos requisitos do software
apresenta as funes a serem realizadas sem
tratar dos detalhes de implementao.
Ao se concentrar ateno na essncia do
problema nas primeiras etapas da anlise de
requisitos, deixa-se as opes abertas para
especificar detalhes de implementao durante
as ltimas etapas de especificao dos
requisitos e projeto de software.

27

Princpios de uma boa especificao


(Balzer e Goldman)
1. Separe funcionalidade de implementao
2. necessria uma linguagem de especificao de sistemas
orientada ao processo
3. A especificao deve abranger o sistema do qual o software
um componente
4. Uma especificao deve abranger o ambiente no qual o sistema
opera
5. Uma especificao de sistema deve ser um modelo cognitivo
(um modelo de design bom e coerente com uma imagem do
sistema relevante)
6. Uma especificao deve ser operacional
7. A especificao do sistema deve ser tolerante com a no
completitude e ser expansvel
8. Uma especificao deve ser localizada e fracamente acoplada.
28

Formato da Especificao de Requisitos


I. Introduo declara as metas e os objetivos do
software, descrevendo-os no contexto do sistema
baseado em computador

II. Descrio da Informao descrio


detalhada do problema que o software deve resolver

III. Descrio Funcional


IV. Descrio Comportamental
V. Critrios de Validao
VI. Bibliografia
VII. Apndice
29

A Especificao pode ser


acompanhada de um PROTTIPO
executvel (ou em papel) e/ou um
MANUAL PRELIMINAR DE
USURIO.

30

Reviso da Especificao
(nvel macroscpico)
Os revisores tentam garantir que a
especificao seja completa, consistente e
precisa.

31

Reviso da Especificao
(nvel detalhado)
A preocupao com o enunciado da
especificao. Tenta-se descobrir problemas
que possam estar ocultos no contedo da
especificao

32

Anlise de Requisitos
Concluso

Logo que a Reviso for concluda, a Espec. de


Requisitos de Software "assinada" pelo cliente e pelo
desenvolvedor
A especificao torna-se um "contrato" de
desenvolvimento de software.
Mudanas solicitadas depois que a Espec. for concluda
sero consideradas, porm cada mudana posterior
pode aumentar o custo e/ou alongar o prazo de
entrega
Mesmo com os melhores procedimentos de reviso em
andamento, uma srie de problemas de especificao
ainda persiste
33

Anlise de Requisitos
EXERCCIO

Fazer um documento de requisitos


para o sistema exemplo de cada
grupo.

34

1 Fazer uma lista dos interessados/envolvidos no projeto.


2 Realizar uma reunio inicial e informal na empresa. (Conversar
para conhecer as pessoas, saber se elas tm conhecimento sobre o
sistema).
3 Criar um roteiro e definir as perguntas para a entrevista.
4 Realizar entrevista. (Checar se o que eu entendi, o mesmo que
a pessoa quer)
5 Criar cenrios de usurio com base nas informaes coletadas.
(Como o sistema vai funcionar, pode fazer tambm um prottipo
para ver se isso mesmo o que o cliente deseja, ou seja, uma
verso simples que mostra como o sistema funcionar)
*Repetir os itens 4 e 5.
6 Com base nos cenrios construir uma lista dos requisitos e
revisa-la.
7 Anote as restries e limitaes que sero representativas no
sistema. (Ser necessrio alguma ferramenta ou hardware
especfico? Dificuldades?)
8 Construir o Diagrama de Fluxo de Dados (DFD) de Contexto.
35

Formatao do trabalho
Capa
Apresentao da empresa
Identificao do Software
Corpo do trabalho

36

Você também pode gostar