結(jié)構(gòu)化軟件設(shè)計(jì)_第1頁(yè)
結(jié)構(gòu)化軟件設(shè)計(jì)_第2頁(yè)
結(jié)構(gòu)化軟件設(shè)計(jì)_第3頁(yè)
結(jié)構(gòu)化軟件設(shè)計(jì)_第4頁(yè)
結(jié)構(gòu)化軟件設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩93頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、結(jié)構(gòu)化軟件設(shè)計(jì)第1頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG本章內(nèi)容7.1 系統(tǒng)功能結(jié)構(gòu)圖7.2 變換映射7.3 事務(wù)映射7.4 變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖7.5 改進(jìn)系統(tǒng)功能結(jié)構(gòu)圖的啟發(fā)式原則7.6 數(shù)據(jù)設(shè)計(jì)和文檔設(shè)計(jì)的原則7.7 設(shè)計(jì)的后處理7.8 詳細(xì)設(shè)計(jì)7.9 界面設(shè)計(jì)7.10 HIPO設(shè)計(jì)工具7.11 Jackson系統(tǒng)開發(fā)方法簡(jiǎn)介第2頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心引言結(jié)構(gòu)化設(shè)計(jì)方法依據(jù)需求分析的結(jié)果“數(shù)據(jù)流圖”推導(dǎo)出軟件的系統(tǒng)功能結(jié)構(gòu)圖。其要點(diǎn)是

2、:建立數(shù)據(jù)流的類型。指明數(shù)據(jù)流的邊界。將數(shù)據(jù)流圖映射到程序結(jié)構(gòu)。用“因子化”方法定義控制的層次結(jié)構(gòu)。用設(shè)計(jì)測(cè)量和一些啟發(fā)式規(guī)則對(duì)結(jié)構(gòu)進(jìn)行細(xì)化。第3頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1 系統(tǒng)功能結(jié)構(gòu)圖7.1.1 系統(tǒng)結(jié)構(gòu)圖中的模塊7.1.2 變換型數(shù)據(jù)流與變換型系統(tǒng)結(jié)構(gòu)7.1.3 事務(wù)型數(shù)據(jù)流與事務(wù)型系統(tǒng)結(jié)構(gòu)圖第4頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1.1 系統(tǒng)結(jié)構(gòu)圖中的模塊一般有四種基本類型的模塊:傳入模塊 :從下屬模

3、塊取得數(shù)據(jù),經(jīng)過某些處理,再將其傳送給上級(jí)模塊。傳出模塊 :從上級(jí)模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其傳送給下屬模塊。變換模塊 :即加工模塊。它從上級(jí)模塊取得數(shù)據(jù),進(jìn)行處理,轉(zhuǎn)換成其它形式,再傳送回上級(jí)模塊。協(xié)調(diào)模塊 :對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。第5頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1.1 系統(tǒng)結(jié)構(gòu)圖中的模塊在系統(tǒng)結(jié)構(gòu)圖中不能再分解的底層模塊為原子模塊。因子分解系統(tǒng):所有系統(tǒng)的加工處理都由原子模塊完成;其它非原子模塊僅僅進(jìn)行控制和協(xié)調(diào)的功能。系統(tǒng)結(jié)構(gòu)圖是完全因子分解的系統(tǒng)是最好的系統(tǒng)。 通常,系統(tǒng)

4、功能結(jié)構(gòu)圖根據(jù)數(shù)據(jù)流圖中加工特性分為以下兩種結(jié)構(gòu):變換處理型事務(wù)處理型第6頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1.2變換型數(shù)據(jù)流與變換型系統(tǒng)結(jié)構(gòu)變換型數(shù)據(jù)處理問題的工作過程大致分為三步,取得數(shù)據(jù)變換數(shù)據(jù)給出數(shù)據(jù) 第7頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1.3事務(wù)型數(shù)據(jù)流與事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)型數(shù)據(jù)處理問題的工作機(jī)理是接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧缓蠼o出結(jié)果??梢砸l(fā)一個(gè)或多個(gè)處理作

5、業(yè)數(shù)據(jù)流,就叫做事務(wù)。事務(wù)是最小的工作單元,不論成功與否都作為一個(gè)整體進(jìn)行工作。事務(wù)型系統(tǒng)結(jié)構(gòu)圖中由以下模塊:事務(wù)處理中心:負(fù)責(zé)任務(wù)的分派;事務(wù)處理加工:完成具體的處理;第8頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)的特點(diǎn)原子性:標(biāo)識(shí)事務(wù)是否完全地完成。如果事務(wù)完成,則組成事務(wù)的所有任務(wù)都完成,一旦有一個(gè)任務(wù)失敗,事務(wù)就失敗,系統(tǒng)反回事務(wù)開始前的狀態(tài)。一致性:保證系統(tǒng)的任何事務(wù)最后都處于有效狀態(tài)。 隔離性:在隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作。 持久性:持久性意味著一旦事務(wù)執(zhí)行成功,在系

6、統(tǒng)中產(chǎn)生的所有變化將是永久的。 第9頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)型系統(tǒng)結(jié)構(gòu)圖 事務(wù)中心模塊按所接受的事務(wù)的類型,選擇某一個(gè)事務(wù)處理模塊執(zhí)行。每個(gè)事務(wù)處理模塊可能要調(diào)用若干個(gè)操作模塊,而操作模塊又可能調(diào)用若干個(gè)細(xì)節(jié)模塊。不同的事務(wù)處理模塊可以共享一些操作模塊。不同的操作模塊又可以共享一些細(xì)節(jié)模塊。 第10頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.2 變換映射變換映射是一組設(shè)計(jì)步驟,將具有變換流特征的數(shù)據(jù)流圖映射為一個(gè)預(yù)定

7、義的程序結(jié)構(gòu)模版。 運(yùn)用變換映射方法建立初始的系統(tǒng)結(jié)構(gòu)圖,然后進(jìn)行多次改進(jìn),得到系統(tǒng)的最終結(jié)構(gòu)圖。 (1)復(fù)審并評(píng)估分析模型;(2)復(fù)審并重畫數(shù)據(jù)流圖;(3)確定數(shù)據(jù)流圖中的變換和事務(wù)特征;(4)區(qū)分輸入流、輸出流和中心變換部分,即標(biāo)明數(shù)據(jù)流的邊界;(5)進(jìn)行一級(jí)“因子化”分解,設(shè)計(jì)頂層和第一層模塊;(6)進(jìn)行二級(jí)“因子化”分解,設(shè)計(jì)中、下層模塊;(7)利用一些啟發(fā)式原則來改進(jìn)系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。 第11頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心重畫數(shù)據(jù)流圖其出發(fā)點(diǎn)是描述系統(tǒng)中的數(shù)據(jù)是如何

