Académique Documents
Professionnel Documents
Culture Documents
ÍNDICE
1. INTRODUÇÃO 1
2. FASES DO PROJETO 7
3.1 Introdução 11
I
Projeto Estruturado de Sistemas
II
Projeto Estruturado de Sistemas
LISTA DE FIGURAS
III
Projeto Estruturado de Sistemas
1. INTRODUÇÃO
1
Projeto Estruturado de Sistemas
Qualquer informação que não puder ser descrita pelo diagrama de estrutura pode
ser suprida por pseudo código ou por alguma outra descrição de módulos do gráfico de
estrutura.
É interessante citar que o projeto estruturado entra em cena aonde a programação
estruturada sai, ou seja em sistemas de médio porte em diante.
Além do mais, a fase de Projeto procura prover os sistemas de facilidades para:
• construção
• testes
• modificações
• entendimento
2
Projeto Estruturado de Sistemas
• reconhecimento do Problema
• estudo de viabilidade
• análise
• projeto
• implementação
• testes
• manutenção
• inadministráveis;
• insatisfatórios;
• insatisfatórios e improdutivos;
• não confiáveis;
• inflexíveis e de difícil manutencão;
• ineficientes;
• qualquer combinação dos itens acima.
3
Projeto Estruturado de Sistemas
1.3.1 Completeza
O Projeto não deve perder nada do que foi identificado na fase de análise como
requisito essencial.
1.3.2 Manutenibilidade
• erros do sistema
• novas necessidades do usuário
• alterações do ambiente
1.3.3 Performance
• tempo de processamento
• memória ocupada
• through-put - dados processados por unidade de tempo
• tempo de resposta
4
Projeto Estruturado de Sistemas
1.3.4 Segurança
1.3.5 Interatibilidade
Cuidados com lay-out de telas e relatórios devem ser observados. As telas devem
ser padronizadas para menu; atualização, consulta; entradas de parâmetros; espera de
processamentos longos e respostas de consulta. As teclas de função válidas em cada tela
devem ser indicadas explicitamente.
• data
5
Projeto Estruturado de Sistemas
• identificação do usuário
• código da tela
• identificação da operação referente a tela
• área de menu de opções e entrada de dados
• área de mensagens de erro relativos às operações
• área de mensagens interativas com o decorrer da operação
A crítica de campos pode ser feita campo a campo, tela cheia, ou por grupos de
campos. Mensagens de erro devem ser padronizadas e devem deixar claro qual foi o erro,
e a indicação do campo, se necessário. Deve-se prover DEFAULTS para entradas padrões
e utilização de teclas para acesso a tabelas em campos codificados.
Linha de comando deve ser utilizada principalmente para sistemas com um alto
nível hierárquico de telas. Este recurso permite que os usuários através de um
mneumônico de uma aplicação, tenham acesso a mesma sem a necessidade de navegação
pelas telas.
1.3.6 Confiabilidade
1.3.7 Economia
• custo da tecnologia;
• custo operacional;
• custo de construção e manutenção
6
Projeto Estruturado de Sistemas
2. FASES DO PROJETO
• pode ainda ser escolhida uma opção intermediária entre as duas citadas
anteriormente, com o objetivo de minimizar custos, maximizar a
confiabilidade.
7
Projeto Estruturado de Sistemas
8
Projeto Estruturado de Sistemas
9
Projeto Estruturado de Sistemas
10
Projeto Estruturado de Sistemas
3.1 Introdução
• poucas interfaces - um módulo deve interagir com outros o mínimo possível, pois
quanto mais interfaces tiverem uns com os outros, mais difícil será a manutenção
dos mesmos;
• clareza - um módulo deve ser dedicado a uma finalidade bem definida, e a função
desempenhada pelo módulo não deve gerar nenhum “efeito colateral” inesperado.
Uma vantagem da obediência deste princípio é a facilidade de depuração.
11
Projeto Estruturado de Sistemas
3.2.1 Módulo
Calcular
Salário
Líquido
Validar
CPF
12
Projeto Estruturado de Sistemas
13
Projeto Estruturado de Sistemas
B G H
C F I J
D E
14
Projeto Estruturado de Sistemas
B C
• repetitiva - um módulo subordinado pode ser ativado pelo seu superior mais de
uma vez, em função de uma condição. A figura 3.6 apresenta uma ativação
repetitiva.
B C
15
Projeto Estruturado de Sistemas
CPF
EOF
16
Projeto Estruturado de Sistemas
Módulo
Módulo
Aferente
Eferente
Módulo de
Coordenação
Módulo de
Transforma-
ção
3.2.4 Conector
17
Projeto Estruturado de Sistemas
Conector para
Conector de uma mesma
página página
Controlar
Contas
Cliente
data-corrente dados
conta conta-atrasada
EOF
atraso-pequeno atraso-demasiado
ODC
DH atraso-grande
DH DH DH
18
Projeto Estruturado de Sistemas
ODC
Obter
Detalhe
Cliente
• função;
• entradas e saídas;
• lógica interna do módulo. Esta lógica pode ser expressa de forma genérica (o
que fazer) ou de forma detalhada através de pseudo-código (como fazer).
19
Projeto Estruturado de Sistemas
3.3.1 Acoplamento
• Dados
• Imagem
• Controle
• Comum
• Conteúdo
• Acoplamento de Dados
Deve-se tomar cuidado com o chamado dado migrante (um grupo de informações
que vagueia pelo sistema), indesejável e sem sentido para a maioria dos módulos pelos
quais passa.
Gerar
Guia de
IPTU
área
valor-taxa
Calcular
Taxa
20
Projeto Estruturado de Sistemas
Calcular
Valor
Aluguel
registro custo
aluguel combustível
valor registro
aluguel aluguel
Obter Calcular
Aluguel do Gasto de
Carro Combustível
• Acoplamento de Controle
21
Projeto Estruturado de Sistemas
Gerar Validar
Folha Pedido
Pagamento
Imprimir
Validar
Mensagem
CPF
Erro
No primeiro exemplo, o acoplamento não é tão crítico uma vez que o controle
indica uma validação, porém o segundo exemplo exige que o módulo que enviou o
controle (validar pedido) conheça o outro módulo.
• Acoplamento Comum
22
Projeto Estruturado de Sistemas
Obter Atualizar
dados Estoque
Peça
Quantidade
Retirada
Nome Quantidade
Peça Atual
Estoque de Peças
• Acoplamento de Conteúdo
23
Projeto Estruturado de Sistemas
Módulo A
<instruções>
Valor = Valor * percentual
Se Valor > 1000
GO TO P1
Fim-se
<instruções>
Módulo B
<instruções>.
P1. Efetuar desconto
<instruções>
Dados
Imagem
Controle
Comum
Conteúdo
24
Projeto Estruturado de Sistemas
3.3.3 Coesão
• Funcional
• Sequencial
• Comunicacional
• Procedural
• Temporal
• Lógica
• Coincidental
• Coesão Funcional
Obter Obter
Nome Dados
Cliente Empréstimo
25
Projeto Estruturado de Sistemas
• Coesão Sequencial
Este fluxo estabelece uma sequência de execução das funções, no entanto, não se
pode caracterizar o conjunto delas como uma única tarefa.
Num-Conta
Exibir
Consulta
• Coesão Comunicacional
26
Projeto Estruturado de Sistemas
Data-Vencimento
Num-Conta Saldo-Empréstimo
Limite-Empréstimo
Obter
Detalhes
Cliente
• Coesão Procedural
27
Projeto Estruturado de Sistemas
A figura 3.20 ilustra o módulo Tratar Saque isolado (parte esquerda da figura)
com Coesão Procedural, e sua fatoração para módulos funcionalmente coesos na parte
mais a direita da figura.
valor num-conta
Tratar
Saque
num-
Valor num-
conta
valor conta
Num-Conta num- valor
conta
flag
• Coesão Temporal
Finalizar
28
Projeto Estruturado de Sistemas
• Coesão Lógica
Um módulo possui Coesão Lógica quando suas funções internas contribuem para
atividades da mesma categoria geral, onde a atividade é selecionada fora do módulo.
Desta forma, módulos logicamente coesos apresentam uma interface descaracterizada.
flag
reg-material
reg-cliente
status
reg-fornecedor atualização
Rotina
Geral de
Atualização
• Coesão Coincidental
29
Projeto Estruturado de Sistemas
venda
nome-
num- material
material
conta saldo
Calcular Saldo
Validar
Material
1. FUNCIONAL
SIM
O MÓDULO PODE SER A SEQÜÊNCIA SIM
2.SEQÜENCIAL
CONSIDERADO COMO É IMPORTANTE ?
EXECUTANDO UMA DADOS NÃO 3.COMUNICACIONAL
FUNÇÃO RELACIONA- NÃO
DA AO PROBLEMA
NENHUM
DELES AS ATIVIDADES SIM 6.LÓGICA
ESTÃO NA MESMA
CATEGORIA GERAL ?
7.COINCIDENTAL
NÃO
30
Projeto Estruturado de Sistemas
• Funcional
• Sequencial
• Comunicacional
• Procedural
• Temporal
• Lógica
• Coincidental
31
Projeto Estruturado de Sistemas
3.4.1 Factoring
32
Projeto Estruturado de Sistemas
Notação
Efeito A
Decisão
C B
D E X
F G
33
Projeto Estruturado de Sistemas
Notação
Efeito A
Decisão
C B
D E X
F G
• Input-Driven
Corresponde ao modelo que realiza pouco processamento em seu lado aferente,
de modo que os módulos superiores lidam com dados físicos e não refinados. Esta forma
não é desejável pois muitos módulos no topo do sistema estão relacionados com o
formato físico da entrada.
34
Projeto Estruturado de Sistemas
B C E
D F H
• Output-Driven
Esta forma é mais rara de se verificar, porém também é desaconselhável uma vez
que módulos superiores ficam presos a condições físicas de saída.
35
Projeto Estruturado de Sistemas
B G I
C F H
D E
• Balanceado
Ocorre quando os módulos superiores lidam com dados de natureza lógica e não
física. No lado aferente o dado é inicialmente editado e desblocado, deixando de depender
da forma de entrada no sistema. No lado eferente, o dado é independente de qualquer
formato especial de saída desejado pelo usuário.
36
Projeto Estruturado de Sistemas
B G H
C F I J
D E
Erros devem ser relatados pelo módulo que os detectou e que conhece sua
natureza.
Mensagens de erro juntas em um módulo tem as seguintes vantagens e
desvantagens:
37
Projeto Estruturado de Sistemas
B G H J K L M
38
Projeto Estruturado de Sistemas
B G H J
39
Projeto Estruturado de Sistemas
• Análise de Transformação
• Análise de Transação
40
Projeto Estruturado de Sistemas
D F H
P1 P3 K
P4 P6
B G
I
E
J
L
P2 P5
P7
41
Projeto Estruturado de Sistemas
P4
P3 P5 P6
P1 P2 P7 Exibir K
42
Projeto Estruturado de Sistemas
CHEFE
P3 P4
P1 P2 P5 P6
Exibir L
43
Projeto Estruturado de Sistemas
Diagrama Nível X
f1 f7
EXT1
EXT3
f2
f3
P1 P3
f6
dep2
dep1
dep3
f4 P2
f5
EXT2
Figura 3.II: Exemplo de DFD com ligações entre processos via depósito de dados
PX
transação
Obter
Transação P1 P2 P3
44