Vous êtes sur la page 1sur 48

Anlise Estruturada e Anlise Essencial de Sistemas 1

1 - Conceitos Bsicos
1.1 - Introduo
Sistema definido como um conjunto de elementos interrelacionados que possuem
caractersticas comuns e que podem ser entendidos como um todo.
Existem muitos tipos diferentes de sistemas: na verdade quase tudo aquilo com que
temos contato em nossa vida ou um sistema ou um componente de um sistema !ou am"as as
coisas#.
$s sistemas s%o divididos em duas cate&orias:
sistemas naturais
sistemas feitos pelo 'omem
Sistemas Naturais
A maioria dos sistemas n%o s%o feitos por pessoas. Eles s%o encontrados na nature(a e
de modo &eral servem a seus pr)prios prop)sitos. *asicamente s%o divididos em:
sistemas fsicos : sistemas estrelares &eol)&icos etc.
sistemas vivos : sistema reprodutor in&estor etc.
Sistemas feitos pelo Homem
Al&uns sistemas s%o construdos or&ani(ados e mantidos por seres 'umanos. Entre
eles podemos considerar:
sistemas sociais or&ani(a+,es de leis etc.
sistemas de transporte: redes rodovirias lin'as areas etc.
sistemas de comunica+%o: telefone telex etc.
sistemas de manufatura: f"ricas lin'as de monta&em etc.
sistemas financeiros: conta"ilidade controle de estoques etc.
Atualmente a maioria destes sistemas utili(a computadores- na verdade muitos deles
n%o poderiam so"reviver sem os computadores.
.ontudo tam"m importante ressaltar que estes sistemas j existiam antes do sur&imento
dos computadores- al&uns deles na realidade n%o est%o ainda totalmente computadori(ados e
podem permanecer assim por muitas dcadas mais. $utros cont/m um computador como
componente mas contem tam"m um ou mais componentes n%o0computadori(ados !ou
manuais#.
Anlise Estruturada e Anlise Essencial de Sistemas 1
1.2- Sistemas Automatizados
S%o sistemas feitos pelo 'omem que intera&em com ou s%o controlados por um ou
mais computadores.
Em"ora 'aja muitos tipos diferentes de sistemas automati(ados todos tem
componentes comuns:
2ard3are de computadores 0 4.5 terminais impressoras unidades de fitas
ma&nticas etc.
Soft3are de computadores 0 pro&ramas de sistemas como sistemas operacionais
sistemas de "ancos de dados e pro&ramas de controle de telecomunica+,es alm
dos pro&ramas aplicativos que executam as fun+,es desejadas pelo usurio.
5essoas 0 aquelas que operam o sistema que fornecem as entradas e utili(am as
sadas e as que desempen'am atividades de processamento manual em um sistema.
6ados 0 as informa+,es que o sistema conserva por um perodo de tempo.
5rocedimentos 0 determina+,es e instru+,es formais para a opera+%o.
$s sistemas automati(ados podem ser divididos em cate&orias:
Sistemas on-line
4surios intera&em com o computador ! fornece e rece"e dados # por terminais.
Sistemas de tempo-real
S%o considerados como varia+,es dos sistemas on0line. 5odem ser definidos como
aqueles que controlam um am"iente pelo rece"imento de dados seu processamento e
apresenta+%o dos resultados com rapide( suficiente para afetar o am"iente naquele momento.
Alm da velocidade existe uma outra caracterstica que distin&ue sistemas de tempo0
real de sistemas on0line- estes 7ltimos &eralmente intera&em com pessoas enquanto os
sistemas de tempo0real intera&em tanto com pessoas quanto com o am"iente.
8a verdade a preocupa+%o principal do analista de sistemas de tempo0real que se o
computador n%o responder com suficiente rapide( o am"iente ficar fora de controle.
Sistemas de apoio deciso e sistemas de plane!amento estrat"#ico
Anlise Estruturada e Anlise Essencial de Sistemas 9
$s sistemas desta cate&oria s%o tipicamente passivo no sentido de que n%o funcionam
de uma forma re&ular- em ve( disso s%o utili(ados ad 'oc quando isso se fa( necessrio.
S%o utili(ados pelos diretores para avaliar e analisar a miss%o da empresa fornecendo
informa+,es mais amplas e &erais so"re clientes comportamento dos competidores etc.
Sistemas $aseados no con%ecimento
$s sistemas "aseados no con'ecimento ou sistemas especialistas s%o uma espcie de
sistemas construdos 'a"itualmente para terem a capacidade de explicar as lin'as de raciocnio
que condu(em a suas decis,es.
Al&uns podem at mesmo explicar porque rejeitaram certas lin'as de raciocnio e
escol'eram outras. Esta transpar/ncia uma das principais caractersticas dos sistemas
especialistas.
1.& - 'rocesso de (esen)ol)imento de Sistemas de Informao
As metodolo&ias s%o utili(adas para definir os processos de desenvolvimento "em
como prover modelos para representar a"stra+,es e diretivas para orienta+%o do tra"al'o.
$ processo de desenvolvimento de sistemas de informa+%o tam"m c'amado ciclo de
vida a"ran&e todas as atividades necessrias para definir desenvolver testar operar e manter
um sistema.
A se&uir s%o apresentadas as diversas fases do ciclo de vida:
*ase 1+ ,e)antamento
A fase de levantamento tam"m con'ecida como estudo de via"ilidade ou estudo
inicial das atividades ocupa tipicamente somente :; a 1<; do tempo e dos recursos de
todo o projeto e para os pequenos e simples pode n%o ser uma atividade formal.
Entretanto mesmo que n%o ven'a a consumir muito do tempo ou dos recursos o
levantamento uma atividade crtica: ao fim a &er/ncia pode decidir cancelar o projeto se ele
n%o parecer atrativo do ponto de vista custo="enefcio.
$s principais o"jetivos da atividade de levantamento s%o os se&uintes:
Identificar os usurios responsveis e desenvolver um escopo inicial do
sistema. >sso pode envolver a reali(a+%o de uma srie de entrevistas para ver quais
Anlise Estruturada e Anlise Essencial de Sistemas ?
usurios est%o envolvidos no projeto proposto e quais n%o est%o. 5ode envolver
tam"m o desenvolvimento de um dia&rama de contexto inicial.
Identificar as atuais deficincias no ambiente do usurio. .onsistir
'a"itualmente em uma lista narrativa simples das fun+,es que estejam faltando ou
que estejam atuando de modo insatisfat)rio no sistema atual.
Estabelecer metas e objetivos para um novo sistema. >sto pode ser tam"m uma
lista narrativa simples constituda pelas fun+,es existentes que necessitam ser
reimplementadas novas fun+,es que necessitem ser acrescentadas e critrios de
desempen'o para o novo sistema.
Construo do modelo do sistema atual. .onsistir em construir um modelo
&rfico de alto nvel do sistema atual identificando as principais funcionalidades do
sistema.
Determinar se possvel automatiar o sistema e! se assim for su"erir al"uns
es#uemas aceitveis. >sto envolver al&umas estimativas aproximadas do
crono&rama e do custo de constru+%o de um novo sistema e dos "enefcios a serem
o"tidos.
*ase 2+ Anlise de Sistemas
$ principal prop)sito da atividade de anlise consiste em definir e modelar o que o
sistema ir fa(er independente da tecnolo&ia que ser utili(ada. >sto envolve a modela&em do
am"iente do usurio com dia&ramas de fluxo de dados dia&ramas de entidades0
relacionamentos dia&ramas de transi+,es de estado e as outras ferramentas.
8esta fase s%o desenvolvidos um modelo am"iental e um modelo comportamental.
Estes dois modelos se com"inam para formar o modelo essencial que representa uma
descri+%o formal do que o novo sistema deve fa(er independente da nature(a da tecnolo&ia
que ser usada para implementar aqueles requisitos.
Em acrscimo ao modelo do sistema descrevendo os requisitos do usurio um mais
cuidadoso e detal'ado conjunto de or+amento e clculo de custo0"enefcio preparado
&eralmente ao final da atividade de anlise.
*ase &+ 'ro!eto
8esta fase o o"jetivo de defini+%o da mel'or tecnolo&ia levando0se em conta todas
as caractersticas que o sistema dever possuir e que foram levantadas na fase de anlise.
Anlise Estruturada e Anlise Essencial de Sistemas :
A atividade de projeto ocupa0se da aloca+%o de partes da especifica+%o !tam"m
con'ecida como o modelo essencial# aos processadores apropriados !4.5 e=ou pessoas# e
para tarefas apropriadas no interior de cada processador. Em cada tarefa a atividade de
projeto ocupa0se com o desenvolvimento de uma 'ierarquia apropriada de m)dulos de
pro&rama e interface entre estes m)dulos para implementar a especifica+%o criada na atividade
de anlise. Alm disso a atividade de projeto ocupa0se com a transforma+%o de modelos de
dados de entidade0relacionamento em um projeto de "anco de dados.
*ase -+ Implementao
$ principal desta etapa codificar inte&rar m)dulos e criar o "anco de dados. Esta
tipicamente uma atividade em que o analista de sistemas n%o est envolvido em"ora muitas
ve(es todas as fases sejam reali(adas pela mesma pessoa.
(urante ou ap)s a implementa+%o deve0se &erar um &rupo de casos de testes de
aceita+%o a partir da especifica+%o estruturada.
*ase .+ Implantao
$ o"jetivo desta fase implantar o sistema nas instala+,es do usurio. 8esta etapa s%o
prontificados os manuais os arquivos s%o carre&ados o sistema instalado e os usurios s%o
devidamente treinados.
$ tra"al'o executado no sistema ap)s a implanta+%o denominado de manuten+%o a
qual pode ser corretiva ou evolutiva.
1.- - /odela#em de Sistemas
4m sistema representado por diversos modelos que s%o ela"orados durante o processo
de desenvolvimento representando o sistema em diferentes dimens,es e nveis de
a"stra+%o.
Anlise Estruturada e Anlise Essencial de Sistemas @
5or defini+%o um modelo uma representa+%o de um o"jeto ou sistema. 4m modelo
enfati(a al&umas caractersticas e despre(a outras.
Existem diversas ra(,es para modelar tais como:
facilitar a compreens%o e a visuali(a+%o
facilitar a comunica+%o
validar a custo "aixo
prover uma documenta+%o
6imens%o de um modelo corresponde ao conjunto de caractersticas que o modelo enfati(a
ao representar um sistema. *asicamente as dimens,es de um sistema s%o: dado funo e
controle.
A nveis de a"stra+%o de um modelo corresponde ao &rau de detal'amento que as
caractersticas do sistema s%o representadas no modelo.
8o processo de desenvolvimento de sistemas de informa+%o normalmente s%o utili(ados os
se&uintes nveis de a"stra+%o:
conceitual : caractersticas dependentes apenas do mini0mundo.
tecnol0#ico: caractersticas dependentes da tecnolo&ia utili(ada.
interno: caractersticas em um nvel de detal'e compreendido pelo
computador.
Anlise Estruturada e Anlise Essencial de Sistemas B
2- Anlise 1struturada de Sistemas
2.1- Introduo
8o final da dcada de B< a anlise estruturada possi"ilitou especificar os requisitos
l)&icos do sistema em um modelo &rfico de alto nvel. A anlise estruturada possui como
caractersticas:
utili(a uma lin&ua&em &rfica
fornece uma vis%o top0do3n
possi"ilita eliminar redundCncias
$ modelo &rfico introdu(ido pela anlise estruturada o 6ia&rama de Dluxo de 6ados
!6D6# representa os dados utili(ados por um sistema os fluxos que os transportam e os
processos.

$ 6D6 uma das mais utili(adas ferramentas de modela&em de sistemas
principalmente para sistemas operativos nos quais as fun+,es do sistema sejam de fundamental
importCncia e mais complexas do que os dados manipulados pelo sistema.
$ 6D6 apenas uma das ferramentas de modela&em disponveis para o analista de
sistemas e oferece apenas uma vis%o do sistema 0 a vis%o orientada para fun+,es.
.aso os relacionamentos entre os dados sejam mais importantes que as fun+,es
podemos dar menos importCncia aos 6D6 !e at n%o desenvolvermos nen'um# e nos
dedicarmos ao desenvolvimento de um conjunto de dia&ramas de entidades0relacionamentos.
.omo alternativa se o comportamento tempo0dependente do sistema so"repor todos
os outros aspectos podemos nos dedicar aos dia&ramas de transi+,es de estados.
2.2 - Componentes de um (*(
'rocesso
$ processo mostra uma parte do sistema a que transforma entradas em sadas 0 isto
mostra como uma ou mais entradas s%o convertidas em sadas.
$ processo representado &raficamente por um crculo. Al&uns analistas de sistemas
preferem usar um oval ou um retCn&ulo de vrtices curvos.
$ processo denominado ou descrito com uma 7nica palavra ou senten+a simples. 8a
maioria dos modelos de 6D6 o nome do processo descreve o que o processo fa(. 4m "om
Anlise Estruturada e Anlise Essencial de Sistemas E
nome &eralmente composto por uma frase constituda de um ver"o no infinitivo como
.AF.4FAG HAF$G 6$ >I5$SJ$.

Calcular
Valor do
Imposto
(ep0sito
$ dep)sito utili(ado para se modelar uma cole+%o de pacotes de dados em repouso.
5ode ser considerado como uma rea destinada a arma(enar dados situada entre processos
que s%o executados em tempos diferentes.

clientes
vendas
1ntidade 12terna
Entidade externa envia ou rece"e dados do sistema. 5ode ser uma pessoa ou um &rupo
de pessoas por exemplo uma or&ani(a+%o externa ou uma empresa ou setor que esteja dentro
da mesma compan'ia ou or&ani(a+%o mas fora do controle do sistema que est sendo
modelado. Em al&uns casos a entidade externa pode ser um outro sistema.

Fornecedor
Diretoria
*lu2o de dados
4m fluxo &raficamente representado por uma seta. $ fluxo utili(ado para mostrar o
movimento de fra&mentos ou de pacotes de informa+,es.
6este modo o fluxo representa dados em movimento. $ nome de um fluxo deve ser
um su"stantivo que facilite a identifica+%o.
Anlise Estruturada e Anlise Essencial de Sistemas K
*lu2o de dados )lidos: li&a+%o direta independente da dire+%o entre entidade externa e
processo processo li&ado a outro processo e processo acessando dep)sito de dados. A fi&ura
a se&uir apresenta al&uns fluxos vlidos.
*lu2os de dados in)lidos: li&a+%o direta entre entidades externas e li&a+%o direta
entre dep)sito de dados. A fi&ura a se&uir ilustra fluxo de dados invlidos.

2.& - 3r#anizao do (*( em N4)eis
Anlise Estruturada e Anlise Essencial de Sistemas 1<
5ara evitar 6D6 complexos com um n7mero elevado de processos os dia&ramas s%o
or&ani(ados em nveis 'ierrquicos a partir do dia&rama de contexto onde cada nvel
apresenta um detal'amento maior que o nvel anterior.
$ dia&rama de contexto representado por um 7nico processo com as entidades
externas e suas interfaces com o sistema.
$ dia&rama su"ordinado ao contexto denominado de dia&rama nvel (ero. Este
dia&rama apresenta as principais fun+,es do sistema e as interfaces entre elas. 8este dia&rama
os processos rece"em n7meros 119 etc.
A partir do dia&rama nvel (ero todos os dia&ramas rece"em o n7mero do processo
que est sendo detal'ado. 5or exemplo o dia&rama nvel 1 corresponde a explos%o do
processo 1 e ter seus processos numerados como 1.1 1.1 1.9 etc.
2.- - (iretrizes para ela$orao de (*(
Existem al&umas diretri(es adicionais necessrias para utili(ar 6D6 com sucesso.
Al&umas destas diretri(es auxiliam o analista a n%o construir 6D6 incorretos !isto
incompletos ou lo&icamente inconsistentes#. As diretri(es s%o as se&uintes:
Anlise Estruturada e Anlise Essencial de Sistemas 11
escol'er nomes si&nificativos para os processos fluxos dep)sitos e entidades
externas
numerar os processos
refa(er os 6D6 tantas ve(es quantas forem necessrias at o"ter uma "oa esttica
evitar 6D6 complexos demais
fluxos de dados de dados devem estar "alanceados em rela+%o aos diversos nveis
do 6D6
deve apenas especificar a l)&ica dos processos primitivos ou seja dos processos
que n%o sofrem explos%o
6entre os erros mais cometidos na constru+%o do 6D6 destacam0se:
processos que criam informa+,es
processos que s) consomem informa+%o e n%o &eram nen'uma outra
dep)sito de dados que s%o atuali(ados e nunca consultados
entidade externa acessando diretamente dep)sito de dados
processo e fluxo sem nome ou nome n%o si&nificativo
criar processos em nveis altos do 6D6 que tratam de situa+,es de erros
Anlise Estruturada e Anlise Essencial de Sistemas 11
& - (icionrio de (ados
&.1 - Introduo
$ dicionrio de dados utili(ado para definir os dados do sistema. Sem ele o modelo
de requisitos do usurio n%o pode ser considerado completo.
$ dicionrio de dados uma lista&em or&ani(ada de todos os elementos de dados
pertinentes ao sistema representados no dia&rama de entidade e relacionamento !6EG# no
dia&rama de transi+%o de estados !6JE# e no dia&rama de fluxo de dados !6D6#.
$ dicionrio de dados apresenta em ordem alfa"tica as se&uintes defini+,es:
dep)sito de dados
entidades e relacionamentos com seus respectivos atri"utos
fluxo de dados
estruturas de dados que comp,em os re&istros dos dep)sitos fluxos ou de uma
outra estrutura de dados
elementos de dados que comp,em os re&istros dos dep)sitos fluxos e as estruturas
de dados
&.2 - Notao de (icionrio de (ados
Existem muitos esquemas de nota+%o comuns usadas pelos analistas de sistemas. $
que est mostrado a se&uir est entre os mais comuns e utili(a al&uns sm"olos simples:
5 " composto de
6 e
7 8 opcional 7pode estar presente ou ausente8
9: repetio
; < escol%a uma das op=es alternati)as
>> comentrio
? idenficador 7campo c%a)e8 de um dep0stio
@ separa op=es alternati)as na construo ; <
4m elemento de dados opcional como o pr)prio nome j di( o que pode estar ou
n%o presente como um componente de um elemento de dados composto. 8o exemplo a"aixo
um cliente pode ou n%o possuir telefone.
Anlise Estruturada e Anlise Essencial de Sistemas 19
cliente $ nome % endereo % &telefone'
A nota+%o de repeti+%o usada para indicar a ocorr/ncia repetida de um componente
de um elemento de dados. Ela lida como (ero ou mais ocorr/ncia de.
8o exemplo a se&uir um pedido deve conter sempre o nome do cliente e o endere+o
de remessa e conter tam"m (ero ou mais ocorr/ncias de um item.
pedido $ nome(do(cliente % endereo(de(remessa % )item*
A se&uir especificado um limite inferior e superior:
pedido $ nome(de(cliente % endereo(de(remessa % +)item*+,
A nota+%o de sele+%o indica que o elemento de dados consiste em exatamente uma
escol'a de um conjuto de op+,es alternativas. As op+,es s%o delimitadas por colc'etes L e
M e separadas pelo caractere de "arra vertical N.
se-o $ ./asculino 0 1erminino2
tipo de cliente $ .3overno 0 Ind4stria 0 5niversidade 0 6utro2
&.&- (efini=es
As defini+,es no dicionrio de dados devem incluir:
$ si&nificado do elemento de dados no contexto desta aplica+%o do usurio. >sto
normalmente apresentado como um comentrio usando0se a nota+%o OO.
A composi+%o do elemento de dados se este possuir componentes elementares
si&nificativos.
$s valores que o elemento de dados poder assumir se for um elemento de dados
elementar sem decomposi+%o.
(ep0sito de dados
A defini+%o de um dep)sito de dados deve conter o si&nificado e o nome do re&istro.
$s nomes dos dep)sitos de dados devem ser escritos no plural e com letras mai7sculas.
6ep)sitos de dados poder%o corresponder a entidades e relacionamentos com atri"utos no
6EG.
Anlise Estruturada e Anlise Essencial de Sistemas 1?
7E8D9: $ ; contm as vendas efetuadas pelas lojas ;
) venda *
venda $ ; venda efetuada em uma loja ;
<numero % data % situao % cod(loja
8o exemplo acima 7E8D9: um dep)sito de dados e venda representa seu re&istro.
*lu2o de dados
A defini+%o de um fluxo de dados deve conter o seu si&nificado e os dados que
participam da composi+%o.
venda(solicitada $ cod(loja % c"c(cliente % ) cod(produto % #uantidade *
1lementos de dados
Elementos de dados s%o aqueles para os quais n%o existe decomposi+%o si&nificativa
no contexto do am"iente do usurio. A defini+%o de um elemento de dados deve conter seu
si&nificado tipo taman'o domnio e n7mero de casas decimais para tipos numricos.
preo $ ; preo relativo a um produto comercialiado pelas lojas ;
; tipo= numrico ;
; taman>o= +, ;
; casas decimais= ? ;
Anlise Estruturada e Anlise Essencial de Sistemas 1:
- - 1specificao de 'rocessos
-.1 - Introduo
Especifica+%o de processos a descri+%o do que ocorre dentro de cada "ol'a
primitiva do nvel mais "aixo em um dia&rama de fluxo de dados. $ prop)sito de uma
especifica+%o de processos define o que deve ser feito para transformar entradas em sadas.
A especifica+%o de processos deve ser expressa de uma forma que possa ser verificada
pelo usurio e pelo analista de sistemas. P precisamente por esta ra(%o que evitamos a
lin&ua&em comum como ferramenta de especifica+%o.
Existem diversas ferramentas que podem ser utili(adas para especificar processos:
portu&u/s estruturado
ta"ela de decis%o
rvore de decis%o
-.2 - 'ortu#uAs 1struturado
.omo o nome di( um su"conjunto da lin&ua&em normal com al&umas restri+,es
quanto ao tipo de senten+as que podem ser utili(adas e Q maneira como estas senten+as podem
ser reunidas.
As senten+as devem ser compostas apenas por elementos de dados que ten'am sido
definidos no dicionrio de dados ou em termos locais.
Jermos locais s%o palavras explicitamente definidas na especifica+%o de um processo
individual. Elas s) s%o con'ecidas nesta especifica+%o de processo tal como um clculo
intermedirio.
A se&uir apresentada uma especifica+%o de processo em portu&u/s estruturado que examina
uma srie de re&istros de pedidos no dep)sito 5E6>6$S para calcular um total dirio.
total-dirio = 0
Faa-Enquanto existirem pedidos em PEDIDOS como data-fatura = data-hoe
!ocali"ar pr#ximo pedido em PEDIDOS como data-fatura = data-hoe
Anlise Estruturada e Anlise Essencial de Sistemas 1@
$crescentar em %onta& n'mero-fatura( nome-cliente( total-)eral
total-dirio = total-dirio * total-)eral
fim-Enquanto
$crescentar em %onta& total-dirio
$ 5ortu&u/s estruturado permite ainda a com"ina+%o de senten+as em al&umas formas
limitadas- as que se se&uem s%o "aseadas nas con'ecidas constru+,es da pro&rama+%o
estruturada.
A constru+%o SE0E8JR$0SE8R$ utili(ada para descrever senten+as alternativas que
devem ser executadas de acordo com o resultado de uma decis%o "inria.
SE condi+o-,
sentena-,
FI--SE
ou
SE condi+o-,
sentena-,
SE./O
sentena-0
FI--SE
A constru+%o .AS$ utili(ada para descrever senten+as alternativas a serem
executadas com "ase no resultado de uma decis%o multivalorada !diferente da decis%o "inria
que ocorre com a constru+%o SE0E8JR$0SE8R$#. A constru+%o .AS$ assume a forma
&eral:
F$1$ %$SO
%$SO 2ari2el = 2alor-,
sentena-,
3
3
%$SO 2ari2el = 2alor-n
sentena-n
.E.45- %$SO $.6E7IO7
sentena-n*,
FI--%$SO
A constru+%o DASA0E8T4A8J$ usada para descrever uma senten+a que deve ser
executada repetidamente at que uma determinada condi+%o "ooleana seja verdadeira. Sua
forma &eral :
F$1$-E.85$.6O condi+o-,
Anlise Estruturada e Anlise Essencial de Sistemas 1B
sentena-,
FI--E.85$.6O
$ teste !condi+%o01no exemplo anterior# feito antes da execu+%o da senten+a01-
assim sendo se a condi+%o n%o for satisfeita possvel que a senten+a01 seja executada (ero
ve(es.
5ode0se ainda utili(ar uma outra estrutura que primeiro executa uma especificada
senten+a e depois verifica se a condi+%o verdadeira. Assim &arante0se que a senten+a ser
executada ao menos uma ve( antes de testar se ela deve ser repetida. Esta constru+%o
con'ecida como GE5EJE0AJP:
7EPE6E
sentena-,
$69 condi+o-,
P possvel construir senten+as compostas a partir de com"ina+,es de senten+as simples
e das estruturas simples acima apresentadas de acordo com as se&uintes re&ras:
1. 4ma sequ/ncia linear de senten+as simples equivalente !estruturalmente# a uma
senten+a simples. 5ortanto a senqu/ncia
sentena-,
sentena-0
3
sentena-n
estruturalmente equivalente a uma 7nica senten+a simples e pode ser utili(ada onde
quer que seja esperada uma senten+a simples. >sto permite construir estruturas como esta:
SE condi+o-,
sentena-,
sentena-0
SE./O
sentena-:
sentena-;
FI--SE
ou
F$1$ E.85$.6O condi+o-,
sentena-,
sentena-0
FI--E.85$.6O
Anlise Estruturada e Anlise Essencial de Sistemas 1E
1. 4ma constru+%o SE0E8JR$0SE8R$ simples considerada estruturalmente
equivalente a uma 7nica senten+a simples. >sto permite que as estruturas SE0E8JR$0SE8R$
sejam anin'adas dentro de outras estruturas SE0E8JR$0SE8R$ ou dentro de estruturas
DASA0E8T4A8J$ ou dentro de estruturas .AS$. 5or exemplo:
SE condi+o-,
sentena-,
SE condi+o-0
sentena-0
SE./O
sentena-;
FI--SE
sentena-<
SE./O
sentena-=
SE condi+o-:
sentena->
FI--SE
sentena-?
FI--SE
9. 4ma estrutura DASA0E8T4A8J$ simples considerada estruturalmente
equivalente a uma 7nica senten+a simples. >sso permite que as estruturas DASA0E8T4A8J$
sejam anin'adas dentro de outras estruturas DASA0E8T4A8J$ ou dentro de estruturas SE0
E8JR$0SE8R$ ou dentro de estruturas .AS$. 6esta forma podemos ter a se&uinte
especifica+%o em lin&ua&em estruturada:
total-)eral = 0
F$1$-E.85$.6O hou2er pedidos a serem processados
total-faturas = 0
!ocali"ar pr#ximo pedido em PEDIDOS
F$1$-E.85$.6O hou2er itens no pedido
total-faturas = total-faturas * 2alor-item
FI--E.85$.6O
$crescentar n'mero-fatura( total-faturas
total-)eral = total-)eral * total-faturas
FI--E.85$.6O
$crescentar total-)eral
?. 4ma estrutura .AS$ simples considerada estruturalmente equivalente a uma
7nica senten+a simples. >sto permite que estruturas .AS$ sejam anin'adas dentro de outras
Anlise Estruturada e Anlise Essencial de Sistemas 1K
estruturas .AS$ ou dentro de estruturas SE0E8JR$0SE8R$ ou dentro de estruturas
DASA0E8T4A8J$.
Se o analista de sistemas compuser uma especifica+%o de processos que seja demasiadamente
complexa para o usurio entender e verificar ele ter fracassado. >sso pode normalmente ser
evitado pela ado+%o das tr/s se&uintes diretri(es:
Gestrinja a especifica+%o de processos em lin&ua&em estruturada a uma 7nica
p&ina de texto. Se a especifica+%o exi&ir mais de uma p&ina possvel que o
pr)prio processo seja complexo demais e deva ser su"dividido em processos mais
simples de nvel mais "aixo.
8%o utili(e mais de tr/s nveis de anin'amento !isto tr/s nveis de estruturas SE0
E8JR$0SE8R$ anin'adas ou tr/s nveis de estruturas .AS$ anin'adas etc#.
5rincipalmente no caso de estrutura SE0E8JR$0SE8R$ mais do que dois nveis
de anin'amento j representam um forte indcio de que seria prefervel a
especifica+%o de uma ta"ela de decis,es.
6eve ser utili(ada a identa+%o
$s dados definidos no 6icionrio de 6ados devem ser su"lin'ados ou escritos em
ne#rito.
Fista de ver"os recomendados:
,ocalizar 0 locali(ar um re&istro em um dep)sito de dados
3$ter 0 o"ter dados de um fluxo de dados direcionado de uma entidade
externa para um processo
Acrescentar 0 acrescentar dados em um fluxo de dados direcionado de um
processo para uma entidade externa
Armazenar 0 criar uma nova ocorr/ncia em um dep)sito de dados
Atualizar 0 atuali(ar valores em um re&istro j existente em um dep)sito de
dados
1liminar 0 eliminar um re&istro em um dep)sito de dados
Belacionar - relacionar dep)sito de dados
-.& - Ca$ela de (eciso
Existem situa+,es em que o portu&u/s estruturado n%o adequado para especificar
processos principalmente quando o processo deve executar a+,es com "ase em decis,es
Anlise Estruturada e Anlise Essencial de Sistemas 1<
complexas e as decis,es forem "aseadas em diversas variveis que podem assumir muitos
valores diferentes.
8esta situa+%o deve ser utili(ada a ta"ela de decis%o. A se&uir ilustrado o uso de uma ta"ela
de decis%o.
1 1 9 ? : @ B E
>dade U 11 S S S S N N N N
Sexo / / * * / / * *
5eso U 1:< S N S N S N S N
Iedica+%o 1 D D D
Iedica+%o 1 D D
Iedica+%o 9 D D D
8en'uma medica+%o D D
.omo se v/ na fi&ura acima uma ta"ela de decis%o criada relacionando0se todas as
variveis relevantes !tam"m con'ecidas como condi+,es ou entradas# e todas as a+,es
relevantes- o"serva0se que as variveis e as a+,es est%o separadas por uma lin'a 'ori(ontal
&rossa.
A se&uir s%o relacionadas as etapas para cria+%o de uma ta"ela de decis,es referente a
uma especifica+%o de processos:
>dentifique todas as condi+,es ou variveis na especifica+%o. >dentifique todos os
valores que cada varivel pode assumir
.alcule o n7mero de com"ina+,es de condi+,es. Se todas as condi+,es forem
"inrias 'aver 18 com"ina+,es de 8 variveis
>dentifique cada a+%o possvel na especifica+%o
.rie uma ta"ela de decis,es va(ia relacionando todas as condi+,es e a+,es no
lado esquerdo e numerando as com"ina+,es de condi+,es no alto da ta"ela
Gelacione todas as com"ina+,es de condi+,es uma para cada coluna vertical da
ta"ela
Examine cada coluna vertical !norma# e identifique as a+,es adequadas a serem
empreendidas
>dentifique todas as omiss,es contradi+,es e am"i&uidades da especifica+%o !ex.:
normas da ta"ela de decis,es para as quais a especifica+%o n%o indique que a+,es
devem ser empeendidas#
6iscuta as omiss,es contradi+,es e am"i&uidades com o usurio
Anlise Estruturada e Anlise Essencial de Sistemas 11
-.- - Er)ore de (eciso
6a mesma forma que a ta"ela de decis%o a rvore de decis%o tam"m utili(ada para
representar decis,es complexas. A se&uir ilustrado um exemplo:

emprstimo U 1<<< 0 1<;
tempo casa U 1<
emprstimo V 1<<< 0 1<;
*$I 5AWA6$G
emprstimo U 1<<< 0 9<;
tempo casa V1<
emprstimo V 1<<< 0 9<;
emprstimo U 1<<< 0 ?<;
tempo casa U 1<
emprstimo V 1<<< 0 ?<;
IA4 5AWA6$G
emprstimo U 1<<< 0 ?<;
tempo casa V1<
emprstimo V 1<<< 0 ?<;
Anlise Estruturada e Anlise Essencial de Sistemas 11
.- Anlise 1ssencial
..1 - Introduo
>nicialmente com a a"orda&em de Wane=Sarson !1KBB# e 6eIarco !1KBE# a Anlise
Estruturada tin'a como "em definida a lin&ua&em &rfica para especifica+%o de sistemas
porm a estrat&ia para a cria+%o do 6D6 era apresentada de forma ne"ulosa.
.om a Anlise Essencial de 5almer e IcIenamin !1KE?# e a Anlise Estruturada
Ioderna de Xourdon !1KEK# foram introdu(idos novos conceitos com o o"jetivo de eliminar
dificuldades que analistas enfrentavam com a utili(a+%o da Anlise Estruturada: a distin+%o
entre requisitos l)&icos e fsicos e a aus/ncia de uma a"orda&em para particionar o sistema em
partes t%o independentes quanto possvel de modo a facilitar o processo de anlise.
$utra caracterstica importante introdu(ida foi a utili(a+%o de outros modelos alm do
6D6 com o o"jetivo de representar as dimens,es do mundo real referentes a dado e controle.
..2 - 'rincipais Conceitos
BeFuisito Gerdadeiro
P a caracterstica ou capacidade que um sistema deve possuir para atin&ir seu
prop)sito independente da tecnolo&ia utili(ada na sua implementa+%o.
1ssAncia do Sistema ou BeFuisitos 1ssenciais
P o conjunto dos requisitos verdadeiros de um sistema. Jam"m pode ser definido
como sendo todas as caractersticas e capacidades que um sistema de respostas planejadas
deve possuir se o sistema fosse implementado com tecnolo&ia perfeita.
BeFuisito *also
4m requisito falso se o sistema pode atin&ir completamente seu prop)sito sem
implement0lo em uma tecnolo&ia perfeita. $s requisitos falsos podem ser classificados em
duas cate&orias: reFuisitos tecnol0#icos e reFuisitos ar$itrrios.
4m requisito tecnol0#ico se ele s) existe com a finalidade de atender Qs limita+,es de
uma determinada tecnolo&ia de implementa+%o.
Anlise Estruturada e Anlise Essencial de Sistemas 19
A um requisito ar$itrrio uma caracterstica n%o relacionada ao prop)sito do
sistema normalmente imposta pelo analista ou usurio.

1ncarnao de um Sistema
P a soma de pessoas fios papel lpis mquinas de escrever terminais de
computador m)veis de escrit)rio &a"inetes para arquivos telefones .54 e assim por diante
utili(ada para implementar a mem)ria essencial e as atividades essenciais de um sistema.
$ termo encarna+%o utili(ado para representar a materiali(a+%o de um conceito- ele
nos lem"ra que o sistema tan&vel concreti(a a sua forma conceitual a ess/ncia. Este lem"rete
necessrio porque dificil discenir a ess/ncia de um sistema ao ol'ar para a sua encarna+%o
pois muitas das caractersticas ou atividades executadas s%o devido a limita+%o da tecnolo&ia.
.omo impactos da tecnolo&ia imperfeita:
1. *ra#mentao: 5artes diferentes de uma atividade essencial s%o executadas
por processadores diferentes.

1. BedundHncia: 6ados redundantes arma(enados na mem)ria do sistema ou
uma mesma atividade sendo executada por mais de um processador.
9. 12trinsecalidade: Atividades e dados extrnsecos s%o aqueles que n%o pertencem Q
ess/ncia do sistema- a sua finalidade tratar as limita+,es da tecnolo&ia atual.
?. Con)oluo: As atividades e dados convolutos servem a uma atividade essencial
vlida. S%o adicionados para acelerar procedimentos diminuir custos de
transfer/ncias etc...
:. Con#lomerao+ P a aloca+%o ao mesmo processador de fra&mentos de atividades
essenciais relativas a outros sistemas ou elementos n%o relacionados da mem)ria
essencial alocados a um mesmo container.
Cecnolo#ia 'erfeita
Tualquer tecnolo&ia utili(ada para implementar um sistema possui dois componentes
"sicos: processadores que executam atividades e containers que arma(enam e transportam
dados para os processadores.
Anlise Estruturada e Anlise Essencial de Sistemas 1?
Se a tecnolo&ia utili(ada para implementar um sistema for perfeita ent%o ela n%o possui
qualquer limita+%o. Assim como qualquer tecnolo&ia de implementa+%o ela composta de
processadores perfeitos e containers perfeitos.
4m processador perfeito capa( de fa(er qualquer coisa e tudo instantaneamente
sem custo sem consumo de ener&ia sem ocupar espa+o sem &erar calor sem jamais cometer
erros ou parar de funcionar.
4m container perfeito n%o custa nada capa( de arma(enar quantidades infinitas de
dados e qualquer processador pode acess0lo instantaneamente e da forma que l'e for mais
conveniente.
A tecnolo&ia perfeita usada para atin&ir a ess/ncia do sistema.
1)entos e Bespostas
S%o nomes &enricos dados Qs intera+,es entre o sistema e o am"iente externo. 4m
evento al&uma mudan+a que ocorre no am"iente externo Q qual o sistema deve responder
para atin&ir seu prop)sito.
4ma resposta o conjunto de a+,es executadas pelo sistema quando um certo evento
ocorre. 5ode0se di(er que um sistema interativo um mecanismo evento0resposta.
Tuando a resposta do sistema a um evento foi determinada antes da ocorr/ncia do evento
ent%o podemos di(er que o sistema &era uma resposta planejada.
Cipos de 1)entos
1)ento 12terno: iniciado por uma entidade externa !enviando dados ou fa(endo
solicita+,es#.
1)ento Cemporal: iniciado 7nico e exclusivamente pela passa&em do tempo. $s
eventos temporais ocorrem em intervalos de tempo fixo ou relativamente fixo.
6iariamente semanalmente e anualmente s%o exemplos de intervalos fixos.
1)ento temporal relati)o: n%o ocorrem sempre no mesmo intervalo de tempo mas
dependem do valor de um determinado dado usualmente o"tido da mem)ria do
sistema. $ vencimento de assinaturas de uma revista um exemplo de evento temporal
relativo.
1)ento de Controle: da mesma forma que o evento externo iniciado por uma
entidade externa. Entretanto o estmulo produ(ido apenas um fluxo de controle
Anlise Estruturada e Anlise Essencial de Sistemas 1:
sinali(ando para o sistema a ocorr/ncia de um evento. 8este evento n%o fluem dados
para o sistema.
Be#ras para Nomear 1)entos
Evento Externo: Entidade Externa * $+o * Est@mulo
Ex: .liente envia 5edido
Evento Jemporal Dixo: 9 4ora de * $+o * 7esposta
Ex. P 'ora de &erar requisi+%o
Evento Jemporal Gelativo: 9 4ora de * $+o * 7esposta
Ex: P 'ora de &erar assinaturas vencidas
Evento de .ontrole: Entidade Externa * $+o * Est@mulo
Ex: Werente solicita total arrecado no m/s corrente
Ati)idade 1ssencial
A ess/ncia do sistema composta de atividades essenciais e da mem)ria essencial. As
atividades essenciais s%o todas as tarefas que o sistema deve executar para atin&ir
completamente seu prop)sito quando implementado em uma tecnolo&ia perfeita.
Joda evento modelado completamente por uma atividade essencial. 4ma atividade
essencial representada por um processo no 6D6.
Cada ati)idade essencial consiste de+
7esposta Planeada: conjunto de a+,es efetuadas pelo sistema para que uma
ativadade seja executada. 5ode ser iniciada por um evento externo ou temporal. As
respostas podem ser externas quando enviam mensa&ens para o mundo exterior
ou internas quando atuali(am a mem)ria essencial do sistema.
Est@mulo da $ti2idade: quem inicia a atividade. A defini+%o do estmulo fornece
as circunstCncias em que a atividade executada.
As ati)idades essenciais su$di)idem-se em+
$ti2idade fundamental: executa uma tarefa que parte da finalidade declarada do
sistema !s%o aquelas que atendem inte&ralmente Qs expectativas do am"iente externo
ao sistema#. As informa+,es necessrias Q execu+%o da atividade podem ser o"tidas no
am"iente quando um evento ocorre ou da mem)ria essencial do sistema
Anlise Estruturada e Anlise Essencial de Sistemas 1@
$ti2idade custodial: esta"elece e mantm a mem)ria essencial do sistema adquirindo
e arma(enando informa+,es necessrias Qs atividades fundamentais
$ti2idade composta: quando uma atividade essencial constituda simultaneamente
por uma atividade fundamental e de cust)dia
/em0ria 1ssencial: s%o todos os dados arma(enados pelo sistema necessrios Q
execu+%o das atividades fundamentais. .onsiste de dados produ(idos pelos sistemas ou
captados no am"iente externo. A mem)ria essencial representada pelos dep)sitos de dados
no 6D6.
5ara que a mem)ria essencial atenda Qs suas finalidades estas duas per&untas devem ser
respondidas:
1 0 .omo o sistema adquire os dados que devem ser &uardadosY
1 0 .omo o sistema &arante que os dados s%o suficientemente atuali(ados para servir Qs
atividades fundamentaisY
..&- 3 /odelo 1ssencial
$ que Y
$ modelo essencial do sistema indica o que o sistema deve fa(er para satisfa(er os
requisitos do usurio mencionando o mnimo possvel !de prefer/ncia nada# so"re como o
sistema ser implementado.
$s exemplos mais comuns de detal'es de implementa+%o no modelo essencial s%o os
se&uintes:
:e#uncia arbitrria de atividades em um modelo de flu-o de dados. A 7nica
sequ/ncia no dia&rama de fluxo de dados deve ser a que exi&ida pelos dados ou
pelos eventos externos ao sistema.
9r#uivos desnecessrios@ 6ep)sitos de dados que n%o seriam necessrios se
estivesse disponvel a tecnolo&ia perfeita.
Anlise Estruturada e Anlise Essencial de Sistemas 1B
Desnecessrias verificaAes de erros e validao de erros e processos dentro do
sistema. As atividades de valida+%o s%o necessrias em um modelo de
implementa+%o por ser necessrio tra"al'ar com processos tendentes a erros.
Dados redundantes ou derivados. 5or ve(es s%o includos elementos de dados
redundantes em dep)sitos de dados em prol da efici/ncia- em"ora isso
normalmente seja ra()avel deve ser feito durante a fase de projeto e n%o durante a
modela&em das fun+,es e dados essenciais.
.. -- Componentes do /odelo 1ssencial
$ modelo essencial composto por dois principais componentes:
1. O modelo am&iental
1. O modelo comportamental
9. 6 modelo de informao
..-.1- /odelo am$iental
$ modelo am"iental responsvel por definir as interfaces entre o sistema e o
am"iente. S%o identificadas as informa+,es que entram no sistema provenientes do am"iente
externo e as informa+,es que o sistema produ( como sadas para serem transmitidas ao
am"iente externo.
A fronteira entre um sistema e seu am"iente ar"itrria. Ela pode ser esta"elecida por
determina+%o na dire+%o ou como resultado de uma ne&ocia+%o poltica ou simplesmente
por acidente sendo al&o que o analista de sistemas 'a"itualmente tem al&uma oportunidade
de influenciar.
Se o analista de sistemas escol'er um escopo demasiado pequeno para um projeto ele
est predestinado ao fracasso porque o usurio pode ter sa"iamente identificado o sintoma do
pro"lema !p.ex. nossas contas a rece"er est%o fora de controle# em ve( da causa do
pro"lema.
E se o analista de sistemas por excesso de confian+a in&enuidade ou exu"erCncia
escol'er um escopo &rande demais para o projeto ele estar predestinado a fal'ar porque
estar lidando com uma situa+%o poltica muito mais complexa e estar tentando desenvolver
um sistema que ser &rande demais para ser desenvolvido so" quaisquer circunstCncias.
Anlise Estruturada e Anlise Essencial de Sistemas 1E
*erramentas utilizadas na definio do am$iente
A modela&em am"iental consiste em tr/s componentes:
(eclarao de o$!eti)os
(ia#rama de conte2to
,ista de e)entos
..-.1.1- (eclarao de 3$!eti)os
$ primeiro componente do modelo am"iental uma declara+%o dos o"jetivos do
sistema.
A declara+%o do o"jetivos pode ter comprimento de uma duas ou diversas senten+as.
Entretando poderia ter apenas um 7nico par&rafo pois n%o se destina a dar uma descri+%o
detal'ada e a"ran&ente do sistema.
..-.1.2- (ia#rama de Conte2to
A parte se&uinte do modelo am"iental come+a por responder al&uma das per&untas
levantadas pela declara+%o de o"jetivos.
$ dia&rama de contexto real+a diversas caractersticas importantes do sistema:
As pessoas or&ani(a+,es ou sistemas com os quais o sistema intera&e
$s dados que o sistema rece"e do mundo exterior e que devem ser processados de
al&uma maneira
$s dados produ(idos pelo sistema e enviados para o mundo exterior
$ dia&rama de contexto possui entidades externas fluxos de dados e fluxos de
controle e um 7nico processo representando todo o sistema. $ nome do processo
corresponde normalmente ao nome do sistema.
Al&umas entidades externas podem ter um &rande n7mero de entradas e sadas. 5ara evitar um
dia&rama desnecessariamente con&estionado pode ser conveniente desen'ar entidades
externas mais de uma ve(.
Anlise Estruturada e Anlise Essencial de Sistemas 1K
Tuando a entidade externa uma s) pessoa &eralmente prefervel indicar o papel
que a pessoa desempen'a em ve( de indicar a identidade desta pessoa.
.omo o interesse principal o desenvolvimento de um modelo essencial do sistema
importante distin&uir fontes e manipuladores ao representar as entidades externas no
dia&rama de contexto. $ primeiro efetivamente o responsvel pela &era+%o do estmulo j
um manipulador um mecanismo dispositivo ou meio fsico usado para transportar dados
para dentro ou para fora do sistema.
..-.1.&- ,ista de 1)entos
A lista de eventos uma simples lista&em textual dos eventos do am"iente aos quais o
sistema deve responder. Ao construir a lista de eventos deve0se distin&uir entre um evento e
um fluxo relacionado a um evento. $ exemplo a"aixo provavelmente n%o um evento:
O pedido do cliente A rece&ido pelo sistema
Em ve( disso provavelmente um fluxo de dados de c'e&ada pelo qual o sistema
toma con'ecimento da ocorr/ncia do evento. 4m nome mais apropriado para o evento
poderia ser:
%liente entre)a pedido
>sso pode parecer um exerccio semCntico mas n%o . Ao descrever o evento do ponto
de vista do sistema !isto visto de dentro# pode0se identificar erroneamente os fluxos de
c'e&ada que n%o s%o eventos por eles mesmos mas que s%o necessrios para processar al&um
outro evento. 6este modo sempre devem ser descritos os eventos do ponto de vista do
am"iente !isto fora do sistema#.
A se&uir apresentada uma lista de eventos para um sistema de pedidos de livros:
1. .liente entre&a pedido. !E#
1. .liente cancela pedido. !E#
9. P 'ora de &erar relat)rio de vendas. !J#
?. Werente solicita posi+%o de estoque. !.#
$"serve que cada evento rotulado com E um J ou um .. >sto para mostrar se o
evento externo temporal ou um evento de controle.
..-.2- /odelo comportamental
$ modelo comportamental mostra o comportamento interno do sistema para que
possa itera&ir corretamente com o am"iente.
Anlise Estruturada e Anlise Essencial de Sistemas 9<
A modela&em comportamental consiste em tr/s componentes:
(*( particionado por e)entos ou (*( das ati)idades essenciais
(*( em n4)eis
1specificao de processos
..-.2.1- (*( particionado por e)entos
A a"orda&em de su"divis%o de eventos envolve as quatro etapas a"aixo:
Desenhar uma &olha( ou processo( para cada e2ento da lista de e2ento
Se 'ouver 1: eventos na lista dever ser desen'ada 1: "ol'as. 5ara facilitar consultas
deve0se enumerar cada "ol'a de modo a coincidir com o evento a ela associada. Assim o
evento 19 corresponder Q "ol'a 19.
$tri&uir um nome a cada &olha
A "ol'a rece"e um nome de acordo com a resposta que o sistema deve dar ao evento
associado. >sto si&nifica que deve ser examinado o evento e per&untar Tue resposta o
sistema deve dar a este eventoY.
6eve0se escol'er nomes t%o especficos quanto possvel. Assim se um evento for .F>E8JE
EDEJ4A 5AWAIE8J$ um nome adequado para uma "ol'a seria AJ4AF>ZAG .$8JAS A
GE.E*EG !se for esta a 7nica resposta exi&ida do sistema# em ve( de 5G$.ESSAG
5AWAIE8J$ 6E .F>E8JE !que nada nos informa so"re a nature(a da resposta#.
Desenhar entradas e sa@das apropriadas
5ara cada "ol'a desen'ada preciso identificar as entradas que a "ol'a necessita para
executar sua tarefa- preciso identificar as sadas !se 'ouver al&uma# que a "ol'a produ(
sendo ainda necessrio identificar os dep)sitos a que a "ol'a deve ter acesso.
Em muitos casos isso envolver sadas que s%o encamin'adas de volta as entidades
externas ou sadas enviadas aos dep)sitos para serem utili(ados como entradas por outros
processos.
Balidar o DFD particionado
6eve ser efetuada a verifica+%o de consist/ncia certificando se cada entrada no
dia&rama de contexto est associada a uma entrada em um dos processos do 6D6
particionado e de que cada sada produ(ida por um processo no 6D6 particionado enviada
para um dep)sito ou uma entidade externa mostrada no dia&rama de contexto.
..&.2.2 - (*( em n4)eis
Anlise Estruturada e Anlise Essencial de Sistemas 91
Bol>as no falam diretamente com outras bol>as. Ao invs disso as "ol'as se
intercomunicam atravs dos dep)sitos de dados.
>sso se deve ao fato de que as "ol'as do 6D6 particionado representam respostas a
um evento! e os eventos que ocorrem no am"iente externo s%o no caso &eral assncronos isto
n%o existe meios de &arantir que dois eventos ocorrer%o no mesmo instante ou defasados
um do outro por dois se&undos ou por qualquer intervalo de tempo.
.a"e ressaltar para o fato de que um dep)sito essencial necessrio n%o por causa
dos retardos de tempo relacionados Q tecnolo&ia imperfeita mas devido Qs considera+,es
temporais do am"iente.
5ara ela"ora+%o do 6D6 em nveis necessrio su"dividir o 6D6 em nveis
ascendentes. 6eve0se a&rupar processos relacionados em a&re&ados si&nificativos cada um
representando uma "ol'a de um dia&rama de nvel mais elevado.
Existem tr/s diretri(es importantes:
.ada a&rupamento de processo deve envolver respostas totalmente relacionadas !cada
"ol'a no 6D6 particionado tem um nome relativo Q resposta a um evento da lista de
eventos#.
6eve0se ocultar dados arma(enados que apare+am no nvel inferior. Assim para um
&rupo de processos no 6D6 particionado relativo ao mesmo dep)sito sem #ue outros
processos no D1D preliminar se refiram a esse depCsito pode ser criada uma "ol'a
em nvel mais alto que oculte aquele dep)sito.
6eve0se criar a&re&ados ou &rupos provenientes do 6D6 particionado compostos por
cerca de B mais ou menos 1 processos.
..&.2.& - 1specificao de 'rocessos
6eve ser especificada a l)&ica dos processos primitivos isto os processos que n%o
sofrem explos%o no 6D6 em nveis.
..&.&- /odelo de Informao
$ modelo de informa+%o composto pelo 6EG e 6E6.
.omo o 6EG e o 6D6 s%o desenvolvidos em paralelo eles podem ser usados para
verifica+,es cru(adas entre eles. 6esta forma os depCsitos que ten'am sido definidos no 6D6
Anlise Estruturada e Anlise Essencial de Sistemas 91
podem ser utili(ados para su&erirem objetos no 6EG e os objetos que ten'am sido
identificados no 6EG podem ser usados para auxiliar a escol'a dos depCsitos adequados no
6D6.
.omo re&ra pode0se esta"elecer que todas as entidades e relacionamentos com
atri"utos do 6EG devem ser representados como dep)sitos de dados no 6D6.
4ma outra possi"ilidade de "alanceamento entre a dimens%o dado e fun+%o
derivando os dep)sitos de dados a partir do 6E6.
Anlise Estruturada e Anlise Essencial de Sistemas 99
1studo de Caso - (istri$uidora de 'rodutos
5ma distri&uidora de produtos rece&e pedidos pelo correioC O pedido
A aceito se o cliente e o produto esti2erem pre2iamente cadastradosC %aso
contrrio o pedido A reeitado e de2ol2ido ao clienteC
$o final da semana a distri&uidora emite requisiDes de produtos aos
fornecedores com &ase nos pedidos rece&idosC
8uando os produtos s+o fornecidos( a distri&uidora confere as faturas
dos fornecedores com as requisiDes( de2ol2e as que ti2erem erros e
atende os pedidos dos clientesC 5ma c#pia da fatura A en2iada E tesouraria
para controle do pa)amento aos fornecedoresC
Diariamente A en2iado para a tesouraria a rela+o dos pedidos que
est+o totalmente atendidos a fim de que sea feita a co&rana aos clientesC


reFuisitos de anlise com o prop0sito de minimizar o escopo do sistema+
n%o s%o previstos tens em estoque-
o controle das faturas est fora do domnio do sistema-
n%o est previsto cancelamento ou devolu+%o de pedido "em como aceita+%o parcial de
uma fatura-
as faturas s%o sempre entre&ues pelos fornecedores em ordem de solicita+%o-
Anlise Estruturada e Anlise Essencial de Sistemas 9?
1- /odelo Am$iental
1.1- 'rop0sito
Efetuar o "erenciamento dos pedidos de produtos! bem como as re#uisiAes
enviadas aos fornecedores e cobrana a clientes@
1.2- ,ista de 1)entos
Evento Estmulo Gesposta
10 .liente envia pedido de produtos
10 .liente solicita cadastramento
90 Werente cadastra novo produto
?0 Werente cadastra novo fornecimento
:0 Werente cadastra novo fornecedor
@0 P 'ora de enviar requisi+,es
aos fornecedores
B0 Dornecedor envia fatura
E0 P 'ora de &erar co"ran+a aos
clientes
Anlise Estruturada e Anlise Essencial de Sistemas 9:
1.&- (ia#rama de Conte2to
Controle
de
Pedidos
Cliente
Gerncia
Fornecedor
novo-cliente
solicitao
cobrana
novo-fornecedor
novo-produto
fatura
pedido
requisio
novo-fornecimento
2 - /odelo Comportamental
2.1- ('* particionado por e)entos ou (*( das ati)idades essenciais
10 .liente envia pedido de produtos
Cliente
solicitao
Pedido
Pedido-Detalhado
Produto
Atender
Pedido
Cliente
solicita+%o [ matricula \ ] cod^produto \ quantidade _
Anlise Estruturada e Anlise Essencial de Sistemas 9@
10 .liente solicita cadastramento
Cliente Cadastrar
Cliente
Cliente
novo-cliente
novo0cliente [ matricula \ nome \ endere+o
90 Werente cadastra novo produto
Gerente
Cadastrar
Produto
Produto
novo-Produto
novo0produto [ cod^produto \ descri+%o \ pre+o
?0 Werente cadastra novo fornecimento
Gerente
Cadastrar
Fornecimento
novo-
fornecimento
Fornecedor
Fornecimento
Produto
novo0fornecimento [ cod0produto \ cod0fornecedor
Anlise Estruturada e Anlise Essencial de Sistemas 9B
:0 Werente cadastra novo fornecedor
Gerente
Cadastrar
Fornecedor
Fornecedor
novo-
fornecedor
novo0fornecedor [ cod0fornecedor \ nome \ endere+o
@0 P 'ora de enviar requisi+,es aos fornecedores
Gerar
Requisi-
o
Fornecedor
Requisio
Detalhe-Requisio
Pedido--Detalhado
Produto
Fornecedor
Pedido-Requisio
Fornecimento
pedido0requisi+%o [ ]cod0fornecedor \ nome \ endere+o \
] cod0produto \ descri+%o \ quantidade _ _
B0 Dornecedor envia fatura
Anlise Estruturada e Anlise Essencial de Sistemas 9E
Requisio
Detalhe-Requisio
Pedido--Detalhado
Tratar
Fatura
Fornecedor
Fatura
fatura [ numero0requisicao \ ] cod0produto \ quantidade _
E0 P 'ora de &erar co"ran+a aos clientes
Gerar
Cobrana
Cliente
cobrana
Pedido
Pedido-Detalhado
Produto
Cliente
co"ran+a [ ]matricula \ nome \ endere+o \
] cod0produto \ descri+%o \ quantidade \ pre+o _ \ total0co"rado _
Anlise Estruturada e Anlise Essencial de Sistemas 9K
2.2- (*( em N4)eis
(ia#rama de Conte2to
Controle
de
Pedidos
Cliente
Gerncia
Fornecedor
novo-cliente
solicitao
cobrana
novo-fornecedor
novo-produto
fatura
pedido
requisio
novo-fornecimento
(ia#rama N4)el I
Tratar
Cliente
Cliente
Gerncia
Fornecedor
novo-cliente
solicitao
cobrana
novo-fornecedor
novo-produto
fatura
pedido
requisio
Pedido-Detalhado
Fornecedor
Produto
Tratar
Forne-
cedor
Registrar
Forneci-
mento de
Produtos
1

!
novo-fornecimento
Fornecimento
Anlise Estruturada e Anlise Essencial de Sistemas ?<
(ia#rama N4)el 1
Gerar
Cobrana
Cliente
solicitao
cobrana
Pedido
Pedido-Detalhado
Produto
Atender
Pedido
Cadastrar
Cliente
Cliente
1"!
1"
1"1
novo-cliente
Anlise Estruturada e Anlise Essencial de Sistemas ?1
(ia#rama N4)el 2
Gerar
Requisi-
o
Fornecedor
Requisio
Detalhe-Requisio
Pedido--Detalhado
Produto
Tratar
Fatura
Fornecedor
Pedido-Requisio
Fatura
!"1
!"!
Fornecimento
(ia#rama N4)el 2.1
!"1"1
Consolidar
Produtos
!"1"!
Produ#ir
Requisi$es
Fornecedor
Requisio
Detalhe-Pedido
Detalhe-Requisio
Produto
Fornecimento
Fornecedor
produtos-requisi$es
Pedido-Requisio
Anlise Estruturada e Anlise Essencial de Sistemas ?1
(ia#rama N4)el 2.2
Fornecedor
Conferir
Fatura
Requisio
Detalhe-Requisio
Fatura-%&
Montar
Cesta
!"!"!
!"!"1
Pedido-Detalhado
Fatura
(ia#rama N4)el &
Cadastrar
Fornecimento
novo-
fornecimento
Fornecimento
Produto
Gerente
Cadastrar
Fornecedor
Fornecedor
novo-
fornecedor
Cadastrar
Produto
"1
"!
"
novo-
produto
2.&- 1specificao de 'rocessos
Anlise Estruturada e Anlise Essencial de Sistemas ?9
Especifica+%o do 5rocesso 1.1 : Atender 'edido
>8`.>$
o"ter dados de solicita+%o
locali(ar cliente em .lientes com matricula de solicita+%o
para cada produto informado em solicita+%o
locali(ar produto em 5rodutos com cod0produto de solicita+%o
fim0para
se o cliente e os produtos s%o vlidos
arma(enar pedido em 5edidos com
numero [ sequencial &erado
data [ data do sistema
situa+%o [ pendente
matricula [ matricula de cliente
para cada produto locali(ado
arma(enar detal'e0pedido em 6etal'es05edidos com
numero de pedido cod0produto de produto quantidade de
solicita+%o situa+%o [ pendente
fim0para
fim0se
D>I
Especifica+%o do 5rocesso 1.1: Jerar Co$rana
>8>.>$
para cada pedido em 5edidos com situa+ao [ pendente
se todos os detal'es0pedidos relacionados ao pedido est%o com
situa+%o [ atendida
locali(ar cliente em .lientes com matricula de pedido
acrescentar em co"ran+a matricula nome endere+o
para cada detal'e0pedido relacionado ao pedido
locali(ar pr)ximo detal'e0pedido
acrescentar em co"ran+a cod0produto descri+%o
quantidade pre+o
acumular total0co"rado com quantidade O pre+o
fim0para
acrescentar total0co"rado em co"ran+a
atuali(ar pedido com situa+%o [ co"rado
fim0se
fim0para
D>I
Especifica+%o do 5rocesso 1.9: Cadastrar Cliente
>8>.>$
o"ter matricula nome endere+o telefone
arma(enar cliente em .lientes com matricula nome endere+o
Anlise Estruturada e Anlise Essencial de Sistemas ??
D>I
Especifica+%o do 5rocesso 1.1.1: Consolidar 'rodutos
>8>.>$
para cada produto em 5rodutos
para cada pedido0detal'ado com situa+%o [ pendente relacionado ao produto
acumular quantidade de pedido0detal'ado
atuali(ar pedido0detal'ado com situa+%o [ encomendado
fim0para
acrescentar em produtos0requisi+%o cod0produto descri+%o quantidade0acumulada
fim0para
D>I
Especifica+%o do 5rocesso 1.1.1: 'roduzir BeFuisio
>8>.>$
o"ter dados de produtos0requisi+%o
selecionar fornecedores em Dornecimentos que fornecem os produtos de produtos0requisi+%o
para cada fornecedor selecionado
arma(enar em Gequisi+,es requisi+%o com
n7mero [ sequencial &erado
data [ data do sistema
situa+%o [ pendente
cod0fornecedor
acrescentar em dados requisi+%o cod0fornecedor endere+o
para cada produto de produtos0requisi+,es fornecido pelo fornecedor
arma(enar detal'e0requisi+%o em 6etal'es0Gequisi+,es com
n7mero cod0produto quantidade0acumulada
acrescentar em dados0requisi+%o cod0produto descri+%o quantidade0
acumulada
fim0para
fim0para
D>I
Especifica+%o do 5rocesso 1.1.1: Conferir *atura
>8>.>$
o"ter dados de fatura
lo(ali(ar fornecedor em Dornecedores com cod0fornecedor de fatura
locali(ar requisi+%o em Gequisi+,es com n7mero de fatura
se o fornecedor e a fatura s%o vlidas
Anlise Estruturada e Anlise Essencial de Sistemas ?:
para cada produto de fatura
locali(ar produto em 5rodutos com cod0produto de fatura
locali(ar detal'e0requisi+%o em 6etal'es^Gequisi+,es relacionado
ao produto e a requisi+%o
se existirem
se quantidade de fatura [ quantidade de detal'e0requisi+%o
fatura est oa
sen%o
fatura n%o oa
fim0se
fim0se
fim0para
se fatura est oa
acrescentar em fatura0oa cod0produto e quantidade de todos os
produtos da fatura
fim0se
fim0se
D>I
Especifica+%o do 5rocesso 1.1.1 : /ontar Cesta
>8>.>$
o"ter dados de fatura0oa
para cada produto em fatura0oa
para cada pedido0detal'ado em 5edidos06etal'ados com situa+%o [ encomendado
relacionado ao produto
se quantidade do pedido0detal'ado V[ quantidade da fatura
decrementar quantidade da fatura da quantidade de pedido0detal'ado
atuali(ar pedido0detal'ado com situa+%o [ atendido
fim0se
fim0para
fim0para
D>I
Especifica+%o do 5rocesso 9.1: Cadastrar *ornecedor
>8>.>$
o"ter cod0fornecedor nome endere+o de dados0fornecedor
arma(enar fornecedor em fornecedores com os dados de dados0fornecedor
D>I
Especifica+%o do 5rocesso 9.1:Cadastrar *ornecimento
Anlise Estruturada e Anlise Essencial de Sistemas ?@
>8>.>$
o"ter cod0fornecedor cod0produto de dados0fornecimento
locali(ar fornecedor em Dornecedores com cod0fornecedor de dados0fornecimento
locali(ar produto em 5rodutos com cod0produto de dados0fornecimento
se o produto e o fornecedor s%o vlidos
arma(enar fornecimento em Dornecimentos com cod0produto cod0fornecedor
fim0se
D>I
Especifica+%o do 5rocesso 9.9: Cadastar 'roduto
>8>.>$
o"ter cod0produto descri+%o pre+o de dados0produto
arma(enar produto em 5rodutos com os dados de dados0produto
D>I
Anlise Estruturada e Anlise Essencial de Sistemas ?B
& - /odelo de Informao
&.1- (ia#rama de 1ntidade e Belacionamento - (1B
CL!"T! #olicita P!$$%
$etal&e-
Pedido
PR%$'T%
Fornecimen-
to
$etal&e
Requisio
F%R"!C!-
$%R
R!('#)*% !nco-
menda
+,-".
+/-/.
+/-".
+,-".
+/-".
+,-".
+,-".
+/-".
+/-/.
+,-".
Atri"utos:
.liente: bmatrcula \ nome \ endere+o
5edido: bn7mero \ data \ situa+%o
6etal'e05edido: quantidade \ situa+%o
5roduto: bc)di&o \ descri+%o \ pre+o
Dornecedor: bcod0fornecedor \ nome \ endere+o
Gequisi+%o: bn7mero \ data \ situa+%o
6etal'e0Gequisi+%o: quantidade
&.2- (ia#rama de 1strutura de (ados - (1(
Anlise Estruturada e Anlise Essencial de Sistemas ?E
CL!"T! P!$$%
$etal&e-
Pedido
PR%$'T%
F%R"!C!-
$%R
R!('#)*%
$!TAL0!
P!$$%
F%R"!-
CM!"T%
$!TAL0!
R!('#)*%

Vous aimerez peut-être aussi