TOPシステム開発> 【新・言語進化論】仕様記述言語を知っていますか?> 第1回:仕様記述言語を紹介するにあたって (2/3)

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

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

第1回:仕様記述言語を紹介するにあたって

著者:シンクイット編集部

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

仕様記述言語とは?

仕様記述言語を検索してみると、「コンピュータを使ったシステム、特にソフトウェアを設計・構築する際に、その仕様を記述するために用いられる言語」ということが書かれている(「仕様記述言語 - Wikipedia」を参照のこと)。

ソフトウェア開発は、「1. 設計」「2. 実装」「3. 試験」の3つの工程から行われる。通常コンピュータ開発言語が登場するのは、「2. 実装」の工程である。設計工程においては、コンピュータ言語は登場しないのが一般的である。注意が必要なのは、「コンピュータ言語」が登場しないという部分である。ソフトウェア開発が、人間によって進められる以上、設計工程には何がしかのコミュニケーションが必要となり、「自然言語」は使われてきたのである。

あいまいさをなくすアプローチ
あいまいさをなくすアプローチ

ところで、コンピュータ言語と自然言語では何が異なるのだろうか?

コンピュータ言語は、あいまいな部分はきわめて少ない。一方で自然言語は、あいまいな部分を許容する。設計工程で自然言語が使われている以上、あいまいな部分はおのずと含まれてしまうのである。当然、このあいまいな部分を排除するための方法はいくつか存在した。

たとえば、段階的にあいまいな部分をなくすという意味で、設計工程をさらに2つに分け「1-1 基本設計」「1-2 詳細設計」とすることも、あいまいな部分を組織的になくす1つであろう。またアジャイル開発などのように繰り返し繰り返し、細かく内容を確認しながらソフトウェア開発を進める方法も、それである。重要なことは、いかにして設計工程であいまいな部分をつぶせるかに帰着するのである。

ところで、設計工程であいまいな部分を完全になくすために、自然言語を使わないアプローチはできないだろうか? 設計工程で、決定されるシステムの細かな仕様を、自然言語を利用しないで、別の「言語」を利用することによって、あいまいな部分を排除し、スムーズに実装工程につなげていくことができないだろうか?

仕様記述言語は、まさにこの発想から登場したのである。 次のページ



INDEX
第1回:仕様記述言語を紹介するにあたって
  Think ITというメディアがなぜ仕様記述言語を取り上げたのか?
仕様記述言語とは?
  仕様記述言語とプログラミング言語の違い