freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[工學]軟件工程第六章復習資料-資料下載頁

2025-01-09 14:39本頁面
  

【正文】 (4) 基于三個模型的分析過程 OMT 強調對“現(xiàn)實”的模型化。這里,“現(xiàn)實”是指我們所面對的實際應用問題。即就是說,分析模型是對實際問題的抽象。分析模型中的對象代表實際問題中的對象,分析模型中對象之間的關系反映了實際問題中對象之間的關系。與此同時, OMT 還對具體做法給出很多建議。比如,如何識別類及類與類之 間的關系,何時考慮屬性和操作,怎樣利用繼承對對象模型做進一步的細化等。此外, OMT 還建議通過識別觸發(fā)系統(tǒng)內部活動的事件,以及系統(tǒng)對這些事件的反應來建立動態(tài)模型;通過分析輸入和輸出數(shù)據 (這些通常是伴隨事件的有關參數(shù) )的相關性,以及有關的中間結果來建立功能模型。 6. Coad 與 Yourdon 的 OOA 方法 我們采用 Coad 與 Yourdon 提出的面向對象分析 方法來討論分析的過程。這種方法是在信息模型化技術,面向對象程序設計語言及知識庫系統(tǒng)的基礎上發(fā)展起來的。 (1) 面向對象的分析的考慮 Coad 與 Yourdon 認為面向對象分析 (OOA)的主要考慮在于與一個特定應用有關的對象以及對象與對象之間在結構與相互作用上的關系。 OOA 有兩個任務。 對象 A 過程 1 過程 2 控制流 對象 B 數(shù)據流 數(shù)據流 數(shù)據存儲區(qū) 19 ? 形式地說明我們所面對的應用問題,最終成為軟件系統(tǒng)基本構成的對象,還有系統(tǒng)所必須遵從的,由應用環(huán)境所決定的規(guī)則和約束。 ? 明確地規(guī)定構成系統(tǒng)的對象如何協(xié)同合作,完成指定的功能。這種協(xié)同在模型中是以一組消息連接來表示的,它們承擔了各個對象之間的通信。 通過 OOA 建立的系統(tǒng)模型是以概念為中心的,因此稱為概念模型。這樣的模型由一組相關的類組成。 OOA 可以采用自頂向下的方法,逐層分解建 立系統(tǒng)模型,也可以自底向上地從已經定義的基本類出發(fā),逐步構造新的類。軟件規(guī)格說明就是基于這樣的概念模型形成的,以模型描述為基本部分,在加上接口要求、性能限制等其它方面的要求說明。 構造和評審 OOA 概念模型的順序和由五個層次組成。這五個層次不是構成軟件系統(tǒng)的層次,而是分析過程中的層次,也可以說是問題的不同側面。每個層次的工作都為系統(tǒng)的規(guī)格說明增加了一個組成部分。當五個層次的工作全部完成時, OOA 的任務也就完成了。這五個層次是:類與對象、屬性、服務、結構和主題。 圖 給出了這五個層次,以及每個層次中涉及到 的主要概念和相應的圖形表示。 圖 面向對象分析的概念模型 (2) 標識對象和類 OOA 的 第一個層次是識別類和對象。類和對象是對與應用有關的概念的抽象。不僅是說明應用問題的重要手段,同時也是構成軟件系統(tǒng)的基本元素。這一層的工作是整個分析模型的基礎。 ① 如何找出對象和類 對于一個給定的問 題論域,找出一個適當?shù)膶ο蠹喜拍艽_??蓮陀眯院涂蓴U充性,并能借助面向對象的開發(fā)模式,提高軟件開發(fā)的質量和生產率。 在做問題識別時,系統(tǒng)分析員應按以下五個步驟找出描述應用論域的對象和類: ? 親自到現(xiàn)場了解在相同應用論域中類似系統(tǒng)的運行情況; ? 注意聽取該應用論域的專家對問題解決相關問題的解說,并進行討論; 類與對象層 屬性層 服務層 結構層 主題層 服務 消息連接 屬性 實例連接 類邊界 實例邊界 一般化 ― 特殊化結構 整體 ― 部分結構 主題 20 ? 調查以往是否有相同或類似應用論域的面向對象分析的結果。若有,看是否有可復用對象和類。 ? 詳細閱讀客戶提交的問題陳述,并閱讀與該應用論域相關的資料或書籍。同時,將在客戶的問題陳述中出現(xiàn)的所有名詞 開列出來。 ? 建立系統(tǒng)原型,交給客戶試用,根據客戶的意見和要求,修改系統(tǒng)規(guī)格說明。 ② 基于語言的信息分析( Linguistic- based Information Analysis,簡稱 LIA) 對象是與應用論域的有關概念緊密結合在一起的。概念的處理主要是基于自然語言:書面語或口語。將語言規(guī)則應用到軟件系統(tǒng)分析中的處理方法稱為基于語言的信息分析 (LIA)。LIA 的目的是標識出問題論域的所有概念及這些概念之間的關系。有兩種十分有效的 LIA 技術:短語頻率分析和矩陣分析。 ? 短語頻率分析 :短語頻率分析搜索 選定的問題陳述,標識可以表示問題論域概念的術語。 PFA 的優(yōu)點在于能廣泛地標識問題論域的概念集合,并對它們進行評估,判定它們中哪些與目標軟件無關,避免因某些主觀原因,而導致誤選、遺漏或產生冗余。 ? 矩陣分析 :矩陣的行和列是應用論域的概念,這些概念通??梢援a生所標識對象的初始集合。矩陣中的元素表示了相對應的行與列上的概念之間的關聯(lián)關系。初始矩陣可以從問題陳述中機械地構造出來,分析員逐個元素地評審和討論這個矩陣,標識出應用論域的關系(事務規(guī)則 )。 ③ 三視圖模型 3VM( 3View Modeling) 在做面 向對象分析時,還用到 3 種非常有用的傳統(tǒng)系統(tǒng)分析工具:數(shù)據流圖、實體 –關系圖以及狀態(tài) – 遷移圖,它們涉及系統(tǒng)的 3 個不同的、相互獨立的方面( 處理過程 、 數(shù)據和 控制 ),稱為三視圖模型 3VM( 3View Modeling)。 ? 實體 – 關系圖 (簡稱 ERD) 在 ERD 中的實體很有可能成為對象,實體的屬性可表示成最終要由對象進行存儲的數(shù)據,實體之間的關系有可能將建立 “關聯(lián)對象 ”。此外,表示關系 (連接 )的基數(shù),以及因果條件可能成為維持這些關系的服務。所以 ERD 是 OOA 的一個有力的工具。 ERD 的 問題是:標識的實 體可能與應用論域概念無關,且 對于那些不存儲數(shù)據的對象顯得無能為力。 ? 數(shù)據流模型 有兩種形式的數(shù)據流模型: 上下文圖 和 分層的數(shù)據流圖 。 上下文圖 確定一個全局的系統(tǒng)邊界,描述系統(tǒng)和外部實體的交互,這些外部實體應是候選的對象。對象集合必須闡明外部實體的數(shù)據流是如何被接收、處理及生成的。 分層的數(shù)據流圖 描述系統(tǒng)的功能是如何分解成為一些基本單元的,這些基本單元最終將成為系統(tǒng)的基本處理規(guī)格說明 (Primitive Process Specifications, 簡稱 PPSs),以 PPSs 描述對象的方法或服務。此外,還 可用判定表或場景描述系統(tǒng)的功能。 ? 狀 態(tài) – 遷移模型 有兩種形式 的狀態(tài) – 遷移模型: 事件 – 響應模型 和 狀態(tài) – 遷移圖 。任何一個系統(tǒng)中的對象必須是事件的識別者或事件的響應者。如果一個對象既不能識別事件的發(fā)生,也不能響應任一事件,它就不是屬于這個系統(tǒng)的對象。因此, 事件 – 響應模型 必須標識出系統(tǒng)必須識別的所發(fā)生的每一個事件,以及系統(tǒng)必須作出的預期響應的事件,還必須標識一系列的識別事件的對象、產生響應的對象。 狀態(tài) – 遷移圖 則可用來標識事件識別對象和對事件產生響應的對象,標識保存狀態(tài)信息的屬性。 ② 選擇類的原則 ? 對象應該 具有記憶其自身狀態(tài)的能力。而且對象的屬性應當是系統(tǒng)所關心的,或是系統(tǒng)正常運行所必需的。 ? 對象應當具有有意義的服務(操作),可用以修改對象本身的狀態(tài)(屬性值)。而且對 21 象可以利用其服務為系統(tǒng)中的其它對象提供外部服務。 如果類不需提供任何服務,則此類或對象可不必包含在分析模型中。 ? 對象應當具有多個有意義的屬性。僅有一個屬性的對象最好表示為其他對象的屬性。 ? 為對象定義的屬性應適合于對象的所有實例。如果對象的某一個實例不具備某屬性,則意味著應用論域中存在尚未發(fā)現(xiàn)的繼承關系。應該利用繼承關系將原來的對象和特殊 的實例區(qū)分為兩個對象。 ? 為對象定義的有關服務應適合于對象的所有實例。 ? 一個類中應當有一個以上的實例: 如果一個類中只要一個實例或對象,那么有可能這個類沒有存在的必要。但如果一個類雖然只有一個實例,但它反映的應用論域的某一種概念,那么它必須作為一個類存在。 ? 對象應是軟件分析模型的必要成分,與設計和實現(xiàn)方法無關。 ? 有時為了提高執(zhí)行速度,需要增加一些類或對象或屬性,用以保存另一些類或對象產生的暫時結果,以避免重復計算。但這應是設計階段考慮的問題,不應是分析階段做的事。 在面向對象的分析活動中,對對象 的識別和篩選取決于應用問題及其背景。也取決于分析員的主觀思維。 (3) 標識結構 OOA 的下一個層次是 結構層,用于標識了對象之間的組裝和繼承關系。在 OOA 中,標識結構是處理 OOA 模型復雜性的機制之一。 典型的結構有兩種:一般化 – 特殊化結構和整體 – 部分結構 ,如 圖 和 所 示 。 整體 – 部分結構也叫做組裝結構,表示聚合關系,即由屬于不同類的成員聚合而形成新的類,它用符號△表示有向性,在△的上面是一個整體對象,下面是部分對象。 一般化 – 特殊化 結構也叫做分類結構。其中,特殊化類是一般化類的派生類,一般化類是特 殊化類的基類。分類結構具有繼承性,一般化類和對象的屬性和服務一旦被識別,即可在特殊化類和對象中使用。采用繼承來顯式地表達屬性和服務的公共部分,這可以實現(xiàn)在分類結構中恰如其分地分配屬性和服務。將共同的屬性放在上層,而將特有的屬性放在下層;將共同的服務放在上層,而將特有的服務放在下層。分類結構還可以形成層次或網絡,以描述復雜的特殊化類,有效地表示公共部分。 圖 一般化 – 特殊化 結構的例子 圖 整體 – 部分結構的例子 繼承適合于結構、表格和定義,不適用于值。例如,“雞”是“鳥”的特殊化,它們之間共享了許多屬性和服務。如“翅膀”?!半u”和“鳥”可以共享“翅膀”的定義,但不能共享“翅膀”的特定值。 從整體的視點來看,一個 整體 – 部分 結構可看作一個 “has a”結構。例如, Vehicle has a Engine 。其中, Vehicle 是整體對象, Engine 是局部對象。 整體 – 部分 結構不是類與類之間的對應關聯(lián),而是類的實例與實例之間的對應關聯(lián)。一個 整體 對象可以有不同種類的 部分 對象,且可以有多個 部分 對象。因此,在 整體 – 部分 連線1 1,m 1,m 1 22 的兩端應標注一個數(shù)量 (Amount)或范圍 (Range), 以表明一個 整體 對象可以擁有的 部分 對象的數(shù)目。通常,這種結構表明以下幾種關聯(lián): ? 總體 – 部分 (Assembly– Parts)關聯(lián),如飛機 – 發(fā)動機之間的關系。 ? 包容 – 內含 (Container– Content)關聯(lián),如飛機 – 飛行員之間的關系。 ? 收集 – 成員 (Collection– Members)關聯(lián),如機構 – 職員之間的關系。 從特殊化的視點來看,一個一般化 – 特殊化 結構 可以 看作是 “is a”或 “is a kind of”結構。例如, a Truck Vehicle is a Vehicle 或 a Truck Vehicle is a kind of Vehicle。 一般化 – 特殊化 結構形成的繼承關系可能是單繼承,也可能是多繼承。它們形成一個層次結構。在單繼承的層次結構中,派生類之間可能會出現(xiàn)一些冗余信息;而多繼承的層次結構常常會導致較多的派生類,增加了模塊復雜性,但能夠很好地標識共同性。 (4) 標識屬性 下一個層次為屬性層, 屬性層包括對象屬性和對象之間的關系 (實例連接 )。對象所 保存的信息稱為它的屬性,通常把它們封裝在對象內部。類的屬性所描述的是狀態(tài)信息,每個實例的屬性值表達了該實例的具體狀態(tài)值。實例連接可以看成是一種事務規(guī)則或應用論域限制,表達了一個類的實例與其它類的實例的可能對應關系。 ① 標識屬性的策略 分析人員應從問題陳述中搞清:哪些性質在當前問題的背景下完全刻畫了被標識的某個對象?通常,屬性對應于帶定語的名詞。如“文件的密碼”、“學生的出生年月”等等。屬性在問題陳述中不一定有完整的顯式的描述,要識別出所關心的潛在屬性,需要對應用論域有深刻的理解。 ? 每個對象至少應含有一 個屬性,使得對象的實例能夠被唯一地標識。 ? 必須仔細地定義屬性的取值。屬性的取值必須能應用于對象類中的每一個實例。其取值不能為“不適用”。 ? 出現(xiàn)在 一般化 – 特殊化 關系中的對象所繼承的屬性必須與 一般化 – 特殊化 關系一致。子對象不能繼承那些不是為該子對象定義的屬性。所繼承的屬性必須在應用論域中有意義。 ? 所有系統(tǒng)的存儲數(shù)據需求必須說明為屬性。 在識別屬性的過程中,為避免找出冗余的或不正確的屬性,應注意以下問題: ? 對于應用論域中的某個實體,如果不僅其取值有意義,而且它本身也有必要獨立存在,那么,應將該實體 作為一個對象,而不宜作為另一個對象的屬性。 ? 對象的導出屬性應當略去。例如,“年齡”是由屬性“出生年月”與系統(tǒng)當前日期導出。因此,“年齡”不應作為人的基本屬性。 ? 在分析階段,如果某屬性描述對象的外部不可見狀態(tài),應將該屬性從分析模型中刪去。 如果在標識屬性的過程中發(fā)生以下情況,應考慮調整對象識別的結果: ? 如果屬性只適應于對象的某些實例,而不適應于對象的另外一些實例,則往往意味著存在另一類對象,而且這兩類對象之間可能存在著繼承關系。 ? 僅有一個屬性的對象可以標識為其它對象的屬性。
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1