

プログラム開発者向け仕様書の書き方
−
「読者の視点」と「製品の動作」で構成する−
| |
メーカが他社の開発技術者向けにエンドユーザ向けの製品を構成する要素(部品あるいはプログラムコンポーネント)の仕様と使い方を文書で解説する場合があります.あるいは,システムを構築・管理する技術者向けにソフトウェアの詳細な動作と使い方を文書で提供する場合があります.いずれも,先に述べた
「機能仕様書」とも「エンドユーザ向けの製品解説」とも位置付けが異なる文書です.当セクションでは,プログラム開発者向けにプログラムコンポーネントを提供する際の文書を例に
して先のエンドユーザ向け製品解説
・マニュアルあるいは機能仕様書との違いおよび表し方のポイントを解説します.
|
「プログラム開発者向け仕様書」の執筆者と読者
ここで述べる「プログラム開発者向けの仕様書」の執筆者は,アプリケーションソフトウェアを開発するのに必要なソフトウェアのパッケージ(ソフトウェア開発キット,通称SDKに類するパッケージ)を提供するメーカ
の技術者です.対して,読者はエンドユーザ向けのアプリケーションソフトウェアを開発するプログラマです.執筆者も読者もプログラム言語の知識を有する技術者です.しかし,読者は執筆者の「論理」で開発かつ命名されたプログラムコンポーネントの動作と使い方を理解し,これらを組み合わせてエンドユーザ向けの製品の機能を開発しなければなりません.
-
前述の「機能仕様書」は,これから製品を開発する技術者間で仕様を周知するための文書です.
したがって,その「主たる視点」は「(製品をともに開発する)私たち」です.同じように「仕様書」とよびますが,ここで述べる「プログラム開発者向け仕様書」とは位置付けが大きく異なります.
-
混同を避けるために,「機能仕様書」を「要件定義書」もしくは「開発仕様書」,対して「プログラマ向け開発仕様書」を「プログラム開発ガイド」とよぶメーカもあります.
執筆者が提供するプログラムコンポーネントは,主たる用途を想定して開発されていても,その組合せ方はプログラム開発者がエンドユーザ向けの製品に実装する機能によって決まります.プログラム開発者が目指すのは,プログラムコンポーネントの動作によりエンドユーザが必要とする機能をいかに実現するかです.
「エンドユーザ向け製品解説・マニュアル」と「プログラム開発者向け仕様書」の違い
“使う人”が読者という点では,両者の「主たる視点」は「あなた」です.ただし,「製品の動作」を表す際にエンドユーザ向けの製品解説・マニュアルでは「ユーザによる操作の結果」として表すのが一般的ですが,プログラマ開発者向け仕様書では「プログラムコンポーネントの定性動作」として表すのが通例です.
エンドユーザ向けの製品解説・マニュアルとプログラム開発者向けの仕様書の違いは,“ブラックボックス”の外側と
内側の違いであると言えます.プログラム開発者向けの仕様書では,ある機能を構成する際に必要な“複数の”プログラムコンポーネントの動作の関係(ブラックボックスの内側)が主たるテーマです.対して,エンドユーザ向けの製品解説・マニュアルでは,ユーザから見た“一つの”製品(いくつもの機能が集約された)の動作が主たるテーマです.
-
携帯電話のソフトウェアを開発するためのSDK(プラットフォーム,ライブラリなど)があるとします.プログラマは,複数のプログラムコンポーネントを用いて
アプリケーションプログラムを作成して機能を実現します.この際,それぞれのプログラムコンポーネントは「動作」としてとらえます.したがって,プラットフォーム上では数百あるいはそれ以上にさまざまな動作の主体によるいくつもの動作が実行されると言えます.
-
対して,エンドユーザが携帯電話を使う際,「動作の主体」は液晶画面が基本です.その他の動作の主体はいくつかのランプとスピーカにすぎません.
キーあるいはマイクは入力部であった,操作の対象です.したがって,「選択すると,液晶画面が**設定画面を表示します」とその都度とはせず,「選択すると,**設定画面が表示されます」と
受け身文で表します.

プログラムコンポーネントの「動作」の表し方
上述のように,エンドユーザ向けの製品解説・マニュアルでは,「動作の主体」となる製品は“ほぼ一つ”に集約されます.対して,プログラマ開発者向け仕様書では「動作の主体」は
多数(場合によっては数百)です.この違いから,「主たる視点」が「(“使う人”である)あなた」であっても,製品の動作の表し方が異なります.
-
たとえば,「表示」という動作を取り上げても,エンドユーザ向けの製品ではその「動作の主体」はとくに明示しなくとも製品本体です.したがって,「製品が**を**に表示します」とせず「**に**が表示されます」で済みます.一方,プログラマ開発者向け仕様書では「表示」の「動作の主体」はいくつもあります.したがって,「ABCクラスがabcを表示します」,「DEFクラスがdefを表示します」と表す必要があります.
-
しばしば,エンドユーザ向けの製品解説・マニュアルで「HIJ画面にhijが表示されます」と「HIJ画面がhijを表示します」が混じっているのを見かけます.これは,技術者がプログラム開発者向けの仕様書との位置付けの違いを考慮せず,あいまいに混用していると言えます.

整理すると,
プログラマ開発者向け仕様書では主たる視点をエンドユーザ向け製品解説およびマニュアルと同じく「あなた」とし,製品の動作を表す際は機能仕様書と同じく「製品の定性動作」で表すのが適当です.
|
文書の種類 |
主たる視点 |
製品の動作 |
|
機能仕様書 |
私たち |
ある条件(仮想のユーザの操作/事象の発生)の製品の定性動作[(製品は)-を-する] |
|
エンドユーザ向け製品解説およびマニュアル |
あなた |
操作の結果[(あなたが)すると,***が−される/-する/-になる] |
|
プログラマ向け仕様書 |
あなた |
ある条件(例:イベントの発生)でのプログラムコンポーネントの定性動作[***は-を-する] |
いずれの文書も,
段落を「人の行為」と「製品の動作」で構成する点で共通です.この際,それぞれがあいまいに混在すると「述語」が人あるいは事物のいずれを主語にしているかがあいまいになってしまいます.とりわけ,プログラマ開発者向け仕様書では,人が主語とも事物が主語ともとれる述語(例:実装)を用いる場合があります.「主語を省略せず能動文で表す」を原則とするとともに,述語に用いる動詞・助動詞を選別する必要があります.
次ページに進む(ボタンをクリックしてください)

|
|
|
実務別技術文書セミナー(出張開催形式)「わかりやすい技術文書の作成手法」は,業務で作成する機会の多い文書に応じた「コース選択式」です.各コースごとに必要な考え方・手法・ポイントを事例中心で解説します.
|
|
|
|
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
|
|
|
.
|
-
テクニカルドキュメント・ビジネスドキュメントためのテクニカルライティングセミナー
わかりやすい技術文書・ビジネス文書の作成手法
技術文書の「書き方」−共通のポイントと各種文書への応用−
Copyright:Takaaki-YAMANOUCHI/1995-2010
山之内孝明/(有)山之内総合研究所
Takaaki Yamanouchi/ Yamanouchi Research Institute,Ltd.