Escolar Documentos
Profissional Documentos
Cultura Documentos
BR
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
_
Introduo
_
Heursticas de Projecto
_
Anlise de Transformao
_
Anlise de Transaco
_
Concluses
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Introduo
_
O objectivo da fase de Projecto , partindo das especificaes geradas Anlise, produzir uma especificao que promova a Qualidade do programa.
_
O objectivo do Projecto Estruturado produzir uma especificao que, quando implementada cumpra os requisitos e promova a boa prtica da programao estruturada (Qualidade do programa). O projecto estruturado procura lidar com a complexidade dos Sistemas usando: 1. Abordagem top-down (organizao hierrquica) 2. Modularidade (segmentao)
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Externos (detectveis pelo utilizador) Factores de Qualidade: Internos (s perceptveis pelos programadores)
Alguns factores externos principais 1) Correco Capacidade de um programa efectuar as tarefas requeridas pelas especificaes. 2) Robustez Capacidade do programa funcionar em condies anormais. Fivel (reliable) = Correcto + Robusto 3) Extensibilidade (ou capacidade de evoluir) Facilidade com que um programa se pode adaptar a alteraes de especificao. 4) Compatibilidade Facilidade com que um programa pode ser combinado com outros
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Reutilizao Capacidade de um programa poder ser reutilizado total ou parcialmente em outros programas.
_
Portabilidade Facilidade com que um programa pode ser transferido para outras plataformas.
_
Integridade Capacidade de um programa em proteger os seus vrios componentes contra acessos no autorizados.
_
Facilidade de utilizao Facilidade com que se aprende a preparar entradas, interpretar resultados, recuperar de erros, etc.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
O Projecto Estruturado produz uma especificao que organiza a implementao usando Programao Estruturada.
_
A principal actividade da fase de projecto estruturado a identificao e alocao de funes bem definidas em mdulos.
_
A programao estruturada, que aparece em meados dos anos 60, prope um conjunto de estruturas padro (funes, instrues de selecco, iterao, etc) para tornar os programas mais compreensveis. Para alm disso, introduz a estratgia de refinamento progressivo (top-down) para ajudar o programador.
_
Pode dizer-se que o Projecto Estruturado comea onde a Programao Estruturada acaba: Implementao de sistemas de mdia e grande dimenso.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Modularidade Os benefcios do Projecto Estruturado resultam da capacidade de dividir hierarquicamente a funo global do sistema em mdulos coerentes, manipulveis e funcionalmente independentes (caixas pretas). Caractersticas de caixa preta - Conhecem-se as entradas e sadas; - Conhece-se explicitamente a funo; - Desconhece-se a implementao da funo.
Decomposio: O sistema deve ser decomposto numa srie de subsistemas mais simples ligados por uma estrutura simples.
_
Legibilidade: A funo que cada mdulo executa deve ser bvia e entendida sem recorrer a outros mdulos.
_
Continuidade: Pequenas alteraes nas especificaes s devem afectar um mdulo (ou um n pequeno de mdulos);
_
Proteco: O sistema deve estar organizado de tal forma que a ocorrncia condies anormais sejam tratadas localmente.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Vantagens tradicionalmente atribudas ao Projecto Estruturado _ Facilita a implementao e a manuteno; _ Facilita uma implementao paralela; _ Reduz a ocorrncia de erros de programao; _ Atenua os efeitos devidos a (pequenas) alteraes; _ Minimiza os efeitos do emprego de vrios programadores; _ Facilita a estimativa de custo global do sistema; _ um passo em direco reutilizao; _ Facilita a optimizao
Desvantagens do Projecto Estruturado (Decorrentes da abordagem ser guiada por funes) _ No toma em conta a natureza evolutiva dos sistemas; _ A caracterizao de um sistema com uma nica funo global pode ser questionvel; _ A estrutura dos dados negligenciada;
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
O Diagrama de Estrutura revela a estrutura modular de um sistema, a hierarquia e as interfaces de dados e controlo entre mdulos. Mostra: - apenas as tomadas de deciso de alto nvel; - que os mdulos hierarquicamente superiores so chamados primeiro do que os mdulos dos nveis inferiores da hierarquia. No mostra: - a ordem pela qual os mdulo devem ser executados; - os detalhes da estrutura de controlo O DE decompe um sistema num nico diagrama;
Vantagens tradicionalmente atribudas ao Diagrama de Estrutura _ uma ferramenta grfica; _ adequado ao desenvolvimento paralelo; _ um bom auxiliar de documentao do sistema.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Mdulo Coleco de elementos de processamento (instrues) com os seguintes atributos bsicos: Entradas e sadas, funo, lgica e dados internos
<Nome de Mdulo>
<Nome de Macro>
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
As setas esto orientadas de cima para baixo para salientar que o DE uma tcnica de projecto topdown .
Nome do cliente
No da conta OK
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Anotaes Procedimentais
Chamadas condicionais
Chamadas repetidas
B C
A
1
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Smbolos especiais
A
A uma macro
Sistema operativo
Conector
C
A A Comentrio acerca de A
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Ligao patolgica
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Mtodos para especificao de mdulos Em geral, os mtodos usados para especificar os processos dos DFDs podem ser usados aqui. Mtodos mais usados: - Especificao de Interface do Mdulo; - Pseudocdigo
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Modularidade Lingustica
Acoplamento
Coeso
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Modularidade Lingustica Os mdulos devem corresponder a unidades sintticas da linguagem usada. (Previne o seguinte tipo de especificao: O mdulo X vai da linha 47 102 e da 507 634). Este factor segue de factores como a Decomposio e Composio. Este factor acaba com a esperana de se ter uma boa poltica de projecto independente do tipo de linguagem utilizada.
Interfaces explcitas Sempre que os mdulos A e B comuniquem, isto deve ser evidente da especificao de A, ou de B, ou de ambos.
Interfaces reduzidas Cada mdulo deve comunicar com o menor nmero possvel de outros mdulos. Acoplamento (ou Interfaces pequenas) Se os objectos A e B tiverem que comunicar ento devem trocar entre si a menor informao possvel. Segue de (praticamente) todos os factores externos de qualidade.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Tipos de Acoplamento
Acoplamento de Dados Acoplamento por Imagem Acoplamento por Controlo Acoplamento Comum Acoplamento de Contedo
(Normal)
(Sintoma de m Qualidade)
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Acoplamento de Dados Corresponde comunicao necessria entre mdulos que tm que comunicar.
Obter total de Saldos
No da conta do cliente Saldo de conta
Acoplamento por Imagem Ocorre quando se envia no s o dado necessrio mas toda a estrutura de dados onde o dado est contido.
No telefone Registo de Cliente No telefone OK
Regra: Suprimir dados suprfulos. Evitar empacotamento: uso de estruturas com dados no relacionados com nome vago e sem sentido.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Acoplamento de controlo O mdulo A est acoplado por controlo ao mdulo B se A passa informao destinada a controlar a lgica interna de B.
Produzir relatrio de pagamento de clientes
No de conta Emitir mensagem de erro: Cliente inexistente No de cliente No conta invlido
Acoplamento comum Dois mdulos possuem acoplamento comum se acedem mesma rea de dados (tipicamente dados globais acessveis por qualquer mdulo). Problemas: - Dados globais deterioram a legibilidade do programa; - Alterao nos dados implica alterao nos mdulos; - Erro num mdulo que altera dados reflectido nos outros mdulos; Regra: Evitar dados globais.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Acoplamento de Contedo (ou Patolgico) O mdulo A tem acoplamento de contedo relativamente ao mdulo B se A faz referncia ao interior do mdulo B. Viola por completo a noo de modularidade (caixa preta).
Se um mdulo exibir mais do que um tipo de acoplamento, ento considera-se que o mdulo sofre do pior dos acoplamentos presentes
_
Influncia do tipo de acoplamento em critrios e factores externos de qualidade seleccionados. Tipo Dados Imgem Controlo Comum Contedo Extensibilidade boa mdia fraca mdia m Legibilidade boa mdia fraca m m Reutilizao boa mdia fraca m m
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Coeso (fora modular ou funcionalidade) Expressa a natureza das relaes entre os elementos de processamento no interior de um mdulo.
_
Pretende-se mdulos altamente coesos, i.e., cujos elementos estejam forte e genuinamente relacionados uns com os outros.
_
Coeso e acoplamento so dois indicadores da modularidade de um Projecto. Ambos so factores de qualidade internos importantes, sendo que coeso mais importante. A coeso mais importante.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Nveis de Coeso Quando se perguntou a um conjunto de programadores Porque que juntou estas instrues neste mdulo?
Funcional
Sequncial
Comunicacional
Procedimental
Temporal
Lgica
Coincidente
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Coeso coincidente (ou coincidental) o pior nvel de coeso. As instrues esto juntas por acaso; Tipicamente resulta(va) das tentativas de poupar memria.
No de conta
registo ok
mensagem
Chave
Miscelnea de funes
Coeso lgica Verifica-se num mdulo cujos elementos de processamento constituem uma famlia de funes e cuja funo actual seleccionada do exterior.
Dado A Flag entrada/sada Dado A
Criam-se mdulos logicamente coesos quando se tenta poupar algumas linhas de programao.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Coeso temporal O relacionamento mais forte que existem entre as instrues de um mdulo com coeso temporal o facto de serem executados ao mesmo tempo. Exemplos: Mdulos de inicializao ou finalizao.
Inicializar sistema
Abrir ficheiros
Iniciar contadores
Inicializar vectores
Coeso Procedimental Os elementos esto envolvidos em actividades possivelmente relacionadas mas cujo controlo flui de umas para as outras. A coeso procedimental mais forte do que a coeso temporal, uma vez que se indica, para alm do tempo execuo comum, a sequncia de execuo. Tipicamente resulta da decomposio de um mdulo em seces.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Coeso comunicacional Um mdulo tem coeso comunicacional se os seus elementos usam a mesma entrada ou a mesma sada.
No de cliente Saldo do emprstimo
Nome de cliente
Coeso sequencial Os elementos do mdulo esto envolvidos em actividades tais que os dados de sada de uma actividade servem de dados de entrada para a actividade seguinte.
Dados
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Coeso funcional Um mdulo funcionalmente coeso contm todos os elementos e apenas aqueles necessrios para realizar uma nica tarefa bem definida.
Exemplos: calcular raiz quadrada; ler registo; determinar salrio lquido de um empregado; calcular o ponto de impacto de um mssil.
Um mdulo no ser funcionalmente coeso se, para descrever a sua funo for necessrio um, ou mais, dos seguintes items: Frase composta; Mais do que uma frase; Palavras que indiciam uma ligao temporal; Falta de um objectivo especfico simples; Verbo ambguo.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Heursticas de Projecto
Regras e heursticas que, em geral, promovem a Qualidade do Projecto Estruturado.
Decomposio (Factoring)
_
Diviso de Regras
_
Inicializao e Finalizao
_
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Aspectos morfolgicos Formas-padro A maior parte dos Sistemas apresenta uma estrutura que uma variao de uma forma-padro bsica.
Mdulo Aferente
Mdulo Eferente
Mdulo Transformador
Mdulo Coordenador
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Mdulos com fan-in elevado devero ter coeso funcional, ou quando muito, comunicacional ou sequencial.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Heursticas de Projecto
Decomposio Diviso de Regras Manter elevada. Manter antecedente e consequente juntos. Adoptar uma. Procurar manter a estrutura do programa comparvel estrutura do problema. Manter alto.
_
Formas-padro
Manter a 7 2 aprox. Iniciar o mais tarde possvel, finalizar o mais cedo possvel.
Tratamento de situaes de erro Devem ser detectadas e relatadas localmente; se possvel ao nvel do mdulo. Restritividade / Flexibilidade A flexibilidade resulta no da implementao de uma funo que possa vir a ser til no futuro, mas antes da escolha das alternativas que permitam implementar essa funo, se necessrio.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Anlise de Transformao
_
A Anlise de Transformao (ou Projecto Centrado em Transformao) uma estratgia top-down para derivar um DE inicial a partir de um DFD.
_
A estratgia consiste em identificar as funes principais do sistema, as entrada de alto-nvel e as sadas primrias, criando depois mdulos capazes de desempenhar as funes identificadas.
_
A Anlise de Transformao engloba os seguintes passos: 1. Construir o DFD; 2. Identificar o Centro de Transformao; 3. Desenhar um DE inicial; 4. Refinar o DE inicial.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Centro de Transformao Parte do DFD que contm as funes principais do sistema, que so independentes da implementao particular das entradas e sadas.
Identificao do Centro de Transformao 1. Inspeco simples do DFD, ou; 2. Pela identificao dos ramos aferentes (entradas) e eferente (sadas) do DFD;
Identificao dos ramos aferentes e eferentes A identificao dos ramos aferentes e eferentes feita de acordo com os seguintes passos: 1. Percorrer cada ramos aferente (entrada), partindo do exterior do DFD em direco ao centro do DFD, e marcar o fluxo que represente a entrada na sua forma mais refinada. 2. Percorrer cada ramo eferente (sada), partindo do exterior do DFD em direco ao centro, e marcar o fluxo que represente a sada na sua forma mais primria 3. Ligar todas as marcas identificadas em 1. e 2. de forma a obter uma curva fechada.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
1. O mdulo principal deve ser tal que, quando activado, desempenhe a funo global do sistema chamando os seus subordinados. O mdulo principal poder existir, ou no, como processo no DFD.
2. Para cada elemento de dados aferente (entrada) especifica-se um mdulo, subordinado ao mdulo principal, cuja funo fornecer ao chamador o elemento de dados aferente considerado.
3. Para cada elemento de dados eferente (sada) define-se um mdulo subordinado ao mdulo principal.
4. Especifica-se um mdulo de transformao, eventualmente subordinado ao mdulo principal, correspondente ao Centro de Transformao.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
2) O enriquecimento do DE com os detalhes omissos no DFD: 2.1) Mdulos de leitura/escrita (at ao nvel fsico); 2.2) Processamento de erros;
_____
2.3) Adio de informao de controlo necessria, e.g. 2.4) Detalhes de inicializao e finalizao.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
A Anlise de Transaco indicada no caso em que um DFD divide um fluxo de dados de entrada em vrios fluxos de sada.
Centro de Transaco
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Anlise de Transaco (cont.) Um DFD como o anterior pode ser transformado numa estrutura modular particular em que o Centro de Transaco transformado num mdulo capaz de: - Obter uma transaco; - Analisar a transaco para determinar o seu tipo; - Distribuir as aces dependendo do tipo de transaco;
No limite, o nvel de topo de qualquer sistema pode ser transformado num Centro de Transaco. Em geral, os sistema centrados em transaces apresentam coeso fraca e forte acoplamento.
WWW.VENDASAPOSTILAS.COM.BR
Projecto Estruturado
Referncias
I. T. Hawryszkiewycz, Introduction to Systems Analysis and Design (third edition), Prentice Hall, 1994. M. Page-Jones, The Practical Guide to Structured System Design, Second edition, Prentice-Hall, 1988. Edward Yourdon, Modern Structured Analysis, Prentice Hall International Editions (Englewood Cliffs, 1989) E. Yourdon and Larry L. Constantine, Strutured Design: Fundamentals of a Discipline of Computer Program and Systems Design, Yourdon Press Computing Series, Prentice-Hal (Englewood Cliffs, N.J., 1979).