• Nenhum resultado encontrado

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

N/A
N/A
Protected

Academic year: 2021

Share "PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura"

Copied!
30
0
0

Texto

(1)

PROJETO (OU

DESIGN

) DO

SOFTWARE

(2)

Na fase de projeto (ou design) do software, a preocupação é

propor uma solução arquitetônica viável para cumprir os

objetivos do sistema.

O processo do projeto converte o “que” o sistema deve fazer

(os requisitos levantados na fase de análise) para o “como” os

requisitos serão projetados (ou “desenhados”), de uma forma

a serem construídos na fase de implementação.

(3)

Abstração -

É a descrição de um problema com um nível de

generalização que permite concentrar nos aspectos principais do

problema, sem se perder nos detalhes. Uma boa abstração esconde os

detalhes desnecessários.

PROJETO (OU DESIGN) DO SOFTWARE

Principais conceitos

Ponto de vista de

(4)

Refinamento -

Diz respeito à forma de modelar as abstrações do

projeto em sucessivos níveis de refinamento de detalhes. Para a

modelagem de sistema usando casos de uso, dois diagramas em níveis de

detalhes são utilizados: o contexto do sistema e o modelo de casos de uso.

Modularidade -

É a divisão do software em partes menores,

normalmente chamadas de módulos. Entretanto, dependendo do nível de

granularidade (tamanho) dessas partes podem ser chamadas também de

sistema (o maior módulo), subsistemas (os “submódulos”) e componentes

(as “unidades” de implementação). As partes devem ser integradas para

atenderem aos requisitos do problema.

PROJETO (OU DESIGN) DO SOFTWARE

Principais conceitos

(5)

Um produto direto da modularidade e dos conceitos de

abstração e ocultação da informação.

Um software com módulos independentes é mais fácil de

ser desenvolvido e mais fácil de ser mantido; fundamental

para um bom projeto.

• Critérios de qualitativos:

ALTA COESÃO

ALTA COESÃO

e

BAIXO ACOPLAMENTO

BAIXO ACOPLAMENTO

.

(6)

B

Cidade A

Cidade B

A

B

Cidade A

Cidade B

A

C

oe

o

(a

lta

)

A

co

pl

am

en

to

(b

ai

xa

)

COESÃO x ACOPLAMENTO

DIAGRAMA DE ESTRUTURA

(7)

DIAGRAMA DE ESTRUTURA

Módulos de Pequenos Tamanho

Independência Modular

Característica de Caixa-Preta

Modelagem Conceitual

Isolamento de Detalhe

Refinar o projeto e corrigir suas falhas

antes da implementação

Servir de referência aos programadores

(8)

O gráfico de DE mostra :

O particionamento em módulos.

A hierarquia e organização dos módulos.

Interface ( entrada e saída) entre módulos.

Funções dos módulos.

Por outro lado o gráfico

não mostra :

♦ Procedimento interno dos módulos.

♦ Os dados internos dos módulos.

(9)

ACOPLAMENTO

DIAGRAMA DE ESTRUTURA

(10)

ACOPLAMENTO

DIAGRAMA DE ESTRUTURA

• No projeto seguindo a abordagem orientada a objetos, o

acoplamento é o nível de ligação do objeto com objetos fora

de suas fronteiras, por meio de chamada de operações (entre

métodos) e troca de dados (atributos públicos e passagem por

referência de objetos).

• O baixo acoplamento pode ser alcançado ao se evitar

chamar métodos de outras classes e evitando a troca de dados

(atributos) de outros objetos externos de forma direta, a não

ser por meio de métodos públicos de acesso, definidos na

interface da classe.

(11)

TIPOS DE ACOPLAMENTO

•Acoplamento de Dados

(melhor)

•Acoplamento de Imagem

•Acoplamento de Controle

•Acoplamento Comum

•Acoplamento de Conteúdo

(pior)

ACOPLAMENTO

(12)

ACOPLAMENTO BAIXO :

♦ eliminando relações desnecessárias.

♦ reduzindo o número de relações necessárias.

♦ enfraquecendo a dependência das relações necessárias.

VANTAGENS :

