Buscar

Aula 5 Engenharia de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 64 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Profª. M.Sc. Larissa Luz Gomes 
lariluz@yahoo.com.br 
 
 Aula 5 – Diagramas Estruturados 
Engenharia de Software 
Agenda 
Diagrama de Fluxo de Dados 
Diagrama de Contexto 
Lista de Eventos 
Dicionário de Dados 
Diagrama de Fluxo de Dados 
(DFD) 
Diagrama de Fluxo de Dados - 
DFD 
• É utilizado para a representação lógica de processos. 
• O objetivo é descrever graficamente, o que acontece, 
sem se preocupar em como e quando tais coisas 
acontecem. 
• Pode ser empregado para comunicação com pessoal 
técnico ou não técnico, já que a representação gráfica é 
de fácil entendimento. 
• O seu uso não depende de hardware, software, estrutura 
de dados ou organizações de arquivos. 
• O DFD permite que se organize informações 
colhidas nas entrevistas acerca do sistema que 
se desenvolverá. 
• Possibilita a visão global do sistema e seu 
desmembramento a níveis mais detalhados. 
• O DFD às vezes também é chamado de 
DIAGRAMA DE BOLHAS. 
Diagrama de Fluxo de Dados - 
DFD 
Notação Gráfica de um DFD 
Notação Gráfica de um DFD 
Notação Gráfica de um DFD 
Notação Gráfica de um DFD 
Exemplo 
A entidade externa é 
sempre um elemento ativo. 
Ela aciona processos, 
mediante o envio de 
estímulos (fluxos de dados 
ou fluxo de controle). 
cliente envia um fluxo de dados 
acionando o processo 
cadastrar pedidos 
o qual, utiliza o 
cadcliente e 
cadlivro em 
operações de input 
cadpedido para 
operações de i-o 
• Para obter um bom desenho global do DFD, 
procure seguir algumas normas que são observadas 
como um consenso no desenho do mesmo: 
• O sentido do desenho é sempre de cima para baixo, da 
esquerda para a direita. 
• As entidades externas, tanto quanto possível, devem 
aparecer nas bordas do desenho 
Diagrama de Fluxo de Dados - 
DFD 
• Evite erros grosseiros, conforme definido abaixo: 
• Jamais um fluxo de dados parte de um depósito e vai para outro 
depósito sem a intermediação de um processo. 
• Um fluxo de dados nunca parte de uma entidade externa 
diretamente para o depósito; sempre há um processo 
intermediando. 
• Também não é possível um fluxo partir de uma entidade 
externa diretamente para outra entidade externa. 
• Igualmente, um fluxo jamais parte de um depósito diretamente 
para uma entidade, sempre há a intermediação de um processo. 
Diagrama de Fluxo de Dados - 
DFD 
• O Digrama de Fluxo de Dado (DFD) é utilizado 
para a representação lógica de processos; 
• Ele descreve o que acontece, sem se preocupar em 
como e quando; 
• Trata-se uma ferramenta para o modelo funcional 
do sistema; 
 
Diagrama de Fluxo de Dados - 
DFD 
• Representação gráfica de fácil entendimento, 
pode ser utilizada com o pessoal técnico e não 
técnico; 
• O DFD permite que se organize informações 
colhidas em entrevistas a cerca do sistema; 
• Possibilita a visão global do sistema e seu 
desmembramento em níveis mais detalhados. 
 
Diagrama de Fluxo de Dados - 
DFD 
Exemplo de um diagrama de fluxo de dados: 
 
Diagrama de Fluxo de Dados - 
DFD 
Considerações sobre o DFD 
• Desenhar DFDs, de preferência, entre cinco e nove 
processos; 
• Cada diagrama deve ocupar apenas uma página; 
• As pessoas que conhecem as funções do sistema devem 
aprovar o modelo apresentado. 
• Os fluxo de dados devem ser nomeados consistentemente 
através de todos os níveis de DFD; 
• Todos os fluxos de dados dos níveis superiores devem 
aparecer usados nos níveis inferiores. 
 
Considerações Gerais em 
Relação aos Processos 
• Evitar associar nomes dos processos a seus executores; 
• Evitar nomes de processos com verbos genéricos; 
• Todos os processos devem, de preferência, ser numerados; 
• Todos os dados devem, de preferência, ser numerados; 
• Processos devem ter sempre fluxos de dados de entrada e de 
saída; 
• Todos os dados de saída de um processo devem ser derivados 
dos dados de entrada. 
Diagrama de Fluxo de 
Contexto(DFC) 
• O diagrama que representa apenas um sistema e 
suas interfaces, é denominado Diagrama de 
Fluxo de Contexto. 
• Para este diagrama o sistema se apresenta como 
uma única grande função, cercada pelas 
entidades externas que com ele interagem. Por 
intermédio de fluxos de dados; 
 
