



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第六章 面向對象的設計n面向對象的設計模型面向對象的設計模型n系統(tǒng)設計系統(tǒng)設計n對象設計對象設計n領域對象設計領域對象設計面向對象設計的任務面向對象設計的任務n面向對象設計的任務面向對象設計的任務 n系統(tǒng)設計 n系統(tǒng)整體結構的設計 n對象設計 n對OOA模型中類/對象模型的具體化和細化 n消息設計 n從對象- 關系模型,設計出消息模型 n設計模型復審面向對象設計責 任 設計消息設計類及對象設計子系統(tǒng)設計屬性、操作、協(xié)作者對象-行為模型對象-關系模型類 / 對象模型使用實例系統(tǒng)設計過程 劃分子系統(tǒng); 確定需要并發(fā)運行的子系統(tǒng)并為它們分配處理器; 描述子系統(tǒng)之間的通信; 確定系統(tǒng)資源的管理和控制;
2、 確定人機交互構件; 選擇實現(xiàn)數(shù)據(jù)管理和任務管理的基本策略。 四種主要子系統(tǒng)n問題域子系統(tǒng)n人機交互子系統(tǒng)n任務管理子系統(tǒng)n數(shù)據(jù)管理子系統(tǒng)劃分子系統(tǒng)n劃分原則n模塊化、功能獨立、信息隱藏n同一個子系統(tǒng)的類擁有共同特性n同一個子系統(tǒng)的類具有共同目的n同一個子系統(tǒng)的類提供相似服務n同一個子系統(tǒng)的類間相對高耦合n子系統(tǒng)標準n有明確的借口,與其他子系統(tǒng)通信n一般類只和子系統(tǒng)內(nèi)部的其它類協(xié)作處理并發(fā)操作n并發(fā)的對象(子系統(tǒng))n同時n異步n作用于同一事件n處理n將并發(fā)子系統(tǒng)分配到不同處理器n將并發(fā)子系統(tǒng)分配到同一處理器n系統(tǒng)提供同步控制描述子系統(tǒng)間的通信n子系統(tǒng)協(xié)作模型n客戶/服務器n端對端請求客戶子系統(tǒng)
3、contract服務器子系統(tǒng)peersubsystempeersubsystem請求請求人機交互設計n分類分析用戶特點,設計不同界面n增加用戶界面專用的類和對象n利用快速原型演示,改進界面設計任務管理設計n策略n確定任務的特征n定義一個協(xié)調(diào)者任務和與之關聯(lián)的對象n集成其它任務和協(xié)調(diào)者n步驟n識別由事件驅動和時間驅動的任務n識別關鍵性任務、任務優(yōu)先級和任務管理類n定義任務n必要時擴充有關任務的類和對象數(shù)據(jù)管理設計n解決對象數(shù)據(jù)的存儲和檢索n數(shù)據(jù)管理設計n定義數(shù)據(jù)格式n與所使用的數(shù)據(jù)存儲管理模式相關n設計相應的操作n說明對象及所屬類和對象如何存儲自己對象設計對象設計 設計模型對象數(shù)據(jù)結構算法消息傳
4、遞控制分析模型類屬性方法關系行為對象描述n對象描述n協(xié)議描述:一組消息和對消息的注釋 n實現(xiàn)描述:對對象接收到某個消息后所執(zhí)行的操作的實現(xiàn)細節(jié)的描述 n算法設計 n程序構件與接口 n對象間的接口和對象的整體結構 領域對象的設計n設計目的支持軟件復用n設計內(nèi)容n調(diào)整需求n復用已有的組件n引入父類,分組管理領域類n添加一般化類以建立協(xié)議n調(diào)整OOA模型n設計復審n設計模板第七章 統(tǒng)一建模語言UMLnUML簡介n靜態(tài)建模n動態(tài)建模n物理架構建模nRUPUMLnUnified Modeling Languagen近10年來OOSE最重要的成果n貢獻者:Grady Booch, Ivar Jacobso
5、n, Jin Rumbaughn中文網(wǎng)站nhttp:/www. nhttp:/UML的組成nUML的模型元素n表示模型中的某個概念n表示模型元素之間的關系nUML的元模型結構n元元模型層n元模型層n模型層n用戶模型層nUML模型UML模型n圖n靜態(tài)圖n動態(tài)圖n視圖n用例視圖n邏輯視圖n并發(fā)視圖n構件視圖n部署視圖UML的特點n統(tǒng)一標準n面向對象n表達能力強大n可視化UML的應用n用于描述系統(tǒng)開發(fā)的不同類型于不同階段n從需求分析到軟件設計到軟件測試及維護n可視化問題描述,幫助理解問題n幫助建立各階段的文檔n獲取和交流有關應用問題求解的知識n輔助構建系統(tǒng)靜態(tài)建模n用例模型n用例圖表示n從最終用戶的
6、角度描述系統(tǒng)功能n類和對象模型n類圖和對象圖表示類圖Class Diagram學生姓名:string學號:string書書名:string價格:real 1購買 0.* 屬于對象圖Object Diagram王平:學生姓名:王平學號:020106英語:書書名:英語價格:26.5數(shù)學:書書名:數(shù)學價格:21.8對象間關系n關聯(lián)關系 (Association) n聚集關系(Aggregation) n泛化關系(Generalization) n依賴關系(Dependency) n細化關系 (Refinement)包圖子系統(tǒng)A子系統(tǒng)D子系統(tǒng)B子系統(tǒng)C子系統(tǒng)E子系統(tǒng)F動態(tài)建模n狀態(tài)圖(State Di
7、agram)n時序圖(Sequence Diagram)n協(xié)作圖(Collaboration Diagram)n活動圖(Activity Diagram)消息同步消息異步消息簡單消息狀態(tài)圖State Diagram超時到達上樓上樓到達上樓到達在底樓向上移動向底樓移動向下移動空閑打印機就緒打印文件時序圖(Sequence Diagram)打印機忙保存文件打印文件打印文件計算機打印服務器打印隊列計算機協(xié)作圖(Collaboration Diagram)打印機忙保存文件打印機就緒打印文件打印文件計算機打印隊列打印服務器打印機活動圖Activity DiagramDisk freeDisk full顯
8、示磁盤滿顯示在打印刪去顯示信息建立打印文件Win.printAll()printer.print()物理架構建模n邏輯架構和物理架構n邏輯架構n物理架構n構件圖n配置圖RUP基于UML的統(tǒng)一建模過程第八章 編碼和語言選擇編碼和語言選擇 n編碼的目的編碼的目的n編碼的風格編碼的風格n編碼使用的語言編碼使用的語言編碼的目的 編碼模塊的過程性描述一一一源程序(不可執(zhí)行的)(可執(zhí)行的)n 編碼的過程n熟悉所選語言的功能和程序開發(fā)環(huán)境 n仔細閱讀設計文檔詳細設計 n弄清要編碼的模塊的外部接口與內(nèi)部過程 編碼的風格n追求“聰明”和“技巧”-提倡“簡明”和“直接” n使用標準的控制結構 n清晰的前提下求取效
9、率 n. Make it right before you make it faster.n. Make it clear before you make it faster.n. Keep it right when you make it faster.n(求快不忘保持程序正確)n. Keep it simple to make it faster.n(保持程序簡單以求快)n. dont sacrifice clarity for “efficiency”.n(書寫清楚,不要為“效率”犧牲清楚)源程序的文檔化 (code documentation)n有意義的變量名稱 n適當?shù)淖⑨?n標準
10、的書寫格式n用分層縮進的寫法顯示嵌套結構的層次;n在注釋段的周圍加上邊框;n在注釋段與程序段、以及不同程序段之間插入空行;n每行只寫一條語句;n書寫表達式時,適當使用空格或圓括號等作隔離符; 程序設計語言的發(fā)展面向機器的語言高級語言(第3代)甚高級語言機器語言(第1代)匯編語言(第2代)結構語言基礎語言面向對象語言第4代語言語言的選擇n選擇編碼語言的標準 n應用領域 n算法與計算復雜性 n數(shù)據(jù)結構的復雜性 n效率的考慮 適用各類應用領域的語言 年代應用領域主要語言其他語言 20世紀60年代 商業(yè)COBOLAssembler科學計算FORTRANALGOL、BASIC、APL系統(tǒng)Assemble
11、rForth人工智能LISPSNOBOL 現(xiàn)代商業(yè)COBOL、C+、Java、 電子表格C、PL/1科學計算FORTRAN、C、C+ JavaBASIC系統(tǒng)C、C+、JavaAda、Modula人工智能LISP、Prolog 第九章 軟件測試 n測試的基本概念 n黑盒測試 n白盒測試 n測試用例設計 n多模塊程序的測試策略 n面向對象系統(tǒng)的測試 測試的基本概念測試的基本概念 n測試(testing)的目的與任務 n目的:發(fā)現(xiàn)程序的錯誤 n任務:通過執(zhí)行程序,暴露潛在的錯誤 n糾錯(debugging)的目的與任務 n目的:定位和糾正錯誤 n任務:消除軟件故障,保證程序的可靠運行 測試的特性測試
12、的特性 n挑剔性 n抱著為證明程序有錯的目的去測試 n復雜性 n設計合適的測試用例 n不徹底性 nDijkstra 一句名言:“程序測試只能證明錯誤的存在,但不能證明錯誤不存在” n經(jīng)濟性測試的種類測試的種類 n靜態(tài)分析(不執(zhí)行程序)n靜態(tài)分析器n代碼復審(Code Review)n動態(tài)分析(執(zhí)行程序)n黑盒測試n測試程序功能n白盒測試n測試程序結構測試的文檔測試的文檔 n測試計劃 n測試項目的名稱n各項測試的目的、步驟和進度n測試用例的設計 n測試報告n測試項目名稱n實測結果與期望結果的比較n發(fā)現(xiàn)的問題n測試達到的效果 黑盒測試黑盒測試 n等價分類法等價分類法(equivalence par
13、titioning)n把輸入數(shù)據(jù)的可能值劃分為若干等價類 n有效等價類和無效等價類n每一無效等價類至少需要一個測試用例 n例子 某工廠公開招工,規(guī)定報名者年齡應在16周歲至35周歲之間(到2002年3月30日止)即出生年月不在上述范圍內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯信息。 “出生年月”的等價分類 輸入數(shù)據(jù)有效等價類無效等價類出生年月6位數(shù)字字符 有非數(shù)字字符少于6個數(shù)字符多于6個數(shù)字符對應數(shù)值在196702198603之間198603月份對應數(shù)值在112之間等于“0” 12黑盒測試黑盒測試n邊界值分析法邊界值分析法( (boundary value boundary value an
14、alysis)analysis) n使被測程序在邊界值及其附近運行,從而更有效地暴露程序中潛藏的錯誤 n錯誤猜測法錯誤猜測法( (error guessing)error guessing) n猜測被測程序在哪些地方容易出錯 n針對可能的薄弱環(huán)節(jié)來設計測試用例 白盒測試白盒測試 n邏輯復蓋測試法邏輯復蓋測試法( (logic coverage logic coverage testing)testing) n用流程圖來設計測試用例 n邏輯復蓋測試的5種標準發(fā)現(xiàn)錯誤的能力 弱 強語句覆蓋每條語句至少執(zhí)行一次判定覆蓋每一判定的每個分支至少執(zhí)行一次條件覆蓋每一判定中的每個條件,分別按“真”、“假”至
15、少各執(zhí)行一次判定/條件覆蓋同時滿足判定復蓋和條件復蓋的要求條件組合覆蓋求出判定中所有條件的各種可能組合值,每一可能的條件組合至少執(zhí)行一次白盒測試白盒測試n路徑測試法路徑測試法( (path testing)path testing)n著眼于程序執(zhí)行路徑的測試方法 n程序圖(program graph) n點覆蓋n邊覆蓋n路徑覆蓋測試用例設計n黑盒測試用例設計n三角形分類程序n見教材p205n白盒測試用例設計n學生成績查詢程序n見教材p208軟件的糾錯n糾錯的策略n試湊法n跟蹤法n推理法n常用的糾錯技術n插入打印語句n設置斷點n掩蔽部分程序n蠻力糾錯技術多模塊程序的測試策略多模塊程序的測試策略
16、n測試的層次性測試的層次性 n單元(模塊)測試(unit testing)n綜合(集成)測試(integration testing)n確認測試(validation testing)n系統(tǒng)測試(system testing)n程序錯誤的類型程序錯誤的類型 n語法錯誤 n結構性錯誤 n功能性錯誤 n接口錯誤 單元測試單元測試 n目的 n通過模塊測試,使其代碼達到模塊說明書的需求 n任務 n(1) 對模塊代碼進行編譯,發(fā)現(xiàn)并糾正其語法錯誤;n(2) 進行靜態(tài)分析,驗證模塊結構及其內(nèi)部調(diào)用序列是否正確;n(3) 確定模塊的測試策略,并據(jù)此設計一組測試用例和必要的測試軟件;n(4) 用選定的測試用例
17、對模塊進行測試,直至滿足測試終止標準為止;n(5) 編制單元測試報告。 單元測試n實施步驟n編譯n靜態(tài)分析器檢查n代碼評審n動態(tài)測試n測試驅動模塊n測試樁模塊集成測試集成測試 n目的 n將經(jīng)過單元測試的模塊逐步組裝成具有良好一致性的完整的程序 n任務 n制訂集成測試實施策略 n確定集成測試的實施步驟,設計測試用例 n逐一地添加模塊,進行測試集成測試集成測試n策略與步驟策略與步驟 n自頂向下測試 n先廣后深實施步驟 n先深后廣實施步驟 n由底向上測試 n混合方式測試(sandwich testing) n對上層模塊采取自頂向下測試 n對關鍵模塊或子系統(tǒng)采取由底向上測試 確認測試確認測試 n目的
18、n確認組裝好的程序是否滿足(SRS)的要求n任務n有效性測試(黑盒測試)n配置復審(confinguration review) n驗收測試專用n alpha與beta測試通用系統(tǒng)測試系統(tǒng)測試 n目的 n軟件安裝到系統(tǒng)中以后,能否與系統(tǒng)的其余部分協(xié)調(diào)運行 n任務n測試是否與硬件協(xié)調(diào)運行n測試是否和原來就有的其它軟件協(xié)調(diào)運行 n測試是否完成SRS對它的要求 終止測試的標準n規(guī)定測試策略和應達標準n規(guī)定至少要查出的錯誤數(shù)量面向對象系統(tǒng)的測試面向對象系統(tǒng)的測試 nOO軟件的測試策略 nOO軟件測試用例設計 OO軟件的測試策略nOO軟件的單元測試 n全面地測試類和對象所封裝的屬性和操縱這些屬性的操作的
19、整體 n發(fā)現(xiàn)類的所有操作中存在的問題 n與其他的類協(xié)同工作時可能出現(xiàn)的錯誤 nOO軟件的集成測試 n基于黑盒方法的集成測試 n基于線程的測試(thread-based testing) n基于使用(use-based)的測試 OO軟件的測試策略nOO軟件的確認測試和系統(tǒng)測試n采用傳統(tǒng)的黑盒法 nOOA階段的用例所描述的用戶交互進行測試n導出OO系統(tǒng)測試的測試用例 n對象行為模型n時序圖等 n模擬用戶實際使用環(huán)境 OO軟件測試用例設計軟件測試用例設計 n(1) 每個測試用例都要有一個唯一的標識,并與被測試的一個或幾個類相關聯(lián)起來;n(2) 每個測試用例都要陳述測試的目的; (3) 對每個測試用例
20、要有相應的測試步驟,包括被測對象的特定狀態(tài)、所使用的消息和操作、可能產(chǎn)生的錯誤、測試需要的外部環(huán)境等 OO概念對測試用例設計的影響 n繼承的成員函數(shù)需要測試 n子類的測試用例可以參照父類 n類測試用例設計 n基于故障的測試用例設計n基于用例的測試用例設計n類間測試用例設計 n類關系模型 n類行為模型 第十章第十章 軟件復軟件復用用軟件復用的基本概念軟件復用的基本概念領域工程領域工程 基于構件的開發(fā)基于構件的開發(fā) 面向對象與軟件復用面向對象與軟件復用 小結小結 軟件復用的基本概念軟件復用的基本概念 n軟件復用的定義軟件復用的定義 軟件復用的重要性軟件復用的重要性 n軟件復用的目的是能更快、更好、
21、成本更低地生產(chǎn)軟件制品。n一般地說,在軟件開發(fā)中采用復用構件可以比從頭開發(fā)這個軟件更加容易。 軟件復用的粒度軟件復用的粒度 n按照可復用的粒度,軟件制品從小到大分為以下幾類:n源代碼復用n軟件體系結構復用n應用程序生成器n領域特定的軟件體系結構的復用領域工程領域工程n所謂的“領域”,指的是一組具有相似或相近軟件需求的應用系統(tǒng)所覆蓋的功能區(qū)域。n通過領域分析(domain analysis)找出最優(yōu)復用,對它們進行設計和構造,形成為可復用構件,進而建立大規(guī)模的軟件構件倉庫的過程,就是領域工程。橫向復用和縱向復用橫向復用和縱向復用 n橫向復用是指復用不同應用領域中的軟件元素。n縱向復用是指在一類具
22、有較多公共性的應用領域之間進行軟部品復用。領域分析用戶需求軟件開發(fā)與構件開發(fā)目標軟件確認可復用構件庫檢索理解領域分析領域分析 n定義n領域分析是在特定應用領域尋找最優(yōu)復用,以公共對象、類、子集合和框架等形式進行標識、分析和規(guī)約。n目標n是獲得領域分析模型 領域分析的輸入和輸出 建造可復用構件建造可復用構件 n創(chuàng)建領域構件的設計框架n 標準數(shù)據(jù)n 標準接口協(xié)議n 程序模板構件模型 建立可復用構件庫建立可復用構件庫 n三種分類模式 n枚舉分類 n門面分類 n屬性-值分類 基于構件的開發(fā)基于構件的開發(fā) n構件集成模型構件集成模型n應用系統(tǒng)工程應用系統(tǒng)工程面向對象與軟件復用面向對象與軟件復用 nOOOO方法對軟件復用的支持方法對軟件復用的支持n復用技術對復用技術對OOOO方法的支持方法的支持小結小結n軟件復用是在軟件開發(fā)中避免重復勞動的解決方案。n通過軟件復用,可以提高軟件開發(fā)的效率和質量。軟件復用研究被視為解決軟件危機,提高軟件生產(chǎn)效率和質量的現(xiàn)實可行的途徑。第十一章 軟件維護n軟
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濕地公園水生植物種植及生態(tài)景觀設計施工協(xié)議
- 高端工業(yè)模具技術改造質量跟蹤及服務合同
- 土地儲備項目補償款支付及延期協(xié)議
- 影視作品兼職配音員合作協(xié)議
- 商務辦公租賃收益分配合同
- 電視劇組武術替身人員酬勞結算合同
- 兒童撫養(yǎng)費用與父母收入比例調(diào)整合同
- 家庭經(jīng)濟狀況聯(lián)動子女撫養(yǎng)費用調(diào)整合同
- 海外房產(chǎn)投資風險評估與風險控制咨詢協(xié)議
- 蘇科版2025年中考數(shù)學三輪沖刺專題-數(shù)學思維及能力含答案
- 2022年江蘇泰州市第四人民醫(yī)院招考聘用高層次人才11人(必考題)模擬卷及答案
- 新加坡sm214th面經(jīng)44踏水行歌
- 產(chǎn)科輸血-ppt課件
- 國家職業(yè)技能標準 (2021年版) 公共營養(yǎng)師
- 森林防火PPT課件
- 多合規(guī)政策及流程變化對照版
- 鋼箱梁的制作及安裝方案
- 工程測量畢業(yè)設計畢業(yè)論文
- 一元二次方程四種解法知識點與練習題(包括十字相乘法)
- 水平四籃球行進間運球教學設計
- 雨露計劃職業(yè)教育補助學籍證明四川
評論
0/150
提交評論