ユースケース:構造把握

構造把握とは、ソフトウェアの構造や仕様を把握することです。
例えば、ドキュメントが残されていないソフトウェアに対して部分的な改修や不具合対応を行う場合、変更を行う前にソフトウェアの構造をソースコードから読み解かなければなりません。 目視によるソースコードの確認は、ミスが起こりやすく手間がかかります。

ここでは、Understandのソフトウェアを可視化する仕組みを用いた実践的な構造把握の方法をご紹介します。

構造把握の関連資料はこちら>>

課題

  • 他の人が書いたソースコードを理解するのに時間がかかる
  • 部分的な改修や不具合修正といったスポット対応が多い
  • ドキュメントが古いため、ソースコードを読まなければ仕様が分からない

原因

アーキテクチャ設計が適切になされていない
例:設計者以外がアーキテクチャを理解できていないため、構造を把握することが難しい

構造を理解するための材料が乏しい
例:開発担当者が頻繁に変更されるため、ドキュメント・ソースコードコメントがメンテナンスされていない

コードの可読性が低い
例:何年にも渡ってメンテナンスされたレガシーなコードである

解決策

Understandは、C/C++、Java、VB.NET、C#、Python、JavaScript、TypeScriptなどで開発されたプログラムを高速解析することができます。

Understandは、ビルド環境がなく、コンパイルできないソースコードであっても、ある程度の解析結果を得ることができます。
また、C/C++においては関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析も行うことができます。
以下にUnderstandを使った、構造把握の手順の一部をご紹介いたします。

  1. クラスの仕様を確認する
  2. 関数の処理フローを確認する
  3. 関数の呼び出し処理の流れを時系列で確認する

1.クラスの仕様を確認する

ポイント
  • クラスのメンバーや継承関係から、アーキテクチャを理解

Understandの機能

クラス図を確認
Understandでは、任意のクラスオブジェクトをUMLのクラス図を用いて表示します。

2.関数の処理フローを確認する

ポイント
  • モジュール(ディレクトリ)内の任意の関数について処理フローを確認

Understandの機能

特定の関数について処理を確認したい場合があります。このような場合は、グラフ上からControl Flowグラフを開くことで、容易に関数内の処理フローを確認することができます。

3.関数の呼び出し処理の流れを時系列で確認する

ポイント
  • モジュール(ディレクトリ)内の任意の関数について処理の流れを確認

Understandの機能

特定の関数について処理の流れを確認したい場合があります。このような場合は、グラフ上からUML Sequence Diagram グラフを開くことで、容易に関数内の処理の流れを確認することができます。

関連情報のご紹介

構造把握のユースケースについて、操作動画や関連セミナーをまとめております。
是非お役立てください。

関連資料のご案内

過去に開催したソフトウェア品質向上セミナーの講演資料をご案内します。資料は、セミナーにご登壇いただいた企業様の品質向上に関する取り組みをご紹介しています。
資料をご希望の方は、申込フォームよりお申し込みください。

東芝テック株式会社様

開発現場におけるソースコードを可視化する取り組み、東芝テックの開発工程で見えてきた作業効率化の傾向をご紹介

ソースコードを可視化する取り組みとそこから見えてきた課題、そして作業効率化の傾向を開発工程別の分析結果をご紹介いたします。

■こんな課題をお持ちの方へ
  • 複雑なソースコードの全体像が把握できず影響範囲がわからない…
  • 設計書、レビューなど情報共有用の資料作成に時間がかかる…
  • 修正した前後でどのようにロジックが変わったか手早く理解したい…

株式会社牧野フライス製作所様

牧野フライス製作所が実践した、ソフト品質改善の取り組み、開発手法の見直しとツール導入の並行運用による成功事例のご紹介

新機能追加時の不具合増加という問題に対して実践された、ソフト品質改善の取り組みと、問題収束に至るまでの事例をご紹介いたします。

■こんな課題をお持ちの方へ
  • 品質改善としてどこから手を付けて良いかわからない…
  • ドキュメントやコードのレビューを実施しているが問題が見逃されてしまう…
  • テストの抜け漏れを防止したい…

ソースコード解析ツール Understandに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
scitools-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。