程序設(shè)計(jì)與方法學(xué)(共10頁(yè))_第1頁(yè)
程序設(shè)計(jì)與方法學(xué)(共10頁(yè))_第2頁(yè)
程序設(shè)計(jì)與方法學(xué)(共10頁(yè))_第3頁(yè)
程序設(shè)計(jì)與方法學(xué)(共10頁(yè))_第4頁(yè)
程序設(shè)計(jì)與方法學(xué)(共10頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 西安科技(kj)大學(xué) 程序設(shè)計(jì)(chn x sh j)方法學(xué) 的復(fù)習(xí)筆記 姓名(xngmng): XXX 學(xué)號(hào): 120801XXXX 專(zhuān)業(yè)班級(jí):軟件工程12XX班第一章緒論(xln):一:程序設(shè)計(jì)方法學(xué):指的是在計(jì)算機(jī)上用可執(zhí)行的程序化代碼來(lái)有效的描述與解決特定問(wèn)題算法(sun f)的過(guò)程。歷經(jīng)(l jn)階段:面向計(jì)算機(jī)的程序設(shè)計(jì) 2、面向過(guò)程的程序設(shè)計(jì) 3、面向?qū)ο蟮某绦蛟O(shè)計(jì) (封裝,繼承,;多態(tài)) 4、面向組件式的程序設(shè)計(jì) 5、其他的程序設(shè)計(jì)(遞歸,嵌入式) 二:三種基本的程序結(jié)構(gòu)(結(jié)構(gòu)流程圖) 1:選擇結(jié)構(gòu) 2:順序結(jié)構(gòu) 3:循環(huán)結(jié)構(gòu)三:算法: 含義:所謂算法就是指解決特定問(wèn)題而需

2、要執(zhí)行者一步一步的施行的有窮操作過(guò)程的描述。 5大特征:有窮行 確定性 數(shù)據(jù)輸入 信息輸出 可執(zhí)行性四:程序設(shè)計(jì)的表示方法:圖形(程序流程圖) 表格(判定表) 語(yǔ)言(程設(shè)計(jì)語(yǔ)言)五:程序設(shè)計(jì)的基本特征 結(jié)構(gòu)化 模塊化 對(duì)象化 (OOP,Object Oriented Programming) 智能化 (AOP, Agent Oriented Programming) 第二章節(jié) 一:圖靈機(jī)的概念: 圖靈機(jī)是一種抽象計(jì)算模型,用來(lái)精確定義可計(jì)算函數(shù),是由一個(gè)控制器和一根假設(shè)無(wú)線長(zhǎng)的工作帶組成,工作帶起著儲(chǔ)存作用,被劃分為很多大小相同的方格,每個(gè)方格上可以書(shū)寫(xiě)特定的英文字母二: 通用圖靈機(jī)的思想:

3、把任意一臺(tái)圖靈機(jī)T的指令表編碼成在磁帶上表示為0和1的串。第三章 結(jié)構(gòu)化程序設(shè)計(jì)方法 一:GOTO語(yǔ)句的三大缺點(diǎn): 1、破換了程序的動(dòng)靜一致性 2、程序不易測(cè)試 3、限制了代碼的優(yōu)化二:結(jié)構(gòu)化程序設(shè)計(jì): 1:所謂結(jié)構(gòu)化程序設(shè)計(jì):就是采用以逐步降低算法抽象級(jí)為中心的一套程序設(shè)計(jì)方法而得到的具有良好(lingho)結(jié)構(gòu)的程序。 2:好的結(jié)構(gòu)化程序的特點(diǎn)(tdin): 一個(gè)比較(bjio)好的結(jié)構(gòu)程序在結(jié)構(gòu)方面應(yīng)具有以下兩個(gè)特點(diǎn): (1)大型程序按照其功能進(jìn)行模塊化分 (2)每一個(gè)基本程序單元具有的特征: 單入口、單出口 由三種基本結(jié)構(gòu)組成,控制使用goto語(yǔ)句 無(wú)死語(yǔ)句,即程序中不存在永遠(yuǎn)執(zhí)行不到

