大連理工軟件學院軟件工程課件 (6)_第1頁
大連理工軟件學院軟件工程課件 (6)_第2頁
大連理工軟件學院軟件工程課件 (6)_第3頁
大連理工軟件學院軟件工程課件 (6)_第4頁
大連理工軟件學院軟件工程課件 (6)_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大連理工大學軟件學院軟件工程2021-12-9大連理工大學軟件學院2第第6章章 詳細設計詳細設計 目標目標怎樣具體地實現(xiàn)所要求的系統(tǒng)怎樣具體地實現(xiàn)所要求的系統(tǒng) 目標系統(tǒng)的精確描述目標系統(tǒng)的精確描述 設計代碼的設計代碼的“藍圖藍圖” 決定代碼質(zhì)量決定代碼質(zhì)量 程序的讀者程序的讀者計算機和人計算機和人2021-12-9大連理工大學軟件學院3 6.1 結(jié)構程序設計結(jié)構程序設計 6.2 人機界面設計人機界面設計 6.3 過程設計的工具過程設計的工具 6.4 面向數(shù)據(jù)結(jié)構的設計方法面向數(shù)據(jù)結(jié)構的設計方法 6.5 程序復雜程度的定量度量程序復雜程度的定量度量第第6章章 詳細設計詳細設計2021-12-9大

2、連理工大學軟件學院4 E.W Dijkstra “可以從高級語言中取消可以從高級語言中取消GO TO語句語句” “程序的質(zhì)量與程序中所包含的程序的質(zhì)量與程序中所包含的GO TO語句的數(shù)量成反比語句的數(shù)量成反比” Bohm和和Jacopini 只用三種基本的控制結(jié)構就能實現(xiàn)任何單入口、單出口的程序只用三種基本的控制結(jié)構就能實現(xiàn)任何單入口、單出口的程序 “順序順序”、“選擇選擇”、“循環(huán)循環(huán)”6.1 結(jié)構程序設計結(jié)構程序設計2021-12-9大連理工大學軟件學院5圖6.1 三種基本的控制結(jié)構2021-12-9大連理工大學軟件學院6用順序用順序+循環(huán)構成選擇循環(huán)構成選擇2021-12-9大連理工大學

3、軟件學院7 結(jié)構程序設計結(jié)構程序設計的經(jīng)典定義:的經(jīng)典定義: 如果一個程序的代碼塊僅僅通過如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)順序、選擇和循環(huán)這三種控制結(jié)構進行連接,并且每個代碼塊只有這三種控制結(jié)構進行連接,并且每個代碼塊只有一一個入口和一個出口個入口和一個出口,則稱這個程序是結(jié)構化的。,則稱這個程序是結(jié)構化的。6.1 結(jié)構程序設計結(jié)構程序設計2021-12-9大連理工大學軟件學院8這個經(jīng)典定義過于狹隘,結(jié)構程序設計這個經(jīng)典定義過于狹隘,結(jié)構程序設計本質(zhì)本質(zhì)上并不是無上并不是無GO TO語句的編程方法,而是一種使程序代碼語句的編程方法,而是一種使程序代碼容易閱讀、容易理解容易閱讀、容易

4、理解的的編程方法。編程方法。大多數(shù)情況下,無大多數(shù)情況下,無GO TO的代碼確實是容易閱讀、容易理解,的代碼確實是容易閱讀、容易理解,但在某些情況下,為達到容易閱讀和容易理解的目的,需要使但在某些情況下,為達到容易閱讀和容易理解的目的,需要使用用GO TO語句。語句。結(jié)構程序設計是結(jié)構程序設計是盡可能少用盡可能少用GO TO語句語句的程序設計方法。最好的程序設計方法。最好僅在檢測出錯誤時才使用僅在檢測出錯誤時才使用GO TO語句,而且應該總是使用語句,而且應該總是使用前向前向GO TO語句語句。6.1 結(jié)構程序設計結(jié)構程序設計2021-12-9大連理工大學軟件學院9圖6.2 其他常用的控制結(jié)構

5、(a) DO-UNTIL型循環(huán)結(jié)構;(b)多分支結(jié)構2021-12-9大連理工大學軟件學院10 經(jīng)典的結(jié)構程序設計:經(jīng)典的結(jié)構程序設計:只允許使用順序、只允許使用順序、IF-THEN-ELSE型分支和型分支和DO-WHILE型循環(huán)這三種基本控制結(jié)構。型循環(huán)這三種基本控制結(jié)構。 擴展的結(jié)構程序設計:擴展的結(jié)構程序設計:除了上述三種基本控制結(jié)構之外,除了上述三種基本控制結(jié)構之外,還允許使用還允許使用DO-CASE型多分支結(jié)構和型多分支結(jié)構和DO-UNTIL型循環(huán)型循環(huán)結(jié)構。結(jié)構。 修正的結(jié)構程序設計:修正的結(jié)構程序設計:再加上允許使用再加上允許使用LEAVE(或或BREAK)結(jié)構。結(jié)構。6.1 結(jié)

6、構程序設計結(jié)構程序設計2021-12-9大連理工大學軟件學院116.2 人機界面設計人機界面設計 人機界面設計人機界面設計是是接口設計接口設計的一個組成部分。的一個組成部分。對于交互式系統(tǒng)來說,人機界面設計和數(shù)據(jù)設計、體系結(jié)對于交互式系統(tǒng)來說,人機界面設計和數(shù)據(jù)設計、體系結(jié)構設計、過程設計一樣重要。構設計、過程設計一樣重要。近年來,人機界面在系統(tǒng)中所占的比例越來越大,在個別近年來,人機界面在系統(tǒng)中所占的比例越來越大,在個別系統(tǒng)中人機界面的設計工作量甚至占設計總量的一半以上。系統(tǒng)中人機界面的設計工作量甚至占設計總量的一半以上。 人機界面的設計質(zhì)量,直接影響用戶對軟件產(chǎn)品的人機界面的設計質(zhì)量,直接

