上世紀(jì)60年代,由于計(jì)算機(jī)計(jì)算能力和處理的問題復(fù)雜度的急速增長,爆發(fā)了眾所周知的軟件危機(jī)。為了應(yīng)對軟件危機(jī)帶來的危害,解決管理大型復(fù)雜軟件的難題,學(xué)術(shù)界與工業(yè)界共同研究并提出了許多有效的軟件開發(fā)方法。而其中影響最為深遠(yuǎn)的,分支最為龐大的方法就是結(jié)構(gòu)化方法。自1967年起就涌現(xiàn)出了許多軟件工程領(lǐng)域有關(guān)結(jié)構(gòu)化的相關(guān)概念與方法。如結(jié)構(gòu)化程序設(shè)計(jì),結(jié)構(gòu)化分析技術(shù),結(jié)構(gòu)化設(shè)計(jì)。本文將針對它們進(jìn)行介紹以及其應(yīng)用。
結(jié)構(gòu)化編程
結(jié)構(gòu)化編程(Structured programming)是上世紀(jì)60年代迪杰斯特拉,科拉多·伯姆及朱塞佩·賈可皮尼等計(jì)算機(jī)科學(xué)家所提出的。圖靈獎得主迪杰斯特拉(Edsger Wybe Dijkstra)在1968年的一篇名稱為《GOTO陳述有害論》的論文寫到:
最近我發(fā)現(xiàn)為什么使用goto語句具有災(zāi)難性的影響,而且我認(rèn)為goto語句應(yīng)該從所有的高級語言中廢除,因?yàn)樗狗治龊万?yàn)證程序正確性(特別是涉及循環(huán))的任務(wù)變得復(fù)雜?!狦o To Statement Considered Harmful Edsger W. Dijkstra
科拉多·伯姆于1966年5月在《Communications of the ACM》期刊發(fā)表論文,說明任何一個有g(shù)oto指令的程序,可以改為完全不使用goto指令的程序。下面來看一個例子,用于展示goto帶來的差可讀性。