Você está na página 1de 7

7

Neste captulo:
Diagrama de Estrutura Anlise de Transformao Anlise de Transao Acoplamento Coeso

Diagrama de Estrutura

O Diagrama de Estrutura uma ferramenta de decomposio funcional, onde o programa visto como uma hierarquia de componentes funcionais. O Diagrama de Estrutura til no projeto de programas no contexto do Projeto Estruturado, proposto por Constantine e Yourdon. O conceito bsico do Diagrama de Estrutura a modularizao. Cada componente funcional um mdulo do projeto, que ser codificado e gerar um mdulo do cdigo fonte do programa. O Diagrama de Estrutura um diagrama hierrquico, uma vez que cada mdulo decomposto em mdulos menores, at que toda a rvore do projeto esteja completa. O programa representado como um conjunto de mdulos organizado hierarquicamente. A decomposio de um mdulo em mdulos menores chamada de fatorao.

A base para a construo do Diagrama de Estrutura o Diagrama de Fluxo de Dados (DFD). O Projeto Estrutura prope uma metodologia de derivao do Diagrama de Estrutura a partir do DFD.

Componentes do Diagrama de Estrutura


O Diagrama de Estrutura composto basicamente dos seguintes elementos: -Componente funcional (ou mdulo); -Hierarquia entre os componentes funcionais; -Vetor de dados; -Vetor de estados. A representao dos componentes do Diagrama de Estrutura feita conforme a notao apresentada na Figura 7.1.

119

Componente funcional

Hierarquia dos componentes funcionais

Vetor de dados

Vetor de estados

Figura 7.1. Notao grfica dos componentes do Diagrama de Estrutura O componente funcional, ou mdulo, um conjunto de tarefas desempenhada pelo programa com uma singularidade de propsito. Isto , o mdulo responsvel por executar uma funo especfica no programa, podendo ser chamado por outros mdulos e podendo, tambm, chamar outros mdulos para a consecuo de seu objetivo. Cada mdulo, em um projeto, deve ser especificado, podendo-se utilizar o Portugus Estruturado, onde o vocabulrio utilizado o do projeto do software, ou seja, os nomes a serem usados como variveis, arquivos e processos so os nomes usados no projeto de banco de dados (nomes de tabelas, arquivos e atributos) e no Diagrama de Estrutura (nomes dos mdulos). A hierarquia dos componentes funcionais representa as chamadas entre os mdulos. A seta indica qual mdulo chama outro. Portanto, o Diagrama de Estrutura representa somente a interface entre os mdulos. A lgica interna de cada mdulo dada pela especificao dos mdulos em Portugus Estruturado (ou outra ferramenta de especificao). O vetor de dados um elemento de dados ou um conjunto de dados que um mdulo passa para outro como parmetro na chamada ou retorna como resultado de uma chamada. O vetor de dados contm informaes com contedo relacionado ao domnio da aplicao. A seta do vetor de dados indica o sentido em que tal dado passado (de qual mdulo para qual). O vetor de estados semelhante ao vetor de dados, porm seu significado est relacionado ao controle do programa e no ao contedo de dados propriamente dito. Um vetor de estados uma informao de controle que ser usado para o teste de uma condio no mdulo que o recebe. Geralmente booleano e determina a execuo ou no de outros mdulos. Martin e McClure (1991) prope algumas regras bsicas de controle para um Diagrama de Estrutura: -Existe um mdulo, e somente um, na parte superior (primeiro nvel) do Diagrama de Estrutura, que o ponto onde comea o controle (este mdulo chamado de raiz). -A partir da raiz, o controle passado, nvel por nvel, para os outros mdulos, retornando sempre ao mdulo que fez a chamada. -Existe no mximo uma relao de controle entre quaisquer dois mdulos no Diagrama de Estrutura, ou seja, um mdulo que chama outro, no pode ser chamado por este ltimo.

120

Estratgias para transformao do DFD em Diagrama de Estrutura


No contexto do Projeto Estruturado, o Diagrama de Estrutura uma derivao dos Diagramas de Fluxo de Dados do modelo de anlise do sistema. Para transformar um DFD em Diagrama de Estrutura, duas estratgias podem ser usadas, isoladamente ou de forma combinada, dependendo da aplicao. Essas estratgias so: -Anlise de Transformao; -Anlise de Transao.

