軟件設(shè)計綜述報告_第1頁
軟件設(shè)計綜述報告_第2頁
軟件設(shè)計綜述報告_第3頁
軟件設(shè)計綜述報告_第4頁
軟件設(shè)計綜述報告_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件設(shè)計綜述報告軟件設(shè)計包括一套原理、概念和實踐。明確軟件設(shè)計目標是軟件設(shè)計的第一步。軟件設(shè)計目標明確了最終的軟件系統(tǒng)應(yīng)該擁有的質(zhì)量屬性。軟件設(shè)計的目標涉及性能、可靠性、成本、維護等多個方面的目標。1.1軟件設(shè)計的目標 軟件設(shè)計的目標應(yīng)從用戶那里得到,確定了軟件最終應(yīng)擁有的功能。可以從需求規(guī)格說明書中選擇重要的質(zhì)量屬性,作為設(shè)計目標,如性能目標、可靠目標等。而成本和維護方面往往從客戶和供應(yīng)商那里得到。1.1.1性能準則 性能準則包括對系統(tǒng)速度和空間的需求。系統(tǒng)應(yīng)該是能夠發(fā)現(xiàn)請求并及時響應(yīng)這些請求。1.1.2可靠性準則 可靠性準則決定了對減少系統(tǒng)崩潰以及隨后所造成危害所做的努力程度。1.1.3成

2、本準則 成本準則包括開發(fā)、配置和管理系統(tǒng)的成本。當新系統(tǒng)更新舊系統(tǒng)時,應(yīng)該考慮確保向后兼容,或減少新系統(tǒng)移植的開銷,同時需要考慮在多種不同成本之間做出權(quán)衡。1.1.4維護準則 維護準則確定在開發(fā)完成后再改變系統(tǒng)的困難程度。這些準則很難進行優(yōu)化和事先規(guī)劃,因為很少能夠清晰的給出項目成功的程度和系統(tǒng)的可操作的時間周期。1.1.5最終用戶準則 最終用戶準則包括從用戶的視點出發(fā)所需的屬性,但并沒有覆蓋性能準則和可靠性準則。1.2軟件設(shè)計的任務(wù) 軟件設(shè)計的主要任務(wù)是要解決如何做的問題,要在需求分析的基礎(chǔ)上,建立各種設(shè)計模型,并通過對設(shè)計模型的分析和評估,確定模型是否滿足需求。軟件設(shè)計是將用戶需求準確的轉(zhuǎn)

3、化成為最終的軟件產(chǎn)品的唯一途徑,在需求到構(gòu)造之間起到了橋梁作用。1.2.1軟件設(shè)計的階段和任務(wù) 從工程管理的角度將軟件設(shè)計分為兩個階段:概要設(shè)計階段和詳細設(shè)計階段。從技術(shù)的角度,采用的方法不同,設(shè)計的內(nèi)容也會有所不同。傳統(tǒng)的結(jié)構(gòu)化的方法將軟件設(shè)計劃分為體系結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計和過程設(shè)計。(1) 體系結(jié)構(gòu)設(shè)計:體系結(jié)構(gòu)設(shè)計定義軟件的主要結(jié)構(gòu)元素及其之間的關(guān)系。體系結(jié)構(gòu)設(shè)計表可以從系統(tǒng)規(guī)格說明、分析模型及體系結(jié)構(gòu)的風格導(dǎo)出。(2) 類設(shè)計:類設(shè)計對分析階段所建立的分析類模型進行細化,轉(zhuǎn)化為設(shè)計類的實現(xiàn)及軟件實現(xiàn)所要求的數(shù)據(jù)結(jié)構(gòu)。(3) 數(shù)據(jù)設(shè)計:傳統(tǒng)方法主要根據(jù)需求階段所建立的實體-關(guān)系圖