7、影響用戶對軟件產(chǎn)品的評價,從而影響軟件產(chǎn)品的競爭力和壽命評價,從而影響軟件產(chǎn)品的競爭力和壽命,因此,因此,必須對人機界面設計給以足夠重視。必須對人機界面設計給以足夠重視。2021-12-9大連理工大學軟件學院12在設計用戶界面的過程中,幾乎總會遇到下述四個問題:在設計用戶界面的過程中,幾乎總會遇到下述四個問題:系統(tǒng)響應時間、用戶幫助設施、出錯信息處理和命令交系統(tǒng)響應時間、用戶幫助設施、出錯信息處理和命令交互互。1.系統(tǒng)響應時間系統(tǒng)響應時間系統(tǒng)響應時間是許多交互式系統(tǒng)用戶經(jīng)常抱怨的問題。一系統(tǒng)響應時間是許多交互式系統(tǒng)用戶經(jīng)常抱怨的問題。一般說來,系統(tǒng)響應時間指從用戶完成某個控制動作般說來,系統(tǒng)響

8、應時間指從用戶完成某個控制動作(例如,例如,按回車鍵或點擊鼠標按回車鍵或點擊鼠標)到軟件給出預期的響應到軟件給出預期的響應(輸出或做動作輸出或做動作)之間的這段時間。之間的這段時間。系統(tǒng)響應時間有兩個重要屬性:系統(tǒng)響應時間有兩個重要屬性:長度和易變性長度和易變性。6.2.1 設計問題設計問題2021-12-9大連理工大學軟件學院132.用戶幫助設施用戶幫助設施幾乎交互式系統(tǒng)的每個用戶都需要幫助,當遇到復雜問題時甚至幾乎交互式系統(tǒng)的每個用戶都需要幫助,當遇到復雜問題時甚至需要查看用戶手冊以尋找答案。大多數(shù)現(xiàn)代軟件都提供需要查看用戶手冊以尋找答案。大多數(shù)現(xiàn)代軟件都提供聯(lián)機幫助聯(lián)機幫助設施,這使得用

9、戶可以不離開用戶界面就解決自己的問題。設施,這使得用戶可以不離開用戶界面就解決自己的問題。常見的幫助設施有常見的幫助設施有集成的和附加的集成的和附加的兩類。兩類。3.出錯信息處理出錯信息處理出錯信息和警告信息出錯信息和警告信息,是出現(xiàn)問題時交互式系統(tǒng)給出的,是出現(xiàn)問題時交互式系統(tǒng)給出的“壞消壞消息息”。出錯信息設計得不好,將向用戶提供無用的或誤導的信息,。出錯信息設計得不好,將向用戶提供無用的或誤導的信息,反而增加了用戶的挫折感。反而增加了用戶的挫折感。6.2.1 設計問題設計問題2021-12-9大連理工大學軟件學院146.2.1 設計問題設計問題面向系統(tǒng)的錯誤信息面向系統(tǒng)的錯誤信息面向用戶

10、的錯誤信息面向用戶的錯誤信息2021-12-9大連理工大學軟件學院154.命令交互命令交互命令行命令行曾經(jīng)是用戶和系統(tǒng)軟件交互的最常用方式,而且也曾經(jīng)廣泛曾經(jīng)是用戶和系統(tǒng)軟件交互的最常用方式,而且也曾經(jīng)廣泛地用于各種應用軟件中。地用于各種應用軟件中?,F(xiàn)在,面向窗口的、點擊和拾取方式的界面已經(jīng)減少了用戶對命令現(xiàn)在,面向窗口的、點擊和拾取方式的界面已經(jīng)減少了用戶對命令行的依賴,但是,許多高級用戶仍然偏愛面向命令的交互方式。行的依賴,但是,許多高級用戶仍然偏愛面向命令的交互方式。在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能也可以通過鍵盤在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能也可以通過鍵盤命令序

11、列調(diào)用軟件功能。命令序列調(diào)用軟件功能。6.2.1 設計問題設計問題2021-12-9大連理工大學軟件學院16 用戶界面設計是一個用戶界面設計是一個迭代迭代的過程,也就是說,通常先創(chuàng)建設的過程,也就是說,通常先創(chuàng)建設計模型,再用原型實現(xiàn)這個設計模型,并由用戶試用和評估,計模型,再用原型實現(xiàn)這個設計模型,并由用戶試用和評估,然后根據(jù)用戶的意見進行修改。然后根據(jù)用戶的意見進行修改。 系統(tǒng)及其界面的規(guī)格說明書的長度和復雜程度,預示了用戶系統(tǒng)及其界面的規(guī)格說明書的長度和復雜程度,預示了用戶學習使用學習使用該系統(tǒng)所需要的工作量該系統(tǒng)所需要的工作量。 命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個

12、數(shù),命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個數(shù),預示了系統(tǒng)的預示了系統(tǒng)的交互時間和總體效率交互時間和總體效率。 設計模型中包含的動作、命令和系統(tǒng)狀態(tài)的數(shù)量,預示了用戶學習使設計模型中包含的動作、命令和系統(tǒng)狀態(tài)的數(shù)量,預示了用戶學習使用該系統(tǒng)用該系統(tǒng)需要記憶的內(nèi)容的多少需要記憶的內(nèi)容的多少。 界面風格、幫助設施和出錯處理協(xié)議,預示了界面風格、幫助設施和出錯處理協(xié)議,預示了界面的復雜程度及用戶界面的復雜程度及用戶接受該系統(tǒng)的程度接受該系統(tǒng)的程度。6.2.2 設計過程設計過程2021-12-9大連理工大學軟件學院17用戶界面設計主要依靠設計者的經(jīng)驗??偨Y(jié)眾多設計者用戶界面設計主要依靠

13、設計者的經(jīng)驗??偨Y(jié)眾多設計者的經(jīng)驗而得出的設計指南,有助于設計者設計出友好、的經(jīng)驗而得出的設計指南,有助于設計者設計出友好、高效的人機界面。本節(jié)介紹三類人機界面設計指南。高效的人機界面。本節(jié)介紹三類人機界面設計指南。1.一般交互一般交互一般交互指南涉及信息顯示、數(shù)據(jù)輸入和整體系統(tǒng)控制,因此,一般交互指南涉及信息顯示、數(shù)據(jù)輸入和整體系統(tǒng)控制,因此,這些指南是全局性的,忽略它們將承擔較大風險。下面敘述一般這些指南是全局性的,忽略它們將承擔較大風險。下面敘述一般交互指南。交互指南。保持一致性保持一致性。為人機界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及。為人機界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多