8、流動(dòng)的??梢詮捻攲蛹庸た蜷_始,逐層向下檢查各變換型加工是否具有高內(nèi)聚的特性(即加工具有執(zhí)行單一、獨(dú)立的功能)以及每個(gè)加工是否具有足夠多的細(xì)節(jié)信息,不需要再進(jìn)一步細(xì)化。并根據(jù)需要將局部層次的數(shù)據(jù)流圖合并為一層,便于理解和設(shè)計(jì);第12頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定數(shù)據(jù)流邊界中心變換:多股數(shù)據(jù)流匯集的地方往往是系統(tǒng)的中心變換部分。邏輯輸入:可以從數(shù)據(jù)流圖上的物理輸入開始,一步一步向系統(tǒng)中間移動(dòng),一直到數(shù)據(jù)流不再被看作是系統(tǒng)的輸入為止,則其前一個(gè)數(shù)據(jù)流就是系統(tǒng)的邏輯輸入??梢哉J(rèn)為邏輯輸入就是離物理輸入端最遠(yuǎn)的

9、,且仍被看作是系統(tǒng)輸入的數(shù)據(jù)流。邏輯輸出:從物理輸出端開始,一步一步地向系統(tǒng)中間移動(dòng),就可以找到離物理輸出端最遠(yuǎn),且仍被看作是系統(tǒng)輸出的數(shù)據(jù)流。第13頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心一級(jí)因子化分解其主要任務(wù)就是設(shè)計(jì)頂層和第一層模塊。 頂層模塊:主要起到控制和協(xié)調(diào)的作用;用程序名字命名,將它畫在與中心變換相對(duì)應(yīng)的位置上;它調(diào)用下層模塊,完成系統(tǒng)所要做的各項(xiàng)工作 。中層模塊(第一層):既完成一部分控制,又完成適當(dāng)?shù)淖儞Q工作;為每一個(gè)邏輯輸入設(shè)計(jì)一個(gè)輸入模塊,為主模塊提供數(shù)據(jù);為每一個(gè)邏輯輸出設(shè)計(jì)一個(gè)輸出模塊,它

10、將主模塊提供的數(shù)據(jù)輸出;為中心變換設(shè)計(jì)一個(gè)變換模塊,它將邏輯輸入轉(zhuǎn)換成邏輯輸出;第一層模塊與主模塊之間傳送的數(shù)據(jù)應(yīng)與數(shù)據(jù)流圖相對(duì)應(yīng)。 第14頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心二級(jí)因子化分解其主要任務(wù)是設(shè)計(jì)中下層模塊將數(shù)據(jù)流圖中的每一個(gè)變換型加工映射為程序結(jié)構(gòu)中的模塊輸入模塊輸出模塊變換模塊從變換中心的邊界開始,沿輸入路徑和輸出路徑向外,將變換依次映射到低層的軟件結(jié)構(gòu)中去。 最終給出初步的系統(tǒng)功能結(jié)構(gòu)圖第15頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué)

11、通信軟件工程中心輸入/輸出/中心變換模塊輸入模塊:要向調(diào)用它的上級(jí)模塊提供數(shù)據(jù),由以下模塊組成:接收數(shù)據(jù)模塊;變換模塊:把這些數(shù)據(jù)變換成它的上級(jí)模塊所需的數(shù)據(jù)。 輸出模塊:從調(diào)用它的上級(jí)模塊接收數(shù)據(jù),用以輸出,由以下模塊組成:將上級(jí)模塊提供的數(shù)據(jù)變換成輸出的形式;將它們輸出。中心變換模塊的下層模塊沒有通用的設(shè)計(jì)方法,一般應(yīng)參照數(shù)據(jù)流圖的中心變換部分和功能分解的原則來考慮如何對(duì)中心變換模塊進(jìn)行分解。 第16頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的處理說明模塊輸入和輸出的信息,即接口描述。模塊需要處理的信息,局部

12、數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的數(shù)據(jù)。過程描述,指明該功能模塊主要的邏輯規(guī)則和任務(wù)。功能模塊的有關(guān)限制條件和特殊性的要求I/O、與硬件相關(guān)的特征、時(shí)間要求等第17頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心數(shù)據(jù)流圖推導(dǎo)出的系統(tǒng)初始結(jié)構(gòu)圖 第18頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.3 事務(wù)映射事務(wù)映射也從分析數(shù)據(jù)流圖開始,自頂向下,逐步分解,建立事務(wù)型系統(tǒng)結(jié)構(gòu)圖。 復(fù)審系統(tǒng)分析模型重畫數(shù)據(jù)流圖確定是否具有事務(wù)流特征確定事務(wù)中心及流特征進(jìn)行事務(wù)映射因子

13、化分解和細(xì)化優(yōu)化系統(tǒng)結(jié)構(gòu)第19頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心識(shí)別事務(wù)中心事務(wù)中心通常位于幾條操作路徑的起始點(diǎn)上,可以從數(shù)據(jù)流圖上直接找出來。事務(wù)源:一個(gè)帶有請(qǐng)求性質(zhì)的數(shù)據(jù)流;事務(wù)中心:處理事務(wù)源的加工,且后繼的多個(gè)加工必須是并列的在事務(wù)中心的控制下完成不同功能處理。第20頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)映射事務(wù)流應(yīng)映射到包含一個(gè)輸入分支和一個(gè)分類事務(wù)處理分支的程序結(jié)構(gòu)上。 輸入分支結(jié)構(gòu)的開發(fā)與變換流的方法類似 分類

14、事務(wù)處理分支結(jié)構(gòu)包含一個(gè)調(diào)度模塊,它調(diào)度和控制下屬的事務(wù)處理模塊。 建立一個(gè)主模塊用以代表整個(gè)加工,P層然后考慮被稱為事務(wù)層的第二層模塊,T層第二層模塊只能是三類:取得事務(wù)、處理事務(wù)和給出結(jié)果。 處理事務(wù)模塊的下層為操作模塊,A層操作模塊之下為細(xì)節(jié)模塊,D層第21頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)型系統(tǒng)結(jié)構(gòu)圖第22頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.4 變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖一般來講,一個(gè)大型的軟件系統(tǒng)不可能是單