4、來確定軟件設(shè)計的文件系統(tǒng)的結(jié)構(gòu)及數(shù)據(jù)庫的表結(jié)構(gòu)。(4) 接口設(shè)計:接口設(shè)計描述用戶界面,軟件和其他硬件設(shè)備、其他軟件系統(tǒng)及使用人員的外部接口。(5) 構(gòu)件級設(shè)計:構(gòu)件級設(shè)計將軟件體系結(jié)構(gòu)的結(jié)構(gòu)元素變換為對軟件構(gòu)件的過程性的描述。接口設(shè)計類設(shè)計(00方法)詳細設(shè)計過程設(shè)計(傳統(tǒng)方法)構(gòu)件級設(shè)計(000方法)需要設(shè)計體系結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計管理觀點技術(shù)觀點圖1 從技術(shù)和管理的角度看設(shè)計的關(guān)系(6) 過程設(shè)計:過程設(shè)計的主要工作是確定軟件各個組成部分內(nèi)的算法及內(nèi)部數(shù)據(jù)結(jié)構(gòu),并選定某種過程的表達式來描述各種算法。1.2.2結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析的關(guān)系 軟件設(shè)計必須依據(jù)對軟件的需求來進行,結(jié)構(gòu)化分析的結(jié)果為

5、結(jié)構(gòu)化設(shè)計提供了最基本的輸入信息。(1)研究、分析和審查數(shù)據(jù)流圖。根據(jù)穿越系統(tǒng)邊界的信息流初步確定系統(tǒng)與外部接口。(2)根據(jù)數(shù)據(jù)流圖決定問題的類型。數(shù)據(jù)處理問題通常有兩種類型:變換型和事務(wù)型。針對兩種不同的類型分別進行分析處理。(3)由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。(4)利用一些啟發(fā)式原則來改進系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。(5)根據(jù)分析模型中的實體關(guān)系圖和數(shù)據(jù)字典進行數(shù)據(jù)設(shè)計,包括數(shù)據(jù)庫設(shè)計或數(shù)據(jù)文件的設(shè)計。(6)在設(shè)計的基礎(chǔ)上,依舊分析模型中的加工規(guī)格說明、狀態(tài)轉(zhuǎn)換圖進行過程設(shè)計。(7)制定測試計劃。結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析的關(guān)系如圖。左面是結(jié)構(gòu)化分析階段所建立的分析模版

6、,右面為建立的設(shè)計模型。圖2 結(jié)構(gòu)化設(shè)計與結(jié)構(gòu)化分析關(guān)系實體- 數(shù)據(jù)關(guān)系圖 流圖 數(shù)據(jù)字典狀態(tài)-遷移圖控制規(guī)格說明加工規(guī)格說明數(shù)據(jù)對象描述體系結(jié)構(gòu)設(shè)計接口設(shè)計數(shù)據(jù)設(shè)計過程設(shè)計1.3模塊結(jié)構(gòu)與數(shù)據(jù)結(jié)構(gòu) 軟件的結(jié)構(gòu)包括兩部分,一部分為軟件的模塊結(jié)構(gòu),另一部分為軟件的數(shù)據(jù)結(jié)構(gòu)。雖然這兩部分是有密切聯(lián)系的。但是在傳統(tǒng)方法中,這兩部分的設(shè)計是分開進行的。1.3.1模塊結(jié)構(gòu)表示 一般通過功能劃分過程來完成軟件結(jié)構(gòu)設(shè)計。功能劃分過程從需求分析確立的目標系統(tǒng)的模型出發(fā),對整個問題進行分割,使其每一部分用一個或幾個軟件模塊加以解決。一個軟件系統(tǒng)通常由很多模塊組成,結(jié)構(gòu)化程序設(shè)計的函數(shù)和子程序都可稱為模塊。它是程

7、序語句按邏輯關(guān)系建立起來的組合體。對于大的模塊,一般還可以繼續(xù)分為功能獨立的較小模塊,將不能再分解的模塊稱為原子模塊。通常,可以按照在軟件系統(tǒng)中的功能將模塊分為四種類型。(1) 傳入模塊:傳入模塊的功能是取得數(shù)據(jù)或輸入數(shù)據(jù),經(jīng)過某些處理,再將其傳送給其他模塊。(2) 傳出模塊:傳出模塊的功能是輸出數(shù)據(jù),在輸出之前可能進行某些處理,數(shù)據(jù)可能被輸出到系統(tǒng)的外部,也可能會輸出到其他模塊進行進一步的處理,但最終的目標是輸出到系統(tǒng)的外部。(3) 變換模塊:也叫加工模塊,從上級調(diào)用模塊取得數(shù)據(jù),進行特定的處理,轉(zhuǎn)換成其他形式,再將加工結(jié)果返回給調(diào)用模塊。(4) 協(xié)調(diào)模塊:協(xié)調(diào)模塊本身一般不對數(shù)據(jù)進行加工,

