13第六章 系統(tǒng)詳細設計
《13第六章 系統(tǒng)詳細設計》由會員分享,可在線閱讀,更多相關《13第六章 系統(tǒng)詳細設計(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、地理信息系統(tǒng)設計教程系統(tǒng)總體設計階段已經(jīng)確定了軟件的模塊結構和接口描述,劃分出不同的GIS目標子系統(tǒng),即各個功能模塊,并編寫了總體設計文檔,但此時每個模塊仍處于黑盒子級,需要進行更進一步的設計。詳細設計階段的根本目標是確定怎樣具體地實現(xiàn)所定義的系統(tǒng),也就是為各個在總體設計階段處于黑盒子級的模塊設計具體的實現(xiàn)方案。教學提綱一、詳細設計的基本原則 二、詳細設計的內(nèi)容和具體任務三、詳細設計的表達工具四、數(shù)據(jù)結構和數(shù)據(jù)庫詳細設計五、詳細設計規(guī)格說明書退出退出一、詳細設計的基本原則 結構化程序設計(Structured programming)是進行以模塊功能和處理過程設計為主的詳細設計的基本原則。結構
2、化程序設計概念最早由Dijkstra于1965年提出,是軟件發(fā)展的一個重要里程碑,它的概念、方法和其支持的軟件工具組成了所謂的“結構化革命”。結構化程序設計技術采用自頂向下、逐步求精的設計方法和單入口/單出口的控制結構,并且只包含順序、選擇和循環(huán)三種結構。結構化程序設計的目標之一是使程序的控制流程線性化,即程序的動態(tài)執(zhí)行順序符合靜態(tài)書寫結構,這就增強了程序的可讀性,不僅容易理解、調(diào)試、測試和排錯,而且給程序的形式化證明帶來了方便。結構化程序設計原則具體表現(xiàn)在以下方面:盡量少用或不用GoTo語句。采用自頂向下逐步求精的設計方法。采用順序、選擇、循環(huán)三種基本結構組成程序的控制結構。盡量使用單入口/
3、單出口的控制結構,減少傳遞參量(數(shù))的 個數(shù)。提高模塊的內(nèi)聚度,降低模塊間的關聯(lián)度。返回返回二、詳細設計的內(nèi)容和具體任務系統(tǒng)詳細設計的主要內(nèi)容是在具體進行程序編碼之前,根據(jù)總體設計提供的文檔,細化總體設計中已劃分出的每個功能模塊,為之選一具體的算法,并清晰、準確的描述出來,從而在具體編碼階段可以把這些描述直接翻譯成用某種程序設計語言書寫的程序。其設計成果可用程序流程圖描述,也可用偽碼描述,還可用形式化軟件設計語言描述。詳細設計的結果基本上決定了最終程序代碼的質(zhì)量。詳細設計以總體設計階段的工作為基礎,但又不同于總體設計階段,這主要表現(xiàn)為以下兩個方面:在總體設計階段,數(shù)據(jù)項和數(shù)據(jù)結構以比較抽象的方
4、式描述,例如,總體設計階段可以聲明矩陣在概念上可以表示一幅遙感圖像,詳細設計就要確定用什么數(shù)據(jù)結構來表示這樣的數(shù)字矩陣。詳細設計要提供關于算法的更多細節(jié),例如,總體設計可以聲明一個模塊的作用是對一個表進行排序,詳細設計則要確定使用哪種排序算法??傊?,在詳細設計階段為每個模塊增加足夠的細節(jié),使得程序員能夠以相當直接的方式對每個模塊編碼。 詳細的算法 數(shù)據(jù)表示和數(shù)據(jù)結構 實現(xiàn)的功能和使用的數(shù)據(jù)之間的關系詳細設計的模塊內(nèi)容詳細設計的具體任務細化總體設計的體系流程圖,繪出程序結構圖,直到 每個模塊的編寫難度可被單個程序員所掌握為止。為每個功能模塊選定算法。確定模塊使用的數(shù)據(jù)組織。確定模塊的接口細節(jié),及
5、模塊間的調(diào)度關系。描述每個模塊的流程邏輯。編寫詳細設計文檔。主要包括細化的系統(tǒng)結構圖及逐個 模塊的描述,如功能、接口、數(shù)據(jù)組織、控制邏輯等。返回返回三、詳細設計的表達工具 系統(tǒng)詳細設計的任務是給出軟件模塊結構中各個模塊的內(nèi)部過程描述,也就是模塊內(nèi)部的算法設計。根據(jù)軟件工程的思想,在GIS軟件設計過程中,尤其是大型GIS軟件的開發(fā),系統(tǒng)設計和系統(tǒng)實現(xiàn)是兩個階段的任務,通常由不同的人員來進行。因此,需要采用一種標準的、通用的設計表達工具來實現(xiàn)兩階段的溝通,使設計人員設計的系統(tǒng),實現(xiàn)人員通過分析設計的文本和資料得到無歧義的理解,即詳細設計表達工具的選擇可以促進系統(tǒng)設計成果的表達和實現(xiàn)。詳細設計的表達
6、工具可分為圖形、表格和語言三種。無論是哪種工具,對它們的基本要求都是能提供對設計的無歧義的描述,即能指明控制流程、處理功能、數(shù)據(jù)組織以及其它方面的實現(xiàn)細節(jié)。從而方便在編碼階段把設計描述直接翻譯成程序代碼。三、詳細設計的表達工具 (一) 程序流程圖(二) N-S盒式圖(三) 問題分析圖(四) 類程序設計語言返回返回程序流程圖程序流程圖(Program Flow Chart,簡稱PFC)又稱為程序框圖,它是應用最廣泛的描述過程的方法,具有簡單、直觀、易于掌握的優(yōu)點,特別適用于具體模塊小程序的設計。下圖所示為程序流程圖常用符號,圖中方框表示處理步驟,菱形框表示邏輯判斷,箭頭表示控制流。 (1) (2
7、) (3) (4) (5) (6)程序流程圖常用符號可執(zhí)行單元then部分的可執(zhí)行單元else部分的可執(zhí)行單元可執(zhí)行單元else部分,選擇構造then部分,repeat-until循環(huán)構造FT判斷語句判斷語句判斷語句FT可執(zhí)行單元FT在程序流程圖中,結構化單元可以嵌套,例如一個if-then-else構造單元的then部分是一個repeat-until構造單元,而else部分是一個選擇構造。而這個外層的選擇構造單元又是順序構造中的第二個可執(zhí)行單元。下圖所示為結構化單元嵌套示意圖,以此嵌套結構可以導出復雜的程序結構。程序流程圖的缺陷程序流程圖本質(zhì)上不是逐步求精的好工具,它使程序員過 早地考慮程序
8、的控制流程,而不去考慮程序的全局結構;程序流程圖中用箭頭代表控制流,因此程序員可以完全不 顧結構化程序設計的精神,隨意轉移控制;程序流程圖不易表示數(shù)據(jù)結構。詳細的程序流程圖每個符號對應于源程序的一行代碼,對 于提高大型系統(tǒng)的可理解性作用甚微。返回返回N-S盒式圖N-S(Nassi-Shneiderman)盒式圖是另一種用于詳細設計表達的結構化圖形設計工具。最初由Nassi和Shnei derman開發(fā),后經(jīng)Chapin擴充改進,所以又叫N-S圖或Chapin圖。同PFC相比,N-S圖具有功能域表達明確,容易確定數(shù)據(jù)作用域的優(yōu)點。作為詳細設計的工具,N-S圖易于培養(yǎng)軟件設計的程序員結構化分析問題
9、與解決問題的習慣,它以結構化方式嚴格地實現(xiàn)從一個處理到另一個處理的控制轉移。每一個N-S圖開始于一個大的矩形,表示它所描述的模塊,該矩形的內(nèi)部被分成不同的部分,分別表示不同的子處理過程,這些子處理過程又可進一步分解成更小的部分。其基本結構見圖。 第一項任務下一項任務再下一項任務 F 條件 T Else Then 部分 部分循環(huán)條件 do-while部分repeat -until 部分循環(huán)條件 case條件值 值 . .case case . .部分 部分 . . N-S盒式圖基本結構 N-S盒式圖的特征是一種清晰的圖形表達式,能定義功能域(重復或if- then-else的工作域)控制不能任意
10、轉移易于確定局部或全局的數(shù)據(jù)工作域易于表示遞歸返回返回問題分析圖問題分析圖(Problem Analysis Diagram,簡稱PAD)是由日本日立制作所研究開發(fā)的,綜合了流程圖、盒式圖和偽碼等技術的一些特點,在Pascal 語言基礎上發(fā)展而成的系統(tǒng)詳細設計工具?;赑ascal的控制結構,用二維樹狀圖的形式描述程序的邏輯,下圖反映了問題分析圖的基本原理。問題分析圖的主要優(yōu)點是結構清晰,能直接導出程序代碼,并可對其進行一致性檢查。問題分析圖可用于Basic、Fortran、Pascal、C等編程語言,它不僅支持軟件的詳細設計,還支持軟件的需求分析和總體設計,也是當前廣泛使用的一種軟件設計方法
11、。頭腦中粗略模糊問題解的概念(1)順序過程的細化(2)循環(huán)過程的細化(3)選擇過程的細化H1HnH1Hn循環(huán)條件HmH1HnHmHm+1Hm+2循環(huán)條件問題分析圖方法的基本原理問題分析圖采用自頂而下、逐步細化的結構化設計的原則,力求將模糊的問題解的概念逐步轉換為確定的和詳細的過程。下圖中列出了問題分析圖的基本符號,有了問題分析圖的基本符號和基本圖式,根據(jù)系統(tǒng)的要求可寫出系統(tǒng)的問題分析圖。由問題分析圖轉換出相應的源程序,必須按照以下步驟進行:根據(jù)問題解畫出問題分析圖; 把問題分析圖看做橫向生長的樹,沿著樹前進,寫出源程序。 符號 名稱說明輸入框 框內(nèi)寫出輸入變量名輸出框 框內(nèi)寫出輸出變量名處理框
12、 框內(nèi)寫出處理名或語句名子程序框 子程序處理框,框內(nèi)寫出子程序名重復框 先判定,再重復,框內(nèi)寫出重復條件重復框 先執(zhí)行,然后判定,再重復,框內(nèi)寫出重復條件定義框 框內(nèi)寫定義名選擇框 可一路、二路、三路或多路選擇,框內(nèi)寫條件語句標號 圓內(nèi)寫出語句標號定義 用于PAD圖的增加或分解返回返回類程序設計語言類程序設計語言(Program Design Language,簡稱PDL)又稱為偽碼,這是一個籠統(tǒng)的名稱,現(xiàn)有多種不同的PDL在使用。PDL是一種混雜語言,它使用一種結構化程序設計語言(如Pascal、C)的語法控制框架,而在內(nèi)部卻可靈活使用一種自然語言(例如英語)來表示數(shù)據(jù)結構和處理過程。PDL
13、雖然不具有圖形工具描述的直觀清晰,但用來表示算法靈活自由,且便于翻譯成高級語言程序,是介于自然語言與程序設計語言之間的一種偽碼。PDL是用正文形式表示數(shù)據(jù)和處理過程的設計工具,一方面具有嚴格的關鍵字外部語法,用于定義控制結構和數(shù)據(jù)結構;另一方面,又具有靈活自由的內(nèi)部語法,以適應各種工程項目的需要。PDL與實際的高級程序設計語言的區(qū)別在于:PDL的語句中嵌有自然語言的敘述,是不能被計算機識別和編譯的。PDL的特點 關鍵字的固定語法,提供所有結構化構造、數(shù)據(jù)說明以及模塊化的手段。 自然語言的自由語法,用于描述處理過程和判定條件。 數(shù)據(jù)說明的手段,既包括簡單的數(shù)據(jù)結構(例如變量和 數(shù)組),又包括復雜
14、的數(shù)據(jù)結構(例如鏈表)。 模塊定義和調(diào)用的技術,提供各種接口描述模式。返回返回四、數(shù)據(jù)結構和數(shù)據(jù)庫詳細設計建立一個良好的數(shù)據(jù)組織結構和數(shù)據(jù)庫,使整個系統(tǒng)都可以迅速、方便、準確地調(diào)用和管理所需的數(shù)據(jù),是系統(tǒng)開發(fā)的必然要求。通常,GIS數(shù)據(jù)庫建設分為關系型數(shù)據(jù)庫和空間數(shù)據(jù)庫建設兩部分內(nèi)容,其中,空間數(shù)據(jù)庫在某些情況下也可以用關系型數(shù)據(jù)庫進行管理。在第八章將對空間數(shù)據(jù)庫的建設進行詳細介紹,此處主要介紹如何用關系型數(shù)據(jù)庫技術來建立非地理數(shù)據(jù)的數(shù)據(jù)庫。(一) 數(shù)據(jù)結構規(guī)范化(二) 關系數(shù)據(jù)庫建庫四、數(shù)據(jù)結構和數(shù)據(jù)庫詳細設計返回返回數(shù)據(jù)結構規(guī)范化在系統(tǒng)定義階段對系統(tǒng)的數(shù)據(jù)流、數(shù)據(jù)類型等進行了分析和定義,并
15、用數(shù)據(jù)流圖、數(shù)據(jù)字典等手段對其進行了描述,但是要用關系型數(shù)據(jù)庫來對這些數(shù)據(jù)進行管理,還必須將它們轉換成關系型數(shù)據(jù)庫支持的數(shù)據(jù)結構,即對這些數(shù)據(jù)進行規(guī)范化的重新組織。關于數(shù)據(jù)組織的規(guī)范化形式是關系型數(shù)據(jù)庫的創(chuàng)始人之一IBM公司的科德(EFCodd)首先提出的。早在1971年科德就提出了規(guī)范化理論(normalization theory),并在隨后一系列的論文中逐步形成一整套數(shù)據(jù)規(guī)范化模式。這些模式已經(jīng)成為建立關系數(shù)據(jù)庫的基本范式。第一范式第一范式(first normal form,簡稱1st NF)要求同一張表中沒有重復項出現(xiàn),如果有則應將重復項刪除。這個刪除重復項的過程就稱為規(guī)范化處理。第
16、二范式第二范式(sencond normal form,簡稱2nd NF)要求每個表必須有一個(而且僅一個)數(shù)據(jù)元素為主關鍵詞(primary key),其它數(shù)據(jù)元素與主關鍵詞一一對應。主關鍵詞在表中必須具有唯一性,作為主關鍵詞的數(shù)據(jù)項中不能出現(xiàn)重復的記錄。如表所示,其中預審項目表中的項目編號是主關鍵詞,那么該表中不能出現(xiàn)相同的項目編號。設置關鍵詞大大方便了表的維護和查詢檢索。預審項目表(基表)審查項目表(基表)農(nóng)用地轉用方案(基表)補充耕地方案(基表)征地方案(基表)項目編號(主關鍵字)項目編號(主關鍵字)項目編號(主關鍵字)項目編號(主關鍵字)征地編號(主關鍵字)項目名稱項目名稱項目名稱補
17、充耕地責任單位被征用土地權屬單位項目承擔單位農(nóng)用地面積擬使用年度計劃指標補充耕地承擔單位權屬狀況申報時間耕地面積擬使用結轉計劃指標已補充耕地面積征地補償費用標準土地利用規(guī)劃實施管理數(shù)據(jù)庫表的關鍵詞設置 第三范式 第三范式(third normal form,簡稱3rd NF)是指表格中的所有數(shù)據(jù)元素不但要能夠唯一地被主關鍵詞所標識,而且他們之間還必須相互獨立,不存在其它的函數(shù)關系。也就是說對于一個滿足2nd NF的關系表來說,表中有可能存在某些數(shù)據(jù)元素的函數(shù)還依賴于其它非關鍵詞數(shù)據(jù)元素的現(xiàn)象。項目編號(主關鍵字)項目名稱項目承擔單位申報時間函數(shù)依賴關系a項目名稱項目面積其中農(nóng)用地面積耕地面積函
18、數(shù)依賴關系b項目編號(主關鍵字)項目面積其中農(nóng)用地面積耕地面積傳遞依賴關系c在圖 b中,項目面積、其中農(nóng)用地面積、耕地面積等數(shù)據(jù)項函數(shù)依賴于項目名稱,而圖a顯示項目名稱函數(shù)依賴于項目編號,故項目面積、其中農(nóng)用地面積、耕地面積等數(shù)據(jù)項能通過項目編號唯一地被標識(見圖c)。這種在同一張表中A函數(shù)依賴于B,而B函數(shù)依賴于C的現(xiàn)象被稱之為“傳遞依賴”(transitive dependence)。3rd NF為了確保關系數(shù)據(jù)庫能夠唯一并準確運行,要求必須在數(shù)據(jù)結構中消除這種傳遞依賴的現(xiàn)象。 消除這種傳遞依賴的方法有兩種:一是設法取消A對于B的函數(shù)依賴關系,使A函數(shù)直接依賴于C(主關鍵詞),如圖a所示。
19、另一種方法是建立一獨立的表,如圖b所示。 項目編號(主關鍵字)項目名稱項目承擔單位申報時間項目面積其中農(nóng)用地面積耕地面積函數(shù)依賴關系 圖a 直接取消傳遞依賴關系示意圖函數(shù)依賴關系項目編號(主關鍵字)項目名稱項目承擔單位申報時間項目編號(主關鍵字)項目面積其中農(nóng)用地面積耕地面積函數(shù)依賴關系 圖b 增加關系表來取消傳遞依賴關系示意圖返回返回關系數(shù)據(jù)庫建庫在按照關系型數(shù)據(jù)庫數(shù)據(jù)規(guī)范進行數(shù)據(jù)基本結構的規(guī)范化重組后,要進行關系型數(shù)據(jù)庫的建庫工作,還必須根據(jù)具體的商業(yè)關系型數(shù)據(jù)庫管理信息系統(tǒng)的數(shù)據(jù)格式要求進行數(shù)據(jù)庫的建庫工作,也就是在關系型數(shù)據(jù)模型的基礎上將數(shù)據(jù)結構和數(shù)據(jù)庫進行物理實現(xiàn),包括三方面的工作:
20、 建立基表; 確定基表之間的關聯(lián); 數(shù)據(jù)安全性管理。建立基表經(jīng)過編碼和表的規(guī)范化處理后,已經(jīng)可以確定每個基表是規(guī)范的,結合所采用的商業(yè)關系型數(shù)據(jù)庫管理信息系統(tǒng)的數(shù)據(jù)模型進行表的計算機實現(xiàn)?;黻P聯(lián)的建立目前,大多數(shù)商業(yè)關系型數(shù)據(jù)庫管理信息系統(tǒng)都提供表的關聯(lián)分析功能,根據(jù)系統(tǒng)定義階段和規(guī)范化處理之后的的數(shù)據(jù)關系結構,在兩個相關聯(lián)的基表內(nèi)可以通過特定的字段建立關聯(lián)關系。如下圖所示以項目編號在報批項目表和項目明細表之間建立了聯(lián)系。報批編號(主關鍵詞)報批面積報批時間項目編號報批項目表(基表)項目編號(主關鍵詞)項目名稱項目位置項目面積項目明細表(基表) 表關聯(lián)示意圖數(shù)據(jù)安全性管理一般商業(yè)關系型數(shù)據(jù)庫
21、管理信息系統(tǒng)都提供數(shù)據(jù)安全保密的一些功能。系統(tǒng)所提供的安全保密功能一般有8個等級(07級),4種不同方式(只讀、只寫、刪除、修改),而且允許用戶利用這8個等級的4種方式對每個表自由地進行定義。這對確保系統(tǒng)的正常運行是非常重要的。返回返回五、詳細設計規(guī)格說明書 (一) 詳細設計規(guī)格說明書內(nèi)容體系(二) 模塊開發(fā)卷宗中模塊說明表 (三) 詳細設計評審報告審議項目列表 返回返回1 引言 用圖表列出本程序系統(tǒng)內(nèi)每個模塊(或子程序)的名稱、標識符,以及這些模塊(或子程序)之間的層次關系 描述此模塊(子程序)要達到的主要技術性能 分別列出和本模塊(子程序)有調(diào)用關系的所有模塊(子程序)及其調(diào)用關系,說明與
22、本模塊(子程序)有關的數(shù)據(jù)結構詳細設計規(guī)格說明書用來描述和表達詳細設計的成果返回返回模塊名:模塊編號:設計者:模塊所在文件:模塊所在庫:調(diào)用本模塊的模塊名:本模塊調(diào)用的其它模塊名:功能概述:處理描述:引用格式:返回值:名稱意義數(shù)據(jù)類型數(shù)值范圍I/O標志內(nèi)部接口名稱意義數(shù)據(jù)類型I/O標志格式媒體外部接口模塊說明表是對規(guī)劃說明書中簡要介紹的模塊進行詳細的全面的描述,并設計出它們的實現(xiàn)算法。返回返回審議項目內(nèi)容:詳細說明書是否與總體設計說明書一致?模塊設計質(zhì)量:模塊獨立性、接口關系、規(guī)模是否適中?邏輯是否清晰簡單?數(shù)據(jù)結構、輸入與輸出是否合理?是否按結構化程序設計原則進行設計?規(guī)定符號的使用、確定命名規(guī)則;模塊測試用例合理性、完整性;文檔齊全并符合有關標準規(guī)定。詳細設計完成之后,需要對設計的成果進行評審,以保證設計的質(zhì)量。返回返回
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中生物對照實驗專題復習課件
- 初中物理資源九年級第十五單元課件串并聯(lián)識別
- 咯血與嘔血課件
- What's_your_number_課件
- 外研版七下Module3Unit1(教育精品)
- 浙美版三年級上冊美術第15課-剪雪花教學ppt課件
- 蘇教版六年級下冊數(shù)學正比例和反比例的意義課件
- 蘇教版五下《單式折線統(tǒng)計圖》教研課件
- 固態(tài)相變概論
- 三角形全等的判定復習-課件2
- 太陽能發(fā)展趨勢課件
- 道路工程監(jiān)理最新規(guī)劃范本課件
- SPC及CPK教程(理論篇)課件
- Travel-Plan旅行計劃-PPT
- 新冠肺炎疫情期間醫(yī)務人員防護技術指南