軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第1頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第2頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第3頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第4頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu) 秦航 4_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、清華大學(xué)出版社1清華大學(xué)出版社2內(nèi)容提要內(nèi)容提要p4.1軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)p4.2軟件體系結(jié)構(gòu)設(shè)計(jì)軟件體系結(jié)構(gòu)設(shè)計(jì)p4.3高可信軟件設(shè)計(jì)高可信軟件設(shè)計(jì)l4.3.1可信軟件的特點(diǎn)l4.3.2容錯(cuò)設(shè)計(jì)l4.3.3軟件失效模式和影響分析l4.3.4軟件故障樹(shù)分析l4.3.5形式化方法l4.3.6凈室方法p4.4軟件設(shè)計(jì)規(guī)格說(shuō)明軟件設(shè)計(jì)規(guī)格說(shuō)明p4.5軟件設(shè)計(jì)評(píng)審軟件設(shè)計(jì)評(píng)審p4.6小結(jié)小結(jié)清華大學(xué)出版社34.1 軟件設(shè)計(jì)基礎(chǔ)軟件設(shè)計(jì)基礎(chǔ)p軟件設(shè)計(jì)基本概念,是過(guò)去數(shù)十年里陸續(xù)軟件設(shè)計(jì)基本概念,是過(guò)去數(shù)十年里陸續(xù)提出的,軟件設(shè)計(jì)者根據(jù)這組概念進(jìn)行設(shè)提出的,軟件設(shè)計(jì)者根據(jù)這組概念進(jìn)行設(shè)計(jì)決策。它們可

2、以幫助軟件工程師回答下計(jì)決策。它們可以幫助軟件工程師回答下述問(wèn)題:述問(wèn)題:l能使用什么標(biāo)準(zhǔn)將軟件劃分為單個(gè)構(gòu)件?l如何將功能或數(shù)據(jù)結(jié)構(gòu)與軟件的概念性表示分離開(kāi)?l是否存在定義軟件設(shè)計(jì)的技術(shù)質(zhì)量的統(tǒng)一標(biāo)準(zhǔn)?清華大學(xué)出版社4軟件設(shè)計(jì)的迭代軟件設(shè)計(jì)的迭代 p第一層含義是,針對(duì)給定的需求第一層含義是,針對(duì)給定的需求模型,通過(guò)多次從抽象到具體的模型,通過(guò)多次從抽象到具體的設(shè)計(jì)過(guò)程,得出足夠精細(xì)的設(shè)計(jì)設(shè)計(jì)過(guò)程,得出足夠精細(xì)的設(shè)計(jì)模型以供軟件實(shí)現(xiàn)之用。模型以供軟件實(shí)現(xiàn)之用。p第二層含義是,軟件需求經(jīng)常發(fā)第二層含義是,軟件需求經(jīng)常發(fā)生變化或者不完整,在需求模型生變化或者不完整,在需求模型發(fā)生變化并更新完成后,

3、第一層發(fā)生變化并更新完成后,第一層含義的設(shè)計(jì)過(guò)程再隨之展開(kāi),直含義的設(shè)計(jì)過(guò)程再隨之展開(kāi),直至獲得最終的目標(biāo)軟件產(chǎn)品。至獲得最終的目標(biāo)軟件產(chǎn)品。清華大學(xué)出版社5軟件設(shè)計(jì)的一般過(guò)程軟件設(shè)計(jì)的一般過(guò)程 p從工程管理的角度,可以將軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。從工程管理的角度,可以將軟件設(shè)計(jì)分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。l但對(duì)于面向?qū)ο笤O(shè)計(jì)方法來(lái)說(shuō),其設(shè)計(jì)過(guò)程從概念模型逐步精化到實(shí)現(xiàn)模型,并且不斷的進(jìn)行迭代,設(shè)計(jì)過(guò)程已經(jīng)很難用概念設(shè)計(jì)和詳細(xì)設(shè)計(jì)來(lái)進(jìn)行明確的區(qū)分。p此外,在設(shè)計(jì)過(guò)程中還包括對(duì)設(shè)計(jì)進(jìn)行計(jì)劃評(píng)審等活動(dòng)。此外,在設(shè)計(jì)過(guò)程中還包括對(duì)設(shè)計(jì)進(jìn)行計(jì)劃評(píng)審等活動(dòng)。 清華大學(xué)出版社62.軟件設(shè)計(jì)的主要活動(dòng)軟件

