Chamadas de fluxograma e método


11

Estou fazendo alguns fluxogramas e estou me perguntando se estou abordando isso corretamente. Em essência, tenho várias chamadas de método e estou fazendo um fluxograma de cada uma separadamente. No entanto, vários desses métodos chamam um método para obter algumas informações e, em seguida, continuam. Veja este exemplo:

insira a descrição da imagem aqui

Eu tenho três outros métodos que também chamam GetQueue () e estou me perguntando se estou representando isso corretamente. O fluxo AddQueue () visualmente parece que está quebrado.

NOTA: Alterações feitas no meu fluxograma:

insira a descrição da imagem aqui


Esse nível de detalhe pictórico é realmente necessário? Eu sei que, ao mesmo tempo, fluxogramas como esse eram populares, mas hoje parecem desvalorizados por muitas razões ... Essencialmente, são uma forma redundante de documentação; você deve mantê-los atualizados e o código já deve representar adequadamente o que é mostrado no fluxograma de qualquer maneira (o que significa: é melhor gastar o tempo produzindo mais código).
Robert Harvey

Foi solicitado antes de eu passar para outro cliente.
Keith Barrows

@ Robert Harvey: Os fluxogramas eram úteis antigamente, quando as pessoas escreviam códigos de máquinas ou montadoras diretamente. Eles podem ter sido úteis para os primeiros programadores do FORTRAN e do BASIC, que não tinham uma boa variedade de estruturas de controle. Hoje em dia, bem, a única razão pela qual eu os faria é se um cliente os quisesse como entrega e estivesse disposto a me pagar adequadamente.
David Thornley 12/05

Ao desenvolvê-los do zero, achei muito útil usar adesivos amarelos, girando os 90 graus para decisões. Isso permite movê-los e inserir processos entre eles. Quando todos estiverem donos, insira-os no seu software.
Michael Riley - AKA Gunny

Eu ainda uso fluxogramas ocasionalmente, apesar de achar que o teste de unidade geralmente é melhor para o mesmo objetivo. Eles não são entregas, no entanto; Eu os uso para obter um fluxo de controle direto na minha cabeça.
Michael K

Respostas:



2

Recentemente, fiz alguns gráficos de fluxo e lutei com o mesmo problema, como apresentar chamadas de sub-rotina, ou talvez chamadas de método e função, como você pode chamá-las atualmente.

Eu estabeleci uma convenção que separo as sub-rotinas CHAMADAS das sub-rotinas REFERENCES. Para o primeiro, uso um retângulo comum que mostra a chamada com argumentos sendo feitos, usando as variáveis ​​que estão em vigor naquele momento na execução do programa.

Eu uso o retângulo de "processo predefinido" duplamente lados simplesmente como referência a outro fluxograma que contém a definição dessa função ou sub-rotina. O retângulo da sub-rotina não precisa mostrar os argumentos da sub-rotina, uma vez que isso faz parte do fluxograma de definição da sub-rotina em questão, mas pode ser útil adicioná-los já na referência para que quem o ler possa veja o significado dos argumentos reais usados ​​em uma chamada.

Isso aumenta o número de retângulos, mas torna mais claro que esses outros fluxogramas existem para procurar a definição de algumas das funções chamadas. Frequentemente, se uma função é simples, não criarei um diagrama separado para ela, mas apenas a documento verbalmente.

Também uso o símbolo "documento" para dizer que os detalhes devem ser consultados na listagem de códigos.

O objetivo de um fluxograma para mim não é criar um programa, mas facilitar a compreensão de um programa por outras pessoas. Eu acho que a ajuda como uma visão panorâmica e que o objetivo deles deve ser lembrado. Eles não são para descrever visualmente TODOS os detalhes do seu programa, os detalhes são visíveis no código quando necessário. O fluxograma é apenas uma imagem do seu programa do ponto de vista de alto nível.

Manter os fluxogramas em alto nível também significa que há menos necessidade de mantê-los atualizados à medida que o código é modificado.

São fotos. Como qualquer boa documentação de software de história, também deve haver imagens que dêem um ponto de vista alternativo ao código.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.