




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件質(zhì)量保證和管理 - Ch.14 提高軟件設(shè)計質(zhì)量第13章 回顧13.1 需求分析的概念 軟件系統(tǒng)的構(gòu)建層次, 軟件需求工程過程13.2 需求的獲取與分析13.3 需求分析建模 結(jié)構(gòu)化分析建模,面向?qū)ο蟮姆治鼋?,敏捷建?3.4 系統(tǒng)需求的質(zhì)量保證第 14章 提高軟件設(shè)計質(zhì)量 14.1 軟件設(shè)計 14.2 軟件體系結(jié)構(gòu) 14.3 軟件設(shè)計模式 14.4 軟件設(shè)計優(yōu)化 14.5 一些典型的系統(tǒng)設(shè)計 14.6 數(shù)據(jù)庫設(shè)計質(zhì)量課程目標了解軟件設(shè)計的目標理解軟件體系結(jié)構(gòu)的模型掌握軟件設(shè)計模式理解軟件設(shè)計的優(yōu)化了解一些典型的軟件系統(tǒng)設(shè)計14.1 軟件設(shè)計設(shè)計模式使得人們可以更加簡單和方便地去復(fù)用成功
2、的軟件設(shè)計和體系結(jié)構(gòu),從而能夠幫助設(shè)計者更快更好地完成系統(tǒng)設(shè)計。軟件設(shè)計一般分為: 體系結(jié)構(gòu)設(shè)計 高層次設(shè)計,將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),并定義子系統(tǒng)和它們之間的通信或接口。詳細設(shè)計 過去習慣成為總體設(shè)計或概要設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件軟件詳細的數(shù)據(jù)結(jié)構(gòu)和算法。14.1.1 軟件設(shè)計的目標 軟件體系結(jié)構(gòu)設(shè)計的基本任務(wù): 設(shè)計軟件系統(tǒng)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計 編寫概要設(shè)計文檔 概要設(shè)計文檔評審軟件設(shè)計的目標具備特征: 可靠性 性能和安全性 可擴展性 可定制性或可移植性 可維護性和可重用性14.1.2 軟件設(shè)計評價標準 軟件設(shè)計質(zhì)量的分析與評價包含: 質(zhì)量屬性、度量以及
3、質(zhì)量分析與評價技術(shù)。區(qū)分軟件設(shè)計的質(zhì)量屬性: 軟件運行時間評價的質(zhì)量屬性;軟件維護時間評價的質(zhì)量屬性;與體系結(jié)構(gòu)本質(zhì)質(zhì)量相關(guān)的質(zhì)量屬性;軟件設(shè)計度量方法可以分為: 面向功能設(shè)計的度量,面向?qū)ο笤O(shè)計度量。軟件設(shè)計的評價工具和技術(shù): 軟件設(shè)計評審,靜態(tài)分析,模擬與原型。軟件設(shè)計模型: 由實體空間,過程空間和形式空間組成。軟件系統(tǒng)設(shè)計模型示意圖軟件設(shè)計評價實體空間標準 以源系統(tǒng)做為標準來度量系統(tǒng)設(shè)計模型,是一個軟件設(shè)計最終應(yīng)該附合的標準。它依賴于我們對于源系統(tǒng)的認識程度,同時軟件設(shè)計是思維的產(chǎn)物。 過程空間標準 可以看作實體空間的間接標準,是基于分析模型和設(shè)計模型來定義。形式空間標準 以目標系統(tǒng)的角
4、度(即軟件產(chǎn)品質(zhì)量屬性)檢驗系統(tǒng)設(shè)計。實體空間標準和過程空間標準,可以保證目標系統(tǒng)的功能滿足源系統(tǒng)。軟件設(shè)計質(zhì)量考察指標 設(shè)計結(jié)果的穩(wěn)定性 設(shè)計的清晰性 設(shè)計合理性 系統(tǒng)的模塊結(jié)構(gòu)所顯示的寬度、深度等模塊間松耦合而模塊內(nèi)部又保持高度一致性、穩(wěn)定性是高質(zhì)量軟件設(shè)計的關(guān)鍵之一給出的系統(tǒng)設(shè)計是否滿足軟件需求可測試性和可追溯性所要設(shè)計的系統(tǒng)在整個項目軟件中的地位、作用對各種需求項是否都進行了相應(yīng)的設(shè)計分析系統(tǒng)的模塊結(jié)構(gòu)復(fù)雜性描述14.1.3 軟件設(shè)計原則軟件設(shè)計的思想原則用戶需求遠比技術(shù)重要需求其實很少改變,改變的是對需求的理解接受變化不要低估軟件規(guī)模的需求在軟件設(shè)計中沒有捷徑可以走任何體系結(jié)構(gòu)都有它
5、自身的優(yōu)點和缺點,設(shè)計模式也一樣軟件設(shè)計的技術(shù)原則開閉原則單一職責原則李氏代換原則依賴倒轉(zhuǎn)原則接口隔離原則合成/聚合復(fù)用原則迪米特法則耦合的表現(xiàn)形式系統(tǒng)模塊的內(nèi)聚性14.2 軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu): 軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個結(jié)構(gòu)、行為和屬性的高級抽象,由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用、指導元素集成的模式以及這這些模式的約束組成。體系結(jié)構(gòu)的模型和視圖體系結(jié)構(gòu)的分類體系結(jié)構(gòu)的設(shè)計異步體系結(jié)構(gòu)的選擇14.2.1 體系結(jié)構(gòu)的模型和視圖體系結(jié)構(gòu)的模型結(jié)構(gòu)模型:以體系結(jié)構(gòu)的構(gòu)件、連接件和其他概念來刻畫結(jié)構(gòu),并力圖通過結(jié)構(gòu)來反映系統(tǒng)的重要語義內(nèi)容。 框架模型:框架模型主要以一些特殊的問題
6、為目標建立只針對和適應(yīng)該問題的結(jié)構(gòu)。動態(tài)模型:動態(tài)模型是對結(jié)構(gòu)或框架模型的補充,研究系統(tǒng)的“大顆粒”的行為性質(zhì)。過程模型:研究構(gòu)造系統(tǒng)的步驟和過程 。功能模型:由一組功能構(gòu)件按層次組成,下層向上層提供服務(wù)。體系結(jié)構(gòu)的試圖概念試圖邏輯試圖物理試圖14.2.2 體系結(jié)構(gòu)的分類C/S軟件體系結(jié)構(gòu)傳統(tǒng)的二層C/S結(jié)構(gòu)存在局限性。三層C/S結(jié)構(gòu)將應(yīng)用功能分為表示層、功能層和數(shù)據(jù)層。B/S軟件體系結(jié)構(gòu)B/S結(jié)構(gòu)是對C/S結(jié)構(gòu)的一種改進。B/S結(jié)構(gòu)和C/S結(jié)構(gòu)比較接近,但也具有自己的特點。中間件的多層分布式的體系結(jié)構(gòu)具有客戶端的表示層、中間的業(yè)務(wù)邏輯層和數(shù)據(jù)庫服務(wù)器的三層或多層體系結(jié)構(gòu)。多層體系結(jié)構(gòu)將客戶和
7、資源分開,降低了服務(wù)器的負載。多層分布式系統(tǒng)中,不同的組件可以用不同的語言來實現(xiàn)。14.2.3 體系結(jié)構(gòu)的設(shè)計多層分布式體系主要層次在多層體系設(shè)計中,各層次按照一定方式進行劃分,實現(xiàn)明確分工。客戶、業(yè)務(wù)服務(wù)、數(shù)據(jù)服務(wù)。多層分布式體系設(shè)計要點安全性、穩(wěn)定性易維護快速響應(yīng)系統(tǒng)擴展靈活多層分布式體系結(jié)構(gòu)的應(yīng)用開發(fā)要考慮3方面的技術(shù):開發(fā)環(huán)境、應(yīng)用程序的集成、應(yīng)用程序的配置。系統(tǒng)平臺軟件和終端軟件的體系結(jié)構(gòu)的劃分是以高性能、高可靠性、高安全性、高擴展性和可管理為原則。 14.2.4 異步體系結(jié)構(gòu)的選擇異步體系結(jié)構(gòu)優(yōu)點:更快的響應(yīng)時間負載平衡具有更好的容錯能力支持斷續(xù)連接的系統(tǒng)異步體系結(jié)構(gòu)缺點:利用通知
8、或輪詢進行狀態(tài)跟蹤處理超時創(chuàng)建和執(zhí)行補償邏輯14.3 軟件設(shè)計模式設(shè)計模式:設(shè)計模式使得人們可以更加簡單和方便地去復(fù)用成功的軟件設(shè)計和體系結(jié)構(gòu),從而能夠幫助設(shè)計者更快更好地完成系統(tǒng)設(shè)計。建筑的永恒方法:模式是一條由三部分組成的規(guī)則,它表示了一個特定環(huán)境、一個問題和一個解決方案之間的關(guān)系。每一個模式描述了一個在我們周圍不斷重復(fù)發(fā)生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重復(fù)勞動。14.3.1 設(shè)計模式的分類 創(chuàng)建型模式 創(chuàng)建型模式抽象了實例化過程。它們幫助一個系統(tǒng)獨立于如何創(chuàng)建、組合和表示它的那些對象。結(jié)構(gòu)型模式 結(jié)構(gòu)型類模式采用繼承機制來組合接口或?qū)崿F(xiàn),描
9、述了如何對一些對象進行組合,從而實現(xiàn)新功能的一些方法。 行為模式 行為模式涉及到算法和對象間職責的分配。行為模式不僅描述對象或類的模式,還描述它們之間的通信模式。行為模式使用繼承機制在類間分派行為。設(shè)計模式分類分類具體種類描述創(chuàng)建型模式抽象工廠提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。 生成器將一個復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。 工廠方法定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。Factory Method使一個類的實例化延遲到其子類。 原型用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。 單件保證一個
10、類僅有一個實例,并提供一個訪問它的全句訪問點。結(jié)構(gòu)型模式適配器將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作橋接將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨立的變化組合將對象組合成樹形結(jié)構(gòu)以表示“部分整體”的層次結(jié)構(gòu)。Composite使得用戶單個對象和組合對象的使用具有一致性裝飾動態(tài)的給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比生成子類更為靈活外觀為子系統(tǒng)中的一組接口提供一個一致的界面,F(xiàn)aade模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用享元運用共享技術(shù)有效的支持大量細粒度的對
11、象代理為其他對象提供一種代理以控制對這個對象的訪問設(shè)計模式分類14.3.2 MVC模型模型:是封裝數(shù)據(jù)和所有基于對這些數(shù)據(jù)的操作。視圖:是封裝對數(shù)據(jù)的顯示、即用戶界面。控制器:是封裝外界作用于模型的操作和對數(shù)據(jù)流向的控制。MVC設(shè)計模式將模型、視圖與控制器分隔開來。MVC設(shè)計模式實現(xiàn)過程: 控制器創(chuàng)建模型; 控制器創(chuàng)建一個或多個視圖,并將它們與模型相關(guān)聯(lián); 控制器負責改變模型的狀態(tài); 當模型的狀態(tài)發(fā)生改變時,模型會通知與之相關(guān)的視圖進行更新。UML表示MVC設(shè)計模式14.3.3 設(shè)計模式的作用設(shè)計模式有4個基本要素: 模式名稱:描述模式的問題、解決方案和效果; 問題:描述了應(yīng)該在何時使用模式;
12、 解決方案:描述了設(shè)計的組成部分之間的相互關(guān)系、職責和協(xié)作方式。 效果:描述了模式應(yīng)用的效果及使用模式應(yīng)權(quán)衡的問題。設(shè)計模式在工程小組成員之間提供了通用的語義。設(shè)計模式可以更加簡單方便的復(fù)用成功的設(shè)計和體系結(jié)構(gòu)。設(shè)計模式有助于作出有利于系統(tǒng)復(fù)用的選擇,避免設(shè)計損害系統(tǒng)復(fù)用性。設(shè)計模式可以幫助設(shè)計者更快更好的完成系統(tǒng)設(shè)計14.3.4 通過UML改善功能設(shè)計UML是一種直觀化、明確化、構(gòu)建和文檔化軟件系統(tǒng)產(chǎn)物的通用可視化建模語言。設(shè)計階段分為結(jié)構(gòu)設(shè)計和詳細設(shè)計。結(jié)構(gòu)設(shè)計是定義包,包括包間的依賴性和主要通信機制。詳細設(shè)計是通過創(chuàng)建新的類圖、狀態(tài)圖和動態(tài)圖,描述新的技術(shù)類、并擴展和細化分析階段。UML
13、設(shè)計可以規(guī)格說明更直觀、更清晰。系統(tǒng)設(shè)計分為硬件設(shè)計及軟件設(shè)計。使用UML的Collaboration圖和Component圖分別對系統(tǒng)的硬、軟件進行系統(tǒng)分析。除了使用UML框圖外,還需要使用State Chart、Sequence框圖描述具體的系統(tǒng)流程細節(jié)。14.4 軟件設(shè)計優(yōu)化14.4.1 模塊設(shè)計和接口設(shè)計的要求14.4.2 詳細設(shè)計的要求14.4.3 界面設(shè)計的要求14.4.1 模塊設(shè)計和接口設(shè)計的要求模塊設(shè)計準則:模塊的劃分是合適、模塊與模塊之間是否具有一定的獨立性每個模塊的功能和接口定義是否正確數(shù)據(jù)結(jié)構(gòu)的定義是否正確 模塊內(nèi)的數(shù)據(jù)流和控制流的定義是否正確 接口設(shè)計準則:用戶接口設(shè)計
14、是否正確全面,是否有單獨的用戶界面設(shè)計文檔 是否包含有硬件接口設(shè)計,硬件接口設(shè)計是否正確且全面 概要設(shè)計規(guī)格說明是否包含有軟件接口設(shè)計,軟件接口設(shè)計是否正確且全面是否包含有通信接口設(shè)計,通信接口設(shè)計是否正確且全面 是否描述了各類接口的功能、各接口與其他接口或模塊之間的關(guān)系已經(jīng)接口的設(shè)計是否具有可測試性 14.4.2 詳細設(shè)計的要求詳細設(shè)計的目標任務(wù):為每個模塊確定采用的算法確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)確定模塊接口的細節(jié)為每一個模塊設(shè)計出一組測試用例詳細設(shè)計的原則:模塊的邏輯描述要清晰易讀、準確可靠采用結(jié)構(gòu)化設(shè)計方法,改善控制結(jié)構(gòu)詳細設(shè)計的表示方法:流程圖偽碼IPO圖PAD判定表(樹)5種軟件詳細
15、設(shè)計表示方法比較14.4.3 界面設(shè)計的要求用戶界面設(shè)計原則:用戶界面必須保持一致性用戶界面應(yīng)有自助功能用戶界面易懂性Windows界面設(shè)計規(guī)則:易用性規(guī)范性幫助設(shè)施美觀與協(xié)調(diào)性獨特性快捷方式的組合錯誤保護14.5 一些典型的系統(tǒng)設(shè)計14.5.1 J2EE系統(tǒng)的設(shè)計14.5.2 .Net系統(tǒng)的設(shè)計14.5.1 J2EE系統(tǒng)的設(shè)計J2EE系統(tǒng)的結(jié)構(gòu):運行在客戶端機器上的客戶層組件運行在J2EE服務(wù)器上的Web層組件運行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層組件運行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)層軟件J2EE的模型視圖控制體系結(jié)構(gòu)J2EE設(shè)計模式:前端控制器數(shù)據(jù)訪問對象模式值對象模式截取過濾器會話面模式視
16、圖幫助器J2EE系統(tǒng)結(jié)構(gòu)客戶層瀏覽器Pure HtmlJava AppletApplication ClientApplication Client ContainerWeb層Web服務(wù)器JSPJSPServletJ2EE Platform商業(yè)邏輯層EJB容器EJBEJBJ2EE Platform企業(yè)信息系統(tǒng)層數(shù)據(jù)庫數(shù)據(jù)庫EIS服務(wù)器J2EE服務(wù)器客戶機14.5.2 .Net系統(tǒng)的設(shè)計邏輯層邏輯應(yīng)用程序體系結(jié)構(gòu)將任何系統(tǒng)都視為一組相互協(xié)作的服務(wù),這些服務(wù)分為用戶服務(wù)、業(yè)務(wù)服務(wù)和數(shù)據(jù)服務(wù)。物理部署模型Web服務(wù)器用作應(yīng)用程序服務(wù)器遠程應(yīng)用程序?qū)覣SP.Net結(jié)構(gòu)是一個3層系統(tǒng):UI層、業(yè)務(wù)邏輯層
17、、數(shù)據(jù)層ASP.Net的系統(tǒng)結(jié)構(gòu)模型J2EE與.Net的比較14.6 數(shù)據(jù)庫設(shè)計質(zhì)量數(shù)據(jù)庫設(shè)計步驟:需求分析概念設(shè)計邏輯設(shè)計物理設(shè)計對數(shù)據(jù)庫進行質(zhì)量控制方面劃分為:數(shù)據(jù)層的需求和構(gòu)建數(shù)據(jù)字典設(shè)計數(shù)據(jù)庫數(shù)據(jù)流設(shè)計14.6.1 數(shù)據(jù)層的需求和構(gòu)建創(chuàng)建軟件系統(tǒng)結(jié)構(gòu)分為: 數(shù)據(jù)層:代表物理數(shù)據(jù)庫。實現(xiàn)數(shù)據(jù)網(wǎng)絡(luò)交互共享的基礎(chǔ)。 業(yè)務(wù)層:負責數(shù)據(jù)層與表示層之間的數(shù)據(jù)傳輸。 表示層:應(yīng)用程序的客戶端,通過業(yè)務(wù)層來訪問數(shù)據(jù)庫。數(shù)據(jù)是軟件系統(tǒng)的核心,數(shù)據(jù)層是系統(tǒng)與數(shù)據(jù)庫打交道的唯一一個地方數(shù)據(jù)層被分為: 數(shù)據(jù)訪問元數(shù)據(jù):描述數(shù)據(jù)的存取方法的數(shù)據(jù),為系統(tǒng)的每一個存取數(shù)據(jù)邏輯提供描述。 數(shù)據(jù)訪問層:是一個組件,管理數(shù)據(jù)庫驅(qū)動,為上層提供簡單一致的接口執(zhí)行調(diào)用。 數(shù)據(jù)提供層:使用數(shù)據(jù)訪問層執(zhí)行數(shù)據(jù)的CRUD操作,使用數(shù)據(jù)訪問元數(shù)據(jù)控制數(shù)據(jù)調(diào)用指令14.6.2 數(shù)據(jù)字典數(shù)據(jù)字典存儲了各種模式和相應(yīng)的映象。對數(shù)據(jù)庫設(shè)計來講,數(shù)據(jù)字典是進行數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典使得信息描述準確
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆河南省三門峽市化學高一下期末復(fù)習檢測模擬試題含解析
- 內(nèi)蒙古自治區(qū)赤峰市2025年高二化學第二學期期末綜合測試模擬試題含解析
- 桐柏危房排查管理辦法
- 杭州電子印章管理辦法
- 材料命名規(guī)則管理辦法
- 村級廁所后期管理辦法
- 填料技術(shù)創(chuàng)新方向-洞察及研究
- 醫(yī)保應(yīng)急賬戶管理辦法
- 廢舊鋰離子電池回收處理綜合利用項目的環(huán)境保護評估報告
- 河源住房維修管理辦法
- 教師資格考試小學美術(shù)面試試題及答案指導(2025年)
- 住家保姆合同協(xié)議書模板
- AI如何賦能藝術(shù)教育-筆記
- DB11T 485-2020 集中空調(diào)通風系統(tǒng)衛(wèi)生管理規(guī)范
- 《人力資源管理》全套教學課件
- Unit 6 Craftsmanship Reading 教案-2023-2024學年中職英語高教版(2023修訂版)基礎(chǔ)模塊2
- 2024汽車租賃合同協(xié)議可打印
- 2023-2024學年山東省菏澤市東明縣八年級(下)期末數(shù)學試卷(含答案)
- 初高中物理銜接講座(初高中物理對比)
- 小學科學考查方案
- 2023-2024學年江蘇省蘇州市小升初語文真題重組卷(部編版)
評論
0/150
提交評論