|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ 段 : [だん] 【名詞】 1. step 2. stair 3. flight of steps 4. grade 5. rank 6. level ・ 段階 : [だんかい] 【名詞】 1. gradation 2. grade 3. stage ・ 階 : [かい] 1. (n,n-suf) -floor (counter) 2. stories 3. storeys ・ 的 : [まと, てき] 【名詞】 1. mark 2. target ・ 詳細 : [しょうさい] 1. (adj-na,n) detail 2. particulars ・ 化 : [か] (suf) action of making something ・ 法 : [ほう] 1. (n,n-suf) Act (law: the X Act)
ソフトウェア工学における段階的詳細化法(だんかいてきしょうさいかほう、)とは、大まかなプログラム開発方針を基に、意思決定の確度に応じて段階的にその仕様の策定および策定された機能の分解を繰り返すことでソフトウェアを開発してゆく手法を言う。 プログラミング言語のPascalの開発者であるニクラウス・ヴィルトを中心に提唱された〔Wirth(1971) このような開発手法に「段階的詳細化法(stepwise refinement)」という名称を与えたのはヴィルトであるが、この手法自体は、ソフトウェア開発以外の長い歴史をもつ場では誰かが強く主張するまでもなく、経験的に用いられる普遍的なものである。〕。エドガー・ダイクストラらの構造化プログラミングにおいては基本となる開発手法である。 == 概要 == プログラムが書かれたテキスト(コード)の構造は一般に多様なものであるが、ふつう文章というものは上から下(左から右)に読めるように書かれるものであるのと同様に、上から下(左から右)の順に実行されるプログラムである順序的プログラム(sequential program)〔構造化プログラミング(1975) p.51〕に限定すれば、(順序的)プログラムとは、単純に表せば、 # データを入力(input)して、 # 操作(manipulation)をして、 # 結果を出力(output)するもの である。つまりは、(順序的)プログラムのテキストは次のように三つの作用に分解できる構造(structure)〔一入力一出力の制御構造と呼ばれることもある。落水(1993) p.14〕を持つ。 したがって、(順序的プログラムの)プログラミングとは、次の大雑把な(詳細を無視した)表現からなるもの〔ここでは仕様であっても良いしプログラムそのものと見ても良い。ここでの(仕様が固まっていないような状態での)、仕様とプログラムの境界線は曖昧である。〕 : input ; manipulate ; output の『;』の区切り文字で分割された3つの作用のそれぞれを具体化、洗練もとい詳細化(refinement)することとなる〔ただし、プログラムによっては入力(input)または出力(output)は無いこともある。ホーアは、公理と推論規則から導かれるものである状態を正確に表す表明(assertion)という用語を用いて :入力またはそのプログラムが実行される直前に満足されるべき状態の表明である事前条件(precondition)と、 :出力またはそのプログラムが実行された直後に満足されるべき状態の表明である事後条件(postcondition) と呼ばれる概念を導入し、3つの作用からなる構造化されたプログラムの仕様、または仕様付きプログラムを :P Q : *ここで P : 事前条件、 Q : 事後条件 とする。 と記述し、プログラムの公理的意味論を提唱した。〕。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「段階的詳細化法」の詳細全文を読む スポンサード リンク
|