15、一的數(shù)據(jù)變換型,也不可能是單一的事務(wù)型,通常是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合體。在具體的應(yīng)用中一般以變換型為主,事務(wù)型為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)。 第23頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.4 變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖第24頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心課堂作業(yè)在醫(yī)院就診系統(tǒng)中,掛號(hào)子系統(tǒng)的數(shù)據(jù)流圖如下圖所示:請(qǐng)畫出該子系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。分析掛號(hào)請(qǐng)求掛號(hào)請(qǐng)求科室信息查詢科室排隊(duì)信息確定掛號(hào)科室醫(yī)生確定掛號(hào)費(fèi)用科室排隊(duì)

16、信息掛號(hào)的科室醫(yī)生信息查詢病例信息病例號(hào)打印掛號(hào)信息收掛號(hào)費(fèi)用收掛號(hào)費(fèi)用掛號(hào)的科室醫(yī)生信息病例信息掛號(hào)費(fèi)用繳費(fèi)請(qǐng)求收費(fèi)成功掛號(hào)費(fèi)用掛號(hào)憑據(jù)收費(fèi)失敗輸出掛號(hào)失敗信息失敗信息第25頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5 改進(jìn)系統(tǒng)功能結(jié)構(gòu)圖的啟發(fā)式原則7.5.1 模塊功能的完善化 消除重復(fù)功能,改善軟件結(jié)構(gòu) 模塊的作用范圍應(yīng)在控制范圍之內(nèi)盡可能減少高扇出結(jié)構(gòu) 避免或減少使用病態(tài)聯(lián)接 模塊的大小要適中 設(shè)計(jì)功能可預(yù)測(cè)的模塊,避免過分受限制的模塊 軟件包應(yīng)滿足設(shè)計(jì)約束和可移植性 第26頁(yè),共98頁(yè),2022年,5月2

17、0日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.1 模塊功能的完善化一個(gè)完整的功能模塊,不僅應(yīng)能完成指定的功能,而且還應(yīng)當(dāng)能夠告訴使用者完成任務(wù)的狀態(tài),以及不能完成的原因。規(guī)定的功能部分。出錯(cuò)處理部分。當(dāng)模塊不能完成規(guī)定的功能時(shí),必須返回出錯(cuò)信息和標(biāo)志,向它的調(diào)用者報(bào)告出現(xiàn)這種例外情況的原因。給調(diào)用者返回一個(gè)該模塊執(zhí)行是否正確結(jié)束的“標(biāo)志”。 第27頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心消除重復(fù)功能,改善軟件結(jié)構(gòu)在得到初始的功能結(jié)構(gòu)圖之后,如果發(fā)現(xiàn)有幾個(gè)模塊有相似之

18、處,可加以改進(jìn)。完全相似:在結(jié)構(gòu)上完全相似,可能只是在數(shù)據(jù)類型上不一致。局部相似:需要考慮功能之間的耦合及內(nèi)聚性 第28頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍應(yīng)在控制范圍之內(nèi)模塊的控制范圍包括它本身及其所有的從屬模塊;模塊的作用范圍是指模塊內(nèi)一個(gè)判定的作用范圍,凡是受這個(gè)判定影響的所有模塊都屬于這個(gè)判定的作用范圍。 如果一個(gè)判定的作用范圍包含在這個(gè)判定所在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡(jiǎn)單的,否則,它的結(jié)構(gòu)是復(fù)雜的。 模塊A的控制范圍為:ABCDEFG。模塊C的控制范圍為:CFG。 第29頁(yè),共9

19、8頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍與控制范圍第30頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍與控制范圍在一個(gè)設(shè)計(jì)得很好的系統(tǒng)模塊結(jié)構(gòu)圖中,所有受一個(gè)判定影響的模塊應(yīng)該都從屬于該判定所在的模塊,最好局限于做出判定的那個(gè)模塊及其直接下屬模塊。 在設(shè)計(jì)過程中,當(dāng)遇到作用范圍不在控制范圍之內(nèi),可應(yīng)用如下辦法把作用范圍移到控制范圍之內(nèi):將判定所在模塊合并到父模塊中,使判定處于較高的層次;將受到判定影響的模塊下移到控制范圍內(nèi)

20、;將判定上移到層次中較高的位置 第31頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.4盡可能減少高扇出結(jié)構(gòu)模塊的扇出指模塊調(diào)用子模塊的個(gè)數(shù)。模塊的扇出過大,將使得系統(tǒng)的模塊結(jié)構(gòu)圖的寬度變大,寬度越大結(jié)構(gòu)圖越復(fù)雜。比較適當(dāng)?shù)哪K扇出數(shù)目為25,最多不要超過9。 模塊的扇出過小也不好,這樣將使得系統(tǒng)的功能結(jié)構(gòu)圖的深度大大增加,不但增加了模塊接口的復(fù)雜度,而且增加了調(diào)用和返回的時(shí)間開銷,降低系統(tǒng)的工作效率。 第32頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通

21、信軟件工程中心扇入扇出結(jié)構(gòu)的調(diào)整如果模塊的扇出過大,就表明模塊過分復(fù)雜,需要協(xié)調(diào)和控制過多的下屬模塊。 一個(gè)模塊的扇入數(shù)目很大,說明共享該模塊的上級(jí)模塊數(shù)目增多。但如果一個(gè)模塊的扇入太大,比如超過7或8,而且它又不是公用模塊,說明該模塊可能具有多個(gè)功能。為此應(yīng)當(dāng)對(duì)其進(jìn)一步分析并將其功能分解。 第33頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.5 避免或減少使用病態(tài)聯(lián)接 應(yīng)限制使用如下三種病態(tài)聯(lián)接: 直接病態(tài)聯(lián)接:即模塊A直接從模塊B內(nèi)部取出某些數(shù)據(jù),或者把某些數(shù)據(jù)直接送到模塊B內(nèi)部 公共數(shù)據(jù)域病態(tài)聯(lián)接:模塊A和

22、模塊B通過公共數(shù)據(jù)域直接傳送或接受數(shù)據(jù),而不是通過它們的上級(jí)模塊。 通信模塊聯(lián)接:即模塊A和模塊B通過通信模塊TABLEIT傳送數(shù)據(jù)。通信未經(jīng)過上級(jí)模塊。第34頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.6 模塊的大小要適中模塊的大小是指模塊內(nèi)部結(jié)構(gòu)的多少。限制模塊的大小是減少?gòu)?fù)雜性的手段之一,因而要求把模塊的大小限制在一定的范圍之內(nèi)。通常規(guī)定其語(yǔ)句行數(shù)在50100左右,最多不超過500行。 體積過大的模塊往往是由于分解不充分,且具有多個(gè)功能,因此需要對(duì)功能進(jìn)一步分解,生成一些下級(jí)模塊或同層模塊。反之,模塊體積

