| 此條目
?有列出任何
?考或?源
。
(
2022年12月31日
)
維基百科所有的內容都應該
可供?證
。??助補充
可??源
以
改善?篇?目
。无法??的內容可能會因?異議提出而被移除。
|
程序??方法?
是??
程序
的性?以及
程序??
的理?和方法的一??科,是?究和?造程序的?程的??,是?究?于??的分析,?境的模?,?念的?取,需求定?的描述,以及把??描述???化和??成机器可以接受的表示的一般的方法。
程序??方法??展?史
[
??
]
?生背景
[
??
]
- 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的????器及其演算??集合,可以推?出正?的程序。
利用程序?化?造正?的程序。??程序?用一?串的保?正?性的????,最?得到可?行的程序。
程序??
是1970年代以?,“程序??方法?”?究的重要方面,是程序??自?化?有希望的途?之一。
??程序??
是?一?期的最有意?的成果。如
Burstall
和
Darlington
的??程序??系?等。
??程序??
和
函?程序??
代表一?新的?究方向。
Prolog
是以
????
的
子集
(Hoare子句)?基?的一?形式系?。Prolog的?行?程就是?行??上消解算法的?程。
抽象?据?型的?究
[
??
]
抽象?据?型
是程序??方法?中一???重要的方法。人?把???程序??方法??展史上的一?重要的里程碑。
?究的?容
[
??
]
??件工程的?系
[
??
]
?究方法的不同
[
??
]
?件工程
主要?用工程的方法和技??究?件?????的方法、工具和管理的一??算机科??工程?交叉的?科
程序??方法?主要?用??方法?究程序的性?以及程序??的理?和方法的?科;
?究的?象不同
[
??
]
?件工程的?究?象是?件系?。目?是降低?件的??成本,提高?件的?量,提高?件的可??性,提高?件??的效率。着重于?件的宏?可用性。程序??方法??究?象是程序。目?是保?程序的正?性。着重于程序的微?正?性。?件工程?程序??方法?的界限?得越?越模糊
程序??方法?是?件工程的基?。