Diagrama de Fluxo de 
Contexto - DFC 
Diagrama de Fluxo de 
Contexto - DFC 
• De acordo com o visto em anteriormente podemos 
concluir que: 
• Um DFD é uma representação de um sistema sob a 
forma de uma rede que mostra os componentes ativos 
do sistema e as interfaces de dados entre eles; 
• Todo sistema pode ser representado como um grande 
processo, interagindo como o ambiente em que está 
inserindo; 
• Todo sistema pode, a partir do Diagrama de 
Contexto, ser decomposto em diversas funções que 
se interligam; 
• Para cada função do sistema, podemos aplicar esse 
mesmo princípio e decompô-la em funções mais 
simples, ou seja, sub-funções. 
• Isto significa que a primeira visão de um sistema é o 
Diagrama de Fluxo de Contexto 
Diagrama de Fluxo de 
Contexto - DFC 
Como desenhar um DF de 
Contexto 
Passo nº1: Desenhar um único processo ou função 
para representar o sistema inteiro; 
Passo nº2: Desenhar todas as entidades externas 
que se comunicam com o sistema; 
Passo nº3: Para cada entidade externa, desenhar o 
fluxo de dados que mostra sua comunicação com o 
sistema. 
DF de Contexto 
Lista de Eventos 
• Cada linha da lista de eventos corresponde a um 
evento (acontecimento) que de alguma forma 
estimula (aciona) uma ação (programa) no 
sistema. 
• Desta forma, a lista de eventos é apresentada 
sob a forma de uma tabela que mostra não 
apenas os eventos, mas também os estímulos, 
ações e respostas correspondentes. 
DFC e Lista de Eventos 
DFC e Lista de Eventos 
DFC e Lista de Eventos 
• Primeira coluna: é apenas para identificação 
dos eventos enumerando-os de forma crescente. 
• Segunda coluna: temos a atribuição de um 
nome para o evento – acontecimento externo ao 
sistema, ou qua, vai servir de estímulo para 
acioná-lo. 
• Quarta coluna: indica-se o tipo de estimulo – 
Fluxo de Dados(F), um Fluxo Temporal (T) ou 
Fluxo de Controle (C). 
DFC e Lista de Eventos 
• Fluxo de Dados: refere-se ao trânsito de dados 
propriamente dito. 
• Fluxo Temporal: estímulo gerado de acordo 
com certo tempo. 
• Fluxo de Controle: gerado por algum 
dispositivo físico de controle, como o 
movimento de uma catraca ou a introdução de 
um cartão. 
DFC e Lista de Eventos 
• Quinta Coluna: tem-se o nome da ação que 
será executada pelo sistema, ou seja, o 
programa(s) que será(ão) acionado(s). Estes 
programas são os que deverão ser 
desenvolvidos. 
• Sexta coluna: especifica um nome para 
respostas que a ação do sistema dará para o 
meio externo a ele. Exemplo, um relatório é uma 
resposta (saída) do sistema que irá para o meio 
externo dele. 
DFC e Lista de Eventos 
Diagrama de Contexto 
• A lista de eventos, apresentada na forma de tabela, 
entre eventos pode acontecer algumas situações 
particulares que terão pesos quando se trata de um 
sistema em tempo real. 
• Simultaneidade: ocorrência de um evento é 
simultânea, ao mesmo tempo que outro. Pode até 
haver coincidência, como: o término do verão que 
coincide com o início do outono. 
Diagrama de Contexto 
• Precedência: ocorrência de um evento deve 
necessariamente preceder a ocorrência de outro. Há uma 
seqüência entre os eventos. Exemplo: O cadastro de um 
empregado deve preceder o cadastramento de seu respectivo 
dependente. 
• Excludência: a ocorrência de um evento deve 
necessariamente excluir a ocorrência de outro.Há 
alternância entre os eventos; sempre que um evento ocorrer, 
outro não terá ocorrido, ou seja, eles se excluem. Exemplo: 
O cliente é do sexo masculino ou feminino. 
Diagrama de Contexto 
• Independência: Não há nenhuma relação de 
simultaneidade, precedência ou de excludência 
entre os eventos. Há total sincronismo. Exemplo: 
o cadastro de clientes independe do cadastro dos 
fornecedores. 
Exemplo de um DFD 
baseado no DFC 
Exemplo de um DFD 
Exemplo de um DFD 
Exemplo de um DFD 
Exemplo de um DFD 
Exemplo de um DFD 
Dicionário de Dados - DD 
Dicionário de Dados - DD 
• É uma listagem organizada de todos os elementos 
de dados pertinentes ao sistema, com definições 
precisas e rigorosas para que se possa conhecer 
todas as entradas, saídas, componentes de 
depósitos e cálculos intermediários. 
• Sem o DD, tudo o que for modelado poderá ficar 
incompleto ou inconsistente. 
Dicionário de Dados - DD 
• Um dicionário de dados é como um sistema de 
apoio à especificação do sistema em 
desenvolvimento, uma vez que todas as 
definições dos componentes do sistema ali 
estarão armazenadas; 
Por que usar um DD? 
• A razão mais óbvia é a documentação. 
• Contudo, esta é uma visão simplista de sua 
necessidade. 
• Em uma organização, diferentes pessoas ou grupos, 
poderão definir um elemento de dados específico 
de modo bastante diferente. 
Dicionário de Dados (DD) 
• Proposto como gramática quase formal para descrever o 
conteúdo de objetos definidos durante a análise 
estruturada; geralmente implementado como parte de uma 
"ferramenta de projeto e análise estruturada" CASE 
 Nome: o nome principal do item de dados, do depósito de dados ou de 