♦ menor a chance do efeito cadeia.

♦ trocar um módulo com um mínimo de risco de ter de

trocar outro módulo

ACOPLAMENTO

(13)

Calcular

Total Conta

Calcular

Reembolso

Q

te

_e

m

pr

es

ta

da

ta

xa

_r

ee

m

bo

ls

o

pr

az

o

Comunicam-se

por parâmetros

passar para

um módulo

somente os dados

necessários.

ACOPLAMENTO DE DADOS

DIAGRAMA DE ESTRUTURA

(14)

Gerar Conta

de Aluguel de

Carro

Reg

._a

lug

uel

de

car

ro

Calcular Taxa

de Aluguel

Consumo de

Calcular

tax

a_a

lug

uel

_básicoReg_a

lugu

el_cl

iente

cons

um

o_ga

solin

a

Mais dados do que

precisa

ACOPLAMENTO DE IMAGEM

(15)

¨

Reduzir o acoplamento de imagem

não criar itens de dados compostos

contendo muitas partes de dados não

relacionadas logicamente. Agrupe em

uma estrutura de dados apenas itens

relacionados.

ACOPLAMENTO DE IMAGEM

(16)

Juntar

Registro

Cliente

Controle

E/S

O

q

ue

fa

ze

r

R

eg

_t

ra

ns

ão

R

eg

_m

es

tr

e

Controla lógica

interna

eliminar

sinalizadores.

ACOPLAMENTO DE CONTROLE

DIAGRAMA DE ESTRUTURA

(17)

es

to

qu

e_

in

su

fic

ie

nt

e

Encontrar

Número de

Material

Controle

E/S

do Sistema

Tabelas de

Materiais

Flag. de Erro

no

m

e_

m

at

er

ia

l

núm

_ un

id_a

nter

ior

não_exist

e

nov

o_ n

úm_

unid

Usam a mesma

área de dados

evite dados compartilhados.

é preciso ter-se definido, e muito bem, que somente um módulo pode fazer

ACOPLAMENTO COMUM

(18)

A

B

Faz referência ao

interior do outro

ACOPLAMENTO

CONTEÚDO

DIAGRAMA DE ESTRUTURA

(19)

Qualidade dos Tipos de Acoplamento

Qualidade dos Tipos de Acoplamento

DIAGRAMA DE ESTRUTURA

Tipo de Acoplamento Suscetib. ao Erro Possibilidade de Alteração Compreensão Util. Módulo Outros Sist.

Conteúdo

Ruim

Ruim

Ruim

Ruim

Comum

Fraco

Média

Ruim

Ruim

Controle

Média

Fraco

Fraco

Fraco

Imagem

Variavel

Média

Média

Média

(20)

mede a força de ligação entre os módulos

COESÃO

(21)

TIPOS DE COESÃO :

Coesão Funcional

(melhor)

Coesão Sequencial

Coesão Comunicacional

Coesão Procedural

Coesão Temporal

Coesão Lógica

Coesão Coincidental

(pior)

COESÃO

(22)

Calcular o coseno de

um ângulo

Ex.

LEIA registro de cliente

CALCULE prêmio normal de seguro

DEDUZA taxas federais

COESÃO FUNCIONAL

DIAGRAMA DE ESTRUTURA

É quando o módulo possui

elementos diferentes, porém

todos eles são necessários e

suficientes para executar uma e

somente uma função.

(23)

Ex.

CALCULAR salário bruto;

CALCULAR

deduções;

CALCULAR

salário liquido.

COESÃO SEQUENCIAL

DIAGRAMA DE ESTRUTURA

É quando o módulo possui

funções diferentes, executadas

seqüencialmente, e o resultado

do processamento da primeira,

será a entrada para o

processamento da segunda.

A

B

(24)

Ex.

OBTER preço do livro;

OBTER titulo do livro;

OBTER autor do livro;

COESÃO COMUNICACIONAL

DIAGRAMA DE ESTRUTURA

É quando o módulo executa

varias tarefas e se utiliza da

mesma entrada ou da mesma

saída.

A

B

X

Y

Z

(25)

COESÃO PROCEDURAL

DIAGRAMA DE ESTRUTURA

