




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第10章
面向對象的系統分析1OOA任務:以面向對象的觀點和方法描述系統或產品,以使它符合面向對象軟件工程的特點。系統分析的原則:①信息域建模;②描述模塊的功能;③表示模塊行為;④劃分模塊,取得更多的細節;⑤早期模型表示本質,后期模型提供細節。OOA的過程:①和用戶交互②標識類(定義屬性和操作)③規定類層次④確定對象之間關系⑤為對象行為建模2領域分析OOA分析的屬過程和部件OOA過程對象行為模型310.1
領域分析目的:為了既滿足現行系統開發的需求,又能滿足將來同類系統的開發。OOA分析級別:①事務級(企業級):為整個企業建立模型,定義特定事務領域的對象模型;②領域級:為一個特定應用領域建立模型,定義該應用領域的對象模型。③應用級:為一個應用的特定用戶需求建立模型。410.1.1
再使用和領域分析面向對象技術是由再使用庫支持的;再使用庫將使快速開發低成本、高可靠性的產品;
3)建立再使用庫須進行領域分析。510.1.2
領域分析過程領域分析的任務①標識出應用領域中的公共需求;②面向對象的領域分析:公共對象,類等再使用部件。領域分析的過程⑴對于要分析的領域抽?。篛O項:規范、設計、支持類非OO項:計劃、標準6⑵歸類這些項成為范疇,定義范疇特征,分類方式和項的命名約定(即確定組織方式);⑶收集有代表性的應用(提取實際的或概念上的對象);⑷分析每個應用步驟(含有已有范疇的項)①標識可再使用對象(侯選)②指明可再使用原因③對侯選再使用對象進行整修④估計在本領域中該對象應用的百分比7⑤命名該對象,用CM進行管理⑥估計再使用對象集合的應用百分比⑦為這些對象開發分析模型3)領域分析的利益使用非常高百分比的再使用部件,構造本領域的軟件,低成本,高質量和快速進入市場。810.2
OOA分析的屬過程和部件一般分析過程屬部件(用于OOA)910.2.1
一般分析過程獲取客戶需求標識使用案例建立需求模型(CRC)選擇類和對象標識對象屬性和操作組織類的層次建立對象關系模型建立對象行為模型審查分析模型1010.2.2
屬部件(用于OOA)靜態部件:表明了對象的特征動態部件:控制、定時和事件處理類的靜態視圖:表示系統中存在的對象屬性靜態視圖:表示對象的屬性關系的靜態視圖:確定對象之間關系,相互操作和消息格式設計。行為動態視圖:規定操作的時間序列11通訊的動態視圖:發送消息的時間序列控制和定時的動態視圖:描述引起狀態變化事件的本質與定時。這些部件構成了分析模型。1210.3
OOA過程使用案例類—責任—協作者模型定義結構和層次定義系統和子系統對象聯系模型1310.3.1
使用案例描述目標系統的一種使用情況。角色使用案例作用使用案例圖示使用案例描述(事件流方法)141)角色和系統通訊并外部于系統的任何事物(人、設備)。特點:①一個角色代表一類外部實體②僅起一個作用主要角色:直接并經常和系統相互作用。
次要角色:支持系統,使主要角色起作用。152)使用案例作用描述了角色與系統的相互作用方式。①角色執行的主要任務②角色輸入系統的數據③角色得自系統的信息例:房屋安全系統角色:房主、傳感器、控制板房主使用案例:(相互作用方式)16設置和修改口令查詢安全部位狀態查詢傳感器狀態按緊急按鈕激活與停止系統173)使用案例圖示⑴圖例::角色:通訊:使用或擴展⑵表示關系:①通訊關系:角色與案例之間②使用關系:案例與案例之間,把公用功能孤立出來,形成被使用案例(再使用)18③擴展關系:案例與案例間,表明了特殊性和深入內容。⑶例:19處理口令應急處理激活系統房主停止系統查詢安全狀態查詢傳感器圖10.2房主使用案例處理口令應急處理停止系統查詢安全狀態激活系統房主驗證口令查詢傳感器圖10.3使用關系的框圖20客戶取款展擴使用提前取款驗證口令圖10.4使用擴展關系的框圖214)使用案例描述(事件流方法)⑴格式:使用案例名稱簡要說明:前提條件:執行案例的前提條件主要事件流:案例正常流程其它事件流:案例非正常流程錯誤事件流:出錯事件事后條件:事件后的結果⑵例:P22222使用案例名稱:激活系統簡要說明:房主使用控制面板激活系統前提條件:系統準備號,準備好指示燈亮.主要事件流A0:房主使用數字鍵輸入4位數字口令,該口令和系統內存儲的口令比較,若正確,控制面板等待下一個命令;否則執行事件流A1.房主選擇stay或away命令激活系統.Stay激活房間周邊傳感器;away激活所有的傳感器.若激活成功,紅色指示燈亮;否則執行事件流
E1.結束使用案例.23其他事件流A1:(1)控制面板響鈴一次.(2)系統復位.(3)執行事件流A0.錯誤事件流E1:(1)控制面板顯示系統出錯.(2)結束使用案例.2410.3.2
類—責任—協作者模型類—責任—協作者模型:用于描述用戶的需求,標出對象和類。構成:CRC卡片,頂部:類名,中左部:責任,中右部:協作者。類責任協作者251)類⑴確定:使用選擇特征①持有信息②有需要的服務③多個屬性④具有公共屬性(對所有對象)⑤公共操作(對所有對象實例)⑥產生需要信息26⑵類型:如設備(外部實體),相互作用類(學生成績)⑶特征:如有形的、原子的、并發的…⑷CRC卡片:類名:類的類型:(如設備、性質、作用、事件…)類的特征:(如有形、原子的、并發的…)責任:協作:圖10.5
CRC卡片272)責任:指類的屬性及其操作。分配責任的指導原則:⑴系統的智能應均勻分布:內聚改善,修改容易。①責任表太長,表示不均勻,分裂成新類②責任抽象級別應相同.例Control-panel責任:讀入口令和顯示字符28⑵每個責任盡量具有一般性,位于類層次頂層,便于應用多態性⑶信息與其相關責任駐在同一類中—封裝性⑷單一對象的信息與行為局部于單一類中,不應跨多個類⑸適當情況下,類間共享責任:通過繼承一個公共超類293)協作者類能和其它對象協作完成其責任。⑴定義:一個對象向另一對象發消息,則發生了協作。接收消息的對象稱為協作者。⑵Control-panel對象的責任:確定傳感器狀態,為取得傳感器信息,必須有傳感器協作。3010.3.3
定義結構和層次概化和特化關系進一步討論整體—部分關系的進一步討論311)概化和特化關系進一步討論⑴需要該模型原因①緊密地聯系于面向對象程序設計中的繼承;②將類似的類聯系起來,簡化問題域的描述;③該模型有效地描述了問題域中特定對象關系;④方便了通訊與理解問題域32⑵概化和特化的情況①多層次特化;學生碩士研究生研究生博士研究生多層概化/特化例子圖33②多路繼承人員學生教師教師學生圖10.7多路繼承34⑶建立模型方式①自頂向下特化:由超類特化成子類ⅰ增加子類的屬性和操作
ⅱ轉載某些屬性或操作②自底向上概化:將公共屬性與操作置于超類之中⑷超類的例化問題①超類為無對象類:當子類中所有子類的并集等于超類集合35②超類為有對象類:當子類中所有子類的并集是超類集合的子集例:對于人員的模型,如果需要工人等對象,則需從人員類中例化。⑸模型讀方式從下向上讀為…是一個…或…是一種…例:教師是一種人員362)整體—部分關系的進一步討論⑴需要該模型的原因①準確描述客觀(問題域)世界中某些對象之間關系②對復雜問題抽象的強有力工具一個復雜的系統由許多復雜對象組成,而復雜對象是由簡單對象組成。③通訊問題域工具37⑵整體—部分關系的種類①部件與零件:例控制面板與鍵盤、屏幕等。
顯示屏
鍵盤
指示燈△
△
△1
1
11控制面板1
2圖10.8控制面板的組成38②容器與包含物:辦公室與桌子、書架等辦公室△1-n1△1圖10.9整體—部分關系的約束
桌子
電話
書架
文件柜△1△139121③群體與成員:職業學會與其成員、IFAC與其成員⑶關系約束與表達方式①用三角形表示整體部分關系,尖指向整體側;②整體側數字表示零件、成員個數;部分數字表示整體個數;③約束值:單個數或數對0~n,1~n。40⑷復雜對象的行為①表明了高級行為②由低級部分的行為構成③例:控制面板應有行為ⅰ接收命令,由鍵盤實現ⅱ顯示狀態,由顯示屏實現⑸程序框架41class
class_A{publicclass_A(
);~class_A(
);private:*the_class_B[5];*the_class_C[4];class_Bclass_C……}
Class_A
Class_C
Class_B115△4△42class
class_Bclass
class_C{{public:public:class_B();class_B();~class_C();~class_C();……}}4310.3.4
定義系統和子系統子系統子系統內含子系統的圖示復雜系統的主題表示44子系統一些類相互作用,完成一組緊密相關的責任。子系統內含①子系統的責任:完成的功能②子系統的契約:接口規定③子系統的協作者:與其它子系統關系453)子系統的圖示⑴對于復雜結構的抽象表示(見圖10.12)⑵表示方式:矩形,其內注明結構名字4)復雜系統的主題表示1.控制面板4.傳感器3.
傳感器事件5.聲音警報2.系統圖10.13
OOA模型中的主題參考圖46
控制面板
顯示區
鍵
盤
指示燈
報文顯示
圖顯示
功能鍵
數字鍵
△△△△△△△△1.控制面板主題參考
LCD顯示圖10.12主題參數4710.3.5
對象聯系模型對象聯系:表示對象間的關系⑴一個對象知道另一種對象⑵一個對象知道多少個另一種對象⑶一個對象的存在必須有多少對應的對象存在⑷與E_R圖的區別①E_R圖僅表示數量的對應②對象聯系除表示數量的對應外加相互作用481)相互作用類型的對象聯系(單向作用)代碼框架class
系統{public:系統(
);~系統(
);private:控制面板
*控制面板地址…}控制面板
系
統
含有49class
控制面板{public:控制面板(
);~控制面板(
);…}502)事務類型的相互聯系(雙向聯系)實現上:一個對象中應有指向另一對象的指針①參與者——事務模板例如:學生——注冊約束基數的意義:一個學生可注冊0次或多次,而一個注冊只能由一個學生進行②事務——地方模板表示事務發生的地方,例:繳費與繳費地方③參與者——地方模板例如:學生與學院51出納窗口繳注冊費0-n1學生注冊0-n1學生學院10-n圖10.15參與者—事務模板圖10.16地方—事務模板圖10.18參與者--地方模板繳注冊費1-n521
注冊費細目圖10.19事務—事務細目模板注冊費項目0-n1
注冊費細目T3—保險費T3--學費
T2--實驗費T2--學費T1—保險費
T1-學費事務細目實驗費體檢費保險費學費項目圖10.20項目—事務細目模板53④事務——事務細目模板
例:注冊費與注冊費細節⑤項目——事務細目模板例:注冊費項目與注冊費細目(每項目的交費者)⑥對等聯系:聯系同一類中不同的對象
學
生
m-n1
學
生
543)雙向多對多聯系
課
程
學
生
1-n0-n
課
程
學
生
1-n0-n學生課程學期11變換成成績55原因:學期和成績既不屬于學生又不屬于課程①若歸入學生類,則求每門課程平均分困難;②若歸入課程類,則求每個學生的平均分困難。以上這些關系可構成OOA的對象關系模型。5610.4
對象行為模型對象的服務對象行為表示5710.4.1
對象的服務業務政策和過程服務類型發現和標識服務581)業務政策和過程①業務政策:某項業務活動的原則性規定例如:研究生在修滿32學分后可開始論文工作②業務過程:是業務政策的具體地形式化的描述例如:學分≧32∧修課
必修課③業務政策和過程是確定服務的基礎592)服務類型⑴基本服務①生成對象與取消對象(構造與折構函數)生成對象時,通常屬性值為空(除非構造函數設定值)?設定與取得操作(SET和GET)為對象設定屬性值或取得屬性值③增加或消去聯系把一個對象聯接到另一個對象上或者反之60足球隊排球隊學生體育隊屬性服務王平張林李林趙立
體育隊成員屬性服務(a)ADD(學生體育隊=“足球隊”,體育隊成員=“王平”)圖10.22增加和消去聯系服務例子61足球隊排球隊王平張林李林趙立體育隊成員體育隊成員屬性服務屬性服務(b)
REMOVE(學生體育隊=“排球隊”,體育隊成員=“張林”)圖10.22增加和消去聯系服務例子62④搜索查詢一個對象操作對于數據存貯在關系庫中的實現方式:
首先生成一個對象,發查詢消息給該對象,然后由其方法查詢數據庫,取得值后,再設置對象的屬性值。⑵問題域的特定報務對汽車租賃系統中的問題:例1汽車類的問題,計算里程和費用:計算里程:里程=結束里程-起始里程計算費用:費用=價格/公里×里程63汽車起始里程結束里程返還日期計算里程計算費用查返還日報表統計超期車輛64例2:
報表類的問題,統計超期車輛服務3)發現和標識服務⑴由事件標識服務:對象能生成事件或識別事件,識別事件的對象提供服務。考察激活系統案例的事件(有下劃線的句子),對控制板可發現下列操作:①接收口令②接收命令③比較口令④點亮指示燈⑤響鈴⑥顯示出錯報文65使用案例名稱:激活系統簡要說明:房主使用控制面板激活系統前提條件:系統準備號,準備好指示燈亮.主要事件流A0:房主使用數字鍵輸入4位數字口令,該口令和系統內存儲的口令比較,若正確,控制面板等待下一個命令;否則執行事件流A1.房主選擇stay或away命令激活系統.Stay激活房間周邊傳感器;away激活所有的傳感器.若激活成功,紅色指示燈亮;否則執行事件流
E1.結束使用案例.66其他事件流A1:(1)控制面板響鈴一次.(2)系統復位.(3)執行事件流A0.錯誤事件流E1:(1)控制面板顯示系統出錯.(2)結束使用案例.67⑵由類狀態標識服務:對于教
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧政法職業學院《交互界面原型》2023-2024學年第二學期期末試卷
- 西北大學《傳感器技術于應用》2023-2024學年第二學期期末試卷
- 廈門華天涉外職業技術學院《模擬電子線路綜合》2023-2024學年第二學期期末試卷
- 新疆第二醫學院《幼兒教育名著選讀》2023-2024學年第二學期期末試卷
- 貴州中醫藥大學《刑事法律精講》2023-2024學年第二學期期末試卷
- 廣西大學《Access數據庫程序設計》2023-2024學年第二學期期末試卷
- (高清版)DG∕TJ 08-2165-2015 建設項目交通影響評價技術標準
- 數字通信原理(第3版)課件 第8章 數字載波調制傳輸
- 3 1《蜀道難》導學案 (含部分答案)統編版高中語文選擇性必修下冊
- 全套三級安全教育培訓
- 書畫素養測試題及答案
- 鋼琴藝術培訓管理制度
- 校園廣播設備維保合同
- 反詐宣傳課件小學生版
- 八年級數學上學期期中期末沖刺卷-特訓10 一次函數 壓軸題(八大母題型歸納)(原卷版)
- 胰腺假性囊腫治療
- 浮生六記課件
- 2025年形勢與政策-加快建設社會主義文化強國+第二講中國經濟行穩致遠
- 求職趣味測試題及答案
- 中國企業可持續發展報告指南CASS-ESG 6.0-土木工程建筑業
- 2025浙江杭州學軍中學保送生自主招生數學試卷(含答案詳解)
評論
0/150
提交評論