程序??方法?

?基百科,自由的百科全?

程序??方法? 是?? 程序 的性?以及 程序?? 的理?和方法的一??科,是?究和?造程序的?程的??,是?究?于??的分析,?境的模?,?念的?取,需求定?的描述,以及把??描述???化和??成机器可以接受的表示的一般的方法。

程序??方法??展?史 [ ?? ]

?生背景 [ ?? ]

  • 1950年代?1960年代初,手工?式的程序??方法, 高德? 把程序????品。
  • 1960年代末?1970年代初,出? ?件危机 :一方面需要大量的?件系?,如 操作系? ?据?管理系? ;?一方面,?件?制周期?,可?性差,??困?。?程的重点:希望??出的程序????、易??、易修改、易??,?得到好??的程序。
  • 1968年, 北大西洋公??? (NATO)在 西德 召?了第一次 ?件工程 ??,分析了危机的局面,?究了??的根源,第一次提出了用 工程? 的?法解??件?制和生?的??,本次??可以算做是?件?展史上的一?重要的里程碑。
  • 1969年, ??信息?理?? (IFIP)成立了“程序??方法?工作?”,???究程序??方法?,程序???手工?式向工程化的方法??。

結構化程式設計的?究 [ ?? ]

  • 1968年, 結構化程式設計 方法的?究。 Dijkstra 提出了“GOTO是有害的”,希望通?程序的????的良好性保?程序的???行的正?性。
  • 1969年, Wirth 提出采用“自?向下逐步求精、分而治之”的原??行大型程序的??。其基本思想是:?欲求解的原??出?,?用科?抽象的方法,把?分解成若干相??立的小??,依次?化,直至各?小???得解??止。

“程序正?性?明”的?究 [ ?? ]

  • 1967年, Floyd 提出用“ ?言法 ”?明??程序的正?性。
  • 1969年, Hoare 在Floyd的基?上,定?了一?小?言和一???系?。此??系?含有程序公理和推???,目的在于?明程序的部分正?性,?就是著名的 Hoare?? 。他的工作? 公理??? 的?究奠定了基?。
  • 1973年,Hoare和Wirth把 PASCAL ?言的大部分公理化。
  • 1975年,一?基于公理和推???的自???系?首次出?。
  • 1979年,出?了用公理化思想定?的程序???言 Euclid
  • 1976年,Dijkstra提出了 最弱前置?? ????器 的?念,用于?行程序的正?性?明和程序的形式化推?。
  • 1980年, D.Gries ?合了以??演算?基?的?明系?,?之?“程序??科?”。首次把程序?????、技?升??科?。
  • 1974年,人?利用 模??? ?? ?行程序 的正?性。
  • ?于程序正?性?明的??:
    • ?疑和反?派,理由:首先,形式?明太??,?能?保??明本身?有???!其次,程序?好后再?明其正?性,相?于“?后?”,???已??成,?明何能?救?
    • 折中的方案:??程序,?考??明。?程序???正?性?明同??行考?。

?造正?的程序 [ ?? ]

利用Dijkstra的????器及其演算??集合,可以推?出正?的程序。

利用程序?化?造正?的程序。??程序?用一?串的保?正?性的????,最?得到可?行的程序。 程序?? 英? Program transformation 是1970年代以?,“程序??方法?”?究的重要方面,是程序??自?化?有希望的途?之一。 ??程序?? 是?一?期的最有意?的成果。如 Burstall Darlington 的??程序??系?等。

??程序?? 函?程序?? 代表一?新的?究方向。 Prolog 是以 ???? 子集 (Hoare子句)?基?的一?形式系?。Prolog的?行?程就是?行??上消解算法的?程。

抽象?据?型的?究 [ ?? ]

抽象?据?型 是程序??方法?中一???重要的方法。人?把???程序??方法??展史上的一?重要的里程碑。

?究的?容 [ ?? ]

??件工程的?系 [ ?? ]

?究方法的不同 [ ?? ]

?件工程 主要?用工程的方法和技??究?件?????的方法、工具和管理的一??算机科??工程?交叉的?科 程序??方法?主要?用??方法?究程序的性?以及程序??的理?和方法的?科;

?究的?象不同 [ ?? ]

?件工程的?究?象是?件系?。目?是降低?件的??成本,提高?件的?量,提高?件的可??性,提高?件??的效率。着重于?件的宏?可用性。程序??方法??究?象是程序。目?是保?程序的正?性。着重于程序的微?正?性。?件工程?程序??方法?的界限?得越?越模糊 程序??方法?是?件工程的基?。