版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4第四章軟件設(shè)計(jì)是對(duì)實(shí)現(xiàn)軟件的結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)軟件設(shè)計(jì)是對(duì)實(shí)現(xiàn)軟件的結(jié)構(gòu)、系統(tǒng)的數(shù)據(jù)、系統(tǒng)組件之間的接口以及所用算法的描述。組件之間的接口以及所用算法的描述。軟件設(shè)計(jì)是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件的軟件設(shè)計(jì)是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件的質(zhì)量。質(zhì)量。在軟件需求分析階段已經(jīng)完全弄清楚了軟件的各種在軟件需求分析階段已經(jīng)完全弄清楚了軟件的各種需求,較好地解決了所開發(fā)的軟件需求,較好地解決了所開發(fā)的軟件“做什么做什么”的問(wèn)題,的問(wèn)題,并已在軟件需求說(shuō)明書中詳盡和充分地闡明了這些需求并已在軟件需求說(shuō)明書中詳盡和充分地闡明了這些需求以后,下一步就要著手實(shí)現(xiàn)軟件的需求,即軟件設(shè)計(jì)階以后,下一步
2、就要著手實(shí)現(xiàn)軟件的需求,即軟件設(shè)計(jì)階段要解決段要解決“”的問(wèn)題。的問(wèn)題。 4.1 4.1 軟件設(shè)計(jì)階段的任務(wù)與目標(biāo)軟件設(shè)計(jì)階段的任務(wù)與目標(biāo)需求描述需求描述體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)抽象描述抽象描述接口設(shè)計(jì)接口設(shè)計(jì)組件設(shè)計(jì)組件設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)系統(tǒng)體系結(jié)構(gòu)軟件描述軟件描述接口描述接口描述組件描述組件描述數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)描述描述算法描述算法描述算法設(shè)計(jì)算法設(shè)計(jì) 4.1.1 軟件設(shè)計(jì)在開發(fā)階段中的重要性軟件軟件設(shè)計(jì)設(shè)計(jì)功能與性功能與性能需求能需求編碼編碼軟件軟件測(cè)試測(cè)試程序模塊程序模塊已測(cè)試已測(cè)試軟件軟件系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)信息域信息域
3、需求需求開發(fā)階段信息流開發(fā)階段信息流4.1.1 4.1.1 軟件設(shè)計(jì)在開發(fā)階段中的重要性軟件設(shè)計(jì)在開發(fā)階段中的重要性 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)確定程序有哪些模塊組成,以及這些模塊之系統(tǒng)結(jié)構(gòu)設(shè)計(jì)確定程序有哪些模塊組成,以及這些模塊之間的關(guān)系。間的關(guān)系。 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 4.1.2 軟件設(shè)計(jì)階段的任務(wù)4.1.2 4.1.2 軟件設(shè)計(jì)階段的任務(wù)軟件設(shè)計(jì)階段的任務(wù)一、軟件設(shè)計(jì)的任務(wù)一、軟件設(shè)計(jì)的任務(wù)總體設(shè)計(jì)(概要設(shè)計(jì))和詳細(xì)設(shè)計(jì)??傮w設(shè)計(jì)(概要設(shè)計(jì))和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)的主要任務(wù):概要設(shè)計(jì)的主要任務(wù):1.1.設(shè)計(jì)軟件結(jié)構(gòu)設(shè)計(jì)軟件結(jié)構(gòu)(1)(1)采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊采用某種設(shè)計(jì)方
4、法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊(2)(2)確定確定每個(gè)模塊的功能每個(gè)模塊的功能(3)(3)確定模塊之間的調(diào)用關(guān)系確定模塊之間的調(diào)用關(guān)系(4)(4)確定模塊之間的接口確定模塊之間的接口,即模塊之間傳遞的信息,即模塊之間傳遞的信息(5)(5)評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量 2. 2. 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(1)(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì): :設(shè)計(jì)抽象的數(shù)據(jù)結(jié)構(gòu)(設(shè)計(jì)抽象的數(shù)據(jù)結(jié)構(gòu)(2 2)數(shù)據(jù)庫(kù)的概念設(shè)計(jì)、)數(shù)據(jù)庫(kù)的概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)邏輯設(shè)計(jì)和物理設(shè)計(jì)3.3.編寫概要設(shè)計(jì)文檔編寫概要設(shè)計(jì)文檔 文檔主要有:文檔主要有: (1)(1)概要設(shè)計(jì)說(shuō)明書。概
5、要設(shè)計(jì)說(shuō)明書。 (2)(2)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書,主要給出所使用的數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書,主要給出所使用的dbmsdbms簡(jiǎn)介、數(shù)據(jù)庫(kù)的概簡(jiǎn)介、數(shù)據(jù)庫(kù)的概念模型、邏輯設(shè)計(jì)結(jié)果。念模型、邏輯設(shè)計(jì)結(jié)果。 (3)(3)用戶手冊(cè),對(duì)需求分析階段編寫的用戶手冊(cè)進(jìn)行補(bǔ)充。用戶手冊(cè),對(duì)需求分析階段編寫的用戶手冊(cè)進(jìn)行補(bǔ)充。 (4)(4)修訂測(cè)試計(jì)劃,對(duì)測(cè)試策略、方法、步驟提出明確要求。修訂測(cè)試計(jì)劃,對(duì)測(cè)試策略、方法、步驟提出明確要求。詳細(xì)設(shè)計(jì):詳細(xì)設(shè)計(jì):確定模塊內(nèi)算法;確定模塊內(nèi)算法;數(shù)據(jù)結(jié)構(gòu)詳細(xì)設(shè)計(jì)(數(shù)據(jù)結(jié)構(gòu)詳細(xì)設(shè)計(jì)(jackson方法);方法);接口內(nèi)接口內(nèi)部的細(xì)節(jié)。部的細(xì)節(jié)。高可靠性高可靠性高可維護(hù)性高可維護(hù)性高
6、可理解性高可理解性高效率高效率 軟件設(shè)計(jì)的目標(biāo)4.1.2 4.1.2 軟件設(shè)計(jì)階段的任務(wù)軟件設(shè)計(jì)階段的任務(wù)二、軟件設(shè)計(jì)的目標(biāo)二、軟件設(shè)計(jì)的目標(biāo)在設(shè)計(jì)階段應(yīng)達(dá)到的目標(biāo)是在設(shè)計(jì)階段應(yīng)達(dá)到的目標(biāo)是: :提高可靠性;提高可維護(hù)性;提高可理解性;提高效率。提高可靠性;提高可維護(hù)性;提高可理解性;提高效率。衡量該目標(biāo)的準(zhǔn)則衡量該目標(biāo)的準(zhǔn)則1 1、軟件實(shí)體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。、軟件實(shí)體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。2 2、軟件實(shí)體應(yīng)該是模塊化的,模塊具有獨(dú)立功能。、軟件實(shí)體應(yīng)該是模塊化的,模塊具有獨(dú)立功能。3 3、軟件實(shí)體與環(huán)境的界面清晰。、軟件實(shí)體與環(huán)境的界面清晰。4 4、設(shè)計(jì)規(guī)
7、格說(shuō)明清晰、簡(jiǎn)潔、完整和無(wú)二義性、設(shè)計(jì)規(guī)格說(shuō)明清晰、簡(jiǎn)潔、完整和無(wú)二義性。常用的設(shè)計(jì)方法有:常用的設(shè)計(jì)方法有:sdsd法、法、jacksonjackson法、法、hipohipo法、法、parnasparnas法、法、warnierwarnier法等。法等。軟件結(jié)構(gòu)是軟件模塊之間關(guān)系的表示,它決定了整個(gè)系軟件結(jié)構(gòu)是軟件模塊之間關(guān)系的表示,它決定了整個(gè)系統(tǒng)的結(jié)構(gòu),也確定了系統(tǒng)的質(zhì)量。模塊之間的關(guān)系可有多統(tǒng)的結(jié)構(gòu),也確定了系統(tǒng)的質(zhì)量。模塊之間的關(guān)系可有多種,但都可以歸結(jié)為一種層次關(guān)系。種,但都可以歸結(jié)為一種層次關(guān)系。軟件結(jié)構(gòu)圖是總體設(shè)計(jì)階段的主要描述工具,它描述了軟件結(jié)構(gòu)圖是總體設(shè)計(jì)階段的主要描述
8、工具,它描述了構(gòu)成系統(tǒng)的基本元素構(gòu)成系統(tǒng)的基本元素模塊及模塊之間的調(diào)用關(guān)系,模模塊及模塊之間的調(diào)用關(guān)系,模塊之間的數(shù)據(jù)傳遞關(guān)系。塊之間的數(shù)據(jù)傳遞關(guān)系。本節(jié)討論如何進(jìn)行軟件結(jié)構(gòu)的設(shè)計(jì),設(shè)計(jì)的準(zhǔn)則以及為本節(jié)討論如何進(jìn)行軟件結(jié)構(gòu)的設(shè)計(jì),設(shè)計(jì)的準(zhǔn)則以及為了提高軟件系統(tǒng)的質(zhì)量,如何對(duì)軟件結(jié)構(gòu)進(jìn)行改進(jìn)的技術(shù)。了提高軟件系統(tǒng)的質(zhì)量,如何對(duì)軟件結(jié)構(gòu)進(jìn)行改進(jìn)的技術(shù)。4.2.1 軟件結(jié)構(gòu)的基本概念 模塊化的目的是將系統(tǒng)模塊化的目的是將系統(tǒng)“分而治之分而治之”,模塊化能,模塊化能夠降低問(wèn)題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,夠降低問(wèn)題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,易于測(cè)試和調(diào)試,因而也有助于提高軟
9、件的可靠性。易于測(cè)試和調(diào)試,因而也有助于提高軟件的可靠性。4.2.14.2.1軟件結(jié)構(gòu)的基本概念軟件結(jié)構(gòu)的基本概念軟件結(jié)構(gòu)表示軟件系統(tǒng)的構(gòu)成,是軟件模塊間關(guān)系的表軟件結(jié)構(gòu)表示軟件系統(tǒng)的構(gòu)成,是軟件模塊間關(guān)系的表示,下圖則為軟件結(jié)構(gòu)示意圖。下面先介紹幾個(gè)相關(guān)的的概示,下圖則為軟件結(jié)構(gòu)示意圖。下面先介紹幾個(gè)相關(guān)的的概念。念。abcdefghijklm例如,過(guò)程、函數(shù)、子程例如,過(guò)程、函數(shù)、子程序、宏等,是構(gòu)成軟件系統(tǒng)結(jié)序、宏等,是構(gòu)成軟件系統(tǒng)結(jié)構(gòu)的基本元素。構(gòu)的基本元素。 軟件結(jié)構(gòu)圖模塊化降低軟件復(fù)雜度的簡(jiǎn)單證明4.2.14.2.1軟件結(jié)構(gòu)的基本概念軟件結(jié)構(gòu)的基本概念模塊化降低軟件復(fù)雜度的模塊化降
10、低軟件復(fù)雜度的簡(jiǎn)單證明簡(jiǎn)單證明令:令:c c(x x)表示問(wèn)題)表示問(wèn)題 x x 的復(fù)雜度函數(shù);的復(fù)雜度函數(shù); e e(x x)解決問(wèn)題)解決問(wèn)題 x x 所需工作量的復(fù)所需工作量的復(fù)雜度函數(shù);雜度函數(shù);若:有問(wèn)題若:有問(wèn)題 p1 p1,p2 p2 ;c c(p1p1) c c(p2p2);); 顯然:顯然:e e(p1p1) e e(p2p2)由經(jīng)驗(yàn):由經(jīng)驗(yàn):c c(p1+p2p1+p2) c c(p1p1)+ c+ c(p2p2)于是:于是:e e(p1+p2p1+p2) e e(p1p1)+ e+ e(p2p2)將問(wèn)題(將問(wèn)題(p1+p2p1+p2)劃分為兩個(gè)問(wèn)題)劃分為兩個(gè)問(wèn)題p1p1
11、和和p2p2后,其工作量和復(fù)雜度都降低。后,其工作量和復(fù)雜度都降低。 并非模塊分得越小越好,因?yàn)槟K之間接口的復(fù)雜度和工作量增加。并非模塊分得越小越好,因?yàn)槟K之間接口的復(fù)雜度和工作量增加。顯然,每個(gè)軟件系統(tǒng)都有一個(gè)最佳模塊數(shù)顯然,每個(gè)軟件系統(tǒng)都有一個(gè)最佳模塊數(shù)m m。注意選擇分解的最佳模塊數(shù)。注意選擇分解的最佳模塊數(shù)。右上圖描述了模塊化與軟件成本的關(guān)系。右上圖描述了模塊化與軟件成本的關(guān)系。軟件總成本 模塊化與軟件成本的關(guān)系成本模塊數(shù)目模塊成本接口成本最小成本區(qū)m4.2.14.2.1軟件結(jié)構(gòu)的基本概念軟件結(jié)構(gòu)的基本概念頂層1層2層abcdefghijklmn深度扇入為扇入為2扇出為扇出為3扇入
12、為扇入為33層4層寬度寬度寬度 軟件結(jié)構(gòu)示意圖:深度深度:表示軟件結(jié)構(gòu)中:表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊從頂層模塊到最底層模塊的層數(shù)。的層數(shù)。寬度寬度:表示控制的總分:表示控制的總分布。布。扇出數(shù)扇出數(shù):指一個(gè)模塊直:指一個(gè)模塊直接控制下屬的模塊個(gè)數(shù)。接控制下屬的模塊個(gè)數(shù)。扇入數(shù)扇入數(shù):指一個(gè)模塊的:指一個(gè)模塊的直接上屬模塊個(gè)數(shù)。直接上屬模塊個(gè)數(shù)。一個(gè)好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:頂部寬度小,中部寬一個(gè)好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:頂部寬度小,中部寬度大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部度大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部有較高的扇入數(shù)。有較高的扇入數(shù)。軟件結(jié)構(gòu)圖表
13、示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表軟件結(jié)構(gòu)圖表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表示,軟件之間的各種關(guān)系,均可表示為層次結(jié)構(gòu)。如圖所示。示,軟件之間的各種關(guān)系,均可表示為層次結(jié)構(gòu)。如圖所示。4.2.2 4.2.2 軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)由模塊連接而得到的軟件結(jié)構(gòu)最普通的形式就是樹狀結(jié)由模塊連接而得到的軟件結(jié)構(gòu)最普通的形式就是樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。構(gòu)和網(wǎng)狀結(jié)構(gòu)。在樹狀結(jié)構(gòu)中,位于最上層的根部是頂層模塊,它是程在樹狀結(jié)構(gòu)中,位于最上層的根部是頂層模塊,它是程序的主模塊。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可序的主模塊。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可以進(jìn)
14、一步引出更下一層的下屬模塊,如圖所示的樹狀結(jié)構(gòu)。以進(jìn)一步引出更下一層的下屬模塊,如圖所示的樹狀結(jié)構(gòu)。整個(gè)結(jié)構(gòu)只有一整個(gè)結(jié)構(gòu)只有一個(gè)頂層模塊,而對(duì)于個(gè)頂層模塊,而對(duì)于任何一個(gè)下屬模塊來(lái)任何一個(gè)下屬模塊來(lái)說(shuō),它只有一個(gè)上級(jí)說(shuō),它只有一個(gè)上級(jí)模塊,而且同一層模模塊,而且同一層模塊之間不發(fā)生關(guān)系。塊之間不發(fā)生關(guān)系。頂層1層2層3層 軟件的樹狀結(jié)構(gòu)abcdefghiklm網(wǎng)狀結(jié)構(gòu)在網(wǎng)狀結(jié)構(gòu)中,任何兩個(gè)模塊間都可以有雙向的關(guān)系,不分層在網(wǎng)狀結(jié)構(gòu)中,任何兩個(gè)模塊間都可以有雙向的關(guān)系,不分層次。任何兩個(gè)模塊都是平等的,沒(méi)有從屬關(guān)系。次。任何兩個(gè)模塊都是平等的,沒(méi)有從屬關(guān)系。 網(wǎng)狀結(jié)構(gòu)(a)(b)4.2.2 4
15、.2.2 軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)abcdefghabcd 比較兩種結(jié)構(gòu)的特點(diǎn):對(duì)于不加限制的網(wǎng)狀結(jié)構(gòu),由于模塊間比較兩種結(jié)構(gòu)的特點(diǎn):對(duì)于不加限制的網(wǎng)狀結(jié)構(gòu),由于模塊間相互關(guān)系的任意性,使得整個(gè)結(jié)構(gòu)十分復(fù)雜,處理起來(lái)勢(shì)必引起許相互關(guān)系的任意性,使得整個(gè)結(jié)構(gòu)十分復(fù)雜,處理起來(lái)勢(shì)必引起許多麻煩,這與原來(lái)劃分模塊為便于處理的意圖相矛盾。所以在軟件多麻煩,這與原來(lái)劃分模塊為便于處理的意圖相矛盾。所以在軟件開發(fā)的實(shí)踐中,人們通常采用樹狀結(jié)構(gòu),而不采用網(wǎng)狀結(jié)構(gòu)。開發(fā)的實(shí)踐中,人們通常采用樹狀結(jié)構(gòu),而不采用網(wǎng)狀結(jié)構(gòu)。模塊模塊5模塊模塊5模塊模塊4模塊模塊44.2.3 4.2.3 軟件
16、結(jié)構(gòu)圖(軟件結(jié)構(gòu)圖(scsc圖)圖)模塊模塊1模塊模塊3模塊模塊2valuesvaluesdatadata模塊模塊1模塊模塊2模塊模塊3valuesvaluesdatadata4.2.3 軟件結(jié)構(gòu)圖(sc圖)結(jié)構(gòu)圖(結(jié)構(gòu)圖(structure chartstructure chart,簡(jiǎn)稱,簡(jiǎn)稱scsc圖)是精確表達(dá)軟件圖)是精確表達(dá)軟件結(jié)構(gòu)的圖形表示方法,它以特定的符號(hào)表示模塊、模塊間的結(jié)構(gòu)的圖形表示方法,它以特定的符號(hào)表示模塊、模塊間的調(diào)用關(guān)系和模塊間信息的傳遞。結(jié)構(gòu)圖的主要構(gòu)成有:調(diào)用關(guān)系和模塊間信息的傳遞。結(jié)構(gòu)圖的主要構(gòu)成有: 模塊調(diào)用圖data數(shù)字信息控制信息例例: :畫出打印報(bào)告的
17、軟件結(jié)構(gòu)圖畫出打印報(bào)告的軟件結(jié)構(gòu)圖 調(diào)用次序?yàn)樯蠈诱{(diào)用下層;調(diào)用次序?yàn)樯蠈诱{(diào)用下層; 同層按照數(shù)據(jù)傳遞關(guān)系確同層按照數(shù)據(jù)傳遞關(guān)系確定;一般從左到右執(zhí)行。定;一般從左到右執(zhí)行。 執(zhí)行過(guò)程即按照數(shù)據(jù)流向進(jìn)行。執(zhí)行過(guò)程即按照數(shù)據(jù)流向進(jìn)行。 報(bào)報(bào) 告告計(jì)計(jì) 算算獲得編輯獲得編輯確認(rèn)數(shù)據(jù)確認(rèn)數(shù)據(jù)讀入讀入編輯編輯打印報(bào)告頭打印報(bào)告頭打印報(bào)告尾打印報(bào)告尾打印打印輸入eof輸入已編輯 已編輯已編輯已確認(rèn)已確認(rèn)數(shù)據(jù)已確認(rèn)數(shù)據(jù)計(jì)算結(jié)果結(jié)果日期總結(jié)果行行行4.2.3 4.2.3 軟件結(jié)構(gòu)圖(軟件結(jié)構(gòu)圖(scsc圖)圖)打印報(bào)告打印報(bào)告予以確認(rèn)予以確認(rèn)上一節(jié)討論了關(guān)于軟件結(jié)構(gòu)與軟件結(jié)構(gòu)圖的概念,本上一節(jié)討論了關(guān)于軟件
18、結(jié)構(gòu)與軟件結(jié)構(gòu)圖的概念,本節(jié)進(jìn)一步討論影響軟件系統(tǒng)質(zhì)量的另一個(gè)關(guān)鍵問(wèn)題,模節(jié)進(jìn)一步討論影響軟件系統(tǒng)質(zhì)量的另一個(gè)關(guān)鍵問(wèn)題,模塊的獨(dú)立性問(wèn)題。塊的獨(dú)立性問(wèn)題。模塊化方法已經(jīng)為所有工程領(lǐng)域所接受。模塊化的模塊化方法已經(jīng)為所有工程領(lǐng)域所接受。模塊化的主要優(yōu)點(diǎn)是,模塊化設(shè)計(jì)降低了軟件系統(tǒng)的復(fù)雜性,使主要優(yōu)點(diǎn)是,模塊化設(shè)計(jì)降低了軟件系統(tǒng)的復(fù)雜性,使得系統(tǒng)容易修改,同時(shí)使得系統(tǒng)各個(gè)部分可以并行開發(fā),得系統(tǒng)容易修改,同時(shí)使得系統(tǒng)各個(gè)部分可以并行開發(fā),從而提高了軟件的生產(chǎn)率。從而提高了軟件的生產(chǎn)率。提高模塊質(zhì)量在于提高模塊獨(dú)立性。模塊的獨(dú)立性提高模塊質(zhì)量在于提高模塊獨(dú)立性。模塊的獨(dú)立性用耦合性和內(nèi)聚性來(lái)衡量。用
19、耦合性和內(nèi)聚性來(lái)衡量。4.3.1 模塊獨(dú)立性(module independence)4.3.1 4.3.1 模塊獨(dú)立性模塊獨(dú)立性“模塊模塊”,又稱,又稱“構(gòu)件構(gòu)件”,一般指用一個(gè)名字可調(diào)用的一,一般指用一個(gè)名字可調(diào)用的一段程序。它一般具有如下段程序。它一般具有如下三個(gè)基本屬性三個(gè)基本屬性:功能功能 即指該模塊實(shí)現(xiàn)什么功能,做什么事情。必須注意:即指該模塊實(shí)現(xiàn)什么功能,做什么事情。必須注意:模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。的功能。邏輯邏輯 即描述模塊內(nèi)部怎么做。即描述模塊內(nèi)部怎么做。狀態(tài)狀態(tài) 即該模塊使用時(shí)的環(huán)
20、境和條件。即該模塊使用時(shí)的環(huán)境和條件。所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。即功能專一,模塊之間無(wú)過(guò)多的相互作用的模塊。的。即功能專一,模塊之間無(wú)過(guò)多的相互作用的模塊。這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越容易。獨(dú)立性強(qiáng)的模塊,還能減少錯(cuò)誤的影響,使模塊容易組容易。獨(dú)立性強(qiáng)的模塊,還能減少錯(cuò)誤的影響,使模塊容易組合、修改及測(cè)試。合、修改及測(cè)試。4.3.1 模塊獨(dú)
21、立性(module independence)4.3.1 4.3.1 模塊獨(dú)立性模塊獨(dú)立性模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性準(zhǔn)則模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性準(zhǔn)則: 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。 用于描述模塊內(nèi)部聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。 模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和的低耦模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和的低耦合度。合度。 模塊間耦合的類型:模塊間耦合的類型: 低低 無(wú)直接耦合無(wú)直接耦合耦耦 數(shù)據(jù)耦合數(shù)據(jù)耦合合合 標(biāo)記耦合標(biāo)記耦合性性 控制耦合控制耦合 外部耦合外部耦合 公共耦合公共耦合 高高 內(nèi)容耦合內(nèi)容耦合模模塊
22、塊獨(dú)獨(dú)立立性性弱弱( (低耦合低耦合) )強(qiáng)強(qiáng)( (中耦合中耦合) )( (較強(qiáng)耦合較強(qiáng)耦合) )( (強(qiáng)耦合強(qiáng)耦合) )(1) (1) 無(wú)直接耦合無(wú)直接耦合 兩個(gè)模塊沒(méi)有直接關(guān)系兩個(gè)模塊沒(méi)有直接關(guān)系( (模塊模塊1 1和和模塊模塊2)2),模塊獨(dú)立性最強(qiáng)。,模塊獨(dú)立性最強(qiáng)。模塊模塊1 1模塊模塊2 2模塊模塊3 3模塊模塊4 4(2) (2) 數(shù)據(jù)耦合數(shù)據(jù)耦合 一模塊調(diào)用另一模塊一模塊調(diào)用另一模塊時(shí),被調(diào)用模塊的輸入、時(shí),被調(diào)用模塊的輸入、輸出都是簡(jiǎn)單的數(shù)據(jù)輸出都是簡(jiǎn)單的數(shù)據(jù)( (若干若干參數(shù)參數(shù)) )。 屬松散耦合。屬松散耦合。數(shù)據(jù)耦合舉例數(shù)據(jù)耦合舉例開發(fā)票開發(fā)票計(jì)算水費(fèi)計(jì)算水費(fèi)單價(jià)單價(jià)數(shù)
23、量數(shù)量金額金額(3) 3) 標(biāo)記耦合標(biāo)記耦合( (特征耦合特征耦合) )如兩個(gè)模塊通過(guò)傳遞如兩個(gè)模塊通過(guò)傳遞數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)( (不是簡(jiǎn)單數(shù)據(jù),而是記錄、數(shù)組不是簡(jiǎn)單數(shù)據(jù),而是記錄、數(shù)組等等) )加以聯(lián)系,或都與一個(gè)加以聯(lián)系,或都與一個(gè)數(shù)據(jù)數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)有關(guān)系有關(guān)系, , 則稱這兩個(gè)模塊則稱這兩個(gè)模塊間存在標(biāo)記偶合。間存在標(biāo)記偶合。標(biāo)記耦合舉例標(biāo)記耦合舉例計(jì)算水電費(fèi)計(jì)算水電費(fèi)計(jì)算水費(fèi)計(jì)算水費(fèi)計(jì)算電費(fèi)計(jì)算電費(fèi)住戶情況住戶情況水費(fèi)水費(fèi)電費(fèi)電費(fèi)住戶情況住戶情況“住戶情況住戶情況”是一個(gè)是一個(gè)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu), ,圖中模塊都圖中模塊都與此數(shù)據(jù)結(jié)構(gòu)有關(guān)與此數(shù)據(jù)結(jié)構(gòu)有關(guān). .“計(jì)算水費(fèi)計(jì)算水費(fèi)”和和“計(jì)算電
24、費(fèi)計(jì)算電費(fèi)”本無(wú)關(guān)本無(wú)關(guān), ,由于由于引用了此數(shù)據(jù)結(jié)構(gòu)產(chǎn)生依賴關(guān)系引用了此數(shù)據(jù)結(jié)構(gòu)產(chǎn)生依賴關(guān)系, ,它們之間它們之間也是標(biāo)記偶合也是標(biāo)記偶合. .將標(biāo)記耦合修改為數(shù)據(jù)耦合舉例將標(biāo)記耦合修改為數(shù)據(jù)耦合舉例計(jì)算水電費(fèi)計(jì)算水電費(fèi)計(jì)算水費(fèi)計(jì)算水費(fèi)計(jì)算電費(fèi)計(jì)算電費(fèi)本月本月用水量用水量本月本月用電量用電量水費(fèi)水費(fèi)電費(fèi)電費(fèi)(4) (4) 控制耦合控制耦合 一模塊向下屬模塊傳遞的信一模塊向下屬模塊傳遞的信息息 ( (開關(guān)量、標(biāo)志等控制被開關(guān)量、標(biāo)志等控制被調(diào)用模塊決策的變量調(diào)用模塊決策的變量) ) 控制控制了被調(diào)用模塊的內(nèi)部邏輯。了被調(diào)用模塊的內(nèi)部邏輯。控制耦合舉例a a計(jì)算平均分計(jì)算平均分或最高分或最高分b
25、 b平均平均/ /最高最高( (控制信號(hào)控制信號(hào)) )成績(jī)成績(jī)讀入分?jǐn)?shù)讀入分?jǐn)?shù)輸出結(jié)果輸出結(jié)果計(jì)算平均分計(jì)算平均分計(jì)算最高分計(jì)算最高分平均平均/ /最高最高? ?b b控制耦合增加了理解和編程的復(fù)控制耦合增加了理解和編程的復(fù)雜性,調(diào)用模塊必須知道被調(diào)模雜性,調(diào)用模塊必須知道被調(diào)模塊的內(nèi)部邏輯,增加了相互依賴塊的內(nèi)部邏輯,增加了相互依賴去除模塊間控制耦合的方法:去除模塊間控制耦合的方法:(1)(1)將被調(diào)用模塊內(nèi)的判定上移到調(diào)將被調(diào)用模塊內(nèi)的判定上移到調(diào) 用模塊中進(jìn)行用模塊中進(jìn)行(2)(2)被調(diào)用模塊分解成若干單一功被調(diào)用模塊分解成若干單一功 能模塊能模塊改控制耦合為數(shù)據(jù)耦合舉例改控制耦合為數(shù)據(jù)
26、耦合舉例a a計(jì)算平均分計(jì)算平均分b1b1平均成績(jī)最高成績(jī)計(jì)算最高分計(jì)算最高分b2b2(5) (5) 外部耦合外部耦合一組模塊共享全局簡(jiǎn)單變量而不一組模塊共享全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過(guò)參數(shù)表傳遞該全局變量是通過(guò)參數(shù)表傳遞該全局變量的信息。的信息。 c c語(yǔ)言語(yǔ)言externextern(6) (6) 公共耦合公共耦合( (公共數(shù)據(jù)區(qū)耦合公共數(shù)據(jù)區(qū)耦合) )一組模塊引用同一個(gè)公用數(shù)據(jù)區(qū)一組模塊引用同一個(gè)公用數(shù)據(jù)區(qū)( (也稱全局?jǐn)?shù)據(jù)區(qū)、公共數(shù)據(jù)環(huán)境也稱全局?jǐn)?shù)據(jù)區(qū)、公共數(shù)據(jù)環(huán)境) )。公共數(shù)據(jù)區(qū)公共數(shù)據(jù)區(qū)指:指: 全局?jǐn)?shù)據(jù)結(jié)構(gòu)全局?jǐn)?shù)據(jù)結(jié)構(gòu) 共享通訊區(qū)共
27、享通訊區(qū) 內(nèi)存公共覆蓋區(qū)等內(nèi)存公共覆蓋區(qū)等公共耦合舉例公共耦合舉例公共數(shù)據(jù)區(qū)公共數(shù)據(jù)區(qū)c cb b模塊模塊a a、b b、c c間存在錯(cuò)綜復(fù)雜的聯(lián)系間存在錯(cuò)綜復(fù)雜的聯(lián)系(1)(1)軟件可理解性降低軟件可理解性降低(2)(2)診斷錯(cuò)誤困難診斷錯(cuò)誤困難(3)(3)軟件可維護(hù)性差,軟件可維護(hù)性差,(4)(4)軟件可靠性差軟件可靠性差( (公共數(shù)據(jù)區(qū)及全程變量無(wú)保護(hù)措施公共數(shù)據(jù)區(qū)及全程變量無(wú)保護(hù)措施) )慎用公共數(shù)據(jù)區(qū)和全程變量慎用公共數(shù)據(jù)區(qū)和全程變量!公共耦合存在的問(wèn)題:公共耦合存在的問(wèn)題:(7) (7) 內(nèi)容耦合內(nèi)容耦合一模塊直接訪問(wèn)一模塊直接訪問(wèn)另一模塊的內(nèi)部另一模塊的內(nèi)部信息信息 ( (程序代
28、碼程序代碼或數(shù)據(jù))或數(shù)據(jù))最不好的耦合形式最不好的耦合形式 !abab模塊代碼重疊模塊代碼重疊entry1 entry1 多入口模塊多入口模塊多個(gè)功能多個(gè)功能如何降低模塊間耦合度如何降低模塊間耦合度:(1) (1) 盡量使用數(shù)據(jù)耦合盡量使用數(shù)據(jù)耦合少用控制耦合少用控制耦合限制公共耦合的范圍限制公共耦合的范圍堅(jiān)決避免使用內(nèi)容耦合堅(jiān)決避免使用內(nèi)容耦合(2) (2) 降低接口的復(fù)雜性降低接口的復(fù)雜性2. 2. 模塊獨(dú)立性的度量之二:內(nèi)聚性模塊獨(dú)立性的度量之二:內(nèi)聚性 一個(gè)模塊內(nèi)部元素在功能上相互一個(gè)模塊內(nèi)部元素在功能上相互關(guān)聯(lián)的強(qiáng)度關(guān)聯(lián)的強(qiáng)度 設(shè)計(jì)目標(biāo):高內(nèi)聚設(shè)計(jì)目標(biāo):高內(nèi)聚 ( (模塊在軟件過(guò)程中
29、模塊在軟件過(guò)程中 完成單一的任務(wù)完成單一的任務(wù)) )模塊的內(nèi)聚性類型:模塊的內(nèi)聚性類型:低低 偶然內(nèi)聚偶然內(nèi)聚 內(nèi)內(nèi) 邏輯內(nèi)聚邏輯內(nèi)聚 聚聚 時(shí)間內(nèi)聚時(shí)間內(nèi)聚 性性 過(guò)程內(nèi)聚過(guò)程內(nèi)聚 通信內(nèi)聚通信內(nèi)聚 信息內(nèi)聚信息內(nèi)聚 高高 功能內(nèi)聚功能內(nèi)聚模模塊塊獨(dú)獨(dú)立立性性弱弱( (功能分散功能分散) )強(qiáng)強(qiáng)( (功能單一功能單一) )(1)(1)偶然內(nèi)聚偶然內(nèi)聚( (巧合內(nèi)聚巧合內(nèi)聚) ) 模塊內(nèi)各部分間無(wú)聯(lián)系模塊內(nèi)各部分間無(wú)聯(lián)系abcmmove o to rread file fmove s to t模塊模塊m中的三個(gè)語(yǔ)句沒(méi)有任何聯(lián)系中的三個(gè)語(yǔ)句沒(méi)有任何聯(lián)系缺點(diǎn):缺點(diǎn):可理解性差,可理解性差, 可修改
30、性差可修改性差例例: :(2) (2) 邏輯內(nèi)聚邏輯內(nèi)聚幾個(gè)邏輯上相關(guān)的功能被放在同一模塊中,幾個(gè)邏輯上相關(guān)的功能被放在同一模塊中,則稱為邏輯內(nèi)聚。如一個(gè)模塊讀取各種不則稱為邏輯內(nèi)聚。如一個(gè)模塊讀取各種不同類型外設(shè)的輸入。盡管邏輯內(nèi)聚比偶然同類型外設(shè)的輸入。盡管邏輯內(nèi)聚比偶然內(nèi)聚合理一些,但邏輯內(nèi)聚的模塊各成分內(nèi)聚合理一些,但邏輯內(nèi)聚的模塊各成分在功能上并無(wú)關(guān)系,即使局部功能的修改在功能上并無(wú)關(guān)系,即使局部功能的修改有時(shí)也會(huì)影響全局,因此這類模塊的修改有時(shí)也會(huì)影響全局,因此這類模塊的修改也比較困難。也比較困難。 邏輯內(nèi)聚模塊abcefgabcefga1b1c1efgefg模塊內(nèi)部邏輯模塊內(nèi)部邏
31、輯e e、f f、g g邏輯邏輯功能相似,組功能相似,組成新模塊成新模塊efgefg缺點(diǎn)缺點(diǎn):增強(qiáng)了耦合程度增強(qiáng)了耦合程度( (控制耦合控制耦合) ) 不易修改,效率低不易修改,效率低公用代碼段公用代碼段公用代碼段公用代碼段(3) (3) 時(shí)間內(nèi)聚時(shí)間內(nèi)聚( (經(jīng)典內(nèi)聚經(jīng)典內(nèi)聚) )模塊完成的功能必須在同一段時(shí)間模塊完成的功能必須在同一段時(shí)間內(nèi)執(zhí)行,這些功能只因時(shí)間因素內(nèi)執(zhí)行,這些功能只因時(shí)間因素關(guān)聯(lián)在一起。關(guān)聯(lián)在一起。例如例如: :初始化系統(tǒng)模塊、初始化系統(tǒng)模塊、 系統(tǒng)結(jié)束模塊、系統(tǒng)結(jié)束模塊、 緊急故障處理模塊等均是時(shí)間性聚合緊急故障處理模塊等均是時(shí)間性聚合 模塊模塊. .(4) 過(guò)程內(nèi)聚模
32、塊內(nèi)各處理成分相關(guān),模塊內(nèi)各處理成分相關(guān),且必須以特定次序執(zhí)行且必須以特定次序執(zhí)行程序流程圖劃分模塊通常程序流程圖劃分模塊通常是過(guò)程內(nèi)聚的。是過(guò)程內(nèi)聚的。過(guò)程內(nèi)聚模塊讀入讀入成績(jī)單成績(jī)單審查審查成績(jī)單成績(jī)單統(tǒng)計(jì)統(tǒng)計(jì)成績(jī)成績(jī)打印打印成績(jī)成績(jī)讀入并審查讀入并審查成績(jī)單成績(jī)單統(tǒng)計(jì)并打印統(tǒng)計(jì)并打印成績(jī)單成績(jī)單(5) 通信內(nèi)聚 模塊內(nèi)各部分使用相同的輸模塊內(nèi)各部分使用相同的輸入數(shù)據(jù),或產(chǎn)生相同的輸出入數(shù)據(jù),或產(chǎn)生相同的輸出結(jié)果結(jié)果通信內(nèi)聚模塊例產(chǎn)生工產(chǎn)生工資報(bào)表資報(bào)表計(jì)算平計(jì)算平均工資均工資職工工職工工資記錄資記錄職工工職工工資報(bào)表資報(bào)表平均平均工資工資產(chǎn)生職工工資報(bào)表并計(jì)算平均工資模塊產(chǎn)生職工工資報(bào)表
33、并計(jì)算平均工資模塊(6) (6) 順序內(nèi)聚順序內(nèi)聚一個(gè)模塊內(nèi)的處理元素和一個(gè)模塊內(nèi)的處理元素和同一同一個(gè)功能密切相關(guān),個(gè)功能密切相關(guān),而且這些處而且這些處理必須順序執(zhí)行(理必須順序執(zhí)行(通常一個(gè)處通常一個(gè)處理元素的輸出數(shù)據(jù)作為另外一理元素的輸出數(shù)據(jù)作為另外一個(gè)處理元素的輸入數(shù)據(jù))。個(gè)處理元素的輸入數(shù)據(jù))。數(shù)據(jù)流圖劃分的模塊數(shù)據(jù)流圖劃分的模塊(7) (7) 功能內(nèi)聚功能內(nèi)聚 模塊僅包括為完成某個(gè)功能所必模塊僅包括為完成某個(gè)功能所必須的所有成分。須的所有成分。 ( (模塊所有成分共同完成一個(gè)功模塊所有成分共同完成一個(gè)功 能,缺一不可能,缺一不可 ) ) 內(nèi)聚性最強(qiáng)內(nèi)聚性最強(qiáng) 內(nèi)聚與耦合密切相關(guān),同
34、其內(nèi)聚與耦合密切相關(guān),同其它模塊強(qiáng)耦合的模塊意味者弱內(nèi)它模塊強(qiáng)耦合的模塊意味者弱內(nèi)聚,強(qiáng)內(nèi)聚模塊意味著與其它模聚,強(qiáng)內(nèi)聚模塊意味著與其它模塊間松散耦合塊間松散耦合. .設(shè)計(jì)目標(biāo):設(shè)計(jì)目標(biāo): 力爭(zhēng)強(qiáng)內(nèi)聚、弱耦合力爭(zhēng)強(qiáng)內(nèi)聚、弱耦合4.4 4.4 結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法 軟件設(shè)計(jì)分為兩個(gè)階段軟件設(shè)計(jì)分為兩個(gè)階段: :(1)(1)概要設(shè)計(jì)概要設(shè)計(jì)( (總體設(shè)計(jì)總體設(shè)計(jì)) )確定軟件的結(jié)構(gòu)以及各組成成分確定軟件的結(jié)構(gòu)以及各組成成分( (子系統(tǒng)或模塊子系統(tǒng)或模塊) )之間的相互關(guān)系。之間的相互關(guān)系。(2)(2)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描
35、述各模塊程序過(guò)程的詳細(xì)文檔。述各模塊程序過(guò)程的詳細(xì)文檔。4.5 4.5 概要設(shè)計(jì)概要設(shè)計(jì)( (總體設(shè)計(jì)總體設(shè)計(jì)) )主要確定:軟件系統(tǒng)的結(jié)構(gòu)軟件系統(tǒng)的結(jié)構(gòu)各模塊功能及模塊間聯(lián)系各模塊功能及模塊間聯(lián)系( (接口接口) )表示軟件結(jié)構(gòu)的圖形工具表示軟件結(jié)構(gòu)的圖形工具結(jié)構(gòu)圖結(jié)構(gòu)圖層次圖和層次圖和hipo圖圖面向數(shù)據(jù)流的設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法 ( (結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法sd)sd)4.5.1. 4.5.1. 面向數(shù)據(jù)流設(shè)計(jì)方法的基本概念 sd以數(shù)據(jù)流圖為基礎(chǔ),它定義了把以數(shù)據(jù)流圖為基礎(chǔ),它定義了把dfd變換成變換成軟件結(jié)構(gòu)軟件結(jié)構(gòu)的不同的不同映射映射方法方法映射映射dfd( (問(wèn)題結(jié)構(gòu)問(wèn)
36、題結(jié)構(gòu)) )軟件系統(tǒng)的結(jié)構(gòu)軟件系統(tǒng)的結(jié)構(gòu)( (程序結(jié)構(gòu)程序結(jié)構(gòu)) )系統(tǒng)結(jié)構(gòu)特征可歸納為兩種典型形式:系統(tǒng)結(jié)構(gòu)特征可歸納為兩種典型形式:f變換型結(jié)構(gòu)變換型結(jié)構(gòu)f事務(wù)型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)數(shù)據(jù)流圖可分為兩種類型數(shù)據(jù)流圖可分為兩種類型: f變換型數(shù)據(jù)流變換型數(shù)據(jù)流f事務(wù)型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流變換變換中心中心輸入輸入輸出輸出變換型結(jié)構(gòu)事務(wù)事務(wù)中心中心接受接受路徑路徑動(dòng)動(dòng)作作路路徑徑基本模型 特征特征事務(wù)型 結(jié)構(gòu)由輸入、變由輸入、變換中心和輸換中心和輸出三部分組出三部分組成成具有在多種具有在多種事務(wù)中選擇事務(wù)中選擇執(zhí)行某類事執(zhí)行某類事物的能力物的能力變換型數(shù)據(jù)流 結(jié)構(gòu)事務(wù)型數(shù)據(jù)流 結(jié)構(gòu)傳入傳入變換變換傳出傳出
37、變換變換中心中心傳入傳入部分部分傳出傳出部分部分事務(wù)事務(wù)分析分析事務(wù)事務(wù)中心中心動(dòng)作動(dòng)作 1動(dòng)作動(dòng)作 2動(dòng)作動(dòng)作 3接受接受接受接受部分部分變換型數(shù)據(jù)流舉例輸入輸入信息信息物理物理輸入輸入格式格式檢查檢查處理處理顯示顯示正確正確信息信息結(jié)果結(jié)果物理物理輸出輸出數(shù)據(jù)數(shù)據(jù)變換中心變換中心邏輯邏輯輸入輸入邏輯邏輯輸出輸出傳入部分傳入部分傳出部分傳出部分特點(diǎn):具有明確的傳入、變換特點(diǎn):具有明確的傳入、變換( (或稱主加或稱主加 工工) ) 和傳出界面的和傳出界面的dfd事務(wù)型數(shù)據(jù)流圖舉例imlnoabcdfegh大型系統(tǒng)大型系統(tǒng)dfddfd中中, ,變換型變換型和事務(wù)型和事務(wù)型結(jié)構(gòu)往往共存結(jié)構(gòu)往往共存
38、: :t t事務(wù)中心事務(wù)中心傳入傳入變換變換傳出傳出4.5.2 4.5.2 面向數(shù)據(jù)流設(shè)計(jì)方法的設(shè)計(jì)步驟面向數(shù)據(jù)流設(shè)計(jì)方法的設(shè)計(jì)步驟(1)(1)精化精化dfddfd(2)(2)確定確定dfddfd類型類型(3)(3)把把dfddfd映射到系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)映射到系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) 出模塊結(jié)構(gòu)的上層出模塊結(jié)構(gòu)的上層(4)(4)基于基于dfddfd逐步分解高層模塊設(shè)計(jì)逐步分解高層模塊設(shè)計(jì) 出下層模塊出下層模塊(5)(5)根據(jù)模塊獨(dú)立性原理,精化模根據(jù)模塊獨(dú)立性原理,精化模 塊結(jié)構(gòu)塊結(jié)構(gòu)(6)(6)模塊接口描述模塊接口描述流類型流類型復(fù)查復(fù)查事務(wù)分析事務(wù)分析變換分析變換分析sd方法的兩種映射過(guò)渡方法變換
39、型變換型dfd事務(wù)型事務(wù)型dfd初始初始sc初始初始sc變換分析變換分析事務(wù)分析事務(wù)分析由變換分由變換分析產(chǎn)生析產(chǎn)生由事務(wù)分由事務(wù)分析產(chǎn)生析產(chǎn)生1. 變換分析設(shè)計(jì)方法步驟:步驟:(1)(1)區(qū)分傳入、變換中心、區(qū)分傳入、變換中心、 傳出部分,在傳出部分,在 dfd 上上 標(biāo)明分界線標(biāo)明分界線bcadeqprwuvabcedrpuwv變換中心變換中心傳入傳入部分部分傳出傳出部分部分變換分析設(shè)計(jì)方法步驟(2)(2)第一級(jí)分解第一級(jí)分解( (建立初始建立初始sc框架框架) ) 設(shè)計(jì)頂層和第一層模塊設(shè)計(jì)頂層和第一層模塊第一級(jí)分解的方法第一級(jí)分解的方法c,ec,e u,wu,w變換分析設(shè)計(jì)方法步驟(3)
40、(3)第二級(jí)分解第二級(jí)分解( (分解分解scsc各分支各分支) ) 自頂向下分解,設(shè)計(jì)出每個(gè)分自頂向下分解,設(shè)計(jì)出每個(gè)分支的中、下層模塊支的中、下層模塊傳傳入分支的分解macbabaceddec,e傳出分支的分解wvmeuwuw,uv(1)(1)中心加工分支的分解中心加工分支的分解mtpqrec,pru,wpr 任何情況下都可使用變換分析任何情況下都可使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但如數(shù)據(jù)方法設(shè)計(jì)軟件結(jié)構(gòu),但如數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時(shí)流具有明顯的事務(wù)特點(diǎn)時(shí) ( (有有一個(gè)明顯的事務(wù)中心一個(gè)明顯的事務(wù)中心),),以采用以采用事務(wù)分析方法為宜。事務(wù)分析方法為宜。2. 事務(wù)分析設(shè)計(jì)方法事務(wù)分析設(shè)計(jì)
41、方法步驟:(1)(1)在在dfddfd上確定事務(wù)中心、接收部上確定事務(wù)中心、接收部 分和發(fā)送部分。分和發(fā)送部分。(2)(2)畫出畫出scsc框架,把框架,把dfddfd上的三部分上的三部分 分別映射為事務(wù)控制模塊、接收分別映射為事務(wù)控制模塊、接收 模塊和動(dòng)作發(fā)送模塊。模塊和動(dòng)作發(fā)送模塊。(3)(3)分解細(xì)化接收分支和發(fā)送分支,分解細(xì)化接收分支和發(fā)送分支, 完成初始完成初始scsc。用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)讀用戶讀用戶命令命令密碼命令密碼命令密碼密碼顯示顯示信息信息系統(tǒng)參系統(tǒng)參數(shù)數(shù)據(jù)數(shù)數(shù)據(jù)用戶用戶命令命令讀系統(tǒng)讀系統(tǒng)數(shù)據(jù)數(shù)據(jù)配置信息配置信息顯示信息顯示信息和狀態(tài)和狀態(tài)命令命令分析處理
42、分析處理讀讀密碼密碼命令命令類型類型開開/ /關(guān)關(guān)命令命令建立配建立配置文件置文件原配置原配置數(shù)據(jù)數(shù)據(jù)激活激活/ /非活動(dòng)非活動(dòng)系統(tǒng)系統(tǒng)與文件中與文件中密碼比較密碼比較格式化格式化配置數(shù)據(jù)配置數(shù)據(jù)配置配置命令命令檢驗(yàn)信檢驗(yàn)信息過(guò)程息過(guò)程重試重試信息信息四位四位數(shù)字?jǐn)?shù)字檢驗(yàn)檢驗(yàn)信息信息檢驗(yàn)檢驗(yàn)信息信息a/da/d信息信息格式化格式化配置配置數(shù)據(jù)數(shù)據(jù)格式化格式化配置數(shù)據(jù)配置數(shù)據(jù)由變換分由變換分析產(chǎn)生析產(chǎn)生由事務(wù)分由事務(wù)分析產(chǎn)生析產(chǎn)生事務(wù)分析的映射方法事務(wù)分析的映射方法用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)讀用戶讀用戶命令命令密碼密碼顯示顯示信息信息系統(tǒng)參系統(tǒng)參數(shù)數(shù)
43、據(jù)數(shù)數(shù)據(jù)用戶用戶命令命令讀系統(tǒng)讀系統(tǒng)數(shù)據(jù)數(shù)據(jù)配置信息配置信息顯示信息顯示信息和狀態(tài)和狀態(tài)命令命令分析處理分析處理讀讀密碼密碼命令命令類型類型建立配建立配置文件置文件原配置原配置數(shù)據(jù)數(shù)據(jù)激活激活/ /非活動(dòng)非活動(dòng)系統(tǒng)系統(tǒng)與文件中與文件中密碼比較密碼比較格式化格式化配置數(shù)據(jù)配置數(shù)據(jù)檢驗(yàn)信檢驗(yàn)信息過(guò)程息過(guò)程重試重試信息信息四位四位數(shù)字?jǐn)?shù)字檢驗(yàn)檢驗(yàn)信息信息檢驗(yàn)檢驗(yàn)信息信息a/da/d信息信息格式化格式化配置配置數(shù)據(jù)數(shù)據(jù)格式化格式化配置數(shù)據(jù)配置數(shù)據(jù)密碼命令密碼命令開開/ /關(guān)關(guān)命令命令配置配置命令命令用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)讀用戶讀用戶命令命令密碼密碼顯示
44、顯示信息信息系統(tǒng)參系統(tǒng)參數(shù)數(shù)據(jù)數(shù)數(shù)據(jù)用戶用戶命令命令讀系統(tǒng)讀系統(tǒng)數(shù)據(jù)數(shù)據(jù)配置信息配置信息顯示信息顯示信息和狀態(tài)和狀態(tài)命令命令分析處理分析處理讀讀密碼密碼命令命令類型類型建立配建立配置文件置文件原配置原配置數(shù)據(jù)數(shù)據(jù)激活激活/ /非活動(dòng)非活動(dòng)系統(tǒng)系統(tǒng)與文件中與文件中密碼比較密碼比較格式化格式化配置數(shù)據(jù)配置數(shù)據(jù)檢驗(yàn)信檢驗(yàn)信息過(guò)程息過(guò)程重試重試信息信息四位四位數(shù)字?jǐn)?shù)字檢驗(yàn)檢驗(yàn)信息信息檢驗(yàn)檢驗(yàn)信息信息a/da/d信息信息配置配置數(shù)據(jù)數(shù)據(jù)格式化格式化配置配置數(shù)據(jù)數(shù)據(jù)密碼命令密碼命令開開/ /關(guān)關(guān)命令命令配置配置命令命令用戶命令交互子系統(tǒng)用戶命令交互子系統(tǒng)4.5.2 層次圖和hipo圖ibmibm公司發(fā)明的
45、公司發(fā)明的hipohipo圖:圖:層次圖層次圖 + + 輸入輸入 / / 處理處理 / /輸出圖輸出圖 ( (h圖圖) () (ipo圖圖) )( (hierachy input process output)1. 層次圖(h圖) 表示軟件的層次結(jié)構(gòu)表示軟件的層次結(jié)構(gòu)正文加工系統(tǒng)正文加工系統(tǒng)輸入輸入輸出輸出編輯編輯加標(biāo)題加標(biāo)題存儲(chǔ)存儲(chǔ)檢索檢索 編目錄編目錄添加添加刪除刪除插入插入修改修改合并合并列表列表帶編號(hào)的層次圖(h圖) 正文加工系統(tǒng)正文加工系統(tǒng)輸入輸入1.01.0輸出輸出2.02.0編輯編輯3.03.0加標(biāo)題加標(biāo)題 4.0 4.0存儲(chǔ)存儲(chǔ)5.05.0檢索檢索6.06.0編目錄編目錄 7.
46、0 7.0添加添加3.13.1刪除刪除3.23.2插入插入3.33.3修改修改3.43.4合并合并3.53.5列表列表3.63.62. hipo圖 h圖中每一方框圖中每一方框( (模塊模塊) )均有一張均有一張ipo圖對(duì)應(yīng)圖對(duì)應(yīng) 航線調(diào)度系統(tǒng)航線調(diào)度系統(tǒng)hipohipo圖舉例圖舉例 h h圖圖: :命令監(jiān)控器命令監(jiān)控器1.01.0取得輸入取得輸入1.11.1輸入確認(rèn)輸入確認(rèn) 1.2 1.2請(qǐng)求確認(rèn)請(qǐng)求確認(rèn)1.31.3更新處理更新處理 1.4 1.4傳統(tǒng)的ipo圖舉例輸入輸入處理處理輸出輸出讀口令請(qǐng)求讀口令請(qǐng)求口令文件口令文件1 1取得輸入取得輸入2 2口令確認(rèn)口令確認(rèn)3 3請(qǐng)求確認(rèn)請(qǐng)求確認(rèn)請(qǐng)求
47、記錄請(qǐng)求記錄權(quán)限文件權(quán)限文件4 4更新處理更新處理權(quán)限記錄權(quán)限記錄狀態(tài)報(bào)告狀態(tài)報(bào)告響應(yīng)響應(yīng)命令監(jiān)控器命令監(jiān)控器(1.0)(1.0)的的ipoipo圖圖改進(jìn)的ipo圖格式ipoipo圖圖系統(tǒng):模塊:編號(hào):作者:日期:被調(diào)用:調(diào)用:輸出:輸入:輸入:局部數(shù)據(jù)元素:注釋:4.6詳細(xì)設(shè)計(jì)(過(guò)程設(shè)計(jì)、模塊設(shè)計(jì))主要任務(wù):主要任務(wù):編寫詳細(xì)設(shè)計(jì)說(shuō)明書編寫詳細(xì)設(shè)計(jì)說(shuō)明書為此,設(shè)計(jì)人員應(yīng):為此,設(shè)計(jì)人員應(yīng):(1)(1)確定每個(gè)模塊的算法,用工具確定每個(gè)模塊的算法,用工具 表達(dá)算法的過(guò)程,寫出模塊的表達(dá)算法的過(guò)程,寫出模塊的 詳細(xì)過(guò)程性描述。詳細(xì)過(guò)程性描述。(2)(2)確定每一模塊的數(shù)據(jù)結(jié)構(gòu)。確定每一模塊的數(shù)據(jù)
48、結(jié)構(gòu)。(3)(3)確定模塊接口細(xì)節(jié)。確定模塊接口細(xì)節(jié)。詳細(xì)設(shè)計(jì)是編碼的先導(dǎo)。詳細(xì)設(shè)計(jì)是編碼的先導(dǎo)。4.6.1 詳細(xì)設(shè)計(jì)的描述方法詳細(xì)設(shè)計(jì)工具:詳細(xì)設(shè)計(jì)工具:(1) (1) 圖形工具圖形工具(2) (2) 表格工具表格工具(3) (3) 語(yǔ)言工具語(yǔ)言工具1. 1. 程序流程圖程序流程圖2. 2. 盒圖盒圖(n-s(n-s圖圖) )3. 3. 問(wèn)題分析圖問(wèn)題分析圖(pad)(pad)4. 4. 過(guò)程設(shè)計(jì)語(yǔ)言過(guò)程設(shè)計(jì)語(yǔ)言(pdl)(pdl)( (偽碼偽碼) )5. 5. 判定表判定表1. 盒圖(n-s圖)用方框圖代替?zhèn)鹘y(tǒng)的流程圖用方框圖代替?zhèn)鹘y(tǒng)的流程圖描述五種基本控制結(jié)構(gòu)的圖形構(gòu)件描述五種基本控制結(jié)
49、構(gòu)的圖形構(gòu)件(1) (1) 順序型順序型abc(2) 選擇型(if then else)if then else if thenabf條件條件taft條件條件then 部分部分then 部分部分else部分部分(3)多分支選擇型(case型)a1值值1 1a2an.條件條件值值2 2值值n n(4) while(4) while重復(fù)型重復(fù)型 (5) until (5) until重復(fù)型重復(fù)型s(循環(huán)體)(循環(huán)體)do-while ps(循環(huán)體)(循環(huán)體)repeat until p( (先測(cè)試循環(huán)先測(cè)試循環(huán)) )( (后測(cè)試循環(huán)后測(cè)試循環(huán)) )循環(huán)條件循環(huán)條件(6) 并行結(jié)構(gòu)a1a2an.(7
50、) 移出標(biāo)記acbfx6ta:d( (調(diào)用結(jié)構(gòu)調(diào)用結(jié)構(gòu)) )2. 問(wèn)題分析圖(pad) (problem analysis diagram)基本控制結(jié)構(gòu)基本控制結(jié)構(gòu): :(1)(1)順序結(jié)構(gòu)順序結(jié)構(gòu) (2) (2)選擇結(jié)構(gòu)選擇結(jié)構(gòu) abcabtf條條件件(3)重復(fù)結(jié)構(gòu) while csuntil cs(先測(cè)試循環(huán))(后測(cè)試循環(huán))等價(jià)的等價(jià)的pascalpascal語(yǔ)言:語(yǔ)言:repeat c until s等價(jià)的等價(jià)的pascalpascal語(yǔ)言:語(yǔ)言:while c do s(4) 多分支選擇型(case型) a1a1值值1 1值值2 2值值n n a2a2anan. . . . . . .
51、條件條件3.判定表判定表(決策表決策表)描述多條件、多目標(biāo)動(dòng)作的形式化工具描述多條件、多目標(biāo)動(dòng)作的形式化工具判定表舉例判定表舉例 ( (計(jì)算機(jī)票折扣率計(jì)算機(jī)票折扣率) )旅游時(shí)間旅游時(shí)間訂訂 票票 量量折折 扣扣 量量7 79 9,1212月月20202020 20 20 20 20 15% 15% 5% 5% 20% 20% 30% 30%條件類別條件類別四種條件組合四種條件組合操作操作條件組合下操作的執(zhí)行條件組合下操作的執(zhí)行1 16,10,116,10,11月月判定樹判定樹(decision 決策樹決策樹) 條件條件1 1 條件條件2 2 結(jié)果結(jié)果計(jì)計(jì) 7 79,9, 訂票量訂票量2020
52、: : 15%15%算算 1212月月 訂票量訂票量2020: : 5%5%折折扣扣 1 16,6, 訂票量訂票量2020: : 30%30%量量 10,1110,11月月 訂票量訂票量2020: : 5%5%4. pdl(1) 關(guān)鍵字的固定語(yǔ)法,它提供了結(jié)構(gòu)化控制關(guān)鍵字的固定語(yǔ)法,它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說(shuō)明和模塊化的特點(diǎn)。為了使結(jié)結(jié)構(gòu)、數(shù)據(jù)說(shuō)明和模塊化的特點(diǎn)。為了使結(jié)構(gòu)清晰和可讀性好,通常在所有可能嵌套使構(gòu)清晰和可讀性好,通常在所有可能嵌套使用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,iffi(或或endif)等等。等等。(2) 自然語(yǔ)言的自由語(yǔ)法,它描
53、述處理特點(diǎn)。自然語(yǔ)言的自由語(yǔ)法,它描述處理特點(diǎn)。(3) 數(shù)據(jù)說(shuō)明的手段。應(yīng)該既包括簡(jiǎn)單的數(shù)據(jù)數(shù)據(jù)說(shuō)明的手段。應(yīng)該既包括簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)(例如純量和數(shù)組例如純量和數(shù)組),又包括復(fù)雜的數(shù)據(jù)結(jié),又包括復(fù)雜的數(shù)據(jù)結(jié)構(gòu)構(gòu)(例如,鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu)例如,鏈表或?qū)哟蔚臄?shù)據(jù)結(jié)構(gòu))。(4) 模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描述模式??诿枋瞿J健?1 1、可使用性、可使用性 使用簡(jiǎn)單使用簡(jiǎn)單 用戶界面中所用術(shù)語(yǔ)的標(biāo)準(zhǔn)化和一致性用戶界面中所用術(shù)語(yǔ)的標(biāo)準(zhǔn)化和一致性 具有具有help功能功能 快速的系統(tǒng)響應(yīng)和低的系統(tǒng)成本快速的系統(tǒng)響應(yīng)和低的系統(tǒng)成本 具有容錯(cuò)能力具有容錯(cuò)能力
54、 2 2、靈活性、靈活性 考慮用戶的特點(diǎn)、能力、知識(shí)水平。考慮用戶的特點(diǎn)、能力、知識(shí)水平。 提供不同的系統(tǒng)響應(yīng)信息。提供不同的系統(tǒng)響應(yīng)信息。 提供根據(jù)用戶需求制定和修改提供根據(jù)用戶需求制定和修改界面。界面。 3 3、界面的復(fù)雜性與可靠性、界面的復(fù)雜性與可靠性 復(fù)雜性復(fù)雜性界面規(guī)模及組織的復(fù)雜程度。應(yīng)該愈簡(jiǎn)單愈好。界面規(guī)模及組織的復(fù)雜程度。應(yīng)該愈簡(jiǎn)單愈好。 可靠性可靠性指無(wú)故障使用的時(shí)間間隔。用戶界面應(yīng)該能夠保指無(wú)故障使用的時(shí)間間隔。用戶界面應(yīng)該能夠保 證用戶正確、可靠地使用系統(tǒng),及程序、數(shù)據(jù)的安全。證用戶正確、可靠地使用系統(tǒng),及程序、數(shù)據(jù)的安全。4.7 用戶界面設(shè)計(jì) 1 1、用戶特性分析、用戶
55、特性分析 用戶模型用戶模型 了解所有用戶的技能和經(jīng)驗(yàn),針對(duì)用戶能力設(shè)計(jì)或更改界了解所有用戶的技能和經(jīng)驗(yàn),針對(duì)用戶能力設(shè)計(jì)或更改界面。從以下方面分析:面。從以下方面分析: 用戶類型用戶類型通常分為:外行型、初學(xué)型、熟練型、專家型。通常分為:外行型、初學(xué)型、熟練型、專家型。 用戶特性度量用戶特性度量與用戶使用模式和用戶群體能力有關(guān)。與用戶使用模式和用戶群體能力有關(guān)。 包括:用戶使用頻度、用戶用機(jī)能力、用戶的知識(shí)、思維能包括:用戶使用頻度、用戶用機(jī)能力、用戶的知識(shí)、思維能力等。力等。這部分工作應(yīng)該與軟件需求分析同步進(jìn)行。包括以下內(nèi)容:這部分工作應(yīng)該與軟件需求分析同步進(jìn)行。包括以下內(nèi)容:2 2、用戶界
56、面的任務(wù)分析、用戶界面的任務(wù)分析 任務(wù)模型(任務(wù)模型(dfddfd圖)圖) 是對(duì)系統(tǒng)內(nèi)部活動(dòng)的分解,不僅要進(jìn)行功能分解(用是對(duì)系統(tǒng)內(nèi)部活動(dòng)的分解,不僅要進(jìn)行功能分解(用dfddfd圖圖描述),還要包括與人相關(guān)的活動(dòng)。每個(gè)加工即一個(gè)功能或描述),還要包括與人相關(guān)的活動(dòng)。每個(gè)加工即一個(gè)功能或任務(wù)。任務(wù)。3 3、確定用戶界面類型、確定用戶界面類型 正文菜單、圖標(biāo)菜單、正文和圖標(biāo)混合菜單,如:正文菜單、圖標(biāo)菜單、正文和圖標(biāo)混合菜單,如:開始菜單。開始菜單。 字符界面、字符界面、gui界面、無(wú)交互界面。界面、無(wú)交互界面。 設(shè)計(jì)原則:以人為本,以用戶的體驗(yàn)為準(zhǔn)。設(shè)計(jì)原則:以人為本,以用戶的體驗(yàn)為準(zhǔn)。 固定
57、位置、浮動(dòng)位置(彈出)、下拉式、嵌入式固定位置、浮動(dòng)位置(彈出)、下拉式、嵌入式混合菜單固定及下拉菜單固定菜單固定菜單下拉菜單下拉菜單 在用戶界面中,加入豐富多彩的畫面,將能夠更加行象地為用戶提供有在用戶界面中,加入豐富多彩的畫面,將能夠更加行象地為用戶提供有用的信息,以達(dá)到可視化的目的。主要的處理操作有:圖象的隱蔽和再現(xiàn)、用的信息,以達(dá)到可視化的目的。主要的處理操作有:圖象的隱蔽和再現(xiàn)、屏幕滾動(dòng)和圖案顯示、動(dòng)畫等。屏幕滾動(dòng)和圖案顯示、動(dòng)畫等。 對(duì)話框是在需要時(shí),顯示在屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。對(duì)話框是在需要時(shí),顯示在屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。通過(guò)對(duì)話,實(shí)現(xiàn)系統(tǒng)和用戶之
58、間的通信。通過(guò)對(duì)話,實(shí)現(xiàn)系統(tǒng)和用戶之間的通信。對(duì)話框顯示的方式與彈出式菜單類似,即瞬時(shí)彈出。同時(shí),系統(tǒng)還應(yīng)對(duì)話框顯示的方式與彈出式菜單類似,即瞬時(shí)彈出。同時(shí),系統(tǒng)還應(yīng)將對(duì)話框所覆蓋的原圖象進(jìn)行保存,以便在對(duì)話結(jié)束后能立即恢復(fù)。將對(duì)話框所覆蓋的原圖象進(jìn)行保存,以便在對(duì)話結(jié)束后能立即恢復(fù)。有三種對(duì)話形式:有三種對(duì)話形式:必須回答式如圖必須回答式如圖3.58所示所示無(wú)需回答式無(wú)需回答式 如圖如圖3.59所示所示警告式警告式 如圖如圖4.58所示所示必須回答式對(duì)話框無(wú)需回答式對(duì)話框警告式對(duì)話框4 4、窗口(、窗口(windowwindow) 圖形學(xué)中稱為視圖區(qū)(圖形學(xué)中稱為視圖區(qū)(viewportvi
59、ewport),視為虛擬屏幕。一個(gè)實(shí)用窗口,),視為虛擬屏幕。一個(gè)實(shí)用窗口,可包含部件:可包含部件: 菜單區(qū)(菜單區(qū)(menu barmenu bar) 圖標(biāo)區(qū)(圖標(biāo)區(qū)(icon baricon bar) 標(biāo)題區(qū)(標(biāo)題區(qū)(title bartitle bar) 移動(dòng)區(qū)(移動(dòng)區(qū)(move barmove bar) 大小區(qū)(大小區(qū)(size barsize bar) 退出區(qū)(退出區(qū)(quit barquit bar) 用戶工作區(qū)(用戶工作區(qū)(users work barusers work bar) 橫向滾動(dòng)區(qū)(橫向滾動(dòng)區(qū)(horizontal scroll barhorizontal scrol
60、l bar) 縱向滾動(dòng)區(qū)(縱向滾動(dòng)區(qū)(vertical scroll barvertical scroll bar)窗口數(shù)據(jù)數(shù)據(jù)i/oi/o界面,是系統(tǒng)的重要組成部分。主要從界面,是系統(tǒng)的重要組成部分。主要從輸入速度輸入速度和和減少出錯(cuò)率減少出錯(cuò)率考慮??紤]。1、盡量減少輸入工作量、盡量減少輸入工作量 對(duì)相同內(nèi)容輸入設(shè)置默認(rèn)值對(duì)相同內(nèi)容輸入設(shè)置默認(rèn)值 自動(dòng)填入自動(dòng)填入 列表選擇或點(diǎn)擊選擇列表選擇或點(diǎn)擊選擇2、屏幕顯示與輸入匹配、屏幕顯示與輸入匹配 即屏幕顯示按照數(shù)據(jù)使用頻率、重要性、次序等即屏幕顯示按照數(shù)據(jù)使用頻率、重要性、次序等組織。組織。3、數(shù)據(jù)輸入的一般規(guī)則、數(shù)據(jù)輸入的一般規(guī)則確定輸入確
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025常州市市區(qū)住宅區(qū)物業(yè)管理委托合同書樣板
- 2025年度保安行業(yè)消防安全檢查合同3篇
- 2024年版權(quán)許可及授權(quán)合同
- 2025版共享經(jīng)濟(jì)勞動(dòng)關(guān)系與勞動(dòng)合同靈活運(yùn)用合同3篇
- 2024年貨物預(yù)定押金協(xié)議版B版
- 2025版智能建筑電氣系統(tǒng)安裝服務(wù)合同3篇
- 2025電器預(yù)防性試驗(yàn)檢測(cè)、調(diào)試項(xiàng)目承攬合同
- 2025版酒店客房用品定制銷售合同模板3篇
- 2025醫(yī)療器材購(gòu)銷合同范本
- 2025燈具購(gòu)買合同
- 市場(chǎng)營(yíng)銷試題(含參考答案)
- 鐵路橋梁墩身施工專項(xiàng)方案
- 貝雷片-潮白新河鋼棧橋及鋼平臺(tái)計(jì)算說(shuō)明書
- VF程序設(shè)計(jì)知識(shí)要點(diǎn)
- 燃?xì)?蒸汽聯(lián)合循環(huán)機(jī)組詳介
- 初中信息技術(shù)課程教學(xué)設(shè)計(jì)案例
- 計(jì)價(jià)格[1999]1283號(hào)_建設(shè)項(xiàng)目前期工作咨詢收費(fèi)暫行規(guī)定
- 植物與植物生理課程教學(xué)大綱
- 展廳展館中控系統(tǒng)解決方案
- 兒童福利個(gè)人工作總結(jié)報(bào)告
- 《夜宿山寺》
評(píng)論
0/150
提交評(píng)論