4、設(shè)計(jì)的主要活動(dòng)p(1)軟件設(shè)計(jì)計(jì)劃)軟件設(shè)計(jì)計(jì)劃p(2)體系結(jié)構(gòu)設(shè)計(jì))體系結(jié)構(gòu)設(shè)計(jì)p(3)界面設(shè)計(jì))界面設(shè)計(jì)p(4)模塊)模塊/子系統(tǒng)設(shè)計(jì)子系統(tǒng)設(shè)計(jì)p(5)過(guò)程)過(guò)程/算法設(shè)計(jì)算法設(shè)計(jì)p(6)數(shù)據(jù)模型設(shè)計(jì))數(shù)據(jù)模型設(shè)計(jì)軟件結(jié)構(gòu)有關(guān)概念軟件結(jié)構(gòu)有關(guān)概念 清華大學(xué)出版社84.2 軟件體系結(jié)構(gòu)設(shè)計(jì)軟件體系結(jié)構(gòu)設(shè)計(jì)p1. 多視圖建模多視圖建模清華大學(xué)出版社9“4+1”模型模型 p邏輯視圖邏輯視圖,也稱(chēng)概念視圖,主要是支持系統(tǒng)功能需求的抽,也稱(chēng)概念視圖,主要是支持系統(tǒng)功能需求的抽象描述,即系統(tǒng)最終將提供給用戶(hù)什么樣的服務(wù),邏輯視象描述,即系統(tǒng)最終將提供給用戶(hù)什么樣的服務(wù),邏輯視圖描述了系統(tǒng)的功能需求及其

5、之間的相互關(guān)系。圖描述了系統(tǒng)的功能需求及其之間的相互關(guān)系。p開(kāi)發(fā)視圖開(kāi)發(fā)視圖,也稱(chēng)模塊視圖,主要側(cè)重于描述系統(tǒng)的組織,也稱(chēng)模塊視圖,主要側(cè)重于描述系統(tǒng)的組織,與邏輯視圖密切相關(guān),都描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。與邏輯視圖密切相關(guān),都描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。p過(guò)程視圖過(guò)程視圖,主要側(cè)重于描述系統(tǒng)的動(dòng)態(tài)行為,即系統(tǒng)運(yùn)行,主要側(cè)重于描述系統(tǒng)的動(dòng)態(tài)行為,即系統(tǒng)運(yùn)行時(shí)所表現(xiàn)出來(lái)的相關(guān)特性,著重解決系統(tǒng)的可靠性、吞吐時(shí)所表現(xiàn)出來(lái)的相關(guān)特性,著重解決系統(tǒng)的可靠性、吞吐量、并發(fā)性、分布性和容錯(cuò)性。量、并發(fā)性、分布性和容錯(cuò)性。p物理視圖物理視圖,描述如何把系統(tǒng)軟件元素映射到硬件上,通常,描述如何把系統(tǒng)軟件元素映射到硬件上

6、,通常要考慮系統(tǒng)的性能、規(guī)模和容錯(cuò)等問(wèn)題,展示了軟件在生要考慮系統(tǒng)的性能、規(guī)模和容錯(cuò)等問(wèn)題,展示了軟件在生命周期的不同階段中所需要的物理環(huán)境、硬件配置和分布命周期的不同階段中所需要的物理環(huán)境、硬件配置和分布狀況。狀況。p場(chǎng)景視圖場(chǎng)景視圖,場(chǎng)景是用戶(hù)需求和系統(tǒng)功能實(shí)例的抽象,設(shè)計(jì),場(chǎng)景是用戶(hù)需求和系統(tǒng)功能實(shí)例的抽象,設(shè)計(jì)者通過(guò)分析如何滿(mǎn)足每個(gè)場(chǎng)景所要求的約束來(lái)分析軟件的者通過(guò)分析如何滿(mǎn)足每個(gè)場(chǎng)景所要求的約束來(lái)分析軟件的體系結(jié)構(gòu)。體系結(jié)構(gòu)。清華大學(xué)出版社102.基于評(píng)估與轉(zhuǎn)換的設(shè)計(jì)方法基于評(píng)估與轉(zhuǎn)換的設(shè)計(jì)方法 p其中,對(duì)體系結(jié)構(gòu)進(jìn)行轉(zhuǎn)換可以通過(guò)下述其中,對(duì)體系結(jié)構(gòu)進(jìn)行轉(zhuǎn)換可以通過(guò)下述三種方式:三種