8、如數(shù)據(jù)X和Y,其主要功能是通過調(diào)用、協(xié)調(diào)和管理其他模塊來完成特定的功能,如結(jié)構(gòu)化程序設(shè)計中的主程序。1.3.2模塊結(jié)構(gòu)模塊結(jié)構(gòu)表明了程序各個部件的組織情況,通常是樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。是軟件的過程的表示,并沒有表明軟件的某些過程性特征。(1) 樹狀結(jié)構(gòu)。位于最上層的的根部是頂層模塊,他是程序的主模版。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可以進一步引出更下一層的下屬模塊。由下圖可知,樹狀結(jié)構(gòu)的特點是:整個結(jié)構(gòu)只有一個頂層模塊,上層模塊調(diào)用下層模塊,同一層模塊之間不可相互調(diào)用。(2) 網(wǎng)狀結(jié)構(gòu)。網(wǎng)狀結(jié)構(gòu)中,任意的兩個模塊間都可以有調(diào)用關(guān)系。不存在上下級模塊關(guān)系,分不出層次;任何兩個模塊都是平等的,

9、沒有從屬關(guān)系。ADCBHIGABCEFD圖4網(wǎng)狀結(jié)構(gòu)圖3樹狀結(jié)構(gòu)1.3.3結(jié)構(gòu)圖結(jié)構(gòu)圖是精確表達模塊結(jié)構(gòu)的圖形標識工具,可以清楚的反映軟件模塊之間的層次調(diào)用關(guān)系和聯(lián)系。嚴格定義了各個模塊的名字、功能和接口,集中反映了設(shè)計思想。(1) 模塊的調(diào)用關(guān)系接口:在結(jié)構(gòu)圖中,兩個模塊之間用單向箭頭連接。箭頭從調(diào)用模塊指向被調(diào)用模塊,表示調(diào)用模塊調(diào)用了被調(diào)用模塊。被調(diào)用模塊執(zhí)行完成后,控制又返回到調(diào)用模塊。(2) 模塊間的信息傳遞:當一個模塊調(diào)用另一個模塊時,調(diào)用模塊把數(shù)據(jù)或控制信息傳送給被調(diào)用模塊,以使被調(diào)用模塊能夠運行。而被調(diào)用模塊在執(zhí)行過程中又把它產(chǎn)生的數(shù)據(jù)或控制信息送給調(diào)用模塊。為了表示在模塊之間

10、傳遞的數(shù)據(jù)或控制信息,在連接模塊的箭頭旁邊給出短箭頭,并且用尾端帶有空心園的短箭頭表示數(shù)據(jù)信息,用尾端帶有實心園的短箭頭表示控制信息。(3) 兩個輔助符號:如圖所示,當模塊A有條件的調(diào)用另一個模塊B時,在模塊A的箭頭尾部標以一個菱形符號;當一個模塊A反復(fù)的調(diào)用模塊C和模塊D時,在調(diào)用箭頭尾部則標一個菱形符號。ABCD圖5 條件調(diào)用和循環(huán)調(diào)用的表示(4) 結(jié)構(gòu)圖的狀態(tài)特征。圖所表示的是一個軟件系統(tǒng)的分層模塊結(jié)構(gòu)圖。上級模塊調(diào)用下級模塊,他們之間存在著主從關(guān)系,同一層模塊之間并沒有這種主從關(guān)系。模塊間的連線:模塊之間的調(diào)用箭頭也可用沒有箭頭方向的直線表示,在用直線表示時,用模塊所處的位置表示他們之

11、間的調(diào)用關(guān)系,位于上面的模塊調(diào)用位于下面的模塊。結(jié)構(gòu)圖的深度:在多層次的結(jié)構(gòu)圖中,模塊結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)圖的深度。結(jié)構(gòu)圖的深度在一定程度上反映了程序結(jié)構(gòu)的規(guī)模和復(fù)雜程度。結(jié)構(gòu)圖的寬度:結(jié)構(gòu)圖中同一層模塊的最大模塊數(shù)稱為結(jié)構(gòu)圖的寬度。模塊的扇入和扇出:扇出表示一個模塊直接調(diào)用的下屬模塊數(shù)目,扇入則定義為調(diào)用一個給定的模塊的調(diào)用模塊的數(shù)目。1.3.4數(shù)據(jù)結(jié)構(gòu)的表示數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的各個元素之間的邏輯關(guān)系的一種表示。數(shù)據(jù)與程序是密不可分的,實現(xiàn)相同的功能,采用的數(shù)據(jù)結(jié)構(gòu)不同,底層的算法也不相同。數(shù)據(jù)結(jié)構(gòu)設(shè)計應(yīng)先確定數(shù)據(jù)的組織、存取方式、相關(guān)程度,以及信息的不同處理方法,典型的數(shù)據(jù)結(jié)構(gòu)種類是有限的。所

