軟件工程第4章-設(shè)計(jì)工程_第1頁(yè)
軟件工程第4章-設(shè)計(jì)工程_第2頁(yè)
軟件工程第4章-設(shè)計(jì)工程_第3頁(yè)
軟件工程第4章-設(shè)計(jì)工程_第4頁(yè)
軟件工程第4章-設(shè)計(jì)工程_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程第4章設(shè)計(jì)工程內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審2內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審3軟件設(shè)計(jì)工程概述軟件需求分析解決“做什么”的問(wèn)題,軟件設(shè)計(jì)過(guò)程則解決“怎么做”的問(wèn)題,是需求分析轉(zhuǎn)化為實(shí)際的軟件系統(tǒng)最重要的環(huán)節(jié)軟件設(shè)計(jì)是把軟件需求變換成軟件表示的過(guò)程,它主要包含兩個(gè)階段:軟件體系結(jié)構(gòu)設(shè)計(jì)階段和部件級(jí)設(shè)計(jì)

4軟件設(shè)計(jì)的任務(wù)進(jìn)行數(shù)據(jù)/類(lèi)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)、部件級(jí)設(shè)計(jì)5數(shù)據(jù)/類(lèi)設(shè)計(jì):將需求變換成軟件實(shí)現(xiàn)所需要的數(shù)據(jù)結(jié)構(gòu)體系結(jié)構(gòu)設(shè)計(jì):體系結(jié)構(gòu)設(shè)計(jì)定義了軟件的整體結(jié)構(gòu)接口設(shè)計(jì):接口設(shè)計(jì)描述了軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件同人之間如何通信部件級(jí)設(shè)計(jì):部件級(jí)設(shè)計(jì)將軟件體系結(jié)構(gòu)的結(jié)構(gòu)性元素變換為對(duì)軟件部件的過(guò)程性描述6數(shù)據(jù)/類(lèi)設(shè)計(jì)數(shù)據(jù)/類(lèi)設(shè)計(jì)轉(zhuǎn)換為相應(yīng)的類(lèi)或者數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)表示體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)定義了軟件的整體結(jié)構(gòu)7接口設(shè)計(jì)接口設(shè)計(jì)主要包括三個(gè)方面:設(shè)計(jì)軟件模塊間的接口設(shè)計(jì)模塊和其他非人的信息生產(chǎn)者和消費(fèi)者(比如外部實(shí)體)之間的接口設(shè)計(jì)人(用戶)和計(jì)算機(jī)間的接口8部件級(jí)設(shè)計(jì)部件級(jí)設(shè)計(jì)將軟件體系結(jié)構(gòu)的結(jié)構(gòu)性元素變換為對(duì)軟件部件的過(guò)程性描述。9軟件設(shè)計(jì)的目標(biāo)在進(jìn)行軟件設(shè)計(jì)的過(guò)程中,我們要密切關(guān)注軟件的質(zhì)量因素。軟件設(shè)計(jì)過(guò)程的目標(biāo):1)設(shè)計(jì)必須實(shí)現(xiàn)分析模型中描述的所有顯式需求,必須滿足用戶希望的所有隱式需求。2)設(shè)計(jì)必須是可讀、可理解的,使得將來(lái)易于編程、易于測(cè)試、易于維護(hù)。3)設(shè)計(jì)應(yīng)從實(shí)現(xiàn)角度出發(fā),給出與數(shù)據(jù)、功能、行為相關(guān)的軟件全貌。10軟件設(shè)計(jì)的過(guò)程1) 制定規(guī)范2) 體系結(jié)構(gòu)和接口設(shè)計(jì)3) 數(shù)據(jù)/類(lèi)設(shè)計(jì)4) 部件級(jí)(過(guò)程)設(shè)計(jì)5) 編寫(xiě)設(shè)計(jì)文檔6) 設(shè)計(jì)評(píng)審11內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則

軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審12抽象化與逐步求精抽象,是在軟件設(shè)計(jì)的規(guī)模逐漸增大的情況下,控制復(fù)雜性的基本策略。抽象的過(guò)程是從特殊到一般的過(guò)程,上層概念是下層概念的抽象,下層概念是上層概念的精化和細(xì)化。軟件工程過(guò)程的每一步都是對(duì)較高一級(jí)抽象的解作一次具體化的描述13逐步求精逐步求精,把問(wèn)題的求解過(guò)程分解成若干步驟或階段,每步都比上步更精化,更接近問(wèn)題的解法抽象使得設(shè)計(jì)者能夠描述過(guò)程和數(shù)據(jù)而忽略低層的細(xì)節(jié),而求精有助于設(shè)計(jì)者在設(shè)計(jì)過(guò)程中揭示低層的細(xì)節(jié)14模塊化模塊化,即把軟件按照規(guī)定原則,劃分為一個(gè)個(gè)較小的,相互獨(dú)立的但又相互關(guān)聯(lián)的部件,實(shí)際上是系統(tǒng)分解和抽象的過(guò)程。模塊是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序?qū)ο蟮募?,它是單?dú)命名的,并且可以通過(guò)名字來(lái)訪問(wèn)例如,過(guò)程、函數(shù)、子程序等15設(shè)C(x)是描述問(wèn)題x復(fù)雜性的函數(shù),E(x)是解決問(wèn)題x所需工作量(按時(shí)間計(jì)算)的函數(shù)。對(duì)于兩個(gè)問(wèn)題p1和p2,如果C(p1)>C(p2) (4.1a)那么

E(p1)>E(p2) (4.1b)即問(wèn)題越復(fù)雜,解決問(wèn)題所需要的花費(fèi)更多。16通過(guò)對(duì)人解決問(wèn)題的實(shí)驗(yàn),又存在另一個(gè)有趣的規(guī)律:C(p1+p2)>C(p1)+C(p2) (4.2)方程式(4.2)意味著p1和p2組合后的復(fù)雜性比單獨(dú)考慮每個(gè)問(wèn)題時(shí)的復(fù)雜性要大??紤]方程式(4.2)和方程式(4.1)隱含的條件,我們可以得出

E(p1+p2)>E(p1)+E(p2) (4.3)不等式(4.3)表達(dá)出了一個(gè)對(duì)于模塊化和軟件具有十分重要意義的結(jié)論(即,模塊化的論據(jù)):將復(fù)雜問(wèn)題分解成可以管理的片斷會(huì)更使解決問(wèn)題更加容易。17如果我們無(wú)限制地劃分軟件,開(kāi)發(fā)它所需的工作量會(huì)變得小到可以忽略?!事實(shí)上,影響軟件開(kāi)發(fā)的工作量的因素還有很多,例如模塊接口費(fèi)用等等上述不等式只能說(shuō)明,當(dāng)模塊的總數(shù)增加時(shí),單獨(dú)開(kāi)發(fā)各個(gè)子模塊的工作量之和會(huì)有所減少18復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院軟件工程(第二版)如果模塊是相互獨(dú)立的,當(dāng)模塊變得越小,每個(gè)模塊花費(fèi)的工作量越低;但當(dāng)模塊數(shù)增加時(shí),模塊間的聯(lián)系也隨之增加,把這些模塊聯(lián)接起來(lái)的工作量也隨之增加。19信息隱藏每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其它模塊來(lái)說(shuō)應(yīng)該是隱蔽的塊中所包含的信息(包括數(shù)據(jù)和過(guò)程)不允許其它不需要這些信息的模塊使用通過(guò)信息隱蔽,則可定義和實(shí)施對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制20功能獨(dú)立功能獨(dú)立:功能獨(dú)立是模塊化、抽象、信息隱藏和局部化等概念的直接結(jié)果。開(kāi)發(fā)功能專(zhuān)一的且避免與其他模塊過(guò)多交互的的模塊可以實(shí)現(xiàn)功能獨(dú)立。功能獨(dú)立的重要性功能被分隔且接口被簡(jiǎn)化使得軟件更容易開(kāi)發(fā)由于因修改設(shè)計(jì)或修改編碼引起的副作用被限制,減少了錯(cuò)誤擴(kuò)散,且模塊復(fù)用成為可能,因而使得軟件更易于維護(hù)和測(cè)試。21功能獨(dú)立功能獨(dú)立性可以由兩項(xiàng)指標(biāo)來(lái)衡量:內(nèi)聚度與耦合度

內(nèi)聚(cohesion)是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量耦合(coupling)是模塊之間的相對(duì)獨(dú)立性(互相連接的緊密程度)的度量22內(nèi)聚一般模塊的內(nèi)聚性分為七種類(lèi)型23內(nèi)聚1)巧合內(nèi)聚(偶然內(nèi)聚):將幾個(gè)模塊中沒(méi)有明確表現(xiàn)出獨(dú)立功能的相同程序代碼段獨(dú)立出來(lái)建立的模塊稱(chēng)為巧合內(nèi)聚模塊。2)邏輯內(nèi)聚:指完成一組邏輯相關(guān)任務(wù)的模塊,調(diào)用該模塊時(shí),由傳送給模塊的控制型參數(shù)來(lái)確定該模塊應(yīng)執(zhí)行哪一種功能。3)

時(shí)間內(nèi)聚:指一個(gè)模塊中的所有任務(wù)必須在同一時(shí)間段內(nèi)執(zhí)行。例如初始化模塊和終止模塊。24內(nèi)聚4)過(guò)程內(nèi)聚:指一個(gè)模塊完成多個(gè)任務(wù),這些任務(wù)必須按指定的過(guò)程執(zhí)行。5)通信內(nèi)聚:指一個(gè)模塊內(nèi)所有處理元素都集中在某個(gè)數(shù)據(jù)結(jié)構(gòu)的一塊區(qū)域中。6)順序內(nèi)聚:指一個(gè)模塊完成多個(gè)功能,這些功能又必須順序執(zhí)行。7)功能內(nèi)聚:指一個(gè)模塊中各個(gè)部分都是為完成一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。25耦合

一般模塊之間可能的耦合方式有七種類(lèi)型26耦合1) 內(nèi)容耦合:如果一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);或者一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;或者兩個(gè)模塊有一部分程序代碼重迭;或者一個(gè)模塊有多個(gè)入口,則兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合。2) 公共耦合:若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱(chēng)為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。3) 外部耦合:指模塊間通過(guò)軟件之外的環(huán)境聯(lián)結(jié)(如I/O將模塊耦合到特定的設(shè)備、格式、通信協(xié)議上)時(shí),稱(chēng)為外部耦合。27耦合4)

控制耦合:如果一個(gè)模塊傳送給另一個(gè)模塊的參數(shù)中包含了控制信息,該控制信息用于控制接收模塊中的執(zhí)行邏輯,則稱(chēng)為控制耦合。5)標(biāo)記耦合:兩個(gè)模塊之間通過(guò)參數(shù)表傳遞一個(gè)數(shù)據(jù)結(jié)構(gòu)的一部分(如某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu)),就是標(biāo)記耦合。6)

數(shù)據(jù)耦合:兩個(gè)模塊之間僅通過(guò)參數(shù)表傳遞簡(jiǎn)單數(shù)據(jù),則稱(chēng)為數(shù)據(jù)耦合。7)非直接耦合:如果兩個(gè)模塊之間沒(méi)有直接關(guān)系,即它們中的任何一個(gè)都不依賴(lài)于另一個(gè)而能獨(dú)立工作,這種耦合稱(chēng)為非直接耦合。28模塊之間的連接越緊密,聯(lián)系越多,耦合性就越高,而其功能獨(dú)立性就越弱一個(gè)模塊內(nèi)部各個(gè)元素之間的聯(lián)系越緊密,則它的內(nèi)聚性就越高

