このページの本文へ

ここから本文

2024年度 三菱電機ソフトウエア技術レポート
(コラム)

改訂箇所検出ツール

画像解析を使って
仕様書などの改訂箇所を自動抽出
ドキュメント管理の品質・生産性を改善

ソフトウェアのバージョンアップでは、ソフト本体の変更に合わせてマニュアルなどの関連ドキュメントの内容もアップデートされます。この時、ドキュメントの改訂履歴を漏れなく記載しておくことが、スムーズな導入や誤操作の防止のために重要です。三菱電機ソフトウエア株式会社(MESW)では、独自の画像解析技術を用いたツールを使って、新旧のドキュメントの差異を検出、改訂履歴への記載漏れを防止しています。

  • ■福嶋 雅仁(フクシマ マサヒト)

    1992年入社。主に社会インフラシステム系の開発に従事。現在、ITシステム事業統括部 湘南事業所 ITシステム第二部 システム一課 課長

重要なソフトウェアの
関連ドキュメントの改訂履歴管理

ソフトウェア製品では、マニュアルをはじめとする関連ドキュメントもプロダクトの重要な一部です。ソフトウェアのバージョンアップでは、ソフト本体の変更に合わせて、マニュアルや仕様書などの関連ドキュメントの内容も更新します。この際、ドキュメントの改訂履歴を漏れなく記載しておくことは、導入現場におけるスムーズなバージョン移行や、誤操作による事故防止のための重要な作業となります。特に、規模の大きなソフトウェアでは、ドキュメントの文字量も多くなります。また、人命に関わる装置のソフトウェアでは、より厳格なドキュメント管理が求められます。

「MESWでは、社会インフラ系システムのソフトウェアを三菱電機株式会社からの委託を受けて開発しています。運行状況の管理を支援するために動体の識別情報、位置、移動方向、速度や安全な運行のための多くの情報を表示サービスします。このシステムのソフトウェアや関連ドキュメントファイル数、ページ数は多いため、変更管理の難しさも高まります。」(福嶋氏)

ドキュメントには、変更点をまとめた改訂履歴が掲載されます。ドキュメントの改訂履歴を漏れなく掲載することがとても重要だといいます。

「ソフトウェアがバージョンアップしたときには、ドキュメントのどのページのどこが変わったかを、お客様にきちんと伝えなければなりません。システムは複数拠点で利用され、拠点ごとに使われているシステムのバージョンが異なるため、バージョンによる違いを示す改訂履歴は重要です。お客様が機能の追加や変更に気づかなかったり、まだ実装されていない機能がドキュメントに載っていたりすると、重大なトラブルを招く恐れがあります」(福嶋氏)

しかし、実際の業務においてドキュメントの改訂箇所を漏れなく抽出し、それを確認するのは容易ではありません。

「開発には多くのメンバーが関わっており、一つのドキュメントには多くの人の手が加わります。人間のやることですから、どうしても改訂履歴を記録漏れや、履歴には記載されているのに本文は改訂されていないといったことが起こります」(福嶋氏)

改訂履歴が正しく記載されているかどうかの確認は、ドキュメントの構成管理をしているグループが担当しています。しかし従来の目視による検査では、大量のドキュメントをチェックするには限界がありました。

「私は技術統括チームという各開発チームの抱える課題の解決を支援するチームに属しており、この問題を解決するために、改訂箇所を人手ではなくソフトウェアで自動検出して克服することとしました。」(福嶋氏)

新旧のドキュメントをフォルダに
入れるだけで改訂箇所を自動抽出

改訂箇所の自動検出ツールの利用法はとてもシンプルです。改訂前と改訂後のドキュメントファイルをそれぞれのフォルダに入れてツールを起動すると、新旧ドキュメントの内容を比較し、差異がある部分を抽出してレポートします。

レポートでは、テキストによるリストと、差異が見つかった部分をマークした画像が提供されます。従来は担当者が二つのドキュメントを画面上に並べて目視で比較していました。このツールを導入してからは、ツールが抽出した部分を人間が確認するだけでチェックが終わるようになりました。

「三菱電機グループ全体での品質向上の取り組みに“契約どおりの(全数)検査”、“検査に人間が介在しない”という方針があります。改訂箇所検出ツールは、その両方に対応するものです。ドキュメントの量が多い場合には、データ変換からレポートの出力までに数時間かかることもありますが、夜間に実行すれば実質的な待ち時間はありません。例えば、目視で行っていた時は検査に3日間くらいかかり、担当者の負担も大きかったものが、ツールの導入により確認にかかる時間は大幅に短くなり、見落としもなくなりました」(福嶋氏)