12、謂的標量項就是單個的數(shù)據(jù)元素,如一個布爾量、整數(shù)、實數(shù)或一個字符串,可以通過名字對他們進行存取。基本數(shù)據(jù)結(jié)構(gòu)可以構(gòu)成其他數(shù)據(jù)結(jié)構(gòu)可以用包含標量項、向量或N維空間的多重鏈表來建立分層樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu),并實現(xiàn)多種集合的存儲。1.4創(chuàng)建良好的設(shè)計的原則1.4.1分而治之和模塊化 分而治之就是將大型復(fù)雜的問題分解為許多容易解決的小問題。模塊化是將整體軟件劃分成獨立訪問的模塊,不同的模塊通常是具有不同功能或職責。每個模塊可以獨立的開發(fā)、測試,最后組裝成完整的軟件。一個模塊的規(guī)模應(yīng)該由它的功能和用途決定,并不是分解的越小越好。存在一個模塊個數(shù)M,使得開發(fā)成本達到最小。M總的軟件成本連接成本最小成本范圍成

13、本/模塊模塊個數(shù)模塊數(shù)圖6 模塊大小、模塊數(shù)目與成本的關(guān)系1.4.2 模塊獨立性 模塊獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他的模塊接口都是簡單的。一般采用兩個準則度量模塊的獨立性,即模塊間的耦合和模塊的內(nèi)聚。 耦合是模塊間的相對獨立性的度量,模塊之間連接的越緊密,聯(lián)系越多,耦合性就越高,而模塊獨立性就越弱。內(nèi)聚是模塊功能強度的度量。一個模塊內(nèi)部各個元素之間的聯(lián)系越緊密,它的內(nèi)聚性就越高,相對的,其他模塊之間的耦合性就會降低。因此,模塊獨立性比較強的模塊應(yīng)該是高度內(nèi)聚、松散耦合的模塊。1. 松散耦合耦合性是程序結(jié)構(gòu)中各個模塊之間相互關(guān)聯(lián)的度量。取決于各個模塊之

14、間的接口復(fù)雜程度、調(diào)用模塊的方式以及哪些信息通過接口。(1) 非直接耦合。兩個模塊之間沒有直接關(guān)系,他們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實現(xiàn)的。模塊之間的獨立性最強(2) 數(shù)據(jù)耦合。一個模塊訪問里一個模塊時,彼此之間是通過數(shù)據(jù)參數(shù)來交換輸入、輸出信息的。(3) 標記耦合。如果一組模塊通過參數(shù)表達傳遞記錄信息,就是標記耦合。(4) 控制耦合。一個模塊通過傳送開關(guān),標志,名字等控制信息,明顯的控制選擇另一個模塊的功能。(5) 外部耦合。一組模塊都訪問同意全局變量而不是同一全局數(shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息。(6) 公共耦合。一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境。(7) 內(nèi)容耦

15、合。一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù)。一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部。兩個模塊有一部分代碼重疊。一個模塊有多個入口。2高度內(nèi)聚 一個內(nèi)聚程度高的模塊應(yīng)當只完成軟件過程中的一個單一的任務(wù),而不與程序其他的部分進程發(fā)生關(guān)系。(1) 巧合內(nèi)聚。模塊內(nèi)各部分之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散。(2) 邏輯內(nèi)聚。模塊把幾種相關(guān)功能組合在一起,每次被調(diào)用時,由傳送給模塊的判定參數(shù)來確定該模塊應(yīng)該執(zhí)行哪一種功能。(3) 時間內(nèi)聚。模塊為多功能模塊,各個功能的執(zhí)行與時間有關(guān),通常要求所有功能必須在同一時間段內(nèi)執(zhí)行。(4) 過程內(nèi)聚。一個模塊內(nèi)的處理是相關(guān)的,必須以特定程序執(zhí)行。(5)

