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

下載本文檔

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

文檔簡(jiǎn)介

第1章 軟件工程(ruǎnjiànɡōnɡchénɡ)和軟件設(shè)計(jì)

1清華大學(xué)出版社共四十頁(yè)內(nèi)容提要(nèirónɡtíyào)1.1 軟件1.1.1 軟件的本質(zhì) 1.1.2 軟件神話 61.2 軟件工程(ruǎnjiànɡōnɡchénɡ)

1.2.1 軟件工程 1.2.2 軟件過程和軟件工程實(shí)踐 1.2.3 網(wǎng)絡(luò)環(huán)境帶來的影響 1.3 軟件設(shè)計(jì) 1.3.1 軟件工程中的設(shè)計(jì) 1.3.2 設(shè)計(jì)過程和設(shè)計(jì)質(zhì)量1.3.3 軟件設(shè)計(jì)原則1.4 軟件體系結(jié)構(gòu)1.4.1 什么是軟件體系結(jié)構(gòu)1.4.2 軟件體系結(jié)構(gòu)的內(nèi)容1.4.3 設(shè)計(jì)階段的軟件體系結(jié)構(gòu)1.5 小結(jié)

2清華大學(xué)出版社共四十頁(yè)1.1 軟件(ruǎnjiàn)1.1.1 軟件的本質(zhì)計(jì)算機(jī)軟件,是由專業(yè)人員開發(fā)并長(zhǎng)期維護(hù)的軟件產(chǎn)品。軟件科學(xué)成為了今天商業(yè)(shāngyè)、科學(xué)、工程必需的技術(shù),促進(jìn)了新科技的創(chuàng)新和發(fā)展但是,無(wú)論國(guó)外、國(guó)內(nèi),軟件危機(jī)的達(dá)摩克利斯之劍,一直高懸在軟件從業(yè)者頭頂,至今揮之不去。3清華大學(xué)出版社共四十頁(yè)軟件與信息(xìnxī)轉(zhuǎn)換軟件不是有形的物理產(chǎn)品,而是人類思維的產(chǎn)物,軟件不是被制造(zhìzào)出來,而是思考出來的。

4清華大學(xué)出版社共四十頁(yè)軟件(ruǎnjiàn)的特性軟件是設(shè)計(jì)開發(fā)的,而不是傳統(tǒng)意義上生產(chǎn)制造(zhìzào)的軟件不會(huì)磨損!隨著基于構(gòu)件的構(gòu)造模式發(fā)展,大多數(shù)軟件需要根據(jù)實(shí)際的顧客需求定制5清華大學(xué)出版社共四十頁(yè)硬件和軟件的失效(shīxiào)曲線軟件,不會(huì)受引起硬件磨損的環(huán)境問題(wèntí)的影響。6清華大學(xué)出版社共四十頁(yè)計(jì)算機(jī)軟件分類(fēnlèi)

系統(tǒng)軟件應(yīng)用軟件嵌入式軟件科學(xué)(kēxué)和工程計(jì)算軟件產(chǎn)品線軟件人工智能軟件網(wǎng)絡(luò)化軟件計(jì)算機(jī)軟件分為七個(gè)大類,軟件工程師正面臨著持續(xù)挑戰(zhàn)。7清華大學(xué)出版社共四十頁(yè)新的挑戰(zhàn)(tiǎozhàn)

開放計(jì)算(jìsuàn)網(wǎng)絡(luò)資源開源軟件所有這些新的挑戰(zhàn),毫無(wú)疑問,將對(duì)商務(wù)人員、軟件工程師、最終用戶產(chǎn)生無(wú)法預(yù)測(cè)的結(jié)果。8清華大學(xué)出版社共四十頁(yè)軟件的演變和認(rèn)識(shí)(rènshi)過程9清華大學(xué)出版社共四十頁(yè)程序設(shè)計(jì)(chénɡxùshèjì)語(yǔ)言的發(fā)展有三個(gè)層面以標(biāo)準(zhǔn)C語(yǔ)言簇為典型代表的面向(miànxiànɡ)過程的軟件設(shè)計(jì)方法以JAVA語(yǔ)言簇為典型代表的面向?qū)ο蟮能浖O(shè)計(jì)方法以XML語(yǔ)言為典型代表的面向構(gòu)件的軟件設(shè)計(jì)方法10清華大學(xué)出版社共四十頁(yè)人月神話(shénhuà)