功能獨(dú)立性比較強(qiáng)的模塊應(yīng)是高內(nèi)聚低耦合的模塊29內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審30軟件體系結(jié)構(gòu)設(shè)計(jì)軟件體系結(jié)構(gòu)關(guān)注系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),包含軟件構(gòu)件、這些構(gòu)件的對(duì)外可見(jiàn)的性質(zhì)以及它們之間的關(guān)系31體系結(jié)構(gòu)發(fā)展過(guò)程常見(jiàn)的軟件體系結(jié)構(gòu)單主機(jī)結(jié)構(gòu)C/S(Client/Server)結(jié)構(gòu)B/S(Browser/Server)結(jié)構(gòu)

32數(shù)據(jù)為中心體系結(jié)構(gòu)一些數(shù)據(jù)(比如一個(gè)文件或者數(shù)據(jù)庫(kù))保存在整個(gè)結(jié)構(gòu)的中心,并且被其他部件頻繁地使用、添加、刪除、或者修改33數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟(1)需求分析:分析用戶的需求,包括數(shù)據(jù)、功能和性能需求;

(2)概念結(jié)構(gòu)設(shè)計(jì):轉(zhuǎn)換成E-R圖;

(3)邏輯結(jié)構(gòu)設(shè)計(jì):通過(guò)將E-R圖轉(zhuǎn)換成表,實(shí)現(xiàn)從E-R模型到關(guān)系模型的轉(zhuǎn)換;

(4)數(shù)據(jù)庫(kù)物理設(shè)計(jì):主要是為所設(shè)計(jì)的數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)結(jié)構(gòu)和存取路徑;34數(shù)據(jù)流風(fēng)格的體系結(jié)構(gòu)這種結(jié)構(gòu)適用于輸入數(shù)據(jù)被一系列的計(jì)算或者處理部件變換成輸出數(shù)據(jù)。35調(diào)用和返回風(fēng)格的體系結(jié)構(gòu)這種風(fēng)格使一個(gè)軟件設(shè)計(jì)者設(shè)計(jì)出非常容易修改和擴(kuò)充的體系結(jié)構(gòu)。包含:主程序/子程序風(fēng)格體系結(jié)構(gòu)和遠(yuǎn)程過(guò)程調(diào)用風(fēng)格的體系結(jié)構(gòu)36在這里要了解幾個(gè)概念:程序結(jié)構(gòu)的深度:程序結(jié)構(gòu)的層次數(shù)稱(chēng)為結(jié)構(gòu)的深度。結(jié)構(gòu)的深度在一定意義上反映了程序結(jié)構(gòu)的規(guī)模和復(fù)雜程度。程序結(jié)構(gòu)的寬度:層次結(jié)構(gòu)中同一層模塊的最大模塊個(gè)數(shù)稱(chēng)為結(jié)構(gòu)的寬度。模塊的扇入和扇出:扇出表示一個(gè)模塊直接調(diào)用(或控制)的其它模塊數(shù)目。扇入則定義為調(diào)用(或控制)一個(gè)給定模塊的模塊個(gè)數(shù)。多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊。37面向?qū)ο箫L(fēng)格的體系結(jié)構(gòu)系統(tǒng)部件封裝數(shù)據(jù)和操作數(shù)據(jù)的方法。部件之間的交互和協(xié)調(diào)通過(guò)消息來(lái)傳遞。

38層次式風(fēng)格的體系結(jié)構(gòu)在這種結(jié)構(gòu)中,定義不同的層次,每層都完成了相對(duì)外層更靠近機(jī)器指令的操作39評(píng)估可選的體系結(jié)構(gòu)對(duì)于同一個(gè)軟件需求,由于各種設(shè)計(jì)方法的原理不同,會(huì)導(dǎo)出不同的軟件結(jié)構(gòu)。同一問(wèn)題的不同軟件結(jié)構(gòu):40在進(jìn)行軟件體系結(jié)構(gòu)設(shè)計(jì)時(shí),可以參考如下規(guī)則:(1) 改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性(2) 模塊適當(dāng)?shù)纳疃?、寬度、扇出和扇?3) 模塊判斷作用范圍應(yīng)在其控制作用范圍內(nèi)(4) 力爭(zhēng)降低模塊接口的復(fù)雜度(5) 設(shè)計(jì)單入口單出口的模塊(6) 模塊功能應(yīng)該是可以預(yù)測(cè)的模塊大小適中(7) 一般一個(gè)模塊包含的語(yǔ)句在30~50條左右較好。(8) 一個(gè)設(shè)計(jì)好的軟件結(jié)構(gòu),通常頂層扇出比較高,中層扇出比較少,底層有高扇入。41內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)