23、較小時(shí)也可以考慮是否可能與調(diào)用它的上級(jí)模塊合并。 第35頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.7 設(shè)計(jì)功能可預(yù)測(cè)的模塊 一個(gè)功能可預(yù)測(cè)的模塊不論內(nèi)部處理細(xì)節(jié)如何,但對(duì)相同的輸入數(shù)據(jù),總能產(chǎn)生同樣的結(jié)果。 如果模塊內(nèi)部有一些特殊的鮮為人知的功能時(shí),這個(gè)模塊就可能是不可預(yù)測(cè)的。 第36頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心避免過分受限制的模塊 一個(gè)僅處理單一功能的模塊,由于具有高度的內(nèi)聚性,而受到了設(shè)計(jì)人員的重視。 如果限制死了

24、模塊的局部數(shù)據(jù)結(jié)構(gòu)的大小、控制流的選擇或者接口模式,則很難適應(yīng)用戶新的要求或環(huán)境的變更,給將來的軟件維護(hù)造成了很大的困難。 為了能夠適應(yīng)將來的變更,軟件模塊中局部數(shù)據(jù)結(jié)構(gòu)的大小應(yīng)當(dāng)是可控制的,調(diào)用者可以通過模塊接口上的參數(shù)表或一些預(yù)定義外部參數(shù)來規(guī)定或改變局部數(shù)據(jù)結(jié)構(gòu)的大小。 第37頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.8 應(yīng)滿足設(shè)計(jì)約束和可移植性 運(yùn)用變換分析方法建立系統(tǒng)的結(jié)構(gòu)圖時(shí)應(yīng)當(dāng)注意以下幾點(diǎn):在選擇模塊設(shè)計(jì)的次序時(shí),必須對(duì)一個(gè)模塊的全部直接下屬模塊都設(shè)計(jì)完成之后能轉(zhuǎn)向另一個(gè)模塊的下層模塊的設(shè)計(jì)。在

25、設(shè)計(jì)下層模塊時(shí),應(yīng)考慮模塊的低耦合和高內(nèi)聚問題,提高初始結(jié)構(gòu)圖的質(zhì)量。 注意黑盒技術(shù)的使用。 如果出現(xiàn)了以下情況,就停止模塊的功能分解當(dāng)模塊不能再細(xì)分為明顯的子任務(wù)時(shí);當(dāng)分解成用戶提供的模塊或程序庫(kù)的子程序時(shí);當(dāng)模塊的界面是輸入輸出設(shè)備傳送的信息時(shí);當(dāng)模塊不宜再分解得過小時(shí)。第38頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.6 數(shù)據(jù)設(shè)計(jì)和文檔設(shè)計(jì)的原則7.6.1 數(shù)據(jù)設(shè)計(jì)的原則7.6.2 文件設(shè)計(jì)的過程第39頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信

26、軟件工程中心7.6.1 數(shù)據(jù)設(shè)計(jì)的原則數(shù)據(jù)設(shè)計(jì)指程序中的數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),數(shù)據(jù)設(shè)計(jì)的過程可以概括成以下兩步:(1)為在需求分析階段所確定的數(shù)據(jù)對(duì)象選擇邏輯表示,需要對(duì)不同結(jié)構(gòu)進(jìn)行算法分析,以便選擇一個(gè)最有效的設(shè)計(jì)方案。(2)確定對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包),以便限制或確定各個(gè)數(shù)據(jù)設(shè)計(jì)決策的影響范圍。第40頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心定義和設(shè)計(jì)數(shù)據(jù)的原則用于軟件的系統(tǒng)化方法也適用于數(shù)據(jù)。應(yīng)當(dāng)考慮幾種不同的數(shù)據(jù)組織方案,還應(yīng)當(dāng)分析數(shù)據(jù)設(shè)計(jì)給軟件設(shè)計(jì)帶來的影響。要確定所有的數(shù)據(jù)結(jié)構(gòu)和在每種

27、數(shù)據(jù)結(jié)構(gòu)上施加的操作。應(yīng)當(dāng)建立一個(gè)數(shù)據(jù)詞典并用它來定義數(shù)據(jù)和軟件的設(shè)計(jì)。低層數(shù)據(jù)設(shè)計(jì)的決策應(yīng)推遲到設(shè)計(jì)過程的后期進(jìn)行。在需求分析時(shí)確定總體數(shù)據(jù)組織,在概要設(shè)計(jì)階段加以細(xì)化,而在詳細(xì)設(shè)計(jì)階段才規(guī)定具體的細(xì)節(jié)。第41頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心定義和設(shè)計(jì)數(shù)據(jù)的原則數(shù)據(jù)結(jié)構(gòu)的表示只限于那些必須直接使用該數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)的模塊才能知道。此原則就是信息隱蔽和與此相關(guān)的耦合性原則,把數(shù)據(jù)對(duì)象的邏輯形式與物理形式分開。數(shù)據(jù)結(jié)構(gòu)應(yīng)當(dāng)設(shè)計(jì)成為可復(fù)用的。建立一個(gè)存有各種可復(fù)用的數(shù)據(jù)結(jié)構(gòu)模型的構(gòu)件庫(kù),以減少數(shù)據(jù)定義和設(shè)計(jì)的工作

28、量。軟件設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言應(yīng)當(dāng)支持抽象數(shù)據(jù)類型的定義和實(shí)現(xiàn)。第42頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.6.2 文件設(shè)計(jì)的過程文件設(shè)計(jì)指數(shù)據(jù)存儲(chǔ)文件設(shè)計(jì),其主要工作就是根據(jù)使用要求、處理方式、存儲(chǔ)的信息量、數(shù)據(jù)的活動(dòng)性,以及所能提供的設(shè)備條件等,來確定文件類別,選擇文件媒體,決定文件組織方法,設(shè)計(jì)文件記錄格式,并估算文件的容量。文件設(shè)計(jì)的過程主要分為兩個(gè)階段:第一個(gè)階段是文件的邏輯設(shè)計(jì),主要在概要設(shè)計(jì)階段實(shí)施。 第二個(gè)是文件的物理設(shè)計(jì),主要在詳細(xì)設(shè)計(jì)和編碼環(huán)節(jié)實(shí)現(xiàn)。第43頁(yè),共98頁(yè),2022年,5月20日,