16、通信內(nèi)聚。一個模塊內(nèi)各功能部分都使用了相同的數(shù)據(jù),或產(chǎn)生了相同數(shù)據(jù)。(6) 信息內(nèi)聚。模塊完成多個功能,各個功能都在同一個數(shù)據(jù)結(jié)構(gòu)上操作,每一項功能都有一個唯一的入口點。(7) 功能內(nèi)聚。一個模塊中各個部分都是完成某一種具體功能必不可缺少的組成部分。1.4.3提高抽象層次 抽象是指忽視一個主題與當前目標無關(guān)的那些方面,以便充分的注意與當前目標相關(guān)的方面。設(shè)計軟件時,設(shè)計開始時應(yīng)該盡量提高軟件的抽象層次。按抽象級別由高到低進行軟件設(shè)計。1.4.4復(fù)用性設(shè)計 復(fù)用是指同一實體不做修改或者稍加修改就可以多次重復(fù)使用,將復(fù)用的思想用于軟件開發(fā)。復(fù)用的范圍包括軟件開發(fā)的各個階段,包括需求模型和規(guī)格說明、

17、設(shè)計模型、文檔、測試用例的復(fù)用。1.4.5靈活性設(shè)計 保證軟件靈活性的關(guān)鍵是抽象。在設(shè)計中引入靈活性的方法如下。(1) 降低耦合并提高內(nèi)聚。易于提高替換能力。(2) 建立抽象。創(chuàng)建有多態(tài)操作的接口和父類。(3) 不要將代碼寫死。消除代碼中的常數(shù)。(4) 拋出異常。由操作的調(diào)用者處理異常。(5) 使用并創(chuàng)建可復(fù)用的代碼。1.4.6預(yù)防過期 預(yù)防過期的規(guī)則如下。(1) 避免使用早期發(fā)布技術(shù)。(2) 避免使用針對特定環(huán)境的軟件庫。(3) 避免使用軟件庫中文檔不全或很少使用的功能。(4) 避免使用小公司提供的可復(fù)用構(gòu)件和特殊硬件。(5) 使用眾多廠商支持的標準語言和技術(shù)。1.4.7可測試性設(shè)計 進行可

18、測試性設(shè)計時,堅持以下原則。(1) 堅持測試驅(qū)動設(shè)計的方法。(2) 函數(shù)小型化。盡量做到一個函數(shù)一個操作。(3) 數(shù)據(jù)的顯示與控制分離,使修改程序功能而不影響視圖變得容易。1.5面向數(shù)據(jù)流的設(shè)計方法 面向數(shù)據(jù)流的設(shè)計方法也稱為過程驅(qū)動的設(shè)計方法,與軟件需求分析階段的結(jié)構(gòu)化分析方法相銜接,可以與編碼階段的“結(jié)構(gòu)化程序設(shè)計方法”相適應(yīng),成為常用的結(jié)構(gòu)化設(shè)計方法。1.5.1設(shè)計過程(1)復(fù)查并精化數(shù)據(jù)流圖。對需求分析階段得出的數(shù)據(jù)流圖進行認真復(fù)查,并在必要時精化。(2)確定數(shù)據(jù)流圖中數(shù)據(jù)流的類型。(3)導(dǎo)出初始的軟件結(jié)構(gòu)圖。根據(jù)數(shù)據(jù)流類型,應(yīng)用變換型映射方法或事務(wù)型映射方法得到初始的軟件結(jié)構(gòu)圖。(4

19、)逐級分解。需要進行一級分解和二級分解。(5)精化軟件結(jié)構(gòu)。使用設(shè)計度量和啟發(fā)式規(guī)則對得到軟件結(jié)構(gòu)進一步精化。(6)導(dǎo)出接口描述和全局數(shù)據(jù)結(jié)構(gòu)。對每一個模塊,給出進出該模塊的信息,即該模塊的接口描述。詳細設(shè)計復(fù)讀用啟發(fā)式設(shè)計規(guī)則精化軟件結(jié)構(gòu)導(dǎo)出接口描述和全局數(shù)據(jù)結(jié)構(gòu)區(qū)分事務(wù)中心和數(shù)據(jù)接收通路區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)映射成變換結(jié)構(gòu)精化數(shù)據(jù)流圖數(shù)據(jù)流類型圖7 基于數(shù)據(jù)流方法的設(shè)計過程1.5.2典型的數(shù)據(jù)流類型和系統(tǒng)結(jié)構(gòu) 典型的數(shù)據(jù)流類型有變換型數(shù)據(jù)流和事務(wù)型數(shù)據(jù)流,數(shù)據(jù)流的類型不同,得到的系統(tǒng)結(jié)構(gòu)也不同。1. 變換型數(shù)據(jù)流與交換型系統(tǒng)結(jié)構(gòu)圖取得CC變換成D取得AA變換成B取得BB變換成CD

