《GIS軟件工程03GIS軟件工程的系統(tǒng)分析》由會員分享,可在線閱讀,更多相關《GIS軟件工程03GIS軟件工程的系統(tǒng)分析(47頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第,3,章,GIS,軟件工程的系統(tǒng)分析,基本內(nèi)容,系統(tǒng)分析的任務、難點、要求、過程與方法;如何進行需求分析,。,教學要求:,重點掌握用戶需求分析報告的內(nèi)容。,重點:,數(shù)據(jù)流圖。,系統(tǒng)分析的定義:,應用系統(tǒng)思想和方法,確定系統(tǒng)的開發(fā)對象,把復雜的系統(tǒng)分解成簡單的部分,找出這些部分的基本屬性和彼此間的關系。,系統(tǒng)分析的任務:,充分了解用戶的要求,并把雙方的理解用軟件需求規(guī)格說明書表達出來,即是要深入描述軟件的功能和性能,確定軟件設計的限制和軟件同其他系統(tǒng)元素的接口細節(jié),定義軟件的其他有效性需求。,3.1,系統(tǒng)分
2、析,系統(tǒng)分析的難點:,1.,對數(shù)據(jù)的理解困難,2.,系統(tǒng)分析員與用戶的溝通困難,3.,環(huán)境的變化,系統(tǒng)分析的要求:,1.,系統(tǒng)分析員要具備良好的,GIS,開發(fā)知識,并要了解用戶業(yè)務知識。,2.,系統(tǒng)分析員與用戶要具有良好溝通能力和合作精神。,3.,確立總體規(guī)劃、分階段進行的思路,即采用螺旋模型開展,GIS,建設。,系統(tǒng)分析的過程:,1.,問題識別,確定對目標系統(tǒng)的綜合要求,即軟件的要求。,包括功能、性能、數(shù)據(jù)、環(huán)境、可靠性、安全保密、用戶界面、資源使用等需求。,2.,分析與綜合,問題分析,:從數(shù)據(jù)流和數(shù)據(jù)結構出發(fā),逐步細化所有的系統(tǒng)功能,找出系統(tǒng)各元素之間的聯(lián)系、接口特征和設計上的限制,分析它
3、們是否滿足功能要求,是否合理。,方案綜合,:依據(jù)功能需求、性能需求、運行環(huán)境需求等,剔除其不合理的部分,增加其需要部分,最終綜合成系統(tǒng)的解決方案,給出系統(tǒng)目標和詳細邏輯模型。,3.,編制需求分析的文檔:,需求分析的文檔即,軟件需求規(guī)格說明,它是分析階段的最終成果。下面給出的簡略大綱可以作為軟件需求規(guī)格說明的框架。,.,引言,A.,系統(tǒng)簡介,B.,系統(tǒng)參考文獻,.,概述,A.,系統(tǒng)描述,B.,主要功能,C.,實現(xiàn)語言,D.,用戶特點,E.,一般約束,.,用戶業(yè)務管理現(xiàn)狀分析,包括業(yè)務流程、數(shù)據(jù)流程、數(shù)據(jù)量、應用頻率、數(shù)據(jù)源情況,業(yè)務管理依據(jù)的行政和技術文件,各階段業(yè)務之間的關系,現(xiàn)有組織機構等。
4、,.,具體需求,A.,功能需求,B.,外部接口需求,C.,性能需求,D.,設計約束,E.,屬性需求,F.,其他需求,.,數(shù)據(jù)需求,A.,數(shù)據(jù)描述,B.,數(shù)據(jù)采集,C.,數(shù)據(jù)字典,.,提出測試的準則,4.,需求分析評審,對系統(tǒng)功能的正確性、完整性和清晰性,以及其他需求給予評價。,系統(tǒng)分析的方法:,系統(tǒng)需求分析方法由對軟件的,數(shù)據(jù)域,和功能域的系統(tǒng)分析過程及其表示方法組成。,物理視圖,指反應當前系統(tǒng)的組織機構、輸入輸出、資源利用情況和日常數(shù)據(jù)處理過程的模式,這一模式應客觀的反映現(xiàn)實世界的實際情況。,邏輯視圖,指在物理模型的基礎上進行分析,區(qū)分出本質的和非本質的因素,去掉非本質的因素,從而形成反映系
5、統(tǒng)本質的模型。,數(shù)據(jù)域,具有三種屬性:數(shù)據(jù)流、數(shù)據(jù)內(nèi)容和數(shù)據(jù)結構。,圖,3.1,需求分析的流程圖,需求工程的概念:,需求工程,就是確定系統(tǒng),“,做什么,”,的問題。它分為三個步驟:需求獲取、需求分析和編寫軟件規(guī)格說明書及驗證。,需求,是以一種清晰、簡潔、一致且無二義性的方式,對一個待開發(fā)系統(tǒng)中各個有意義方面的陳述的一個集合。,需求工程的,目的,是給待開發(fā)系統(tǒng)提供一個清晰的、一致的、精確的并且無二義性的模型,通常以需求規(guī)格說明書的形式來定義待開發(fā)系統(tǒng)的所有外部特征。,3.2,需求工程,需求工程中涉及的角色:,需求工程中涉及的,角色,有需求者、分析員和實現(xiàn)者。,需求工程的作用:,1.,支持項目開發(fā)
6、,2.,支持軟件測試和驗證,3.,支持維護,4.,支持項目承包商,5.,支持管理,需求工程的內(nèi)容:,1.,需求獲取,需求獲取的過程就是分析人員借助各種工具和方法,獲取對用戶需求的基本理解,然后在需求獲取方法的驅動和指導下,從非形式需求陳述中提取出用戶的實際需求,并由此確定軟件的功能、性能、接口關系及有關屬性、軟件條件、限制和邊界等,標定軟件的作用范圍,確定支持性的軟、硬件環(huán)境及輔助工具與條件。,需求獲取方法包括指導開發(fā)小組獲得用戶需求的方法框架和支持控制此項活動進展的過程控制機制兩方面。,需求工程的內(nèi)容:,2.,需求分析,需求分析是開發(fā)人員要準確理解用戶的要求,進行細致的調查分析,將用戶非形式
7、的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的形式功能規(guī)格說明的過程。,用戶的需求可分為功能性需求和非功能性需求。,功能性需求主要說明了系統(tǒng)各功能部件與環(huán)境之間的相互作用本質,即在職能上應做到什么。,非功能性需求主要從各個角度對所考慮的可能的解決方案起約束和限制作用。,需求工程的內(nèi)容:,3.,驗證,驗證的作用可以通過對需求規(guī)格說明文檔進行仔細的復核、審查與評審來降低失誤。,需求分析的原則,1.,必須能夠表達和理解問題的數(shù)據(jù)域和功能域。,2.,必須按自頂向下,逐層分解的方式對問題進行分解和不斷細化。,3.,要給出系統(tǒng)的邏輯視圖和物理視圖,即建模。,3.3,需求分析,3.3.2,需求分析
8、的原則,需求分析的注意事項,1.,需求搞不清,經(jīng)費就算不準。,2.,在編寫需求規(guī)格說明書之前,應明確要解決的問題。,3.,立即確定需求,并記錄下該需求的背景。,4.,一旦在需求規(guī)格說明書中發(fā)現(xiàn)問題,立即改正。,5.,在眾多需求中確定各個需求的優(yōu)先順序,確定可能存在的子集。,6.,需求分析時,不要進行設計工作。,需求分析的注意事項,7.,對于復雜的系統(tǒng),要用多種視角進行需求分析。,8.,對需求進行編號,以便以后跟蹤。,9.,重視形式方法,也決不放棄自然語言。,10.,需求中不應存在“待確定”的條款。,3.3.3,需求分析的方法,需求分析的方法:,1.,結構化分析方法(,SA,)。,2.,面向對象
9、的分析方法(,OOA,)。,3.,以用戶為中心的分析方法(,UCRA,)。,需求分析的方法:,1.,結構化分析方法(,SA,)。,結構化分析方法是面向數(shù)據(jù)流進行需求分析的方法,適于數(shù)據(jù)處理類型系統(tǒng)的需求分析,采用圖形、表等形式表達需求,特點是清晰、簡明、方便開發(fā)者和用戶進行溝通。,它用抽象模型的概念,按照系統(tǒng)內(nèi)部數(shù)據(jù)傳遞、變換的關系,自頂向下逐層分解,直到找到滿足功能要求的所有可實現(xiàn)的軟件為止。,需求分析的方法:,2.,面向對象的分析方法(,OOA,)。,面向對象的分析概述:,1,)獲取用戶需求,2,)標識對象和類,3,)定義類的結構和層次,4,)建立對象模型,5,)建立動態(tài)模型,需求分析的方
10、法:,3.,以用戶為中心的需求分析方法(,UCRA,)。以用戶為中心的需求分析方法是一種為軟件應用開發(fā)詳細需求分析說明的方法。,UCRA,方法關注解決擁有大量用戶交互操作和集成數(shù)據(jù)庫的目標系統(tǒng)的需求分析問題。,數(shù)據(jù)流圖是對軟件系統(tǒng)邏輯結構的圖形表示,描繪的是系統(tǒng)的邏輯模型。數(shù)據(jù)流圖僅僅描繪了數(shù)據(jù)在系統(tǒng)中流動和處理的情況。,3.3.4,數(shù)據(jù)流程圖,數(shù)據(jù)流程圖的主要圖形元素,1.,數(shù)據(jù)源點和匯點,2.,加工(處理),3.,數(shù)據(jù)文件(數(shù)據(jù)存儲),4.,數(shù)據(jù)流,圖,3.2,數(shù)據(jù)流圖的符號,(a),基本符號的含義,數(shù)據(jù)流程圖的主要圖形元素,1.,數(shù)據(jù)源點和匯點,數(shù)據(jù)源點和匯點表示圖中要處理數(shù)據(jù)的輸入來源
11、或處理結果要送往何處。,2.,加工(處理),加工(處理)以數(shù)據(jù)結構或數(shù)據(jù)內(nèi)容為對象。一個處理框可以表示對象中的一個函數(shù),也可以是一系列函數(shù),還可以表示一個對象,甚至可以代表一些人工處理過程。,數(shù)據(jù)流程圖的主要圖形元素,3.,數(shù)據(jù)文件(數(shù)據(jù)存儲),數(shù)據(jù)文件起保存數(shù)據(jù)的作用,它是處于靜止狀態(tài)的數(shù)據(jù),通常存放在數(shù)據(jù)庫中。,4.,數(shù)據(jù)流,數(shù)據(jù)流是處于運動中的數(shù)據(jù),通常體現(xiàn)為模塊之間傳遞的信息。它是沿箭頭方向傳送數(shù)據(jù)的通道,指被加工的數(shù)據(jù)與流向。,(1),數(shù)據(jù)流,(,或數(shù)據(jù)存儲,),命名,名字應代表整個數(shù)據(jù)流,(,或數(shù)據(jù)存儲,),的內(nèi)容,而不是僅僅反映它的某些成分。,不要使用空洞的、缺乏具體含義的名字。
12、,(1),數(shù)據(jù)流,(,或數(shù)據(jù)存儲,),命名,若某個數(shù)據(jù)流,(,或數(shù)據(jù)存儲,),不能取一個合適的名字,則有可能是對數(shù)據(jù)流圖分解不合適,應該考慮重新分解,有可能解決這個問題。,(2),加工(處理)命名,一般先為數(shù)據(jù)流命名,然后再為處理命名。,名字應準確反映整個處理的功能,而不是它的一部分功能。,名字最好由一個具體的及物動詞,加上一個具體的賓語組成。,(2),加工(處理)命名,通常名字中只使用一個動詞,如果需要用兩個動詞才能描述整個處理的功能,則可以把這個處理分解成兩個處理。,如果在命名時遇到困難,則可能是分解不當造成的,應考慮重新分解或合并處理。,數(shù)據(jù)流與加工之間的關系表達方法,(b),附加符號的
13、含義,數(shù)據(jù)流與加工之間的關系表達方法,表示數(shù)據(jù)流之間是“與”關系,(,同時存在,),表示數(shù)據(jù)流之間是“或”關系,表示只能從幾個數(shù)據(jù)流中選一個,(,互斥關系,),分層的數(shù)據(jù)流圖,頂層數(shù)據(jù)流程圖描述了整個軟件系統(tǒng)的作用范圍,對系統(tǒng)的總體功能、輸入和輸出進行了抽象,反映了系統(tǒng)和環(huán)境的關系。,中間層次的數(shù)據(jù)流程圖是通過分解高層數(shù)據(jù)流和加工得到的。,低層次數(shù)據(jù)流程圖通常有很多中間層,甚至,79,層。這種分解可以不斷重復,直到新的數(shù)據(jù)流程圖中每個數(shù)據(jù)加工的功能明確、相關的數(shù)據(jù)流被嚴格定義為止。,分層的數(shù)據(jù)流圖,數(shù)據(jù)流圖的畫法,畫數(shù)據(jù)流圖的基本步驟就是自外向內(nèi),自頂向下,逐層細化,完善求精。,具體步驟:,(
14、,1,)先找系統(tǒng)的數(shù)據(jù)源點與匯點,它們是外部實體,由它們確定系統(tǒng)與外界的接口。,(,2,)找出外部實體的輸出數(shù)據(jù)流和輸入數(shù)據(jù)流。,(,3,)在圖的邊上畫上系統(tǒng)的外部實體。,數(shù)據(jù)流圖的畫法,畫數(shù)據(jù)流圖的基本步驟就是自外向內(nèi),自頂向下,逐層細化,完善求精。,具體步驟:,(,4,)從外部實體的輸出數(shù)據(jù)流出發(fā),按系統(tǒng)的邏輯需要,逐步畫出一系列邏輯加工,直到找到外部實體所需的輸入數(shù)據(jù)流,形成數(shù)據(jù)流的封閉。,(,5,)按原則進行檢查和修改。,(,6,)按上述步驟,再從各加工出發(fā),畫出所需的子圖。,數(shù)據(jù)流圖的畫法,分層數(shù)據(jù)流程圖舉例,教學管理數(shù)據(jù)流程頂圖,數(shù)據(jù)流圖的畫法,分層數(shù)據(jù)流程圖舉例,教學管理數(shù)據(jù)流程
15、中圖,數(shù)據(jù)流圖的畫法,分層數(shù)據(jù)流程圖舉例,學籍管理數(shù)據(jù)流程底圖,課間練習,高考錄取統(tǒng)分子系統(tǒng)有如下功能:,(,1,)計算標準分:根據(jù)考生原始分計算,得到標準分,存入考生分數(shù)文件。,(,2,)計算錄取線分:根據(jù)標準分、招生計劃文件中的招生人數(shù),計算錄取線,存入錄取線文件。,試根據(jù)要求畫出該系統(tǒng)的數(shù)據(jù)流程圖,并將其轉換為軟件結構圖。,課間練習,錄取分數(shù),招生數(shù),原始分,標準分,標準分,錄取分數(shù),招生計劃,分數(shù),考生,計算標準分,計算錄取線分數(shù),標準分,進行檢查和修改的原則,1.,數(shù)據(jù)流圖只限于前述四種基本圖形元素。,2.,數(shù)據(jù)流圖的主圖必須包括前述四種基本元素。,3.,數(shù)據(jù)流圖的主圖上的數(shù)據(jù)流必須
16、封閉在外部實體之間,外部實體可以不止一個。,4.,每個加工至少有一個輸入數(shù)據(jù)流和輸出數(shù)據(jù)流。,5.,在數(shù)據(jù)流圖中,需按層給加工框編號。,6.,任何一個數(shù)據(jù)流子圖必須與它上一層的一個加工對應,兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致。,7.,圖上每個元素必須有名字。,8.,數(shù)據(jù)流圖中不能夾帶控制流。,概述:,數(shù)據(jù)字典的定義:,數(shù)據(jù)字典是關于數(shù)據(jù)信息的,集合,,是數(shù)據(jù)流程圖中所有元素(數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程和外部實體)嚴格定義的場所。,數(shù)據(jù)字典的用途:,1.,數(shù)據(jù)流程圖和數(shù)據(jù)字典一起構成了系統(tǒng)的,邏輯模型,;,2.,有助于改進不同的開發(fā)人員或不同的開發(fā)小組之間的通信;,3.,是存儲文件或數(shù)據(jù)庫設計的基礎;,4.,在實施階段,還可參照數(shù)據(jù)字典描述數(shù)據(jù)。,3.3.4,數(shù)據(jù)字典,屬性數(shù)據(jù)字典條目:,屬性數(shù)據(jù)字典包含六類條目:,1.,數(shù)據(jù)元素:是最小的數(shù)據(jù)組成單位。,2.,數(shù)據(jù)結構:描述數(shù)據(jù)之間的組成關系。,3.,數(shù)據(jù)流:描述數(shù)據(jù)流的來源、去處、組成、流通量、高峰時的流通量等屬性。,4.,數(shù)據(jù)存儲:描寫該數(shù)據(jù)存儲的結構,及有關的數(shù)據(jù)流、查詢要求。,5.,處理過程:描述處理框的編號、名稱、功能的簡要