É quando o módulo possui elementos

que cumprem funções diferentes, e

muitas vezes não relacionadas, nas

quais o controle é passado de uma a

outra.

Neste tipo de coesão só ocorre a

passagem de controle, sem nenhuma

passagem de dados.

LER

EDITAR

GRAVAR

Ex.

Verificar se o limite de crédito do cliente foi atingido;

e Se o limite foi atingido, bloquear o pedido

(26)

COESÃO TEMPORAL

DIAGRAMA DE ESTRUTURA

Quando os procedimentos que executa

estiveram relacionados com o tempo, e

não com o tipo de função que

executam.

Neste módulo, as instruções necessitam

ser executadas ao mesmo tempo, sem

portanto, a necessidade de ordem ou

vinculo entre elas.

imprimir

encerrar

execução

fechar

arquivo

Ex.

FORMATAR e imprimir totais gerais;

FECHAR arquivos;

(27)

A

A1

A2

R1

R1

R1

COESÃO LÓGICA

DIAGRAMA DE ESTRUTURA

Quando os elementos que

formam um módulo,

destinam-se ao tratamento

de uma mesma categoria.

Ex. Tratamento de Erros

EMISSÃO de Mensagem;

(28)

B

A

C

C1

B1

A1

COESÃO COINCIDENTAL

DIAGRAMA DE ESTRUTURA

Este tipo ocorre quando os

procedimentos internos dos

módulos estão dispostos de tal

forma que não existe nenhuma

ligação lógica entre eles.

Ex. Tratamento de Erros

LER Pedido

GERAR aviso de cobrança;

(29)

COESÃO –

USANDO A ÁRVORE DE DECISÃO

O módulo

pode ser

considerado

como

executando

uma função

relacionada

ao problema?

1. Funcional

2. Seqüencial

3. Comunicacional

4. Procedural

5. Temporal

6. Lógica

SIM

A seqüência

é importante?

A seqüência

é importante?

Mesma

da

do

s

cont

role

re

la

ci

on

am

en

to

da

s

at

iv

id

ad

es

NÃO

nen

hu

m

a

(30)

Qualidade dos Tipos de Coesão

Qualidade dos Tipos de Coesão

DIAGRAMA DE ESTRUTURA

Tipo de Coesão

Grau Indep. Outros

Módulos

Suscetibilidade a erros

Compreensão

Util. Módulo Outros Sist.

Coincidental

Baixo

Alto

Baixo

Baixo

Lógica

Médio

Alto

Médio

Médio

Temporal

Baixo

Médio

Médio

Baixo

Procedural

Medio

Baixo

Baixo

Baixo

Comunicac.

Medio

Baixo

Médio

Médio

Sequencial

Alto

Médio

Médio

Alto

Referências

Documentos relacionados

Do projeto pedagógico foram extraídas treze competências, tomando como base, o método de Rogério Leme em sua obra: APLICAÇÃO PRÁTICA DE GESTÃO DE PESSOAS POR

Com relação à utilização dos aditivos HCl e NaOH juntamente com as soluções surfactantes, observou-se que a presença da base ou do ácido aumentou o percentual de remoção dos

Our results revealed that Lin 84 also presents a Type II resistance, as described by Mesterházy (1995), and, in spite of the fact that it presented marginally infection levels

As evidências empíricas analisadas deram conta das questões levantadas a partir desta pesquisa: a divisão sexual de poder aparece claramente manifesta no interior da

Para massa seca da parte aérea, na condição de estresse salino e ausência de halo-priming, foi observado maior média na cultivar Canapu, comprovando sua tolerância ao estresse

Para tanto, os hábitos alimentares de Urotrygon microphthalmum capturada no litoral de Pernambuco, e de Rhinobatos percellens, capturada em Caiçara do Norte RN foram analisados de

Este projeto, voltado para o meio da animação e ilustração, desenvolve material abordando a mecânica de corpos de animais (O estudo de anatomia, estrutura, movimentação

No entanto, maiores lucros com publicidade e um crescimento no uso da plataforma em smartphones e tablets não serão suficientes para o mercado se a maior rede social do mundo