Anlise de Transformao
A Anlise de Transformao aplica-se ao DFD, ou parte do DFD, que representa uma seqncia lgica em que se distinguem processo(s) que implementam a entrada de dados, processo(s) que implementam a transformao ou o transporte dos dados de entrada, gerando dados de sada, e processo(s) que implementam a sada de dados. O procedimento de aplicao da Anlise de Transformao baseado na identificao dos componentes funcionais que fazem o processamento lgico de transformao de dados de entrada em dados de sada e, a partir destes componentes, separar os componentes que tratam da entrada de dados (processos anteriores aos componentes que fazem o processamento lgico) dos componentes que tratam da sada de dados (processos posteriores aos componentes que fazem o processamento lgico). Os passos para transformar o DFD em Diagrama de Estrutura, segundo a abordagem da Anlise de Transformao so os seguintes: 1. etapa: Dividir o DFD em trs partes: Ramo Aferente (entrada), Centro de Transformao (processamento) e Centro de Transao (sada). O ramo aferente inclui os processos que transformam dados de entrada do formato fsico para o formato lgico. O centro de transformao composto pelos processos independentes de consideraes fsicas de entrada e sada, que ligam o ramo aferente aos processos de sada. Num mesmo DFD pode haver mais de um Centro de Transformao. E um mesmo Centro de Transformao pode ser formado de mais de um processo. O ramo eferente inclui os processos que transformam os dados resultantes de processamento do formato lgico para o formato fsico de apresentao. 2. etapa: Derivar o Diagrama de Estrutura. Um componente funcional criado como raiz (processo de nvel mais alto do programa, ou seja, se o DFD que est sendo processado um DFD nvel 0, por exemplo, o processo de nvel mais alto o processo que representa o sistema no Diagrama de Contexto).

121

Se houver mais de um Centro de Transformao, criado um novo componente funcional para cada um, em um nvel mais alto (imediatamente abaixo da raiz). Cada centro de transformao colocado no nvel seguinte como um componente funcional. Cada ramo aferente e ramo eferente colocado como um componente funcional, respectivamente, antes e depois do centro de transformao respectivo, ficando para cada conjunto, trs mdulos de mesmo nvel (ramo aferente, centro de transformao e ramo eferente). Quando o centro de transformao, ramo aferente ou ramo eferente for composto de um nico processo, o nome destes mdulos igual ao nome dado ao processo correspondente no DFD. Quando o centro de transformao, ramo aferente ou ramo eferente for composto de mais de um processo, o mdulo recebe um outro nome, que seja significativo para o conjunto de processos que representa, e os processos do DFD que correspondem a cada parte so detalhados no nvel seguinte, sendo um mdulo para cada processo do DFD, com o mesmo nome usado no DFD. 3. etapa: Acrescentar as sub-funes requeridas pelos componentes funcionais ao Diagrama de Estrutura, atravs dos DFDs de nvel mais detalhado ou por meio do processo de fatorao. Se houver DFD de nvel mais detalhado, deve-se proceder a mesma anlise usada no DFD de nvel mais geral, incluindo os mdulos correspondentes nos nveis seguintes do mdulo correspondente ao processo do DFD que foi explodido. Outra forma de detalhar o Diagrama de Estrutura a fatorao. Fatorao o processo de dividir componentes funcionais em sub-funes, com o objetivo de particionar, de maneira mais adequada, a complexidade do software. Geralmente, a fatorao est associada avaliao do projeto, por meio das mtricas de acoplamento e coeso, que so apresentadas mais adiante. 4. etapa: Acrescentar os vetores de dados e vetores de estado ao Diagrama de Estrutura. Os vetores de dados e vetores de estados so includos no Diagrama de Estrutura, de forma coerente com os fluxos de dados de entrada e sada dos processos do DFD. No so representados os fluxos que tm origem ou destino em entidade externa ou depsito de dados. Somente as ligaes entre processos so usadas como referncia para os vetores de dados e estados que entram ou saem dos mdulos.

Anlise de Transao
A anlise de transao uma estratgia aplicada ao DFD que representa processamento de transaes. Uma transao uma ao atmica (indivisvel) do ponto de vista do usurio, disparada por um elemento de dados qualquer. O procedimento bsico para derivao do Diagrama de Estrutura usando a Anlise de Transao identificar a partir de qual ou quais processos as transaes so acionadas. Esse(s) processo(s), a partir do(s) qual(is) as transaes so acionadas forma(m) o centro de transao. Os processos correspondentes s aes realizadas a partir do centro de transao so as transaes.

122

