




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第3章章 面向?qū)ο筌浖_發(fā)技術(shù)面向?qū)ο筌浖_發(fā)技術(shù) 本章簡介本章介紹面向?qū)ο蟪绦蛟O計語言、軟件開發(fā)的方法與過程、面向?qū)ο蟮姆治雠c設計的軟件開發(fā)方法,面向?qū)ο蟮能浖_發(fā)方法與UML模型的關(guān)系,對UML圖在軟件開發(fā)階段所處的位置也作簡要說明。 面向?qū)ο缶幊陶Z言 面向?qū)ο蟾拍畹挠蓙鞳OP的簡史C+語言Java語言當前新推出的IDE幾乎都是面向?qū)ο蟮模纾琌racle9i JDeveloper,C+ Builder。軟件開發(fā)的方法與過程 軟件開發(fā)的方法與過程,描述了在系統(tǒng)開發(fā)過程中各開發(fā)階段之間的順序,以及從前一階段到后一階段的過渡原則。 軟件開發(fā)的方法定義了一種設計與實現(xiàn)軟件的方法,并確定了需要
2、執(zhí)行的任務以及這些任務的輸出。 過程要定義一個在組織中開發(fā)軟件需要執(zhí)行的任務序列,這可能會包括技術(shù)性的與非技術(shù)性的內(nèi)容。 瀑布模型(Waterfall Model)。 面向?qū)ο蟮南到y(tǒng)開發(fā)模型,例如,螺線模型(Spiral Model)。 結(jié)構(gòu)性的方法定義了功能分解、建立數(shù)據(jù)流程圖以及過程圖。面向?qū)ο蠓椒▌t需要建立類與對象圖,建立類的狀態(tài)轉(zhuǎn)換圖,以及建立消息序列圖 瀑布模型 瀑布模型定義了軟件開發(fā)周期中基本的過程和步驟,并就它們的作用與順序提供了指導。 瀑布模型將軟件系統(tǒng)的開發(fā)分為7個階段:需求匯總、分析、結(jié)構(gòu)設計、系統(tǒng)設計、實現(xiàn)、測試、配置并操作,如圖3.1所示。 瀑布模型 螺線模型 螺線模型
3、是瀑布模型與快速原型方法的結(jié)合,因而具有兩種方法的優(yōu)點。 螺線模型是由分析、設計、實現(xiàn)和測試4個部分組成的迭代模型,每一個周期都是一次迭代過程。每迭代一次,系統(tǒng)就生成一個新版本,軟件開發(fā)就前進一個層次。 螺線模型提供了大型軟件設計的宏觀過程,在早期就注意到軟件重用、軟件進化和快速原型螺線模型 分析設計實現(xiàn)測試面向?qū)ο筌浖_發(fā)方法 面向?qū)ο筌浖_發(fā)方法就是將面向?qū)ο蠹夹g(shù)應用于軟件開發(fā)的整個過程,包括OOA、OOD和OOP。 在分析階段要確定系統(tǒng)做什么,要對現(xiàn)實世界中的概念進行抽象,構(gòu)造出對象和類; 在設計階段要確定系統(tǒng)如何實現(xiàn)預期目標,要把分析階段的模型進行分解和細化,得到系統(tǒng)實施的具體方案。這
4、樣,設計的結(jié)果很容易用面向?qū)ο蟮某绦蛟O計語言來實現(xiàn)。 面向?qū)ο蟮姆治?面向?qū)ο蟮姆治龇椒▽④浖到y(tǒng)描述成一組對象的集合,采用抽象的對象模型、記號系統(tǒng)和方法。 主要的面向?qū)ο蟮姆治龇椒ㄓ校篊oad與Yourdon的面向?qū)ο蟮姆治龇椒āailin的面向?qū)ο蟮慕Y(jié)構(gòu)化分析方法和Shlaer與Mellor的面向?qū)ο蟮姆治龇椒ā?Coad與Yourdon的面向?qū)ο蠓治龇椒ǚ譃?個步驟:發(fā)現(xiàn)對象和類、標識結(jié)構(gòu)、定義主題詞、描述屬性、描述外部服務(操作) 1發(fā)現(xiàn)對象和類 Coad與Yourdon的OOA方法中,用粗圓角的方框表示類,分為3個部分,分別放類名、屬性和操作;類的對象用細的方框來表示。在使用這種方
5、法進行分析時,不必拘泥于Coad與Yourdon的表示方法,可以采用UML中的表示方法來表示類和對象。 2標識結(jié)構(gòu) 在Coad與Yourdon的OOA方法中,將一般 特殊結(jié)構(gòu)用半圓記號表示,一般的類在上,特殊的類在下,半圓指向一般化的類。用三角記號表示整體 部分結(jié)構(gòu),用連線連接對象,整體對象在上,部分對象在下。現(xiàn)在,各種方法的表示都可以統(tǒng)一為UML表示法,所以在標識結(jié)構(gòu)時,也可以采用UML中的表示方法。 3定義主題詞 在現(xiàn)實的系統(tǒng)中,往往存在大量的對象和結(jié)構(gòu),因此要加上一個主題層,對問題空間進行高度概括和總結(jié),從一個更高的角度來考查整個系統(tǒng)。定義主題時,首先要找出系統(tǒng)中最主要的類,然后按問題的
6、子領(lǐng)域來對這些候選主題進行篩選,并考慮主題間的相互依賴和交互作用,使彼此的相互影響達到最小。 4描述屬性屬性是描述類中每個對象的特征的數(shù)據(jù)。要從有關(guān)問題領(lǐng)域與系統(tǒng)責任的描述中識別屬性,并通過一般 特殊結(jié)構(gòu)中的繼承關(guān)系,將屬性放到適當?shù)奈恢谩槊總€屬性確定一個易理解的名字,加上一些描述以及對屬性說明的約束。 5. 描述外部服務一般情況下,對象包含的操作主要有:對象的創(chuàng)建與初始化、對象的連接、存取對象的屬性值、釋放對象、計算、監(jiān)督等。用適當?shù)拿謥順俗R這些操作,并加上適當?shù)奈淖只驁D表說明。最后,將所有的OOA文檔匯集起來,包括:5層OOA模型(主題、類 對象、結(jié)構(gòu)、屬性和操作)、類 對象說明和必要
7、的輔助文檔。 面向?qū)ο蟮脑O計 面向?qū)ο蟮脑O計是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實現(xiàn)方案的過程。從分析到設計,是一個逐漸擴充模型的過程。或者說,面向?qū)ο蟮脑O計就是用面向?qū)ο蟮挠^點建立求解域模型的過程。 Coad和Yourdon的OOD方法 Coad和Yourdon提出的OOD方法,由4部分組成:問題領(lǐng)域部件設計、用戶界面部件設計、任務管理部件設計和數(shù)據(jù)管理部件設計。每個部件由主題詞、對象及類、結(jié)構(gòu)、屬性和外部服務5層組成,如圖3.3所示。 設計階段的四個組成部分 Wirfs Brock的責任驅(qū)動設計 Wirfs Brock的責任驅(qū)動設計方法,也稱為CRC方法,其核心是用
8、類所承擔的責任來描述系統(tǒng)。這種方法采用責任把封裝的概念帶到分析與設計的活動中去,通過客戶 服務器模型來改進封裝性。 可以采用CRC卡來記錄初始的設計。每個類寫在一張卡上,類的名字在頂部,責任寫在左邊,完成責任時需要為其提供服務的合作者的類名寫在責任的右邊,如圖3.4所示。 CRC卡 Booch的OOD 其方法主要包括以下步驟:(1)標識類與對象。(2)標識類與對象的語義。(3)標識類與對象之間的關(guān)系。(4)實現(xiàn)類與對象。 對象模型化技術(shù) OMT以面向?qū)ο笏枷霝榛A(chǔ),通過構(gòu)造一組相關(guān)的模型來確定系統(tǒng)的需求、有關(guān)的設計和實現(xiàn)原則,再將問題領(lǐng)域的分析模型變換成實現(xiàn)領(lǐng)域的計算機模型。 在OMT方法中,
9、主要用到3種面向?qū)ο筌浖P停簩ο竽P汀討B(tài)模型和功能模型對象模型化技術(shù)對象模型主要描述系統(tǒng)中對象的靜態(tài)結(jié)構(gòu),表示系統(tǒng)中的對象、類及之間的靜態(tài)聯(lián)系,包括分析對象模型和設計對象模型。分析對象模型描述了問題領(lǐng)域中的類、類的屬性、操作以及類之間的繼承、聚集和關(guān)聯(lián)關(guān)系。設計對象模型描述了實現(xiàn)領(lǐng)域中的類、類的屬性、方法和類之間的繼承、聚集和依賴等關(guān)系。 對象模型化技術(shù)在UML中,將各種方法使用的符號進行了統(tǒng)一,因此現(xiàn)在可以使用UML表示法來描述對象模型。 動態(tài)模型描述了系統(tǒng)中的動態(tài)行為,即與時間有關(guān)的方面以及操作發(fā)生的順序。動態(tài)模型用狀態(tài)轉(zhuǎn)換圖表示,每個狀態(tài)轉(zhuǎn)換圖描述了系統(tǒng)中對一個類的對象允許的事件和狀
10、態(tài)序列。圖中的事件對應于對象模型中的操作,而動作則對應于功能模型中的功能。 對象模型化技術(shù)功能模型用數(shù)據(jù)流圖來表示,描述了系統(tǒng)中與值轉(zhuǎn)換有關(guān)的情況,包括函數(shù)、映射、約束和功能性依賴。動態(tài)模型和功能模型都是對象模型的補充。 OMT設計方法包括分析、系統(tǒng)設計和對象設計3個步驟。 對象模型化技術(shù)分析階段要對描述系統(tǒng)需求的問題陳述進行處理,產(chǎn)生一個形式化的模型,描述系統(tǒng)中的對象、對象之間的關(guān)系、動態(tài)的控制流和數(shù)據(jù)的函數(shù)性轉(zhuǎn)換。系統(tǒng)設計階段決定系統(tǒng)的整體結(jié)構(gòu),以對象模型為依據(jù),將系統(tǒng)劃分成子系統(tǒng),并實現(xiàn)并發(fā)在對象設計階段,要設計系統(tǒng)中主要函數(shù)的實現(xiàn)算法,對分析模型進行求精和優(yōu)化,產(chǎn)生一個實用的設計方案。
11、 設計模式 設計模式通常包括模式的描述、UML圖,模式要解決的問題范圍、范例代碼、其他競爭的設計模式選擇、這些選擇中的有關(guān)協(xié)定等。設計模式正在成為通用的解決方案,因為它很容易應用于特殊的軟件開發(fā)項目之中 UML模型和視圖 UML(Unified Modeling Language,統(tǒng)一建模語言)是一種用于建立商業(yè)模型及軟件系統(tǒng)模型的標準語言和圖形符號,它能以圖表方式對軟件系統(tǒng)進行可視化描述,是“軟件分析與設計中的標準語言”。 UML定義了一種抽象的用來描述軟件系統(tǒng)結(jié)構(gòu)和行為的語言,還定義了一種標準的用來建立模型元素視圖的圖形符號。一般地,可以將UML標準圖分為結(jié)構(gòu)圖和行為圖。 1UML結(jié)構(gòu)圖
12、(1)類圖(Class Diagrams) 描述系統(tǒng)中一組類和接口間的靜態(tài)關(guān)系,這些關(guān)系既包括類之間的繼承關(guān)系,也包括類之間的關(guān)聯(lián)關(guān)系。(2)對象圖(Object Diagrams) 提供在指定時刻位于類實例間的關(guān)系的快照視圖。在以一種靜態(tài)的方法保存并說明系統(tǒng)內(nèi)復雜的動態(tài)時,對象圖會很有用。 (3)組件圖(Compenent Diagrams) 描述系統(tǒng)的靜態(tài)實現(xiàn)視圖,顯示了一組組件和它們之間的關(guān)系。組件代表的是模型中邏輯抽象的物理實現(xiàn),例如,類和它們的交互。(4)部署圖(Deployment Diagrams) 描述在一個系統(tǒng)結(jié)構(gòu)視圖中物理節(jié)點的鏈接,節(jié)點是為執(zhí)行一個或多個組件提供物理操作環(huán)
13、境的計算資源。 2UML行為圖 (1)用例圖(Use Case Diagrams) 通過描述一組用例與其執(zhí)行者之間的關(guān)系,為系統(tǒng)、子系統(tǒng)或類的行為建立模型。(2)活動圖(Activity Diagrams) 顯示了一個系統(tǒng)的活動流,包括從活動到活動的連續(xù)流,以及執(zhí)行這些活動或由這些活動產(chǎn)生的對象。 (3)狀態(tài)圖(Statechart Diagrams) 描述一系列對象的內(nèi)部狀態(tài)以及狀態(tài)的變化和轉(zhuǎn)移,常用于給對象的事件順序行為建模。(4)順序圖(Sequence Diagrams) 通過強調(diào)消息的時間順序,描述對象間的相互關(guān)系。這些對象是類的典型實例,且可以描述其他的分類者,例如,執(zhí)行者、組件或節(jié)點。(5)協(xié)作圖(Collaboration Diagrams
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 果蔬汁飲料的環(huán)保生產(chǎn)與節(jié)能減排措施考核試卷
- 農(nóng)田撂荒復耕方案范本
- 農(nóng)業(yè)氣象學2024年農(nóng)藝師試題及答案
- 2023年中國能建陜西院招聘筆試參考題庫附帶答案詳解
- 2023年中國稀土集團總部部分崗位社會公開招聘筆試參考題庫附帶答案詳解
- 北侖庭院綠化施工方案
- 證券從業(yè)資格證的實操技能試題及答案
- 租賃設備市場租賃合同執(zhí)行與監(jiān)管考核試卷
- 戀愛性格測試題目及答案
- 建筑光纖通信系統(tǒng)安裝考核試卷
- 急診及重癥醫(yī)學-機械通氣
- 《企業(yè)資金管理內(nèi)部控制研究7800字(論文)》
- YY/T 1248-2014乙型肝炎病毒表面抗體測定試劑(盒)(化學發(fā)光免疫分析法)
- SH/T 1673-1999工業(yè)用環(huán)己烷
- 重癥醫(yī)學科各項規(guī)章制度匯編
- 三角函數(shù)的應用論文Word版
- 平面位置(軸線)測量記錄表
- 生物制造國內(nèi)外狀況課件
- 處分通報范文員工處分通報范文4篇
- 幼兒園大班數(shù)學口算練習題可打印
- 罰沒收繳物品處理管理流程圖
評論
0/150
提交評論