29、19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心文件設(shè)計(jì)要完成的工作整理必須的數(shù)據(jù)元素。 分析數(shù)據(jù)間的關(guān)系。 確定文件的邏輯設(shè)計(jì)。 理解文件的特性。 確定文件的存儲(chǔ)媒體。 確定文件的組織方式。 確定文件的記錄格式。 估算存取時(shí)間和存儲(chǔ)容量 。第44頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定文件存儲(chǔ)媒體需要考慮的因素?cái)?shù)據(jù)量:根據(jù)處理數(shù)據(jù)量,估算需要媒體的數(shù)量。數(shù)據(jù)量大的文件可選用磁帶、磁盤或光盤作為存儲(chǔ)媒體,數(shù)據(jù)量小的文件可采用軟盤作為存儲(chǔ)媒體。處理方式:處理方式有聯(lián)機(jī)處理和批處理

30、。對(duì)于聯(lián)機(jī)處理, 多選用直接存取設(shè)備,如磁盤等;對(duì)于批處理,選用任何一種存儲(chǔ)媒體都可以。存取時(shí)間和處理時(shí)間:批處理對(duì)于時(shí)間沒有嚴(yán)格的要求, 因此對(duì)存儲(chǔ)媒體也沒有特殊的要求。實(shí)時(shí)處理最好選用直接存取媒體,如磁盤等,以滿足響應(yīng)時(shí)間的要求。第45頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定文件存儲(chǔ)媒體需要考慮的因素?cái)?shù)據(jù)結(jié)構(gòu):根據(jù)文件的數(shù)據(jù)結(jié)構(gòu),選用能實(shí)現(xiàn)其結(jié)構(gòu)的合適媒體及相應(yīng)的存取方法。例如,順序文件可選用磁帶或光盤,而索引文件和散列文件則必須選用磁盤。操作要求:對(duì)于數(shù)據(jù)量大,執(zhí)行時(shí)較少要求用戶干預(yù)的文件,應(yīng)當(dāng)選用磁帶媒

31、體;而對(duì)于頻繁交互的文件,應(yīng)當(dāng)選用磁盤媒體。費(fèi)用要求:在滿足上述要求的基礎(chǔ)上,應(yīng)當(dāng)盡量選用價(jià)格低的媒體。第46頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心文件記錄格式記錄的長(zhǎng)度:設(shè)計(jì)記錄的長(zhǎng)度要確保能滿足需要,還要考慮使用設(shè)備的制約和效率,盡可能與讀寫單位匹配,并盡可能減少處理過程中內(nèi)外存的交換次數(shù)。數(shù)據(jù)項(xiàng)的順序:對(duì)于可變長(zhǎng)記錄,應(yīng)在記錄的開頭記入長(zhǎng)度信息;對(duì)于關(guān)鍵碼,應(yīng)盡量按級(jí)別高低,順序配置;聯(lián)系較密切的數(shù)據(jù)項(xiàng),應(yīng)歸納在一起進(jìn)行配置。數(shù)據(jù)項(xiàng)的屬性:屬性相同的數(shù)據(jù)項(xiàng),應(yīng)盡量歸納在一起配置;數(shù)據(jù)項(xiàng)應(yīng)按雙字長(zhǎng),全字長(zhǎng),半

32、字長(zhǎng)和字節(jié)的屬性,順序配置。預(yù)留空間:考慮到將來可能的變更或擴(kuò)充,應(yīng)當(dāng)預(yù)先留下一些空閑空間。子數(shù)據(jù)項(xiàng):可把一個(gè)數(shù)據(jù)項(xiàng)分成幾個(gè)子數(shù)據(jù)項(xiàng),每一個(gè)子數(shù)據(jù)項(xiàng)也可以作為單獨(dú)的項(xiàng)來使用。第47頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7 設(shè)計(jì)后處理在經(jīng)過變換映射和事務(wù)映射之后,還需要為所獲得的系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行說明,形成概要設(shè)計(jì)說明書,包括以下內(nèi)容:必須為每一個(gè)模塊寫一份處理說明;為每一個(gè)模塊提供一份接口說明;確定全局?jǐn)?shù)據(jù)結(jié)構(gòu)和局部數(shù)據(jù)結(jié)構(gòu);指出所有的設(shè)計(jì)約束和限制。 第48頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分

33、,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.1 處理說明處理說明是一個(gè)關(guān)于模塊內(nèi)部處理的清晰且無歧義的正確描述,包含了模塊的主要處理任務(wù)、條件抉擇和輸入輸出。 “給出結(jié)果2”模塊調(diào)用“格式化2”模塊,將內(nèi)部編碼形式的計(jì)算結(jié)果2轉(zhuǎn)換成以ASCII碼表示的文本形式的預(yù)格式化數(shù)據(jù),再調(diào)用“給出結(jié)果”模塊,進(jìn)一步轉(zhuǎn)換成按預(yù)定的圖表安排的形式輸出。 這種處理說明可作為初始的模塊說明,以后在詳細(xì)設(shè)計(jì)時(shí)還將進(jìn)一步具體化。第49頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.2 接口說明接口說明要

34、給出一張表格,列出所有進(jìn)入模塊和從模塊輸出的數(shù)據(jù)。應(yīng)包括通過參數(shù)表傳遞的信息外界的輸入/輸出信息訪問全局?jǐn)?shù)據(jù)區(qū)的信息指出其下屬的模塊和上級(jí)模塊。 PROCEDURE format-2; /過程format-2(格式化2) INTERFACE ACCEPTS; /入口 TYPE calc-value-2 IS BINARY CODE;/類型 calc-value-2是二進(jìn)制碼 INTERFACE RETURNS; /出口 TYPE preformatted-data IS NUMERIC /類型preformatted-data是數(shù)值型 * no external IO or global da

35、ta Used /無外部IO或全局?jǐn)?shù)據(jù) * called by put-result-2 /所調(diào)用:模塊put-result-2 * calls no subordinate modules /調(diào)用:無下屬模塊第50頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.3 數(shù)據(jù)結(jié)構(gòu)說明數(shù)據(jù)結(jié)構(gòu)的描述可以用偽碼(如PDL語(yǔ)言、類PASCAL語(yǔ)言)或Warnier圖等形式表達(dá)。 第51頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.4 概要設(shè)計(jì)評(píng)