ツールはまず処理対象のMicrosoft Word (以下、Word)などのドキュメントファイルをAdobe PDF(以下、PDF)に変換します。次にPDFの全ページを個別の画像ファイルとして書き出し、この画像に独自の画像解析を行うことで改訂箇所を検出します。

「元のドキュメントファイルを比較するのではなく、PDFファイルを経由するのは、お客様への納品がPDFファイルで行われるためです。WordなどのMicrosoft Office(以下、Office)ファイルからPDFへ変換したときに、レイアウトが変わってしまうことがあります。このため最終的な形態であるPDFを表示した際の画像イメージでチェックします」(福嶋氏)

二つのファイルの差異を見つける機能を持ったソフトウェアも存在しますが、今回の用途には適していなかったと話します。

「例えばドキュメント内に新しい図が挿入された場合、Wordはそれに続く図の番号を自動的に振り直します。一般的なファイル比較ツールでは、Wordが自動更新した図番号を差異として検出してしまいます。また、図番号の更新は改訂履歴の対象となりません。私たちの見つけたい差異だけを検出するためには、独自のツールが不可欠でした」(福嶋氏)

独自の画像解析手法で
抽出したい変更だけを検出

改訂箇所の自動検出ツールでは、抽出したい差異だけを検出するために、独自の画像解析手法が使われています。

この手法では、画像を四角いブロックに分割して、それぞれのブロックに含まれる画素を平滑化します。平滑化とは、画像をぼかし、解像度を下げるような処理です。

こうすると図番号が変わった程度の小さな画像の違いは圧縮されて消失、あるいは目立たなくなります。この処理を行った後に画像を比較することで、比較的大きな変化があった部分だけを抽出することができます。分割するブロックのサイズや検出のしきい値などを調整することで、改訂履歴への掲載対象となる部分だけを抽出することが可能になりました。

「今回開発したツールの最大のポイントは、テキストの変更を画像処理で検出するというアイデアです。仕様書やマニュアルなどのドキュメントは、使用するフォントや文字サイズ、行間などのフォーマットがきちんと決められているため、このような処理で変更箇所の抽出が可能になります。私たちには、ソフトウェアの画面表示の検証作業を自動化するなどの目的で、こうした画像の差異を抽出するノウハウやライブラリーの蓄積がありました。今回のツールはそうした背景があって実現したものです」(福嶋氏)

改善活動の一環として
隙間時間でツールを開発

改訂箇所の自動検出ツールの開発は、福嶋氏が行いました。

「このツールは、社内で行っている“品質改善計画”という活動の中で作りました。これは正規の開発業務の合間に生産性や品質の改善に取り組むものです。

業務の合間での開発ですから、一度にまとまった時間をとることは難しく、毎日1時間程度の作業で40日くらいかけて開発しました。特に時間がかかったのは、差異を検出するチューニングの部分です。私たちの部署には、この活動で作られたプログラムのライブラリーが多数あり、それが財産となっています」(福嶋氏)

MESWでは、今回のような内製のツールを使った社内業務の自動化や生産性改善が様々な場所で行われています。

「総務や経理などのスタッフ部門では、コーディングが不要な自動化ツール(RPA:Robotic Process Automation)を用いて作業の効率化を行っています。私たちもその使い方のサポートを行ったり、コーディングが必要な場合にはプログラムを書いたりする活動を行っています」(福嶋氏)

福嶋氏は、エンジニアとしてのやりがいについて以下のように語ります。

「私がプログラミングを覚えたのは入社してからです。年齢的に、エンジニアとして育ててくれた会社に最後の奉公をして終わりたいという思いがあります。改訂箇所の自動検出ツールは、品質管理の改善という面で貢献できたのではないかと感じています。今回のような大量のドキュメントの全数検査など、人間ができない、もしくは諦めてしまうような課題を、ITで解決できたときに喜びを感じます」

また、ソフトウェア開発には、ハードウエアとは異なる魅力があると話します。

「ソフトウェアは原材料コストを掛けず課題解決することができます。パソコン一台あれば、あとは自分のアイデアと技術次第で大きな価値を産み出せるのが大きな魅力です。今後は、ここ数年研究してきたAI(人工知能)を使って将来予測をするようなプログラムにも取り組んでみたいと考えています」(福嶋氏)

商標について

  • ・Adobe、Adobe Reader、Acrobat、Adobe PDFは、
    Adobe Systems Incorporated(アドビシステムズ社)の米国および他の国における商標または登録商標です。
  • ・Microsoft Wordは、米国Microsoft Corporationの商品名称です。
  • ・Microsoft Officeは、米国Microsoft Corporationの商品名称です。