《人月神話(shénhuà)》的內(nèi)容,源于作者布魯克斯在IBM公司SYSTEM/360家族(最長(zhǎng)壽的計(jì)算機(jī)體系結(jié)構(gòu)之一)和OS/360中的項(xiàng)目管理經(jīng)驗(yàn)。11清華大學(xué)出版社共四十頁(yè)1.2 軟件工程(ruǎnjiànɡōnɡchénɡ)1.2.1 軟件工程美國(guó)電氣與電子(diànzǐ)工程師協(xié)會(huì)(IEEE)給出的:軟件工程是:(1)將系統(tǒng)化的、規(guī)范的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化方法應(yīng)用于軟件。(2)在(1)中所述方法的研究。12清華大學(xué)出版社共四十頁(yè)軟件工程(ruǎnjiànɡōnɡchénɡ)層次圖包括軟件工程在內(nèi)的任何工程方法,必須構(gòu)建(ɡòujiàn)在質(zhì)量的基礎(chǔ)之上。質(zhì)量關(guān)注點(diǎn)(qualityfocus)過程(process)方法(method)工具(tool)軟件工程是一種層次化的技術(shù)!13清華大學(xué)出版社共四十頁(yè)軟件工程(ruǎnjiànɡōnɡchénɡ)與計(jì)算機(jī)科學(xué)的差別軟件工程計(jì)算機(jī)科學(xué)目標(biāo)在時(shí)間、資源、人員這3個(gè)主要限制條件下構(gòu)建滿足用戶需求的軟件系統(tǒng)探索正確的計(jì)算和建模方法,從而改進(jìn)計(jì)算方法本身產(chǎn)品軟件(比如辦公包和編譯器)算法(比如希爾排序法)和抽象的問題(比如哲學(xué)家進(jìn)餐問題)進(jìn)度與時(shí)間表軟件專案都有特定的進(jìn)度與時(shí)間表研究專案一般不具有設(shè)置的進(jìn)度與時(shí)間表關(guān)注點(diǎn)軟件工程關(guān)注如何為用戶實(shí)現(xiàn)價(jià)值軟件理論關(guān)注的是軟件本身運(yùn)行的原理,比如時(shí)間復(fù)雜度,空間復(fù)雜度,和算法的正確性變化程度隨著技術(shù)和用戶需求的不斷變化,軟件開發(fā)人員必須時(shí)刻調(diào)整自己的開發(fā)以適應(yīng)當(dāng)前的需求。同時(shí)軟件工程本身也處于不斷的發(fā)展中對(duì)于某一種特定問題的正確解決方法將永遠(yuǎn)不會(huì)改變需要的其他知識(shí)相關(guān)領(lǐng)域的知識(shí)數(shù)學(xué)著名的探索者和教育家BarryBoehm,DavidParnas,布魯克斯EdsgerDijkstra,高德納,RobertTarjan,PeterSlater,艾倫·圖靈,姚期智著名的實(shí)踐者JohnBackus,DanBricklin,蒂姆·伯納斯-李林納斯·托瓦茲,理查德·馬修·斯托曼無(wú)14清華大學(xué)出版社共四十頁(yè)1.2.2 軟件過程和軟件工程(ruǎnjiànɡōnɡchénɡ)實(shí)踐一個(gè)通用的軟件工程過程框架,通常包含5個(gè)活動(dòng):溝通:在技術(shù)工作開始之前,和客戶的溝通、協(xié)作極其重要目的是理解利益相關(guān)者的項(xiàng)目目標(biāo),并收集需求,以定義軟件特性、功能。策劃:軟件項(xiàng)目好比是一個(gè)復(fù)雜的旅程,策劃活動(dòng),就是創(chuàng)建一個(gè)使任何復(fù)雜的旅程都變得簡(jiǎn)單的地圖,以指導(dǎo)團(tuán)隊(duì)的項(xiàng)目旅程,該地圖稱為軟件。建模:無(wú)論是庭園設(shè)計(jì)家、橋梁建造者、航空工程師、木匠還是建筑師,每天的工作都離不開模型。他們會(huì)畫一張草圖,來輔助理解整個(gè)項(xiàng)目大的構(gòu)想,包括體系結(jié)構(gòu)、不同的構(gòu)件如何結(jié)合,以及其它特征。構(gòu)建:包括手寫的、自動(dòng)生成的編碼和測(cè)試(cèshì),以發(fā)現(xiàn)編碼中的錯(cuò)誤。部署:軟件以全部、部分增量的形式交付給用戶,用戶對(duì)其進(jìn)行評(píng)測(cè),并給出反饋意見。15清華大學(xué)出版社共四十頁(yè)7條簡(jiǎn)單(jiǎndān)的原則存在價(jià)值:軟件系統(tǒng)因能給用戶提供價(jià)值,而具有存在價(jià)值。所有的決定,都應(yīng)基于該思想。保持簡(jiǎn)潔:軟件設(shè)計(jì)并不是隨意的過程,軟件設(shè)計(jì)中需要考慮很多因素。所有的設(shè)計(jì),都應(yīng)該盡可能簡(jiǎn)潔,保持愿景:清晰的愿景,是軟件項(xiàng)目(xiàngmù)成功的基礎(chǔ)。沒有愿景,項(xiàng)目(xiàngmù)將會(huì)有多種設(shè)計(jì)思想而永遠(yuǎn)不能結(jié)束。如果缺乏一致性,關(guān)注使用者:有產(chǎn)業(yè)實(shí)力的軟件系統(tǒng),不是在真空中開發(fā)、使用的。通常,軟件系統(tǒng)必定是由開發(fā)者以外的人員使用、維護(hù)和編制文檔,等等,這就必須要讓別人理解你的系統(tǒng)。因此,在需求說明、設(shè)計(jì)和實(shí)現(xiàn)過程時(shí)面向未來:生命期持久的系統(tǒng),具有更高的價(jià)值。在現(xiàn)在的計(jì)算環(huán)境中,需求規(guī)格說明隨時(shí)會(huì)變計(jì)劃復(fù)用:復(fù)用既省時(shí)又省力。軟件系統(tǒng)開發(fā)過程中,高水平的復(fù)用,是一個(gè)很難實(shí)現(xiàn)的目標(biāo)。面向?qū)ο蠹夹g(shù)會(huì)給代碼和設(shè)計(jì)復(fù)用帶來好處認(rèn)真思考:這最后一條規(guī)則,可能最容易忽略。行動(dòng)之前,清晰定位、完整思考,通常能產(chǎn)生更好的結(jié)果。仔細(xì)思考,可以提高做好事情的可能性16清華大學(xué)出版社共四十頁(yè)10個(gè)重要的軟件工程(ruǎnjiànɡōnɡchénɡ)思想17清華大學(xué)出版社共四十頁(yè)1.2.3 網(wǎng)絡(luò)環(huán)境(huánjìng)帶來的影響美國(guó)南加州大學(xué)的巴里·貝姆(BarryBoehm)教授,總結(jié)了國(guó)際上軟件工程的發(fā)展歷程:20世紀(jì)50年代的類似硬件工程(gōngchéng)60年代的軟件手工生產(chǎn)、70年代的形式化方法和瀑布模型80年代的軟件生產(chǎn)率和可擴(kuò)展性90年代的軟件并發(fā)和順序進(jìn)程21世紀(jì)初的軟件敏捷性和價(jià)值18清華大學(xué)出版社共四十頁(yè)軟件工程在40年發(fā)展歷程(lìchéng)中關(guān)注域轉(zhuǎn)向需求40年來,軟件工程的發(fā)展都是以系統(tǒng)為中心(zhōngxīn)的,基于圖靈計(jì)算模式,圖靈計(jì)算時(shí)代,計(jì)算機(jī)軟件是與計(jì)算機(jī)系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則及如何與之有關(guān)的數(shù)據(jù)結(jié)構(gòu)和文檔,即:軟件=程序+數(shù)據(jù)結(jié)構(gòu)+文檔隨著一個(gè)劃時(shí)代的轉(zhuǎn)變,人們開始推崇“軟件即服務(wù)”的思想。那么,計(jì)算機(jī)軟件是與滿足需求的信息及與之有關(guān)的服務(wù)工具,即:軟件=滿足需求的信息+服務(wù)工具Google的成功,就是一個(gè)現(xiàn)實(shí)的例子。19清華大學(xué)出版社共四十頁(yè)傳統(tǒng)的與互聯(lián)網(wǎng)時(shí)代的軟件工程(ruǎnjiànɡōnɡchénɡ)觀比較傳統(tǒng)軟件工程觀互聯(lián)網(wǎng)時(shí)代軟件工程觀基礎(chǔ)理論基于系統(tǒng),以中央處理器為核心;基于圖靈計(jì)算理論和馮·諾依曼結(jié)構(gòu)。基于網(wǎng)絡(luò),節(jié)點(diǎn)是圖靈機(jī)或智能體等主體對(duì)象,主體間相互作用;網(wǎng)絡(luò)化軟件具有小世界、無(wú)標(biāo)度和高集聚的特性,研究網(wǎng)絡(luò)動(dòng)力學(xué)行為。研究方法操作系統(tǒng)屏蔽硬件的異構(gòu)性,中間件屏蔽操作系統(tǒng)的異構(gòu)性;用層次結(jié)構(gòu)描述軟件單元間的相互關(guān)系;自頂向下分解、逐步求精的開發(fā);軟件生命周期、軟件評(píng)測(cè)和軟件成熟度。網(wǎng)絡(luò)成為一個(gè)虛擬資源環(huán)境;重視在不同時(shí)間段、不同軟件規(guī)模上的軟件間的相互關(guān)系和協(xié)同;軟件按偏好依附生長(zhǎng),逐步演化。工程方法軟件業(yè)是制造業(yè);面向系統(tǒng)的結(jié)構(gòu);要求用戶提供確定的需求、明確的系統(tǒng)邊界。軟件即服務(wù),軟件業(yè)是服務(wù)業(yè);面向服務(wù)的架構(gòu);用戶主導(dǎo),隨需即取,規(guī)模定制,敏捷開發(fā)。20清華大學(xué)出版社共四十頁(yè)1.3 軟件設(shè)計(jì)朗曼字典里,對(duì)“設(shè)計(jì)”的解釋包括:描述某個(gè)(mǒuɡè)事物如何被制造出來的圖樣或模式。形成上述圖樣或模式的藝術(shù)。對(duì)人造產(chǎn)品中組成部分的一種安排,將對(duì)產(chǎn)品在實(shí)踐中的可用性具有影響。人的頭腦中的一種規(guī)則,等等。由上述定義可見,設(shè)計(jì)是一種“圖樣、模式或規(guī)劃”,其目標(biāo),就是要描述一個(gè)產(chǎn)品如何被制造出來。因此,軟件設(shè)計(jì)可以被看作是“對(duì)軟件將如何開發(fā)出來的一種描述”。如果把設(shè)計(jì)當(dāng)作一個(gè)動(dòng)詞,那么軟件設(shè)計(jì)就是“得到這種描述的活動(dòng)或過程”。21清華大學(xué)出版社共四十頁(yè)1.3.1 軟件工程(ruǎnjiànɡōnɡchénɡ)中的設(shè)計(jì)分析模型數(shù)據(jù)(shùjù)/類設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)接口設(shè)計(jì)構(gòu)件級(jí)設(shè)計(jì)對(duì)軟件需求進(jìn)行分析和建模開始后,軟件設(shè)計(jì)是建?;顒?dòng)的最后一個(gè)軟件工程活動(dòng),接著便要進(jìn)入構(gòu)造階段,并生成代碼和測(cè)試。

