2011-05-24 7 views
4

現在のクライアントアプリケーションを検証またはダウンロードするためのルーチンがあります。これは、.WSFファイルを呼び出すWindowsデスクトップショートカットから始まります。これは、複数の.VBSファイル、.INI設定、および潜在的に.BATファイルを呼び出します。これらのスクリプト文書には内部機能があります。最終段階では、Microsoft Accessデータベースが開きます。このデータベースには、VBAで独自のロードルーチンを持つフォームを含むいくつかのVBAを起動するAutoExecマクロが含まれています。プログラム間のルーチンにフローチャートまたは図を使用する

この詳細は特に重要ではありません(したがって、VBAタグを追加しないでください、または私の貴重な複雑さを批判してください)。要点は、さまざまなツールとコンテナがあり、機能的にネストされている可能性があります。

私はそれを解析するためのより良いテクニックがフローチャートで必要です。現在、私は、次のいずれかまたは全てに頼る:

  • の異なる色
  • ルーチン
  • を囲む大きな箱の古典的な「制御の転送」記号
  • おそらく説明コールアウト

フローチャートの語彙を増やすべきではないですか?チュートリアルでは、四角形、ダイヤモンド、サークルなどについて説明します。確かにFCは私がで物事のこれらの種類を扱うことができます:

  1. スクリプトタイプの過多は、私は様々なニーズにお答えすることができます、と私はツール/言語を示したいです。
  2. サブルーチンは全体的なタスクの中断やエラーを招き、上位レベルの「囲む」ルーチンによる処理(またはその結果)を表示したいことがあります。
  3. 「内部」サブルーチンと異なるスクリプトファイル内のサブルーチンを区別したいと思います。
  4. 同時スクリプト処理が重要になる可能性があるので、私は注意したいと思います。
  5. .INIファイルを使用すると、すべてのルーチンに永続的な値を与えることができます。どのようにチャート化されていますか?
  6. 関数には引数と戻り値/参照が含まれている可能性があります...実際にそれをどのように効果的に引用するかわかりません。

ガイダンスをご提供いただくか、特別なリソースを教えてください。 UMLのような解析ツールセットをお勧めする場合は、まだ紹介されていない箇所を教えてください。

私はソフトウェアに興味がありません。これをホワイトボードのエクササイズとみなしてください。

+0

私は実際に約25年間野生でのフローチャートを見ていません。私は本当にそれらをお勧めしません。 –

+0

ありがとう...おそらくあなたは私の質問への答えを持っています。 – Smandoli

+0

私はそれが何であるか分からないので、実際にはありません。コードに関する最良のドキュメントは、通常、コード自体であり、コメントとともに、それを使用する方法に関する概要文書/チュートリアルとともにあります。 –

答えて

0

フローチャートの有用性や正確性は疑問です。

精度はフローチャートの構成方法によって異なります。手動で構築されている場合は、手動で構築された他の文書と同様であり、ほとんど瞬時に古くなります。手作業で作成されたフローチャートは実際には役に立たないので、人々はコードを見るのが好きです。

[これは、ソフトウェアに興味がない(フローチャートを作成する)]というOPの要件に違反しています。なぜなら、それが何らかの有用な形式でそれらを入手する唯一の方法だと思うからです。]

適切な言語正確解析ツールでコードから派生したフローチャートの場合は正確です。例はhttp://www.semanticdesigns.com/Products/DMS/FlowAnalysis.htmlを参照してください。これらの例は意味的に正確ですが、そこにあるページは正確なセマンティクスを提供していませんが、それは単なる文書化の詳細です。

複数の言語にまたがるフローチャートと複数の「実行パラダイム」が必要な場合(OPはINIファイルが含まれていることを望んでいますが、何らかの暗黙の代入文ですが、テーブルに対して純粋な計算をする傾向があるので、フローチャートが役に立たないSQLアクションをモデル化したいと思うでしょう)。

また、このようなフローチャートが有用であるかも不明です。私が提供したページの例は、セミボンシリングでなければなりません。すべての細かい詳細を考慮すると(たとえば、各呼び出しが例外をスローする可能性があるため、すべてのサブルーチン呼び出しから発生するABORTコントロールフローアークの可能性)、これらの図は恐ろしく大きな、高速になります。ダイアグラムがスペースを消費しているという事実(ボックス、ダイヤモンド、ライン、たくさんの空白)はこれをかなりひどく悪化させます。彼らが大きくなると、文字通り円弧に沿って空間を失うことになります。繰り返しますが、人々がシステム全体のフローチャートを避けなければならない理由があります。 (テキスト言語のような人々の他の理由は、実際にはかなり密集している可能性があります。簡潔な言葉でページをたくさん得て、APLを見ることができます:)

関数が複雑なロジックを持つ場合、個々の関数

は、私はあなたがそのようなanlayzersがうまく彼らのフローチャートを構成することができ、あなたが望むすべての言語のためのフローチャートを生成言語の正確な解析器を得ようとしていること、それはそうだと思う(あなたはJavaScriptがSQLを実行しているのC#を起動したい...?)

あなたが望むものは、妥協の解決策です。参照される他の成果物へのさまざまなハイパーリンクを含むコードを表示します。そのようなハイパーリンクされたコードを生成する能力がまだ必要ですが(これがうまくいく方法ではhttp://www.semanticdesigns.com/Products/Formatters/JavaBrowser.htmlを参照)、言語境界を越えてハイパーリンクが必要です。

私は現在、それを行うツールは知りません。そして、私は、あなた自身がそのようなツールを構築するのに関心や意志を持っているのではないかと疑っています。

+0

私はOPと一致しないと指摘するかもしれませんが、素晴らしい分析です(「私はソフトウェアに興味がありません」)。それで、私はあなたが、私が尊重している、与えられた通りにOPが答えることができないと考えていると結論づけます。もちろん、私は、私がprolly興味や意欲が不足していることを実現します。私は拡大したフローチャートの語彙やより良いテクニックが私を助けてくれると思うかどうかを知ることに興味があります。お返事をありがとうございます。 – Smandoli

+0

あなたは正しいですが、私は少しこれを行うためのソフトウェアで逃げ出​​しましたが、私は私の応答の早い段階でそれを明確にしたと思いました。そのような文書の手作業は主に古い紙( "whiteboard scribbles ")ので、このパスは単に長期的には動作しません。テクニカルミーティングの目的のためにホワイトボードを描画することがあなたの*唯一の*目標であるならば、実際にはフローチャートは十分です。私が追加する唯一のものは、計算ノードからの "例外"アークで、 "これが失敗した場合、この例外アークに従ってください..."と言います。 .... –

+0

...しかし、ホワイトボードの分析が、あなたが有用な方法でモデル化したいと思われるすべての複雑さを考慮に入れているかどうかはわかりません。そして、その複雑さをすべて処理したいと思えば、私はあなたが得るのが難しいツールに戻ってきたと思います。 –

関連する問題