版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、結(jié)構(gòu)化軟件設(shè)計第1頁,共98頁,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è)計和文檔設(shè)計的原則7.7 設(shè)計的后處理7.8 詳細(xì)設(shè)計7.9 界面設(shè)計7.10 HIPO設(shè)計工具7.11 Jackson系統(tǒng)開發(fā)方法簡介第2頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心引言結(jié)構(gòu)化設(shè)計方法依據(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è)計測量和一些啟發(fā)式規(guī)則對結(jié)構(gòu)進(jìn)行細(xì)化。第3頁,共98頁,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頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.1.1 系統(tǒng)結(jié)構(gòu)圖中的模塊一般有四種基本類型的模塊:傳入模塊 :從下屬模
3、塊取得數(shù)據(jù),經(jīng)過某些處理,再將其傳送給上級模塊。傳出模塊 :從上級模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其傳送給下屬模塊。變換模塊 :即加工模塊。它從上級模塊取得數(shù)據(jù),進(jìn)行處理,轉(zhuǎn)換成其它形式,再傳送回上級模塊。協(xié)調(diào)模塊 :對所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。第5頁,共98頁,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頁,共98頁,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頁,共98頁,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ì),選擇分派一個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果??梢砸l(fā)一個或多個處理作
5、業(yè)數(shù)據(jù)流,就叫做事務(wù)。事務(wù)是最小的工作單元,不論成功與否都作為一個整體進(jìn)行工作。事務(wù)型系統(tǒng)結(jié)構(gòu)圖中由以下模塊:事務(wù)處理中心:負(fù)責(zé)任務(wù)的分派;事務(wù)處理加工:完成具體的處理;第8頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)的特點(diǎn)原子性:標(biāo)識事務(wù)是否完全地完成。如果事務(wù)完成,則組成事務(wù)的所有任務(wù)都完成,一旦有一個任務(wù)失敗,事務(wù)就失敗,系統(tǒng)反回事務(wù)開始前的狀態(tài)。一致性:保證系統(tǒng)的任何事務(wù)最后都處于有效狀態(tài)。 隔離性:在隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時間內(nèi)執(zhí)行的唯一操作。 持久性:持久性意味著一旦事務(wù)執(zhí)行成功,在系
6、統(tǒng)中產(chǎn)生的所有變化將是永久的。 第9頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)型系統(tǒng)結(jié)構(gòu)圖 事務(wù)中心模塊按所接受的事務(wù)的類型,選擇某一個事務(wù)處理模塊執(zhí)行。每個事務(wù)處理模塊可能要調(diào)用若干個操作模塊,而操作模塊又可能調(diào)用若干個細(xì)節(jié)模塊。不同的事務(wù)處理模塊可以共享一些操作模塊。不同的操作模塊又可以共享一些細(xì)節(jié)模塊。 第10頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.2 變換映射變換映射是一組設(shè)計步驟,將具有變換流特征的數(shù)據(jù)流圖映射為一個預(yù)定
7、義的程序結(jié)構(gòu)模版。 運(yùn)用變換映射方法建立初始的系統(tǒng)結(jié)構(gòu)圖,然后進(jìn)行多次改進(jìn),得到系統(tǒng)的最終結(jié)構(gòu)圖。 (1)復(fù)審并評估分析模型;(2)復(fù)審并重畫數(shù)據(jù)流圖;(3)確定數(shù)據(jù)流圖中的變換和事務(wù)特征;(4)區(qū)分輸入流、輸出流和中心變換部分,即標(biāo)明數(shù)據(jù)流的邊界;(5)進(jìn)行一級“因子化”分解,設(shè)計頂層和第一層模塊;(6)進(jìn)行二級“因子化”分解,設(shè)計中、下層模塊;(7)利用一些啟發(fā)式原則來改進(jìn)系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。 第11頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心重畫數(shù)據(jù)流圖其出發(fā)點(diǎn)是描述系統(tǒng)中的數(shù)據(jù)是如何
8、流動的??梢詮捻攲蛹庸た蜷_始,逐層向下檢查各變換型加工是否具有高內(nèi)聚的特性(即加工具有執(zhí)行單一、獨(dú)立的功能)以及每個加工是否具有足夠多的細(xì)節(jié)信息,不需要再進(jìn)一步細(xì)化。并根據(jù)需要將局部層次的數(shù)據(jù)流圖合并為一層,便于理解和設(shè)計;第12頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定數(shù)據(jù)流邊界中心變換:多股數(shù)據(jù)流匯集的地方往往是系統(tǒng)的中心變換部分。邏輯輸入:可以從數(shù)據(jù)流圖上的物理輸入開始,一步一步向系統(tǒng)中間移動,一直到數(shù)據(jù)流不再被看作是系統(tǒng)的輸入為止,則其前一個數(shù)據(jù)流就是系統(tǒng)的邏輯輸入??梢哉J(rèn)為邏輯輸入就是離物理輸入端最遠(yuǎn)的
9、,且仍被看作是系統(tǒng)輸入的數(shù)據(jù)流。邏輯輸出:從物理輸出端開始,一步一步地向系統(tǒng)中間移動,就可以找到離物理輸出端最遠(yuǎn),且仍被看作是系統(tǒng)輸出的數(shù)據(jù)流。第13頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心一級因子化分解其主要任務(wù)就是設(shè)計頂層和第一層模塊。 頂層模塊:主要起到控制和協(xié)調(diào)的作用;用程序名字命名,將它畫在與中心變換相對應(yīng)的位置上;它調(diào)用下層模塊,完成系統(tǒng)所要做的各項(xiàng)工作 。中層模塊(第一層):既完成一部分控制,又完成適當(dāng)?shù)淖儞Q工作;為每一個邏輯輸入設(shè)計一個輸入模塊,為主模塊提供數(shù)據(jù);為每一個邏輯輸出設(shè)計一個輸出模塊,它
10、將主模塊提供的數(shù)據(jù)輸出;為中心變換設(shè)計一個變換模塊,它將邏輯輸入轉(zhuǎn)換成邏輯輸出;第一層模塊與主模塊之間傳送的數(shù)據(jù)應(yīng)與數(shù)據(jù)流圖相對應(yīng)。 第14頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心二級因子化分解其主要任務(wù)是設(shè)計中下層模塊將數(shù)據(jù)流圖中的每一個變換型加工映射為程序結(jié)構(gòu)中的模塊輸入模塊輸出模塊變換模塊從變換中心的邊界開始,沿輸入路徑和輸出路徑向外,將變換依次映射到低層的軟件結(jié)構(gòu)中去。 最終給出初步的系統(tǒng)功能結(jié)構(gòu)圖第15頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué)
11、通信軟件工程中心輸入/輸出/中心變換模塊輸入模塊:要向調(diào)用它的上級模塊提供數(shù)據(jù),由以下模塊組成:接收數(shù)據(jù)模塊;變換模塊:把這些數(shù)據(jù)變換成它的上級模塊所需的數(shù)據(jù)。 輸出模塊:從調(diào)用它的上級模塊接收數(shù)據(jù),用以輸出,由以下模塊組成:將上級模塊提供的數(shù)據(jù)變換成輸出的形式;將它們輸出。中心變換模塊的下層模塊沒有通用的設(shè)計方法,一般應(yīng)參照數(shù)據(jù)流圖的中心變換部分和功能分解的原則來考慮如何對中心變換模塊進(jìn)行分解。 第16頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的處理說明模塊輸入和輸出的信息,即接口描述。模塊需要處理的信息,局部
12、數(shù)據(jù)結(jié)構(gòu)中存儲的數(shù)據(jù)。過程描述,指明該功能模塊主要的邏輯規(guī)則和任務(wù)。功能模塊的有關(guān)限制條件和特殊性的要求I/O、與硬件相關(guān)的特征、時間要求等第17頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心數(shù)據(jù)流圖推導(dǎo)出的系統(tǒng)初始結(jié)構(gòu)圖 第18頁,共98頁,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頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心識別事務(wù)中心事務(wù)中心通常位于幾條操作路徑的起始點(diǎn)上,可以從數(shù)據(jù)流圖上直接找出來。事務(wù)源:一個帶有請求性質(zhì)的數(shù)據(jù)流;事務(wù)中心:處理事務(wù)源的加工,且后繼的多個加工必須是并列的在事務(wù)中心的控制下完成不同功能處理。第20頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)映射事務(wù)流應(yīng)映射到包含一個輸入分支和一個分類事務(wù)處理分支的程序結(jié)構(gòu)上。 輸入分支結(jié)構(gòu)的開發(fā)與變換流的方法類似 分類
14、事務(wù)處理分支結(jié)構(gòu)包含一個調(diào)度模塊,它調(diào)度和控制下屬的事務(wù)處理模塊。 建立一個主模塊用以代表整個加工,P層然后考慮被稱為事務(wù)層的第二層模塊,T層第二層模塊只能是三類:取得事務(wù)、處理事務(wù)和給出結(jié)果。 處理事務(wù)模塊的下層為操作模塊,A層操作模塊之下為細(xì)節(jié)模塊,D層第21頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心事務(wù)型系統(tǒng)結(jié)構(gòu)圖第22頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.4 變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖一般來講,一個大型的軟件系統(tǒng)不可能是單
15、一的數(shù)據(jù)變換型,也不可能是單一的事務(wù)型,通常是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合體。在具體的應(yīng)用中一般以變換型為主,事務(wù)型為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計。 第23頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.4 變換-事務(wù)混合型的系統(tǒng)結(jié)構(gòu)圖第24頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心課堂作業(yè)在醫(yī)院就診系統(tǒng)中,掛號子系統(tǒng)的數(shù)據(jù)流圖如下圖所示:請畫出該子系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。分析掛號請求掛號請求科室信息查詢科室排隊信息確定掛號科室醫(yī)生確定掛號費(fèi)用科室排隊
16、信息掛號的科室醫(yī)生信息查詢病例信息病例號打印掛號信息收掛號費(fèi)用收掛號費(fèi)用掛號的科室醫(yī)生信息病例信息掛號費(fèi)用繳費(fèi)請求收費(fèi)成功掛號費(fèi)用掛號憑據(jù)收費(fèi)失敗輸出掛號失敗信息失敗信息第25頁,共98頁,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è)計功能可預(yù)測的模塊,避免過分受限制的模塊 軟件包應(yīng)滿足設(shè)計約束和可移植性 第26頁,共98頁,2022年,5月2
17、0日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.1 模塊功能的完善化一個完整的功能模塊,不僅應(yīng)能完成指定的功能,而且還應(yīng)當(dāng)能夠告訴使用者完成任務(wù)的狀態(tài),以及不能完成的原因。規(guī)定的功能部分。出錯處理部分。當(dāng)模塊不能完成規(guī)定的功能時,必須返回出錯信息和標(biāo)志,向它的調(diào)用者報告出現(xiàn)這種例外情況的原因。給調(diào)用者返回一個該模塊執(zhí)行是否正確結(jié)束的“標(biāo)志”。 第27頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心消除重復(fù)功能,改善軟件結(jié)構(gòu)在得到初始的功能結(jié)構(gòu)圖之后,如果發(fā)現(xiàn)有幾個模塊有相似之
18、處,可加以改進(jìn)。完全相似:在結(jié)構(gòu)上完全相似,可能只是在數(shù)據(jù)類型上不一致。局部相似:需要考慮功能之間的耦合及內(nèi)聚性 第28頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍應(yīng)在控制范圍之內(nèi)模塊的控制范圍包括它本身及其所有的從屬模塊;模塊的作用范圍是指模塊內(nèi)一個判定的作用范圍,凡是受這個判定影響的所有模塊都屬于這個判定的作用范圍。 如果一個判定的作用范圍包含在這個判定所在模塊的控制范圍之內(nèi),則這種結(jié)構(gòu)是簡單的,否則,它的結(jié)構(gòu)是復(fù)雜的。 模塊A的控制范圍為:ABCDEFG。模塊C的控制范圍為:CFG。 第29頁,共9
19、8頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍與控制范圍第30頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心模塊的作用范圍與控制范圍在一個設(shè)計得很好的系統(tǒng)模塊結(jié)構(gòu)圖中,所有受一個判定影響的模塊應(yīng)該都從屬于該判定所在的模塊,最好局限于做出判定的那個模塊及其直接下屬模塊。 在設(shè)計過程中,當(dāng)遇到作用范圍不在控制范圍之內(nèi),可應(yīng)用如下辦法把作用范圍移到控制范圍之內(nèi):將判定所在模塊合并到父模塊中,使判定處于較高的層次;將受到判定影響的模塊下移到控制范圍內(nèi)
20、;將判定上移到層次中較高的位置 第31頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.4盡可能減少高扇出結(jié)構(gòu)模塊的扇出指模塊調(diào)用子模塊的個數(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)用和返回的時間開銷,降低系統(tǒng)的工作效率。 第32頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通
21、信軟件工程中心扇入扇出結(jié)構(gòu)的調(diào)整如果模塊的扇出過大,就表明模塊過分復(fù)雜,需要協(xié)調(diào)和控制過多的下屬模塊。 一個模塊的扇入數(shù)目很大,說明共享該模塊的上級模塊數(shù)目增多。但如果一個模塊的扇入太大,比如超過7或8,而且它又不是公用模塊,說明該模塊可能具有多個功能。為此應(yīng)當(dāng)對其進(jìn)一步分析并將其功能分解。 第33頁,共98頁,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ù),而不是通過它們的上級模塊。 通信模塊聯(lián)接:即模塊A和模塊B通過通信模塊TABLEIT傳送數(shù)據(jù)。通信未經(jīng)過上級模塊。第34頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.6 模塊的大小要適中模塊的大小是指模塊內(nèi)部結(jié)構(gòu)的多少。限制模塊的大小是減少復(fù)雜性的手段之一,因而要求把模塊的大小限制在一定的范圍之內(nèi)。通常規(guī)定其語句行數(shù)在50100左右,最多不超過500行。 體積過大的模塊往往是由于分解不充分,且具有多個功能,因此需要對功能進(jìn)一步分解,生成一些下級模塊或同層模塊。反之,模塊體積
23、較小時也可以考慮是否可能與調(diào)用它的上級模塊合并。 第35頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.7 設(shè)計功能可預(yù)測的模塊 一個功能可預(yù)測的模塊不論內(nèi)部處理細(xì)節(jié)如何,但對相同的輸入數(shù)據(jù),總能產(chǎn)生同樣的結(jié)果。 如果模塊內(nèi)部有一些特殊的鮮為人知的功能時,這個模塊就可能是不可預(yù)測的。 第36頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心避免過分受限制的模塊 一個僅處理單一功能的模塊,由于具有高度的內(nèi)聚性,而受到了設(shè)計人員的重視。 如果限制死了
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頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.5.8 應(yīng)滿足設(shè)計約束和可移植性 運(yùn)用變換分析方法建立系統(tǒng)的結(jié)構(gòu)圖時應(yīng)當(dāng)注意以下幾點(diǎn):在選擇模塊設(shè)計的次序時,必須對一個模塊的全部直接下屬模塊都設(shè)計完成之后能轉(zhuǎn)向另一個模塊的下層模塊的設(shè)計。在
25、設(shè)計下層模塊時,應(yīng)考慮模塊的低耦合和高內(nèi)聚問題,提高初始結(jié)構(gòu)圖的質(zhì)量。 注意黑盒技術(shù)的使用。 如果出現(xiàn)了以下情況,就停止模塊的功能分解當(dāng)模塊不能再細(xì)分為明顯的子任務(wù)時;當(dāng)分解成用戶提供的模塊或程序庫的子程序時;當(dāng)模塊的界面是輸入輸出設(shè)備傳送的信息時;當(dāng)模塊不宜再分解得過小時。第38頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.6 數(shù)據(jù)設(shè)計和文檔設(shè)計的原則7.6.1 數(shù)據(jù)設(shè)計的原則7.6.2 文件設(shè)計的過程第39頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信
26、軟件工程中心7.6.1 數(shù)據(jù)設(shè)計的原則數(shù)據(jù)設(shè)計指程序中的數(shù)據(jù)結(jié)構(gòu)的設(shè)計,數(shù)據(jù)設(shè)計的過程可以概括成以下兩步:(1)為在需求分析階段所確定的數(shù)據(jù)對象選擇邏輯表示,需要對不同結(jié)構(gòu)進(jìn)行算法分析,以便選擇一個最有效的設(shè)計方案。(2)確定對邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包),以便限制或確定各個數(shù)據(jù)設(shè)計決策的影響范圍。第40頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心定義和設(shè)計數(shù)據(jù)的原則用于軟件的系統(tǒng)化方法也適用于數(shù)據(jù)。應(yīng)當(dāng)考慮幾種不同的數(shù)據(jù)組織方案,還應(yīng)當(dāng)分析數(shù)據(jù)設(shè)計給軟件設(shè)計帶來的影響。要確定所有的數(shù)據(jù)結(jié)構(gòu)和在每種
27、數(shù)據(jù)結(jié)構(gòu)上施加的操作。應(yīng)當(dāng)建立一個數(shù)據(jù)詞典并用它來定義數(shù)據(jù)和軟件的設(shè)計。低層數(shù)據(jù)設(shè)計的決策應(yīng)推遲到設(shè)計過程的后期進(jìn)行。在需求分析時確定總體數(shù)據(jù)組織,在概要設(shè)計階段加以細(xì)化,而在詳細(xì)設(shè)計階段才規(guī)定具體的細(xì)節(jié)。第41頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心定義和設(shè)計數(shù)據(jù)的原則數(shù)據(jù)結(jié)構(gòu)的表示只限于那些必須直接使用該數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)的模塊才能知道。此原則就是信息隱蔽和與此相關(guān)的耦合性原則,把數(shù)據(jù)對象的邏輯形式與物理形式分開。數(shù)據(jù)結(jié)構(gòu)應(yīng)當(dāng)設(shè)計成為可復(fù)用的。建立一個存有各種可復(fù)用的數(shù)據(jù)結(jié)構(gòu)模型的構(gòu)件庫,以減少數(shù)據(jù)定義和設(shè)計的工作
28、量。軟件設(shè)計和程序設(shè)計語言應(yīng)當(dāng)支持抽象數(shù)據(jù)類型的定義和實(shí)現(xiàn)。第42頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.6.2 文件設(shè)計的過程文件設(shè)計指數(shù)據(jù)存儲文件設(shè)計,其主要工作就是根據(jù)使用要求、處理方式、存儲的信息量、數(shù)據(jù)的活動性,以及所能提供的設(shè)備條件等,來確定文件類別,選擇文件媒體,決定文件組織方法,設(shè)計文件記錄格式,并估算文件的容量。文件設(shè)計的過程主要分為兩個階段:第一個階段是文件的邏輯設(shè)計,主要在概要設(shè)計階段實(shí)施。 第二個是文件的物理設(shè)計,主要在詳細(xì)設(shè)計和編碼環(huán)節(jié)實(shí)現(xiàn)。第43頁,共98頁,2022年,5月20日,
29、19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心文件設(shè)計要完成的工作整理必須的數(shù)據(jù)元素。 分析數(shù)據(jù)間的關(guān)系。 確定文件的邏輯設(shè)計。 理解文件的特性。 確定文件的存儲媒體。 確定文件的組織方式。 確定文件的記錄格式。 估算存取時間和存儲容量 。第44頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定文件存儲媒體需要考慮的因素數(shù)據(jù)量:根據(jù)處理數(shù)據(jù)量,估算需要媒體的數(shù)量。數(shù)據(jù)量大的文件可選用磁帶、磁盤或光盤作為存儲媒體,數(shù)據(jù)量小的文件可采用軟盤作為存儲媒體。處理方式:處理方式有聯(lián)機(jī)處理和批處理
30、。對于聯(lián)機(jī)處理, 多選用直接存取設(shè)備,如磁盤等;對于批處理,選用任何一種存儲媒體都可以。存取時間和處理時間:批處理對于時間沒有嚴(yán)格的要求, 因此對存儲媒體也沒有特殊的要求。實(shí)時處理最好選用直接存取媒體,如磁盤等,以滿足響應(yīng)時間的要求。第45頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心確定文件存儲媒體需要考慮的因素數(shù)據(jù)結(jié)構(gòu):根據(jù)文件的數(shù)據(jù)結(jié)構(gòu),選用能實(shí)現(xiàn)其結(jié)構(gòu)的合適媒體及相應(yīng)的存取方法。例如,順序文件可選用磁帶或光盤,而索引文件和散列文件則必須選用磁盤。操作要求:對于數(shù)據(jù)量大,執(zhí)行時較少要求用戶干預(yù)的文件,應(yīng)當(dāng)選用磁帶媒
31、體;而對于頻繁交互的文件,應(yīng)當(dāng)選用磁盤媒體。費(fèi)用要求:在滿足上述要求的基礎(chǔ)上,應(yīng)當(dāng)盡量選用價格低的媒體。第46頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心文件記錄格式記錄的長度:設(shè)計記錄的長度要確保能滿足需要,還要考慮使用設(shè)備的制約和效率,盡可能與讀寫單位匹配,并盡可能減少處理過程中內(nèi)外存的交換次數(shù)。數(shù)據(jù)項(xiàng)的順序:對于可變長記錄,應(yīng)在記錄的開頭記入長度信息;對于關(guān)鍵碼,應(yīng)盡量按級別高低,順序配置;聯(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)按雙字長,全字長,半
32、字長和字節(jié)的屬性,順序配置。預(yù)留空間:考慮到將來可能的變更或擴(kuò)充,應(yīng)當(dāng)預(yù)先留下一些空閑空間。子數(shù)據(jù)項(xiàng):可把一個數(shù)據(jù)項(xiàng)分成幾個子數(shù)據(jù)項(xiàng),每一個子數(shù)據(jù)項(xiàng)也可以作為單獨(dú)的項(xiàng)來使用。第47頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7 設(shè)計后處理在經(jīng)過變換映射和事務(wù)映射之后,還需要為所獲得的系統(tǒng)功能結(jié)構(gòu)圖進(jìn)行說明,形成概要設(shè)計說明書,包括以下內(nèi)容:必須為每一個模塊寫一份處理說明;為每一個模塊提供一份接口說明;確定全局?jǐn)?shù)據(jù)結(jié)構(gòu)和局部數(shù)據(jù)結(jié)構(gòu);指出所有的設(shè)計約束和限制。 第48頁,共98頁,2022年,5月20日,19點(diǎn)10分
33、,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.1 處理說明處理說明是一個關(guān)于模塊內(nèi)部處理的清晰且無歧義的正確描述,包含了模塊的主要處理任務(wù)、條件抉擇和輸入輸出。 “給出結(jié)果2”模塊調(diào)用“格式化2”模塊,將內(nèi)部編碼形式的計算結(jié)果2轉(zhuǎn)換成以ASCII碼表示的文本形式的預(yù)格式化數(shù)據(jù),再調(diào)用“給出結(jié)果”模塊,進(jìn)一步轉(zhuǎn)換成按預(yù)定的圖表安排的形式輸出。 這種處理說明可作為初始的模塊說明,以后在詳細(xì)設(shè)計時還將進(jìn)一步具體化。第49頁,共98頁,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ū)的信息指出其下屬的模塊和上級模塊。 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頁,共98頁,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語言、類PASCAL語言)或Warnier圖等形式表達(dá)。 第51頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.4 概要設(shè)計評
36、審在評審中應(yīng)著重評審軟件需求是否得到滿足,軟件結(jié)構(gòu)的質(zhì)量、接口說明、數(shù)據(jù)結(jié)構(gòu)說明、實(shí)現(xiàn)和測試的可行性和可維護(hù)性等。 評審階段還需要考慮和解決設(shè)計中存在的錯誤,以防錯誤在后期的軟件過程中產(chǎn)生放大,即錯誤的擴(kuò)大效應(yīng)。第52頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心設(shè)計評審的效果不進(jìn)行評審,12個錯誤帶到運(yùn)行環(huán)境中進(jìn)行評審,3個錯誤帶到運(yùn)行環(huán)境中3個模塊中包含10個設(shè)計問題:第53頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.7.5 設(shè)計的優(yōu)化在
37、軟件的程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)已經(jīng)按照功能和性能需求,以及按照設(shè)計標(biāo)準(zhǔn)和直覺被設(shè)計出來之后,再進(jìn)行設(shè)計的優(yōu)化工作。過早地考慮優(yōu)化設(shè)計是沒有意義的。簡明的結(jié)構(gòu)往往是精巧的和高效的。優(yōu)化要力爭使模塊的個數(shù)最少;尋求盡量簡單的滿足信息需求的數(shù)據(jù)結(jié)構(gòu)。 第54頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心時間效率優(yōu)化對于有時間運(yùn)行要求的應(yīng)用問題,在詳細(xì)設(shè)計階段和編碼階段必須進(jìn)行優(yōu)化 在不考慮時間運(yùn)行要求的條件下構(gòu)造并改進(jìn)軟件的結(jié)構(gòu)。在細(xì)節(jié)設(shè)計的過程中,挑出那些有可能占用過多時間的模塊,并為這些模塊精心設(shè)計出時間效率更高的過程(算法)。
38、用高級程序設(shè)計語言編寫代碼程序。檢測軟件,分離出占用大量處理機(jī)資源的模塊。如果有必要,用依賴機(jī)器的語言(機(jī)器指令、匯編語言)重新設(shè)計或重新編碼,以提高軟件的效率。第55頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8 詳細(xì)設(shè)計從軟件開發(fā)的工程化觀點(diǎn)來看,在編制程序以前,需要對所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá),使之成為編碼的依據(jù),這就是詳細(xì)設(shè)計的任務(wù)。表達(dá)詳細(xì)設(shè)計規(guī)格說明的工具叫做詳細(xì)設(shè)計工具,它可以分為三類:圖形工具表格工具語言工具 第56頁,共98頁,2022年,5月20日,
39、19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.1 程序流程圖程序流程圖獨(dú)立于任何一種程序設(shè)計語言,比較直觀、清晰,易于學(xué)習(xí)掌握。 為使用流程圖描述結(jié)構(gòu)化程序,必須限制流程圖只能使用下面給出的五種基本控制結(jié)構(gòu)。 第57頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心第58頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.2 N-S圖Nassi和Shneiderman 提出了一種符合結(jié)構(gòu)化程序設(shè)計原則的圖形
40、描述工具,叫做盒圖,也叫做N-S圖。 圖中每個矩形框(除CASE構(gòu)造中表示條件取值的矩形框外)都是明確定義了的功能域,以圖形表示,清晰可見。它的控制轉(zhuǎn)移不能任意規(guī)定,必須遵守結(jié)構(gòu)化程序設(shè)計的要求。很容易確定局部數(shù)據(jù)和(或)全局?jǐn)?shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可表示模塊的層次結(jié)構(gòu)。第59頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心N-S圖示例第60頁,共98頁,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è)計思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用?,F(xiàn)在已為ISO認(rèn)可。 第61頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDA示例第62頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.4 判定表當(dāng)算法中包含多重嵌套的條件選擇時,用程序流程圖、N-S圖或PAD都不易清楚地描述。然而,判定表卻能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動作之間的對應(yīng)關(guān)系。
42、 判定表要求不能存在多分支判斷,必須是兩分支的判斷多分支雙分支第63頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心判定表“”表示該條件取值為真,“”表示該條件取值為假??瞻妆硎具@個條件無論取何值對動作的選擇不產(chǎn)生影響。 “”表示要做這個動作,空白表示不做這個動作。 判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定條件取值組合相對應(yīng)的動作。 第64頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.8.5 PDLPDL是一種偽碼,用于描述功能模塊的算
43、法設(shè)計和加工細(xì)節(jié)的語言。偽碼的語法規(guī)則分為“外語法”和“內(nèi)語法”。外語法應(yīng)當(dāng)符合一般程序設(shè)計語言常用語句的語法規(guī)則;內(nèi)語法可以用英語中一些簡單的句子、短語和通用的數(shù)學(xué)符號,來描述程序應(yīng)執(zhí)行的功能。 第65頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDL 的特點(diǎn)有固定的關(guān)鍵字外語法,提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊特征。為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫,其它單詞一律小寫。內(nèi)語法使用自然語言來描述處理特性。內(nèi)語法只要寫清楚就可以,不必考慮語法錯,以利于人們可把主要精力放在描述算法的邏輯上。有數(shù)據(jù)說明機(jī)制,包括簡單
44、的(如標(biāo)量和數(shù)組)與復(fù)雜的(如鏈表和層次結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說明。 第66頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心PDL 舉例一個具有查找拼寫錯誤單詞功能的算法 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頁,共98頁,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頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9 界面設(shè)計7.9.1 置用戶于控制之下7.9.2 減少用戶的記憶負(fù)擔(dān)7.9.3 保持界面一致7.9.4 界面設(shè)計模型7.9.5 用戶界面設(shè)計過程7.9.6 界面設(shè)計需要注意的常見問題7.9.7 界面設(shè)計評估和優(yōu)化 第69頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心軟件界面簡介軟件界面不僅是軟件系統(tǒng)功能體現(xiàn)最直接的表現(xiàn)方式,它也是驗(yàn)證用戶需求與
48、功能實(shí)現(xiàn)是否匹配的一種有效方式。軟件開發(fā)人員期望利用自身的專業(yè)知識,將用戶不完整甚至片面的需求用界面的方式將系統(tǒng)功能體現(xiàn)出來,以達(dá)到補(bǔ)充、修改和統(tǒng)一對用戶需求的理解和認(rèn)識。界面設(shè)計主要包括三個方面:設(shè)計軟件構(gòu)件間的接口;設(shè)計模塊和其他非人的信息生產(chǎn)者和消費(fèi)者(比如其他外部實(shí)體)的接口;設(shè)計人(如用戶)和計算機(jī)間的界面用戶界面設(shè)計 第70頁,共98頁,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))和知識水準(zhǔn)(一
49、般用戶還是具有高水平計算機(jī)能力的人員)要美觀、大方、靈巧、實(shí)用要緊跟潮流 在進(jìn)行用戶界面設(shè)計的同時不僅要在技術(shù)問題上研究,同時還要對使用系統(tǒng)的用戶加以研究:用戶是什么樣的人?用戶怎樣學(xué)習(xí)與新的基于計算機(jī)的系統(tǒng)交互?用戶怎樣解釋系統(tǒng)產(chǎn)生的信息?用戶對系統(tǒng)有哪些期望?第71頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心界面設(shè)計黃金規(guī)則Theo Mandel提出了三條“黃金規(guī)則”置用戶于控制之下;減少用戶的記憶負(fù)擔(dān);保持界面一致。第72頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北
50、京郵電大學(xué) 通信軟件工程中心7.9.1 置用戶于控制之下是系統(tǒng)的功能控制用戶的操作,還是由用戶定義并控制系統(tǒng)的功能?Mandel定義了一組設(shè)計原則允許用戶操作控制:以不強(qiáng)迫用戶進(jìn)入不必要的或不希望的動作方式來定義交互模式; 提供靈活的與界面交互的方式; 允許用戶交互可以被中斷和撤銷;當(dāng)技能級別增長時可以使交互流水化并允許定制交互;使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)。設(shè)計應(yīng)允許用戶與出現(xiàn)在屏幕上的對象直接交互。 第73頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.2 減少用戶的記憶負(fù)擔(dān)當(dāng)用戶必須記住的東西越多時,與系統(tǒng)交互時出
51、錯的可能性也越大。為此,一個很好的用戶界面設(shè)計不應(yīng)加重用戶的記憶負(fù)擔(dān)。 Mandel定義了一組設(shè)計原則,使得界面能夠減少用戶的記憶負(fù)擔(dān):減少對短期記憶的要求;建立有意義的缺?。欢x直覺性的捷徑;界面的視覺布局應(yīng)該基于真實(shí)世界的背景 ;以不斷進(jìn)展的方式提示信息 。第74頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.3 保持界面一致用戶應(yīng)以一致的方式展示和獲取信息:所有可視信息的組織均按照貫穿所有屏幕顯示所保持的設(shè)計標(biāo)準(zhǔn)輸入機(jī)制被約束到有限的集合,在整個應(yīng)用中被一致地使用從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn)。Ma
52、ndel定義了一組保持界面一致性的設(shè)計原則:允許用戶將當(dāng)前任務(wù)放入有意義的環(huán)境中,即指示當(dāng)前的工作環(huán)境,提供執(zhí)行相關(guān)操作的選擇; 在應(yīng)用系列內(nèi)保持一致性,例如使用Ctrl+S表示保存 第75頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.4 界面設(shè)計模型設(shè)計用戶界面時要考慮四種模型:軟件工程師創(chuàng)建設(shè)計模型;系統(tǒng)分析人員建立的用戶模型;終端用戶在腦海里對界面產(chǎn)生的映像稱為用戶的模型或系統(tǒng)感覺;系統(tǒng)的實(shí)現(xiàn)者創(chuàng)建系統(tǒng)界面模型。為了建立有效的用戶界面,“開始界面設(shè)計之前,必須對用戶加以了解:新手:對該應(yīng)用程序或計算機(jī)的一般
53、用法幾乎沒有任何基本概念。 對系統(tǒng)有了解的中級用戶:有一定的合理的知識背景,但對使用界面所必需的語法信息的了解還比較少。 對系統(tǒng)有了解的經(jīng)驗(yàn)用戶:該應(yīng)用程序有很好的語義和語法了解 ,經(jīng)常尋找捷徑和簡短的交互模式。 第76頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.5 用戶界面設(shè)計過程用戶界面的設(shè)計過程是迭代的,其過程包含四個不同的框架任務(wù):用戶、任務(wù)和環(huán)境分析及建模;界面將物理地位于何處?用戶是否將坐著、站著或完成其他和該界面無關(guān)的任務(wù)?顯示設(shè)備是否適應(yīng)空間、光線或噪音約束?是否存在特殊的環(huán)境因素而需要的特殊考
54、慮?界面設(shè)計:定義一組支持用戶完成所需工作的界面對象和動作;界面構(gòu)造:根據(jù)已經(jīng)確定的用戶模型和設(shè)計模型開發(fā)出界面的初始原型,經(jīng)過多次跌代形成用戶所需的界面;界面確認(rèn):(1)界面功能具有正確地實(shí)現(xiàn)每個用戶任務(wù)的能力、適應(yīng)所有任務(wù)變更的能力以及達(dá)到所有一般用戶需求的能力;(2)界面具有良好的使用和學(xué)習(xí)的程度;(3)用戶具有接受界面作為他們工作中有用工具的程度。 第77頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.6 界面設(shè)計需要注意的常見問題在進(jìn)行用戶界面設(shè)計時,通常會遇到以下四種問題:系統(tǒng)響應(yīng)時間幫助信息錯誤信息處
55、理命令標(biāo)記第78頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間是指從用戶開始執(zhí)行動作(比如按回車鍵或點(diǎn)鼠標(biāo))到軟件給出預(yù)期的響應(yīng)。 系統(tǒng)響應(yīng)時間包括兩方面的屬性:長度:如果系統(tǒng)響應(yīng)時間過長,用戶就會感到不安和煩躁,過快的系統(tǒng)響應(yīng)時間有時也會成為問題,因?yàn)檫@會迫使用戶加快操作節(jié)奏,從而導(dǎo)致錯誤。 可變性:相對于平均響應(yīng)時間的偏差,要求響應(yīng)時間向?qū)Ψ€(wěn)定,可變性低,這往往更重要。第79頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心
56、系統(tǒng)聯(lián)機(jī)幫助現(xiàn)代的軟件系統(tǒng)都會提供聯(lián)機(jī)幫助,用戶可以不離開系統(tǒng)就能尋找到所需要的答案。除此之外,還應(yīng)該提供一份詳細(xì)的用戶使用手冊,注明每一個界面功能的操作細(xì)節(jié)和順序。 用戶怎樣請求幫助?幫助菜單特殊功能提示HELP命令。怎樣表示幫助?在另一個窗口中指出參考某個文檔(非理想方式)在屏幕特定位置的簡單提示。第80頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心系統(tǒng)聯(lián)機(jī)幫助用戶怎樣回到正常的交互方式?屏幕上顯示返回按鈕功能鍵或控制序列。怎樣構(gòu)造幫助信息?平面式(所有信息均通過一個關(guān)鍵詞來訪問)分層式(用戶可以進(jìn)一步查詢得到更詳細(xì)
57、的信息)超文本式(通過超級鏈接方式)。第81頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心錯誤信息處理出錯消息和警告是指出現(xiàn)問題時系統(tǒng)給出的“壞消息”。如果做不好的話,出錯消息和警告會給出無用或誤導(dǎo)的信息,反面增加了用戶的反感。 例如:SEVERE SYSTEM FAILURE 14A 出錯消息和警告應(yīng)具備以下特征:以用戶可以理解的術(shù)語描述;應(yīng)提供如何從錯誤中恢復(fù)的建設(shè)性意見;應(yīng)指出錯誤可能導(dǎo)致哪些不良后果(比如破壞數(shù)據(jù)),以使用戶檢查是否出現(xiàn)了這些情況或幫助用戶進(jìn)行改正;應(yīng)伴隨著視覺或聽覺上的提示,即顯示消息時應(yīng)伴隨著
58、警告或者消息用閃爍方式,或明顯的顏色進(jìn)行提示;不能帶有判定色彩,即不能指責(zé)用戶的操作不當(dāng),因?yàn)殄e誤信息都是系統(tǒng)的問題而非用戶造成的。第82頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.9.7 界面設(shè)計評估和優(yōu)化原型完成以后,設(shè)計者就可以通過對用戶收集反饋信息得到一些定性和定量的數(shù)據(jù)幫助進(jìn)行界面評估。通過觀察用戶對界面交互的使用,記錄以下信息:在標(biāo)準(zhǔn)時間內(nèi)正確完成任務(wù)的數(shù)量、使用命令的頻度、命令序列、用于看屏幕的時間、出錯的數(shù)目、錯誤的類型和錯誤恢復(fù)時間、使用幫助的時間、標(biāo)準(zhǔn)時間段內(nèi)查看幫助的次數(shù),這些數(shù)據(jù)可以用于指導(dǎo)
59、界面修改。第83頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.10 HIPO設(shè)計工具7.10.1可視目錄表7.10.2IPO圖7.10.3利用HIPO進(jìn)行迭代式細(xì)化設(shè)計第84頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心HIPO簡介HIPO Hierarchy plus Input Process Output 最初只用做文檔編寫的格式要求,隨后發(fā)展成比較有名的軟件設(shè)計手段。HIPO是在開發(fā)過程中的表達(dá)工具,所以它又是開發(fā)文檔的編制工具。 HIPO圖采用功能框圖和PDL來描述程序邏輯 ,它由兩部分組成:可視目錄表:給出程序的層次關(guān)系 IPO圖:為程序各部分提供具體的工作細(xì)節(jié) 第85頁,共98頁,2022年,5月20日,19點(diǎn)10分,星期二 2009 BUPT TSEG 北京郵電大學(xué) 通信軟件工程中心7.10.1 可視目錄表可視目錄表由體系框圖、圖例、描述說明三部分組成 體系框圖:又稱層次圖(H圖),是可視目錄表的主體,表明各個功能的隸屬關(guān)系。每個框內(nèi)有一個名字,用以標(biāo)識它的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項(xiàng)消防設(shè)備增設(shè)協(xié)議樣本版A版
- 2025年度廠房裝飾裝修工程節(jié)能合同范本4篇
- 2025年度創(chuàng)新產(chǎn)業(yè)園廠房轉(zhuǎn)租服務(wù)合同標(biāo)準(zhǔn)4篇
- 做菜知識培訓(xùn)課件圖片
- 二零二五年度體育場館建設(shè)擔(dān)保協(xié)議3篇
- 2025年度高原地區(qū)柴油發(fā)電機(jī)組銷售及售后服務(wù)合同3篇
- 《社區(qū)調(diào)解實(shí)務(wù)講解》課件
- 2024年04月河南鄭州銀行信息科技部社會招考筆試歷年參考題庫附帶答案詳解
- 個人對公司長期借款合同(2024年版)
- 專業(yè)美甲技術(shù)勞務(wù)合作協(xié)議樣本(2024版)版B版
- 科室醫(yī)療質(zhì)量與安全管理小組工作制度
- 中華民族共同體概論課件第五講大一統(tǒng)與中華民族共同體初步形成(秦漢時期)
- 初二生地會考試卷及答案-文檔
- 私營企業(yè)廉潔培訓(xùn)課件
- 施工單位值班人員安全交底和要求
- 中國保險用戶需求趨勢洞察報告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場工藝紀(jì)律檢查表
- 醫(yī)院品管圈與護(hù)理質(zhì)量持續(xù)改進(jìn)PDCA案例降低ICU病人失禁性皮炎發(fā)生率
評論
0/150
提交評論