面向?qū)ο蠼?ppt_第1頁(yè)
面向?qū)ο蠼?ppt_第2頁(yè)
面向?qū)ο蠼?ppt_第3頁(yè)
面向?qū)ο蠼?ppt_第4頁(yè)
面向?qū)ο蠼?ppt_第5頁(yè)
已閱讀5頁(yè),還剩90頁(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 需求分析的根本任務(wù) 1 1建立分析模型 模型 模型是對(duì)事物的抽象 幫助人們?cè)趧?chuàng)建一個(gè)事物之前可以有更好的理解 集中關(guān)注問(wèn)題的計(jì)算特性 數(shù)據(jù) 功能 規(guī)則等等 它是對(duì)系統(tǒng)進(jìn)行思考和推理的一種方式 建模的目標(biāo)是建立系統(tǒng)的一個(gè)表示 這個(gè)表示以精確一致的方式描述系統(tǒng) 使得系統(tǒng)的使用更加容易 建模方法抽象分解投影 1 1建立分析模型 抽象 Abstraction 一方面要求人們只關(guān)注重要的信息 忽略次要的內(nèi)容通過(guò)強(qiáng)調(diào)本質(zhì)的特征 就減少了問(wèn)題的復(fù)雜性另一方面也要求人們將認(rèn)知保留在適當(dāng)?shù)膶哟?屏蔽更深層次的細(xì)節(jié)在問(wèn)題的各元素之間推斷出更廣泛和更普遍的關(guān)系 幫助人們尋找解決方案分解 Decomposition Partitioning 分而治之 將單個(gè)復(fù)雜和難以理解的問(wèn)題分解成多個(gè)相對(duì)更容易的子問(wèn)題 并掌握各子問(wèn)題之間的聯(lián)系分解的方案往往還能提供問(wèn)題的解決思路投影 Projection 多視點(diǎn)方法 1 1建立分析模型 三種模型 1 1建立分析模型 模型 模型語(yǔ)言與表示法 2常用需求分析技術(shù) 結(jié)構(gòu)化技術(shù)數(shù)據(jù)建模實(shí)體關(guān)系圖EntityRelationshipDiagram過(guò)程建模數(shù)據(jù)流圖DataFlowDiagram上下文圖ContextDiagram微規(guī)格說(shuō)明Mini Specification數(shù)據(jù)字典DataDictionary行為建模狀態(tài) 轉(zhuǎn)換 圖 矩陣State Transition Diagram Matrix過(guò)程 數(shù)據(jù)關(guān)系建模功能實(shí)體矩陣Function EntityMatrix信息工程方法功能分解圖FunctionDecompositionDiagram過(guò)程依賴圖ProcessDependencyDiagram 面向?qū)ο蠹夹g(shù)UML用例圖Use CaseDiagram類圖ClassDiagram交互圖 順序圖 通信圖 Interaction Sequence Communication Diagram活動(dòng)圖ActivityDiagram對(duì)象約束語(yǔ)言O(shè)bjectConstraintLanguage狀態(tài)圖StateChartDiagram 3 需求分析方法 結(jié)構(gòu)化分析 3 需求分析方法 面向?qū)ο蠓治?第14章 面向?qū)ο蠼?潘婭panya023 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼?1 面向?qū)ο蠓治?現(xiàn)實(shí)世界的復(fù)雜模型 復(fù)雜總是簡(jiǎn)單部分的組合簡(jiǎn)單部分又是更簡(jiǎn)單部分的組合簡(jiǎn)單組成復(fù)雜的過(guò)程存在層次性每個(gè)最小簡(jiǎn)單部分獨(dú)立負(fù)責(zé)完成一系列相關(guān)任務(wù)相比較而言 每個(gè)組合內(nèi)部各部分的關(guān)系比其內(nèi)部與外部的關(guān)系都更緊密各個(gè)部分通過(guò)一致的接口進(jìn)行組合 即一個(gè)部分對(duì)其它部分的所知僅僅是接口 1 面向?qū)ο蠓治?映射現(xiàn)實(shí)模型的面向?qū)ο笏枷?任何系統(tǒng)都是能夠完成一系列相關(guān)目標(biāo)和任務(wù)的對(duì)象對(duì)象完成一個(gè)任務(wù)時(shí)會(huì)請(qǐng)求一系列其他對(duì)象幫助其完成一些子目標(biāo)其他對(duì)象為了完成其任務(wù)又會(huì)請(qǐng)求將子目標(biāo)更細(xì)分為子子目標(biāo) 并請(qǐng)求其他對(duì)象幫助完成子目標(biāo)的分解和責(zé)任分擔(dān)一直進(jìn)行直到最后產(chǎn)生的子部分可以映射到計(jì)算實(shí)體計(jì)算實(shí)體 對(duì)象層次關(guān)系 聚合 組合 繼承 關(guān)聯(lián)組合接口 一個(gè)對(duì)象暴露的接口 1 面向?qū)ο蠓治?面向?qū)ο蠼?面向?qū)ο蠼?一種用于辨識(shí)系統(tǒng)環(huán)境中的對(duì)象及這些對(duì)象之間關(guān)系的技術(shù)OMT JamesRumbaugh Booch方法 GradyBooch UMLOOSE IvarJacobson Coad YourdonShlaer MellorFusion Threeamigos UML的三位主要奠基人 被稱為 三友 threeamigos UnifiedG Booch布奇Booch方法J Rumbaugh蘭博OMT方法I Jacobson雅格布森OOSE Jacobson Booch Jacobson Rumbaugh 1 面向?qū)ο蠓治?UML 1 面向?qū)ο蠓治?UML UML對(duì)象模型ObjectModel DomainModel 用例模型UseCaseModel行為模型BehaviorModel狀態(tài)機(jī)模型對(duì)象約束語(yǔ)言O(shè)CL UML的構(gòu)成圖 UML基本構(gòu)造塊 UML基本構(gòu)造塊 事物 關(guān)系 圖 結(jié)構(gòu)事物 行為事物 分組事物 輔助事物 關(guān)聯(lián)關(guān)系 依賴關(guān)系 泛化關(guān)系 實(shí)現(xiàn)關(guān)系 靜態(tài)圖 動(dòng)態(tài)圖 用例圖 類圖 對(duì)象圖 組件圖 配置圖 時(shí)序圖 協(xié)作圖 狀態(tài)圖 活動(dòng)圖 用例 類 接口 協(xié)作 主動(dòng)類 組件 節(jié)點(diǎn) 狀態(tài)機(jī) 交互機(jī) 包 注釋 UML的 4 1 視圖 UML的 4 1 視圖 UML的 4 1 視圖 UML對(duì)軟件開(kāi)發(fā)過(guò)程的支持 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型組成元素重要概念領(lǐng)域模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼?2 1對(duì)象模型組成元素 對(duì)象 對(duì)象對(duì)象是指在一個(gè)應(yīng)用當(dāng)中具有明確角色的獨(dú)立可確認(rèn)的實(shí)體每個(gè)對(duì)象都要包含標(biāo)識(shí)唯一的標(biāo)識(shí)自己 引用狀態(tài)對(duì)象的特征描述 包括對(duì)象的屬性和屬性的取值行為對(duì)象在其狀態(tài)發(fā)生改變或者接收到外界消息時(shí)所采取的行動(dòng) 2 1對(duì)象模型組成元素 對(duì)象 常見(jiàn)的事物都可以是對(duì)象和系統(tǒng)存在交互的外部實(shí)體 例如人 設(shè)備 其他的軟件系統(tǒng)等 問(wèn)題域中存在的事物 例如報(bào)表 信息展示 信號(hào)等 在系統(tǒng)的上下文環(huán)境中發(fā)生的事件 例如一次外部控制行為 一次資源變化等 人們?cè)谂c系統(tǒng)的交互之中所扮演的角色 例如系統(tǒng)管理人員 用戶管理人員 普通用戶等 和應(yīng)用相關(guān)的組織單位 例如分公司 部門 團(tuán)隊(duì) 小組等 問(wèn)題域中問(wèn)題發(fā)生的地點(diǎn) 例如車間 辦公室等 事物組合的結(jié)構(gòu)關(guān)系 例如部分與整體的關(guān)系等 2 1對(duì)象模型組成元素 對(duì)象 但是也有事物不是對(duì)象無(wú)法界定的事物純粹的值純粹的行為 2 1對(duì)象模型組成元素 對(duì)象 一個(gè)對(duì)象維護(hù)其自身的狀態(tài)需要對(duì)外公開(kāi)一些方法 行使其職能也要對(duì)外公開(kāi)一些方法 這些方法組合起來(lái)定義了該對(duì)象允許外界訪問(wèn)的方法 或者說(shuō)限定了外界可以期望的表現(xiàn) 它們是對(duì)象需要對(duì)外界履行的協(xié)議 Protocol 一個(gè)對(duì)象的整體協(xié)議可能會(huì)分為多個(gè)內(nèi)聚的邏輯行為組 劃分后的每一個(gè)邏輯行為組就描述了對(duì)象的一個(gè)獨(dú)立職責(zé) 體現(xiàn)了對(duì)象的一個(gè)獨(dú)立角色對(duì)象職責(zé)職責(zé)是指對(duì)象持有 維護(hù)特定知識(shí)并基于知識(shí)行使固定職能的能力如果一個(gè)對(duì)象擁有多個(gè)行為組 就意味著該對(duì)象擁有多個(gè)不同的職責(zé) 需要扮演多個(gè)不同的角色 理想的單一職責(zé)對(duì)象應(yīng)該僅僅扮演一個(gè)角色 2 1對(duì)象模型組成元素 鏈接 鏈接對(duì)象之間的物理或業(yè)務(wù)聯(lián)系鏈接通常是單向的 當(dāng)然也有雙向的鏈接存在如果一個(gè)對(duì)象a存在指向b的鏈接 那就意味著a擁有對(duì)b的假設(shè) 關(guān)于b的行為和行為效果的假設(shè) 也就是說(shuō) b需要滿足a的某些行為期望 2 1對(duì)象模型組成元素 鏈接 導(dǎo)航和可見(jiàn)性由a指向b的鏈接除了包含假設(shè)和期望因素之外 還意味著a能夠在鏈接的指引下 正確的找到并將消息發(fā)送給b 即a可以導(dǎo)航到b由a指向b的鏈接使得b對(duì)a可見(jiàn) 或者說(shuō)a擁有b的可見(jiàn)性 Visibility a獲取b的可見(jiàn)性的途徑有以下幾種 b是全局對(duì)象 它對(duì)系統(tǒng)內(nèi)的所有其他對(duì)象都是可見(jiàn)的 b是a的一部分 b是被a創(chuàng)建的 b的引用被作為消息的一部分傳遞給了a 2 1對(duì)象模型組成元素 類 類類是共享相同屬性和行為的對(duì)象的集合 它為屬于該類的所有對(duì)象提供統(tǒng)一的抽象描述和生成模板抽象描述稱為接口 Interface 定義了類所含對(duì)象對(duì)外的 其他類和對(duì)象 的統(tǒng)一協(xié)議生成模板稱為實(shí)現(xiàn) Implementation 說(shuō)明了類所含對(duì)象的生成機(jī)制和行為模式 2 1對(duì)象模型組成元素 類 類的分類類產(chǎn)生的關(guān)鍵是進(jìn)行正確的分類人們認(rèn)識(shí)和處理具體事物時(shí)總會(huì)有意識(shí)或無(wú)意識(shí)的對(duì)它們進(jìn)行歸類數(shù)據(jù)驅(qū)動(dòng) Data Driven 將具有相同屬性的對(duì)象歸為一類產(chǎn)生自哲學(xué)上傳統(tǒng)的經(jīng)典分類理論 ClassicalCategorizationTheory 所有具有一個(gè)給定特性或共同特性集的實(shí)體組成一個(gè)類職責(zé)驅(qū)動(dòng) Responsibility Driven 會(huì)依據(jù)事物的相似性而不是完全的相同性來(lái)進(jìn)行事物的分類產(chǎn)生自哲學(xué)上的概念聚類 ConceptualClustering 使用概念描述而不是指定的特征來(lái)描述類別和事物 在進(jìn)行事物分類時(shí)它會(huì)考慮概念之間的相似性 并將事物歸入和其概念最為相似的類別 2 1對(duì)象模型組成元素 類 抽象抽象是指在事物的眾多特征當(dāng)中只注意那些和目標(biāo)密切相關(guān)的特征 同時(shí)忽略那些不相關(guān)的特征 進(jìn)而找出事物的本質(zhì)和共性抽象是人們?cè)诶斫馐挛飼r(shí)常用的手段對(duì)象就是對(duì)現(xiàn)實(shí)世界事物的抽象結(jié)果 它表達(dá)了系統(tǒng)所需要的現(xiàn)實(shí)世界事物特征 拋棄了那些系統(tǒng)不需要的特征 類則是對(duì)象集的抽象結(jié)果 它忽略了具體某個(gè)對(duì)象在特定時(shí)間和空間的細(xì)節(jié)狀態(tài) 從對(duì)象集的全局出發(fā) 在一個(gè)更高的邏輯層次上 描述了對(duì)象集的共性 2 1對(duì)象模型組成元素 類 封裝封裝是指盡可能隱藏構(gòu)造單位內(nèi)部的實(shí)現(xiàn)細(xì)節(jié) 只通過(guò)有限的對(duì)外接口保持對(duì)外聯(lián)系的一種軟件構(gòu)造策略絕不是簡(jiǎn)單的將屬性和行為放置在一起 2 1對(duì)象模型組成元素 關(guān)聯(lián) 關(guān)聯(lián)指出了類之間的某種語(yǔ)義聯(lián)系關(guān)聯(lián)是類對(duì)其對(duì)象實(shí)例之間的無(wú)數(shù)潛在關(guān)系的描述 2 1對(duì)象模型組成元素 關(guān)聯(lián) 2 2對(duì)象模型重要概念 繼承 如果一個(gè)類A繼承了對(duì)象B 那么A就自然具有B的全部屬性和服務(wù) 同時(shí)A也會(huì)擁有一些自己特有的屬性和服務(wù) 這些特有部分是B所不具備的結(jié)構(gòu)繼承和語(yǔ)義繼承 2 2對(duì)象模型重要概念 繼承 2 2對(duì)象模型重要概念 多態(tài) 廣義多態(tài)一個(gè)對(duì)象在相似情景下表現(xiàn)出多個(gè)不同形態(tài) 或者多個(gè)對(duì)象在同一情景中表現(xiàn)出相同形態(tài)的現(xiàn)象一個(gè)對(duì)象在相似情景下表現(xiàn)出不同的形態(tài)重載 Overloading 依據(jù)參數(shù)或返回值的不同為協(xié)議定義不同的版本 每一個(gè)版本都可以表現(xiàn)出自己獨(dú)特的行為泛型 Generality 使用同一個(gè)通用的實(shí)現(xiàn)處理不同的數(shù)據(jù)類型 然后根據(jù)數(shù)據(jù)類型的不同表現(xiàn)出不同的行為狹義多態(tài)多個(gè)對(duì)象在同一情景中表現(xiàn)出相同形態(tài)的現(xiàn)象 2 3領(lǐng)域模型 類大多是概念類 ConceptClass 是一個(gè)能夠代表現(xiàn)實(shí)世界事物的概念概念類之間存在指明語(yǔ)義聯(lián)系的關(guān)聯(lián) 這些關(guān)聯(lián)通常不標(biāo)記方向 也不標(biāo)記關(guān)聯(lián)端的可見(jiàn)性概念類會(huì)顯式的描述自己的一些重要屬性 但不是全部的詳細(xì)屬性 而且概念類的屬性通常沒(méi)有類型的約束概念類不顯式的標(biāo)記類的行為 即概念類不包含明確的方法 2 3領(lǐng)域模型 Contained in Stocked in Records sale of Paid by Hosues Captured on 1 1 0 1 1 1 1 1 1 1 1 1 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼?3 用例模型 用例模型就是以用例為基本單位建立的一個(gè)系統(tǒng)功能展示模型 它是系統(tǒng)所有用例的集合 以統(tǒng)一 圖形化方式展示系統(tǒng)的功能和行為特性用例是獲取和組織用戶需求的手段基本元素用例 UseCase 參與者 Actor 關(guān)系 Relationship 系統(tǒng)邊界 SystemBoundary 3 用例模型 BaseUseCase ExtendingUseCase SpecializedUseCase GeneralUseCase BaseUseCase IncludedUseCase Communication 3 用例模型 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼?4 行為模型 行為模型交互圖 InteractionDiagram 順序圖 SequenceDiagram 通信圖 CommunicationDiagram 交互概述圖 InteractionOverviewDiagram 時(shí)間圖 TimingDiagram 活動(dòng)圖 ActivityDiagram 狀態(tài)圖 StateDiagram 4 行為模型 交互圖 交互圖以一組對(duì)象為中心的交互描述技術(shù)描述在特定上下文環(huán)境中一組對(duì)象的交互行為互圖通常描述的是單個(gè)用例的典型場(chǎng)景交互圖中的每一個(gè)交互都描述了環(huán)境中的對(duì)象為了實(shí)現(xiàn)某個(gè)目標(biāo)而執(zhí)行的一系列消息交換順序圖和通信圖是最常用的交互圖交互圖中出現(xiàn)的對(duì)象應(yīng)該在領(lǐng)域模型中有相應(yīng)的對(duì)象存在 4 行為模型 交互圖 順序圖 4 行為模型 交互圖 通信圖消息 sequence expression messagemessage attribute name argument return value sequence expression label iteration expression iteration expression iteration clause condition clause 4 行為模型 交互圖 系統(tǒng)順序圖將整個(gè)系統(tǒng)看作一個(gè)黑箱的對(duì)象 強(qiáng)調(diào)外部參與者和系統(tǒng)的交互行為 重點(diǎn)展示系統(tǒng)級(jí)事件 4 行為模型 活動(dòng)圖 活動(dòng)圖借鑒了多種BPM后建立的行為圖以 流 控制流和數(shù)據(jù)流 處理為側(cè)重點(diǎn)描述系統(tǒng)的行為通常以組織的整體業(yè)務(wù)流程為描述對(duì)象的 4 行為模型 活動(dòng)圖 示例 4 行為模型 狀態(tài)圖 狀態(tài)圖以狀態(tài)機(jī)理論為基礎(chǔ)建立的對(duì)系統(tǒng)行為的描述手段狀態(tài)機(jī)是以 狀態(tài) 概念為基礎(chǔ)解釋系統(tǒng)行為的一種技術(shù)有限狀態(tài)機(jī)FSM FiniteStateMachine 是用于建模的最簡(jiǎn)單的狀態(tài)機(jī)在FSM技術(shù)基礎(chǔ)之上 發(fā)展出了多種分支技術(shù) UML的狀態(tài)圖SD StateDiagram 也是其中之一 主要用于描述重要而且復(fù)雜的對(duì)象的所有行為這個(gè)對(duì)象的行為通常要涉及很多 甚至大部分 的用例 4 行為模型 狀態(tài)圖 狀態(tài)機(jī)理論狀態(tài)機(jī)理論認(rèn)為 系統(tǒng)總是處于一定的狀態(tài)之中 而且 在某一時(shí)刻 系統(tǒng)只能處于一種狀態(tài)之中 系統(tǒng)在任何一個(gè)狀態(tài)中都是穩(wěn)定的 如果沒(méi)有外部事件觸發(fā) 系統(tǒng)會(huì)一直持續(xù)維持該狀態(tài) 如果發(fā)生有效的觸發(fā)事件 系統(tǒng)將會(huì)響應(yīng)事件 從一種狀態(tài)轉(zhuǎn)移到唯一的另一種狀態(tài) 如果能夠羅列出系統(tǒng)所有可能的狀態(tài) 并發(fā)現(xiàn)所有有效的外部事件 那么就能夠從狀態(tài)轉(zhuǎn)移的角度完整的表達(dá)系統(tǒng)的所有行為 4 行為模型 狀態(tài)圖 簡(jiǎn)單示例 Ready ctr 0 Stop normal 狀態(tài) 觸發(fā) 行為 開(kāi)始狀態(tài) 轉(zhuǎn)換 結(jié)束狀態(tài) Done 監(jiān)護(hù)條件 事件 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼?5 對(duì)象約束語(yǔ)言O(shè)CL OCL并不是UML中單獨(dú)的一個(gè)模型 而是被應(yīng)用在其他的模型當(dāng)中 豐富其他模型的語(yǔ)義OCL是一種無(wú)副作用的規(guī)約語(yǔ)言以表達(dá)式的方式定義對(duì)其他模型元素的約束約束和限制其他模型元素的行為和狀態(tài)變化不會(huì)修改任何其他模型元素的表述OCL不是一種編程語(yǔ)言 OCL的首要定位是建模語(yǔ)言 因此它在保證一定表達(dá)能力的前提下 注重于語(yǔ)言的簡(jiǎn)潔性和抽象性它無(wú)法被用來(lái)描述程序的控制邏輯和工作流程 它的表達(dá)式定義也無(wú)法在程序中得到直接的執(zhí)行 61 5 對(duì)象約束語(yǔ)言O(shè)CL 示例 Flight Airplane 62 5 對(duì)象約束語(yǔ)言O(shè)CL 示例 contextFlightinv type cargoimpliesairplane type cargoinv type passengerimpliesairplane type passenger 5 對(duì)象約束語(yǔ)言O(shè)CL examples 5 對(duì)象約束語(yǔ)言O(shè)CL examples 5 對(duì)象約束語(yǔ)言O(shè)CL 構(gòu)成類型表達(dá)式保留關(guān)鍵字 5 對(duì)象約束語(yǔ)言O(shè)CL 主要應(yīng)用不變量不變量是可以對(duì)UML類元施加的約束類元需要保持它的表達(dá)式取值在指定的時(shí)間范圍內(nèi)或者指定的條件下始終為 真 最常見(jiàn)的是用來(lái)約束類的屬性或者類的方法 4 對(duì)象約束語(yǔ)言O(shè)CL 前置條件和后置條件前置條件要求類元在執(zhí)行操作之前必須保證前置條件的表達(dá)式為真后置條件要求類元在操作執(zhí)行完成之后必須保證后置條件的表達(dá)式為真 LoyaltyAccount points Integer earn i Integer burn i Integer isEmpty Boolean points 0 points points pre i classinvariant postconditionforburnoperation result points 0 points iandi 0 preconditionforburnoperation points points pre i i 0 5 對(duì)象約束語(yǔ)言O(shè)CL 監(jiān)護(hù)條件監(jiān)護(hù)條件是對(duì)狀態(tài)機(jī)模型中狀態(tài)轉(zhuǎn)移施加的約束在狀態(tài)機(jī)到達(dá)轉(zhuǎn)移點(diǎn)時(shí) 監(jiān)護(hù)條件的表達(dá)式需要根據(jù)實(shí)際狀態(tài)進(jìn)行評(píng)估 并只有在表達(dá)式實(shí)際取值為 真 的情況下才進(jìn)行轉(zhuǎn)移 主要內(nèi)容 面向?qū)ο蠓治鰧?duì)象模型用例模型行為模型對(duì)象約束語(yǔ)言O(shè)CL面向?qū)ο蠼<夹g(shù)路線領(lǐng)域模型建模行為模型建模CRC方法 6 1面向?qū)ο蠼<夹g(shù)路線 1 從用例描述中識(shí)別出對(duì)象和類 2 分析用例的描述信息 添加類的屬性和類之間的關(guān)聯(lián) 3 從用例描述中識(shí)別系統(tǒng)行為 4 將系統(tǒng)行為分配給類 5 綜合考慮類的屬性與行為 細(xì)化類的職責(zé) 建立完全的對(duì)象模型 6 1面向?qū)ο蠼<夹g(shù)路線 面向?qū)ο蠓治龅慕Y(jié)果 建立領(lǐng)域模型建立行為模型 6 2領(lǐng)域模型建模 建立領(lǐng)域模型發(fā)現(xiàn)對(duì)象和類概念類分類列表名詞分析行為分析建立類之間的關(guān)聯(lián)添加類的重要屬性 6 2領(lǐng)域模型建模 發(fā)現(xiàn)對(duì)象和類 如果候選對(duì)象既維持一定的狀態(tài) 又依據(jù)狀態(tài)表現(xiàn)一定的行為 那么它就應(yīng)該是一個(gè)獨(dú)立存在的對(duì)象如果候選對(duì)象只有狀態(tài)沒(méi)有行為 那么就要分析它的狀態(tài)是否是系統(tǒng)需要的數(shù)據(jù) 如果系統(tǒng)需要它的狀態(tài)數(shù)據(jù) 那么該候選對(duì)象就應(yīng)該作為其他對(duì)象的屬性出現(xiàn)在最終的領(lǐng)域模型當(dāng)中 否則 該候選對(duì)象應(yīng)該被擯棄如果候選對(duì)象只有行為沒(méi)有狀態(tài) 那么往往意味著需求信息的遺漏需要注意實(shí)體關(guān)系建模思想帶來(lái)的誤區(qū) 6 2領(lǐng)域模型建模 發(fā)現(xiàn)對(duì)象和類 概念類分類列表這種方法事先給出一個(gè)概念類的分類列表 從中發(fā)現(xiàn)對(duì)象 6 2領(lǐng)域模型建模 發(fā)現(xiàn)對(duì)象和類 概念類分類列表示例 6 2領(lǐng)域模型建模 發(fā)現(xiàn)對(duì)象和類 名詞分析從文本描述中識(shí)別出有關(guān)的名詞和名詞短語(yǔ) 然后從中發(fā)現(xiàn)對(duì)象 6 2領(lǐng)域模型建模 發(fā)現(xiàn)對(duì)象和類 行為分析從需求描述中搜尋動(dòng)詞 識(shí)別出系統(tǒng)行為 然后從中發(fā)現(xiàn)對(duì)象 6 2領(lǐng)域模型建模 建立類之間的關(guān)聯(lián) 保證類之間協(xié)作所必需的可見(jiàn)性適當(dāng)使用問(wèn)題域內(nèi)的關(guān)聯(lián) 增強(qiáng)領(lǐng)域模型的可理解性要適可而止不要在關(guān)聯(lián)的識(shí)別上花費(fèi)太多的時(shí)間識(shí)別概念類比識(shí)別關(guān)聯(lián)更加重要避免顯示冗余和導(dǎo)出的關(guān)聯(lián) 6 2領(lǐng)域模型建模 建立類之間的關(guān)聯(lián) 示例 6 2領(lǐng)域模型建模 添加類的重要屬性 實(shí)現(xiàn)類協(xié)作時(shí)必要的信息 是協(xié)作的條件 輸入 結(jié)果或者過(guò)程記錄使用用戶的描述方式 不進(jìn)行類型和約束的嚴(yán)格定義 6 3行為模型建模 建立行為模型建立系統(tǒng)順序圖在需要時(shí)建立詳細(xì)的交互圖建立用例的狀態(tài)圖或者重要類的狀態(tài)圖建立活動(dòng)圖為系統(tǒng)行為添加契約說(shuō)明 6 3行為模型建模 建立交互圖 確定交互圖的上下文環(huán)境上下文環(huán)境的前置條件和后置條件應(yīng)該被分配給交互圖中的相應(yīng)行為找出參與交互的對(duì)象交互圖中的參與對(duì)象 和對(duì)象之間的關(guān)聯(lián) 應(yīng)該和領(lǐng)域模型中的知識(shí)保持一致 根據(jù)發(fā)現(xiàn)的對(duì)象 和關(guān)聯(lián) 建立交互圖框架添加消息 描述交互行為考慮和系統(tǒng)相關(guān)的 系統(tǒng)內(nèi)的 系統(tǒng)與外部對(duì)象之間的 交互行為 忽略那些與系統(tǒng)無(wú)關(guān)的 外部對(duì)象之間的 交互行為 如果建立的是系統(tǒng)順序圖 那么系統(tǒng)內(nèi)的行為也可以被忽略 進(jìn)行消息標(biāo)識(shí) 特化圖示等詳細(xì)信息的描述 將交互圖的信息補(bǔ)充完整 6 3行為模型建模 建立交互圖 6 3行為模型建模 建立狀態(tài)圖 確定上下文環(huán)境搞清楚狀態(tài)的主體常見(jiàn)的狀態(tài)主體有 類 用例 多個(gè)用例和整個(gè)系統(tǒng)識(shí)別狀態(tài) 標(biāo)記初始狀態(tài)和結(jié)束狀態(tài)可能會(huì)不存在確定的初始狀態(tài)和結(jié)束狀態(tài)建立狀態(tài)轉(zhuǎn)換補(bǔ)充詳細(xì)信息 完善狀態(tài)圖 6 3行為模型建模 建立狀態(tài)圖 6 3行為模型建模 建立活動(dòng)圖 確定活動(dòng)圖的上下文環(huán)境界定業(yè)務(wù)流程的處理界限分析業(yè)務(wù)流程中的主要處理步驟分析業(yè)務(wù)流程中的主要數(shù)據(jù)流進(jìn)行職責(zé)分配 將業(yè)務(wù)流程的處理步驟劃分到不同的泳道 并將處理步驟和數(shù)據(jù)流的傳遞組織起來(lái) 建立活動(dòng)圖添加活動(dòng)圖的詳細(xì)信息 完善活動(dòng)圖描述 6 3行為模型建模 建立活動(dòng)圖 6 3行為模型建模 添加契約說(shuō)明 不需要為所有的系統(tǒng)行為都定義操作契約 可以有選擇的為其中的一部分系統(tǒng)行為定義操作契約涉及到很多狀態(tài)變化的復(fù)雜行為因果關(guān)系比較微妙的模糊行為可以從下面幾個(gè)角度進(jìn)行約束的發(fā)現(xiàn)工作 不變量 系統(tǒng)行為中所涉及的敏感狀態(tài) 這些狀態(tài)的改變往往會(huì)產(chǎn)生廣泛的連鎖反應(yīng)不可改變的屬性 不可改變的關(guān)聯(lián)關(guān)系前置條件 行為發(fā)生和順利完成所需要的系統(tǒng)的狀態(tài)條件合法的參數(shù)有效的狀態(tài)對(duì)象的存在狀態(tài) 對(duì)象的屬性取值 有效的關(guān)聯(lián)關(guān)系后置條件 行為順利完成之后引起的系統(tǒng)狀態(tài)改變有效狀態(tài)的改變對(duì)象的存在狀態(tài) 對(duì)象的

溫馨提示

  • 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)論