プログラムの動作解析

<< 目次を表示 >>

ページ位置:   >

プログラムの動作解析

 

プログラムの動作解析機能 (Visual Execution Analyzer・VEA)は、コードをモデルを連携させながら、ソフトウェア開発の構築・デバッグ・記録・プロファイル・シミュレーションなどを行うことができる強力なツール群で構成されています。Enterprise Architectは、Java・.Net・Microsoft Windows C++などの環境を中心に、さまざまなコンパイラやプラットフォームを幅広くサポートしています。

 

Enterprise Architectは、モデル化・ビルド・デバッグ・テスト・管理・プロファイリングなど、Enterprise Architectに組み込まれた動作解析の機能から実行できます。プログラムの動作解析機能 は、他のツール群を補完するために使用することもできますが、Enterprise Architectが提供するモデルやプロジェクト管理機能と密接に連携して、主要な開発IDEとして使用することで、その威力を発揮します。

 

 

利用手順:

リボン

  • コード > ソースコード > 動作解析の設定 > 動作解析の設定
  • 動作解析 > ツール > 動作解析の設定 > 動作解析の設定

キーボード

Shift+F12

 

 

プログラムの動作解析機能

項目

説明

ビルドとデバッグ

パッケージと結びつけて動作解析の設定を定義することで、コード生成・ビルド・デバッグのサイクルをEnterprise Architectで実行できます。特にJava・.Net・Microsoft C++については、VisualStudioのプロジェクトを読み込み、Enterprise Architectのモデル駆動開発環境の中で構築・デバッグを引き継ぐことができます。標準的なデバッグ機能に加えて、モデルとの強い結合やアクションポイントなどの高度なデバッグ機能を利用することで、Enterprise Architectはソフトウェアアプリケーションの設計・構築の両方を行うためのプラットフォームとしても活用できます。

シミュレーション

振る舞いモデルを実行することで、振る舞いモデルの内容を確認できます。トリガー・イベント・ガード条件・効果のようなモデルを構成する項目を参照し、ブレークポイント・シミュレーション変数を管理するツールと、実行状態を可視化する機能を組み合わせたシミュレータは、振る舞いモデルを把握し検証するための便利な道具です。

プロファイリング

ソフトウェアのパフォーマンスを解明し、実際に何が起こっているのかを知ることができます。なぜ特定のタスクの動作が悪いのか、あるいは期待よりも悪いのか、その理由を素早く把握することができます。Microsoft .NET・Native C++・Javaについて、プロファイラを使用して、ソフトウェアのライフサイクルにおけるパフォーマンスの変化を効果的に判断することができます。

動作の記録

外部のツールを必要とせず、ソースコードの実行を記録することができます。フィルタやスタックの深さの指定などの設定を調整し、記録範囲を制御できます。記録結果からは、シーケンス図や関係する内容のみのクラス図を生成できます。また、動作解析機能のテストポイント機能で使用可能なテストドメイン図を作成することもできます。

テスト

生成した内容に対するテストを支援します。テストポイントの機能で、指定した箇所での変数などの内容の判定とその結果の把握を支援します。

ワークベンチ

ワークベンチ機能を利用すると、オブジェクトワークベンチで対象のクラスを実際にインスタンス化し、そのメソッドを呼び出すことができます。ワークベンチ上のオブジェクトを他のワークベンチオブジェクトのパラメータとして渡すこともできます。

動作解析機能に関するサンプル

動作解析機能に関するいくつかのサンプルを用意しています。

 

 

プログラムの動作解析機能のメリット

動作解析機能には、Microsoft .NET・Java・Native C++・Mono・Androidなど、複数のプラットフォームに対応した統合開発・テスト環境を提供します。機能豊富なデバッガ、実行の記録とプロファイリング、テストポイントの管理などが含まれています。

 

この動作解析機能の主な目的は、シーケンス図の自動生成機能のために利用することです。また、シーケンス図を生成する際に必要となる情報からは、シーケンス図だけでなくテストポイント図やクラス図などを生成することもできます。その結果をドキュメントに出力して活用したり、プログラムの実行時の内部の動作を解析したりする際に役立ちます。その他、以下のような場面で役に立ちます。

 

 

 

操作

項目

説明

振る舞いのシミュレーション

UMLの図をシミュレーションし、設計内容が適切かどうかを確認する

  • アクティビティ図
  • ステートマシン図

動作の記録

既存のプログラム(のデバッグビルド)を実行させ、その動作結果をUMLのシーケンス図として表現します。対象の言語は以下の通りです。

  • Microsoft Windows の C++ (Visual Studioでビルドしたもの)
  • Microsoft Windows Visual Basic
  • Microsoft .NET 言語 (C++, C#, J#, VB)
  • Java
  • Mono
  • Android
  • PHP
  • C・C++ (gccあるいはg++でコンパイルしたもの・gdb serverを通してデバッグ)

プロファイリング

プロファイラを利用し、アプリケーションの動作状況の概要を把握する。対応する環境は以下の通りです。

  • Microsoft Native C, C++, Visual Basic
  • Microsoft .NET  (C#, J#, VB) (マネージド・アンマネージドの混在にも対応します。)
  • Java
  • Mono

コンソールを開く

コンソールウィンドウは、コマンドラインのインタプリタです。Linuxシェルコンソールへのターミナルウィンドウを素早く作成したり、スクリプトエンジンを有効にして、スクリプト(JScript・JavaScript・VBScript)を動作させることができます。

ワークベンチ

Enterprise Architect内で指定したクラスを作成し、そのクラスのメソッドを実行することができます。

  • クラスモデルからのオブジェクトの作成
  • メソッドの呼び出しと結果の表示
  • ワークベンチのクラス連携
  • オブジェクトをパラメータとして他のオブジェクトに渡す
  • 記録を含む完全なデバッグ機能

(参照:ワークベンチ)

xUnitのテストを実行

xUnitのテストを実行します。

ソースコードの読み込み

動作の記録機能やプロファイリング機能では、関係するソースコードを読み込み、クラス図として情報を取得することで、取得結果とモデルを連携させます。

 

 

注意:

プログラムの動作解析の機能やシーケンス図の自動生成の機能は、すべての環境・すべてのプログラムに対して動作を保証するものではありません。動作対象の環境として記載されている環境であっても、バージョンの違いや参照するライブラリの違いなど、さまざまな理由により動作しない場合があります。

正常に動作しない場合は、該当のプログラムの一式をサポートにご提供いただける場合のみ、調査をいたします。

 

 

参照: