版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程第一章學(xué)習(xí)輔導(dǎo) 一、填空練習(xí) 1 按軟件的功能可將軟件分成(系統(tǒng)軟件 支撐軟件 應(yīng)用軟件)等三類。 2 按軟件規(guī)??蓪④浖殖桑ㄎ⑿?小型 中型 大型 甚大型 極大型)等六類。 3 按軟件工作方式可將軟件分成(實(shí)時(shí)處理軟件 分時(shí)軟件 交互式軟件 批處理軟件 )等四類。 4 按軟件軟服務(wù)對(duì)象可將軟件分成(項(xiàng)目軟件 產(chǎn)品軟件)等兩類。 5 軟件危機(jī)中遇到的主要問題有(軟件開發(fā)無(wú)計(jì)劃 軟件需求不充分 軟件開發(fā)過程無(wú)規(guī)范 軟件產(chǎn)品無(wú)評(píng)測(cè) )等四類。手段 6 軟件工程過程通常包括(軟件規(guī)格說明 軟件開發(fā) 軟件確認(rèn) 軟件演進(jìn))等四種基本的過程活動(dòng)。 7 軟件工程的三個(gè)要素是(方法 工具 過程)。
2、二、用框圖說明軟件工程目標(biāo)之間的關(guān)系。 軟件工程第二章學(xué)習(xí)輔導(dǎo)2.1 基于計(jì)算機(jī)的系統(tǒng)通常把基于計(jì)算機(jī)的系統(tǒng)定義為某些元素的一個(gè)集合,并把這些元素組織起來(lái)以實(shí)現(xiàn)某種方法、過程或借助處理信息進(jìn)行控制。這些系統(tǒng)元素以各種方式組合來(lái)進(jìn)行信息的轉(zhuǎn)換?;谟?jì)算機(jī)的系統(tǒng)可以成為一個(gè)更大的基于計(jì)算機(jī)系統(tǒng)中的一個(gè)元素,并稱為那個(gè)更大系統(tǒng)的宏元素。系統(tǒng)工程師(亦稱為系統(tǒng)分析員)的作用就是要在總的系統(tǒng)(宏元素)層次結(jié)構(gòu)的環(huán)境中定義某一特定基于計(jì)算機(jī)系統(tǒng)的元素。2.2 計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程是一個(gè)問題求解活動(dòng),目的是揭示、分析所期望的功能,并把它們分配到各個(gè)系統(tǒng)元素中去,即選擇一個(gè)特定的系統(tǒng)配置,并把功能與性
3、能規(guī)格分配給硬件、軟件、人、數(shù)據(jù)庫(kù)、文檔和過程。 2.2.1 硬件和硬件工程選擇某種硬件元件的組合以構(gòu)成基于計(jì)算機(jī)系統(tǒng)的硬件元素。在選擇硬件時(shí),主要考慮以下幾個(gè)特性:(1)對(duì)各種元件打包,形成一些單獨(dú)的構(gòu)件塊;(2)各個(gè)元件之間的接口標(biāo)準(zhǔn);(3)可以有多種供權(quán)衡使用的候選方案;(4)性能、成本、有效性相對(duì)地比較容易確定。2.2.2 軟件和軟件工程軟件實(shí)現(xiàn)了完成系統(tǒng)功能所需要的處理算法。一般地,處理算法變換輸入數(shù)據(jù)或控制信息,并生成輸出到其它系統(tǒng)元素或宏元素中去的數(shù)據(jù)或控制信息。軟件工程是一門有關(guān)開發(fā)高質(zhì)量的基于計(jì)算機(jī)系統(tǒng)的軟件的學(xué)科 。 2.2.3 人與人類工程早期的基于計(jì)算機(jī)的系統(tǒng)總是把著眼
4、點(diǎn)放在硬件與軟件易于實(shí)現(xiàn)上,并強(qiáng)迫用戶按系統(tǒng)規(guī)定的方式與系統(tǒng)通信,而完全不考慮人是否容易理解。今天,已經(jīng)把用戶友好性放在優(yōu)先的位置?;谟?jì)算機(jī)系統(tǒng)的人類工程已成為系統(tǒng)開發(fā)申一個(gè)重要的步驟。 人類工程是應(yīng)用從心理學(xué)和方法論導(dǎo)出的知識(shí)來(lái)確定和設(shè)計(jì)高質(zhì)量人機(jī)對(duì)話界面HCI(Human Conversation Interface)的多學(xué)科活動(dòng)。人類工程過程包括以下步驟:(1)活動(dòng)分析 (2)語(yǔ)義分析和設(shè)計(jì):對(duì)用戶要求的動(dòng)作和機(jī)器產(chǎn)生的動(dòng)作進(jìn)行精確定義。 (3)語(yǔ)法和詞法設(shè)計(jì):標(biāo)識(shí)與描述各個(gè)動(dòng)作和命令的特定形式,然后設(shè)計(jì)每一動(dòng)作或命令的硬件與軟件實(shí)現(xiàn)。(4)用戶環(huán)境設(shè)計(jì):將硬件、軟件和其它系統(tǒng)生成元素
5、組合起來(lái)形成用戶環(huán)境。環(huán)境包括物理設(shè)備以及HCI。(5)原型:從人的角度出發(fā)來(lái)評(píng)價(jià)HCI。2.2.4 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)工程并不是所有的基于計(jì)算機(jī)的系統(tǒng)都使用數(shù)據(jù)庫(kù),但對(duì)于使用數(shù)據(jù)庫(kù)的系統(tǒng)來(lái)說,這種信息倉(cāng)庫(kù)往往是所有功能的核心。數(shù)據(jù)庫(kù)工程(包括數(shù)據(jù)庫(kù)分析、設(shè)計(jì)和實(shí)現(xiàn)),是一門技術(shù)學(xué)科,它的應(yīng)用是在數(shù)據(jù)庫(kù)的信息域定義完成之后。 2.3 系統(tǒng)需求識(shí)別系統(tǒng)分析的目標(biāo)(1)識(shí)別用戶要求;(2)評(píng)價(jià)系統(tǒng)的可行性;(3)進(jìn)行經(jīng)濟(jì)分析和技術(shù)分析;(4)把功能分配給硬件、軟件、人、數(shù)據(jù)庫(kù)和其它系統(tǒng)元素;(5)建立成本和迸度限制;(6)生成系統(tǒng)規(guī)格說明,形成所有后續(xù)工程的基礎(chǔ)。2.4 可行性研究可行性研究主要集中在
6、以下四個(gè)方面: (1)經(jīng)濟(jì)可行性。確定待開發(fā)系統(tǒng)是否值得投資開發(fā)。(2)技術(shù)可行性。對(duì)待開發(fā)的系統(tǒng)進(jìn)行功能、性能和限制條件的分析,確定在現(xiàn)有的資源的條件下,技術(shù)風(fēng)險(xiǎn)有多大,系統(tǒng)是否能實(shí)現(xiàn)。 (3)法律可行性。確認(rèn)待開發(fā)系統(tǒng)可能會(huì)涉及的任何侵犯、妨礙、責(zé)任等問題。(4)抉擇。對(duì)系統(tǒng)開發(fā)的不同方案進(jìn)行比較評(píng)估。成本和時(shí)間的限制,會(huì)給方案的選擇帶來(lái)局限性,對(duì)于一些合理的方案都應(yīng)加以考慮。2.5 成本-效益分析從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。成本-效益分析首先是估算待開發(fā)系統(tǒng)的開發(fā)成本,然后與可能取得的效益(有形的和無(wú)形的)進(jìn)行比較和權(quán)衡。有形的效益可以用貨幣的時(shí)間價(jià)值、投資回收期、純收入
7、等指標(biāo)進(jìn)行度量。 貨幣的時(shí)間價(jià)值 通常用利率表示貨幣的時(shí)間價(jià)值。設(shè)年利率為i,現(xiàn)已存入P元,則n年后可得錢數(shù)為F=P(1十i)n。反之,若n年后能收入F元,那么這些錢現(xiàn)在的價(jià)值是 P=F/(1十i)n投資回收期 投資回收期是衡量一個(gè)開發(fā)工程價(jià)值的經(jīng)濟(jì)指標(biāo)。投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初的投資所需要的時(shí)間。投資回收期越短,就能越快獲得利潤(rùn)。 純收入 工程的純收入是衡量工程價(jià)值的另一項(xiàng)經(jīng)濟(jì)指標(biāo)。純收入就是在整個(gè)生存期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折合成現(xiàn)在值)與投資之差。 2.6 技術(shù)分析技術(shù)分析提交系統(tǒng)技術(shù)可行性評(píng)估。指明為完成系統(tǒng)的功能和性能需要什么技術(shù)?需要哪些新材料、方法、算法、或者過程
8、?有什么開發(fā)風(fēng)險(xiǎn)?這些技術(shù)問題對(duì)成本的影響如何?用于技術(shù)分析的方法,有數(shù)學(xué)模型和優(yōu)化技術(shù)、概率和統(tǒng)計(jì)、排隊(duì)論、控制論等。 2.7 分配與權(quán)衡一旦解決了與分析任務(wù)相關(guān)的問題,就應(yīng)開始考慮候選的解決方案。每一個(gè)系統(tǒng)功能,與其必要的一些性能和接口特性一起,分配給一個(gè)或多個(gè)系統(tǒng)元素。2.8 系統(tǒng)結(jié)構(gòu)的模塊化用圖形符號(hào)描繪系統(tǒng)里面的每個(gè)部件,即用流程圖對(duì)現(xiàn)有系統(tǒng)作概括的物理模型描述。系統(tǒng)流程圖的功能 (1)制作系統(tǒng)流程圖的過程是系統(tǒng)分析員全面了解系統(tǒng)業(yè)務(wù)處理概況的過程,是系統(tǒng)分析員進(jìn)一步分析的依據(jù)。 (2)系統(tǒng)流程圖是系統(tǒng)分析員、管理員、業(yè)務(wù)員相互交流的工具。 (3)可利用流程圖來(lái)分析業(yè)務(wù)流程的合理性。
9、2.9 系統(tǒng)定義與評(píng)審系統(tǒng)規(guī)格說明是作為硬件工程、軟件工程、數(shù)據(jù)庫(kù)工程、人類工程的基礎(chǔ)而使用的一個(gè)文檔。它描述了系統(tǒng)的功能和性能,以及管理該系統(tǒng)開發(fā)的一些限制條件。 系統(tǒng)規(guī)格說明的主要內(nèi)容(1)引言 文檔的范圍和目的 概述:目標(biāo)、限制條件(2)功能和數(shù)據(jù)描述 系統(tǒng)結(jié)構(gòu):結(jié)構(gòu)環(huán)境圖(ACD)、ACD描述(3)子系統(tǒng)描述 對(duì)子系統(tǒng)的結(jié)構(gòu)圖描述:結(jié)構(gòu)流程圖(AFD)、系統(tǒng)模塊描述、性能問題、設(shè)計(jì)限制條件、系統(tǒng)部件的分配 結(jié)構(gòu)詞典 結(jié)構(gòu)互連圖及其描述(4)系統(tǒng)模型化和模擬結(jié)果 用于模擬的系統(tǒng)模型 模擬結(jié)果 特殊的性能問題(5)項(xiàng)目問題 項(xiàng)目開發(fā)成本 項(xiàng)目進(jìn)度安排(6)附錄系統(tǒng)定義的評(píng)審 評(píng)審由開發(fā)人員
10、和用戶合作進(jìn)行,要保證:(1)正確地定義了項(xiàng)目的范圍;(2)適當(dāng)?shù)囟x了功能、性能和接口;(3)環(huán)境分析和開發(fā)風(fēng)險(xiǎn)證明了系統(tǒng)是可行的;(4)開發(fā)人員與用戶對(duì)系統(tǒng)目標(biāo)達(dá)成了共識(shí)。軟件工程第三章學(xué)習(xí)輔導(dǎo) 3.1 軟件需求分析的任務(wù)需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的限制和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。 3.2 需求分析的過程需求分析工作可分成四個(gè)方面: 1.對(duì)問題的識(shí)別:確定對(duì)目標(biāo)系統(tǒng)的綜合要求,即軟件的需求。 2.分析與綜合:最終綜合成系統(tǒng)的解決方案,給出目標(biāo)系統(tǒng)的詳細(xì)邏輯模型。 3.制定規(guī)格說明:編制需求分析的文檔。 4.評(píng)審:對(duì)功能的正確性
11、、完整性和清晰性,需求給予評(píng)價(jià)。 3.3 軟件需求分析的原則必須能夠表達(dá)和理解問題的數(shù)據(jù)域和功能域。必須按自頂向下、逐層分解的方式對(duì)問題進(jìn)行分解和不斷細(xì)化。要給出系統(tǒng)的邏輯視圖和物理視圖。3.4 分析員和用戶的責(zé)任系統(tǒng)分析員處在用戶和高級(jí)程序員之間,負(fù)責(zé)溝通用戶和開發(fā)人員的認(rèn)識(shí)和見解,起著橋梁的作用。 用戶應(yīng)密切配合分析員的工作。用戶對(duì)數(shù)據(jù)處理工作的考慮、對(duì)軟件的意見和要求是需求分析的寶貴原始資料。3.5 軟件需求分析方法需求分析方法由對(duì)軟件的數(shù)據(jù)域和功能域的系統(tǒng)分析過程及其表示方法組成。它定義了表示系統(tǒng)邏輯視圖和物理視圖的方式。最終建立一個(gè)待開發(fā)軟件的抽象模型,即目標(biāo)系統(tǒng)的邏輯模型。 3.6
12、 原型化方法 在軟件開發(fā)過程中,原型是軟件的一個(gè)早期可運(yùn)行的版本,它反映最終系統(tǒng)的部分重要特性。用戶在試用原型系統(tǒng)的過程中做出反應(yīng)和評(píng)價(jià)。然后開發(fā)者根據(jù)用戶的意見對(duì)原型加以改進(jìn)。隨著不斷試驗(yàn)、糾錯(cuò)、使用、評(píng)價(jià)和修改,獲得新的原型版本,如此周而復(fù)始,從而提高了最終產(chǎn)品的質(zhì)量。 3.7 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法就是用抽象模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞、變換的關(guān)系,自頂向下逐層分解,直到找到滿足功能要求的所有可實(shí)現(xiàn)的軟件為止。 結(jié)構(gòu)化分析方法使用的主要工具:數(shù)據(jù)流圖、數(shù)據(jù)詞典、結(jié)構(gòu)化英語(yǔ)、判定表和判定樹。 數(shù)據(jù)流圖 (DFD,Data Flow Diagram) 數(shù)據(jù)流圖也稱為Bubble C
13、hart或Data Flow Graph。是描述數(shù)據(jù)處理過程的工具。數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。數(shù)據(jù)詞典 (DD,Data Dictionary)數(shù)據(jù)詞典的任務(wù)是對(duì)于數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在數(shù)據(jù)詞典中作為一個(gè)詞條加以定義,使得每一個(gè)圖形元素的名字都有一個(gè)確切的解釋。數(shù)據(jù)詞典中所有的定義應(yīng)是嚴(yán)密的、精確的,不可有半點(diǎn)含混,不可有二義性。結(jié)構(gòu)化英語(yǔ)(Structured English)結(jié)構(gòu)化英語(yǔ)也稱為PDL,是一種介于自然語(yǔ)言和形式化語(yǔ)言之間的半形式化語(yǔ)言。它是在自然語(yǔ)言基礎(chǔ)上加了一些限制而得到的語(yǔ)言,是使用有限的詞匯和有限的語(yǔ)
14、句來(lái)描述加工邏輯。 判定表(Decision Table) 用表格表達(dá)在什么條件下,系統(tǒng)應(yīng)完成哪些操作,顯得十分清楚、準(zhǔn)確、一目了然。這是用語(yǔ)言說明難以準(zhǔn)確、清楚表達(dá)的。但是用判定表描述循環(huán)比較困難。有時(shí),判定表可以和結(jié)構(gòu)化英語(yǔ)結(jié)合起來(lái)使用。判定樹(Decision Tree)判定樹也是用來(lái)表達(dá)加工邏輯的一種工具。有時(shí)侯它比判定表更直觀。用它來(lái)描述加工,很容易為用戶接受。 軟件工程第四章學(xué)習(xí)輔導(dǎo) 4.1 軟件設(shè)計(jì)的目標(biāo)和任務(wù)一旦確定了軟件需求之后,就進(jìn)入開發(fā)階段。開發(fā)階段由三個(gè)互相關(guān)聯(lián)的步驟組成:設(shè)計(jì)、實(shí)現(xiàn)(編碼)和測(cè)試。每個(gè)步驟都按某種方式進(jìn)行信息變換,最后得到有效的計(jì)算機(jī)軟件。開發(fā)階段的信
15、息流如圖所示。4.1.1 軟件設(shè)計(jì)在開發(fā)階段中的重要性除了維護(hù)階段以外,開發(fā)階段占軟件工程總成本的75%以上。開發(fā)階段的決策將最終影響軟件實(shí)現(xiàn)的成敗,影響軟件維護(hù)的難易程度。軟件設(shè)計(jì)是軟件開發(fā)階段最重要的步驟。它是軟件開發(fā)中質(zhì)量得以保證的關(guān)鍵步驟。設(shè)計(jì)提供了軟件的表示,使得軟件的質(zhì)量評(píng)價(jià)成為可能。軟件設(shè)計(jì)又是將用戶要求準(zhǔn)確地轉(zhuǎn)化成為最終的軟件產(chǎn)品的唯一途徑。4.1.2 軟件設(shè)計(jì)任務(wù)軟件設(shè)計(jì)是一個(gè)把軟件需求變換成軟件表示的過程。最初這種表示只是描繪出軟件的總的框架,然后進(jìn)一步細(xì)化,在此框架中填入細(xì)節(jié),把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。軟件設(shè)計(jì)分兩步完成。首先做概要設(shè)計(jì),將軟件需求
16、轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。然后是詳細(xì)設(shè)計(jì),即過程設(shè)計(jì)。通過對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。在概要設(shè)計(jì)過程中需要完成的工作具體有:(1)制定規(guī)范在進(jìn)入軟件開發(fā)階段之初,首先應(yīng)為軟件開發(fā)組制定在設(shè)計(jì)時(shí)應(yīng)該共同遵守的標(biāo)準(zhǔn),以便協(xié)調(diào)組內(nèi)各成員的工作。它包括:1)閱讀和理解軟件需求說明書,在給定預(yù)算范圍內(nèi)和技術(shù)現(xiàn)狀下,確認(rèn)用戶的要求能否實(shí)現(xiàn)。若不能實(shí)現(xiàn),則需明確實(shí)現(xiàn)的條件,從而確定設(shè)計(jì)的目標(biāo),以及它們的優(yōu)先順序。2)根據(jù)目標(biāo)確定最合適的設(shè)計(jì)方法。3)規(guī)定設(shè)計(jì)文檔的編制標(biāo)準(zhǔn),包括文檔體系、用紙及樣式、記述詳細(xì)的程度、圖形的畫法等。4)規(guī)定編碼的信息形式(代碼體系),與硬件、操作系
17、統(tǒng)的接口規(guī)約,命名規(guī)則等。(2)軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)在需求分析階段,已經(jīng)從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),使每一部分完成簡(jiǎn)單的功能且各個(gè)部分之間又保持一定的聯(lián)系,這就是功能設(shè)計(jì)。在設(shè)計(jì)階段,基于這個(gè)功能的層次結(jié)構(gòu)把各個(gè)部分組合起來(lái)成為系統(tǒng)。它包括:1)采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊的層次結(jié)構(gòu)。2)確定每個(gè)模塊的功能,建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系;3)確定模塊間的調(diào)用關(guān)系。4)確定模塊間的接口,即模塊間傳遞的信息。設(shè)計(jì)接口的信息結(jié)構(gòu)。5)評(píng)估模塊劃分的質(zhì)量及導(dǎo)出模塊結(jié)構(gòu)的規(guī)則。(3)處理方式設(shè)計(jì)1)確定為實(shí)現(xiàn)軟件系統(tǒng)的功能需求所必需的算法,評(píng)估算法的
18、性能。2)確定為滿足軟件系統(tǒng)的性能需求所必需的算法和模塊間的控制方式(性能設(shè)計(jì))。性能主要是指以下四個(gè)指標(biāo):周轉(zhuǎn)時(shí)間:即一旦向計(jì)算機(jī)發(fā)出要求處理的請(qǐng)求之后,從輸入開始,經(jīng)過處理直到輸出結(jié)果為止的整個(gè)時(shí)間。響應(yīng)時(shí)間:這是對(duì)于實(shí)時(shí)聯(lián)機(jī)系統(tǒng)的性能需求。當(dāng)終端用戶向計(jì)算機(jī)發(fā)出處理請(qǐng)求之后,從輸入開始到輸出最終結(jié)果中間的一段時(shí)間內(nèi),用戶需要多次對(duì)計(jì)算機(jī)進(jìn)行輸入輸出,而一次輸入輸出的時(shí)間就是響應(yīng)時(shí)間。吞吐量:單位時(shí)間內(nèi)能夠處理的數(shù)據(jù)量叫做吞吐量。這是表示系統(tǒng)能力的指標(biāo)。精度:在進(jìn)行科學(xué)計(jì)算或工程計(jì)算時(shí),運(yùn)算精確度的要求。3)確定外部信號(hào)的接收發(fā)送形式。(4)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)
19、庫(kù)的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計(jì)。它包括:1)確定輸入、輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。2)結(jié)合算法設(shè)計(jì),確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作。3)確定對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包)。限制和確定各個(gè)數(shù)據(jù)設(shè)計(jì)決策的影響范圍。4)若需要與操作系統(tǒng)或調(diào)度程序接口所必須的控制表等數(shù)據(jù)時(shí),確定其詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則。5)數(shù)據(jù)的保護(hù)性設(shè)計(jì)防衛(wèi)性設(shè)計(jì):在軟件設(shè)計(jì)中插入自動(dòng)檢錯(cuò),報(bào)錯(cuò)和糾錯(cuò)的功能。一致性設(shè)計(jì):有兩個(gè)方面。其一是保證軟件運(yùn)行過程中所使用的數(shù)據(jù)的類型和取值范圍不變。其二是在并發(fā)處理過程中使用封鎖和解除封鎖機(jī)制保持?jǐn)?shù)據(jù)不被破壞。冗余性設(shè)計(jì):針對(duì)同一問題,由兩個(gè)開發(fā)者采
20、用不同的程序設(shè)計(jì)風(fēng)格、不同的算法設(shè)計(jì)軟件,當(dāng)兩者運(yùn)行結(jié)果之差不在允許范圍內(nèi)時(shí),利用檢錯(cuò)系統(tǒng)予以糾正,或使用表決技術(shù)決定一個(gè)正確的結(jié)果,以保證軟件容錯(cuò)。(5)可靠性設(shè)計(jì)可靠性設(shè)計(jì)也叫做質(zhì)量設(shè)計(jì)。軟件可靠性是指程序和文檔中的錯(cuò)誤少。軟件越使用可靠性越高。但是在運(yùn)行過程中,為了適應(yīng)環(huán)境的變化和用戶新的要求,需要經(jīng)常對(duì)軟件進(jìn)行改造和修正,這就是軟件的維護(hù)。由于軟件的維護(hù)往往會(huì)產(chǎn)生新的故障,所以要求在軟件開發(fā)期間應(yīng)當(dāng)盡早找出差錯(cuò),并在軟件開發(fā)的一開始就要確定軟件可靠性和其他質(zhì)量指標(biāo),考慮相應(yīng)措施,以使得軟件易于修改和易于維護(hù)。(6)編寫概要設(shè)計(jì)階段的文檔概要設(shè)計(jì)階段完成時(shí)應(yīng)編寫以下文檔:概要設(shè)計(jì)說明書。
21、給出系統(tǒng)目標(biāo)、總體設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、處理方式設(shè)計(jì)、運(yùn)行設(shè)計(jì)、出錯(cuò)設(shè)計(jì)等。數(shù)據(jù)庫(kù)設(shè)計(jì)說明書。給出所使用數(shù)據(jù)庫(kù)簡(jiǎn)介、數(shù)據(jù)模式設(shè)計(jì)、物理設(shè)計(jì)等。用戶手冊(cè)。對(duì)需求分析階段編寫的初步的用戶手冊(cè)進(jìn)行審訂。制定初步的測(cè)試計(jì)劃。對(duì)測(cè)試的策略、方法和步驟提出明確的要求。(7)概要設(shè)計(jì)評(píng)審在完成以上幾項(xiàng)工作之后,應(yīng)當(dāng)組織對(duì)概要設(shè)計(jì)工作的評(píng)審。評(píng)審的內(nèi)容包括:可追溯性:即分析該軟件的系統(tǒng)結(jié)構(gòu)、子系統(tǒng)結(jié)構(gòu),確認(rèn)該軟件設(shè)計(jì)是否覆蓋了所有已確定的軟件需求,軟件每一成分是否可追溯到某一項(xiàng)需求。接口:即分析軟件各部分之間的聯(lián)系,確認(rèn)該軟件的內(nèi)部接口與外部接口是否已經(jīng)明確定義。模塊是否滿足高內(nèi)聚和低耦合的要求。模塊作用范圍是否在
22、其控制范圍之內(nèi)。風(fēng)險(xiǎn):即確認(rèn)該軟件設(shè)計(jì)在現(xiàn)有技術(shù)條件下和預(yù)算范圍內(nèi)是否能按時(shí)實(shí)現(xiàn)。實(shí)用性:即確認(rèn)該軟件設(shè)計(jì)對(duì)于需求的解決方案是否實(shí)用。技術(shù)清晰度:即確認(rèn)該軟件設(shè)計(jì)是否以一種易于翻譯成代碼的形式表達(dá)??删S護(hù)性:從軟件維護(hù)的角度出發(fā),確認(rèn)該軟件設(shè)計(jì)是否考慮了方便未來(lái)的維護(hù)。質(zhì)量:即確認(rèn)該軟件設(shè)計(jì)是否表現(xiàn)出良好的質(zhì)量特征。各種選擇方案:看是否考慮過其他方案,比較各種選擇方案的標(biāo)準(zhǔn)是什么。限制:評(píng)估對(duì)該軟件的限制是否現(xiàn)實(shí),是否與需求一致。其他具體問題:對(duì)于文檔、可測(cè)試性、設(shè)計(jì)過程等等進(jìn)行評(píng)估。在這里需要特別注意:軟件系統(tǒng)的一些外部特性的設(shè)計(jì),例如軟件的功能、一部分性能、以及用戶的使用特性等,在軟件需求
23、分析階段就已經(jīng)開始。這些問題的解決,多少帶有一些“怎么做”的性質(zhì),因此有人稱之為軟件的外部設(shè)計(jì)。在詳細(xì)設(shè)計(jì)過程中需要完成的工作是:(1)確定軟件各個(gè)組成部分內(nèi)的算法以及各部分的內(nèi)部數(shù)據(jù)組織。(2)選定某種過程的表達(dá)形式來(lái)描述各種算法。(3)進(jìn)行詳細(xì)設(shè)計(jì)的評(píng)審軟件設(shè)計(jì)的最終目標(biāo)是要取得最佳方案?!白罴选笔侵冈谒泻蜻x方案中,就節(jié)省開發(fā)費(fèi)用,降低資源消耗,縮短開發(fā)時(shí)間的條件,選擇能夠贏得較高的生產(chǎn)率、較高的可靠性和可維護(hù)性的方案。在整個(gè)設(shè)計(jì)的過程中,各個(gè)時(shí)期的設(shè)計(jì)結(jié)果需要經(jīng)過一系列的設(shè)計(jì)質(zhì)量的評(píng)審,以便及時(shí)發(fā)現(xiàn)和及時(shí)解決在軟件設(shè)計(jì)中出現(xiàn)的問題,防止把問題遺留到開發(fā)的后期階段,造成后患。在評(píng)審以后,
24、必須針對(duì)評(píng)審中發(fā)現(xiàn)的問題,對(duì)設(shè)計(jì)的結(jié)果進(jìn)行必要的修改。4.2 軟件設(shè)計(jì)基礎(chǔ)4.2.1 自頂向下,逐步細(xì)化將軟件的體系結(jié)構(gòu)按自頂向下方式,對(duì)各個(gè)層次的過程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語(yǔ)言的語(yǔ)句能夠?qū)崿F(xiàn)為止,從而最后確立整個(gè)的體系結(jié)構(gòu)。4.2.2 軟件結(jié)構(gòu)軟件的結(jié)構(gòu)包括兩部分。其一為程序模塊的層次結(jié)構(gòu),其二為數(shù)據(jù)的結(jié)構(gòu)。通常,軟件的體系結(jié)構(gòu)通過一個(gè)劃分過程來(lái)完成。該劃分過程從需求分析確立的目標(biāo)系統(tǒng)的模型出發(fā),對(duì)整個(gè)問題進(jìn)行分割,使其每一部分用一個(gè)或幾個(gè)軟件成分加以解決,從而解決整個(gè)問題。對(duì)于同一組軟件需求,用不同的軟件設(shè)計(jì)方法,可能得到不同的軟件結(jié)構(gòu)。每一種方法都有自己特定的評(píng)優(yōu)準(zhǔn)則,但
25、對(duì)于使用不同的設(shè)計(jì)方法得到的軟件結(jié)構(gòu),很難回答哪一個(gè)更“好”些。只能通過一些結(jié)構(gòu)特征做簡(jiǎn)單的評(píng)價(jià)。4.2.3 程序結(jié)構(gòu)程序結(jié)構(gòu)表明了程序各模塊的組織情況,它通常是樹狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu),并蘊(yùn)含了在程序控制上的層次關(guān)系。但要注意的是,程序結(jié)構(gòu)是軟件的過程表示,但并未表明軟件的某些過程性特征。比如,軟件的動(dòng)態(tài)特性,在程序結(jié)構(gòu)中就未明確體現(xiàn)。(1)程序的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)由模塊連接而得到的程序結(jié)構(gòu)最普通的形式就是樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。在樹狀結(jié)構(gòu)中,位于最上層的根都是頂層模塊,它是程序的主模塊。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可以進(jìn)一步引出更下一層的下屬模塊。樹狀結(jié)構(gòu)的特點(diǎn)是:整個(gè)結(jié)構(gòu)只有一個(gè)頂層模塊
26、,而對(duì)于任何一個(gè)下屬模塊來(lái)說,它只有一個(gè)上級(jí)模塊,而且同一層模塊之司不發(fā)生聯(lián)系。在網(wǎng)狀結(jié)構(gòu)中,任意兩個(gè)模塊間都可以有雙向的關(guān)系。由于不存在上級(jí)模塊和下屬模塊的關(guān)系,也就分不出層次來(lái)。任何兩個(gè)模塊都是平等的,沒有從屬關(guān)系。網(wǎng)狀結(jié)構(gòu)十分復(fù)雜,處理起來(lái)會(huì)引起許多麻煩。在開發(fā)軟件的實(shí)踐中,通常采用樹狀結(jié)構(gòu),而不采用網(wǎng)狀結(jié)構(gòu)。(2)結(jié)構(gòu)圖(Structure Chart 簡(jiǎn)稱SC)結(jié)構(gòu)圖是精確表達(dá)程序結(jié)構(gòu)的圖形表示方法。它清楚地反映出程序中模塊目的層次調(diào)用關(guān)系和聯(lián)系:不僅嚴(yán)格地定義了各個(gè)模塊的名字、功能和接口,而且還反映了設(shè)計(jì)思想。即它以特定的符號(hào)表示模塊、模塊目的調(diào)用關(guān)系和模塊間信息的傳遞。結(jié)構(gòu)圖的主
27、要內(nèi)容有:1)模塊:在結(jié)構(gòu)圖中,模塊用矩形框表示,并用模塊的名字標(biāo)記它。模塊的名字應(yīng)當(dāng)能夠表明該模塊的功能。對(duì)于現(xiàn)成的模塊,則以雙縱邊矩形框表示。2)模塊的調(diào)用關(guān)系和接口:在結(jié)構(gòu)圖中,兩個(gè)模塊之間用單向箭頭聯(lián)結(jié)。箭頭從調(diào)用模塊指向所調(diào)用模塊,表示調(diào)用模塊調(diào)用了所調(diào)用模塊。但其中隱含了一層意思,就是執(zhí)行所調(diào)用模塊完成之后,控制又返回到調(diào)用模塊。3)模塊間的信息傳遞:當(dāng)一個(gè)模塊調(diào)用另一個(gè)模塊時(shí),調(diào)用模塊把數(shù)據(jù)或控制信息傳送給所調(diào)用模塊,以使所調(diào)用模塊能夠運(yùn)行。而在執(zhí)行所調(diào)用模塊的過程中又把它產(chǎn)生的數(shù)據(jù)或控制信息回送給調(diào)用模塊。為了表示在模塊之間傳遞的數(shù)據(jù)或控制信息,在聯(lián)結(jié)模塊的箭頭旁邊另給出短箭頭
28、,并且用尾端帶有空心圓的短箭頭表示數(shù)據(jù)信息,用尾端帶有實(shí)心圓的短箭頭表示控制信息。通常在短箭頭附近應(yīng)注有信息的名字。4)輔助符號(hào):當(dāng)模塊A有條件地調(diào)用另一個(gè)模塊B時(shí),在模塊A的箭頭尾部標(biāo)以一個(gè)菱形符號(hào)。當(dāng)一個(gè)模塊A反復(fù)地調(diào)用模塊C和模塊D時(shí),在調(diào)用箭頭尾部則標(biāo)以一個(gè)弧形符號(hào)。5)結(jié)構(gòu)圖的形態(tài)特征軟件系統(tǒng)的分層模塊結(jié)構(gòu)圖中,上級(jí)模塊調(diào)用下級(jí)模塊。它們之間存在主從關(guān)系,即自上而下“主宰”,自下而上“從屬”。而同一層的模塊之間沒有這種主從關(guān)系。結(jié)構(gòu)圖的深度:在多層次的結(jié)構(gòu)圖中,其模塊結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)圖的深度。結(jié)構(gòu)圖的深度在一定意義上反映了程序結(jié)構(gòu)的規(guī)模和復(fù)雜程度。結(jié)構(gòu)圖的寬度:結(jié)構(gòu)圖中同一層模塊
29、的最大模塊數(shù)稱為結(jié)構(gòu)圖的寬度模塊的扇入和扇出:扇出表示一個(gè)模塊直接調(diào)用(或控制)的其他模塊數(shù)目。扇入則定義為調(diào)用(或控制)一個(gè)給定模塊的模塊個(gè)數(shù)。多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊。4.2.4 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的各個(gè)元素之間的邏輯關(guān)系的一種表示。因?yàn)樾畔⒌慕Y(jié)構(gòu)總要影響最終的過程設(shè)計(jì),所以在軟件結(jié)構(gòu)的設(shè)計(jì)中,數(shù)據(jù)結(jié)構(gòu)與程序結(jié)構(gòu)同等重要。數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)應(yīng)確定數(shù)據(jù)的組織、存取方式、相關(guān)程度、以及信息的不同處理方法。4.2.5 軟件過程軟件過程著重描述各個(gè)模塊的處理細(xì)節(jié)。軟件過程必須提供精確的處理說明,包括事件的順序、正確的判定點(diǎn)、重復(fù)的操作直至數(shù)據(jù)的組織和結(jié)構(gòu)等
30、等。軟件過程遵從程序結(jié)構(gòu)的主從關(guān)系,它也是層次化的。4.2.6 模塊化軟件系統(tǒng)的層次結(jié)構(gòu)正是模塊化的具體體現(xiàn)。將整個(gè)軟件劃分成若干單獨(dú)命名和可編址的部分,稱之為模塊??梢詫⑦@些模塊組裝起來(lái)以滿足整個(gè)問題的需求。如果把一個(gè)大而復(fù)雜的問題分解成一些易于處理的小問題后,解決起來(lái)就會(huì)容易得多。這是模塊化的依據(jù)。如果模塊是相互獨(dú)立的,當(dāng)模塊變得越小,每個(gè)模塊的內(nèi)部結(jié)構(gòu)就變得越簡(jiǎn)單,花費(fèi)的工作量也越低。那么,把模塊逐漸地分小,它所需要的工作量將逐漸變??;但當(dāng)模塊數(shù)增加時(shí),模塊間的聯(lián)系也隨之增加,把這些模塊聯(lián)接起來(lái)的工作量也隨之增加。一般存在一個(gè)模塊個(gè)數(shù)M,它使得總的開發(fā)成本達(dá)到最小。4.2.7 抽象化對(duì)軟
31、件系統(tǒng)進(jìn)行模塊設(shè)計(jì)的時(shí)候,可以有不同的抽象層次。在最高的抽象層次上,可以使用問題所處環(huán)境的語(yǔ)言概括地描述問題的解法。而在較低的抽象層次上,則采用過程化的方法。但最后在最低的抽象層次上,應(yīng)使用能夠直接實(shí)現(xiàn)的方式來(lái)描述這個(gè)解法。4.2.8 信息隱蔽信息隱蔽是指,每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其他模塊來(lái)說是隱蔽的。即模塊中所包含的信息(包括數(shù)據(jù)和過程)不允許其他不需要這些信息的模塊使用。4.3 模塊的獨(dú)立性4.3.1 模塊 (Module)一個(gè)大而復(fù)雜的軟件系統(tǒng),也可以根據(jù)其功能,劃分成許多較小的單元,或較小的程序,這些較小的單元就是模塊。模塊具有三個(gè)基本屬性:(1)功能:即指該模塊實(shí)現(xiàn)什么功能。(2)邏輯
32、:即描述模塊內(nèi)部怎么做。(3)狀態(tài):即該模塊使用時(shí)的環(huán)境和條件。4.3.2 模塊獨(dú)立性 (Module Independence)模塊的獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他的模塊的接口是簡(jiǎn)單的。一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性。即模塊間的耦合和模塊的內(nèi)聚。4.3.3 耦合性 (Coupling)耦合是模塊之間的相對(duì)獨(dú)立性(互相連接的緊密程度)的度量。模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其模塊獨(dú)立性就越弱。4.3.4 內(nèi)聚性 (Cohesion)內(nèi)聚是模塊功能強(qiáng)度(一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度)的度量。一個(gè)模塊內(nèi)部各個(gè)元素之間的聯(lián)系越緊
33、密,則它的內(nèi)聚性就越高。4.4 結(jié)構(gòu)化設(shè)計(jì)方法 (Structured Design,SD)結(jié)構(gòu)化設(shè)計(jì)方法是基于模塊化、自頂向下逐層細(xì)化、結(jié)構(gòu)化程序設(shè)計(jì)等程序設(shè)計(jì)技術(shù)基礎(chǔ)上發(fā)展起來(lái)的。該方法實(shí)施的要點(diǎn)是:(1)首先研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說明中弄清數(shù)據(jù)流加工的過程。(2)然后根據(jù)數(shù)據(jù)流圖決定問題的類型。數(shù)據(jù)處理問題典型的類型有兩種:變換型和事務(wù)型。針對(duì)兩種不同的類型分別進(jìn)行分析處理。(3)由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。(4)利用一些試探性原則來(lái)改進(jìn)系統(tǒng)的初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。(5)修改和補(bǔ)充數(shù)據(jù)詞典。(6)制定測(cè)試計(jì)劃。結(jié)構(gòu)化設(shè)計(jì)可以很方便地將用數(shù)據(jù)流
34、圖表示的信息轉(zhuǎn)換成程序結(jié)構(gòu)的設(shè)計(jì)描述。4.5 數(shù)據(jù)設(shè)計(jì)及文件設(shè)計(jì)4.5.1 數(shù)據(jù)設(shè)計(jì)的原則(1)用于軟件的系統(tǒng)化方法也適用于數(shù)據(jù)。(2)要確定所有的數(shù)據(jù)結(jié)構(gòu)和在每種數(shù)據(jù)結(jié)構(gòu)上施加的操作。(3)應(yīng)當(dāng)建立一個(gè)數(shù)據(jù)詞典并用它來(lái)定義數(shù)據(jù)和軟件的設(shè)計(jì)。(4)低層數(shù)據(jù)設(shè)計(jì)的決策應(yīng)推遲到設(shè)計(jì)過程的后期進(jìn)行。(5)數(shù)據(jù)結(jié)構(gòu)的表示只限于那些必須直接使用該數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)的模塊才能知道。(6)應(yīng)當(dāng)建立一個(gè)存放有效數(shù)據(jù)結(jié)構(gòu)及相關(guān)操作的庫(kù)。(7)軟件設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言應(yīng)當(dāng)支持抽象數(shù)據(jù)類型的定義和實(shí)現(xiàn)。4.5.2 在設(shè)計(jì)程序結(jié)構(gòu)時(shí)數(shù)據(jù)結(jié)構(gòu)的選擇方法數(shù)據(jù)結(jié)構(gòu)的選擇應(yīng)使程序的控制結(jié)構(gòu)簡(jiǎn)潔,即必須減少需要的存儲(chǔ)容量和執(zhí)行時(shí)間。
35、存儲(chǔ)容量=需要的數(shù)據(jù)區(qū)容量+要求的執(zhí)行命令區(qū)容量執(zhí)行命令區(qū)容量=程序的執(zhí)行命令行數(shù)*目標(biāo)轉(zhuǎn)換率*平均指令長(zhǎng)度目標(biāo)轉(zhuǎn)換率,即一行源程序相當(dāng)于多少行目標(biāo)代碼。4.5.3 文件設(shè)計(jì)文件設(shè)計(jì)是指數(shù)據(jù)存儲(chǔ)文件設(shè)計(jì),其主要工作就是根據(jù)使用要求、處理方式、存儲(chǔ)的信息量、數(shù)據(jù)的活動(dòng)性,以及所能提供的設(shè)備條件等,來(lái)確定文件類別,選擇文件媒體,決定文件組織方法,設(shè)計(jì)文件記錄格式,并估算文件的容量。4.6 過程設(shè)計(jì)過程設(shè)計(jì)也叫做詳細(xì)設(shè)計(jì)或程序設(shè)計(jì),它不同于編碼或編寫程序。在過程設(shè)計(jì)階段,要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。表達(dá)過程規(guī)格說明的工具叫做詳細(xì)設(shè)計(jì)工具,它可以分為以下三類:圖形工具:把過程的細(xì)節(jié)
36、用圖形方式描述出來(lái)。表格工具:用一張表來(lái)表達(dá)過程的細(xì)節(jié)。這張表列出了各種可能的操作及其相應(yīng)的條件。即描述了輸入、處理和輸出信息。語(yǔ)言工具:用某種類高級(jí)語(yǔ)言(偽碼)來(lái)描述過程的細(xì)節(jié)。4.6.1 程序流程圖 (Program Flow Chart)程序流程圖也稱為程序框圖。五種基本控制結(jié)構(gòu):(1)順序型(2)選擇型(3)先判定(while)型循環(huán)(4)后判定(until)型循環(huán)(5)多情況(case)型選擇 4.6.2 N-S 圖一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,叫做盒圖,也叫做N-S圖。4.6.3 PAD (Problem Analysis Diagram)PAD是用結(jié)構(gòu)化程序設(shè)計(jì)思想表
37、現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。4.6.4 判定表能清晰表達(dá)復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系的邏輯表。4.6.5 PDL (Program Design Language)PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言。是一種偽碼。一般地,偽碼的語(yǔ)法規(guī)則分為“外語(yǔ)法”和“內(nèi)語(yǔ)法”。外語(yǔ)法符合一般程序設(shè)計(jì)語(yǔ)言常用語(yǔ)句的語(yǔ)法規(guī)則;內(nèi)語(yǔ)法可以用英語(yǔ)中一些簡(jiǎn)單的句子、短語(yǔ)和通用的數(shù)學(xué)符號(hào)來(lái)描述程序應(yīng)執(zhí)行的功能。軟件工程第五章學(xué)習(xí)輔導(dǎo) 數(shù)據(jù)是軟件的重要組成部分。在許多應(yīng)用領(lǐng)域中,問題的結(jié)構(gòu)層次清楚,輸入數(shù)據(jù)、輸出數(shù)據(jù)和內(nèi)部存儲(chǔ)信息的數(shù)據(jù)結(jié)構(gòu)都有一定的結(jié)構(gòu)關(guān)系,面向數(shù)據(jù)結(jié)構(gòu)的分析與設(shè)計(jì)方法就是利用
38、這些結(jié)構(gòu)作為軟件開發(fā)的基礎(chǔ)。Jackson系統(tǒng)開發(fā)(JSD,Jackson System Development)方法是一種典型的面向數(shù)據(jù)結(jié)構(gòu)的分析和設(shè)計(jì)方法。早期的Jackson方法用于小系統(tǒng)的設(shè)計(jì),稱之為Jackson結(jié)構(gòu)程序設(shè)計(jì)方法,簡(jiǎn)稱JSP方法。它是按輸入、輸出和內(nèi)部信息的數(shù)據(jù)結(jié)構(gòu)進(jìn)行軟件設(shè)計(jì)的,即把數(shù)據(jù)結(jié)構(gòu)的描述映射成程序結(jié)構(gòu)描述。若數(shù)據(jù)結(jié)構(gòu)內(nèi)有重復(fù)子結(jié)構(gòu),則對(duì)應(yīng)程序一定有循環(huán);若數(shù)據(jù)結(jié)構(gòu)有選擇性子結(jié)構(gòu),則對(duì)應(yīng)程序一定有判定,以此揭示數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)之間的內(nèi)在關(guān)系,設(shè)計(jì)出反映數(shù)據(jù)結(jié)構(gòu)的程序結(jié)構(gòu)。但是,當(dāng)把JSP方法用于大系統(tǒng)設(shè)計(jì)時(shí):就會(huì)出現(xiàn)大量復(fù)雜的難以對(duì)付的結(jié)構(gòu)沖突。因此,促使
39、Jackson提出了JSD方法,即Jackson系統(tǒng)開發(fā)方法。JSD方法以活動(dòng)(即事件)為中心,一連串活動(dòng)的順序組合構(gòu)成進(jìn)程。系統(tǒng)模型抽象為一組以通信方式互相聯(lián)系的進(jìn)程。5.1 進(jìn)程模型在許多情況下,從現(xiàn)實(shí)世界的活動(dòng)抽象而形成系統(tǒng)模型時(shí),時(shí)序往往是一個(gè)必須要考慮的重要因素。每一個(gè)活動(dòng)的發(fā)生必須遵守一定的時(shí)間順序。因此,在相應(yīng)的系統(tǒng)模型抽象中,自然也就必須要關(guān)注到這些活動(dòng)發(fā)生的先后次序。進(jìn)程就是依一定次序安排的一串活動(dòng)。JSD的系統(tǒng)模型是互相通信的一組進(jìn)程的集合。進(jìn)程間的通信可采用三種方式:(1)進(jìn)程活動(dòng)同步發(fā)生。(2)通過數(shù)據(jù)流通道發(fā)送/接收活動(dòng)發(fā)生。(3)訪問公用存儲(chǔ)信息。這樣建立的JSD進(jìn)
40、程模型不能直接在計(jì)算機(jī)上運(yùn)行,因?yàn)榭赡艹霈F(xiàn)太多的進(jìn)程和太長(zhǎng)的進(jìn)程生存期,會(huì)使系統(tǒng)模擬無(wú)法實(shí)現(xiàn)。因此,需要確認(rèn)模型,預(yù)先提出一些初始條件,把系統(tǒng)模型控制在一定限度的范圍,便之能夠有效地在計(jì)算機(jī)上運(yùn)行。5.2 JSD方法的步驟JSD方法實(shí)際上是支持軟件分析與設(shè)計(jì)的一組連續(xù)的技術(shù)步驟:(1)實(shí)體動(dòng)作分析:從問題的描述中,提取軟件系統(tǒng)要產(chǎn)生和運(yùn)用的實(shí)體(人、物或組織),以及現(xiàn)實(shí)世界作用于實(shí)體上的動(dòng)作(事件)。(2)實(shí)體結(jié)構(gòu)分析:把作用于實(shí)體的動(dòng)作或由實(shí)體執(zhí)行的動(dòng)作,按時(shí)間發(fā)生的先后次序排序,構(gòu)成進(jìn)程,并用一個(gè)層狀的Jackson結(jié)構(gòu)圖表示。(3)定義初始模型:把實(shí)體和動(dòng)作表示成一個(gè)進(jìn)程模型,定義模型與
41、現(xiàn)實(shí)世界的聯(lián)系。模型系統(tǒng)的規(guī)格說明可用系統(tǒng)規(guī)格說明圖(SSD,System Specification Diagram)來(lái)表示。(4)功能描述:說明與已定義的動(dòng)作相對(duì)應(yīng)的功能,為已定義的動(dòng)作加入功能函數(shù)。(5)決定系統(tǒng)時(shí)間特性:對(duì)進(jìn)程加入時(shí)間因素,對(duì)進(jìn)程調(diào)度特性進(jìn)行評(píng)價(jià)和說明。(6)實(shí)現(xiàn):設(shè)計(jì)組成系統(tǒng)的硬件和軟件,實(shí)現(xiàn)系統(tǒng)的原型。JSD方法的前三步屬于需求分析階段,后三步屬于設(shè)計(jì)階段。5.3 實(shí)體動(dòng)作分析分析實(shí)體的動(dòng)作,需要從一段用簡(jiǎn)單的自然語(yǔ)言給出的問題描述(通常是一個(gè)段落)入手。當(dāng)選定了實(shí)體和動(dòng)作的時(shí)候,實(shí)際上已經(jīng)把要開發(fā)系統(tǒng)的范圍劃定了。5.4 實(shí)體結(jié)構(gòu)分析在JSD方法中,實(shí)體的結(jié)構(gòu)通過
42、在一段時(shí)間內(nèi)的動(dòng)作來(lái)描述實(shí)體的歷史情況。 5.5 定義初始模型以上兩步只是現(xiàn)實(shí)世界的一種抽象描述,完成的工作計(jì)有,選定實(shí)體和動(dòng)作,并用結(jié)構(gòu)圖建立了他們之目的關(guān)系。這一步則要對(duì)系統(tǒng)構(gòu)造規(guī)格說明,使其成為現(xiàn)實(shí)世界的模型。規(guī)格說明可用系統(tǒng)規(guī)格說明圖(SSD)表示。5.6 功能描述Jackson系統(tǒng)開發(fā)方法中功能描述的目的是利用數(shù)據(jù)流連接和狀態(tài)向量連接,把已定義的功能進(jìn)程連接到系統(tǒng)模型進(jìn)程,從而擴(kuò)充系統(tǒng)規(guī)格說明圖。在Jackson系統(tǒng)開發(fā)方法中定義了三種功能:(1)嵌入功能:此功能把操作分配(或?qū)懭?到模型進(jìn)程的結(jié)構(gòu)正文內(nèi)。(2)強(qiáng)制功能,此功能檢查模型進(jìn)程的狀態(tài)向量,并給出輸出結(jié)果。(3)交互功能:
43、此功能檢查模型進(jìn)程的狀態(tài)向量,寫入一個(gè)施加于模型進(jìn)程活動(dòng)的數(shù)據(jù)流,或引入一個(gè)寫出結(jié)果的操作。功能進(jìn)程的輸出就是系統(tǒng)的輸出,可以是報(bào)告、對(duì)硬件設(shè)備的命令、或者任何其他的輸出信息。5.7 決定系統(tǒng)時(shí)間特性在這個(gè)JSD步驟中,設(shè)計(jì)人員將定義系統(tǒng)的時(shí)間限制。前幾步設(shè)計(jì)步驟已建立了一個(gè)由順序的進(jìn)程組成的系統(tǒng),而在此系統(tǒng)中的順序的進(jìn)程則通過數(shù)據(jù)流及直接檢查狀態(tài)向量進(jìn)行通信。進(jìn)程的相對(duì)調(diào)度將是不確定的。一種能夠用于同步進(jìn)程的機(jī)制叫做時(shí)間間隔標(biāo)志(Time Grain Marker,簡(jiǎn)稱TGM)。它是一個(gè)數(shù)據(jù)記錄,表明一個(gè)特別時(shí)間間隔的存在。5.8 實(shí)現(xiàn)用JSP方法得到的程序或進(jìn)程結(jié)構(gòu)圖,一般都需要求精和優(yōu)化
44、。因?yàn)檫@種方法是從輸入輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)圖,因此有些中間處理過程在結(jié)構(gòu)圖中反映不出來(lái)。在求精過程中,可以對(duì)結(jié)構(gòu)圖進(jìn)行改進(jìn)和細(xì)化,使之完整和易于實(shí)現(xiàn)。軟件工程第六章學(xué)習(xí)輔導(dǎo) 軟件的用戶界面作為人機(jī)接口起著越來(lái)越重要的作用。它的好壞直接影響到軟件的壽命。具有友好用戶界面的軟件對(duì)于用戶來(lái)說,無(wú)疑是一種享受。用戶會(huì)毫不猶豫地選擇它,即使另一個(gè)軟件可能在功能、性能方面與它類似。6.1 用戶界面應(yīng)具備的特性用戶界面,作為軟件的重要組成部分,應(yīng)當(dāng)具備以下三方面的特性。6.1.1 可使用性用戶界面的可使用性是用戶界面設(shè)計(jì)最重要的也是最基本的目標(biāo)。它包括:(1)使用的簡(jiǎn)單性:用戶界面應(yīng)能方便地處理各種經(jīng)常
45、進(jìn)行的交互對(duì)話。問題的輸入格式應(yīng)當(dāng)易于理解,附加的信息量少;能直接處理指定媒體上的信息和數(shù)據(jù),且自動(dòng)化程度高;操作簡(jiǎn)便;能按用戶要求的表格或圖形輸出,或反饋計(jì)算結(jié)果到用戶指定的媒體上。(2)用戶界面中所用術(shù)語(yǔ)的標(biāo)準(zhǔn)化和一致性:所有專業(yè)術(shù)語(yǔ)都應(yīng)標(biāo)準(zhǔn)化;軟件技術(shù)用語(yǔ)應(yīng)符合軟件工程規(guī)范;應(yīng)用領(lǐng)域的術(shù)語(yǔ)應(yīng)符合軟件面向?qū)I(yè)的專業(yè)標(biāo)準(zhǔn);在輸入、輸出說明里,同一術(shù)語(yǔ)的涵義應(yīng)完全一致。(3)擁有HELP幫助功能:用戶應(yīng)能從HELP功能中獲知軟件系統(tǒng)的所有規(guī)格說明和各種操作命令的用法,HELP功能應(yīng)能聯(lián)機(jī)調(diào)用,為用戶隨時(shí)提供幫助信息。(4)快速的系統(tǒng)響應(yīng)和低的系統(tǒng)成本:在使用較多硬件設(shè)備并與許多其他軟件系統(tǒng)聯(lián)結(jié)
46、時(shí),會(huì)引入較大的系統(tǒng)開銷。用戶界面應(yīng)在此情況下有較快的響應(yīng)速度和較小的系統(tǒng)開銷。(5)用戶界面應(yīng)具有容錯(cuò)能力:即應(yīng)當(dāng)具有錯(cuò)誤診斷、修正錯(cuò)誤以及出錯(cuò)保護(hù)的功能。6.1.2 靈活性(1)考慮到用戶的特點(diǎn)、能力、知識(shí)水平,應(yīng)當(dāng)使用戶界面能夠滿足不同用戶的要求。因此,對(duì)不同的用戶,應(yīng)有不同的界面形式。其運(yùn)行抉擇和涉及到的復(fù)雜算法對(duì)初學(xué)者可以是隱蔽的,他們可以不考慮抉擇和算法問題而正常使用這個(gè)軟件;但對(duì)于高級(jí)用戶,可保留實(shí)施運(yùn)行抉擇和選擇算法的權(quán)利。(2)用戶可以根據(jù)需要制定和修改界面方式。在需要修改和擴(kuò)充系統(tǒng)功能的情形下,能夠提供動(dòng)態(tài)的對(duì)話方式,如修改命令、設(shè)置動(dòng)態(tài)的菜單等等。(3)系統(tǒng)能夠按照用戶的
47、希望和需要,提供不同詳細(xì)程度的系統(tǒng)響應(yīng)信息,包括反饋信息、提示信息、幫助信息、出錯(cuò)信息等等。(4)與其他軟件系統(tǒng)應(yīng)有標(biāo)準(zhǔn)的界面。6.1.3 復(fù)雜性和可靠性(1)用戶界面的復(fù)雜性:用戶界面的規(guī)模和組織的復(fù)雜程度就是界面的復(fù)雜性。在完成預(yù)定功能的前提下,應(yīng)當(dāng)使得用戶界面越簡(jiǎn)單越好。但也不是把所有功能和界面安排成線性序列就一定簡(jiǎn)單。(2)用戶界面的可靠性:用戶界面的可靠性是指無(wú)故障使用的間隔時(shí)間。用戶界面應(yīng)能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。6.2 用戶界面設(shè)計(jì)的任務(wù)分析這一部分工作應(yīng)與軟件系統(tǒng)的需求分析同步進(jìn)行。它包括用戶特性分析、用戶工作分析、記錄用戶有關(guān)系統(tǒng)的概念和術(shù)語(yǔ)
48、、確定界面類型等4個(gè)步驟。用戶界面是適應(yīng)人的需要而建立的,因此,首先需要弄清的是什么類型的用戶將要使用這個(gè)界面。用戶特性分析的目的是要詳細(xì)了解所有用戶的技能和經(jīng)驗(yàn),以便能夠預(yù)測(cè)他們對(duì)不同的界面設(shè)計(jì)會(huì)做出什么反應(yīng),針對(duì)用戶的能力設(shè)計(jì)或更改界面。(1)用戶類型:通常,用戶可以分為4種類型。1)外行型:從未用過計(jì)算機(jī)的用戶。他們不熟悉計(jì)算機(jī)操作,對(duì)系統(tǒng)很少或毫無(wú)認(rèn)識(shí)。2)初學(xué)型:對(duì)計(jì)算機(jī)有一些經(jīng)驗(yàn),但對(duì)新系統(tǒng)不熟悉的用戶。他們需要相當(dāng)多的支持。3)熟練型:對(duì)一個(gè)系統(tǒng)有相當(dāng)多的經(jīng)驗(yàn),能夠熟練操作的用戶。他們需要比初學(xué)者較少支持的、可直接迅速進(jìn)入運(yùn)行的、經(jīng)濟(jì)的界面。但是,熟練型的用戶不了解系統(tǒng)內(nèi)部結(jié)構(gòu),
49、因此,們不能糾正意外錯(cuò)誤,不能擴(kuò)充系統(tǒng)能力,但他們擅長(zhǎng)操作一個(gè)或多個(gè)任務(wù)。4)專家型:這一類用戶與熟練型用戶相比,他們了解系統(tǒng)內(nèi)部的構(gòu)造,有關(guān)于系統(tǒng)工作機(jī)制的專業(yè)知識(shí),具有維護(hù)和修改基本系統(tǒng)的能力。專家型要求為他們提供能夠修改和擴(kuò)充系統(tǒng)能力的復(fù)雜的界面。(2)用戶特性度量用戶特性的度量與期望的用戶使用模式及用戶群體能力有關(guān)。主要的衡量標(biāo)準(zhǔn)如下:1)用戶使用的頻度:即系統(tǒng)是否經(jīng)常使用。如果系統(tǒng)不經(jīng)常使用,或者使用的間隔時(shí)間比較長(zhǎng),就需要一個(gè)有更多幫助的用戶界面。2)用戶需要自由選用界面的情況:系統(tǒng)功能的使用,可以是強(qiáng)制的,也可以是自由選擇的。因此,所有的界面都應(yīng)當(dāng)是良好的,對(duì)于可能自由選用的界面
50、,就更應(yīng)當(dāng)使用戶使用方便,更具吸引力。3)用戶對(duì)計(jì)算機(jī)的熟悉程度:多數(shù)用戶具有一些計(jì)算機(jī)的使用經(jīng)驗(yàn),但程度不同。對(duì)計(jì)算機(jī)的熟悉程度決定了要使用戶達(dá)到熟練程度需要多少訓(xùn)練。4)用戶知識(shí):有些用戶已有相當(dāng)多的計(jì)算機(jī)編程和操作的知識(shí)。這些專家型用戶有能力擴(kuò)展一個(gè)系統(tǒng)與其界面的功能,因此,他們需要一種靈活的可編程的或命令語(yǔ)言的界面以滿足他們的要求。5)用戶思維能力:這是對(duì)用戶的綜合知識(shí)和智力的衡量。用于判斷用戶能自行處理的界面的復(fù)雜程度,以及能期望用戶學(xué)到多少有關(guān)界面的知識(shí)。6)用戶的生理能力和技能:用戶群體的生理特征主要是指人的視覺、聽覺、認(rèn)知及記憶等方面的特點(diǎn)。因此,應(yīng)該在這一方面去收集信息。特別
51、在設(shè)計(jì)中出現(xiàn)新的設(shè)備和工作環(huán)境時(shí),更需要考慮如何去滿足用戶的要求。有關(guān)的技能包括鼠標(biāo)、鍵盤、光筆等的使用技能等。用戶群體的度量可以用打分的辦法來(lái)簡(jiǎn)單地度量。平均值反映用戶群體的平均特性,而標(biāo)準(zhǔn)偏差反映用戶群體的差異大小,主要用于判斷用戶界面對(duì)不同類型的用戶的適應(yīng)范圍。6.2.2 用戶工作分析用戶工作分析,也稱為任務(wù)分析。它是系統(tǒng)內(nèi)部活動(dòng)的分解。用戶工作分析與需求分析中結(jié)構(gòu)化分析的方法類似,采用自頂向下,逐步進(jìn)行功能分解。與常規(guī)的功能分解不同的是,所有的系統(tǒng)任務(wù),包括與人相關(guān)的活動(dòng),都要考慮在內(nèi)。系統(tǒng)的功能分解,可以用數(shù)據(jù)流圖和數(shù)據(jù)詞典描述。其中,每一個(gè)加工相當(dāng)于一個(gè)功能,也就是一個(gè)任務(wù)。任務(wù)可
52、以由一組動(dòng)作構(gòu)成,它們規(guī)定了為實(shí)現(xiàn)該任務(wù)所必須的一系列活動(dòng)。任務(wù)的細(xì)節(jié)可以使用結(jié)構(gòu)化英語(yǔ)來(lái)表達(dá)。它描述了動(dòng)作完成的序列及在完成動(dòng)作時(shí)的所有例外情況。6.2.3 用戶模型和觀點(diǎn)(1)用戶模型與用戶觀點(diǎn)建立用戶的思維模型,是為了幫助建立設(shè)計(jì)者界面模型。通常有以下幾種:1)理論認(rèn)知模型:由心理學(xué)家建立的模型,目的是要了解人的思維過程。2)用戶知識(shí)模型:該模型是想捕捉一定范疇內(nèi)的知識(shí)以及類型之間的聯(lián)系。模型由每個(gè)用戶的知識(shí)來(lái)建立,用遍歷知識(shí)網(wǎng)絡(luò)的方法來(lái)評(píng)價(jià)用戶如何學(xué)習(xí)。在自適應(yīng)的界面中,模型根據(jù)計(jì)劃和步驟來(lái)描述用戶的知識(shí),這些模型被編入網(wǎng)絡(luò)中。3)用戶特性模型:這些模型主要依據(jù)在此節(jié)所描述的技能和能力
53、對(duì)用戶進(jìn)行分類,它們也被稱為用戶外觀。4)用戶任務(wù)模型:指用戶根據(jù)任務(wù)的功能和操作次序,構(gòu)想該任務(wù)的概念。通過它,可以了解用戶知道多少有關(guān)系統(tǒng)操作的知識(shí),用戶期望系統(tǒng)應(yīng)當(dāng)如何工作等等。一個(gè)界面如果與用戶預(yù)想的實(shí)現(xiàn)、操作的想法一致,它就容易為用戶接受。5)用戶觀點(diǎn):指系統(tǒng)結(jié)構(gòu)的用戶模型。是用戶描述和設(shè)想現(xiàn)行系統(tǒng)結(jié)構(gòu)的方法,它可以用圖形化的方式表示,也可以用語(yǔ)言方式表示。用戶模型可以根據(jù)以往的對(duì)系統(tǒng)的了解和對(duì)相似的系統(tǒng)的知識(shí)來(lái)建立。當(dāng)初次接觸到一個(gè)系統(tǒng)時(shí),用戶模型可能不明確,但隨著經(jīng)驗(yàn)的積累,它就會(huì)健全完善起來(lái)。界面設(shè)計(jì)者的責(zé)任就是使界面盡可能與用戶原來(lái)的模型一致。如果原來(lái)沒有模型,那么就要給出一
54、個(gè)新的系統(tǒng)模型,并且使用戶盡可能容易地適應(yīng)新的系統(tǒng)模型。(2)任務(wù)模型任務(wù)模型包括靜態(tài)的和動(dòng)態(tài)的兩種。系統(tǒng)的靜態(tài)模型就是對(duì)象-關(guān)系模型,用于展現(xiàn)界面的結(jié)構(gòu)設(shè)計(jì);系統(tǒng)的動(dòng)態(tài)模型是對(duì)系統(tǒng)操作或與會(huì)話設(shè)計(jì)有關(guān)的對(duì)象的動(dòng)態(tài)行為的描述。模型由一些結(jié)構(gòu)組成,既要依據(jù)靜態(tài)的對(duì)象與其關(guān)系,又要依據(jù)活動(dòng)的過程順序。用戶模型還可以分為設(shè)計(jì)者的用戶模型和用戶期望的用戶模型。前者是設(shè)計(jì)者認(rèn)為的用戶對(duì)系統(tǒng)的期望,后者是用戶對(duì)系統(tǒng)的期望。必須使它們一致起來(lái)。6.3 用戶界面任務(wù)和工作設(shè)計(jì)任務(wù)和工作設(shè)計(jì)的目的在于創(chuàng)造用戶的工作環(huán)境。通常,任務(wù)應(yīng)組織得與人的能力相適應(yīng)。既不能完全由非常復(fù)雜的步驟組成,也不能太過簡(jiǎn)單而使操作者
55、感到厭煩。從理論上講,任務(wù)的組織應(yīng)當(dāng)能夠給用戶提供發(fā)揮他們的才能的機(jī)會(huì),而不是超出他們的能力。6.3.1 任務(wù)分配在每個(gè)任務(wù)中,動(dòng)作要分配給計(jì)算機(jī)、用戶或者二者。一般地,用戶承擔(dān)需要?jiǎng)?chuàng)造、判斷和探索的任務(wù),而計(jì)算機(jī)承擔(dān)重復(fù)檢查、計(jì)算和數(shù)據(jù)處理的任務(wù)。數(shù)據(jù)錄入、數(shù)據(jù)恢復(fù)和決策支持則是混合任務(wù)。這些混合的任務(wù)需要通過人和計(jì)算機(jī)交互來(lái)共同完成,因此需要進(jìn)一步細(xì)化,以確定人和計(jì)算機(jī)怎樣組成。6.3.2 方式和工作設(shè)計(jì)工作方式有兩種,(1)由一個(gè)人單獨(dú)完成一個(gè)系統(tǒng)的目標(biāo)。(2)任務(wù)進(jìn)展跟蹤。確定命令在系統(tǒng)中什么地方、確定關(guān)鍵的延遲命令、調(diào)查拖延的原因、提出解決的建議等。6.4 界面設(shè)計(jì)的基本類型6.4.
56、1 界面設(shè)計(jì)類型如果從用戶與計(jì)算機(jī)交互的角度來(lái)看,用戶界面設(shè)計(jì)的類型主要有問題描述語(yǔ)言、數(shù)據(jù)表格、圖形與圖標(biāo)、菜單、對(duì)話、以及窗口等等。每一種類型都有不同的特點(diǎn)和性能。在選用界面形式的時(shí)候,應(yīng)當(dāng)考慮每種類型的優(yōu)點(diǎn)和限制。從幾方面來(lái)考察、抉擇:使用的難易程度:對(duì)于沒有經(jīng)驗(yàn)的用戶,該界面使用的難度有多大。學(xué)習(xí)的難易程度:學(xué)習(xí)該界面的命令和功能的難度有多大。操作速度:在完成一個(gè)指定操作時(shí),該界面在操作步驟、擊鍵和反應(yīng)時(shí)間等方面效率有多高。復(fù)雜程度:該界面提供了什么功能、能否用新的方式組合這些功能以增強(qiáng)界面功能??刂疲喝藱C(jī)交互時(shí),是由計(jì)算機(jī)還是由人發(fā)起和控制對(duì)話。開發(fā)的難易程度:該界面設(shè)計(jì)是否有難度、開發(fā)工作量有多大。通常,一個(gè)界面的設(shè)計(jì)使用了一種以上的設(shè)計(jì)類型,每種類型與一個(gè)或一組任務(wù)相匹配。6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中物理第十三章光綜合測(cè)試本章整合提升課件新人教版選修3-
- Windows Server網(wǎng)絡(luò)管理項(xiàng)目教程(Windows Server 2022)(微課版)2.4 安裝活動(dòng)目錄的必要條件
- 高中物理第十三章光2全反射課時(shí)作業(yè)課件新人教版選修3-
- 語(yǔ)法復(fù)習(xí)教學(xué)設(shè)計(jì)
- 豐田生產(chǎn)模式培訓(xùn)教材圖文
- 2024至2030年中國(guó)往復(fù)式低溫液體泵行業(yè)投資前景及策略咨詢研究報(bào)告
- 2010-2012年羥乙基纖維素行業(yè)市場(chǎng)研究與競(jìng)爭(zhēng)力分析報(bào)告
- 零陵卷煙廠兩退人員需求調(diào)查報(bào)告書
- 2024至2030年中國(guó)多媒體教學(xué)控制臺(tái)行業(yè)投資前景及策略咨詢研究報(bào)告
- 2024至2030年中國(guó)壓線針式母頭數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 區(qū)塊鏈應(yīng)用操作員三級(jí)(高級(jí))試題
- 公文寫作與處理知識(shí)點(diǎn)匯總
- BIM技術(shù)在建筑行業(yè)的應(yīng)用與優(yōu)勢(shì)PPT
- 民事起訴狀(食品安全)律師擬定版本
- 管路沿程阻力測(cè)定實(shí)驗(yàn)報(bào)告
- 城管占道挖掘施工方案
- 施檢表灌砂法測(cè)定壓實(shí)度試驗(yàn)記錄表
- 《GMP實(shí)務(wù)教程》 完整全套教學(xué)課件 項(xiàng)目1-14 GMP基礎(chǔ)知識(shí)-藥品生產(chǎn)行政檢查
- (完整word)絕緣子試驗(yàn)報(bào)告
- 房屋租賃交接家私清單
- 腎內(nèi)科疑難病例討論慢性腎臟病5期
評(píng)論
0/150
提交評(píng)論