14、的其他功能,使用一致的格式。眾多的其他功能,使用一致的格式。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院18 提供有意義的反饋提供有意義的反饋。向用戶提供視覺的和聽覺的反饋,以保證在用戶和。向用戶提供視覺的和聽覺的反饋,以保證在用戶和界面之間建立雙向通信。界面之間建立雙向通信。 在執(zhí)行有較大破壞性的動作之前要求用戶確認在執(zhí)行有較大破壞性的動作之前要求用戶確認。如果用戶要刪除一個文。如果用戶要刪除一個文件,或覆蓋一些重要信息,或請求終止一個程序運行,應該給出確認提件,或覆蓋一些重要信息,或請求終止一個程序運行,應該給出確認提示。示。 允許取消絕大多數(shù)操作允許

15、取消絕大多數(shù)操作。UNDO或或REVERSE功能使眾多終端用戶避免功能使眾多終端用戶避免了大量時間浪費。每個交互式應用系統(tǒng)都應該能方便地取消已完成的操了大量時間浪費。每個交互式應用系統(tǒng)都應該能方便地取消已完成的操作。作。 減少在兩次操作之間必須記憶的信息量減少在兩次操作之間必須記憶的信息量。不應該期望用戶能記住一大串。不應該期望用戶能記住一大串數(shù)字或名字,以便在下一步操作中使用它們。應該盡量減少記憶量。數(shù)字或名字,以便在下一步操作中使用它們。應該盡量減少記憶量。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院19 提高對話、移動和思考的效率提高對話、移動和思考

16、的效率。應該盡量減少擊鍵次數(shù),設計屏幕。應該盡量減少擊鍵次數(shù),設計屏幕布局時應該考慮盡量減少鼠標移動的距離,應該盡量避免出現(xiàn)用戶布局時應該考慮盡量減少鼠標移動的距離,應該盡量避免出現(xiàn)用戶問:問:“這是什么意思這是什么意思”的情況。的情況。 允許犯錯誤允許犯錯誤。系統(tǒng)應該保護自己不受致命錯誤的破壞。系統(tǒng)應該保護自己不受致命錯誤的破壞。 按功能對動作分類,并據(jù)此設計屏幕布局按功能對動作分類,并據(jù)此設計屏幕布局。下拉菜單的一個主要優(yōu)。下拉菜單的一個主要優(yōu)點就是能按動作類型組織命令。實際上,設計者應該盡力提高命令點就是能按動作類型組織命令。實際上,設計者應該盡力提高命令和動作組織的和動作組織的“內(nèi)聚性

17、內(nèi)聚性”。 提供對工作內(nèi)容敏感的幫助設施提供對工作內(nèi)容敏感的幫助設施(參見(參見6.2.1節(jié))。節(jié))。 用簡單動詞或動詞短語作為命令名用簡單動詞或動詞短語作為命令名。過長的命令名難于識別和記憶,。過長的命令名難于識別和記憶,也會占據(jù)過多的菜單空間。也會占據(jù)過多的菜單空間。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院202. 信息顯示信息顯示 如果人機界面顯示的信息是不完整,含糊或難于理解的,則應用如果人機界面顯示的信息是不完整,含糊或難于理解的,則應用軟件顯然不能滿足用戶需求。可以用多種不同方式軟件顯然不能滿足用戶需求。可以用多種不同方式“顯示顯示”信息:

18、信息:用文字、圖片和聲音;按位置、移動和大?。皇褂妙伾?、分辨率用文字、圖片和聲音;按位置、移動和大?。皇褂妙伾?、分辨率和省略。和省略。 下面是關于信息顯示的設計指南。下面是關于信息顯示的設計指南。只顯示與當前只顯示與當前工作內(nèi)容有關的信息工作內(nèi)容有關的信息。用戶在獲得有關系統(tǒng)的特定功能的信息時,用戶在獲得有關系統(tǒng)的特定功能的信息時,不必看到與之無關的數(shù)不必看到與之無關的數(shù)據(jù)、菜單和圖形據(jù)、菜單和圖形。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院21 不要用數(shù)據(jù)淹沒用戶不要用數(shù)據(jù)淹沒用戶,應該用便于用戶迅速地吸取信息的方式來表示,應該用便于用戶迅速地吸取信息

19、的方式來表示數(shù)據(jù)。例如,可以用圖形或圖表來取代巨大的表格。數(shù)據(jù)。例如,可以用圖形或圖表來取代巨大的表格。 使用一致的標記、標準的縮寫和可預知的顏色使用一致的標記、標準的縮寫和可預知的顏色。顯示的含義應該非。顯示的含義應該非常明確,用戶不必參照其他信息源就能理解。常明確,用戶不必參照其他信息源就能理解。 允許用戶保持可視化的語境允許用戶保持可視化的語境。如果對圖形顯示進行縮放,原始的圖。如果對圖形顯示進行縮放,原始的圖像應該一直顯示著像應該一直顯示著(以縮小的形式放在顯示屏的一角以縮小的形式放在顯示屏的一角),以使用戶知,以使用戶知道當前觀察的圖像部分在原圖中所處的相對位置。道當前觀察的圖像部分

20、在原圖中所處的相對位置。 產(chǎn)生有意義的出錯信息產(chǎn)生有意義的出錯信息(參見參見6.2.1節(jié)節(jié))。 使用大小寫、縮進和文本分組以幫助理解使用大小寫、縮進和文本分組以幫助理解。人機界面顯示的信息大。人機界面顯示的信息大部分是文字,文字的布局和形式對用戶從中吸取信息的難易程度有部分是文字,文字的布局和形式對用戶從中吸取信息的難易程度有很大影響。很大影響。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院22 使用窗口分隔不同類型的信息使用窗口分隔不同類型的信息。利用窗口用戶能夠方便地。利用窗口用戶能夠方便地“保保存存”多種不同類型的信息。多種不同類型的信息。 使用使用“

