Share to: share facebook share twitter share wa share telegram print page

 

プログラム仕様

プログラム仕様(プログラムしよう、: Program specification)は、プログラムに求められることを定義したものである。プログラムの設計図や開発者から見たユーザーマニュアルの元となる文書のような「非形式的」な形態の場合と、数学的に厳密に動作を定義する「形式的」な形態の場合がある。実際、最もよい仕様は既存のアプリケーションを理解して改善するために書かれたものであることが多いが、重要なソフトウェアは開発前に注意深く仕様を記述する必要がある。仕様は特に常に安定性が求められる外部インタフェースでは重要である。

古典的な分類

ウォーターフォール・モデルなどの古典的開発手法では、以下のようにプログラム仕様を分け、トップダウン的に作成していく。

  • 基本仕様(Basic specification)は、要求仕様に基づいて、機能概要、機能構成、ハードウェア構成、運用の前提条件、性能や品質の要件などを記述する。最近では、要求分析でかなり詳細な要求仕様が作成されるため、基本仕様という形態では文書を作成しないこともある。
  • 機能仕様(Functional specification)は、ソフトウェア開発においてプログラムや大規模なソフトウェアシステムの動作を記述した一連の文書を指す。これら文書は、主にソフトウェアが受け付けるべき入力を列挙し、それら入力に対してそのシステムがどのように動作するかを記述する。
  • 詳細仕様(Detail specification)は、具体的なコードの実装を説明する文書である。技術仕様とも呼ばれる。採用する開発手法によってはソースコードドキュメンテーションとしてソースファイル内に詳細仕様を記述することもある。例えばエクストリーム・プログラミングでは、このような仕様を独立した文書として書くことはない。

以下では機能仕様について解説する。

外部エージェントとシステムの相互作用

ソースコード技術設計文書とは異なり、機能仕様ではシステムの内部の動きがどうなるかを定義しないことが多い。その代わりに外部の各種エージェント(ユーザー、周辺機器、他のコンピュータなど)から見たそのシステムの振る舞いや相互作用を記述する。

例えば、次のように記述される:

ユーザーがOKボタンをクリックした場合、ダイアログが閉じられ、フォーカスはダイアログが開かれる以前の状態でのメインウィンドウに戻る。

このように、外部エージェント(この場合ユーザー)とソフトウェアシステムの相互作用を記述する。ユーザーがOKボタンをクリックするという入力を与えたとき、プログラムはそのダイアログを閉じるという形でそれに応答する。

機能仕様の役割

機能仕様には様々な目的があるが、主な目的はソースコードテストケース作成という時間のかかる作業に入る前に開発チーム内でプログラムの機能について意識を合わせることである。

機能仕様は、コード作成やテストケース作成にあたって参照される。例えば、ソフトウェアテストでテスト結果が正しいかどうかは機能仕様の記述に照らし合わせて判断される。

関連項目

外部リンク

Kembali kehalaman sebelumnya


Index: pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve 
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9