4、的語(yǔ)句 無(wú)死循環(huán) 書(shū)寫(xiě)格式清晰 3:優(yōu)點(diǎn)(1)程序便于分工編制(2)有利于提高軟件的生產(chǎn)效率(3)結(jié)構(gòu)清晰,易于閱讀理解和保證其可靠性(4)易于修改,便于維護(hù)和驗(yàn)證其正確性(5)易于移植三:逐步求精含義:既是一種程序設(shè)計(jì)方法,也是驗(yàn)證程序正確性的方法四:NS圖主要特點(diǎn)是:(1)不使用流線,即不允許流程任意轉(zhuǎn)移,而只能從上到下順序進(jìn)行。這樣避免了流程轉(zhuǎn)來(lái)轉(zhuǎn)去而影響流程思路的理解;(2)采用三種基本結(jié)構(gòu)作為構(gòu)造算法的基本單元: 1)順序結(jié)構(gòu):在這種結(jié)構(gòu)中各模塊是按照他們出現(xiàn)的先后順序執(zhí)行的,即A模塊先于B模塊執(zhí)行,A與B模塊之間是順序關(guān)系 1、選擇結(jié)構(gòu):在計(jì)算機(jī)應(yīng)用的許多場(chǎng)合,要求程序按照給定的條

5、件進(jìn)行分析、比較和判斷,并根據(jù)判斷后的不同情況進(jìn)行不同的處理。此類(lèi)情況即為選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu):循環(huán)是指對(duì)同一個(gè)程序段重復(fù)執(zhí)行若干次,被重復(fù)執(zhí)行的部分成為循環(huán)體。循環(huán)結(jié)構(gòu)就是根據(jù)給定條件成立與否,來(lái)決定是否執(zhí)行循環(huán)體。五:非結(jié)構(gòu)化到結(jié)構(gòu)化程序的轉(zhuǎn)化(zhunhu)1:代碼(di m)復(fù)制法2:條件(tiojin)復(fù)合技術(shù)3:布爾標(biāo)志技術(shù)第四章:設(shè)計(jì)模式一: 設(shè)計(jì)模式的三種模型分類(lèi): A 創(chuàng)建型模式:5種 1、單例模式:?jiǎn)卫J酱_保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例單例模式。單例模式只應(yīng)在有真正的“單一實(shí)例”的需求時(shí)才可使用。 2、抽象工廠模式:客戶類(lèi)和工廠類(lèi)分開(kāi)。消費(fèi)者

6、任何時(shí)候需要某種產(chǎn)品,只需向工廠請(qǐng)求即可。消費(fèi)者無(wú)須修改就可以接納新產(chǎn)品。缺點(diǎn)是當(dāng)產(chǎn)品修改時(shí),工廠類(lèi)也要做相應(yīng)的修改。如:如何創(chuàng)建及如何向客戶端提供。 3、建造者模式:將對(duì)象的內(nèi)部表象和對(duì)象的生成過(guò)程分割開(kāi)來(lái),從而使一個(gè)建造過(guò)程生成具有不同的內(nèi)部表象的產(chǎn)品對(duì)象。建造模式使得產(chǎn)品內(nèi)部表象可以獨(dú)立的變化,客戶不必知道產(chǎn)品內(nèi)部組成的細(xì)節(jié)(xji)。建造模式可以強(qiáng)制實(shí)行一種分步驟進(jìn)行的建造過(guò)程。 4、工廠模式:核心工廠類(lèi)不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建的工作交給(jio i)子類(lèi)去做,成為一個(gè)抽象工廠角色,僅負(fù)責(zé)給出具體工廠類(lèi)必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類(lèi)應(yīng)當(dāng)被實(shí)例化這種細(xì)節(jié)。 5、原型模

7、式:通過(guò)給出一個(gè)原型對(duì)象來(lái)指明所要?jiǎng)?chuàng)建的對(duì)象的類(lèi)型,然后用復(fù)制這個(gè)原型對(duì)象的方法創(chuàng)建出更多同類(lèi)型的對(duì)象。原始模型模式允許動(dòng)態(tài)的增加或減少產(chǎn)品類(lèi),產(chǎn)品類(lèi)不需要非得有任何事先確定的等級(jí)(dngj)結(jié)構(gòu),原始模型模式適用于任何的等級(jí)結(jié)構(gòu)。缺點(diǎn)是每一個(gè)類(lèi)都必須配備一個(gè)克隆方法。 B 結(jié)構(gòu)型模式:7種 1:適配器模式: 把一個(gè)類(lèi)的接口變換成客戶端所期待的另一種接口,從而使原本因接口原因不匹配而無(wú)法一起工作的兩個(gè)類(lèi)能夠一起工作。適配類(lèi)可以根據(jù)參數(shù)返還一個(gè)合適的實(shí)例給客戶端。 2:橋接模式: 將抽象化與實(shí)現(xiàn)化脫耦,使得二者可以獨(dú)立的變化,也就是說(shuō)將他們之間的強(qiáng)關(guān)聯(lián)變成弱關(guān)聯(lián),也就是指在一個(gè)軟件系統(tǒng)的抽象化和