21、模擬模擬”顯示方式表示信息顯示方式表示信息,以使信息更容易被用戶吸取。,以使信息更容易被用戶吸取。例如,顯示煉油廠儲油罐的壓力時,如果使用簡單的數(shù)字表示壓例如,顯示煉油廠儲油罐的壓力時,如果使用簡單的數(shù)字表示壓力,則不易引起用戶注意。但是,如果用類似溫度計的形式來表力,則不易引起用戶注意。但是,如果用類似溫度計的形式來表示壓力,用垂直移動和顏色變化來指示危險的壓力狀況,就能引示壓力,用垂直移動和顏色變化來指示危險的壓力狀況,就能引起用戶的警覺,因為這樣做為用戶提供了絕對和相對兩方面的信起用戶的警覺,因為這樣做為用戶提供了絕對和相對兩方面的信息。息。 高效率地使用顯示屏高效率地使用顯示屏。當使用

22、多窗口時,應該有足夠的空間使。當使用多窗口時,應該有足夠的空間使得每個窗口至少都能顯示出一部分。此外,屏幕大小應該選得得每個窗口至少都能顯示出一部分。此外,屏幕大小應該選得和應用系統(tǒng)的類型相配套和應用系統(tǒng)的類型相配套( (這實際上是一個系統(tǒng)工程問題這實際上是一個系統(tǒng)工程問題) )。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院233.數(shù)據(jù)輸入數(shù)據(jù)輸入用戶的大部分時間用在選擇命令、鍵入數(shù)據(jù)和向系統(tǒng)提供用戶的大部分時間用在選擇命令、鍵入數(shù)據(jù)和向系統(tǒng)提供輸入。在許多應用系統(tǒng)中,鍵盤仍然是主要的輸入介質(zhì),輸入。在許多應用系統(tǒng)中,鍵盤仍然是主要的輸入介質(zhì),但是,鼠標、

23、數(shù)字化儀和語音識別系統(tǒng)正迅速地成為重要但是,鼠標、數(shù)字化儀和語音識別系統(tǒng)正迅速地成為重要的輸入手段。下面是關于數(shù)據(jù)輸入的設計指南。的輸入手段。下面是關于數(shù)據(jù)輸入的設計指南。盡量減少用戶的輸入動作盡量減少用戶的輸入動作。最重要的是減少擊鍵次數(shù),這可以。最重要的是減少擊鍵次數(shù),這可以用下列方法實現(xiàn):用鼠標從預定義的一組輸入中選一個;用用下列方法實現(xiàn):用鼠標從預定義的一組輸入中選一個;用“滑動標尺滑動標尺”在給定的值域中指定輸入值;利用宏把一次擊鍵在給定的值域中指定輸入值;利用宏把一次擊鍵轉(zhuǎn)變成更復雜的輸入數(shù)據(jù)集合。轉(zhuǎn)變成更復雜的輸入數(shù)據(jù)集合。 6.2.3 人機界面設計指南人機界面設計指南2021-