7、方式:l使用合適的體系結(jié)構(gòu)風(fēng)格和模式,或者設(shè)計(jì)模式來(lái)改進(jìn)體系結(jié)構(gòu)設(shè)計(jì)。l把非功能需求轉(zhuǎn)化為功能性解決方案,該功能性方案可以與問(wèn)題域無(wú)關(guān),但可以滿(mǎn)足質(zhì)量屬性的要求。l采用“分而治之”的方式,可以把系統(tǒng)級(jí)的質(zhì)量需求分配到子系統(tǒng)或模塊中,或者把質(zhì)量需求分解為多個(gè)與功能相關(guān)的質(zhì)量需求,分解后的質(zhì)量需求能夠比較容易得到滿(mǎn)足。清華大學(xué)出版社11基于評(píng)估與轉(zhuǎn)換的設(shè)計(jì)方法基于評(píng)估與轉(zhuǎn)換的設(shè)計(jì)方法 清華大學(xué)出版社123.模式驅(qū)動(dòng)的設(shè)計(jì)方法模式驅(qū)動(dòng)的設(shè)計(jì)方法p常用的軟件體系結(jié)構(gòu)風(fēng)格如下:常用的軟件體系結(jié)構(gòu)風(fēng)格如下:l數(shù)據(jù)流風(fēng)格:批處理和管道/過(guò)濾器。l調(diào)用/返回風(fēng)格:主程序/子程序、層次結(jié)構(gòu)和客戶(hù)機(jī)/服務(wù)器。l面

8、向?qū)ο箫L(fēng)格。l獨(dú)立部件風(fēng)格:進(jìn)程通訊和事件驅(qū)動(dòng)。l虛擬機(jī)風(fēng)格:解釋器和基于規(guī)則的系統(tǒng)。l數(shù)據(jù)共享風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng)和黑板系統(tǒng)。清華大學(xué)出版社13模式驅(qū)動(dòng)的設(shè)計(jì)方法流程模式驅(qū)動(dòng)的設(shè)計(jì)方法流程 清華大學(xué)出版社144.領(lǐng)域特定的軟件體系結(jié)構(gòu)設(shè)計(jì)領(lǐng)域特定的軟件體系結(jié)構(gòu)設(shè)計(jì)p領(lǐng)域特定的領(lǐng)域特定的軟件體系結(jié)構(gòu)(軟件體系結(jié)構(gòu)(Domain Specific Software Architecture,DSSA)是領(lǐng)域工程的核心是領(lǐng)域工程的核心部分,領(lǐng)域工程分析應(yīng)用領(lǐng)域的共同特征和可變特征,對(duì)部分,領(lǐng)域工程分析應(yīng)用領(lǐng)域的共同特征和可變特征,對(duì)刻畫(huà)這些特征的對(duì)象和操作進(jìn)行選擇和抽象,形成領(lǐng)域??坍?huà)這些特征的對(duì)象和

9、操作進(jìn)行選擇和抽象,形成領(lǐng)域模型,并進(jìn)一步生成型,并進(jìn)一步生成DSSA。pDSSA與體系結(jié)構(gòu)風(fēng)格的區(qū)別在于:與體系結(jié)構(gòu)風(fēng)格的區(qū)別在于:lDSSA與軟件體系結(jié)構(gòu)風(fēng)格是從不同角度出發(fā)研究問(wèn)題的兩種結(jié)果,前者從問(wèn)題域出發(fā),而后者從解決域出發(fā)。lDSSA只在某個(gè)特定領(lǐng)域中進(jìn)行經(jīng)驗(yàn)知識(shí)的提取、總結(jié)與組織,但可以同時(shí)使用多種軟件體系結(jié)構(gòu)風(fēng)格;而一種軟件體系結(jié)構(gòu)風(fēng)格所呈現(xiàn)的公共結(jié)構(gòu)和設(shè)計(jì)方法可以擴(kuò)展到多個(gè)應(yīng)用領(lǐng)域。lDSSA的體系結(jié)構(gòu)表示和工具一般只適用于一個(gè)較小的范圍,在其它領(lǐng)域中是不適用并難以復(fù)用的。清華大學(xué)出版社155.軟件產(chǎn)品線方法軟件產(chǎn)品線方法p軟件產(chǎn)品線(軟件產(chǎn)品線(Software Produ

10、ct Line,SPL)是指一組可管理的,具有)是指一組可管理的,具有公共特性的軟件應(yīng)用系統(tǒng)的集合。公共特性的軟件應(yīng)用系統(tǒng)的集合。l在利用軟件產(chǎn)品線方法構(gòu)建一個(gè)應(yīng)用系統(tǒng)時(shí),主要的工作是組裝和繁衍,而不是創(chuàng)造,其重要的活動(dòng)是集成而不是編程。p軟件產(chǎn)品線的主要組成部分,包括核心資軟件產(chǎn)品線的主要組成部分,包括核心資源和軟件產(chǎn)品集合兩部分。源和軟件產(chǎn)品集合兩部分。清華大學(xué)出版社16軟件產(chǎn)品線過(guò)程模型軟件產(chǎn)品線過(guò)程模型 清華大學(xué)出版社176.其它軟件體系結(jié)構(gòu)設(shè)計(jì)方法其它軟件體系結(jié)構(gòu)設(shè)計(jì)方法p(1)基于目標(biāo)圖推理的體系結(jié)構(gòu)設(shè)計(jì)方)基于目標(biāo)圖推理的體系結(jié)構(gòu)設(shè)計(jì)方法:法:l該方法的目標(biāo),是使模式背后的推理結(jié)