8、實(shí)現(xiàn)化之間使用組合/聚合關(guān)系而不是繼承關(guān)系,從而使兩者可以獨(dú)立的變化。 3:裝飾模式:裝飾模式以對(duì)客戶端透明的方式擴(kuò)展對(duì)象的功能,是繼承關(guān)系的一個(gè)替代方案,提供比繼承更多的靈活性。動(dòng)態(tài)給一個(gè)對(duì)象增加功能,這些功能可以再動(dòng)態(tài)的撤消。增加由一些基本功能的排列組合而產(chǎn)生的非常大量的功能。 4:組合模式: 5:外觀模式: 6:享元模式:享元模式以共享的方式高效的支持大量的細(xì)粒度對(duì)象。享元模式能做到共享的關(guān)鍵是區(qū)分內(nèi)蘊(yùn)狀態(tài)和外蘊(yùn)狀態(tài)。 7: 代理模式;代理模式給某一個(gè)對(duì)象提供一個(gè)代理對(duì)象,并由代理對(duì)象控制(kngzh)對(duì)源對(duì)象的引用。 C 行為(xngwi)型模式: 模版方法模式(msh)、命令模式、迭

9、代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式、狀態(tài)模式、策略模式、職責(zé)鏈模式、訪問(wèn)者模式。策略模式:策略模式針對(duì)一組算法,將每一個(gè)算法封裝到具有共同接口的獨(dú)立的類(lèi)中,從而使得它們可以相互替換。策略模式使得算法可以在不影響到客戶端的情況下發(fā)生變化。策略模式把行為和環(huán)境分開(kāi)。環(huán)境類(lèi)負(fù)責(zé)維持和查詢行為類(lèi),各種算法在具體的策略類(lèi)中提供。由于算法和環(huán)境獨(dú)立開(kāi)來(lái),算法的增減,修改都不會(huì)影響到環(huán)境和客戶端模板方法模式:模板方法模式準(zhǔn)備一個(gè)抽象類(lèi),將部分邏輯以具體方法以及具體構(gòu)造子的形式實(shí)現(xiàn),然后聲明一些抽象方法來(lái)迫使子類(lèi)實(shí)現(xiàn)剩余的邏輯。不同的子類(lèi)可以以不同的方式實(shí)現(xiàn)這些抽象方法,從而對(duì)剩余的邏輯

10、有不同的實(shí)現(xiàn)。先制定一個(gè)頂級(jí)邏輯框架,而將邏輯的細(xì)節(jié)留給具體的子類(lèi)去實(shí)現(xiàn)面向?qū)ο缶幊蹋∣OP)技術(shù)面向?qū)ο螅∣O)技術(shù)向?qū)ο缶幊陶Z(yǔ)言(OOPL)的三大機(jī)制“封裝、繼承、多態(tài)”第五章 組件組件的概念:可以自行進(jìn)行內(nèi)部管理的一個(gè)或多個(gè)類(lèi)組成的群體組件技術(shù)的特點(diǎn):真正的軟件重用和高度的互操作性接口的可靠性可擴(kuò)充服務(wù)具有強(qiáng)有力的基礎(chǔ)設(shè)施具有構(gòu)建和膠合組件的工具常用(chn yn)的組件模型對(duì)象管理(gunl)組織OMG( Object Management Group,)的 公共對(duì)象請(qǐng)求(qngqi)代理體系結(jié)構(gòu) CORBA(Common Object Request Broker Architect

11、ure, ) Microsoft公司的 組件對(duì)象模型COM( Component Object Model,)/分布式組件對(duì)象模型DCOM(Distributed )SUN公司的EJB(Enterprise JavaBeans )組件技術(shù)與面向?qū)ο蠹夹g(shù)的比較: 組件技術(shù) 面向?qū)ο蠹夹g(shù)目標(biāo) 應(yīng)用程序間的更大范圍的組件的重用 應(yīng)用程序內(nèi)更大行為的重用基本關(guān)系 請(qǐng)求/響應(yīng)的關(guān)系 行為的繼承關(guān)系重點(diǎn) 組件接口不變 可擴(kuò)展的類(lèi)的層次關(guān)系最終目的 應(yīng)用程序具有定義良好的接口, 應(yīng)用程序通過(guò)對(duì)象、類(lèi)的層次關(guān) 可以很容易地替換其中的組件 系的擴(kuò)展來(lái)改變行為 IUnknown()接口是COM組件的核心接口,所有

