




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、GIS軟件工程GIS Software Engineering(四)教材: 畢碩本等. 地理信息系統軟件工程的原理與方法. 科學出版社.2004.參考材料:(1)李存珠. 軟件工程概論傳統方法學和面向對象軟件工程. 南京大學計算機科學與技術系. 1999.(2)任一本軟件工程書籍. 系統分析中使用結構化分析方法SA面向對象分析方法OOACoad分析方法OMT分析方法第4章GIS軟件工程的分析方法第一節 結構化分析方法 軟件工程產生后,首先出現一、概述1. 結構化方法 根據某種原理,使用一定工具,按照特定步驟的軟件開發方法 3部分組成:結構化分析(Structure Analysis,SA)結構
2、化設計(Structured Design,SD)結構化程序設計(Structured Programming,SP)2. 發展歷程結構化程序設計 1960s末,Dijkstra提出 3種控制結構:順序選擇重復結構化設計 1970s中期,L. L. Constantine,E. Yourdon提出 基于:數據流、功能分解、人工復審測試 結構化分析 1970s末,Demarco提出 分析的對象結構化的功能說明3. 基本思想及其特點指導思想 自頂向下,逐步求精基本原則 抽象、分解特點使用最早,使用時間最長應用最廣,特別適合數據處理支持工具最多,較成熟4. 優點和存在問題優點簡單、實用適合于瀑布模型
3、,易掌握成功率高特別適合于數據處理領域,其他領域亦適用存在問題不太適應規模大、特別復雜的項目軟件重用困難難以適應需求的變化難以解決維護問題二、結構化分析的方法1. 自頂向下、逐層分解的分析策略2. 描述工具數據流圖數據字典結構化語言、判定表/樹 描述數據流圖中,不能再被分解的每個基本加工的處理邏輯3. SA分析步驟建立當前/現行系統的物理模型抽象出當前/現行系統的邏輯模型建立目標系統的邏輯模型作進一步的補充和優化 人機界面,出錯處理,I/O格式,存儲容量,響應時間等第二節 面向對象基礎一、面向對象概念1. 面向對象的基本思想 對象:研究的事物、概念2. 面向對象的基本概念對象對象的狀態/屬性和
4、行為/操作類類的關系IS-A,HAS-A消息和方法消息對象之間的通信。調用對象的成員函數方法類中操作/成員函數的實現3. 面向對象的特征對象唯一性分類性繼承性多態性4. 面向對象的要素抽象封裝性(信息隱蔽)共享性同一類中對象的共享該類的數據結構、行為特征同一應用中具有繼承關系的類的共享不同應用中類庫的共享軟件重用強調對象結構而非程序結構二、面向對象的方法1. 面向對象方法的形成 1980s,隨著OOP的成熟而形成2. 面向對象的開發方法Booch方法 1983,Booch提出 基于:詞法分析名詞對象,動詞方法Coad方法 1989,Coad和Yourdon提出 從大系統中總結、升華OMT方法
5、1991,James Rumbaugh提出 面向對象建模技術(Object Modeling Technique) 將OO貫穿于軟件生存周期的各階段第三節 Coad分析方法基礎:信息模型化技術OOP語言知識庫系統組成:OOA面向對象分析OOD面向對象設計一、概述1. 系統需求的變動因素和穩定因素 分析2. 思維組織模式 人類典型的思維過程:區分出現實世界特定的客體及其屬性區分客體的整體和組成部分給出不同種類客體的表示3. 面向對象分析方法的表示 對象,分類,繼承性,基于消息的通信4. OOA的任務任務:形式地說明所面對的應用問題對象,規則、約束明確地規定對象如何協作,完成指定功能OOA的結果O
6、OA概念模型OOA概念模型的組成:5個層次類與對象引進類和該類的對象屬性服務結構主題類和對象的特定組合表示5. OOA的步驟 5步:找到類和對象 從應用領域開始確定結構 IS-A結構,HAS-A結構定義主題 相關的類和對象的組合定義屬性定義服務 確定對象狀態,定義類的操作二、Coad分析方法1. 對象認定簡單的認定方法 1983,Booch提出 基于:詞法 名詞候選對象 動詞候選方法(服務) 實例:字處理系統注意:這里提到的對象OOP中的類 實例 實例、對象復雜系統對象的認定5個問題:到什么地方去找候選對象尋找對象的范圍:問題空間文本一切能得到的文字材料圖能收集到的一切圖:塊結構圖、接口圖、系
7、統構件圖、數據流圖、控制流圖找什么可能成為對象的東西:結構分類結構、組裝結構其他系統外部系統、外界的“終結點”設備需交互的設備事件系統及時觀察的、歷史的扮演的角色各種人員在系統中的位置系統安裝、運行的物理位置組織和單位系統涉及的人員所屬的單位考察候選對象的什么認定對象需要記憶系統是否有必要記憶對象的某些/全部成分?需要服務系統是否有必要對該對象的行為提供服務?多于一個屬性只有一個屬性的對象常應被看成其他對象的屬性共有屬性對于一種對象的所有實例,能否認定一組屬性?共有服務對于一種對象的所有實例,能否認定一組加工?提出什么質疑記憶和服務的必要性必要則認定單個實例若擁有單個實例的對象與其他對象存在共
8、有屬性,則合并為一個對象派生結果可通過計算機得出值的屬性,不認定怎樣命名認定的對象單數名詞 / 形容詞 + 名詞詞匯符合系統主題、標準可讀的名字基于內容、內在本質、確切意義2. 結構的認定 結構多種對象的組織方式 反映問題空間中復雜事物和復雜關系2種結構:分類結構事物類別之間的組織關系組裝結構事物的整體與成員之間的關系問題:分類結構用C+中的什么關系表示/構造?組裝結構認定分類結構原則先從:一般 特殊 考慮 后從:特殊 一般 考慮從一般到特殊 先認定對象的一般含義,然后考慮其可能的特殊性:是否可用不同的屬性和服務來描述?是否反映了現實世界中有意義的特殊性?是否在問題空間之內? 令:共有屬性、服
9、務 一般含義的對象 擴充的特殊屬性、服務特殊含義的對象從特殊到一般 認定對象的某種特殊含義后,再從特殊向一般考慮:問題空間是否存在其他對象與該對象具有共有的屬性/服務?若引入某種更一般的對象,是否反映了現實世界中有意義的一般性?若引入某種更一般的對象,則該對象是否存在于問題空間之中?認定組裝結構原則先從:整體 成員 考慮 后從:成員 整體 考慮從整體到成員 先認定對象是一個整體,然后考慮其可能的成員:組成成員是什么?對于它的一個成員,系統是否必要記錄每個實例/值?對于它的一個成員,每個實例是否都有屬性來描述?它的成員是否反映現實世界中存在的成員?它的成員是否限定在目標系統之內? 挖掘事物的構成
10、細節從成員到整體 假定一個對象可能是另一種對象的成員,考慮:這種對象適合什么樣的組裝關系?還需要哪些對象與這種對象一起構成另一種對象?對于這樣組裝而成的對象,系統是否有必要記錄其每一個實例?這樣組裝而成的對象,在現實世界中是否有意義?這樣組裝而成的對象,是否限定在目標系統之內? 將某些事物納入某種含義更廣、可作為整體看待的事物之中聚集角度3. 認定主題主題關于OOA模型的抽象、概貌 起控制作用 名詞 / 名詞短語認定主題的方法:為每個主題,追加一個主題為每種對象,追加一個主題若當前主題數目超過7個,則對已有主題歸并 歸并原則2個主題對應的屬性、服務存在密切聯系主題之間的聯系消息關聯 主題單獨的
11、層次,各主題有序號4. 定義屬性 屬性數據元素描述對象 / 結構的實例5步驟:認定屬性 3原則:對相應對象 / 分類結構的每個實例,是否都適用?在現實世界中,它與這種事物的關系是否最密切?認定的屬性應是一種相對的原子概念,不依賴于并列的其他屬性就可理解確定屬性的位置 確定屬性與特定對象之間的從屬關系,針對分類結構中的對象 繼承觀點認定和定義實例關聯 實例關聯一個實例集合到另一個實例集合的映射 4種實例關聯:類似于:ER圖中的實體聯系1 : 11 : m0 : 10 : m重新修改認定的對象對屬性和實例關聯進行說明 說明屬性的 名字、描述、約束、范疇 屬性的類型:定義型標識、命名各個實例派生型由
12、其他屬性的數據計算得到參考型與另一個實例的屬性值關聯5. 定義服務服務接收到一條消息后,所要進行的加工認定基礎服務 3類:存在服務最一般的服務計算服務一個實例需要另一個實例加工的結果時,所需的服務。監控服務模型中某些部件需要快速適時處理時,所需服務。認定輔助服務對象生存史定義基礎服務的順序狀態-事件-響應定義狀態的主要狀態,外部事件及其響應,擴充服務,消息關聯認定消息關聯 消息關聯事件-響應和數據流的一種結合 表示一種要發出的消息 和 收到該消息后作出的一個響應 實例關聯之間的一種映射對服務進行說明 主要說明外部可觀察到的行為6. 對象的規格說明 以對象為單位的系統規格說明的模板:specif
13、ication(對象名)描述型屬性()定義型屬性()派生型屬性()外部型屬性()外部系統輸出()實例關聯()狀態事件響應表()對象生存史圖()服務()服務()End specification7. 應用實例 “傳感器”控制系統問題陳述傳感器控制系統 分析模型第四節 OMT分析方法一、OMT方法的發展 1991,美國,通用電器公司提出 通過構造一組模型認識問題對象模型(Object Model)系統中靜態的、結構方面的特性動態模型(Dynamic Model)系統對象之間的時間的、行為的、控制方面的特性功能模型(Functional Model)值-值之間的函數關系OMT分析軟件3方面:數據結構
14、對象模型按時間順序的操作動態模型改變的值功能模型三、OMT方法的分析過程二、三種模型介紹1. 對象模型對象模型的作用 事件將發生在什么上面 描述系統中對象的結構 對象的標識,與其他對象的關系,屬性,操作對象模型的表示 對象關系圖對象圖2種對象圖:類圖實例圖類的對象模型符號對象的結構信息關系 類之間的聯系多元性 一個類的多少個實例,可能與相關類的一個實例有關多元性的符號表示OMT對象模型中類的3種基本關系相關關系 什么方面相關 關系包容關系 部分-整體 關系繼承關系抽象類具體類子類OMT建立對象模型的步驟:確定對象類定義數據詞典 類,屬性,關系的描述增加類之間的關系增加對象、聯系的屬性用繼承 組
15、織、簡化對象類用場景測試訪問路徑 如需要,則重復上述5步基于:相近關系、相關功能, 將成組的對象組成模塊對象模型的2部分:對象模型圖數據詞典2. 動態模型 與時間有關的模型動態模型的作用 事件將什么時間發生 描述系統中與時間有關的方面 操作執行的順序 包括:引起變化的事件事件的序列定義事件序列上下文的狀態事件和狀態的主次主要概念事件一個對象給另一個對象的單個消息狀態對象所擁有的屬性值和連接關系場景一個特定過程中發生的一系列事件抓住了“控制流”特性,即系統中的各個操作發生的順序,而對這些操作到底做什么,作用在什么上面,以及如何實現都不必關心 對象的控制信息事件跟蹤圖表示一系列事件和交換事件的對象
16、垂直線每個對象水平箭頭一個事件對應對象模型中的操作從發送對象指向接收對象打電話者接電話者狀態圖表示一個類的事件、狀態、狀態轉移方式 不同的狀態圖,通過共享的事件組成動態模型狀態結點事件箭頭線狀態轉移活動代表事件完成的一個操作,與狀態相關 對應功能模型中的功能行為一個瞬時操作,與事件相關活動的關鍵字do:轉移上行為的關鍵字/建立動態模型的步驟:準備帶交互序列的場景確定對象之間的事件,為每個場景,準備一個事件跟蹤圖為每個系統,準備一個事件流圖為每個具有重要動態行為的類,準備一個狀態圖檢驗狀態圖之間共享事件的一致性、完備性3. 功能模型功能模型的作用 事件將發生什么表示怎樣從輸入值得到輸出值,包括:
17、函數、映射、約束和功能性依賴描述系統做什么,而對如何做和何時做不感興趣功能模型的組成多個數據流圖數據流圖組成:轉換數據的過程通過對象的操作實現移動數據的數據流生產和消費數據的角色對象被動存儲數據的數據存儲對象對對象的操作建立功能模型的步驟:確定輸入、輸出值用數據流圖表示功能的依賴性描述每個功能做什么確定限制指定優化原則4、三個模型之間的關系 待解決問題的3個方面對象模型數據結構動態模型、功能模型的 操作動態模型中的事件 功能模型中的函數動態模型對象的控制結構功能模型對象模型中操作、動態模型中動作激發的函數三、OMT方法的分析過程OMT組成的3個階段/方面:分析系統設計對象設計分析階段關心的問題
18、 對要操作的應用和 領域的理解和模型化分析階段的輸入 問題陳述, 可以來回多次分析階段的輸出 3個形式化模型:對象模型靜態結構對象-對象 之間的關系動態模型交互順序動態的控制結構功能模型數據轉換根據約束的數據,函數性轉換第五節 面向對象的開發過程 根據:生存期 組織管理開發一、應用生存期瀑布模型面向過程項目的 標準生存期模型螺旋模型噴泉模型傳統生存期模型需改進二、類生存期 OO強調 軟件重用 軟件部件 軟件局部的 設計、實現重用單元 類類生存期開始類的定義 給出類的實例的 操作、數據表示類的公有界面 類的職責公有成員函數定義手段 類的規格說明 定義:施加于對象存儲的數據上的一組操作 不需:操作
19、實現(編碼)問題:類有那些訪問權限的成員函數?類的設計與實現既存類的重用 從:資源庫從既存類進行演化 漸進式演化 派生:新增 、保留、重定義漸進式設計漸進式實現漸進式測試從廢棄型進行開發設計 數據存儲,私有函數實現 變量、操作界面 支持界面操作的函數測試單個類求精和維護定義、實現分離開始三、應用開發過程6個步驟:(1)分析階段2個步驟:論域分析 開發:問題論域的模型應用/系統分析 細化:論域分析階段得到的信息 集中:當前要解決的問題(2)高層設計 純OO環境中,系統設計 與 類設計 同一過程 一般:分開便于分階段工作 設計應用的頂層視圖,表示各個類的要求 類的界面表示:系統(3)類的開發 給出
20、各個類的實現(4)實例的建立(5)組裝測試 所有類組裝成系統,測試(6)維護定位故障,類中增加新行為。 分離類的實現 與 規格說明四、系統體系結構 通過:成分對象 和 對象之間的關系 實現第六節 面向對象的分析過程一、概述面向對象分析過程的組成論域分析問題/應用領域應用分析目標系統面向對象分析產生的分析文檔更加深入地描述:問題論域清晰、精確的定義傳統的過程性分析文檔面向:功能 系統一組服務OO的分析文檔論域的概念的高層抽象 問題一組相互作用的實體二、論域分析論域分析的作用 給出:論域知識抽象的高層表示問題領域 常超出:當前應用的范圍,比當前目標系統更廣泛論域分析的邊界 可模糊,越廣泛越好論域分
21、析的目的標識基本概念每個概念的完全信息識別論域特征將基本概念集成到論域的模型中概念之間的關系1、語義數據模型(Semantic Data Models)語義模型的起源 關系數據模型,實體-聯系模型(E-R)的擴展 表達:(1)問題論域的內涵 (2)復雜對象 (3)對象之間的關系語義模型與OO分析的映射關系語義模型的3層模型(1)外部模型層 用戶對問題的理解 反映:應用的外部現實世界的視圖(2)概念模型層 系統的用戶來識別,理解 反映:外部模型層標識的實體之間的關系交互關系 關系的重要屬性實例連接 關系中一個實體的實例,對應于,該關系中其他實體實例的數目(3)內部模型層 實體的物理模型類設計 物理模型的2種屬性:數據實體的狀態服務實體的行為 2種服務:公有,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中生在線學習互動性與學習效果的關系分析報告論文
- 藝術樓安全管理制度
- 花草魚養護管理制度
- 茶葉成品庫管理制度
- 隔離檢疫場管理制度
- 訪問控制與身份驗證
- 財務英語詞匯
- 2025年煙臺市中考地理試卷真題(含答案及解析)
- 大學生戀愛的常見問題與對策
- 自動監控驗收模版材料
- 基因工程(研究生課程班)
- 煤礦頂板事故預防及應急處置知識培訓課件(2022修改版)
- 20t╱h循環流化床鍋爐安裝工程施工方案
- 交通安全知識考試題庫100道(含答案)
- 職業與人生論文
- 昆明市用人單位人員就業(錄用)登記表
- 公司職業病危害防治責任制度
- 第十八章:爬行綱課件
- 米亞羅-孟屯河谷風景名勝區旅游基礎設施建設項目環評報告
- 滁州市第一人民醫院醫療暫存間環保設施提升改造項目環境影響報告表
- 籍貫對照表完整版
評論
0/150
提交評論