TOPシステム開発> 【新・言語進化論】仕様記述言語を知っていますか?> 第4回:Z言語とVDM-SLの違いとその効果 (3/3)

【新・言語進化論】仕様記述言語を知っていますか?

【新・言語進化論】仕様記述言語を知っていますか?

第4回:Z言語とVDM-SLの違いとその効果

著者:NTTデータ 山本 修一郎

公開日:2007/11/28(水)

仕様記述言語とコミュニケーション

フェリカネットワークスの栗田氏によれば、従来の開発手法では「適当に書かれた仕様に基づいて適当にレビューして、開発して適当に試験していた」ためにいくらレビューやテストをしてもその「正しさ」が判断できない曖昧な状況だったという。このため現場の担当者のストレスは大変なものがあった。

これに対して仕様記述言語を用いたことで、「明確な仕様記述に基づいて、論理的なレビューを実施でき、仕様記述に基づいて明確なテスト仕様を作成し、テストを実施することができるようになった」ため、従来のような曖昧な状況が生じなくなったとのことだ。これにより、客観的に仕様の問題点を摘出しやすくなるだけでなく、現場の担当者のストレスも減少したということである。

これは、仕様記述言語を開発者の共通言語とすることでコミュニケーションを改善できた好事例である。成功した理由として、仕様記述の読み書きのしやすさの問題とも関係するが、自然言語による表現や問題領域の知識の表現と仕様記述内容との対応関係を明確にしておくことが大切であることがあげられる。

仕様記述言語の効果と留意点
  • 記述のガイドラインと仕様の意味を理解する経験が必要
  • バグ取りに効果を発揮
  • 従来のテストを仕様検証にすべて置き換えられるわけではない
  • 仕様記述言語を開発者の共通言語とすることで曖昧さを排除できる
  • 仕様記述の専門家による知識の可視化と再利用
  • 仕様記述言語は、どのような機能を作成すべきかという「What」を定義するもの
  • その機能がなぜ必要かというような「Why」は別の視点が必要

仕様記述言語と再利用

組み込み開発などでは、明確な仕様書があるのではなく、作っては直し、作っては直しの繰り返しで開発していることが多い。また、この過程でようやく業務知識が担当者に身についてきたとしても、今度はその内容を他の人に引き継げるかというと、それも仕様がないから難しいという現状がある。

もし現場の担当者の業務知識を仕様記述することで、知識の可視化を可能にすることができれば、組込み開発現場での知識の再利用が進むだけでなく、仕様が明確になるのでテストも容易化できるようになるだろう。

しかし、仕様記述言語を用いて業務知識や開発対象システムを現場の担当者だけで記述できるかといえばなかなか難しいかもしれない。そこで仕様記述の専門家が、現場の担当者がどのようなシステムを開発しているかを聞きながら仕様記述することで、現場の業務知識の明確化を進めていくのが現実的なやり方になると思われる。また現場の担当者も専門家とコラボレーションする過程で自分たちの業務知識の曖昧さや常識を疑うことで結果的に仕様記述の質を向上できる可能性がある。

HowとWhatとWhy

プログラム言語では機能をどのように実現するかという「How」を記述するのに対して、仕様記述言語ではどのような機能を作成すべきかという「What」を明確に定義する。

しかし、その機能がなぜ必要か、どのような特性を持つべきかというような「Why」を記述することはできない。したがって、仕様記述言語によって記述された仕様がよいかどうかを判断するためには、システム開発の目標という別の視点が必要となる。これらの目標は、セキュリティや性能、操作性などの非機能要求によって定義する必要がある。

まとめ

今回は、Z言語とVDM-SLの基本的なデータ型や言語の違いを比較した。また仕様記述言語の適用上の留意点を紹介した。現場レベルで仕様記述言語の効果を実感したプロジェクトが出はじめたことは素晴らしい。

しかし、まだ課題も多いのが実情だ。例えば、AADL(Architecture Analysis & Design Language)などのアーキテクチャ記述言語と仕様記述言語の併用の課題があげられる。これらの課題を1つずつ解決していき、今後もこの分野における技術開発を後押ししていきたい。また、技術開発がソフトウェア開発手法の今後の発展に寄与してくれることを期待しつつ、筆を置くこととする。 タイトルへ戻る




株式会社NTTデータ 山本 修一郎
著者プロフィール
株式会社NTTデータ 山本 修一郎
フェロー プリンシパルR&Dスペシャリスト 技術開発本部 システム科学研究所 所長
1979年日本電信電話公社入社、2002年NTTデータへ転籍、2007年4月NTTデータ 初代フェロー、技術開発本部システム科学研究所所長に就任。ソフトウェア工学、要求工学、Webデータベース連携、ICカードプラットフォーム、ユビキタスコンピューティング等の研究開発に従事し、最近は知識創造デザイン技術やサービスイノベーションの研究にも取組んでいる。


INDEX
第4回:Z言語とVDM-SLの違いとその効果
  Z言語とVDM-SLの特徴と仕様記述言語の効果を探る
  Z言語とVDM-SLの振る舞い記述の違い
仕様記述言語とコミュニケーション