comum no haver um processo no DFD a partir do qual as transaes so acionadas. Neste caso, considera-se como centro de transao o processo de nvel mais alto (no caso de um DFD nvel 0, o processo de nvel mais alto o processo que representa o sistema como um todo do Diagrama de Contexto). Os passos para derivar o Diagrama de Estrutura utilizando a Anlise de Transao so os seguintes: 1. etapa: Identificar as fontes de transaes. As fontes de transaes so identificadas a partir dos dados ou estados que permitem gerar cada transao. Geralmente, referem-se a opes que o usurio pode escolher no momento de executar o software. 2. etapa: Localizar o Centro de Transao. O centro de transao o processo ou conjunto de processos do DFD a partir do qual as transaes so acionadas. Localizar o centro de transao essencial, pois os mdulos de transao ficaro hierarquicamente subordinados ao mdulo correspondente ao centro de transao. 3. etapa: Identificar os mdulos de transao. Os mdulos de transao so aqueles que so acionados pelo centro de transao. Todos os processos do DFD que partem do processo ou dos processos que formam o centro de transao so mdulos de transao. 4. etapa: Criar o Diagrama de Estrutura. O Diagrama de Estrutura criado, colocando-se o centro de transao no primeiro nvel e os mdulos de transao no nvel seguinte. Se cada mdulo de transao for formado por mais de um processo do DFD, deve-se criar um mdulo com um nome significativo para este conjunto de processos e cada processo individualmente ser alocado no nvel seguinte ao do mdulo mais genrico da transao. Se algum processo tiver exploso em DFD de nvel mais detalhado, a mesma anlise deve ser feita para tal DFD, colocando-se os mdulos gerados no nvel seguinte ao mdulo mais genrico da transao. 5. etapa: Fatorar os mdulos de transao. Esta etapa consiste no mesmo procedimento de fatorao aplicado na estratgia de Anlise de Transformao. 6. etapa: Adicionar os vetores de dados e estados ao Diagrama de Estrutura. Esta etapa semelhante ltima etapa da estratgia de Anlise de Transformao.

123

Avaliao do projeto
A avaliao tem por objetivo medir a qualidade do projeto. Um bom projeto aquele em que os mdulos esto bem balanceados, sem sobrecarga em qualquer parte do Diagrama de Estrutura, e a ligao entre os mdulos est bem leve, de forma que haja o mnimo de passagem de parmetros em cada chamada de mdulo. A avaliao de um projeto feita com base em duas medidas: acoplamento e coeso.

Acoplamento
O acoplamento mede o grau de independncia entre os mdulos. A independncia entre os mdulos medida pela quantidade e natureza de informaes que so passadas de um mdulo para outro. O ideal que os mdulos estejam fracamente acoplados. Isto significa que um mdulo no deveria passar uma quantidade muito grande de dados para outro fazer algum processamento sobre eles. H cinco tipos de acoplamento: -Acoplamento de contedo: quando um mdulo utiliza ou modifica elementos internos de outro. -Acoplamento comum: quando dois mdulos compartilham as mesmas reas globais. -Acoplamento de controle: quando os dados de um mdulo so usados para definir a ordem de execuo das instrues do outro. -Acoplamento de imagem: quando os mdulos se comunicam atravs de item de dados composto. -Acoplamento de dados: quando os mdulos se comunicam atravs da passagem de dados como parmetro. A Figura 7.2 mostra a relao dos tipos de acoplamento. O melhor tipo de acoplamento o de dados, que o mais fraco. Isto significa que os mdulos em questo so mais independentes, pois no h interferncia de um sobre o contedo do outro.
mais forte pior
Contedo Comum Controle

melhor

mais fraco

Imagem

Dados

Figura 7.2. Tipos de acoplamento.

Coeso
A coeso mede a fora com que os elementos dentro de um mdulo esto relacionados. Em outras palavras, a coeso mede o quanto um mdulo est executando uma nica funo. Desta forma, quanto mais forte a coeso, melhor. Quanto mais coeso for o mdulo, maior ser sua singularidade de propsito.

124

H sete tipos de coeso: -Coeso funcional: cada elemento do mdulo parte necessria e essencial de uma e somente uma funo. -Coeso seqencial: os elementos do mdulo se relacionam por executarem diferentes partes de uma seqncia de operaes onde a sada de uma a entrada da seguinte. -Coeso comunicacional: os elementos do mdulo operam sobre os mesmos dados. -Coeso procedural: os elementos do mdulo so partes de um procedimento. -Coeso temporal: os elementos do mdulo esto relacionados pelo tempo. -Coeso lgica: os elementos do mdulo so orientados para executarem uma certa classe de operaes. -Coeso coincidental: os elementos do mdulo no so relacionados. A Figura 7.3 mostra a relao dos tipos de coeso. A melhor coeso a coeso funcional, que a mais forte, significando que o mdulo executa uma nica funo.
mais forte
Funcional

melhor
Seqencial Comunicacional Procedural Temporal

pior
Lgica

mais fraco
Coincidental

Figura 7.3. Tipos de Coeso.

Referncias Bibliogrficas
CONSTANTINE, l. YOURDON, E. Projeto Estruturado, Editora Campus, 1990. MARTIN, J.; McClure, C. Tcnicas Estruturadas e CASE, Makron Books, 1991. PAGE-JONES, M. Projeto Estruturado. Editora McGrawHill, 1988. PRESSMAN, R. S. Engenharia de Software,Makron Books, 3 Edio, 1995.

125

Você também pode gostar