uma entidade externa 
 Alias: outros nomes usados para a primeira entrada 
 Onde é usado / Como é usado: listagem dos processos que usam o item 
de dados ou controle e como ele é usado. Ex: entrada ao processo, saída 
do processo, como um depósito de dados, como uma entidade externa 
 Descrição de Conteúdo: notação para representar o conteúdo 
 Informação Complementar: outras informações sobre tipos de dados, 
valores previamente estabelecidos (se conhecidos), restrições ou 
limitações 
Notação para Descrição de 
Conteúdo 
• Possibilita a representação de dados compostos 
numa das 3 formas fundamentais em que eles podem 
ser construídos: 
1- Como uma seqüência de itens de dados 
2- Como uma seleção dentre um conjunto de itens de dados 
3- Como um agrupamento repetido de itens de dados 
• Cada entrada de item de dados que é representada 
como parte de uma seqüência, seleção ou repetição 
pode, em si mesma, ser outro item de dados 
composto que precisa de refinamento adicional 
dentro do dicionário. 
Notação para Descrição de 
Conteúdo 
CONSTRUÇÃO DE
DADOS
NOTAÇÃO SIGNIFICADO
= é composto de
Sequência + e
Seleção [ | ] ou ... ou
Repetição { }n n repetições de
( ) dados opcionais
* * delimita comentários
Prof. Marcelo Turine - UNIC 46 
Exemplo: item de dado NRO TELEFÔNICO 
nome número telefônico
alias nenhum
onde é usado / como é usado avaliar com o planejamento
(saída)
discar número telefônico
(entrada)
descrição
número telefônico = [ extensão local | número externo]
extensão local = [2001 | 2002 | ... | 2999]
número externo = 9 + [número local | número de longa
distância]
número local = prefixo + número de acesso
número de longa distância = (1) + código de área + número
local
prefixo = [795 | 799 | 874 | 877]
número de acesso = *qualquer série de quatro números*
Descrição de Conteúdo 
• é ampliada : 
– (1) até que todos os itens de dados compostos 
tenham sido representados como itens 
elementares ou 
– (2) até que todos os itens compostos sejam 
representados em termos conhecidos e 
inequívocos 
Dicionário de Dados 
• Observa-se, portanto, as implicações amplas de um 
dicionário de dados no desenvolvimento de sistemas. 
• Se todos os desenvolvedores envolvidos em um sistema, 
tiverem que utilizar descrições de dados a partir de um 
dicionário comum, vários problemas potencialmente 
graves poderão ser evitados. 
Dicionário de Dados - 
CUIDADOS 
• Para qualquer dado procure sempre definir : 
• um nome de identificação 
• pseudônimos 
• tipo de conteúdo (numérico, alfanumérico, inteiro, data) 
• tamanho máximo 
• formatação 
• domínio (restrições de atributo – ex. de 1 até 9) 
• restrições de relacionamentos 
Dicionário de Dados 
• O DD define os elementos de dados da seguinte 
maneira: 
• o significado dos fluxos e depósitos mostrados nos DFD’s; 
• a composição de pacotes agregados de dados que se 
movimentam pelos fluxos; 
• a composição dos pacotes de dados nos depósitos; 
• os valores e unidades de partes elementares de informações 
dos fluxos e dos depósitos; 
• detalhes dos relacionamentos entre os depósitos realçados em 
um DER. 
Exemplo: SAFEHOME 
Processamento Narrativo (safehome) 
Software possibilita que o dono da casa: 
– configure o sistema de segurança quando ele for 
instalado 
– monitore todos os sensores ligados ao sistema de 
segurança 
– interaja com o sistema através de um teclado e 
teclas de função contidas no painel de controle 
53 
Safehome (painel de controle) 
Durante a instalação, 
o painel de controle é 
usado para programar e 
configurar o sistema. 
Processamento Narrativo (safehome) 
Quando o evento, sensor é reconhecido, o software 
invoca um alarme; 
Depois de um tempo de espera que é especificado pelo 
dono da casa durante a configuração do sistema, o 
software disca um nº de telefone de um serviço de 
monitoramento, produz informação sobre a localização 
e relata a natureza do evento que foi detectado. 
O nº será discado novamente a cada 20 segundos até 
que a conexão de telefone é obtida; 
Toda interação com o SafeHome é gerenciada por um 
subsistema de interação-usuário que lê a entrada 
produzida pelo teclado ou teclas de função, edita 
mensagens de pronto e status do sistema sobre um 
LCD. 
 
