freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程軟件總體設(shè)計(jì)(參考版)

2024-11-18 08:41本頁(yè)面
  

【正文】 。 ? 解釋下列名詞:( 1)模塊( 2)模塊化( 3)模塊化設(shè)計(jì) ? 什么是模塊獨(dú)立性?用什么來(lái)度 量? ? 舉例說(shuō)明 “ 一個(gè)模塊、一個(gè)功能 ” 的含義并試論這類模塊的優(yōu)點(diǎn)。 習(xí)題四 ? 結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是什么?它如何與 SA 方法相銜接? ? 為每種類型的模型耦合舉一個(gè)例子。軟件設(shè)計(jì)中用到的基本概念包括:抽象與逐步求精;模塊化與信息隱藏;軟件總體結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)與軟件過(guò)程?!? 小結(jié) 軟件設(shè)計(jì)的主要任務(wù)是根據(jù)需求規(guī)格說(shuō)明導(dǎo)出系統(tǒng)的實(shí)現(xiàn)方案?!? 4. 2 內(nèi)部接口【模塊之間的接口】 五、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 5. 1 邏輯結(jié)構(gòu)設(shè)計(jì) 5. 2 物理結(jié)構(gòu)設(shè)計(jì) 5. 3 數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系 六、運(yùn)行設(shè)計(jì) 6. 1 運(yùn)行模塊的組合 6. 2 運(yùn)行控制 45 6. 3 運(yùn)行時(shí)間 七、出錯(cuò)處理設(shè)計(jì) 7. 1 出錯(cuò)輸出信息 2 出錯(cuò)處理對(duì)策【如設(shè)置后備、性能降級(jí)、恢復(fù)及再啟動(dòng)等。文檔所引用的資料、采用的標(biāo)準(zhǔn)或規(guī)范。項(xiàng)目經(jīng)核準(zhǔn)的計(jì)劃任務(wù)書、合同或上級(jí)機(jī)關(guān)的批文; b.項(xiàng)目開發(fā)計(jì)劃; c?!? 1. 3 定義【列出本文檔中所用到的專門術(shù)語(yǔ)的定義和縮寫詞的原意。 44 一、引言 1. 1 編寫目的【闡明編寫總體設(shè)計(jì)說(shuō)明書的目的,指明讀者對(duì)象。 總體設(shè)計(jì)文檔評(píng)審 在總體設(shè)計(jì)階段設(shè)計(jì)人員完成的主要文檔是總體設(shè)計(jì)說(shuō)明書,它主要規(guī)定軟件的結(jié)構(gòu)??偟膩?lái)說(shuō), Warnier 方法的中間轉(zhuǎn)換步驟比 Jackson方法更細(xì)致,手續(xù)也更加嚴(yán)格。它們都從分析數(shù)據(jù)結(jié)構(gòu)出發(fā),經(jīng)過(guò)映射得出程序結(jié) 構(gòu),最終導(dǎo)出程序的過(guò)程性描述。 為便于同前面講過(guò)的系統(tǒng)設(shè)計(jì)方法比較,畫出 Warnier 方法的圖解,如圖 449所示。 Warnier 程序設(shè)計(jì)方法的最終目標(biāo)同樣是得出對(duì)程序處理過(guò)程的詳細(xì)描述。 Warnier 方法的原理和 Jackson 方法類似,也是從數(shù)據(jù)結(jié)構(gòu)出發(fā)設(shè)計(jì)程序,但是這種方法的邏輯嚴(yán)格。在求精過(guò)程 中,可以對(duì)數(shù)據(jù)結(jié)構(gòu)圖進(jìn)行改進(jìn)和細(xì)化,使之完整和易于實(shí)現(xiàn)。 用 Jackson 方法得到的程序結(jié)構(gòu)圖需要求精和優(yōu)化。 close 會(huì)計(jì)報(bào)告 。 write 店方總計(jì)行; end 處理店方數(shù)據(jù); close 付款帳目 。 處理店方數(shù)據(jù) seq 計(jì)算交易金額總計(jì) 。 end 處理用戶帳號(hào)組 。 {read 用戶總帳目 finds 存款余額 } 計(jì)算新存款余額 。 計(jì)算用戶總支付 。 處理用戶數(shù)據(jù) iter until 付款帳目文件結(jié)束; 處理用戶帳號(hào)組 seq read 付款帳目; 處理用戶帳號(hào) 。 open 付款帳目 。 I1:付款帳目文件結(jié)束; I2:用戶帳號(hào)組結(jié)束。由于輸入數(shù)據(jù)結(jié)構(gòu)中除去對(duì)應(yīng)單元已無(wú)剩余單元,所以程序結(jié)構(gòu)圖可以直接由輸出數(shù)據(jù)結(jié)構(gòu)圖(圖 447)映射得到,如圖 448 所示。在第二層中,圖 447 中的用戶帳號(hào)組和存款金額總 計(jì)分別與圖 446 中用戶帳號(hào)組和用戶記錄兩個(gè)單元相對(duì)應(yīng)。 每產(chǎn)生一份會(huì)計(jì)報(bào)告,就須將付款帳目和用戶總帳目分別打開一次。 ? 對(duì)于在每個(gè)輸入數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)單元,如果在輸出數(shù)據(jù)結(jié)構(gòu)中沒(méi)有對(duì)應(yīng)的數(shù)據(jù)單元,則為它在程序結(jié)構(gòu)中的適當(dāng)位置畫一個(gè)程序框。 39 圖 444 付款帳目和用戶總帳目 圖 445 會(huì)計(jì)報(bào)告 圖 446 信用卡報(bào)帳系統(tǒng)的輸入 40 圖 447 信用卡報(bào)帳系統(tǒng)的輸出 S2:畫程序結(jié)構(gòu)圖 從層次性輸 入 和輸出數(shù)據(jù)結(jié)構(gòu)可以直接得到程序的過(guò)程性表示。報(bào)告其他部分是顧客數(shù)據(jù)。輸出數(shù)據(jù)結(jié)構(gòu)的 Jackson 圖如圖446 所示。輸出文件是會(huì)計(jì)報(bào)告。要求用Jackson 方法設(shè)計(jì)一個(gè)能夠產(chǎn)生上述會(huì)計(jì)報(bào)告的程序。店方每隔一段時(shí)間都需要根據(jù)上述兩個(gè)帳目產(chǎn)生一個(gè)會(huì)計(jì)報(bào)告。后者記錄了用戶存款余額。建立了兩個(gè)帳目付款帳目和用戶總帳目。 例: 信用卡報(bào)帳系統(tǒng)。實(shí)現(xiàn) 的本質(zhì)就是:?jiǎn)栴}應(yīng)當(dāng)被分解為可以用三種基本結(jié)構(gòu)(順序、選擇和重復(fù))表示的部件的層次結(jié)構(gòu)。 S7:用偽碼書寫程序。所謂對(duì)應(yīng)單元,是指在程序中具有因果關(guān)系,可以或者需要放在一起處理的單元。在導(dǎo)出程序結(jié)構(gòu)圖的過(guò)程中,由于改進(jìn)的 Jackson 圖規(guī)定在構(gòu)成順序結(jié)構(gòu)的元素中不能有重復(fù)出現(xiàn)或選擇出現(xiàn)的元素,因此可能需要增加中間層次的處理框。從描繪數(shù)據(jù)結(jié)構(gòu)的 Jackson 圖導(dǎo)出描繪程序結(jié)構(gòu)的 Jackson 圖,規(guī)則如下: ①為每對(duì)在輸入結(jié)構(gòu)與輸出結(jié)構(gòu)中有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元,按照它們?cè)跀?shù)據(jù)結(jié)構(gòu)圖中的層次在程序結(jié)構(gòu)的相應(yīng)層次畫一個(gè)處理框,如果這對(duì)數(shù)據(jù)單元在輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中所處的層次不同,則和它們對(duì)應(yīng)的處理框在程序 結(jié)構(gòu)圖中所處的層次與它們之中在數(shù)據(jù)結(jié)構(gòu)圖中層次低的那個(gè)對(duì)應(yīng); ②根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框; ③根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框; 38 ④所有處理框在在程序結(jié)構(gòu)圖上的位置,應(yīng)與由它處理的的數(shù)據(jù)單元在數(shù)據(jù)結(jié)構(gòu)的 Jackson 圖上的位置相對(duì)應(yīng)。 S5:找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中存在對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元。 S3:把實(shí)體模型與現(xiàn)實(shí)世界聯(lián)系,模型系統(tǒng)的規(guī)格說(shuō)明可以用系統(tǒng)規(guī)格說(shuō)明圖來(lái)表示。 S1:從描述的問(wèn)題中 ,提取軟件系統(tǒng)要產(chǎn)生和運(yùn)用的實(shí)體 (人、物或組織),以及現(xiàn)實(shí)世界作用于實(shí)體的動(dòng)作。而且 Jackson 方法得到的程序過(guò)程性描述實(shí)際上已接近詳細(xì)過(guò)程描述。圖 442 就是一種改畫方案。根據(jù)上述分析,顯然在兩種表示方法中圖441 是正確的。 是關(guān)鍵字(重復(fù)結(jié)構(gòu)有 until和 while 兩種形式), cond 是條件,與圖 436 所示重復(fù)結(jié)構(gòu)對(duì)應(yīng)的偽碼如下: A iter until(或 while) cond B A end 例: 在實(shí)際問(wèn)題中,會(huì)遇到不同結(jié)構(gòu)夾雜在一起的情況,如圖 441 所示。 、 ‘while39。 ,和 ‘end 39。 是關(guān)鍵字: A seq b C D A end 其中‘ select 39。 與圖 434 所示的順序結(jié)構(gòu)對(duì)應(yīng)的偽碼如下,其中 ‘seq39。 ③ Jackson 偽代碼,為了方便從程序結(jié)構(gòu)到邏輯描述的轉(zhuǎn)換, Jackson 方法中為結(jié)構(gòu)圖設(shè)計(jì)了一組與之相對(duì)應(yīng)的偽代碼。大多數(shù)情況下,一個(gè)方框可能只是包含完成程序中一個(gè)簡(jiǎn)單操作的一條或幾條語(yǔ)句。這種從數(shù)據(jù)結(jié)構(gòu)圖導(dǎo)出程序結(jié)構(gòu)圖的過(guò)程,稱之為映射。 圖 439 用 Jackson 圖來(lái)表示程序結(jié)構(gòu) ② 表示程序結(jié)構(gòu) 例 2: 用 Jackson 圖表示產(chǎn)生上面的學(xué)生名冊(cè)文件的程序的程序結(jié)構(gòu) 把圖 439 所表示的學(xué)生名冊(cè)生成為一個(gè)計(jì)算機(jī)文件,則該程序結(jié)構(gòu)可以用圖 440 的 Jackson 圖來(lái)表示。而表體可由任意行( 0行或多行)組成,每行包括學(xué)生的姓名、性別、班級(jí)和學(xué)號(hào)。 (3) Jackson 圖的使用 ① 表示數(shù)據(jù)結(jié)構(gòu) 例 1 :用 Jackson 圖表示表 438 所示的二維表格。 ? 既能表示數(shù)據(jù)結(jié)構(gòu),也能表示程序結(jié)構(gòu)。 32 圖 437 改進(jìn)的 Jackson 圖 Jackson 圖的優(yōu)點(diǎn): ? 便于表示層次結(jié)構(gòu),而且是對(duì)結(jié)構(gòu)進(jìn)行自頂向下分解的有力工具。圖 437 中( a)是順序結(jié)構(gòu), B, C, D任一個(gè)都不能是選擇出現(xiàn)或重復(fù)出現(xiàn)的數(shù)據(jù)元素,即不能是右上角有小圈或星號(hào)標(biāo)記的元素;圖 437( b)是選擇結(jié)構(gòu), s 右面括號(hào)中的數(shù)字 i 是分支事件的編號(hào) 。為了解決上述問(wèn)題,允許將連線畫成直線,并在連線一旁標(biāo)注字母 “S” (表示選擇 )或 “I” (表示重復(fù))及編號(hào)。表示 A 由 B 重復(fù) N 次實(shí)現(xiàn)。 重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。 31 選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次使用這個(gè)數(shù)據(jù)時(shí)按一定條件從這些數(shù)據(jù)元素中選擇一個(gè)。 圖 434 順序結(jié)構(gòu) 圖 435 選擇結(jié)構(gòu) 順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。這種設(shè)計(jì)方法首先確定數(shù)據(jù)結(jié)構(gòu),并用適當(dāng)?shù)墓ぞ邅?lái)清晰的描述數(shù)據(jù)結(jié)構(gòu)。 ? 訪問(wèn)公用存儲(chǔ)信息。進(jìn)程間的通訊方式有以下三種: ? 進(jìn)程同步發(fā)生。 Jackson 系統(tǒng)開發(fā)方法采用進(jìn)程模型作為這類系統(tǒng)的抽象。而傳統(tǒng)的數(shù)據(jù)模型只能表示系統(tǒng)的靜態(tài)特性,缺乏表示系統(tǒng)動(dòng)態(tài)特性的工具。系統(tǒng)模型抽象成一組以通信方式相互聯(lián)系的進(jìn)程。 30 早期 Jackson 系統(tǒng)開發(fā)方法是一種結(jié)構(gòu)程序設(shè)計(jì)方法,它是按輸入、輸出和內(nèi)部信息的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì)的,即把數(shù)據(jù)結(jié)構(gòu)的描述映射成程序結(jié)構(gòu)描述。Jackson 同時(shí)也提出了一種配套使用的表達(dá)工具,稱為 Jackson 圖。用下述方法對(duì)時(shí)間起決定性作用的軟件進(jìn)行優(yōu)化是合理的。 ,在詳細(xì)設(shè)計(jì)階段,也可在編碼階段有必要進(jìn)行優(yōu)化。 3.結(jié)構(gòu)簡(jiǎn)單通常既表示設(shè)計(jì)風(fēng)格優(yōu)秀,又表明效率高??梢詫?dǎo)出不同的軟件結(jié)構(gòu),然后對(duì)它們進(jìn)行評(píng)價(jià)和比較,力求得到最好的結(jié)果。 設(shè)計(jì)優(yōu)化 1.開發(fā)的軟件應(yīng)該能夠滿足所有功能和性能要求,而且符合軟件設(shè)計(jì)規(guī)則。 一般說(shuō)來(lái),如果數(shù)據(jù)流不具有顯著的事務(wù)特點(diǎn),最好使用變換分析;反之,如果具有明顯的事務(wù)中心,則應(yīng)該采用事務(wù)分析技術(shù),但是,機(jī)械地遵循變換分析或事務(wù)分析的映射規(guī)則,就很可能會(huì)得到一些不必要的控制模塊, 應(yīng)該把它們合并。 29 為了導(dǎo)出它們的初始系統(tǒng)結(jié)構(gòu)圖,也必須同時(shí)采用變換分析和事務(wù)分析兩種方法。所以一般地說(shuō),對(duì)每一動(dòng)作路徑的分解仍應(yīng) 按照該路徑本身的結(jié)構(gòu)特征,分別采用變換分析或事務(wù)分析方法進(jìn)行分解。圖 420 說(shuō)明了上述映射過(guò)程。動(dòng)作路徑通常不止一條,且每條 均具有自己的結(jié)構(gòu)特性(變換型或另一個(gè)事務(wù)型)。 事務(wù)中心通常位干 DFD 圖中多條動(dòng)作路徑的起點(diǎn),從這里引出受中心控制的所有動(dòng)作路徑。映射出接收分支結(jié)構(gòu)的方法和變換分析映射出輸入結(jié)構(gòu)的方法很相像,即從事務(wù)中心的邊界開始,把沿著接收流通路的處理映射成模塊。 事務(wù)分析的設(shè)計(jì)步驟和變換分析的設(shè)計(jì)步驟大部分相同或類似,主要 差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。 S2:畫出系統(tǒng)結(jié)構(gòu)圖框架,把 DFD 圖的三個(gè)部分分別映射為事務(wù)控制模塊,接受模塊和動(dòng)作發(fā)送模塊。 28 例如在實(shí)時(shí)系統(tǒng)中,事務(wù)可用來(lái)表示數(shù)據(jù)采集、過(guò)程 控制或分時(shí)系統(tǒng)的交互;甚至操作員在輸入設(shè)備中按一次啟動(dòng)按鈕,在程序執(zhí)行中因下標(biāo)出界而引起的一次硬件中斷,都可以看成為一次事務(wù)。 事務(wù)一詞來(lái)源于商業(yè)數(shù)據(jù)處理系統(tǒng),一筆賬目,一次交易,都可以稱為一次事務(wù)。但是,有許多數(shù)據(jù)處理系統(tǒng)具有事務(wù)型的結(jié)構(gòu),需要用事務(wù)分析方法進(jìn)行設(shè)計(jì)。為了產(chǎn)生合理的分解,得到盡可能高的內(nèi)聚、盡可能松散的耦合,重要的是為了得到一個(gè)易于實(shí)現(xiàn)、易于測(cè)試和易于維護(hù)的軟件結(jié)構(gòu),應(yīng)該對(duì)初步分割得到的模塊進(jìn)行再分解或合并。 S6 使用設(shè)計(jì)度量和啟發(fā)式規(guī)則對(duì)第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。第二級(jí)分 解就是把數(shù)據(jù)流圖中的每個(gè)處理映射成軟件結(jié)構(gòu)中一個(gè)適當(dāng)?shù)哪K。對(duì)于變換流的情況,數(shù)據(jù)流圖被映射成一個(gè)特殊的軟件結(jié)構(gòu),這個(gè)結(jié)構(gòu)控制輸入、變換和輸出等信息處理過(guò)程。完成“第一級(jí)分解”。當(dāng)然在確定邊界時(shí)應(yīng)該仔細(xì)認(rèn)真,但是把邊界沿著數(shù)據(jù)流通路移動(dòng)一個(gè)處理框的距離,通常對(duì)最后的軟件結(jié)構(gòu)只有很小的影響。確定輸入流和輸出流的 邊界,從而孤立出變換中心。此外還應(yīng)該把具有和全局特性不同的特點(diǎn)的局部區(qū)域畫出來(lái),以后可以按照這些子數(shù)據(jù)流的特點(diǎn)精化根據(jù)全局特性得出的軟件結(jié)構(gòu)。 S3 確定數(shù)據(jù)流圖具有變換特性和事務(wù)特性。應(yīng)該對(duì)需求分析階段得出的數(shù)據(jù)流圖復(fù)查,并且進(jìn)行精化。 S2 復(fù) 查并精化數(shù)據(jù)流圖。 圖 428 輸入分支的第二種分解 26 圖 429 模塊的調(diào)用和執(zhí)行過(guò)程 圖 430 輸出分支的兩種分解 圖 431 中心加工分支第二級(jí)分解 圖 432 初始系統(tǒng)結(jié)構(gòu)圖 4. 變換分析的主要步驟 27 S1 復(fù)查基本系統(tǒng)模型。圖 431 顯示了本例中心加工分支第二級(jí)分解的結(jié)果。 與輸入、輸出分支相比,中心加工分支的情況繁簡(jiǎn)各異,其分解也較復(fù)雜。雖然模塊的調(diào)用順序( CBA ,ED)恰與加工的出現(xiàn)順序相反,但取得數(shù)據(jù)的順序 (abc,de) ,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1