20、變換成E給出EDC主模塊給出DCDD圖8 變換型的系統(tǒng)結(jié)構(gòu)圖2事務(wù)型數(shù)據(jù)流與事務(wù)型系統(tǒng)結(jié)構(gòu)圖結(jié)果結(jié)果作業(yè)作業(yè)已分析的作業(yè)內(nèi)部表示的作業(yè)事務(wù)中心輸入已分析的作業(yè)輸出結(jié)果調(diào) 度讀入作業(yè)分析作業(yè)事務(wù)1事務(wù)2事務(wù)3操作1操作2操作3操作4操作5圖8 事務(wù)性系統(tǒng)結(jié)構(gòu)圖1.5.3變換型映射方法 變換型映射方法是一系列設(shè)計步驟的總稱,將具有變換流特點的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。先運用變換型映射方法建立初始的變換型系統(tǒng)結(jié)構(gòu)圖,然后對他做進一步改進,最后得到系統(tǒng)的最終結(jié)構(gòu)圖。 變換分析方法分為四步組成:重畫數(shù)據(jù)流圖;區(qū)分有效輸入,有效輸出和中心變換部分;進行一級分解,設(shè)計上層模版;進行二級分解,設(shè)

21、計輸入,輸出和中心變換部分的中、下層模版。1.5.4事務(wù)型映射方法 一種數(shù)據(jù)流可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。事務(wù)分析方法的步驟如下。(1) 識別事務(wù)源。從問題定義和需求分析的結(jié)果中,找出各種需要處理的事務(wù)。(2) 規(guī)定適當?shù)氖聞?wù)型結(jié)構(gòu)。在確定了該數(shù)據(jù)流圖具有事務(wù)型特征之后,根據(jù)模塊化分理論,建立適當?shù)氖聞?wù)型結(jié)構(gòu)。(3) 識別各種事務(wù)和它們定義的操作。(4) 注意利用公共模塊。如果不同事務(wù)的一些中間模塊可由具有累死的語法和語義的若干個低層模塊組成,可以把這些模塊構(gòu)造成低級模塊。(5) 對每一事務(wù),或?qū)β?lián)系密切的一組事務(wù)處理模塊。(6) 對事務(wù)處理

22、模塊規(guī)定他們?nèi)康南聦硬僮髂K。(7) 對操作模塊規(guī)定他們的全部操作細節(jié)。對于大型系統(tǒng)的復(fù)雜事務(wù)處理,可能有若干層細模塊。1.5.5軟件模塊結(jié)構(gòu)的改進方法(1)模塊功能的完善化。一個完整的功能模塊,不僅能夠完成指定的功能,而且還能告訴使用者完成任務(wù)的狀態(tài),以及不能完成的原因。(2)消除重復(fù)功能,改善軟件結(jié)構(gòu)。如果發(fā)現(xiàn)幾個模塊的功能之間有相似之處,可以加以改進。(3)模塊的作用范圍應(yīng)在控制范圍之內(nèi)。模塊的控制范圍包括它本身及其所有的從屬模塊。(4)盡可能的減少高扇出結(jié)構(gòu),隨著深度增大扇入。(5)避免或減少使用病態(tài)連接,限制使用直接病態(tài)連接。公共數(shù)據(jù)域病態(tài)連接。通信模塊連接。為了避免病態(tài)連接,防止內(nèi)容耦合,設(shè)計應(yīng)盡量達到單入口和單出口,便于閱讀程序、理解程序,并且不易出錯。(6)模塊的大小要適中。1.6接口設(shè)計1.6.1接口設(shè)計概述 接口設(shè)計的依據(jù)是數(shù)據(jù)流圖中的自動化系統(tǒng)邊界。自動化系統(tǒng)邊界將數(shù)據(jù)流圖中的處理劃分為手工處理部分和系統(tǒng)處理部分,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論