11、構(gòu)顯式化,并且服從于系統(tǒng)的分析;該方法使用目標(biāo)圖,表達(dá)模式在各種需求上的應(yīng)用效果。p(2)基于屬性的體系結(jié)構(gòu)設(shè)計(jì)方法:)基于屬性的體系結(jié)構(gòu)設(shè)計(jì)方法:l是對(duì)通常體系結(jié)構(gòu)風(fēng)格描述的一種擴(kuò)充,用于獲取結(jié)構(gòu)化分析SA(Structured Analysis)層次上的結(jié)構(gòu)和分析技巧,顯式地把推理框架(定性或定量)與體系結(jié)構(gòu)風(fēng)格關(guān)聯(lián)起來(lái)。清華大學(xué)出版社184.3 高可信軟件設(shè)計(jì)高可信軟件設(shè)計(jì)p4.3.1可信軟件的特點(diǎn)可信軟件的特點(diǎn)l可靠性(reliability):在規(guī)定的環(huán)境下、規(guī)定的時(shí)間內(nèi)軟件無(wú)失效運(yùn)行的能力;l可靠安全性(safety):軟件運(yùn)行不引起危險(xiǎn)、災(zāi)難的能力;l保密安全性(security

12、):軟件系統(tǒng)對(duì)數(shù)據(jù)和信息提供保密性、完整性、可用性、真實(shí)性保障的能力;l生存性(survivability):軟件在受到攻擊或失效出現(xiàn)時(shí)連續(xù)提供服務(wù)并在規(guī)定時(shí)間內(nèi)恢復(fù)所有服務(wù)的能力;l容錯(cuò)性(fault tolerance):軟件在故障(硬件、環(huán)境異常)出現(xiàn)時(shí)保證提供服務(wù)的能力;l實(shí)時(shí)性(real time):軟件在指定的時(shí)間內(nèi)完成反應(yīng)或提交輸出的能力。清華大學(xué)出版社194.3.2容錯(cuò)設(shè)計(jì)容錯(cuò)設(shè)計(jì)p(1)恢復(fù)塊技術(shù))恢復(fù)塊技術(shù)清華大學(xué)出版社20(2)N-版本編程版本編程清華大學(xué)出版社214.3.3軟件失效模式和影響分析軟件失效模式和影響分析p設(shè)計(jì)到的幾個(gè)相關(guān)概念和含義如下:設(shè)計(jì)到的幾個(gè)相關(guān)概念

13、和含義如下:l軟件失效(software failure)。軟件失效就是泛指程序在運(yùn)行中喪失了全部或部分功能、出現(xiàn)偏離預(yù)期的正常狀態(tài)的事件。l軟件失效模式(software failure mode)。軟件失效模式是指軟件失效的不同類(lèi)型,通常用于描述軟件失效發(fā)生的方式以及對(duì)設(shè)備運(yùn)行可能產(chǎn)生的影響。l軟件失效的影響(software failure effect)。軟件失效的影響是指軟件失效模式對(duì)軟件系統(tǒng)的運(yùn)行、功能或狀態(tài)等造成的后果。清華大學(xué)出版社22軟件系統(tǒng)級(jí)軟件系統(tǒng)級(jí)FMEA過(guò)程過(guò)程 清華大學(xué)出版社23p4.3.4軟件故障樹(shù)分析軟件故障樹(shù)分析p4.3.5形式化方法形式化方法l形式化方法是關(guān)

