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

正文內(nèi)容

軟件工程軟件總體設(shè)計(jì)-wenkub.com

2024-11-10 08:41 本頁面
   

【正文】 ? 說明并比較總體設(shè)計(jì)說明書和需求分析說明書的內(nèi)容。軟件過程設(shè)計(jì)中最常用的技術(shù)和工具主要規(guī)格說明書,此文檔經(jīng)嚴(yán)格復(fù)審后將作為編碼階段的輸入文檔?!? 八、安全保密設(shè)計(jì) 九、維護(hù)設(shè)計(jì) 【說明為方便維護(hù)工作的設(shè)施,如維護(hù)模塊等。需求規(guī)格說明書; d.測(cè)試計(jì)劃(初稿); e.用戶操作手冊(cè)(初稿); f?!? 1. 2 項(xiàng)目背景【應(yīng)包括: a,項(xiàng)目的委托單位、開發(fā)單位和主管部門; b.該軟件系統(tǒng)與其他系統(tǒng)的關(guān)系。 圖 449 Warnier 方法設(shè)計(jì)步驟 Warnier把上述從程序流程圖導(dǎo)出詳細(xì)過程性描述的三步過程稱為詳細(xì)組織,這種對(duì)指令逐個(gè)步驟組 織起來的過程,使 Warnier 方法成為比其它方法邏輯上更嚴(yán)密的方法。從表面上看, Warnier 方法與 Jackson 方法十分相似。 Warnier 圖是 Warnier 方法中使用的一種專用表達(dá)工具。因?yàn)檫@種方法是從輸入輸出數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu)圖,因此有些中間處理過程在結(jié)構(gòu)圖中無法反映出來。 close 用戶總帳目 。 end 處理用戶數(shù)據(jù) 。 計(jì)算存款余額 seq 處理舊存款余額 。 42 open 用戶總帳目 。 41 圖 448 信用卡報(bào)帳系統(tǒng)程序結(jié)構(gòu)圖 S3:寫出程序的過程性描述 ( 1)列出圖 448 中的循環(huán)結(jié)構(gòu)的終止條件 I1 和 I2。從圖 446和圖 447 中可以看出三個(gè)數(shù)據(jù)結(jié)構(gòu)圖的第一層是相互對(duì)應(yīng)的。在確定程序的結(jié)構(gòu)時(shí)的規(guī)則如下: ? 對(duì)于每對(duì)有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單 元,按照它們?cè)谳敵鰯?shù)據(jù)結(jié)構(gòu)中所在的層次,在程序結(jié)構(gòu)的適當(dāng)位置畫一個(gè)數(shù)據(jù)框。 會(huì)計(jì)報(bào)告中最 后 一行店方總計(jì)中由兩項(xiàng)內(nèi)容組成,即交易額總計(jì)和店方余額總計(jì)。 S1:畫數(shù) 據(jù) 結(jié)構(gòu)圖 這 個(gè)系統(tǒng)的兩個(gè)輸入文件是 付款帳目和用戶總帳目。這兩個(gè)帳目都是按用戶的帳號(hào)進(jìn)行登錄的(見圖444)。 某商店開展信用卡購物業(yè)務(wù)。 (2) Jackson 方法的實(shí)現(xiàn) Jackson 方法的實(shí)現(xiàn)是基于數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序或進(jìn)程的結(jié)構(gòu)方法。做好這一步的關(guān)鍵是準(zhǔn)確的找出有對(duì)應(yīng)關(guān)系的所有數(shù)據(jù)單元。存在對(duì)應(yīng)關(guān)系是指有直接的因果關(guān)系,在程序中可以同時(shí)處理的數(shù)據(jù)單元(對(duì)于重復(fù)出現(xiàn)的數(shù)據(jù)單元必須重復(fù)的次序和次數(shù)都相同才可能有對(duì)應(yīng)關(guān)系)。 S2:把作用于實(shí)體的動(dòng)作或由實(shí)體完成的動(dòng)作,按時(shí)間發(fā)生的先后順序構(gòu)成進(jìn)程。 442 改進(jìn)畫法 其相應(yīng)的偽代碼如下: A seq B Cunit iter until cond I1 C end Cunit D end A 2. Jackson 方法步驟與實(shí)現(xiàn) ( 1) Jackson 方法的步驟 從 Jackson 方法與前面討論的面向數(shù)據(jù)流的設(shè)計(jì)方法的比較如圖 443 所示,可以看出兩種方法有不同的出發(fā)點(diǎn),一個(gè)出發(fā)點(diǎn)是數(shù)據(jù)結(jié)構(gòu),一個(gè)出發(fā)點(diǎn)是數(shù)據(jù)流。 圖 441 混合結(jié)構(gòu) . 有下述兩種偽代碼: (a): A seq B C iter until cond I1 D end A (b): A iter until cond1 B C D 36 end A 從圖 441 中可以可以看出,執(zhí)行 A 是要順序執(zhí)行 B、 C 和 D 處理框,而 C 框要根據(jù)條件 I1 執(zhí)行 0 次 或多次。 是關(guān)鍵字 ,cond cond2 和 cond3分別是執(zhí)行 B、 C 或 D 的條件 :與圖 435 所示的選擇結(jié)構(gòu)對(duì)應(yīng)的偽碼如下: A select condI B 35 A or cond2 C A or cond3 D A end ‘ iter‘ ,、 ‘until39。 和 ‘end39。而且,在連接上、下 層的連線表示包含(模塊調(diào)用)。不難可以看出,這個(gè)圖只是在圖 439 的 每個(gè)方框內(nèi)的名稱前添加 “ 產(chǎn)生 ” 二字。 33 圖 438 表示學(xué)生名冊(cè)的二維表格 用 Jackson 圖表示學(xué)生名冊(cè)的二維表格,首先聲明該學(xué)生名冊(cè)表格由表頭和表體兩部分組成 .其中表頭又順序包括表名和字段名。 ? 形象直觀,可讀性好。 圖 437 所示的是改進(jìn)的 Jackson 圖。 圖 436 所示的就是用 Jackson 圖表達(dá)這種結(jié)構(gòu)的一個(gè)例子。圖 434 所示就是用 Jackson 圖表達(dá)這種結(jié)構(gòu)的一個(gè)例子。 Jackson 開發(fā)方法是面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化分析與設(shè)計(jì)方法。 Jackson 系統(tǒng)開發(fā)方法的系統(tǒng)模型就是相互通信的一組進(jìn)程的集合。 時(shí)序(活動(dòng)遵循的時(shí)間順序)是一個(gè)在把現(xiàn)實(shí)世界的活動(dòng)抽象成系統(tǒng)模型時(shí)所必須考慮的問題。與前面所講的表達(dá)工具不同, Jackson 圖除了可表達(dá)程序結(jié)構(gòu)外,還可以表達(dá)數(shù)據(jù)的結(jié)構(gòu),從而成為在需求分析和程序設(shè)計(jì)階段均可使用的一種通用表達(dá)方式。因?yàn)橄鄬?duì)比較小的程序(典型地, 10%~ 20%),通常占用全部處理時(shí)間的大部分( 50%~ 80%)。這種優(yōu)化的可能,是把軟件結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)分開的真正優(yōu)點(diǎn)之一。反之,如果一個(gè)過分復(fù)雜,則應(yīng)該分解兩個(gè)或多個(gè)控制模塊,或者增加中間層次的控制模塊。一個(gè)大型系統(tǒng)常常是變換型和事務(wù)型的混合結(jié)構(gòu)。事務(wù)分析的第一步,就是要完成上述各部分的識(shí)別,在 DFD 圖上作出標(biāo)記。發(fā)送分支的結(jié)構(gòu)包含一個(gè)調(diào)度模塊,它控制下層的所有活動(dòng)模塊;然后把數(shù)據(jù)流圖中的每個(gè)活動(dòng)流通路映射成與它的流特征相對(duì)應(yīng)的結(jié)構(gòu)。 S3:分解和細(xì)化接受分支和發(fā)送分支,完成初始的系統(tǒng)結(jié)構(gòu)圖。在更廣泛的意義上,事務(wù)可定義為:引起式、觸發(fā)式啟動(dòng)單一動(dòng)作或一串動(dòng)作的任何數(shù)據(jù),控制,信號(hào),事件或狀態(tài)變化。 事務(wù)分析 變換分析是建立初始系統(tǒng) 結(jié)構(gòu)圖的主要方法,大多數(shù)實(shí)際系統(tǒng)要用到這種設(shè)計(jì)方法。完成第二級(jí)分解的方法是,從變換中心的邊界開始沿著輸入通路向外移動(dòng),把輸入通路中每個(gè)映射成軟件結(jié)構(gòu)中的低層模塊。軟件結(jié)構(gòu)代表對(duì)控制的自頂向下的分配,分解就是分配控制的過程。輸入流和輸出流的邊界和對(duì)它們的解釋有關(guān),也就是說,不同設(shè)計(jì)人員可能會(huì)在流內(nèi)選取稍微不同的點(diǎn)作為邊界的位置。在這一步,設(shè)計(jì)人員應(yīng)該根據(jù)數(shù)據(jù)流圖中占優(yōu)勢(shì)的屬性,確定數(shù)據(jù)流的全局特性。復(fù)查的目的是確保系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù)符合實(shí)際。 將圖 428 和 圖 430 (右邊) 與 圖 431 合并在一起,就可以得到本例的初始系統(tǒng)結(jié)構(gòu)圖,如圖 432 所示。 仿照與輸入分支相似的分解方法,可得到本例中輸出分支的兩種模塊分解圖,如圖 430 所示。將分別調(diào)用模塊 C 和 E。這一改變除了處于輸入端的源模塊以外,讓每一輸入模塊都調(diào)用兩個(gè)下屬模塊,包括一個(gè)下屬的輸入模塊和一個(gè)變換模塊。 25 圖 427 第二級(jí)分解 數(shù)據(jù)流在輸入的過程中,也可能經(jīng)歷數(shù)據(jù)的變換。 仍以圖 424 為例,首先考察輸入分支的模塊分解。 圖 426 模塊間的調(diào)用 3. 完成第二級(jí)分解 對(duì)上步的結(jié)果繼續(xù)進(jìn)行由頂向下的分解,直至畫出每個(gè)分支所需要的全部模塊,稱為第二級(jí)分解。 圖 425 顯示了圖 424 的 DFD 圖在第一級(jí)分解后導(dǎo)出的系統(tǒng)結(jié)構(gòu)圖,沿調(diào)用線標(biāo)注了在模塊間輸送的數(shù)據(jù)流的名稱。 2.完成第一級(jí)分解 這一步要畫出初始的系統(tǒng)結(jié)構(gòu)圖,主要是畫出它最上面的兩層模塊,即頂層模塊和第一層模塊。 此時(shí)應(yīng)如實(shí)地把 DFD 圖劃分為傳入和傳出兩個(gè)部分, 不要強(qiáng)求分成三個(gè)部分。對(duì)于較復(fù)雜的 DFD 圖,可以有多種的不同劃分結(jié)果。 23 圖 424 變換型分析 圖 424 是在 DFD 上區(qū)分三個(gè)組成部分的一個(gè)例子。所謂邏輯輸入,是指離物 理輸入端(輸入始端)最遠(yuǎn),但仍可以被看作系統(tǒng)輸入的那些數(shù)據(jù)流。 圖 423 變換分析與事務(wù)分析的功能 變換分析 經(jīng)過變換分析步驟把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)圖。 SD 方法提出了兩種分析與過渡方法:即變換分析與事務(wù)分析方法。 22 圖 422 模塊的循環(huán)調(diào)用 ( 4)循環(huán)調(diào)用 用疊加在調(diào)用線始端的環(huán)形箭頭表示循環(huán)。 ( 3)選擇調(diào)用 圖 421 模塊的選擇調(diào)用 選擇調(diào)用的畫法如圖 421 所示。顯而易見, B 屬于變換模塊, C 屬于漏模塊??刂颇K是只調(diào)用其它模塊、而不被其它模塊調(diào)用的模塊,例如變換型結(jié)構(gòu)的頂層模塊,事務(wù)型結(jié)構(gòu)的事務(wù)中心等,均屬于控制模塊這一類。圖 419 顯示了系統(tǒng)結(jié)構(gòu)圖允許使用的 6 種模塊。 SD 方法約定,用矩形框來表示模塊,用帶箭頭的連線表示模塊間的調(diào)用關(guān)系。這類信息流應(yīng)該劃為一類特殊的信息流,稱為事務(wù)流。 圖 416 變換流 ( 2)事務(wù)流 原則上所有信息流都可以歸結(jié)為變換流類。 基本概念 以面向數(shù)據(jù)流的設(shè)計(jì)方法把信 息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法,信息流有下述兩種類型。面向數(shù)據(jù)流的設(shè)計(jì)要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將 DFD 圖映射為軟件系統(tǒng)的結(jié)構(gòu)。在需求分析階段,首先要考慮的一個(gè)關(guān)鍵問題就是信息流。在使用過程中將不可避免地需要修改功能過分局限的模塊,以提高模塊的靈活性,擴(kuò)大它的使用范圍;但是,在使用現(xiàn)場(chǎng)修改軟件的代價(jià)是很高的。 18 7.模塊功能應(yīng)可預(yù)測(cè) 模塊的功能應(yīng)能預(yù)測(cè),如果一個(gè)模塊可以當(dāng)做一個(gè)黑盒子,只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出,這個(gè)模塊的功能就是可以預(yù)測(cè)的。 QUAD_ ROOT( A, B, C, ROOTI, ROOT2)其中 A、 B、 C 是方程的系數(shù), ROOTI和 ROOTZ 是算 出的兩個(gè)根。 例如,一元二次方程的根的模塊 QUAD- ROOT( TBL, X),其中用數(shù)組 TBI。這個(gè)標(biāo)記是控制信息而不是數(shù)據(jù),因此將使模塊間出現(xiàn)控制耦合。 在一個(gè)設(shè)計(jì)得很好的軟件系統(tǒng)中,所有受判定影響的模塊應(yīng)該都從屬于做出判定的那個(gè)模塊,最好局限于做出判定的那個(gè)模塊本身及它的直屬下級(jí)模塊。 ( 6)觀察大量軟件系統(tǒng)后發(fā)現(xiàn),設(shè)計(jì)得優(yōu)秀的軟件結(jié)構(gòu)通常頂層扇出比較高,中層扇出較少,底層扇入到公共的實(shí)用模塊中去。 ( 4)扇出太大一般是因?yàn)槿狈χ虚g層次,應(yīng)該適當(dāng)增加中間層次的控制模塊。一般說來,寬度越大系統(tǒng)越復(fù)雜。 3.深度、寬度、扇出和扇入適當(dāng) ( 1)深度表示軟件結(jié)構(gòu)中控制的層數(shù),能夠粗略地標(biāo)志一個(gè)系統(tǒng)的大小和復(fù)雜程度(參閱圖 414)。從心理學(xué)角度研究得知,當(dāng)一個(gè)模塊包含的語句數(shù)超過 30 以后,模塊的可理解程度迅速下降。 改進(jìn)軟件設(shè)計(jì)、提高軟件質(zhì)量的原則如下。其目標(biāo)是產(chǎn)生一個(gè)模塊化的程序結(jié)構(gòu),并明確模塊間的控制關(guān)系,以及定義界面、說明程序的數(shù)據(jù),進(jìn)一步調(diào)整程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。功能內(nèi)聚是最高程度的內(nèi)聚。圖 49 所示的是通信內(nèi)聚模塊的示意圖。 時(shí)間關(guān)系在一定程度上反映了程序的某些實(shí)質(zhì),所以時(shí)間內(nèi)聚比邏輯內(nèi)聚好一些。 在偶然內(nèi)聚的模塊中.各種元素之間沒有實(shí)質(zhì)性聯(lián)系,很可能在一種應(yīng)用場(chǎng)合需要修改這個(gè)模塊,在另一種應(yīng)用場(chǎng)合又不允許這種修改,從而陷入困境。 ( 2)邏輯內(nèi)聚 如果一個(gè)模塊完成的功能在邏輯上屬于相同或相似的一類,則稱為邏輯內(nèi)聚。 內(nèi)聚和耦合是密切相關(guān)的,模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。應(yīng)該采取的原則是:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。在設(shè)計(jì)中避免標(biāo)記耦合。如果出現(xiàn)下列情況之一(參閱圖 45),兩個(gè)模塊間就發(fā)生了內(nèi)容耦合: ① 一個(gè)模塊訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù); ② 一個(gè)模塊不通過正常人口而轉(zhuǎn)到另一個(gè)模塊的內(nèi)部; ③ 兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編程序中); ④ 一個(gè)模塊有多個(gè)人口(這表明一個(gè)模塊有幾種功能)。這是數(shù)據(jù)耦合的一種形式,是比較松散的耦合。這里的公共環(huán)境可以是全程變量、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)、任何存儲(chǔ)介質(zhì)上的文件、物理設(shè)備等等。 ( 3) 控制耦合 如果在模塊間傳遞的信息中含有控制信息(有時(shí)控制信息以數(shù)據(jù)的形式出現(xiàn)),則這種耦合稱為控制耦合,如圖 43 所示。 ( 2)數(shù)據(jù)耦合 如果兩個(gè)模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。因此,模塊間的耦合程度影響系統(tǒng)的可理解性、可測(cè)試性、可靠性和可維護(hù)性。耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,調(diào)用模塊的方式,以及通過接口的信息。換句話說,希望這樣設(shè)計(jì)軟件結(jié)構(gòu),使得每個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1