最新情報

最新情報NEWS & TOPICS

IBM iユーザが抱える課題解決のヒント④:DCR X-Analysis News<007>

株式会社第一コンピュータリソース            2017.09.20
■□■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       DCR X-Analysis メールマガジン NO <007>
第2回  ユーザが抱える課題解決のヒント④ ソフトウエアメトリクス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■□■
        ◆◇◆ DCR X-Analysis News ◆◇◆
DCR X-Analysis NEWSをご愛読いただき、誠にありがとうございます。

前回までのメールマガジンではIBM i ユーザ様が抱える課題解決のヒントに
ついて、その要素の 一つである「測定」の概要について記載させていただき
ました。 本号は、その「測定」手法の一つ「ソフトウエアメトリクス」に
ついて述べさせていただきます。

■ソフトウエアメトリクスとは?
 広義では、「ソフトウェアの品質を数値化して確かめる」こととされ、
 ソフトウェア開発をさまざまな視点から定量的に評価したものです。
 本メルマガでは、狭義として「サイクロマティックコンプレクス(循環的
 複雑度)」をご紹介 したいと思います。

■サイクロマティックコンプレクス(循環的複雑度)とは?
 プログラム内の経路の数を数値化するもので、Thomas J. McCabeに
 よって1976年に考案され ました。 例えば、ソースコード内に条件が
 1つのIFxx文のような決定論理が1つある場合、IFxx文が 真の場合と
 IFxx文が偽の場合があり、独立したパスは2つとなります。
 RPGにおいては、下記の命令が対象となると考えます。
  ①IFxx
  ②ELSE
  ③DOxxx
  ④GOTO
  ⑤CABxx
  ⑥WHxx
  ⑦CASxx
  ⑧FOR
  ⑨LEAVE
  ⑩LEAVESR
  ⑪ITER
  ⑫RETURN

■循環的複雑度の重要性
 循環的複雑度が高くなると、プログラムは複雑になります。
 循環的複雑度を計測し、低く保つことで、プログラムの可読性、保守性、
 移植性は高まります。また、テストに必要なテストパターンの数も減る
 ため、カバレッジも上げることができます。更にオープンシステムへの
 移行においても、可読性と移植性の向上は非常に有効であるため、将来
 的な移行のために日頃複雑度を下げる努力を行うことで、移行コストと
 リスクの軽減に繋がります。

■循環的複雑度の改善方法
 大規模なシステム改変無く、循環的複雑度を低減するには、プログラムの
 仕様を変更せず、コードの内部構造を改善することで実現できます。
 例えば、複数回現れる処理や深い条件文のネスト構造を外部コンポーネン
 ト化し整理することで複雑度は軽減されます。このように循環的複雑度を
 高くしているプログラム箇所を見つけて改善することにより、コードの
 品質向上が見込まれます。

■次回予告
 次回(2017/10/4号)は、「ソフトウエアサイエンス」について
 述べさせていただきます。

■□■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
第28回ISUC 2017 別府大会にてX-Analysisの展示を行います。
    開催日程:2017年11月15日~17日
詳細はこちらまで→ https://www.uken.or.jp/isuc/isuc28/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■□■

PAGE TOP
システムソリューション
プロダクトソリューション
グローバルソリューション
企業情報
採用情報