14、于在計(jì)算系統(tǒng)的開(kāi)發(fā)中進(jìn)行嚴(yán)格推理的理論、技術(shù)和工具,它主要包括形式規(guī)約技術(shù)(Formal Specification)和形式驗(yàn)證技術(shù)(Formal Verification)。p4.3.6凈室方法凈室方法l傳統(tǒng)的軟件工程建模、形式化方法、程序驗(yàn)證(正確性證明)、以及統(tǒng)計(jì)SQA的集成使用已經(jīng)組合成一種可以導(dǎo)致極高質(zhì)量軟件的技術(shù)。凈室軟件工程(Cleanroom software engineering)是一種在軟件開(kāi)發(fā)過(guò)程中強(qiáng)調(diào)在軟件中建立正確性的需要的方法。代替?zhèn)鹘y(tǒng)的分析、設(shè)計(jì)、編碼、測(cè)試和調(diào)試周期,凈室方法建議一種不同的觀點(diǎn)。清華大學(xué)出版社244.4 軟件設(shè)計(jì)規(guī)格說(shuō)明軟件設(shè)計(jì)規(guī)格說(shuō)明p軟件設(shè)

15、計(jì)過(guò)程中的各個(gè)活動(dòng)的結(jié)果最終應(yīng)該文檔軟件設(shè)計(jì)過(guò)程中的各個(gè)活動(dòng)的結(jié)果最終應(yīng)該文檔化,形成正式的軟件設(shè)計(jì)規(guī)格說(shuō)明,作為軟件設(shè)化,形成正式的軟件設(shè)計(jì)規(guī)格說(shuō)明,作為軟件設(shè)計(jì)的輸出。計(jì)的輸出。l形成的軟件設(shè)計(jì)規(guī)格說(shuō)明將被評(píng)審,并作為后續(xù)軟件實(shí)現(xiàn)活動(dòng)的依據(jù)。 p軟件設(shè)計(jì)規(guī)格說(shuō)明并沒(méi)有統(tǒng)一的格式,例如軟件設(shè)計(jì)規(guī)格說(shuō)明并沒(méi)有統(tǒng)一的格式,例如IEEE標(biāo)準(zhǔn)、標(biāo)準(zhǔn)、ISO標(biāo)準(zhǔn)以及我國(guó)的國(guó)家標(biāo)準(zhǔn)、各標(biāo)準(zhǔn)以及我國(guó)的國(guó)家標(biāo)準(zhǔn)、各行業(yè)標(biāo)準(zhǔn)所建議的格式都不盡相同。行業(yè)標(biāo)準(zhǔn)所建議的格式都不盡相同。l使用不同的軟件設(shè)計(jì)方法學(xué)所得到的設(shè)計(jì)模型也會(huì)有很大區(qū)別,導(dǎo)致設(shè)計(jì)規(guī)格說(shuō)明的結(jié)構(gòu)也會(huì)明顯不同。 清華大學(xué)出版社254.5 軟件設(shè)計(jì)評(píng)審軟件設(shè)計(jì)評(píng)審p設(shè)計(jì)評(píng)審中需要重點(diǎn)關(guān)注的內(nèi)容包括:設(shè)計(jì)評(píng)審中需要重點(diǎn)關(guān)注的內(nèi)容包括:l設(shè)計(jì)模型是否能夠充分地、無(wú)遺漏地支持所有軟件需求的實(shí)現(xiàn);l設(shè)計(jì)模型是否已經(jīng)精化至合理的程度,可以確保合格的軟件實(shí)現(xiàn)工程師能夠構(gòu)造出符合軟件設(shè)計(jì)者期望的目標(biāo)軟件系統(tǒng);l設(shè)計(jì)模型的質(zhì)量屬性,即,設(shè)計(jì)模型是否已經(jīng)經(jīng)過(guò)充分的優(yōu)化,以確保依照設(shè)計(jì)模型構(gòu)造出來(lái)的目標(biāo)軟件產(chǎn)品能夠表現(xiàn)出良好的軟件質(zhì)量屬性。清華大學(xué)出版社264.6 小結(jié)小結(jié)p軟件設(shè)計(jì)是軟件開(kāi)發(fā)過(guò)程的一個(gè)核心環(huán)節(jié),設(shè)計(jì)軟件設(shè)計(jì)是軟件開(kāi)發(fā)過(guò)程的一個(gè)核心環(huán)節(jié),設(shè)計(jì)質(zhì)量很大程度上決定了最

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論