36、審在評(píng)審中應(yīng)著重評(píng)審軟件需求是否得到滿足,軟件結(jié)構(gòu)的質(zhì)量、接口說明、數(shù)據(jù)結(jié)構(gòu)說明、實(shí)現(xiàn)和測(cè)試的可行性和可維護(hù)性等。 評(píng)審階段還需要考慮和解決設(shè)計(jì)中存在的錯(cuò)誤,以防錯(cuò)誤在后期的軟件過程中產(chǎn)生放大,即錯(cuò)誤的擴(kuò)大效應(yīng)。第52頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心設(shè)計(jì)評(píng)審的效果不進(jìn)行評(píng)審,12個(gè)錯(cuò)誤帶到運(yùn)行環(huán)境中進(jìn)行評(píng)審,3個(gè)錯(cuò)誤帶到運(yùn)行環(huán)境中3個(gè)模塊中包含10個(gè)設(shè)計(jì)問題:第53頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.5 設(shè)計(jì)的優(yōu)化在

37、軟件的程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)已經(jīng)按照功能和性能需求,以及按照設(shè)計(jì)標(biāo)準(zhǔn)和直覺被設(shè)計(jì)出來之后,再進(jìn)行設(shè)計(jì)的優(yōu)化工作。過早地考慮優(yōu)化設(shè)計(jì)是沒有意義的。簡(jiǎn)明的結(jié)構(gòu)往往是精巧的和高效的。優(yōu)化要力爭(zhēng)使模塊的個(gè)數(shù)最少;尋求盡量簡(jiǎn)單的滿足信息需求的數(shù)據(jù)結(jié)構(gòu)。 第54頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心時(shí)間效率優(yōu)化對(duì)于有時(shí)間運(yùn)行要求的應(yīng)用問題,在詳細(xì)設(shè)計(jì)階段和編碼階段必須進(jìn)行優(yōu)化 在不考慮時(shí)間運(yùn)行要求的條件下構(gòu)造并改進(jìn)軟件的結(jié)構(gòu)。在細(xì)節(jié)設(shè)計(jì)的過程中,挑出那些有可能占用過多時(shí)間的模塊,并為這些模塊精心設(shè)計(jì)出時(shí)間效率更高的過程(算法)。

38、用高級(jí)程序設(shè)計(jì)語(yǔ)言編寫代碼程序。檢測(cè)軟件,分離出占用大量處理機(jī)資源的模塊。如果有必要,用依賴機(jī)器的語(yǔ)言(機(jī)器指令、匯編語(yǔ)言)重新設(shè)計(jì)或重新編碼,以提高軟件的效率。第55頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8 詳細(xì)設(shè)計(jì)從軟件開發(fā)的工程化觀點(diǎn)來看,在編制程序以前,需要對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá),使之成為編碼的依據(jù),這就是詳細(xì)設(shè)計(jì)的任務(wù)。表達(dá)詳細(xì)設(shè)計(jì)規(guī)格說明的工具叫做詳細(xì)設(shè)計(jì)工具,它可以分為三類:圖形工具表格工具語(yǔ)言工具 第56頁(yè),共98頁(yè),2022年,5月20日,

39、19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.1 程序流程圖程序流程圖獨(dú)立于任何一種程序設(shè)計(jì)語(yǔ)言,比較直觀、清晰,易于學(xué)習(xí)掌握。 為使用流程圖描述結(jié)構(gòu)化程序,必須限制流程圖只能使用下面給出的五種基本控制結(jié)構(gòu)。 第57頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心第58頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.2 N-S圖Nassi和Shneiderman 提出了一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形

40、描述工具,叫做盒圖,也叫做N-S圖。 圖中每個(gè)矩形框(除CASE構(gòu)造中表示條件取值的矩形框外)都是明確定義了的功能域,以圖形表示,清晰可見。它的控制轉(zhuǎn)移不能任意規(guī)定,必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的要求。很容易確定局部數(shù)據(jù)和(或)全局?jǐn)?shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可表示模塊的層次結(jié)構(gòu)。第59頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心N-S圖示例第60頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.3 PAD圖PAD是Problem Anal

41、ysis Diagram的縮寫,是日立公司提出,用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用?,F(xiàn)在已為ISO認(rèn)可。 第61頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDA示例第62頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.4 判定表當(dāng)算法中包含多重嵌套的條件選擇時(shí),用程序流程圖、N-S圖或PAD都不易清楚地描述。然而,判定表卻能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系。

42、 判定表要求不能存在多分支判斷,必須是兩分支的判斷多分支雙分支第63頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心判定表“”表示該條件取值為真,“”表示該條件取值為假??瞻妆硎具@個(gè)條件無論取何值對(duì)動(dòng)作的選擇不產(chǎn)生影響。 “”表示要做這個(gè)動(dòng)作,空白表示不做這個(gè)動(dòng)作。 判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定條件取值組合相對(duì)應(yīng)的動(dòng)作。 第64頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.5 PDLPDL是一種偽碼,用于描述功能模塊的算

43、法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言。偽碼的語(yǔ)法規(guī)則分為“外語(yǔ)法”和“內(nèi)語(yǔ)法”。外語(yǔ)法應(yīng)當(dāng)符合一般程序設(shè)計(jì)語(yǔ)言常用語(yǔ)句的語(yǔ)法規(guī)則;內(nèi)語(yǔ)法可以用英語(yǔ)中一些簡(jiǎn)單的句子、短語(yǔ)和通用的數(shù)學(xué)符號(hào),來描述程序應(yīng)執(zhí)行的功能。 第65頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDL 的特點(diǎn)有固定的關(guān)鍵字外語(yǔ)法,提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征。為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫,其它單詞一律小寫。內(nèi)語(yǔ)法使用自然語(yǔ)言來描述處理特性。內(nèi)語(yǔ)法只要寫清楚就可以,不必考慮語(yǔ)法錯(cuò),以利于人們可把主要精力放在描述算法的邏輯上。有數(shù)據(jù)說明機(jī)制,包括簡(jiǎn)單

