《Ch GIS軟件工程的總體設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《Ch GIS軟件工程的總體設(shè)計(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第二節(jié) 軟件體系結(jié)構(gòu)設(shè)計,一、體系結(jié)構(gòu),軟件體系結(jié)構(gòu)是軟件系統(tǒng)中最本質(zhì)的東西。,良好的體系結(jié)構(gòu)必須是普適、高效和穩(wěn)定的。,軟件的體系結(jié)構(gòu)包含軟件構(gòu)件、構(gòu)件對外可見的性質(zhì)以及它們之間的關(guān)系。,1,二、面向數(shù)據(jù)流的設(shè)計,結(jié)構(gòu)化開發(fā)方法(Structured Developing Method)由:結(jié)構(gòu)化分析方法(,SA,法)、結(jié)構(gòu)化設(shè)計方法(,SD,法)及結(jié)構(gòu)化程序設(shè)計方法(,SP,法)構(gòu)成的。,面向數(shù)據(jù)流的設(shè)計方法又稱結(jié)構(gòu)化設(shè)計。,結(jié)構(gòu)化設(shè)計方法主要完成軟件系統(tǒng)的總體結(jié)構(gòu)設(shè)計。,2,SD方法的中心任務(wù):,把
2、用,DFD圖,表示的,系統(tǒng)分析,模型方便地轉(zhuǎn)換為,軟件結(jié)構(gòu),的,設(shè)計模型,;,DFD,System Hierarchy,3,三、數(shù)據(jù)流的,分類與面向數(shù)據(jù)流的設(shè)計過程,在軟件工程的需求分析階段,,信息流,是一個關(guān)鍵考慮,通常用數(shù)據(jù)流圖描繪信息在系統(tǒng)中加工和流動的情況。,面向數(shù)據(jù)流的設(shè)計方法,定義了一些不同的“映射”,利用這些映射可以把數(shù)據(jù)流圖變換成軟件結(jié)構(gòu)。,4,Internal representation,Information,Transform flow,Outgoing,flow,Incoming,flow,External representation,Time,數(shù)據(jù)流的,分類,(1
3、),變換流(Transform Flow),5,輸入,路徑,變換,中心,輸出,路徑,變換中心的任務(wù):就是通過計算或者處理,把系統(tǒng)的輸入流變換為系統(tǒng)的輸出流。,6,(2)事務(wù)流(Transaction Flow),當信息流具有明顯的“發(fā)射中心”時,可歸結(jié)為事務(wù)流。,數(shù)據(jù)沿輸入通路到達一個處理T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行。,T,Transaction,request,Action paths,事務(wù)中心,7,事務(wù)型結(jié)構(gòu)的系統(tǒng)基本模型,這類系統(tǒng)的特征,是具有在多種事務(wù)中執(zhí)行某類事務(wù)的能力。,8,T,Transaction,request,Action paths,事務(wù)
4、中心,事務(wù)中心完成下述任務(wù):,(1)接收輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù));(2)分析每個事務(wù)以確定它的類型;(3)根據(jù)事務(wù)類型選取一條活動通路。,9,“變換”,“事務(wù)”,精化數(shù)據(jù)流圖,流類型,區(qū)分事務(wù)中心和數(shù)據(jù)接收通路,區(qū)分輸入和,輸出分支,映射成事務(wù)結(jié)構(gòu),映射成變換結(jié)構(gòu),用啟發(fā)式設(shè)計規(guī)則精化軟件結(jié)構(gòu),導出接口描述和,全程數(shù)據(jù)結(jié)構(gòu),復 查,詳細設(shè)計,變換分析,事務(wù)分析,2.面向數(shù)據(jù)流的設(shè)計過程,10,例:汽車數(shù),字,字儀表板的,設(shè),設(shè)計,功能:,通,通過模-,數(shù),數(shù)轉(zhuǎn)換實,現(xiàn),現(xiàn)傳感器和,微,微處理機接,口,口;,在發(fā)光,二,二極管面板,上,上顯示數(shù)據(jù),;,;,指示每,小,小時英里數(shù),(mph)
5、,,,,,行駛的里程,,,,每加侖油,行,行駛的英里,數(shù),數(shù),(mpg),等等;,指示加,速,速或減速;,如果車,速,速超過55mph,則,則發(fā)出警告,鈴,鈴聲。,四、變換分,析,析,變換分析是,一,一系列設(shè)計,步,步驟的總稱,,,,經(jīng)過這些,步,步驟把具有變換流,特,特點的數(shù)據(jù),流,流圖按預先確定,的,的模式映射成軟件,結(jié),結(jié)構(gòu)。,11,設(shè)計步驟:,第1步:復,查,查基本系統(tǒng),模,模型;,第2步:復,查,查并精化數(shù),據(jù),據(jù)流圖;,12,第3步 確,定,定數(shù)據(jù)流圖,具,具有變換性,還,還是事務(wù)特,性,性;,13,燃料流,傳感器信號,SPS,旋轉(zhuǎn)信號,讀,旋轉(zhuǎn)信號,收集和求平均,確定加/減速,轉(zhuǎn)
6、換成,轉(zhuǎn)/分,計算里程,計算,mph,超速值,產(chǎn)生,加/減速顯示,計算燃料消耗,計算,gph,讀和校核,產(chǎn)生,mpg,顯示,產(chǎn)生,mph,顯示,發(fā)出鈴聲,產(chǎn)生里程顯示,SPS,SPS,箭頭指示,燃燒流,上箭頭,水平線,下箭頭,rpm,rpm,gph,mph,mpg,mph,超速值,英里,顯示,鈴聲,mph,顯示,mpg,顯示,第4步 確,定,定輸入流和,輸,輸出流的邊,界,界,從而孤,立,立出變換中,心,心;,14,第5步 完,成,成“第一級,分,分解”,第一級分解,的,的方法,對于變換流,的,的情況,數(shù),據(jù),據(jù)流圖被映,射,射成一個特,殊,殊的軟件結(jié),構(gòu),構(gòu),這個結(jié),構(gòu),構(gòu)控制輸入,、,、變
7、換和輸,出,出等信息處,理,理過程。,控制模塊Cm協(xié)調(diào)下,述,述從屬的控,制,制功能:,輸入信息處,理,理控制模塊Ca;,變換中心控,制,制模塊Ct,;,;,輸出信息處,理,理控制模塊Ce;,15,數(shù)字儀表板,系,系統(tǒng)的第一,級,級分解,16,第二級分解,的,的方法,第6步 完,成,成“第二級,分,分解”,所謂第二級,分,分解就是把,數(shù),數(shù)據(jù)流圖中,的,的每個處理,映,映射成軟件,結(jié),結(jié)構(gòu)中一個,適,適當?shù)哪K,。,。,從變換中心,的,的邊界開始,沿,沿著輸入通,路,路向外移動,,,,把輸入通,路,路中每個處,理,理映射成軟,件,件結(jié)構(gòu)中Ca控制下,的,的一個低層,模,模塊;,然后沿輸出,通,
8、通路向外移,動,動,把輸出,通,通路中每個,處,處理映射成,直,直接或間接,受,受模塊 Ce控制的一,個,個低層模塊,;,;,最后把變換,中,中心內(nèi)的每,個,個處理映射,成,成受Ct控,制,制的一個模,塊,塊。,17,數(shù)字儀表板,控制,數(shù)據(jù)轉(zhuǎn)換,控制,驅(qū)動儀表板,接收傳感器,信號,計算,gph,讀燃料流,轉(zhuǎn)換成,rpm,收集,sps,讀旋轉(zhuǎn)信號,確定加/減速,計算,mph,計算,mpg,計算里程,加/減速,顯示,顯示,mpg,顯示,mph,顯示里程,發(fā)出鈴聲,發(fā)光二極管顯示,未精化的數(shù),字,字儀表板系,統(tǒng),統(tǒng)的軟件結(jié),構(gòu),構(gòu),18,mpg,顯示,燃料流,傳感器信號,SPS,旋轉(zhuǎn)信號,讀,旋轉(zhuǎn)信
9、號,收集和求平均,確定加/減速,轉(zhuǎn)換成,轉(zhuǎn)/分,計算里程,計算,mph,超速值,產(chǎn)生,加/減速顯示,計算燃料消耗,計算,gph,讀和校核,產(chǎn)生,mpg,顯示,產(chǎn)生,mph,顯示,發(fā)出鈴聲,產(chǎn)生里程顯示,SPS,SPS,箭頭指示,燃燒流,上箭頭,水平線,下箭頭,rpm,rpm,gph,mph,mpg,mph,超速值,英里,顯示,鈴聲,mph,顯示,19,第7步,使,使用設(shè)計度,量,量和啟發(fā)式,規(guī),規(guī)則對得到,的,的軟件結(jié)構(gòu),進,進一步精化,;,;,精化后的數(shù),字,字儀表板系,統(tǒng),統(tǒng)的軟件結(jié),構(gòu),構(gòu),20,四、事務(wù)分,析,析,事務(wù)分析的,設(shè),設(shè)計步驟和,變,變換分析的,設(shè),設(shè)計步驟大,部,部分相同
10、或,類,類似,主要,差,差別僅在于,由,由數(shù)據(jù)流圖,到,到軟件結(jié)構(gòu),的,的映射方法,不,不同。,21,映射出接收分支結(jié),構(gòu),構(gòu)的方法:從,事,事務(wù)中心的,邊,邊界開始,,把,把沿著接收,流,流通路的處,理,理映射成模,塊,塊;,發(fā)送分支的,結(jié),結(jié)構(gòu)包含一個調(diào),度,度模塊;,然后把數(shù)據(jù),流,流圖中的每,個,個活動流通,路,路映射成與,它,它的流特征,相,相對應的結(jié),構(gòu),構(gòu);,22,五、綜合設(shè),計,計,在實際的軟,件,件系統(tǒng)中,,數(shù),數(shù)據(jù)流圖往,往,往是變換型,和,和事務(wù)型的,混,混合體,這,就,就要用綜合,設(shè),設(shè)計的方法,:,:,一般以“變,換,換分析”為,主,主,“事務(wù),分,分析”為輔,進,進
11、行設(shè)計。,先,先找出主加,工,工,設(shè)計出,結(jié),結(jié)構(gòu)圖的上,層,層,然后根,據(jù),據(jù)數(shù)據(jù)流圖,各,各部分的結(jié),構(gòu),構(gòu)特點適當,地,地運用“變,換,換分析”或,“,“事務(wù)分析,”,”對下層模,塊,塊進行設(shè)計,,,,可得到初,始,始結(jié)構(gòu)圖。,23,設(shè)計優(yōu)化,注意,結(jié)構(gòu),簡,簡單通常既,表,表示設(shè)計風,格,格優(yōu)雅,又,表,表明效率高,。,。設(shè)計優(yōu)化應,該,該力求做到,在有效的模,塊,塊化的前提,下,下使用最少,量,量的模塊,,以,以及在能夠,滿,滿足信息要,求,求的前提下,使,使用最簡單,的,的數(shù)據(jù)結(jié)構(gòu),。,。,軟件設(shè)計人,員,員應該致力,于,于,開發(fā)能夠滿,足,足所有功能,和,和性能要求,,,,而且按
12、照,設(shè),設(shè)計原理和,啟,啟發(fā)式設(shè)計,規(guī),規(guī)則衡量是,值,值得接收的,軟,軟件。,應該在設(shè)計,的,的早期階段,盡,盡量對軟件,結(jié),結(jié)構(gòu)進行精,化,化。,24,SD方法的,特,特點,SD方法是,從,從以下幾個,方,方面來獲得,質(zhì),質(zhì)量較好的,軟,軟件結(jié)構(gòu):,根據(jù)描述用,戶,戶需求的數(shù)據(jù)流圖導出了實現(xiàn),用,用戶需求的結(jié)構(gòu)圖。,為了控制大,型,型軟件系統(tǒng),復,復雜性,運,用,用了下面兩,個,個手段:,將系統(tǒng)分解,成,成許多個黑,盒,盒。,將黑盒組織,成,成適合于用,計,計算機實現(xiàn),的,的一個層次,結(jié),結(jié)構(gòu)。,用內(nèi)聚和耦,合,合作為評價,軟,軟件結(jié)構(gòu)質(zhì),量,量的標準。,給出一組設(shè),計,計技巧,如,扇,扇
13、入和扇出,、,、模塊大小,的,的掌握,作,用,用范圍和控,制,制范圍等。,六、SD方,法,法小結(jié),25,對數(shù)據(jù)結(jié)構(gòu),、,、文件結(jié)構(gòu),、,、數(shù)據(jù)庫結(jié),構(gòu),構(gòu)沒有考慮,充,充分。,“高內(nèi)聚、,低,低耦合”的,原,原則雖已被,廣,廣為接受,,但,但這兩個概,念,念尚無嚴格,的,的定義,更,無,無健全的理,論,論基礎(chǔ)。,SD方法的,不,不足:,26,1.DFD,中,中從系統(tǒng)的,輸,輸入流到系,統(tǒng),統(tǒng)的輸出流,的,的一連串連,續(xù),續(xù)變換形成,一,一種信息流,,,,這種信息,流,流可分為(,),)兩類。,控制流,和,和變換流,變換流,和,和事務(wù)流,事務(wù),流,流和事件流,事件,流,流和控制流,2.下述有,關(guān)
14、,關(guān)模塊獨立,性,性的各種模,塊,塊內(nèi)聚,內(nèi),聚,聚度(強,度,度)最高的,是,是()。,巧合,內(nèi),內(nèi)聚,時間內(nèi),聚,聚 ,功,功能內(nèi)聚,通,通信內(nèi)聚,3.軟件,的,的開發(fā)工作,經(jīng),經(jīng)過需求分,析,析階段,以,后,后就開始著,手,手解決“,怎,怎么做”的,問,問題。下面,(,()不屬,于,于常用的軟,件,件設(shè)計方法,。,。,Jackson,方,方法,LCP(Wanier),方,方法,SA方,法,法,SD,方,方法,27,謝謝觀看,/,歡迎下載,BY FAITH IMEANA VISIONOF GOOD ONE CHERISHES ANDTHEENTHUSIASMTHATPUSHES ONE TOSEEKITS FULFILLMENTREGARDLESS OFOBSTACLES.BY FAITHI BYFAITH,