Processamento Narrativo (safehome) 
DER - Safehome 
• “coisas” relevantes no sistema: 
– dono da casa; 
– painel de controle; 
– sensores; 
– sistema de segurança; 
– serviço de monitoramento;  relações são exploradas 
entre essas “coisas”; 
 uma vez que as relações 
são definidas, um ou mais 
pares de objeto-
relacionamento são 
identificados para cada 
relação; 
• Relação entre sensor e sistema de segurança (pares objeto-
relacionamento): 
– sistema de segurança monitora sensor 
– sistema de segurança habilita/desabilita sensor 
– sistema de segurança testa sensor 
– sistema de segurança programa sensor 
dono da casa 
painel de 
controle 
sensor 
sistema de 
segurança 
serviço de 
monitoramento 
DER - Safehome 
• Cada objeto é estudado para determinar seus 
atributos; 
– exemplo: atributos do objeto sensor = tipo de sensor, nr de 
identificação interna, zona de localização e nível de alarme; 
sensor 
monitora 
habilita/desabilit
a 
testa 
programa 
sistema de 
segurança 
DER - Safehome 
DFC - Safehome 
Painel de 
 controle 
Sensores 
comandos e 
dados do usuário 
status do sensor 
Software 
safehome 
tipo de alarme 
 informações de 
display 
nro.telefônico 
Display do 
Painel de 
 controle 
Alarme 
Linha 
 telefônica 
Construindo o DFD 
O Software Safehome possibilita que o dono da 
casa configure o sistema de segurança quando ele 
for instalado, monitore todos os sensores ligados ao 
sistema de segurança e interaja com o sistema 
através de um tecladoe teclas de função contidas 
no painel de controle. 
Durante a instalação, o painel de controle é usado 
para programar e configurar o sistema. A cada 
sensor é atribuído um número e tipo, uma senha de 
gerente para armar e desarmar o sistema, e 
número(s) de telefone (entrada para discagem 
quando o evento sensor ocorrer). 
Construindo o DFD 
Quando o evento sensor é reconhecido, o software 
invoca um alarme. Depois de um tempo de espera que 
é especificado pelo dono da casa durante a 
configuração do sistema, o software disca um nr de 
telefone de um serviço de monitoramento, produz 
informação sobre a localização e relata a natureza do 
evento que foi detectado. O nr será discado novamente 
a cada 20 segundos até que a conexão de telefone é 
obtida. 
Toda interação com o SafeHome é gerenciada por um 
subsistema de interação-usuário que lê a entrada 
produzida pelo teclado ou teclas de função, edita 
mensagens de pronto e status do sistema sobre o LCD. 
 
62 
DFD - Safehome 
status do 
 sensor 
Display do 
painel de 
controle 
Alarme 
Monitorar 
sensores 
Ativar/ 
Desativar o 
sistema 
Configurar 
sistema 
dados de 
configuração 
comandos e 
dados do usuário 
Painel de 
controle 
Interagir c/ 
usuário 
Informação de 
 configuração 
Processar 
senha 
senha 
solicitação de 
configuração 
Sensores 
Linha 
telefônica 
iniciar/parar 
Emitir 
mensagens 
e status 
dados de 
configuração 
a/d msg. 
mensg. id válida 
informação 
 do sensor 
tipo de alarme 
nr telefônico 
informações 
de display 
Dúvidas e Perguntas 
Próxima Aula 
• Exercício Prático sobre DFD e DFC usando a 
ferramenta Visio.

Outros materiais