版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計思想變革及發(fā)展程序設(shè)計思想變革及發(fā)展Contents程序設(shè)計的基本程序設(shè)計的基本一程序設(shè)計思想的發(fā)展程序設(shè)計思想的發(fā)展二程序設(shè)計語言的變化及發(fā)展程序設(shè)計語言的變化及發(fā)展三程序設(shè)計的基本程序設(shè)計的基本概念概念1程序設(shè)計的步驟程序設(shè)計的步驟2程序設(shè)計面對的問題程序設(shè)計面對的問題3概念概念通俗地說, 程序就是人們讓計算機(jī)完成特定任務(wù)的一系列命令的總稱, 而用某種編程語言編寫程序的過程就是程序設(shè)計。程序設(shè)計的步驟程序設(shè)計的步驟設(shè)計方案分析問題解決問題123程序設(shè)計面對的問題1 技術(shù)問題2目標(biāo)復(fù)雜度和規(guī)模的增長3需求的變化面向過程編程面向過程編程面向過程編程關(guān)注的是解決問題的步驟,先把軟件系統(tǒng)分
2、解成多個模塊,然后逐步細(xì)化,完成整個軟件系統(tǒng)。各模塊之間存在相互調(diào)用和信息傳遞。程序設(shè)計思想的發(fā)展程序設(shè)計思想的發(fā)展面向?qū)ο缶幊堂嫦蜻^程編程面向方面編程20世紀(jì)60年代20世紀(jì)70年代20世紀(jì)90年代面向過程編程的面向過程編程的產(chǎn)生60 年代末, 國際著名學(xué)者E.W.Dijkstr首先提出了“ 結(jié)構(gòu)化程序設(shè)計” 的思想, 按照結(jié)構(gòu)化程序設(shè)計思想編制出來的程序稱為結(jié)構(gòu)化程序,即 面向過程編程。、Pascal 和ortran 語言均采用面向過程編程思想。面向過程編程面向過程編程產(chǎn)生產(chǎn)生1設(shè)計思想設(shè)計思想2特點特點3產(chǎn)生的問題產(chǎn)生的問題4面向過程編程的設(shè)計思想面向過程編程的設(shè)計思想采用“ 自頂向下,
3、逐步求精” 的方法, 即當(dāng)編寫程序時常從總體出發(fā), 把任務(wù)分解為若干個多少有些獨立的模塊, 對于每一個模塊, 又需分解為若干個低一層的子模塊, 直到最低層的每一個子模塊都有明確的解決步驟為止, 每一個模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結(jié)構(gòu)組成, 其模塊化的具體實現(xiàn)方法是使用子程序。面向過程編程的設(shè)計思想面向過程編程的設(shè)計思想正如上面的程序段所示, 結(jié)構(gòu)化的程序方法通常是:(1) 定義變量及其初始值;(2) 根據(jù)事件發(fā)展順序, 進(jìn)行對應(yīng)的處理。面向過程編程的設(shè)計思想面向過程編程的設(shè)計思想示例:鉛筆數(shù)=5鋼筆數(shù)=6圓珠筆數(shù)=4其它筆數(shù)=7 / 銷售程序段鉛筆數(shù)=鉛筆數(shù)- 1 / 賣出了1 支鉛
4、筆其它筆數(shù)=其它筆數(shù)- 2 / 賣出了2支其它筆/ 采購程序段鋼筆數(shù)=鋼筆數(shù)+20 / 新進(jìn)了20 支鋼筆圓珠筆數(shù)=圓珠筆數(shù)+10 / 新進(jìn)了10支圓珠筆 面向過程編程的特點面向過程編程的特點面向過程的程序設(shè)計的特點:面向過程的程序設(shè)計方法強(qiáng)調(diào)需求分析。強(qiáng)調(diào)在軟件生命周期的每個階段結(jié)束之前必須進(jìn)行評審,從而提高了開發(fā)的成功率。面向過程編程的問題產(chǎn)生的原因面向過程編程的問題產(chǎn)生的原因原因是:某些系統(tǒng)類型需求是模糊的,預(yù)先定義需求的策略對于某些類型的軟件系統(tǒng)是適用的。但是,對于數(shù)量占多數(shù)的一些應(yīng)用系統(tǒng),其需求往往難以預(yù)先準(zhǔn)確地指定。面向過程編程的總結(jié)面向過程編程的總結(jié) 面向過程編程的思維方式易于理
5、解、條理清晰,曾被廣泛應(yīng)用,但隨著軟件系統(tǒng)規(guī)模的擴(kuò)大和性能要求的提高,面向過程編程的缺陷日益明顯。軟件系統(tǒng)規(guī)模的擴(kuò)大,使得模塊的分解難度加大,模塊之間的聯(lián)系也更加復(fù)雜,軟件的可靠性難以提高,可維護(hù)性差。為了提高軟件系統(tǒng)的穩(wěn)定性、可修改性、可重用性。人們在實踐中逐漸創(chuàng)造出軟件開發(fā)的新途徑:面向?qū)ο蟮某绦蛟O(shè)計方法面向?qū)ο缶幊趟^面向?qū)ο缶褪窃谔幚韱栴}時,從該問題所存在的事物本身出發(fā),以類及對象作為基本構(gòu)造單元,逐步認(rèn)識事物的屬性和行為特征。面向?qū)ο缶幊坍a(chǎn)生產(chǎn)生1主要概念2編程思想編程思想3特點特點4面向?qū)ο缶幊痰漠a(chǎn)生結(jié)構(gòu)化程序設(shè)計方法的可重用性差,使用面向過程的方法來開發(fā)和維護(hù)此類軟件將非常困難。
6、因此提出了面向?qū)ο缶幊獭C嫦驅(qū)ο缶幊痰母拍罡拍罡拍?大基本概念對象(對象(bject)類(類(lass)抽象(抽象(bstract)封裝(封裝(ncapsulation)繼承(繼承(nheritance)多態(tài)(多態(tài)(olymorphism)面向?qū)ο缶幊趟枷朊嫦驅(qū)ο缶幊痰闹行乃枷胧? 軟件模塊的分解并不是從功能上, 或是從處理問題的算法上出發(fā), 而是從系統(tǒng)的組成上考慮。 優(yōu)點 穩(wěn)定性好 可重用性 可擴(kuò)展性支持多線程編程 可管理性面向?qū)ο缶幊痰目偨Y(jié)總體來說,較面向過程編程相比,面向?qū)ο缶幊炭梢悦枋龈鼜?fù)雜、更接近現(xiàn)實的系統(tǒng),描述方法靈活,具備良好的可重用性和可擴(kuò)展性,提高了軟件系統(tǒng)的質(zhì)量和開發(fā)效率,
7、保證了對系統(tǒng)項目的有效管理。面向方面編程在軟件術(shù)語中,面向方面的編程能夠獨立于任何繼承層次結(jié)構(gòu)而應(yīng)用改變類或?qū)ο笮袨榈姆矫?。缺點代碼散亂和代碼糾纏使得面向?qū)ο缶幊痰南到y(tǒng)結(jié)構(gòu)混亂,難以維護(hù)和擴(kuò)展,降低了軟件系統(tǒng)的質(zhì)量。面向方面編程的產(chǎn)生面向方面編程()的概念是regoriczaes 在eroxarc 團(tuán)隊于 世紀(jì) 年代后期提出的,ilman 與riedman年在關(guān)于分離關(guān)注點的討論會上給出了得到公認(rèn)的面向方面的定義。雖然面向方面編程還處于不完善的階段,但它已經(jīng)受到了廣泛的關(guān)注。面向方面編程產(chǎn)生產(chǎn)生1主要概念2編程思想編程思想3特點特點4面向方面編程的概念6大基本概念 關(guān)注點(關(guān)注點(oncern
8、) 方面(方面(spect) 通知(通知(dvice) 切入點(切入點(ointcut) 連接點(連接點(oinpoint) 織入(織入(eaving)面向方面編程的思想對所分解的關(guān)注點的實現(xiàn),核心關(guān)注點可以采用面向?qū)ο缶幊碳夹g(shù),橫切關(guān)注點可以采用面向方面編程技術(shù)將軟件系統(tǒng)分解為核心關(guān)注點和橫切關(guān)注點通過創(chuàng)建方面來制定制定關(guān)注點之間的實施規(guī)則,從而得到最終的系統(tǒng)方面分解關(guān)注點實現(xiàn)織入面向方面編程的特點方面的設(shè)計使得系統(tǒng)的松散耦合性更強(qiáng),代碼冗余小,系統(tǒng)易維護(hù)、易擴(kuò)充。優(yōu)點及缺點切入點與基礎(chǔ)程序的耦合性較強(qiáng),基礎(chǔ)程序結(jié)構(gòu)的變化就可能導(dǎo)致意外的連接點丟失面向方面編程的總結(jié)較面向?qū)ο缶幊滔啾冉档土讼?/p>
9、統(tǒng)實施的難度,解決了代碼散亂和代碼糾纏的問題。但其本身存在的問題也給使用帶來了一定的困難。目前在開發(fā)過程中,面向方面編程技術(shù)只作為面向?qū)ο缶幊碳夹g(shù)的補充加以運用。面向過程VS面向?qū)ο笠砸惠v汽車為例: 用面向過程的思想去考慮它應(yīng)該是這樣的:如何啟動汽車、如何起步、加速、剎車、熄火等一個個操作。而汽車在這里并不是我們所關(guān)心的。 而面向?qū)ο髣t以汽車為對象,一切由汽車開始,以上的可用操作,即功能是汽車這個對象本身所具有的,做任何操作只要告訴汽車就可以。面向過程VS面向?qū)ο笫褂妹嫦蜻^程的語言,你需要告訴電腦要做什么,怎么做,一步步教它。使用面向?qū)ο蟮恼Z言,你只需要告訴它要做什么,不用告訴它過程。面向過程
10、VS面向?qū)ο?又例如五子棋,面向過程的設(shè)計思路就是首先分析問題的步驟: 1、開始游戲,2、黑子先走,3、繪制畫面,4、判斷輸贏,5、輪到白子,6、繪制畫面,7、判斷輸贏,8、返回步驟2,9、輸出最后結(jié)果。 把上面每個步驟用分別的函數(shù)來實現(xiàn),問題就解決了。 而面向?qū)ο蟮脑O(shè)計則是從另外的思路來解決問題。整個五子棋可以分為: 1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統(tǒng),負(fù)責(zé)繪制畫面,3、規(guī)則系統(tǒng),負(fù)責(zé)判定諸如犯規(guī)、輸贏等。 面向過程VS面向?qū)ο蠊δ苌系慕y(tǒng)一保證了面向?qū)ο笤O(shè)計的可擴(kuò)展性。因此,就實際編程情況來說在大多時候面向?qū)ο蟾鼮閷嶋H。程序設(shè)計語言的變化及發(fā)展1 機(jī)器語言機(jī)器語言2 匯編語
11、言3 高級語言、算法語言高級語言、算法語言4 非過程化語言非過程化語言5 智能性語言語言的發(fā)展語言的發(fā)展機(jī)器語言機(jī)器語言是計算機(jī)誕生和發(fā)展初期使用的語言,表現(xiàn)為二進(jìn)制的編碼形式,是由CPU可以直接識別的一組由0和1序列構(gòu)成的指令碼。機(jī)器語言例如,下面列出的一串二進(jìn)制編碼 011011 000000 000000 000001 110101 命令計算機(jī)硬件完成清除累加器,然后把內(nèi)存地址為117的單元內(nèi)容與累加器的內(nèi)容相加的操作。 可以看出,使用機(jī)器語言編寫程序是很不方便的,它要求用者熟悉計算機(jī)的所有細(xì)節(jié),程序的質(zhì)量完全決定于個人的編程水平。匯編語言匯編語言開始于20世紀(jì)50年代初期,它是用助記符
12、來表示每一條機(jī)器指令的。例如,機(jī)器指令可以表示為 CLA 00 017高級語言、算法語言高級語言起始于20世紀(jì)50年代中期,它允許人們用熟悉自然語言和數(shù)學(xué)語言編寫程序代碼,可讀性強(qiáng),編程方便。例如,在高級語言中寫出如下語句: X(A+B)/(C+D)與之等價的匯編語言程序如下: CLA C ADD DSTD M CLA A ADD B DIV MSTD X非過程化語言用戶在使用這種語言時,不必關(guān)心問題的解法和處理過程的描述,只需說明所要完成的工作目標(biāo)及工作條件,就能得到所要的結(jié)果,而其他的工作都由系統(tǒng)來完成。非過程化語言例如,用戶想檢索出滿足一定條件的學(xué)生名單,只要通過SQL語言的SELECT語句告訴計算機(jī)查詢的范圍(查學(xué)生信息表)、查詢內(nèi)容(查出姓名和年齡)和檢索條件(查年齡小于18歲的學(xué)生)即可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車制造中的零件加工工藝考核試卷
- 電感器在電磁干擾抑制中的應(yīng)用考核試卷
- 冷藏食品的感官指標(biāo)與質(zhì)量評估考核試卷
- 2024萬科物業(yè)知識共享平臺運營與管理制度協(xié)議2篇
- 算法分析課程設(shè)計 查賬
- 房地產(chǎn)開盤策劃方案
- 礦山機(jī)械加工精度分析與改進(jìn)考核試卷
- 布藝玩具制作技巧考核試卷
- 人事行政原則與實踐培訓(xùn)考核試卷
- 醫(yī)療器械在耳鼻喉科治療中的應(yīng)用考核試卷
- 2024年中學(xué)科技教育工作總結(jié)樣本(4篇)
- 電網(wǎng)突發(fā)停電應(yīng)急預(yù)案
- 護(hù)理安全小組工作計劃
- 2025辦公室無償租賃合同范本
- 翻譯美學(xué)視角下小說《長恨歌》英譯研究
- 期末測試卷(試題)(含答案)2024-2025學(xué)年北師大版數(shù)學(xué)五年級上冊
- 4、2024廣西專業(yè)技術(shù)人員繼續(xù)教育公需科目參考答案(99分)
- 2024年中國華電集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 五金件成品檢驗報告
- CDN基礎(chǔ)介紹PPT課件
- SPC八大控制圖自動生成器v1.01
評論
0/150
提交評論