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

下載本文檔

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

文檔簡(jiǎn)介

軟件設(shè)計(jì)與體系結(jié)構(gòu)概述(ɡàishù)共三十頁(yè)前言(qiányán)書(shū)上說(shuō)的太文藝,我們說(shuō)通俗的。為什么要學(xué)習(xí)《軟件工程與體系結(jié)構(gòu)》?你有沒(méi)有試過(guò)自己開(kāi)發(fā)小app代碼一多就亂了?有沒(méi)有試過(guò)修改一個(gè)簡(jiǎn)單的功能(gōngnéng),發(fā)現(xiàn)該功能(gōngnéng)的一個(gè)字段引用甚多,改起來(lái)麻煩,且容易漏改?又有沒(méi)有試過(guò)和人合作編程序,搞笑了,完全看不懂小伙伴寫(xiě)得是啥?。∧敲础盾浖こ膛c體系結(jié)構(gòu)》這門(mén)課就能幫到你,連998都不用!共三十頁(yè)前言(qiányán)共三十頁(yè)前言(qiányán)共三十頁(yè)P(yáng)ART01PART02軟件(ruǎnjiàn)工程與軟件(ruǎnjiàn)危機(jī)軟件體系結(jié)構(gòu)的定義(dìngyì)主要內(nèi)容PART03軟件體系結(jié)構(gòu)的發(fā)展歷程PART04軟件體系結(jié)構(gòu)的意義PART05軟件開(kāi)發(fā)過(guò)程模型與軟件設(shè)計(jì)共三十頁(yè)軟件工程(ruǎnjiànɡōnɡchénɡ)(SoftwareEngineering)軟件工程(SoftwareEngineering):是將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件的開(kāi)發(fā)、運(yùn)行(yùnxíng)和維護(hù)過(guò)程,以及對(duì)上述方法的研究。一般認(rèn)為,軟件工程由方法、工具和過(guò)程三個(gè)要素組成。計(jì)算機(jī)軟件是與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則及任何與之有關(guān)的文檔及數(shù)據(jù)。共三十頁(yè)軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可復(fù)用性、可適應(yīng)性、可移植性和可追蹤性并滿足用戶需求(xūqiú)的軟件產(chǎn)品。在軟件開(kāi)發(fā)過(guò)程中必須遵循下列軟件工程原則:抽象、信息隱藏、模塊化、局部化、一致性、完全性和可驗(yàn)證性。共三十頁(yè)軟件(ruǎnjiàn)危機(jī)(SoftwareCrisis)在計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)過(guò)程中所遇到(yùdào)的一系列嚴(yán)重問(wèn)題。軟件危機(jī)的表現(xiàn):軟件成本日益增加:開(kāi)發(fā)、部署于應(yīng)用成本高開(kāi)發(fā)進(jìn)度難以控制:不能按期完成軟件質(zhì)量差:錯(cuò)誤率高,不能滿足用戶的需求,沒(méi)有生命力軟件維護(hù)困難:成本高,維護(hù)效果不理想,可能帶來(lái)潛在的錯(cuò)誤共三十頁(yè)軟件(ruǎnjiàn)危機(jī)(SoftwareCrisis)軟件危機(jī)的原因:(1)用戶對(duì)軟件需求的描述不精確。(2)軟件開(kāi)發(fā)人員對(duì)用戶需求的理解與用戶期望有差異(3)多數(shù)管理人員缺乏(quēfá)開(kāi)發(fā)大型軟件系統(tǒng)的經(jīng)驗(yàn)。(4)軟件項(xiàng)目開(kāi)發(fā)人員不能有效地、獨(dú)立自主地處理大型軟件的全部關(guān)系和各個(gè)分支。(5)缺乏有力的方法學(xué)和工具方面的支持。(6)軟件產(chǎn)品的特殊性和人類智力的局限性。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)一般描述軟件體系結(jié)構(gòu)(SoftwareArchitecture)最初被稱為“大型軟件設(shè)計(jì)”,主要對(duì)大規(guī)模的復(fù)雜軟件系統(tǒng)進(jìn)行總體的結(jié)構(gòu)設(shè)計(jì)和規(guī)格說(shuō)明。軟件體系結(jié)構(gòu)是軟件工程學(xué)的自然延伸。在軟件需求與軟件設(shè)計(jì)之間的一座橋梁,著重解決軟件系統(tǒng)的結(jié)構(gòu)和需求向?qū)崿F(xiàn)平坦過(guò)渡(guòdù)的問(wèn)題。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)定義(dìngyì)軟件體系結(jié)構(gòu)為軟件系統(tǒng)提供了一個(gè)結(jié)構(gòu)、屬性和行為的高級(jí)抽象。它不僅指定了系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu),并且顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對(duì)應(yīng)關(guān)系,提供了一些設(shè)計(jì)決策的基本原理。軟件體系結(jié)構(gòu)主要由構(gòu)成系統(tǒng)的元素的描述、這些元素的相互作用關(guān)系、指導(dǎo)元素集成的模式以及這些模式的約束組成。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)定義Garlan&Shaw模型:軟件體系結(jié)構(gòu)(SA)={構(gòu)件(Component),連接件(Connector),約束(Constraint)}。構(gòu)件是組成系統(tǒng)的基本元素。它可以是一組代碼,如程序的模塊;也可以是一個(gè)獨(dú)立的軟件,如數(shù)據(jù)庫(kù)服務(wù)器。連接件把不同的構(gòu)件連接起來(lái)形成(xíngchéng)軟件系統(tǒng)。它可以是過(guò)程調(diào)用、管道、遠(yuǎn)程方法調(diào)用等等。約束一般為構(gòu)件連接時(shí)的規(guī)則、條件或方式。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)Garlan&Perry的定義:軟件體系結(jié)構(gòu)是一個(gè)軟件系統(tǒng)各個(gè)構(gòu)件(gòujiàn)的結(jié)構(gòu)、它們的相互關(guān)系,以及進(jìn)行軟件系統(tǒng)設(shè)計(jì)的原則和方針。在此定義中重點(diǎn)強(qiáng)調(diào)了設(shè)計(jì)原則,即如何進(jìn)行系統(tǒng)設(shè)計(jì)和組裝構(gòu)件。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)定義IEEE610.12-1990中的定義:軟件體系結(jié)構(gòu)(SA)={構(gòu)件(Component),連接件(Connector),環(huán)境(Environment),原理(Principle)}。軟件體系結(jié)構(gòu)是以構(gòu)件、構(gòu)件之間的關(guān)系、構(gòu)件與環(huán)境之間的關(guān)系為內(nèi)容的某一軟件系統(tǒng)的組織結(jié)構(gòu)以及(yǐjí)指導(dǎo)上述內(nèi)容設(shè)計(jì)和演化的原理。共三十頁(yè)軟件體系結(jié)構(gòu)(SoftwareArchitecture)補(bǔ)充在基于構(gòu)件和體系結(jié)構(gòu)的軟件開(kāi)發(fā)方法下,程序開(kāi)發(fā)模式也相應(yīng)地發(fā)生(fāshēng)了變化:軟件開(kāi)發(fā)不再是“算法+數(shù)據(jù)結(jié)構(gòu)”,而是“構(gòu)件開(kāi)發(fā)+基于體系結(jié)構(gòu)的構(gòu)件組裝”。軟件體系結(jié)構(gòu)不是整個(gè)系統(tǒng)的描述,而僅僅是系統(tǒng)內(nèi)的軟件和構(gòu)建軟件所需環(huán)境的描述。同時(shí),體系結(jié)構(gòu)描述中不應(yīng)該包含諸如算法流程、數(shù)據(jù)表格式等等底層的實(shí)現(xiàn)細(xì)節(jié)。共三十頁(yè)術(shù)語(yǔ)(shùyǔ)軟件體系結(jié)構(gòu)設(shè)計(jì)(SoftwareArchitecting)是指建立(jiànlì)軟件體系結(jié)構(gòu)的過(guò)程。軟件體系結(jié)構(gòu)設(shè)計(jì)師/架構(gòu)師(SoftwareArchitect)指的是進(jìn)行軟件體系結(jié)構(gòu)設(shè)計(jì),并獲得軟件體系結(jié)構(gòu)的專業(yè)人員。軟件體系結(jié)構(gòu)描述(SADescription)是指通過(guò)形式化和標(biāo)準(zhǔn)化的描述工具將設(shè)計(jì)得到的軟件體系結(jié)構(gòu)轉(zhuǎn)化為文檔產(chǎn)品過(guò)程。軟件體系結(jié)構(gòu)風(fēng)格(SAStyle)是指設(shè)計(jì)、組織和實(shí)現(xiàn)軟件體系結(jié)構(gòu)的各種慣用模式和習(xí)慣用法,是對(duì)一系列體系結(jié)構(gòu)設(shè)計(jì)的抽象。共三十頁(yè)概念(gàiniàn)軟件重用(Reuse)軟件重用是指在多次不同的軟件開(kāi)發(fā)過(guò)程中重復(fù)使用相同或相近軟件元素的過(guò)程??芍赜玫脑匕?bāokuò)程序代碼、測(cè)試用例、設(shè)計(jì)文檔、需求分析文檔甚至領(lǐng)域知識(shí)??芍赜玫脑卦酱?,我們就說(shuō)重用的粒度(Granularity)越大。軟件重用是軟件產(chǎn)業(yè)工業(yè)化、工程化的重要手段。軟件重用對(duì)提高生產(chǎn)率,降低開(kāi)發(fā)成本,縮短開(kāi)發(fā)周期,改善軟件質(zhì)量以及提高靈活性和標(biāo)準(zhǔn)化程度大有幫助。共三十頁(yè)概念(gàiniàn)構(gòu)件(Component)構(gòu)件是語(yǔ)義完整、語(yǔ)法正確和有重用價(jià)值的單位(dānwèi)軟件。一般來(lái)說(shuō),任何在系統(tǒng)運(yùn)行過(guò)程中承擔(dān)一定功能、發(fā)揮一定作用的軟件體都可以看作是構(gòu)件,譬如設(shè)備驅(qū)動(dòng)程序、函數(shù)庫(kù)、文件、各種服務(wù)器軟件等等。構(gòu)件與外界的若干個(gè)交互點(diǎn)稱作“端口”或“接口”。通過(guò)端口可以發(fā)現(xiàn)構(gòu)件提供的功能、可以描述的數(shù)據(jù)以及訪問(wèn)它們的消息傳遞方式??梢酝ㄟ^(guò)形式化的規(guī)格說(shuō)明方式描述構(gòu)件,也可以用一般的描述語(yǔ)言描述構(gòu)件。共三十頁(yè)概念(gàiniàn)基于構(gòu)件(gòujiàn)的軟件開(kāi)發(fā)模型共三十頁(yè)概念(gàiniàn)連接件(Connector)連接件是用來(lái)建立構(gòu)件之間的交互以及支配這些交互的軟件體系結(jié)構(gòu)模塊(mókuài)。從一般意義上來(lái)看,連接件是實(shí)現(xiàn)構(gòu)件之間聯(lián)系的特殊機(jī)制或特殊構(gòu)件。構(gòu)件之間的聯(lián)系包括:消息或信號(hào)的傳遞功能或方法的請(qǐng)求或調(diào)用數(shù)據(jù)的傳送和轉(zhuǎn)換構(gòu)件之間的同步或依賴關(guān)系連接件的接口由一組角色組成,連接件的每一個(gè)角色定義了該連接件表示的交互參與者。共三十頁(yè)概念(gàiniàn)約束(Constraint)約束是構(gòu)件連接時(shí)的規(guī)則,如構(gòu)件是否正確連接,接口是否匹配,連接件形成的通信是否有效等等。約束以特定的結(jié)構(gòu)(jiégòu)反映了軟件體系結(jié)構(gòu)(jiégòu)的基本準(zhǔn)則。共三十頁(yè)概念(gàiniàn)構(gòu)件(gòujiàn)、連接件和約束之間的關(guān)系共三十頁(yè)發(fā)展(fāzhǎn)歷程“無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段:以匯編語(yǔ)言(huìbiānyǔyán)進(jìn)行小規(guī)模應(yīng)用程序開(kāi)發(fā)。萌芽階段:出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)。初期階段:出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以UML為典型代表。高級(jí)階段:該階段以Kruchten提出的“4+1”模型為標(biāo)志,以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)的軟件結(jié)構(gòu)的界限。共三十頁(yè)軟件體系結(jié)構(gòu)的意義(yìyì)軟件體系結(jié)構(gòu)是風(fēng)險(xiǎn)承擔(dān)者進(jìn)行交流的手段:系統(tǒng)的各個(gè)風(fēng)險(xiǎn)承擔(dān)者(客戶、項(xiàng)目管理人員、設(shè)計(jì)開(kāi)發(fā)人員、測(cè)試人員、集成人員)把軟件體系結(jié)構(gòu)作為各自(gèzì)關(guān)心的不同方面的描述,并以此作為相互溝通,達(dá)成共識(shí)的基礎(chǔ)。共三十頁(yè)軟件體系結(jié)構(gòu)的意義(yìyì)軟件體系結(jié)構(gòu)是早期設(shè)計(jì)決策的體現(xiàn):明確了對(duì)系統(tǒng)實(shí)現(xiàn)的約束條件決定了開(kāi)發(fā)和維護(hù)(wéihù)組織的結(jié)構(gòu)制約著系統(tǒng)的質(zhì)量屬性通過(guò)研究軟件體系結(jié)構(gòu)可以預(yù)測(cè)軟件的質(zhì)量使推理和控制軟件更新更加有效有助于循序漸進(jìn)的原型設(shè)計(jì)可以作為培訓(xùn)的基礎(chǔ)共三十頁(yè)軟件體系結(jié)構(gòu)的意義(yìyì)軟件體系結(jié)構(gòu)是可傳遞(chuándì)和可重用的模型:軟件體系結(jié)構(gòu)級(jí)的重用意味著體系結(jié)構(gòu)的設(shè)計(jì)決策能夠在具有相似需求的多個(gè)系統(tǒng)中發(fā)生影響,這比代碼級(jí)的重用有更大的好處。通過(guò)軟件體系結(jié)構(gòu)的抽象,可以使設(shè)計(jì)者能夠?qū)σ恍┙?jīng)過(guò)實(shí)踐證明是非常有效的體系結(jié)構(gòu)構(gòu)件進(jìn)行重用,從而提高設(shè)計(jì)的效率和可靠性。共三十頁(yè)主要研究(yánjiū)內(nèi)容軟件體系結(jié)構(gòu)理論模型的研究:如何表示體系結(jié)構(gòu)的問(wèn)題軟件體系結(jié)構(gòu)描述的研究:規(guī)范化的體系結(jié)構(gòu)描述語(yǔ)言(ADL)體系結(jié)構(gòu)設(shè)計(jì)研究:體系結(jié)構(gòu)設(shè)計(jì)方法、體系結(jié)構(gòu)風(fēng)格以及計(jì)算機(jī)輔助實(shí)現(xiàn)等方面(fāngmiàn)的研究體系結(jié)構(gòu)分析與驗(yàn)證基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程的研究研究特定領(lǐng)域的體系結(jié)構(gòu)框架共三十頁(yè)軟件體系(tǐxì)設(shè)計(jì)概述軟件體系結(jié)構(gòu)設(shè)計(jì)(shèjì)包括早期的設(shè)計(jì)(shèjì)決定,體現(xiàn)了系統(tǒng)的全局結(jié)構(gòu),對(duì)于整個(gè)系統(tǒng)的質(zhì)量有著決定性的影響。為了確保各種質(zhì)量因素,正確地對(duì)體系結(jié)構(gòu)進(jìn)行抽象很有必要。成功的體系結(jié)構(gòu)設(shè)計(jì)是開(kāi)發(fā)一個(gè)成功的軟件系統(tǒng)的決定性因素之一。成功的體系結(jié)構(gòu)有如下特征:可伸縮、簡(jiǎn)單、關(guān)系清楚明了、職責(zé)分布明確、高效益和技術(shù)平衡。共三十頁(yè)a

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論