設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審42部件級(jí)設(shè)計(jì)技術(shù)在結(jié)構(gòu)化分析和設(shè)計(jì)方法時(shí)部件往往被稱(chēng)為模塊在面向?qū)ο蠓治龊驮O(shè)計(jì)時(shí)部件被稱(chēng)為類(lèi),在基于構(gòu)件的開(kāi)發(fā)方法中,部件被稱(chēng)為構(gòu)件。43部件級(jí)設(shè)計(jì)技術(shù)在部件級(jí)設(shè)計(jì)階段,主要完成如下工作:為每個(gè)部件確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過(guò)程,編寫(xiě)部件的詳細(xì)過(guò)程性描述;確定每一部件內(nèi)部使用的數(shù)據(jù)結(jié)構(gòu);在部件級(jí)設(shè)計(jì)結(jié)束時(shí),應(yīng)該把上述結(jié)果寫(xiě)入部件級(jí)設(shè)計(jì)說(shuō)明書(shū),并且通過(guò)復(fù)審形成正式文檔,作為下一階段(編碼階段)的工作依據(jù)。

44結(jié)構(gòu)化程序設(shè)計(jì)方法一種較為流行的定義是:“如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這三種基本控制結(jié)構(gòu)進(jìn)行連結(jié),并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱(chēng)這個(gè)程序是結(jié)構(gòu)化的”。隨著面向?qū)ο蠛蛙浖?fù)用等新的軟件開(kāi)發(fā)方法和技術(shù)的發(fā)展,更現(xiàn)實(shí)、更有效的開(kāi)發(fā)途徑可能是自頂向下和自底向上兩種方法有機(jī)的結(jié)合。45圖形表示法程序流程圖N-S圖PAD46復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院軟件工程(第二版)程序流程圖程序流程圖獨(dú)立于任何一種程序設(shè)計(jì)語(yǔ)言,比較直觀、清晰、易于學(xué)習(xí)掌握為使用流程圖描述結(jié)構(gòu)化程序,必須限制流程圖只能使用五種基本控制結(jié)構(gòu)47控制結(jié)構(gòu)相互組合和嵌套的實(shí)例48N-S圖Nassi和Shneiderman提出了一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具,叫做盒圖,也叫做N-S圖五種基本控制結(jié)構(gòu)49控制結(jié)構(gòu)相互組合和嵌套的實(shí)例50PADPAD是ProblemAnalysisDiagram的縮寫(xiě),由程序流程圖演化而來(lái)五種基本控制結(jié)構(gòu)51PAD實(shí)例52判定表

當(dāng)算法中包含多重嵌套的條件選擇時(shí),用程序流程圖、N-S圖或PAD都不易清楚地描述。然而,判定表卻能清晰地表達(dá)復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系。圖4-11的例子,把多分支判斷改為兩分支判斷53不包含多分支結(jié)構(gòu)的流程圖實(shí)例54反映程序邏輯的判定表55判定表的優(yōu)點(diǎn)是能夠簡(jiǎn)潔,無(wú)二義性地描述所有的處理規(guī)則。但判定表表示的是靜態(tài)邏輯,是在某種條件取值組合情況下可能的結(jié)果,它不能表達(dá)加工的順序,也不能表達(dá)循環(huán)結(jié)構(gòu)56設(shè)計(jì)性語(yǔ)言PDLPDL(ProgramDesignLanguage)是一種用于描述功能部件的算法設(shè)計(jì)和處理細(xì)節(jié)的語(yǔ)言,稱(chēng)為設(shè)計(jì)性語(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),來(lái)描述程序應(yīng)執(zhí)行的功能57PDL的使用實(shí)例PROCEDUREspellcheckIS查找錯(cuò)拼的單詞