44、的(如標(biāo)量和數(shù)組)與復(fù)雜的(如鏈表和層次結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。 第66頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDL 舉例一個(gè)具有查找拼寫錯(cuò)誤單詞功能的算法 PROCEDURE spell_check IS BEGIN split document into single words look up words in dictionary display words which are not in dictionary create a new dictionary

45、 END spell_check 第67頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PROCEDURE spell_checkBEGIN/split document into single wordsLOOP get next word add word to word list in sort-order EXIT WHEN all words processedEND LOOP /look up words in dictionaryLOOP get word from word listIF word not

46、in dictionary THEN/display words not in dictionarydisplay word, prompt on user terminal IF user response says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXIT WHEN all words processedEND LOOP/create a new words dictionarydictionary := merge dictionary and good

47、word listEND spell_check第68頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9 界面設(shè)計(jì)7.9.1 置用戶于控制之下7.9.2 減少用戶的記憶負(fù)擔(dān)7.9.3 保持界面一致7.9.4 界面設(shè)計(jì)模型7.9.5 用戶界面設(shè)計(jì)過程7.9.6 界面設(shè)計(jì)需要注意的常見問題7.9.7 界面設(shè)計(jì)評(píng)估和優(yōu)化 第69頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心軟件界面簡(jiǎn)介軟件界面不僅是軟件系統(tǒng)功能體現(xiàn)最直接的表現(xiàn)方式,它也是驗(yàn)證用戶需求與

48、功能實(shí)現(xiàn)是否匹配的一種有效方式。軟件開發(fā)人員期望利用自身的專業(yè)知識(shí),將用戶不完整甚至片面的需求用界面的方式將系統(tǒng)功能體現(xiàn)出來,以達(dá)到補(bǔ)充、修改和統(tǒng)一對(duì)用戶需求的理解和認(rèn)識(shí)。界面設(shè)計(jì)主要包括三個(gè)方面:設(shè)計(jì)軟件構(gòu)件間的接口;設(shè)計(jì)模塊和其他非人的信息生產(chǎn)者和消費(fèi)者(比如其他外部實(shí)體)的接口;設(shè)計(jì)人(如用戶)和計(jì)算機(jī)間的界面用戶界面設(shè)計(jì) 第70頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心軟件界面的特點(diǎn)軟件界面具有以下特點(diǎn):要充分體現(xiàn)系統(tǒng)的功能適合軟件運(yùn)行的環(huán)境(例如嵌入式環(huán)境)要兼顧用戶使用的習(xí)慣(鍵盤還是鼠標(biāo))和知識(shí)水準(zhǔn)(一

49、般用戶還是具有高水平計(jì)算機(jī)能力的人員)要美觀、大方、靈巧、實(shí)用要緊跟潮流 在進(jìn)行用戶界面設(shè)計(jì)的同時(shí)不僅要在技術(shù)問題上研究,同時(shí)還要對(duì)使用系統(tǒng)的用戶加以研究:用戶是什么樣的人?用戶怎樣學(xué)習(xí)與新的基于計(jì)算機(jī)的系統(tǒng)交互?用戶怎樣解釋系統(tǒng)產(chǎn)生的信息?用戶對(duì)系統(tǒng)有哪些期望?第71頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心界面設(shè)計(jì)黃金規(guī)則Theo Mandel提出了三條“黃金規(guī)則”置用戶于控制之下;減少用戶的記憶負(fù)擔(dān);保持界面一致。第72頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北

50、京郵電大學(xué) 通信軟件工程中心7.9.1 置用戶于控制之下是系統(tǒng)的功能控制用戶的操作,還是由用戶定義并控制系統(tǒng)的功能?Mandel定義了一組設(shè)計(jì)原則允許用戶操作控制:以不強(qiáng)迫用戶進(jìn)入不必要的或不希望的動(dòng)作方式來定義交互模式; 提供靈活的與界面交互的方式; 允許用戶交互可以被中斷和撤銷;當(dāng)技能級(jí)別增長(zhǎng)時(shí)可以使交互流水化并允許定制交互;使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)。設(shè)計(jì)應(yīng)允許用戶與出現(xiàn)在屏幕上的對(duì)象直接交互。 第73頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.2 減少用戶的記憶負(fù)擔(dān)當(dāng)用戶必須記住的東西越多時(shí),與系統(tǒng)交互時(shí)出

51、錯(cuò)的可能性也越大。為此,一個(gè)很好的用戶界面設(shè)計(jì)不應(yīng)加重用戶的記憶負(fù)擔(dān)。 Mandel定義了一組設(shè)計(jì)原則,使得界面能夠減少用戶的記憶負(fù)擔(dān):減少對(duì)短期記憶的要求;建立有意義的缺?。欢x直覺性的捷徑;界面的視覺布局應(yīng)該基于真實(shí)世界的背景 ;以不斷進(jìn)展的方式提示信息 。第74頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.3 保持界面一致用戶應(yīng)以一致的方式展示和獲取信息:所有可視信息的組織均按照貫穿所有屏幕顯示所保持的設(shè)計(jì)標(biāo)準(zhǔn)輸入機(jī)制被約束到有限的集合,在整個(gè)應(yīng)用中被一致地使用從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn)。Ma

52、ndel定義了一組保持界面一致性的設(shè)計(jì)原則:允許用戶將當(dāng)前任務(wù)放入有意義的環(huán)境中,即指示當(dāng)前的工作環(huán)境,提供執(zhí)行相關(guān)操作的選擇; 在應(yīng)用系列內(nèi)保持一致性,例如使用Ctrl+S表示保存 第75頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.4 界面設(shè)計(jì)模型設(shè)計(jì)用戶界面時(shí)要考慮四種模型:軟件工程師創(chuàng)建設(shè)計(jì)模型;系統(tǒng)分析人員建立的用戶模型;終端用戶在腦海里對(duì)界面產(chǎn)生的映像稱為用戶的模型或系統(tǒng)感覺;系統(tǒng)的實(shí)現(xiàn)者創(chuàng)建系統(tǒng)界面模型。為了建立有效的用戶界面,“開始界面設(shè)計(jì)之前,必須對(duì)用戶加以了解:新手:對(duì)該應(yīng)用程序或計(jì)算機(jī)的一般

53、用法幾乎沒有任何基本概念。 對(duì)系統(tǒng)有了解的中級(jí)用戶:有一定的合理的知識(shí)背景,但對(duì)使用界面所必需的語(yǔ)法信息的了解還比較少。 對(duì)系統(tǒng)有了解的經(jīng)驗(yàn)用戶:該應(yīng)用程序有很好的語(yǔ)義和語(yǔ)法了解 ,經(jīng)常尋找捷徑和簡(jiǎn)短的交互模式。 第76頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.5 用戶界面設(shè)計(jì)過程用戶界面的設(shè)計(jì)過程是迭代的,其過程包含四個(gè)不同的框架任務(wù):用戶、任務(wù)和環(huán)境分析及建模;界面將物理地位于何處?用戶是否將坐著、站著或完成其他和該界面無關(guān)的任務(wù)?顯示設(shè)備是否適應(yīng)空間、光線或噪音約束?是否存在特殊的環(huán)境因素而需要的特殊考