12、其他COM接口都必須從IUnknown繼承。IUnknown接口包含了三個(gè)成員函數(shù)(方法):QueryInterfaceAddRefReleaseCOM接口(ji ku)的特點(diǎn)1、二進(jìn)制特性(txng):接口規(guī)范并不建立在任何編程語(yǔ)言的基礎(chǔ)上,而是規(guī)定了二進(jìn)制一級(jí)的標(biāo)準(zhǔn)。任何語(yǔ)言只要有足夠(zgu)的數(shù)據(jù)表達(dá)能力,就可以對(duì)接口進(jìn)行描述,從而可以用于組件程序有關(guān)的應(yīng)用開(kāi)發(fā)。2、接口不變性:接口是組件客戶程序和組件對(duì)象之間的橋梁,接口如果經(jīng)常發(fā)生變化,則客戶程序和組件程序也要跟著變化,這對(duì)于應(yīng)用系統(tǒng)的開(kāi)發(fā)非常不利,也不符合組件化程序設(shè)計(jì)的思想,所以接口應(yīng)該保持不變3、繼承性:COM接口具有普遍性,

13、但不變性并不意味著接口不再發(fā)展,隨著應(yīng)用系統(tǒng)和組件程序的發(fā)展,接口也需要發(fā)展。類(lèi)似于C+中類(lèi)的繼承性,接口也可以繼承發(fā)展,但接口繼承與類(lèi)繼承不同。4、多態(tài)性:多態(tài)性是面向?qū)ο笙到y(tǒng)的重要特性,COM對(duì)象也具有多態(tài)性,其多態(tài)性通過(guò)COM接口體現(xiàn)。第六章 遞歸程序設(shè)計(jì)方法遞歸模型:f(S 0)=M 0 (0為下標(biāo))遞歸求值過(guò)程就是從一個(gè)已知值推出下一個(gè)值的過(guò)程。 遞歸的執(zhí)行過(guò)程: 分解和求值 歷經(jīng)很多步才能求出最后的值 遞歸問(wèn)題 從大到小的分解和樹(shù)型結(jié)構(gòu)的從整體到局部的分解是類(lèi)似的 第一次調(diào)用就是對(duì)應(yīng)樹(shù)型的根節(jié)點(diǎn),遞歸調(diào)用的結(jié)束就對(duì)應(yīng)樹(shù)的葉子節(jié)點(diǎn),遞歸的實(shí)現(xiàn)轉(zhuǎn)化為樹(shù)的遍歷遞歸算法(sun f)到非遞

14、歸算法的變換采用迭代(di di)解法末尾(mwi)遞歸的消除使用堆棧 使用堆棧的思想:如果一個(gè)遞歸問(wèn)題既不容易找到迭代方法又不屬于末尾遞歸的情況,總還可以利用堆棧為其設(shè)計(jì)出非遞歸的算法第九章:AndroidAndroid 的優(yōu)點(diǎn):1、真正開(kāi)放性2、應(yīng)用程序相互平等3、應(yīng)用程序之間溝通無(wú)界限4、快速方便的應(yīng)用程序開(kāi)發(fā)Android 的系統(tǒng)四層架構(gòu) 第一層以Linux內(nèi)核工作為基礎(chǔ),由C語(yǔ)言開(kāi)發(fā),只提供由操作系統(tǒng)內(nèi)核管理的底層基本功能;第二層為中間件層,包括函數(shù)庫(kù)Library和虛擬機(jī)Virtual Machine,由C+開(kāi)發(fā);第三層為應(yīng)用程序框架層,提供了Android平臺(tái)基本的管理功能和組件重

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論