BEGIN

splitdocumentintosinglewords

把整個(gè)文檔分離成單詞

loodupwordsindictionary

在字典中查這些單詞

displaywordswhicharenotindictionary

顯示字典中查不到的單詞

createanewdictionary造一新字典

ENDspellcheck58PDL特點(diǎn)1. 有固定的關(guān)鍵字外語(yǔ)法,提供全部結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說(shuō)明和部件特征。屬于外語(yǔ)法的關(guān)鍵字是有限的詞匯集,它們能對(duì)PDL正文進(jìn)行結(jié)構(gòu)分割,使之變得易于理解。為了區(qū)別關(guān)鍵字,規(guī)定關(guān)鍵字一律大寫(xiě),其它單詞一律小寫(xiě)。2. 內(nèi)語(yǔ)法使用自然語(yǔ)言來(lái)描述處理特性。內(nèi)語(yǔ)法比較靈活,只要寫(xiě)清楚就可以,不必考慮語(yǔ)法錯(cuò),以利于人們可把主要精力放在描述算法的邏輯上。3. 有數(shù)據(jù)說(shuō)明機(jī)制,包括簡(jiǎn)單的(如標(biāo)量和數(shù)組)與復(fù)雜的(如鏈表和層次結(jié)構(gòu))的數(shù)據(jù)結(jié)構(gòu)。4. 有子程序定義與調(diào)用機(jī)制,用以表達(dá)各種方式的接口說(shuō)明。59內(nèi)容摘要軟件設(shè)計(jì)工程概述軟件設(shè)計(jì)原則軟件體系結(jié)構(gòu)設(shè)計(jì)部件級(jí)設(shè)計(jì)技術(shù)設(shè)計(jì)規(guī)約與設(shè)計(jì)評(píng)審60設(shè)計(jì)規(guī)約Ⅰ.工作范圍A.系統(tǒng)目標(biāo)B.運(yùn)行環(huán)境C.主要軟件需求D.設(shè)計(jì)約束∕限制Ⅱ.體系結(jié)構(gòu)設(shè)計(jì)A.數(shù)據(jù)流與控制流復(fù)審B.導(dǎo)出的程序結(jié)構(gòu)C.功能與程序交叉索引Ⅲ.數(shù)據(jù)設(shè)計(jì)A.數(shù)據(jù)對(duì)象與形成的數(shù)據(jù)結(jié)構(gòu)B.文件和數(shù)據(jù)庫(kù)結(jié)構(gòu)ⅰ文件的邏輯結(jié)構(gòu)

ⅱ文件邏輯記錄描述ⅲ訪問(wèn)方式C.全局?jǐn)?shù)據(jù)D.文件∕數(shù)據(jù)與程序交叉索引Ⅳ.接口設(shè)計(jì)A.人機(jī)界面規(guī)格說(shuō)明B.人機(jī)界面設(shè)計(jì)規(guī)則C.外部接口設(shè)計(jì)ⅰ外部數(shù)據(jù)接口ⅱ外部系統(tǒng)或設(shè)備接口D.內(nèi)部接口設(shè)計(jì)規(guī)則61Ⅴ.各部件的過(guò)程設(shè)計(jì)A.處理與算法描述B.接口描述C.設(shè)計(jì)語(yǔ)言(或其它)描述D.使用的部件E.內(nèi)部程序邏輯描述F.注釋∕約束∕限制Ⅵ.運(yùn)行設(shè)計(jì)A.運(yùn)行部件組合B.運(yùn)行控制規(guī)則C.運(yùn)行時(shí)間安排Ⅶ.出錯(cuò)處理設(shè)計(jì)A.出錯(cuò)處理信息B.出錯(cuò)處理對(duì)策ⅰ設(shè)置后備ⅱ性能降級(jí)?;謴?fù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論