ソフトウェアの視覚化とは何ですか?
ソフトウェアの視覚化は、ソフトウェアアプリケーションの開発とテスト中に、プログラムまたは統合開発環境(IDE)プラグインを使用する行為です。これにより、プログラム内に問題や非効率性があるかどうかを判断するために、ソフトウェアの何らかの側面のグラフィカルな表現を作成できます。ソフトウェアの視覚化手法には多くの種類がありますが、最も一般的には、プログラムソースコードの詳細を確認したり、ソフトウェアコンポーネント間の関係を調べたり、周囲のプロセスとの相互作用についての情報を含むプログラムの実行方法の抽象化された見解を視聴するために使用されます。一般に、ソフトウェアの視覚化は複雑なシステムで使用され、通常の動作やリソースの使用を発見したり、不必要なデザインまたは誤動作の領域を確認したりします。使用される実際の視覚表現は、相互接続されたテキストのブロックから2次元まで大きく異なります(2d)プログラムが実行されるにつれて形状を変更する3次元(3D)オブジェクトを詳しく説明する棒グラフ。着色と抽象化を使用することで、大量の書面によるコードを一度に表示できます。意図は、どの目的で使用されるか、あるいは交互に、ディスプレイを実行するのに長い時間がかかるか、頻繁に実行されるコードのブロックを強調するプロファイラーまたはデバッガーにバインドできるかを決定することです。
オブジェクト指向プログラミング言語は、ソフトウェアの視覚化を使用して、プログラム内のさまざまなライブラリ、クラス、メソッド間の関係を決定できます。これにより、プログラムのさまざまな領域間の依存関係を判断するのに役立ちますが、その一部は意図的ではない可能性があります。また、決して呼ばれないプログラムにクラスまたはメソッドを表示することもできます。プログラムロジックにより、到達不能になります。視覚的には、依存関係または関係チャートは、ウェブやラインのネットワーク、異なるサイズの球体、またはツリーの枝さえも重複するように見えることができます。
プログラムが実行されると、リアルタイムソフトウェアの視覚化は、プログラムの実行方法、異なるキューの処理方法、および入力と出力がどのように流れるかについての抽象的な表現を示すことができます。これは、開発者が非常に高い活動を受けているパフォーマンスや領域のスパイクやギャップを見るのに役立ちます。これらのタイプの視覚化は、動いている色のブロックや波形から、実行されているコードセグメントを表す変化する地形マップまで、ほぼすべてのように見えます。ただし、一般に、視覚化はかなり基本的に保たれているため、異常なイベントは、過度のグラフィカルな混乱なしにはっきりと見られ、観察されます。
ソフトウェアの視覚化には他のアプリケーションがあり、その1つはアプリケーションのリバースエンジニアリングです。どのようにプログラムを観察することによってMは相互作用して実行されており、コードのさまざまなセグメントが、急な初期学習曲線を必要とせずに焦点を合わせることができます。もう1つの具体的な使用は、コンピューターセキュリティの領域内で、プログラムのどの領域が外部プロセスと相互作用しているか、どの領域が攻撃を受けているかを観察することです。