54、慮?界面設(shè)計(jì):定義一組支持用戶完成所需工作的界面對(duì)象和動(dòng)作;界面構(gòu)造:根據(jù)已經(jīng)確定的用戶模型和設(shè)計(jì)模型開發(fā)出界面的初始原型,經(jīng)過多次跌代形成用戶所需的界面;界面確認(rèn):(1)界面功能具有正確地實(shí)現(xiàn)每個(gè)用戶任務(wù)的能力、適應(yīng)所有任務(wù)變更的能力以及達(dá)到所有一般用戶需求的能力;(2)界面具有良好的使用和學(xué)習(xí)的程度;(3)用戶具有接受界面作為他們工作中有用工具的程度。 第77頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.6 界面設(shè)計(jì)需要注意的常見問題在進(jìn)行用戶界面設(shè)計(jì)時(shí),通常會(huì)遇到以下四種問題:系統(tǒng)響應(yīng)時(shí)間幫助信息錯(cuò)誤信息處

55、理命令標(biāo)記第78頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心系統(tǒng)響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間是指從用戶開始執(zhí)行動(dòng)作(比如按回車鍵或點(diǎn)鼠標(biāo))到軟件給出預(yù)期的響應(yīng)。 系統(tǒng)響應(yīng)時(shí)間包括兩方面的屬性:長(zhǎng)度:如果系統(tǒng)響應(yīng)時(shí)間過長(zhǎng),用戶就會(huì)感到不安和煩躁,過快的系統(tǒng)響應(yīng)時(shí)間有時(shí)也會(huì)成為問題,因?yàn)檫@會(huì)迫使用戶加快操作節(jié)奏,從而導(dǎo)致錯(cuò)誤。 可變性:相對(duì)于平均響應(yīng)時(shí)間的偏差,要求響應(yīng)時(shí)間向?qū)Ψ€(wěn)定,可變性低,這往往更重要。第79頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心

56、系統(tǒng)聯(lián)機(jī)幫助現(xiàn)代的軟件系統(tǒng)都會(huì)提供聯(lián)機(jī)幫助,用戶可以不離開系統(tǒng)就能尋找到所需要的答案。除此之外,還應(yīng)該提供一份詳細(xì)的用戶使用手冊(cè),注明每一個(gè)界面功能的操作細(xì)節(jié)和順序。 用戶怎樣請(qǐng)求幫助?幫助菜單特殊功能提示HELP命令。怎樣表示幫助?在另一個(gè)窗口中指出參考某個(gè)文檔(非理想方式)在屏幕特定位置的簡(jiǎn)單提示。第80頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心系統(tǒng)聯(lián)機(jī)幫助用戶怎樣回到正常的交互方式?屏幕上顯示返回按鈕功能鍵或控制序列。怎樣構(gòu)造幫助信息?平面式(所有信息均通過一個(gè)關(guān)鍵詞來訪問)分層式(用戶可以進(jìn)一步查詢得到更詳細(xì)

57、的信息)超文本式(通過超級(jí)鏈接方式)。第81頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心錯(cuò)誤信息處理出錯(cuò)消息和警告是指出現(xiàn)問題時(shí)系統(tǒng)給出的“壞消息”。如果做不好的話,出錯(cuò)消息和警告會(huì)給出無用或誤導(dǎo)的信息,反面增加了用戶的反感。 例如:SEVERE SYSTEM FAILURE 14A 出錯(cuò)消息和警告應(yīng)具備以下特征:以用戶可以理解的術(shù)語(yǔ)描述;應(yīng)提供如何從錯(cuò)誤中恢復(fù)的建設(shè)性意見;應(yīng)指出錯(cuò)誤可能導(dǎo)致哪些不良后果(比如破壞數(shù)據(jù)),以使用戶檢查是否出現(xiàn)了這些情況或幫助用戶進(jìn)行改正;應(yīng)伴隨著視覺或聽覺上的提示,即顯示消息時(shí)應(yīng)伴隨著

58、警告或者消息用閃爍方式,或明顯的顏色進(jìn)行提示;不能帶有判定色彩,即不能指責(zé)用戶的操作不當(dāng),因?yàn)殄e(cuò)誤信息都是系統(tǒng)的問題而非用戶造成的。第82頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.7 界面設(shè)計(jì)評(píng)估和優(yōu)化原型完成以后,設(shè)計(jì)者就可以通過對(duì)用戶收集反饋信息得到一些定性和定量的數(shù)據(jù)幫助進(jìn)行界面評(píng)估。通過觀察用戶對(duì)界面交互的使用,記錄以下信息:在標(biāo)準(zhǔn)時(shí)間內(nèi)正確完成任務(wù)的數(shù)量、使用命令的頻度、命令序列、用于看屏幕的時(shí)間、出錯(cuò)的數(shù)目、錯(cuò)誤的類型和錯(cuò)誤恢復(fù)時(shí)間、使用幫助的時(shí)間、標(biāo)準(zhǔn)時(shí)間段內(nèi)查看幫助的次數(shù),這些數(shù)據(jù)可以用于指導(dǎo)

59、界面修改。第83頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.10 HIPO設(shè)計(jì)工具7.10.1可視目錄表7.10.2IPO圖7.10.3利用HIPO進(jìn)行迭代式細(xì)化設(shè)計(jì)第84頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心HIPO簡(jiǎn)介HIPO Hierarchy plus Input Process Output 最初只用做文檔編寫的格式要求,隨后發(fā)展成比較有名的軟件設(shè)計(jì)手段。HIPO是在開發(fā)過程中的表達(dá)工具,所以它又是開發(fā)文檔的編制工具。 HIPO圖采用功能框圖和PDL來描述程序邏輯 ,它由兩部分組成:可視目錄表:給出程序的層次關(guān)系 IPO圖:為程序各部分提供具體的工作細(xì)節(jié) 第85頁(yè),共98頁(yè),2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.10.1 可視目錄表可視目錄表由體系框圖、圖例、描述說明三部分組成 體系框圖:又稱層次圖(H圖),是可視目錄表的主體,表明各個(gè)功能的隸屬關(guān)系。每個(gè)框內(nèi)有一個(gè)名字,用以標(biāo)識(shí)它的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論