24、12-9大連理工大學軟件學院24 保持信息顯示和數(shù)據(jù)輸入之間的一致性保持信息顯示和數(shù)據(jù)輸入之間的一致性。顯示的視覺特征。顯示的視覺特征( (例如,文例如,文字大小、顏色和位置字大小、顏色和位置)應該與輸入域一致。應該與輸入域一致。 允許用戶自定義輸入允許用戶自定義輸入。專家級的用戶可能希望定義自己專用的命令。專家級的用戶可能希望定義自己專用的命令或略去某些類型的警告信息和動作確認,人機界面應該允許用戶這或略去某些類型的警告信息和動作確認,人機界面應該允許用戶這樣做。樣做。 交互應該是靈活的交互應該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式。用戶類,并且可調(diào)整成用戶最喜歡的輸入方式。用戶類型與喜

25、歡的輸入方式有關,秘書可能非常喜歡鍵盤輸入,而經(jīng)理可型與喜歡的輸入方式有關,秘書可能非常喜歡鍵盤輸入,而經(jīng)理可能更喜歡使用鼠標之類的點擊設備。能更喜歡使用鼠標之類的點擊設備。 使在當前動作語境中不適用的命令不起作用使在當前動作語境中不適用的命令不起作用。這可使用戶不去做那。這可使用戶不去做那些肯定會導致錯誤的動作。些肯定會導致錯誤的動作。6.2.3 人機界面設計指南人機界面設計指南2021-12-9大連理工大學軟件學院25 讓用戶控制交互流讓用戶控制交互流。用戶應該能夠跳過不必要的動作,改變所需做。用戶應該能夠跳過不必要的動作,改變所需做的動作的順序的動作的順序(在應用環(huán)境允許的前提下在應用環(huán)

26、境允許的前提下),以及在不退出程序的情,以及在不退出程序的情況下從錯誤狀態(tài)中恢復正常。況下從錯誤狀態(tài)中恢復正常。 對所有輸入動作都提供幫助對所有輸入動作都提供幫助(參見參見6.2.1節(jié)節(jié))。 消除冗余的輸入消除冗余的輸入。除非可能發(fā)生誤解,否則不要要求用戶指定工程。除非可能發(fā)生誤解,否則不要要求用戶指定工程輸入的單位;不要要求用戶在整錢數(shù)后面鍵入輸入的單位;不要要求用戶在整錢數(shù)后面鍵入00;盡可能提供缺?。槐M可能提供缺省值;絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。值;絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。6.2.3 人機界面設計指南人機界面設計指南2021-12-

27、9大連理工大學軟件學院266.3 過程設計的工具過程設計的工具 描述程序處理過程的工具稱為過程設計的工描述程序處理過程的工具稱為過程設計的工具,它們可以分為具,它們可以分為圖形、表格和語言圖形、表格和語言三類。三類。 對設計的無歧義描述對設計的無歧義描述 指明指明控制流程控制流程、處理功能處理功能、數(shù)據(jù)組織數(shù)據(jù)組織以及其他方以及其他方面的面的實現(xiàn)細節(jié)實現(xiàn)細節(jié) 能在編碼階段把對設計的描述能在編碼階段把對設計的描述直接翻譯直接翻譯成程序代成程序代碼碼2021-12-9大連理工大學軟件學院276.3.1 程序流程圖程序流程圖 程序流程圖又稱為程序框圖,是歷史最悠久使用最廣程序流程圖又稱為程序框圖,是

28、歷史最悠久使用最廣泛的描述過程設計的方法,然而也是用得最混亂的一泛的描述過程設計的方法,然而也是用得最混亂的一種方法。種方法。2021-12-9大連理工大學軟件學院282021-12-9大連理工大學軟件學院292021-12-9大連理工大學軟件學院30程序流程圖五種基本控制結(jié)構程序流程圖五種基本控制結(jié)構2021-12-9大連理工大學軟件學院312021-12-9大連理工大學軟件學院326.3.1 程序流程圖程序流程圖 優(yōu)點:對控制流程描述很直觀優(yōu)點:對控制流程描述很直觀 缺點:缺點:本質(zhì)上不是逐步求精的好工具,缺少全局結(jié)構的考慮本質(zhì)上不是逐步求精的好工具,缺少全局結(jié)構的考慮用箭頭代表控制流,程

29、序員不受約束用箭頭代表控制流,程序員不受約束不易表示數(shù)據(jù)結(jié)構不易表示數(shù)據(jù)結(jié)構2021-12-9大連理工大學軟件學院33思考題思考題 畫出下列偽碼程序的程序流程圖畫出下列偽碼程序的程序流程圖2021-12-9大連理工大學軟件學院34 出于要有一種不允許違背結(jié)構程序設計精神的圖形工具的出于要有一種不允許違背結(jié)構程序設計精神的圖形工具的考慮,考慮,Nassi和和Schneiderman提出了盒圖,又稱為提出了盒圖,又稱為N-S圖。圖。 特點:特點: 功能域明確功能域明確 不可能任意轉(zhuǎn)移控制不可能任意轉(zhuǎn)移控制 很容易確定局部和全局數(shù)據(jù)的作用域很容易確定局部和全局數(shù)據(jù)的作用域 很容易表現(xiàn)嵌套關系很容易表

30、現(xiàn)嵌套關系6.3.2 盒圖盒圖(N-S圖圖)2021-12-9大連理工大學軟件學院35圖6.4 盒圖的基本符號(a) 順序;(b) IF-THEN-ELSE型分支;(c) CASE型多分支;(d) 循環(huán);(e) 調(diào)用子程序A2021-12-9大連理工大學軟件學院36 盒圖沒有箭頭,因此不允許盒圖沒有箭頭,因此不允許隨意轉(zhuǎn)移控制隨意轉(zhuǎn)移控制。堅持使用盒圖作為詳細設計的工具,可使程堅持使用盒圖作為詳細設計的工具,可使程序員逐步養(yǎng)成用序員逐步養(yǎng)成用結(jié)構化的方式結(jié)構化的方式思考問題和解思考問題和解決問題的習慣。決問題的習慣。6.3.2 盒圖盒圖(N-S圖圖) 2021-12-9大連理工大學軟件學院37

31、思考題思考題 畫出下列偽碼程序的盒圖畫出下列偽碼程序的盒圖2021-12-9大連理工大學軟件學院382021-12-9大連理工大學軟件學院392021-12-9大連理工大學軟件學院40 PAD是是問題分析圖問題分析圖(Problem Analysis Diagram)的的英文縮寫,自英文縮寫,自1973年由日本日立公司發(fā)明以后,年由日本日立公司發(fā)明以后,已得到一定程度的推廣。已得到一定程度的推廣。 它用它用二維樹形結(jié)構二維樹形結(jié)構的圖來表示程序的控制流,將的圖來表示程序的控制流,將這種圖翻譯成程序代碼比較容易。這種圖翻譯成程序代碼比較容易。6.3.3 PAD圖圖2021-12-9大連理工大學軟

32、件學院41(a) 順序(先執(zhí)行P1后執(zhí)行P2);(b) 選擇(IF C THEN P1 ELSE P2);(c) CASE型多分支;(d) WHILE型循環(huán)(WHILE C DO P);(e) UNTIL型循環(huán)(REPEAT P UNTIL C);(f) 語句標號;(g) 定義圖6.5 PAD圖的基本符號2021-12-9大連理工大學軟件學院42圖6.6 使用PAD圖提供的定義功能來逐步求精的例子(a) 初始的PAD圖; (b) 使用def符號細化處理框P22021-12-9大連理工大學軟件學院432021-12-9大連理工大學軟件學院44 優(yōu)點:優(yōu)點: 設計出的程序必然是結(jié)構化程序設計出的程

33、序必然是結(jié)構化程序 程序結(jié)構清晰程序結(jié)構清晰 表現(xiàn)程序邏輯,易讀、易懂、易記表現(xiàn)程序邏輯,易讀、易懂、易記 容易轉(zhuǎn)換為高級語言源程序容易轉(zhuǎn)換為高級語言源程序 既可以用于表示程序邏輯,也可以用于描繪數(shù)據(jù)結(jié)構既可以用于表示程序邏輯,也可以用于描繪數(shù)據(jù)結(jié)構 支持自頂向下、逐步求精的方法支持自頂向下、逐步求精的方法6.3.3 PAD圖圖2021-12-9大連理工大學軟件學院45 當算法中包含多重嵌套的條件選擇時,判定表能夠清晰地當算法中包含多重嵌套的條件選擇時,判定表能夠清晰地表示表示復雜的條件組合復雜的條件組合與與應做的動作應做的動作之間的對應關系。之間的對應關系。 一張判定表由四部分組成,一張判定

34、表由四部分組成,左上部左上部列出所有條件,列出所有條件,左下部左下部是所有可能做的動作,是所有可能做的動作,右上部右上部是表示各種條件組合的一個是表示各種條件組合的一個矩陣,矩陣,右下部右下部是和每種條件組合相對應的動作。是和每種條件組合相對應的動作。 判定表右半部的每一列實質(zhì)上是一條規(guī)則,規(guī)定了與特定判定表右半部的每一列實質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對應的動作。的條件組合相對應的動作。6.3.4 判定表判定表2021-12-9大連理工大學軟件學院462021-12-9大連理工大學軟件學院47 要求將程序流要求將程序流程圖中的多分程圖中的多分支判斷都改成支判斷都改成兩分支判斷兩分支

35、判斷6.3.4 判定表判定表2021-12-9大連理工大學軟件學院482021-12-9大連理工大學軟件學院49 列出與一個具體過程列出與一個具體過程(或模塊或模塊)有關的所有處有關的所有處理。理。 列出過程執(zhí)行期間的所有條件列出過程執(zhí)行期間的所有條件(或所有判斷或所有判斷)。 將特定條件取值組合與特定的處理相匹配,將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合。消去不可能發(fā)生的條件取值組合。 將右部每一縱列規(guī)定為一個處理規(guī)則,即對將右部每一縱列規(guī)定為一個處理規(guī)則,即對于某一條件取值組合將有什么動作。于某一條件取值組合將有什么動作。2021-12-9大連理工大學軟件學院50

36、 判定表雖然能清晰地表示復雜的條件組合與應做的動作判定表雖然能清晰地表示復雜的條件組合與應做的動作之間的對應關系,但其含義卻不是一目了然,理解它也之間的對應關系,但其含義卻不是一目了然,理解它也需要有一個需要有一個學習過程學習過程。 此外,當數(shù)據(jù)元素的值多于兩個時此外,當數(shù)據(jù)元素的值多于兩個時(例如,例如,6.3.4節(jié)例子中節(jié)例子中假設對機票需細分為頭等艙、二等艙和經(jīng)濟艙等多種級假設對機票需細分為頭等艙、二等艙和經(jīng)濟艙等多種級別時別時),判定表的,判定表的簡潔程度簡潔程度也將下降。也將下降。 判定樹判定樹是判定表的變種,也能清晰地表示復雜的條件組是判定表的變種,也能清晰地表示復雜的條件組合與應

37、做的動作之間的對應關系。合與應做的動作之間的對應關系。6.3.5 判定樹判定樹2021-12-9大連理工大學軟件學院51圖6.7 用判定樹表示計算行李費的算法2021-12-9大連理工大學軟件學院52 優(yōu)點:優(yōu)點: 形式簡單形式簡單 缺點:缺點: 簡潔性低:同一個值輸入多次,越接近樹葉重簡潔性低:同一個值輸入多次,越接近樹葉重復越多復越多 分枝次序影響簡潔度分枝次序影響簡潔度6.3.5 判定樹判定樹2021-12-9大連理工大學軟件學院53 PDL也稱為也稱為偽碼偽碼,這是一個籠統(tǒng)的名稱,有許多種不同,這是一個籠統(tǒng)的名稱,有許多種不同的過程設計語言在使用。它是用的過程設計語言在使用。它是用正文

38、形式正文形式表示數(shù)據(jù)和處表示數(shù)據(jù)和處理過程的設計工具。理過程的設計工具。 PDL具有嚴格的關鍵字外部語法,用于定義控制結(jié)構和具有嚴格的關鍵字外部語法,用于定義控制結(jié)構和數(shù)據(jù)結(jié)構;另一方面,數(shù)據(jù)結(jié)構;另一方面,PDL表示實際操作和條件的內(nèi)部表示實際操作和條件的內(nèi)部語法通常又是靈活自由的,以便可以適應各種工程項目語法通常又是靈活自由的,以便可以適應各種工程項目的需要。的需要。 因此,一般說來因此,一般說來PDL是一種是一種“混雜混雜”語言,它使用一種語言,它使用一種語言語言(通常是某種自然語言通常是某種自然語言)的詞匯,同時卻使用另一種的詞匯,同時卻使用另一種語言語言(某種結(jié)構化的程序設計語言某種

39、結(jié)構化的程序設計語言)的語法。的語法。6.3.6 過程設計語言過程設計語言(PDL)2021-12-9大連理工大學軟件學院546.3.6 過程設計語言過程設計語言(PDL)2021-12-9大連理工大學軟件學院552021-12-9大連理工大學軟件學院56 特點:特點: 關鍵字的固定語法:提供了結(jié)構化控制結(jié)構、數(shù)據(jù)說明、模塊化關鍵字的固定語法:提供了結(jié)構化控制結(jié)構、數(shù)據(jù)說明、模塊化的特點的特點 自然語言的自由語法自然語言的自由語法 數(shù)據(jù)說明的手段數(shù)據(jù)說明的手段 模塊定義和調(diào)用的技術模塊定義和調(diào)用的技術 優(yōu)點:優(yōu)點: 可以作為注釋可以作為注釋 方便書寫方便書寫 已經(jīng)有自動處理程序存在,可以自動生

40、成程序代碼已經(jīng)有自動處理程序存在,可以自動生成程序代碼6.3.6 過程設計語言過程設計語言(PDL)2021-12-9大連理工大學軟件學院57 在許多應用領域中信息都有清楚的層次結(jié)構,輸入數(shù)在許多應用領域中信息都有清楚的層次結(jié)構,輸入數(shù)據(jù)、內(nèi)部存儲的信息據(jù)、內(nèi)部存儲的信息(數(shù)據(jù)庫或文件數(shù)據(jù)庫或文件)以及輸出數(shù)據(jù)都以及輸出數(shù)據(jù)都可能有獨特的結(jié)構。可能有獨特的結(jié)構。 數(shù)據(jù)結(jié)構既影響程序的結(jié)構又影響程序的處理過程,數(shù)據(jù)結(jié)構既影響程序的結(jié)構又影響程序的處理過程,重復出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構的程序來處重復出現(xiàn)的數(shù)據(jù)通常由具有循環(huán)控制結(jié)構的程序來處理,選擇數(shù)據(jù)理,選擇數(shù)據(jù)(可能出現(xiàn)也可能不出現(xiàn)的信

41、息可能出現(xiàn)也可能不出現(xiàn)的信息)要用帶要用帶有分支控制結(jié)構的程序來處理。有分支控制結(jié)構的程序來處理。 層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結(jié)層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結(jié)構十分相似。構十分相似。6.4 面向數(shù)據(jù)結(jié)構的設計方法面向數(shù)據(jù)結(jié)構的設計方法2021-12-9大連理工大學軟件學院58 面向數(shù)據(jù)結(jié)構的設計方法的最終目標是得出對程序處理過面向數(shù)據(jù)結(jié)構的設計方法的最終目標是得出對程序處理過程的描述。程的描述。 這種設計方法并不明顯地使用軟件結(jié)構的概念,模塊是設這種設計方法并不明顯地使用軟件結(jié)構的概念,模塊是設計過程的副產(chǎn)品,對于模塊獨立原理也沒有給予應有的重計過程的副產(chǎn)品,

42、對于模塊獨立原理也沒有給予應有的重視。視。 因此,這種方法最適合于在詳細設計階段使用,也就是在因此,這種方法最適合于在詳細設計階段使用,也就是在完成了軟件結(jié)構設計之后,可以使用面向數(shù)據(jù)結(jié)構的方法完成了軟件結(jié)構設計之后,可以使用面向數(shù)據(jù)結(jié)構的方法來設計每個模塊的處理過程。來設計每個模塊的處理過程。6.4 面向數(shù)據(jù)結(jié)構的設計方法面向數(shù)據(jù)結(jié)構的設計方法2021-12-9大連理工大學軟件學院596.4.1 Jackson圖圖雖然程序中實際使用的數(shù)據(jù)結(jié)構種類繁多,但雖然程序中實際使用的數(shù)據(jù)結(jié)構種類繁多,但是它們的數(shù)據(jù)元素彼此間的邏輯關系卻只有順是它們的數(shù)據(jù)元素彼此間的邏輯關系卻只有順序、選擇和重復三類,

43、因此,邏輯數(shù)據(jù)結(jié)構也序、選擇和重復三類,因此,邏輯數(shù)據(jù)結(jié)構也只有這三類。只有這三類。1. 順序結(jié)構順序結(jié)構順序結(jié)構的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每順序結(jié)構的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。圖個元素按確定次序出現(xiàn)一次。圖6.8是表示順序結(jié)是表示順序結(jié)構的構的Jackson圖的一個例子。圖的一個例子。2021-12-9大連理工大學軟件學院60圖6.8 A由B、C、D三個元素順序組成(每個元素只出現(xiàn)一次,出現(xiàn)的次序依次是B、C和D)2021-12-9大連理工大學軟件學院612. 選擇結(jié)構選擇結(jié)構選擇結(jié)構的數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,每選擇結(jié)構的數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,

44、每次使用這個數(shù)據(jù)時按一定條件從這些數(shù)據(jù)元素次使用這個數(shù)據(jù)時按一定條件從這些數(shù)據(jù)元素中選擇一個。圖中選擇一個。圖6.9是表示三個中選一個結(jié)構的是表示三個中選一個結(jié)構的Jackson圖。圖。圖6.9 根據(jù)條件A是B或C或D中的某一個(注意:在B、C和D的右上角有小圓圈做標記)2021-12-9大連理工大學軟件學院623. 重復結(jié)構重復結(jié)構重復結(jié)構的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)重復結(jié)構的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構成。圖據(jù)元素出現(xiàn)零次或多次構成。圖6.10是表示重是表示重復結(jié)構的復結(jié)構的Jackson圖。圖。圖6.10 A由B出現(xiàn)N次(N0)組成(注意:在B的右上角有星號標

45、記)2021-12-9大連理工大學軟件學院636.4.2 改進的改進的Jackson圖圖(a) 順序結(jié)構,B、C、D中任一個都不能是選擇出現(xiàn)或重復出現(xiàn)的數(shù)據(jù)元素(即,不能是右上角有小圓或星號標記的元素);(b) 選擇結(jié)構,S右面括號中的數(shù)字i是分支條件的編號;(c) 可選結(jié)構,A或者是元素B或者不出現(xiàn)(可選結(jié)構是選擇結(jié)構的一種常見的特殊形式);(d) 重復結(jié)構,循環(huán)結(jié)束條件的編號為i。2021-12-9大連理工大學軟件學院64比較比較 層次方框圖層次方框圖:描述數(shù)據(jù)的層次結(jié)構,一個:描述數(shù)據(jù)的層次結(jié)構,一個方框代表一個模塊,模塊間是組成關系。方框代表一個模塊,模塊間是組成關系。 層次圖層次圖:

46、模塊間調(diào)用關系。:模塊間調(diào)用關系。 Jackson圖圖:層次方框圖的精化,一個方框:層次方框圖的精化,一個方框代表幾個語句,一個模塊內(nèi)的組成關系。代表幾個語句,一個模塊內(nèi)的組成關系。2021-12-9大連理工大學軟件學院656.4.3 Jackson方法方法Jackson結(jié)構程序設計方法基本上由下述五個步結(jié)構程序設計方法基本上由下述五個步驟組成。驟組成。1.分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構,并用分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構,并用Jackson圖描繪這些數(shù)據(jù)結(jié)構。圖描繪這些數(shù)據(jù)結(jié)構。2.找出輸入數(shù)據(jù)結(jié)構和輸出數(shù)據(jù)結(jié)構中有對應關系的找出輸入數(shù)據(jù)結(jié)構和輸出數(shù)據(jù)結(jié)構中有對應關系的數(shù)據(jù)單

47、元。所謂有對應關系是指有直接的因果關系,數(shù)據(jù)單元。所謂有對應關系是指有直接的因果關系,在程序中可以同時處理的數(shù)據(jù)單元在程序中可以同時處理的數(shù)據(jù)單元(對于重復出現(xiàn)的對于重復出現(xiàn)的數(shù)據(jù)單元必須重復的次序和次數(shù)都相同才可能有對數(shù)據(jù)單元必須重復的次序和次數(shù)都相同才可能有對應關系應關系)。2021-12-9大連理工大學軟件學院663.用下述三條規(guī)則從描繪用下述三條規(guī)則從描繪數(shù)據(jù)結(jié)構的數(shù)據(jù)結(jié)構的Jackson圖圖導出描導出描繪繪程序結(jié)構的程序結(jié)構的Jackson圖圖。第一,為每對有對應關系的數(shù)據(jù)單元,按照它們在數(shù)據(jù)結(jié)第一,為每對有對應關系的數(shù)據(jù)單元,按照它們在數(shù)據(jù)結(jié)構圖中的層次在程序結(jié)構圖的構圖中的層次在