22清華大學(xué)出版社共四十頁(yè)1.3.2 設(shè)計(jì)(shèjì)過程和設(shè)計(jì)(shèjì)質(zhì)量在整個(gè)設(shè)計(jì)過程中,要使用一系列正式技術(shù)評(píng)審或設(shè)計(jì)走查,來評(píng)估設(shè)計(jì)演化的質(zhì)量。標(biāo)準(zhǔn)如下:設(shè)計(jì)必須實(shí)現(xiàn)所有分析模型中的明確需求,而且滿足客戶期望的所有隱性需求。對(duì)于生成代碼的人、進(jìn)行測(cè)試的人、維護(hù)軟件的人,設(shè)計(jì)必須是可讀的、可理解的指南。設(shè)計(jì)必須提供軟件的全貌,并從實(shí)現(xiàn)的角度說明(shuōmíng)數(shù)據(jù)域、功能域、行為域。23清華大學(xué)出版社共四十頁(yè)1.3.3 軟件設(shè)計(jì)原則(yuánzé)抽象體系結(jié)構(gòu)模式(móshì)模塊化信息隱蔽功能獨(dú)立求精重構(gòu)設(shè)計(jì)類24清華大學(xué)出版社共四十頁(yè)模塊化和軟件(ruǎnjiàn)成本模塊化時(shí),位置需要保持在M附近,來避免過少、過多的模塊化。至于如何知道M的附近位置?如何將軟件劃分(huàfēn)成模塊?則需要理解后面的設(shè)計(jì)概念。25清華大學(xué)出版社共四十頁(yè)1.4 軟件體系結(jié)構(gòu)1.4.1 什么是軟件體系結(jié)構(gòu)牛津字典中,“體系結(jié)構(gòu)”一詞定義為:建筑的藝術(shù)或科學(xué),特別是在考慮美感和實(shí)用因素的情況下,設(shè)計(jì)人類使用的大型建筑物所需的技巧和實(shí)際。建筑風(fēng)格,建筑物,組織機(jī)構(gòu)、結(jié)構(gòu)的一種樣式、規(guī)矩或風(fēng)格??▋?nèi)基梅隆大學(xué)的軟件工程研究所在網(wǎng)站上公開征集軟件體系結(jié)構(gòu)的定義,至今已有百余種。其中,較有影響力的定義包括:軟件系統(tǒng)的結(jié)構(gòu),包含軟件元素、軟件元素外部可見的屬性以及這些(zhèxiē)軟件元素之間的關(guān)系;軟件系統(tǒng)的基本組織,包含構(gòu)件、構(gòu)件之間、構(gòu)件與環(huán)境之間的關(guān)系,以及相關(guān)的設(shè)計(jì)與演化原則等。26清華大學(xué)出版社共四十頁(yè)狗窩(ɡǒuwō)、房子和高樓開發(fā)一個(gè)具有一定規(guī)模和復(fù)雜性的軟件系統(tǒng)和編寫一個(gè)簡(jiǎn)單的程序(chéngxù),是不一樣的,借用《設(shè)計(jì)模式》的作者G.Booch的比喻,其中的區(qū)別如同建造一座大廈和搭建一個(gè)狗窩的差別。27清華大學(xué)出版社共四十頁(yè)房子(fángzi)的建模建筑師準(zhǔn)備建筑最初的草圖,展示外觀和內(nèi)部布局(bùjú),與客戶討論這些草圖,直至所有相關(guān)方都達(dá)成一致意見,認(rèn)為展示的就是想要的。28清華大學(xué)出版社共四十頁(yè)建筑師的角色(juésè)和溝通依據(jù)建筑師也充當(dāng)建造者和客戶(kèhù)之間的協(xié)調(diào)人!29清華大學(xué)出版社共四十頁(yè)體系結(jié)構(gòu)的需要(xūyào):溫切斯特神秘屋這個(gè)大廈沒有制作過建筑(jiànzhù)藍(lán)圖!30清華大學(xué)出版社共四十頁(yè)軟件體系結(jié)構(gòu)的發(fā)展史2001年到2012年間的重要方法、語(yǔ)言、論文、數(shù)據(jù)(shùjù)和會(huì)議31清華大學(xué)出版社共四十頁(yè)軟件生命周期中軟件體系結(jié)構(gòu)的研究(yánjiū)與應(yīng)用需求面向軟件體系結(jié)構(gòu)的需求工程,從需求到軟件體系結(jié)構(gòu)的轉(zhuǎn)換設(shè)計(jì)軟件體系結(jié)構(gòu)的描述,設(shè)計(jì)方法,以及設(shè)計(jì)經(jīng)驗(yàn)的記錄和重用實(shí)踐支持軟件體系結(jié)構(gòu)的開發(fā)過程,從設(shè)計(jì)模型到系統(tǒng)實(shí)現(xiàn)的轉(zhuǎn)換;基于軟件體系結(jié)構(gòu)的測(cè)試部署基于軟件體系結(jié)構(gòu)的應(yīng)用部署開發(fā)后動(dòng)態(tài)軟件體系結(jié)構(gòu),軟件體系結(jié)構(gòu)恢復(fù)和重建整個(gè)(zhěnggè)軟件生命周期中,各階段軟件體系結(jié)構(gòu)的研究熱點(diǎn)32清華大學(xué)出版社共四十頁(yè)1.4.2 軟件體系結(jié)構(gòu)的內(nèi)容(nèiróng)下面將當(dāng)前軟件體系結(jié)構(gòu)分為4個(gè)研究領(lǐng)域:(1)通過提供一種新的體系結(jié)構(gòu)描述語(yǔ)言(ArchitecturalDescriptionLanguage,ADL)解決體系結(jié)構(gòu)描述問題。這種語(yǔ)言的目標(biāo),是給實(shí)踐者提供設(shè)計(jì)體系結(jié)構(gòu)更好的方法,以便設(shè)計(jì)人員相互交流,并可以使用支持體系結(jié)構(gòu)描述語(yǔ)言的工具來分析案例。(2)體系結(jié)構(gòu)領(lǐng)域知識(shí)的總結(jié)性研究。這一領(lǐng)域關(guān)心的,是工程師通過軟件實(shí)踐,總結(jié)各種體系結(jié)構(gòu)原則和模式的分類和闡釋。(3)針對(duì)特定領(lǐng)域的框架的研究。這類研究產(chǎn)生了針對(duì)一類特殊(tèshū)軟件的體系結(jié)構(gòu)框架,比如,航空電子控制系統(tǒng)、移動(dòng)機(jī)器人、用戶界面。這類研究一旦成功,這樣的框架便可以被毫不費(fèi)力實(shí)例化來生產(chǎn)這一領(lǐng)域新的產(chǎn)品。(4)軟件體系結(jié)構(gòu)形式化支持的研究。隨著新的符號(hào)的產(chǎn)生,以及人們對(duì)體系結(jié)構(gòu)設(shè)計(jì)實(shí)踐的理解逐步深入,需要用一種嚴(yán)格的形式化方法刻畫軟件體系結(jié)構(gòu)及其相關(guān)性質(zhì)。33清華大學(xué)出版社共四十頁(yè)創(chuàng)建(chuàngjiàn)軟件體系結(jié)構(gòu)典型的利益相關(guān)人及其關(guān)注點(diǎn)包括:投資人:想知道項(xiàng)目是否能夠在給定的資源和進(jìn)度約束下完成。架構(gòu)師、開發(fā)人員、測(cè)試人員:首先考慮的是,最初的構(gòu)建和以后(yǐhòu)的維護(hù)與演進(jìn)。項(xiàng)目經(jīng)理:需要組織團(tuán)隊(duì),制定迭代計(jì)劃。市場(chǎng)人員:想通過品質(zhì)特點(diǎn)實(shí)現(xiàn)與競(jìng)爭(zhēng)者的差異化。用戶:包括最終用戶、系統(tǒng)管理員,以及安裝、部署、準(zhǔn)備、配置人員。技術(shù)支持人員:關(guān)注幫助平臺(tái)電話呼入的數(shù)目和復(fù)雜性。34清華大學(xué)出版社共四十頁(yè)創(chuàng)建(chuàngjiàn)軟件體系結(jié)構(gòu)具體系統(tǒng),會(huì)有其它關(guān)鍵的關(guān)注點(diǎn)。功能性:產(chǎn)品向用戶提供哪些功能?可變性:軟件可能需要哪些改變?哪些改變不太可能發(fā)生,不需要特別容易進(jìn)行這些改變?性能:產(chǎn)品達(dá)到怎樣的性能?容量:多少用戶并發(fā)使用該系統(tǒng)?該系統(tǒng)為用戶保存多少數(shù)據(jù)?生態(tài)系統(tǒng):在部署的生態(tài)環(huán)境中,該系統(tǒng)與其他系統(tǒng)進(jìn)行哪些交互?模塊化:如何將編寫軟件的任務(wù)分解為工作指派(模塊),特別是這些模塊可以獨(dú)立地開發(fā),并能夠準(zhǔn)確、容易地滿足彼此的需要?可構(gòu)建性:如何將軟件構(gòu)建為一組組件,并能夠獨(dú)立實(shí)現(xiàn)和驗(yàn)證這些組件?哪些組件應(yīng)該復(fù)用其它產(chǎn)品,哪些應(yīng)該從外部供應(yīng)商處獲得(huòdé)?產(chǎn)品化:如果產(chǎn)品以幾種變體的形式存在,如何開發(fā)一個(gè)產(chǎn)品線,并利用這些變體的共性?產(chǎn)品線中的產(chǎn)品以怎樣的步驟開發(fā)?在創(chuàng)建一條軟件產(chǎn)品線時(shí),要進(jìn)行哪些投資?安全性:產(chǎn)品是否需要用戶認(rèn)證,或者必須限制對(duì)數(shù)據(jù)的訪問?數(shù)據(jù)的安全性如何得到保證?如何抵擋“拒絕服務(wù)”攻擊或其他攻擊?35清華大學(xué)出版社共四十頁(yè)1.4.3 設(shè)計(jì)階段的軟件體系結(jié)構(gòu)根據(jù)在設(shè)計(jì)過程中,對(duì)FR和NFR考慮的階段不同,可以將軟件體系結(jié)構(gòu)設(shè)計(jì)方法分為3類:FR驅(qū)動(dòng)的軟件體系結(jié)構(gòu)設(shè)計(jì),根據(jù)FR得到初步的體系結(jié)構(gòu)設(shè)計(jì)模型,然后,通過一定的手段,精化設(shè)計(jì)結(jié)果以逐步達(dá)到NFR的目標(biāo),典型的方法,包括評(píng)估與轉(zhuǎn)化、自頂向下組裝)等。NFR驅(qū)動(dòng)的軟件體系結(jié)構(gòu)設(shè)計(jì)將NFR作為首要(shǒuyào)考慮因素,將NFR直接映射成為體系結(jié)構(gòu)的建模元素,典型的,包括屬性驅(qū)動(dòng)的設(shè)計(jì)ADD等。集成FR和NFR的方法,將FR和NFR視為同等重要的設(shè)計(jì)輸入,在體系結(jié)構(gòu)設(shè)計(jì)過程中,同時(shí)兼顧FR和NFR,并將其轉(zhuǎn)化成相應(yīng)體系結(jié)構(gòu)的建模元素這類方法,往往與面向Aspect的方法相結(jié)合,典型的,包括UseCase和目標(biāo)驅(qū)動(dòng)、形式化設(shè)計(jì)分析框架FDAF、Aspect構(gòu)件等。36清華大學(xué)出版社共四十頁(yè)體系結(jié)構(gòu)的復(fù)用(fùyònɡ)

圣索菲亞大教堂,是拜占庭建筑之美的代表。1100年后,ChristopherWren使用了同樣(tóngyàng)的設(shè)計(jì),來建造圣保羅大教堂的穹頂,并成為倫敦的地標(biāo)性建筑。37清華大學(xué)出版社共四十頁(yè)系統(tǒng)(xìtǒng)的構(gòu)架結(jié)構(gòu)軟件結(jié)構(gòu)關(guān)系適用于分解是一個(gè)子模塊;與之共享秘密資源分配、項(xiàng)目結(jié)構(gòu)化和規(guī)劃;信息隱藏、封裝;配置控制使用要求正確出現(xiàn)設(shè)計(jì)子集;設(shè)計(jì)擴(kuò)展分層要求正確的出現(xiàn)、使用服務(wù)、提供抽象增量式開發(fā);在“虛擬機(jī)”可移植性上實(shí)現(xiàn)系統(tǒng)類是一個(gè)實(shí)例;共享訪問方法在面向?qū)ο蟮脑O(shè)計(jì)系

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論