摘要:編程之精髓在于編程思想,而不同的編程方法有不同的編程思想。結(jié)構(gòu)化程序設(shè)計(jì)方法一直以來(lái)都是編程人員基本的編程方法,而近年來(lái)流行的面向?qū)ο蠓椒ㄒ矀涫苋藗兦嗖A。文章通過(guò)介紹編程世界的這兩種主要編程方法,結(jié)構(gòu)化方法和面向?qū)ο蠓椒ǖ姆治觥⒃O(shè)計(jì)和應(yīng)用。并在最后對(duì)兩種方法進(jìn)行比較分析,比較結(jié)構(gòu)化方法和面向?qū)ο蠓椒ň幊趟枷氲漠愅蛢煞N方法的應(yīng)用。
關(guān)鍵詞:結(jié)構(gòu)化方法;面向?qū)ο蠓椒?;編程思想;再抽象;再模塊化;
0 前言
結(jié)構(gòu)化方法和面向?qū)ο蠓椒ㄊ钱?dāng)前軟件開(kāi)發(fā)最常用的方法。基于“瀑布模型”的軟件開(kāi)發(fā)方法中,以軟件架構(gòu)為核心,采用結(jié)構(gòu)化設(shè)計(jì)和分析方法將軟件開(kāi)發(fā)的生命周期劃分為制定計(jì)劃、需求分析、軟件設(shè)計(jì)、程序編寫(xiě)、軟件測(cè)試和運(yùn)行維護(hù)六個(gè)基本階段。而在通過(guò)迭代式和增量式進(jìn)行開(kāi)發(fā)的敏捷軟件開(kāi)發(fā)方法中,主要采用面向?qū)ο蟮脑O(shè)計(jì)和分析方法。結(jié)構(gòu)化方法與面向?qū)ο蠓椒ǖ氖褂?,與具體的開(kāi)發(fā)環(huán)境和開(kāi)發(fā)方法有關(guān),如傳統(tǒng)軟件工程中更適合用結(jié)構(gòu)化方法,而敏捷軟件開(kāi)發(fā)方法中面向?qū)ο箝_(kāi)發(fā)方法更受青睞。
1 結(jié)構(gòu)化方法
結(jié)構(gòu)化編程思想由艾慈格·迪杰斯特拉在1976年在《GOTO陳述有害論》中提出,1975年賴(lài)瑞·康斯坦丁和愛(ài)德華·尤登提出結(jié)構(gòu)化設(shè)計(jì),1978年湯姆·迪馬克和愛(ài)德華·尤登等在1975年提出結(jié)構(gòu)化分析,后來(lái)逐漸被完善,形成現(xiàn)在軟件開(kāi)發(fā)方法中主要采用的結(jié)構(gòu)化方法。結(jié)構(gòu)化方法從功能上對(duì)系統(tǒng)進(jìn)行劃分,將系統(tǒng)按功能劃分成各個(gè)模塊,將子模塊編寫(xiě)成子程序,通過(guò)子程序之間的結(jié)構(gòu)和層次之間的耦合來(lái)解決復(fù)雜的問(wèn)題。結(jié)構(gòu)化方法按軟件周期可劃分為結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn),這里主要討論SA和SD。