48、程序結(jié)構圖的相應層次畫相應層次畫一個處理框一個處理框(注意,注意,如果這對數(shù)據(jù)單元在輸入數(shù)據(jù)結(jié)構和輸出數(shù)據(jù)結(jié)構中所處如果這對數(shù)據(jù)單元在輸入數(shù)據(jù)結(jié)構和輸出數(shù)據(jù)結(jié)構中所處的層次不同,則和它們對應的處理框在程序結(jié)構圖中所處的層次不同,則和它們對應的處理框在程序結(jié)構圖中所處的層次與它們之中在數(shù)據(jù)結(jié)構圖中的層次與它們之中在數(shù)據(jù)結(jié)構圖中層次低層次低的那個對應的那個對應)。第二,根據(jù)第二,根據(jù)輸入數(shù)據(jù)結(jié)構中剩余輸入數(shù)據(jù)結(jié)構中剩余的每個數(shù)據(jù)單元所處的層的每個數(shù)據(jù)單元所處的層次,在程序結(jié)構圖的相應層次分別為它們畫上對應的處理次,在程序結(jié)構圖的相應層次分別為它們畫上對應的處理框框。2021-12-9大連理工大學軟

49、件學院67 第三,根據(jù)第三,根據(jù)輸出數(shù)據(jù)結(jié)構中剩余輸出數(shù)據(jù)結(jié)構中剩余的每個數(shù)據(jù)單元所處的層次,的每個數(shù)據(jù)單元所處的層次,在程序結(jié)構圖的相應層次分別為它們畫上對應的處理框。在程序結(jié)構圖的相應層次分別為它們畫上對應的處理框。 總之,描繪程序結(jié)構的總之,描繪程序結(jié)構的Jackson圖應該綜合輸入數(shù)據(jù)結(jié)構和輸出數(shù)圖應該綜合輸入數(shù)據(jù)結(jié)構和輸出數(shù)據(jù)結(jié)構的層次關系而導出來。據(jù)結(jié)構的層次關系而導出來。 在導出程序結(jié)構圖的過程中,由于改進的在導出程序結(jié)構圖的過程中,由于改進的Jackson圖規(guī)定在構成圖規(guī)定在構成順序結(jié)構的元素中不能有重復出現(xiàn)或選擇出現(xiàn)的元素,因此可順序結(jié)構的元素中不能有重復出現(xiàn)或選擇出現(xiàn)的元素

