




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第 三三 章章3軟件設(shè)計高等教育出版社高等教育出版社高等教育電子音像出版社高等教育電子音像出版社 軟件設(shè)計是軟件開發(fā)的關(guān)鍵步驟,直接影響軟軟件設(shè)計是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件質(zhì)量件質(zhì)量。軟件設(shè)計階段要解決軟件設(shè)計階段要解決“如何做如何做”的問題。的問題。 將分析階段獲得的需求說明轉(zhuǎn)換為計算機中可將分析階段獲得的需求說明轉(zhuǎn)換為計算機中可實現(xiàn)的系統(tǒng)。包括實現(xiàn)的系統(tǒng)。包括: :軟件體系結(jié)構(gòu)的設(shè)計軟件體系結(jié)構(gòu)的設(shè)計用戶界面的設(shè)計用戶界面的設(shè)計數(shù)據(jù)結(jié)構(gòu)的設(shè)計數(shù)據(jù)結(jié)構(gòu)的設(shè)計算法的設(shè)計算法的設(shè)計 即軟件設(shè)計的任務是通過多項設(shè)計,構(gòu)造一個即軟件設(shè)計的任務是通過多項設(shè)計,構(gòu)造一個高內(nèi)聚低耦合的軟件模型。
2、高內(nèi)聚低耦合的軟件模型。過程設(shè)計過程設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計界面設(shè)計界面設(shè)計軟件設(shè)計軟件設(shè)計 從工程管理的角度來看,軟件設(shè)計分兩步完成,分從工程管理的角度來看,軟件設(shè)計分兩步完成,分為總體設(shè)計(概要設(shè)計)和詳細設(shè)計兩個階段。為總體設(shè)計(概要設(shè)計)和詳細設(shè)計兩個階段。 概要設(shè)計。將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系概要設(shè)計。將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。統(tǒng)結(jié)構(gòu)。 詳細設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件詳詳細設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件詳細的數(shù)據(jù)結(jié)構(gòu)和算法。細的數(shù)據(jù)結(jié)構(gòu)和算法。軟件設(shè)計工作流程需求需求說明書說明書復復審審軟件結(jié)構(gòu)軟件結(jié)構(gòu)可接受可接受模塊描
3、述復復審審修修 改改修修 改改總體總體設(shè)計設(shè)計詳細詳細設(shè)計設(shè)計 軟件設(shè)計的目標就是構(gòu)造一個高內(nèi)聚、低耦合的軟軟件設(shè)計的目標就是構(gòu)造一個高內(nèi)聚、低耦合的軟件模型。件模型。軟件軟件高可靠性高可靠性高可維高可維護性護性高可理高可理解性解性高效率高效率軟件設(shè)計的目標衡量軟件設(shè)計的目標的衡量軟件設(shè)計的目標的準則準則: 軟件實體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。軟件實體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。 軟件實體應該是模塊化的,模塊具有獨立功能。軟件實體應該是模塊化的,模塊具有獨立功能。 設(shè)計規(guī)格說明清晰、簡潔、完整和無二義性。設(shè)計規(guī)格說明清晰、簡潔、完整和無二義性。 軟件實體與環(huán)境的界面清晰。軟
4、件實體與環(huán)境的界面清晰。3.1.1 3.1.1 軟件體系結(jié)構(gòu)設(shè)計軟件體系結(jié)構(gòu)設(shè)計軟件體系結(jié)構(gòu)確定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),軟件體系結(jié)構(gòu)確定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應關(guān)系,顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應關(guān)系,提供了一些設(shè)計決策的基本原理。提供了一些設(shè)計決策的基本原理。 體系結(jié)構(gòu)的設(shè)計過程的主要活動:體系結(jié)構(gòu)的設(shè)計過程的主要活動:1.系統(tǒng)分解系統(tǒng)分解將系統(tǒng)分解為若干相互作用的子系統(tǒng)。將系統(tǒng)分解為若干相互作用的子系統(tǒng)。2.控制建??刂平=⑾到y(tǒng)各部分間控制關(guān)系的一般模型。建立系統(tǒng)各部分間控制關(guān)系的一般模型。3.模塊分解模塊分解 將子系統(tǒng)進一步劃
5、分為模塊。將子系統(tǒng)進一步劃分為模塊。注意注意:往往子系統(tǒng)與模塊之間沒有明顯界限。往往子系統(tǒng)與模塊之間沒有明顯界限。體系結(jié)構(gòu)設(shè)計是軟件設(shè)計的第一個階段,該階段側(cè)重體系結(jié)構(gòu)設(shè)計是軟件設(shè)計的第一個階段,該階段側(cè)重于系統(tǒng)宏觀結(jié)構(gòu)的設(shè)計,而不關(guān)心模塊的內(nèi)部算法。于系統(tǒng)宏觀結(jié)構(gòu)的設(shè)計,而不關(guān)心模塊的內(nèi)部算法。軟件系統(tǒng)的體系結(jié)構(gòu)分為集中式的倉庫模型、分布式軟件系統(tǒng)的體系結(jié)構(gòu)分為集中式的倉庫模型、分布式模型等。模型等。 一、倉庫模型一、倉庫模型(The repository model) 也稱也稱“容器模型容器模型 ”,是一種集中式的模型。中央數(shù)據(jù),是一種集中式的模型。中央數(shù)據(jù)倉庫存儲各個子系統(tǒng)共享的數(shù)據(jù),其
6、他的子系統(tǒng)可以直接倉庫存儲各個子系統(tǒng)共享的數(shù)據(jù),其他的子系統(tǒng)可以直接訪問這些共享數(shù)據(jù)。子系統(tǒng)之間緊密耦合。訪問這些共享數(shù)據(jù)。子系統(tǒng)之間緊密耦合。 中央數(shù)據(jù)倉庫中央數(shù)據(jù)倉庫(Repository)子系統(tǒng)子系統(tǒng)1子系統(tǒng)子系統(tǒng)2子系統(tǒng)子系統(tǒng)n 倉庫結(jié)構(gòu)一、倉庫模型一、倉庫模型(The repository model)設(shè)計編輯器設(shè)計編輯器代碼生成器代碼生成器設(shè)計分析器設(shè)計分析器報告生成器報告生成器設(shè)計轉(zhuǎn)換器設(shè)計轉(zhuǎn)換器項項 目目 存存 儲儲程序編輯器程序編輯器 集成CASE工具集的體系結(jié)構(gòu) 各子系統(tǒng)共享中央數(shù)據(jù)庫中的數(shù)據(jù)各子系統(tǒng)共享中央數(shù)據(jù)庫中的數(shù)據(jù)共享容器模型共享容器模型 各子系統(tǒng)有自己的數(shù)據(jù)庫,子
7、系統(tǒng)之間通過消息傳各子系統(tǒng)有自己的數(shù)據(jù)庫,子系統(tǒng)之間通過消息傳遞實現(xiàn)數(shù)據(jù)交換。遞實現(xiàn)數(shù)據(jù)交換。適宜命令控制系統(tǒng)、適宜命令控制系統(tǒng)、CAD系統(tǒng)系統(tǒng) 倉庫模型的主要優(yōu)缺點倉庫模型的主要優(yōu)缺點優(yōu)點:優(yōu)點: 1.共享大數(shù)據(jù)量的有效方法。共享大數(shù)據(jù)量的有效方法。 2.子系統(tǒng)不必關(guān)心其他的子系統(tǒng)如何使用它所產(chǎn)生的數(shù)子系統(tǒng)不必關(guān)心其他的子系統(tǒng)如何使用它所產(chǎn)生的數(shù)據(jù)。據(jù)。 3.易于將新子系統(tǒng)集成,若新子系統(tǒng)也采用相同規(guī)范易于將新子系統(tǒng)集成,若新子系統(tǒng)也采用相同規(guī)范 。 缺陷:缺陷: 1.為了共享數(shù)據(jù)為了共享數(shù)據(jù) ,各子系統(tǒng)必須有一致的數(shù)據(jù)視圖各子系統(tǒng)必須有一致的數(shù)據(jù)視圖 ,不可避,不可避免地會影響了整個系統(tǒng)的
8、性能。免地會影響了整個系統(tǒng)的性能。 2.子系統(tǒng)的改變使產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)也可能發(fā)生改變。子系統(tǒng)的改變使產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)也可能發(fā)生改變。 3.統(tǒng)一的數(shù)據(jù)庫結(jié)構(gòu)統(tǒng)一的數(shù)據(jù)庫結(jié)構(gòu)(備份、安全、訪問控制和恢復的策備份、安全、訪問控制和恢復的策 ),將影響子系統(tǒng)的效率將影響子系統(tǒng)的效率 。二、二、 客戶服務器模型客戶服務器模型(Client/Server Architectural Model) C/S結(jié)構(gòu)是一種結(jié)構(gòu)是一種分布式模型分布式模型,采用發(fā)請求、得結(jié)果的,采用發(fā)請求、得結(jié)果的模式:模式:客戶機客戶機 向服務器發(fā)出請求向服務器發(fā)出請求(數(shù)據(jù)請求、網(wǎng)頁請求、文件數(shù)據(jù)請求、網(wǎng)頁請求、文件傳輸請求等傳輸請求
9、等)。服務器服務器 響應請求,進行相應的操作,將結(jié)果回傳給客戶響應請求,進行相應的操作,將結(jié)果回傳給客戶機,客戶機再將格式化后的結(jié)果呈現(xiàn)給用戶。機,客戶機再將格式化后的結(jié)果呈現(xiàn)給用戶。C/S結(jié)構(gòu)的應用都由三個相對獨立的邏輯部分組成。結(jié)構(gòu)的應用都由三個相對獨立的邏輯部分組成。用戶界面用戶界面應用邏輯應用邏輯數(shù)據(jù)訪問數(shù)據(jù)訪問三種邏輯之間的關(guān)系兩層客戶服務器模型兩層客戶服務器模型 (Two Tier Client/Server Architectural Model)服務器服務器1網(wǎng)絡(luò)網(wǎng)絡(luò)服務器服務器2服務器服務器M客戶客戶1客戶客戶2客戶客戶N兩層兩層Client/Server結(jié)構(gòu)結(jié)構(gòu)請求請求結(jié)果
10、結(jié)果請求請求C/S的工作模式是一種遠程過程調(diào)用的工作模式是一種遠程過程調(diào)用(RPC,Remote Procedure Call)模式,允許客戶端和服務器端有不同的軟模式,允許客戶端和服務器端有不同的軟硬平臺。硬平臺。client1 1client2 2client4 4client3 3Wide-bandwidth netwokCatalogueservercataloguevideoserverFilm clipfilespictureserverdigitisedphotographshypertextserverhypertextweb例:例:電影圖片庫的系統(tǒng)的體系結(jié)構(gòu)s 完整的應用包含
11、三個相對獨立的邏輯部分,而兩層的完整的應用包含三個相對獨立的邏輯部分,而兩層的C/S結(jié)構(gòu)只有兩個端應用。應用邏輯應該映射到哪一端上結(jié)構(gòu)只有兩個端應用。應用邏輯應該映射到哪一端上呢?呢? 三種情況:三種情況:網(wǎng)網(wǎng) 絡(luò)絡(luò)用戶界面用戶界面客戶端邏輯客戶端邏輯應用應用服務端邏輯服務端邏輯應用應用客戶端客戶端用戶界面用戶界面邏輯應用邏輯應用數(shù)據(jù)訪問數(shù)據(jù)訪問用戶界面用戶界面邏輯應用邏輯應用數(shù)據(jù)訪問數(shù)據(jù)訪問服務器服務器應用邏輯層的映射情況數(shù)據(jù)訪問數(shù)據(jù)訪問C/S應用應用3C/S應用應用1C/S應用應用2 兩層兩層C/S架構(gòu)將數(shù)據(jù)表示和處理邏輯分開架構(gòu)將數(shù)據(jù)表示和處理邏輯分開 ,但應用邏,但應用邏輯和兩端之一是
12、緊耦合的輯和兩端之一是緊耦合的,不適宜多用戶、多數(shù)據(jù)庫、非不適宜多用戶、多數(shù)據(jù)庫、非安全的網(wǎng)絡(luò)環(huán)境。安全的網(wǎng)絡(luò)環(huán)境。 2.三層三層/多層應用模型多層應用模型(Three/Multi Tier Model) 第一級是數(shù)據(jù)庫管理結(jié)點第一級是數(shù)據(jù)庫管理結(jié)點(database management node)。第二級或中間級是第二級或中間級是“商業(yè)邏輯結(jié)點商業(yè)邏輯結(jié)點” (business logic node),是是指具體應用中實施的指具體應用中實施的 程序邏輯和法則。程序邏輯和法則。第三級是用戶界面級,強調(diào)高效、方便易用的用戶界面。第三級是用戶界面級,強調(diào)高效、方便易用的用戶界面。Database
13、 management node(數(shù)據(jù)庫管理結(jié)點)(數(shù)據(jù)庫管理結(jié)點)business logic node(商業(yè)邏輯結(jié)點)商業(yè)邏輯結(jié)點)Security(安全)(安全)Event(事件)(事件)Search(搜索)(搜索)ClientAClientDClientBClientC服服務務器器客客戶戶機機第一級第一級第二級第二級第三級第三級客戶端客戶端用戶界面用戶界面服務器服務器數(shù)據(jù)訪問數(shù)據(jù)訪問多層應用模型網(wǎng)網(wǎng) 絡(luò)絡(luò)應用服務器應用服務器1應用邏輯應用邏輯應用服務器應用服務器n應用邏輯應用邏輯 在多層模型中,中間層會用到應用服務,包括事務在多層模型中,中間層會用到應用服務,包括事務服務、消息服務等等
14、。常見的事務服務器有服務、消息服務等等。常見的事務服務器有Microsoft Transaction Server,消息服務器有,消息服務器有Microsoft Message Queue。三、分布式對象結(jié)構(gòu)三、分布式對象結(jié)構(gòu)(Distributed Objects Architecture) 在在C/S模型中,客戶和服務器在服務模型中,客戶和服務器在服務/請求上的差別,請求上的差別,在一定程度上限制了系統(tǒng)的靈活性和可擴展性。在一定程度上限制了系統(tǒng)的靈活性和可擴展性。 采用分布式對象結(jié)構(gòu)采用分布式對象結(jié)構(gòu) : “對象對象(Object)”提供服務的系統(tǒng)組件提供服務的系統(tǒng)組件(System Co
15、mponent)。 每個對象在邏輯上是平等的,它們可以互相為對方提每個對象在邏輯上是平等的,它們可以互相為對方提供所需的服務。供所需的服務。 提供服務的對象就是服務器,而提出服務請求的對象提供服務的對象就是服務器,而提出服務請求的對象就是客戶。就是客戶。 軟件總線軟件總線(Software Bus)的中間件的中間件(Middleware) 即即對象請求代理對象請求代理(Object Request Broker,ORB) 分布式對象結(jié)構(gòu)具有很好的開放性和透明性,用分布式對象結(jié)構(gòu)具有很好的開放性和透明性,用戶可以非常方便地在總線上添加、更新或刪除組件對戶可以非常方便地在總線上添加、更新或刪除組件
16、對象。象。軟件總線軟件總線(ORB)O1S(O1)O2S(O2)OnS(On)分布式對象結(jié)構(gòu)流行的流行的ORB技術(shù)標準有:技術(shù)標準有:CORBA(Common Object Request Broker Architecture) 公共對象請求代理體系結(jié)構(gòu)公共對象請求代理體系結(jié)構(gòu)。由對象管理組織由對象管理組織OMG (Object Management Group)提出的應用軟件體系結(jié)構(gòu))提出的應用軟件體系結(jié)構(gòu)和對象技術(shù)規(guī)范。和對象技術(shù)規(guī)范。2.COM(Distributed Component Object Model) 組件對象模型組件對象模型。為組件之間、組件與應用程序之間。為組件之間、
17、組件與應用程序之間的通信和互操作提供了統(tǒng)一的標準和技術(shù)規(guī)范,使不同語的通信和互操作提供了統(tǒng)一的標準和技術(shù)規(guī)范,使不同語言開發(fā)的組件可進行基于組件的軟件開發(fā)。言開發(fā)的組件可進行基于組件的軟件開發(fā)。 3. EJB(Enterprise Java Bean) 由由Sun公司定義的規(guī)范,公司定義的規(guī)范,EJB構(gòu)件是實現(xiàn)構(gòu)件是實現(xiàn)EJB規(guī)范的規(guī)范的Java構(gòu)件,構(gòu)件,完成企業(yè)級應用中的業(yè)務邏輯。完成企業(yè)級應用中的業(yè)務邏輯。EJB構(gòu)件駐留構(gòu)件駐留在在EJB容器中。容器中。 四、四、 抽象機模型抽象機模型又稱為又稱為分層模型分層模型,通常用于建立子系統(tǒng)的接口模型。,通常用于建立子系統(tǒng)的接口模型。每層提供一組
18、服務,定義一個每層提供一組服務,定義一個抽象機。抽象機。典型的例子:典型的例子:應用層協(xié)議應用層協(xié)議表示層協(xié)議表示層協(xié)議會話層協(xié)議會話層協(xié)議傳輸層協(xié)議傳輸層協(xié)議 物物 理理 介介 質(zhì)質(zhì)應用層應用層表示層表示層會話層會話層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層應用層應用層表示層表示層會話層會話層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層中繼系統(tǒng)中繼系統(tǒng) 中繼系統(tǒng)中繼系統(tǒng)主機系統(tǒng)主機系統(tǒng)主機系統(tǒng)主機系統(tǒng)優(yōu)點:支持增量式開發(fā)。優(yōu)點:支持增量式開發(fā)。缺點:系統(tǒng)構(gòu)成、性能保證較困難。缺
19、點:系統(tǒng)構(gòu)成、性能保證較困難。五、控制摸型五、控制摸型 考慮子系統(tǒng)之間的控制流。控制方式分為以下考慮子系統(tǒng)之間的控制流??刂品绞椒譃橐韵聨追N:幾種:1.集中式控制集中式控制主程序主程序程序程序1程序程序2程序程序3程序程序11程序程序12程序程序31程序程序32控制的調(diào)用返回模型2.事件驅(qū)動系統(tǒng)事件驅(qū)動系統(tǒng) 由外部產(chǎn)生的事件來驅(qū)動系統(tǒng)由外部產(chǎn)生的事件來驅(qū)動系統(tǒng) 廣播模型廣播模型 中斷驅(qū)動的模型中斷驅(qū)動的模型系統(tǒng)控制器系統(tǒng)控制器計算進程計算進程用戶界面用戶界面故障處理器故障處理器傳感器進程傳感器進程傳動裝置進程傳動裝置進程實時系統(tǒng)的集中式模型1.1.軟件結(jié)構(gòu)的準則軟件結(jié)構(gòu)的準則2. 模塊化準則模
20、塊化準則3.3.軟件獨立性準則軟件獨立性準則 軟件設(shè)計是軟件開發(fā)過程的重要階段,對保證軟件設(shè)計是軟件開發(fā)過程的重要階段,對保證軟件系統(tǒng)的質(zhì)量起著關(guān)鍵作用。但是如何保證軟件軟件系統(tǒng)的質(zhì)量起著關(guān)鍵作用。但是如何保證軟件設(shè)計的質(zhì)量呢?有以下經(jīng)過長期考驗的設(shè)計準則:設(shè)計的質(zhì)量呢?有以下經(jīng)過長期考驗的設(shè)計準則: 這些設(shè)計準則直接影響到體系結(jié)構(gòu)的設(shè)計過程這些設(shè)計準則直接影響到體系結(jié)構(gòu)的設(shè)計過程的主要活動的主要活動系統(tǒng)分解和模塊分解。系統(tǒng)分解和模塊分解。 軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表示,均表示為層次關(guān)系的表示,均表示為層次關(guān)系。軟 件 結(jié)
21、構(gòu) 示 意 圖0層層1層層2層層ABCDEFGHIJKLMN深度寬度扇入為扇入為2扇出為扇出為3扇入為扇入為3寬度深度寬度3層層4層層一、軟件結(jié)構(gòu)的準則一、軟件結(jié)構(gòu)的準則 深度深度:表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊的層數(shù)的層數(shù)。 寬度寬度:表示控制的總分布。表示控制的總分布。 扇出數(shù)扇出數(shù):指一個模塊直接控制下屬的模塊個數(shù)。指一個模塊直接控制下屬的模塊個數(shù)。 扇入數(shù)扇入數(shù):指一個模塊的直接上屬模塊個數(shù)。指一個模塊的直接上屬模塊個數(shù)。 一個好的軟件結(jié)構(gòu)的形態(tài)準則是:頂部寬度小,一個好的軟件結(jié)構(gòu)的形態(tài)準則是:頂部寬度小,中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部
22、有較高的中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部有較高的扇入數(shù)。扇出數(shù),在底部有較高的扇入數(shù)。有有 關(guān)關(guān) 指指 標標 所謂所謂模塊化模塊化就是將系統(tǒng)劃分成若干模塊,每個模塊就是將系統(tǒng)劃分成若干模塊,每個模塊完成一個子功能,把這些模塊集中起來組成一個整體,以完成一個子功能,把這些模塊集中起來組成一個整體,以滿足所要求的整個系統(tǒng)的功能滿足所要求的整個系統(tǒng)的功能。 我們利用模塊化來降低軟件復雜度。注意選擇分解的我們利用模塊化來降低軟件復雜度。注意選擇分解的最佳模塊數(shù)。最佳模塊數(shù)。二、二、模塊化準則模塊化準則三、軟件獨立性準則三、軟件獨立性準則 軟件獨立性的含義是指開發(fā)具有功能專一
23、,模塊之軟件獨立性的含義是指開發(fā)具有功能專一,模塊之間無過多相互作用的模塊。又稱為間無過多相互作用的模塊。又稱為模塊獨立性準則。模塊獨立性準則。 這種類型的模塊可以并行開發(fā),開發(fā)容易,能減少這種類型的模塊可以并行開發(fā),開發(fā)容易,能減少錯誤的影響,使模塊容易組合、修改及測試。錯誤的影響,使模塊容易組合、修改及測試。 耦合性耦合性 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。內(nèi)聚性內(nèi)聚性 用于描述模塊內(nèi)部聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。軟件獨立性的度量標準是兩個定性指標:軟件獨立性的度量標準是兩個定性指標:內(nèi)容耦合內(nèi)容耦合公共耦合公共耦合控制耦合控制耦合復合耦合
24、復合耦合數(shù)據(jù)耦合數(shù)據(jù)耦合偶然型偶然型邏輯型邏輯型瞬時型瞬時型通信型通信型順序型順序型功能型功能型3.3 3.3 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 SD(Structured Design)法與法與SA、SP法前后銜接,法前后銜接,是結(jié)構(gòu)化開發(fā)方法的核心。是結(jié)構(gòu)化開發(fā)方法的核心。一、一、SD SD 法的基本概念法的基本概念1. SD SD 法的兩個階段法的兩個階段 總體設(shè)計總體設(shè)計 任務:任務: 解決系統(tǒng)的模塊結(jié)構(gòu),即分解模塊,解決系統(tǒng)的模塊結(jié)構(gòu),即分解模塊,確定確定模塊功能模塊功能及系統(tǒng)模塊的層次結(jié)構(gòu)。及系統(tǒng)模塊的層次結(jié)構(gòu)。 文檔:文檔:模塊結(jié)構(gòu)圖及其模塊功能說明。模塊結(jié)構(gòu)圖及其模塊功能說明。 詳
25、細設(shè)計詳細設(shè)計 對模塊圖中每個模塊的過程進行描述,常用的對模塊圖中每個模塊的過程進行描述,常用的描述的方式有:偽代碼、流程圖、描述的方式有:偽代碼、流程圖、N-S圖、圖、PAD圖等。圖等。2.SD 2.SD 法的設(shè)計步驟法的設(shè)計步驟 從從DFDDFD圖導出初始的模塊結(jié)構(gòu)圖圖導出初始的模塊結(jié)構(gòu)圖(SC)(SC)。 按照按照SDSD法設(shè)計總則,改進模塊結(jié)構(gòu)圖。法設(shè)計總則,改進模塊結(jié)構(gòu)圖。注意:注意:模塊結(jié)構(gòu)圖不同于模塊結(jié)構(gòu)圖不同于“框圖框圖”。軟件軟件層次性層次性 : : 反映軟件整體的性質(zhì)反映軟件整體的性質(zhì) ( (結(jié)構(gòu)圖結(jié)構(gòu)圖) )過程性過程性 : : 反映局部的性質(zhì)反映局部的性質(zhì) ( (框圖框
26、圖) )3.DFD3.DFD圖的分類圖的分類 中心變換型中心變換型(transform center) (transform center) 變換分析變換分析 事務處理型事務處理型(transaction) (transaction) 事務分析事務分析3.3 3.3 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法( (續(xù))續(xù)) 這類數(shù)據(jù)流圖可看成是對輸入數(shù)據(jù)進行轉(zhuǎn)換而得這類數(shù)據(jù)流圖可看成是對輸入數(shù)據(jù)進行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理。到輸出數(shù)據(jù)的處理。 DFDDFD圖可以明顯分為圖可以明顯分為 “ “輸入輸入處理處理輸出輸出 ” ”三三部分部分(物理輸入)(物理輸入)(邏輯輸入)(邏輯輸入)(邏輯輸出)(邏輯輸出)輸
27、輸 入入處理處理輸輸 出出(物理輸出)(物理輸出)檢查檢查順序順序檢查檢查合理性合理性擴充擴充代碼代碼核對核對 記錄記錄修改修改壓縮壓縮代碼代碼格式化格式化修改修改數(shù)據(jù)數(shù)據(jù) 舊文件舊文件新文件新文件中心變換型中心變換型 的的 DFD DFD 圖圖 這類數(shù)據(jù)流圖有一個數(shù)據(jù)處理中心,按加工的結(jié)這類數(shù)據(jù)流圖有一個數(shù)據(jù)處理中心,按加工的結(jié)果選擇一個輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。果選擇一個輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。 如下圖所示:如下圖所示:分類分類報名報名付款付款注銷注銷查詢查詢復審復審采用采用“事務分析事務分析”(transaction Analysis)技術(shù)技術(shù)事務處理型事務處理型 的的 DFD 圖圖序
28、號序號內(nèi)內(nèi) 容容長度(字節(jié))長度(字節(jié))數(shù)據(jù)類型數(shù)據(jù)類型可否修改可否修改1賬號賬號5數(shù)字數(shù)字否否2戶名戶名30數(shù)字字母數(shù)字字母可可3地址地址30數(shù)字字母數(shù)字字母可可4省省10字母字母可可5市市15字母字母可可6郵政編碼郵政編碼5數(shù)字數(shù)字可可7電話電話7數(shù)字數(shù)字可可8類型類型1字母字母否否9信貸員號信貸員號5數(shù)字數(shù)字可可10最近一次業(yè)務日期最近一次業(yè)務日期6數(shù)字數(shù)字否否11最近一次付息日期最近一次付息日期6數(shù)字數(shù)字否否12余額余額8數(shù)字數(shù)字否否13業(yè)務總量業(yè)務總量8數(shù)字數(shù)字否否14限額限額6數(shù)字數(shù)字否否 要求對貸款文件進行修改,修改信息由卡片輸入,要求對貸款文件進行修改,修改信息由卡片輸入,卡片
29、上的修改信息格式如下:卡片上的修改信息格式如下: 15位位 69位位 10位起位起 賬號賬號 空空 修改值修改值1 1* 修改值修改值2 2* .* (序號)序號) 分析分析: :貸款文件的記錄格式(如前表)貸款文件的記錄格式(如前表)1.1. 修改記錄(卡片)格式修改記錄(卡片)格式3. 3. 需求分析結(jié)果需求分析結(jié)果DFD DFD 圖圖, ,是一種混合的是一種混合的 DFD DFD 圖。圖。修修改改記記錄錄寫寫記記錄錄卡片卡片編編輯輯卡卡片片檢檢查查順順序序檢檢查查次次序序賬賬號號相相等等錯誤順序卡片順序卡片修改信息修改信息舊記錄舊記錄順序記錄順序記錄要修改要修改的記錄的記錄不修改不修改的
30、記錄的記錄已修改已修改的記錄的記錄新記錄新記錄修修改改分分類類抽抽出出修修改改順序順序卡片卡片修改修改信息信息2345679需求分析結(jié)果需求分析結(jié)果 DFD DFD 圖圖編輯卡片加工分解編輯卡片加工分解主加工是?主加工是?報告報告報告報告修改信息修改信息順序記錄順序記錄新記錄新記錄將將DFDDFD圖轉(zhuǎn)換為模塊結(jié)構(gòu)圖圖轉(zhuǎn)換為模塊結(jié)構(gòu)圖貸款文件貸款文件管理系統(tǒng)管理系統(tǒng)取順序取順序記錄記錄修改修改記錄記錄打印打印報告報告打印打印記錄記錄比較比較賬號賬號取修改取修改信息信息讀舊讀舊記錄記錄檢查檢查順序順序取取卡片卡片編輯編輯卡片卡片讀卡片讀卡片檢查順序檢查順序卡片卡片順序卡片舊記錄舊記錄順序記錄順序記
31、錄順序卡片順序卡片已修改“編輯卡片編輯卡片”應繼應繼續(xù)向下分解,是典續(xù)向下分解,是典型的型的“事務處理事務處理”型的型的DFDDFD圖。圖。寫寫記錄記錄修修改改記記錄錄寫寫記記錄錄卡片卡片編編輯輯卡卡片片檢檢查查順順序序檢檢查查次次序序賬賬號號相相等等錯誤順序卡片順序卡片修改信息修改信息舊記錄舊記錄順序記錄順序記錄要修改要修改的記錄的記錄不修改不修改的記錄的記錄已修改已修改的記錄的記錄新記錄新記錄報告報告已編輯卡片 按照按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計總則進行的設(shè)計總則進行修改,完善系統(tǒng)的模塊圖,寫出模塊的功能說明。修改,完善系統(tǒng)的模塊圖,寫出模塊的功能說明。
32、模塊結(jié)構(gòu)圖的改進模塊結(jié)構(gòu)圖的改進功能模塊的組成:功能模塊的組成: 執(zhí)行某項任務的部分執(zhí)行某項任務的部分 出錯處理部分出錯處理部分 返回結(jié)束標志返回結(jié)束標志具體具體從以下方面改進:從以下方面改進:1 1)盡可能建立功能模塊)盡可能建立功能模塊功能模塊具有最強的內(nèi)聚性,應滿足信息屏蔽原則:功能模塊具有最強的內(nèi)聚性,應滿足信息屏蔽原則:一個模塊內(nèi)所包含的信息(過程和數(shù)據(jù))對不需要這些一個模塊內(nèi)所包含的信息(過程和數(shù)據(jù))對不需要這些信息的模塊是不能訪問的(黑盒)。信息的模塊是不能訪問的(黑盒)。2 2)消除重復功能)消除重復功能 若兩模塊含有重復的部分,應設(shè)法將重復的功能若兩模塊含有重復的部分,應設(shè)法
33、將重復的功能消去。消去。(a)XYQ1Q2YQ2QXQ(b)(c)(d)Q重復部分重復部分Y YXQ1YQ2四、模塊結(jié)構(gòu)圖的改進四、模塊結(jié)構(gòu)圖的改進X X控制范圍控制范圍 結(jié)構(gòu)方面的特點,結(jié)構(gòu)方面的特點,包括模塊及其所有下屬模塊。包括模塊及其所有下屬模塊。作用范圍作用范圍 判斷所涉及的模塊判斷所涉及的模塊,是從功能特點考慮的。,是從功能特點考慮的。3 3)模塊的作用范圍應與控制范圍)模塊的作用范圍應與控制范圍TOPXTBAB1B2SD方法認為:方法認為:當作用范圍為控制范圍的子集時,才當作用范圍為控制范圍的子集時,才能獲得較低的塊間聯(lián)系能獲得較低的塊間聯(lián)系, 如圖中的設(shè)計,判定的作如圖中的設(shè)計
34、,判定的作用范圍恰好在判定所在模塊的下一層。用范圍恰好在判定所在模塊的下一層。4 4)模塊的大小適當)模塊的大小適當 模塊大小指其篇幅,一般模塊大小為模塊大小指其篇幅,一般模塊大小為50-10050-100行行為宜。為宜。5 5)模塊的扇入)模塊的扇入/ /扇出數(shù)不宜太多扇出數(shù)不宜太多 扇出數(shù)扇出數(shù) 一個模塊調(diào)用其他模塊的個數(shù)。一個模塊調(diào)用其他模塊的個數(shù)。 扇入數(shù)扇入數(shù) 一個模塊被其他模塊調(diào)用的個數(shù)。一個模塊被其他模塊調(diào)用的個數(shù)。 除服務性模塊外,模塊的扇入扇出數(shù)不宜太多除服務性模塊外,模塊的扇入扇出數(shù)不宜太多,否則塊間聯(lián)系增加。,否則塊間聯(lián)系增加。 一、任務一、任務 詳細設(shè)計階段的任務是開發(fā)
35、一個可以直接轉(zhuǎn)換為詳細設(shè)計階段的任務是開發(fā)一個可以直接轉(zhuǎn)換為程序的軟件表示,即對系統(tǒng)中每個模塊的內(nèi)部過程程序的軟件表示,即對系統(tǒng)中每個模塊的內(nèi)部過程進行設(shè)計和描述。進行設(shè)計和描述。 二、常用的描述方法工具二、常用的描述方法工具 1.1.流程圖流程圖 2.2.結(jié)構(gòu)化流程圖(結(jié)構(gòu)化流程圖(N-S圖)圖) 3.3.PAD圖問題分析圖圖問題分析圖 4.4.PDL 語言語言3.4 3.4 詳細設(shè)計詳細設(shè)計結(jié)構(gòu)化流程圖(結(jié)構(gòu)化流程圖(N-S圖)圖)由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成。由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成。順序結(jié)構(gòu)順序結(jié)構(gòu)塊塊1塊塊2塊塊3塊塊4條件條件T F塊塊1塊塊2選擇結(jié)構(gòu)選擇結(jié)構(gòu)Cas
36、e I=1,2,3T塊塊1塊塊2多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)F塊塊3塊塊當條件成立時當條件成立時當型循環(huán)當型循環(huán)塊塊直到條件成立時直到條件成立時直到型循環(huán)直到型循環(huán)結(jié)構(gòu)化流程圖(結(jié)構(gòu)化流程圖(N-S圖)圖)ab條條 件件 1TF Case Xi, i=2,3,4X2X3X4當條件當條件3成立成立條條 件件 2直到條件直到條件4成立成立直直 到到 條條 件件 成立成立cdefghij順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)FTTFPADPAD圖圖問題分析圖(問題分析圖(Problem Analysis Diagr
37、amProblem Analysis Diagram)其基本控制結(jié)構(gòu)如下:其基本控制結(jié)構(gòu)如下:條件條件then部分部分else部分部分選擇結(jié)構(gòu)選擇結(jié)構(gòu)TF任務任務1任務任務2任務任務3 順序結(jié)構(gòu)順序結(jié)構(gòu)WHILE型條件型條件循環(huán)體循環(huán)體先判定型循環(huán)結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)UNTIL型條件型條件循環(huán)體循環(huán)體后判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)控控制制變變量量 任務任務1任務任務2任務任務n多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)值值 1值值 2值值 n例:對數(shù)組例:對數(shù)組X進行排序。進行排序。 “自頂而下,逐步求精自頂而下,逐步求精”J:=hk:=h+1,nJ:=kH:=1,n-1排好第排好第h個個X hW:=Xh
38、Xh:=XjXj:=w 1. 循環(huán)一次,排好一個循環(huán)一次,排好一個Xh排好第排好第H個個X h找找 XJ= MAX(XhXn)交換交換 XJ 和和 Xh2. 細化細化XkXJ(a)(b)(b)(a)3. 3. 連接各圖,構(gòu)成完整的連接各圖,構(gòu)成完整的PADPAD圖圖H:=1,n-1H:=1,n-1H:=1,n-1H:=1,n-1H:=1,n-13.5 面向?qū)ο蟮脑O(shè)計方法 OOD(Object-Oriented Design)OrderLine Quantity:Integer isSatisfied1*1*1*Customer name address CreditRating()()Orde
39、r dataReceived isPrepaid number:String dispatch()() close() () Personal CustomercreditCardCorporate Customer contactName creditRating creditLimit remind() billForMonth() EmployeeProduct0.1+LineItem:MeetingAdministrtiona:Meeting:MeetingAdministrtionaDefineMeeting(meeting)IsMeetingExisted=.T.3:Fail(Me
40、etingExisted)2:new(meeting)順序圖順序圖電梯的狀態(tài)表示電梯的狀態(tài)表示狀態(tài)圖On first floorGo up(floor)Moving updo/moving to floorGo up(floor)Idletimer=0do/increase timerarrivedMoving downdo/moving to floorGo down (floor)timer= timer-outMoving to first floorarrivedarrived 隨著各種應用軟件的面市,作為人機接口的用戶隨著各種應用軟件的面市,作為人機接口的用戶界面具有越來越重要的作用
41、,用戶界面是否友好直接界面具有越來越重要的作用,用戶界面是否友好直接影響到軟件的壽命與競爭力。因此,對用戶界面的設(shè)影響到軟件的壽命與競爭力。因此,對用戶界面的設(shè)計必須予以足夠的重視。計必須予以足夠的重視。3.6 3.6 用戶界面設(shè)計用戶界面設(shè)計 用戶界面設(shè)計中的主要問題用戶界面設(shè)計中的主要問題 什么是友好的用戶界面。什么是友好的用戶界面。 用戶界面設(shè)計應該完成的工用戶界面設(shè)計應該完成的工作。作??傊脩艚缑嬖O(shè)計要以人為本??傊?,用戶界面設(shè)計要以人為本。用戶界面設(shè)計迭代過程用戶界面設(shè)計迭代過程分析和理解分析和理解用戶活動用戶活動在紙上設(shè)計在紙上設(shè)計原型原型與最終用戶與最終用戶一起評價一起評價設(shè)
42、計原型設(shè)計原型產(chǎn)生動態(tài)產(chǎn)生動態(tài)設(shè)計原型設(shè)計原型與最終用戶與最終用戶一起評價一起評價實現(xiàn)最終的實現(xiàn)最終的用戶界面用戶界面可執(zhí)行原型可執(zhí)行原型 在用戶界面中,加入豐富多彩的圖片,將能夠更加形象地在用戶界面中,加入豐富多彩的圖片,將能夠更加形象地為用戶提供有用的信息,以達到可視化的目的。主要的處理操為用戶提供有用的信息,以達到可視化的目的。主要的處理操作有:圖像的隱蔽和再現(xiàn)、屏幕滾動和圖案顯示、動畫等。作有:圖像的隱蔽和再現(xiàn)、屏幕滾動和圖案顯示、動畫等。圖圖 形形 用戶界面設(shè)計原則:用戶界面設(shè)計原則: 1.可視性和可支付性可視性和可支付性(Visibility and Affordance)。 2.努力保持命令、菜單。顏色等統(tǒng)一(努力保持命令、菜單。顏色等統(tǒng)一(Strive for Consistency)。)。 3.為頻繁使用的用戶提供快捷方式(為頻繁使用的用戶提供快捷方式(Enable Frequent Users to Use Short Cuts)。)。 4.提供信息反饋(提供信息反饋(Offer Information Feedback)。)。 5.提供簡單的錯誤處理(提供簡單的錯誤處理(Offer Simple Error Handling)。)。 6.允許方便地進行操作回滾(允許方便地進行操作回滾(Permi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 23090-6:2021/AMD2:2025 EN Information technology - Coded representation of immersive media - Part 6: Immersive media metrics - Amendment 2: Additional latencies and
- 【正版授權(quán)】 ISO/IEC 25390:2025 EN Information technology - Financial information exchange - Simple binary encoding
- 【正版授權(quán)】 IEC 62149-4:2022+AMD1:2025 CSV EN Fibre optic active components and devices - Performance standards - Part 4: 1 300 nm fibre optic transceivers for Gigabit Ethernet applicat
- 2025年新媒體與傳播研究課程考試試題及答案
- 2025年法語語言及文化考試題及答案
- 2025年海洋與水文專業(yè)基礎(chǔ)考試試題及答案
- 2025年保定市中考二模物理試題及答案
- 2025年節(jié)能技術(shù)服務項目發(fā)展計劃
- 腫瘤晚期患者教育
- 眼部個性護理
- 2025-2030中國鈦酸鋰行業(yè)競爭分析及發(fā)展前景研究報告
- 家校共育“心”模式:青少年心理健康教育家長會
- Adobe認證設(shè)計師測試中的典型試題及答案
- 2023年高考生物試卷(福建)(空白卷)
- 2025年上半年揚州現(xiàn)代農(nóng)業(yè)生態(tài)環(huán)境投資發(fā)展集團公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 統(tǒng)編版二年級語文下冊第七單元綜合提優(yōu)卷(含答案)
- 《詞匯構(gòu)建法:課件中的詞根詞綴解析》
- 鋼材授權(quán)合同協(xié)議
- 初中生物地理主要知識點總復習人教版結(jié)業(yè)版
- 18 井岡翠竹 公開課一等獎創(chuàng)新教案
- 小學生朗讀指導課件
評論
0/150
提交評論