50、,因此可能需要增加中間層次處理框。能需要增加中間層次處理框。4、列出所有操作和條件、列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件包括分支條件和循環(huán)結(jié)束條件),并且把它們,并且把它們分配到程序結(jié)構圖的適當位置分配到程序結(jié)構圖的適當位置。2021-12-9大連理工大學軟件學院685、用偽碼表示程序。、用偽碼表示程序。2021-12-9大連理工大學軟件學院69例一個正文文件由若干個記錄組成,每個記錄是一個字符串。要例一個正文文件由若干個記錄組成,每個記錄是一個字符串。要求統(tǒng)計每個記錄中空格字符的個數(shù),以及文件中空格字符的總個數(shù)。求統(tǒng)計每個記錄中空格字符的個數(shù),以及文件中空格字符的總個數(shù)。要求的輸出

51、數(shù)據(jù)格式是,每復制一行輸入字符串之后,另起一行印出要求的輸出數(shù)據(jù)格式是,每復制一行輸入字符串之后,另起一行印出這個字符串中的空格數(shù),最后印出文件中空格的總個數(shù)。這個字符串中的空格數(shù),最后印出文件中空格的總個數(shù)。2021-12-9大連理工大學軟件學院70圖6.12 表示輸入/輸出數(shù)據(jù)結(jié)構的Jackson圖(a) 輸入數(shù)據(jù)結(jié)構;(b) 輸出數(shù)據(jù)結(jié)構2021-12-9大連理工大學軟件學院71圖圖6.13 描繪統(tǒng)計空格程序結(jié)構的描繪統(tǒng)計空格程序結(jié)構的Jackson圖圖2021-12-9大連理工大學軟件學院72 列出所有操作和條件,并把它們分配到程序結(jié)構列出所有操作和條件,并把它們分配到程序結(jié)構圖的適當

52、位置:圖的適當位置:2021-12-9大連理工大學軟件學院73圖圖6.14 把操作和條件分配把操作和條件分配到程序結(jié)構圖的適當位置到程序結(jié)構圖的適當位置2021-12-9大連理工大學軟件學院74思考題思考題 用用jackson圖描繪下述的一列火車的構成:圖描繪下述的一列火車的構成:一列火車最多有兩個火車頭。只有一個火車頭時則位于列一列火車最多有兩個火車頭。只有一個火車頭時則位于列車最前列,若還有第二個火車頭時,則第二個火車頭位于車最前列,若還有第二個火車頭時,則第二個火車頭位于列車最后面?;疖囶^既可能是內(nèi)燃機車也可能是電氣機車。列車最后面。火車頭既可能是內(nèi)燃機車也可能是電氣機車。車廂分為硬座車廂、硬臥車廂和軟臥車廂車廂分為硬座車廂、硬臥車廂和軟臥車廂3種。硬座車廂種。硬座車廂在所有車廂的前面,軟臥車廂在所有車廂的后面。此外,在所有車廂的前面,軟臥車廂在所有車廂的后面。此外,在硬臥車廂和軟臥車廂之間還有一節(jié)餐車。在硬臥車廂和軟臥車廂之間還有一節(jié)餐車。2021-12-9大連理工大學軟件學院75思考題答案思考題答案2021-12-9大連理工大學軟

溫馨提示

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

評論

0/150

提交評論