版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章 軟件工程(ruǎnjiànɡōnɡchénɡ)和軟件設(shè)計(jì)
1清華大學(xué)出版社共四十頁內(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é)出版社共四十頁1.1 軟件(ruǎnjiàn)1.1.1 軟件的本質(zhì)計(jì)算機(jī)軟件,是由專業(yè)人員開發(fā)并長期維護(hù)的軟件產(chǎn)品。軟件科學(xué)成為了今天商業(yè)(shāngyè)、科學(xué)、工程必需的技術(shù),促進(jìn)了新科技的創(chuàng)新和發(fā)展但是,無論國外、國內(nèi),軟件危機(jī)的達(dá)摩克利斯之劍,一直高懸在軟件從業(yè)者頭頂,至今揮之不去。3清華大學(xué)出版社共四十頁軟件與信息(xìnxī)轉(zhuǎn)換軟件不是有形的物理產(chǎn)品,而是人類思維的產(chǎn)物,軟件不是被制造(zhìzào)出來,而是思考出來的。
4清華大學(xué)出版社共四十頁軟件(ruǎnjiàn)的特性軟件是設(shè)計(jì)開發(fā)的,而不是傳統(tǒng)意義上生產(chǎn)制造(zhìzào)的軟件不會磨損!隨著基于構(gòu)件的構(gòu)造模式發(fā)展,大多數(shù)軟件需要根據(jù)實(shí)際的顧客需求定制5清華大學(xué)出版社共四十頁硬件和軟件的失效(shīxiào)曲線軟件,不會受引起硬件磨損的環(huán)境問題(wèntí)的影響。6清華大學(xué)出版社共四十頁計(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é)出版社共四十頁新的挑戰(zhàn)(tiǎozhàn)
開放計(jì)算(jìsuàn)網(wǎng)絡(luò)資源開源軟件所有這些新的挑戰(zhàn),毫無疑問,將對商務(wù)人員、軟件工程師、最終用戶產(chǎn)生無法預(yù)測的結(jié)果。8清華大學(xué)出版社共四十頁軟件的演變和認(rèn)識(rènshi)過程9清華大學(xué)出版社共四十頁程序設(shè)計(jì)(chénɡxùshèjì)語言的發(fā)展有三個(gè)層面以標(biāo)準(zhǔn)C語言簇為典型代表的面向(miànxiànɡ)過程的軟件設(shè)計(jì)方法以JAVA語言簇為典型代表的面向?qū)ο蟮能浖O(shè)計(jì)方法以XML語言為典型代表的面向構(gòu)件的軟件設(shè)計(jì)方法10清華大學(xué)出版社共四十頁人月神話(shénhuà)
《人月神話(shénhuà)》的內(nèi)容,源于作者布魯克斯在IBM公司SYSTEM/360家族(最長壽的計(jì)算機(jī)體系結(jié)構(gòu)之一)和OS/360中的項(xiàng)目管理經(jīng)驗(yàn)。11清華大學(xué)出版社共四十頁1.2 軟件工程(ruǎnjiànɡōnɡchénɡ)1.2.1 軟件工程美國電氣與電子(diànzǐ)工程師協(xié)會(IEEE)給出的:軟件工程是:(1)將系統(tǒng)化的、規(guī)范的、可量化的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即將工程化方法應(yīng)用于軟件。(2)在(1)中所述方法的研究。12清華大學(xué)出版社共四十頁軟件工程(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é)出版社共四十頁軟件工程(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ā)展中對于某一種特定問題的正確解決方法將永遠(yuǎn)不會改變需要的其他知識相關(guān)領(lǐng)域的知識數(shù)學(xué)著名的探索者和教育家BarryBoehm,DavidParnas,布魯克斯EdsgerDijkstra,高德納,RobertTarjan,PeterSlater,艾倫·圖靈,姚期智著名的實(shí)踐者JohnBackus,DanBricklin,蒂姆·伯納斯-李林納斯·托瓦茲,理查德·馬修·斯托曼無14清華大學(xué)出版社共四十頁1.2.2 軟件過程和軟件工程(ruǎnjiànɡōnɡchénɡ)實(shí)踐一個(gè)通用的軟件工程過程框架,通常包含5個(gè)活動:溝通:在技術(shù)工作開始之前,和客戶的溝通、協(xié)作極其重要目的是理解利益相關(guān)者的項(xiàng)目目標(biāo),并收集需求,以定義軟件特性、功能。策劃:軟件項(xiàng)目好比是一個(gè)復(fù)雜的旅程,策劃活動,就是創(chuàng)建一個(gè)使任何復(fù)雜的旅程都變得簡單的地圖,以指導(dǎo)團(tuán)隊(duì)的項(xiàng)目旅程,該地圖稱為軟件。建模:無論是庭園設(shè)計(jì)家、橋梁建造者、航空工程師、木匠還是建筑師,每天的工作都離不開模型。他們會畫一張草圖,來輔助理解整個(gè)項(xiàng)目大的構(gòu)想,包括體系結(jié)構(gòu)、不同的構(gòu)件如何結(jié)合,以及其它特征。構(gòu)建:包括手寫的、自動生成的編碼和測試(cèshì),以發(fā)現(xiàn)編碼中的錯(cuò)誤。部署:軟件以全部、部分增量的形式交付給用戶,用戶對其進(jìn)行評測,并給出反饋意見。15清華大學(xué)出版社共四十頁7條簡單(jiǎndān)的原則存在價(jià)值:軟件系統(tǒng)因能給用戶提供價(jià)值,而具有存在價(jià)值。所有的決定,都應(yīng)基于該思想。保持簡潔:軟件設(shè)計(jì)并不是隨意的過程,軟件設(shè)計(jì)中需要考慮很多因素。所有的設(shè)計(jì),都應(yīng)該盡可能簡潔,保持愿景:清晰的愿景,是軟件項(xiàng)目(xiàngmù)成功的基礎(chǔ)。沒有愿景,項(xiàng)目(xiàngmù)將會有多種設(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í)會變計(jì)劃復(fù)用:復(fù)用既省時(shí)又省力。軟件系統(tǒng)開發(fā)過程中,高水平的復(fù)用,是一個(gè)很難實(shí)現(xiàn)的目標(biāo)。面向?qū)ο蠹夹g(shù)會給代碼和設(shè)計(jì)復(fù)用帶來好處認(rèn)真思考:這最后一條規(guī)則,可能最容易忽略。行動之前,清晰定位、完整思考,通常能產(chǎn)生更好的結(jié)果。仔細(xì)思考,可以提高做好事情的可能性16清華大學(xué)出版社共四十頁10個(gè)重要的軟件工程(ruǎnjiànɡōnɡchénɡ)思想17清華大學(xué)出版社共四十頁1.2.3 網(wǎng)絡(luò)環(huán)境(huánjìng)帶來的影響美國南加州大學(xué)的巴里·貝姆(BarryBoehm)教授,總結(jié)了國際上軟件工程的發(fā)展歷程:20世紀(jì)50年代的類似硬件工程(gōngchéng)60年代的軟件手工生產(chǎn)、70年代的形式化方法和瀑布模型80年代的軟件生產(chǎn)率和可擴(kuò)展性90年代的軟件并發(fā)和順序進(jìn)程21世紀(jì)初的軟件敏捷性和價(jià)值18清華大學(xué)出版社共四十頁軟件工程在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é)出版社共四十頁傳統(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(wǎng)絡(luò),節(jié)點(diǎn)是圖靈機(jī)或智能體等主體對象,主體間相互作用;網(wǎng)絡(luò)化軟件具有小世界、無標(biāo)度和高集聚的特性,研究網(wǎng)絡(luò)動力學(xué)行為。研究方法操作系統(tǒng)屏蔽硬件的異構(gòu)性,中間件屏蔽操作系統(tǒng)的異構(gòu)性;用層次結(jié)構(gòu)描述軟件單元間的相互關(guān)系;自頂向下分解、逐步求精的開發(fā);軟件生命周期、軟件評測和軟件成熟度。網(wǎng)絡(luò)成為一個(gè)虛擬資源環(huán)境;重視在不同時(shí)間段、不同軟件規(guī)模上的軟件間的相互關(guān)系和協(xié)同;軟件按偏好依附生長,逐步演化。工程方法軟件業(yè)是制造業(yè);面向系統(tǒng)的結(jié)構(gòu);要求用戶提供確定的需求、明確的系統(tǒng)邊界。軟件即服務(wù),軟件業(yè)是服務(wù)業(yè);面向服務(wù)的架構(gòu);用戶主導(dǎo),隨需即取,規(guī)模定制,敏捷開發(fā)。20清華大學(xué)出版社共四十頁1.3 軟件設(shè)計(jì)朗曼字典里,對“設(shè)計(jì)”的解釋包括:描述某個(gè)(mǒuɡè)事物如何被制造出來的圖樣或模式。形成上述圖樣或模式的藝術(shù)。對人造產(chǎn)品中組成部分的一種安排,將對產(chǎn)品在實(shí)踐中的可用性具有影響。人的頭腦中的一種規(guī)則,等等。由上述定義可見,設(shè)計(jì)是一種“圖樣、模式或規(guī)劃”,其目標(biāo),就是要描述一個(gè)產(chǎn)品如何被制造出來。因此,軟件設(shè)計(jì)可以被看作是“對軟件將如何開發(fā)出來的一種描述”。如果把設(shè)計(jì)當(dāng)作一個(gè)動詞,那么軟件設(shè)計(jì)就是“得到這種描述的活動或過程”。21清華大學(xué)出版社共四十頁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)件級設(shè)計(jì)對軟件需求進(jìn)行分析和建模開始后,軟件設(shè)計(jì)是建?;顒拥淖詈笠粋€(gè)軟件工程活動,接著便要進(jìn)入構(gòu)造階段,并生成代碼和測試。
22清華大學(xué)出版社共四十頁1.3.2 設(shè)計(jì)(shèjì)過程和設(shè)計(jì)(shèjì)質(zhì)量在整個(gè)設(shè)計(jì)過程中,要使用一系列正式技術(shù)評審或設(shè)計(jì)走查,來評估設(shè)計(jì)演化的質(zhì)量。標(biāo)準(zhǔn)如下:設(shè)計(jì)必須實(shí)現(xiàn)所有分析模型中的明確需求,而且滿足客戶期望的所有隱性需求。對于生成代碼的人、進(jìn)行測試的人、維護(hù)軟件的人,設(shè)計(jì)必須是可讀的、可理解的指南。設(shè)計(jì)必須提供軟件的全貌,并從實(shí)現(xiàn)的角度說明(shuōmíng)數(shù)據(jù)域、功能域、行為域。23清華大學(xué)出版社共四十頁1.3.3 軟件設(shè)計(jì)原則(yuánzé)抽象體系結(jié)構(gòu)模式(móshì)模塊化信息隱蔽功能獨(dú)立求精重構(gòu)設(shè)計(jì)類24清華大學(xué)出版社共四十頁模塊化和軟件(ruǎnjiàn)成本模塊化時(shí),位置需要保持在M附近,來避免過少、過多的模塊化。至于如何知道M的附近位置?如何將軟件劃分(huàfēn)成模塊?則需要理解后面的設(shè)計(jì)概念。25清華大學(xué)出版社共四十頁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é)出版社共四十頁狗窩(ɡǒuwō)、房子和高樓開發(fā)一個(gè)具有一定規(guī)模和復(fù)雜性的軟件系統(tǒng)和編寫一個(gè)簡單的程序(chéngxù),是不一樣的,借用《設(shè)計(jì)模式》的作者G.Booch的比喻,其中的區(qū)別如同建造一座大廈和搭建一個(gè)狗窩的差別。27清華大學(xué)出版社共四十頁房子(fángzi)的建模建筑師準(zhǔn)備建筑最初的草圖,展示外觀和內(nèi)部布局(bùjú),與客戶討論這些草圖,直至所有相關(guān)方都達(dá)成一致意見,認(rèn)為展示的就是想要的。28清華大學(xué)出版社共四十頁建筑師的角色(juésè)和溝通依據(jù)建筑師也充當(dāng)建造者和客戶(kèhù)之間的協(xié)調(diào)人!29清華大學(xué)出版社共四十頁體系結(jié)構(gòu)的需要(xūyào):溫切斯特神秘屋這個(gè)大廈沒有制作過建筑(jiànzhù)藍(lán)圖!30清華大學(xué)出版社共四十頁軟件體系結(jié)構(gòu)的發(fā)展史2001年到2012年間的重要方法、語言、論文、數(shù)據(jù)(shùjù)和會議31清華大學(xué)出版社共四十頁軟件生命周期中軟件體系結(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)的測試部署基于軟件體系結(jié)構(gòu)的應(yīng)用部署開發(fā)后動態(tài)軟件體系結(jié)構(gòu),軟件體系結(jié)構(gòu)恢復(fù)和重建整個(gè)(zhěnggè)軟件生命周期中,各階段軟件體系結(jié)構(gòu)的研究熱點(diǎn)32清華大學(xué)出版社共四十頁1.4.2 軟件體系結(jié)構(gòu)的內(nèi)容(nèiróng)下面將當(dāng)前軟件體系結(jié)構(gòu)分為4個(gè)研究領(lǐng)域:(1)通過提供一種新的體系結(jié)構(gòu)描述語言(ArchitecturalDescriptionLanguage,ADL)解決體系結(jié)構(gòu)描述問題。這種語言的目標(biāo),是給實(shí)踐者提供設(shè)計(jì)體系結(jié)構(gòu)更好的方法,以便設(shè)計(jì)人員相互交流,并可以使用支持體系結(jié)構(gòu)描述語言的工具來分析案例。(2)體系結(jié)構(gòu)領(lǐng)域知識的總結(jié)性研究。這一領(lǐng)域關(guān)心的,是工程師通過軟件實(shí)踐,總結(jié)各種體系結(jié)構(gòu)原則和模式的分類和闡釋。(3)針對特定領(lǐng)域的框架的研究。這類研究產(chǎn)生了針對一類特殊(tèshū)軟件的體系結(jié)構(gòu)框架,比如,航空電子控制系統(tǒng)、移動機(jī)器人、用戶界面。這類研究一旦成功,這樣的框架便可以被毫不費(fèi)力實(shí)例化來生產(chǎn)這一領(lǐng)域新的產(chǎn)品。(4)軟件體系結(jié)構(gòu)形式化支持的研究。隨著新的符號的產(chǎn)生,以及人們對體系結(jié)構(gòu)設(shè)計(jì)實(shí)踐的理解逐步深入,需要用一種嚴(yán)格的形式化方法刻畫軟件體系結(jié)構(gòu)及其相關(guān)性質(zhì)。33清華大學(xué)出版社共四十頁創(chuàng)建(chuàngjiàn)軟件體系結(jié)構(gòu)典型的利益相關(guān)人及其關(guān)注點(diǎn)包括:投資人:想知道項(xiàng)目是否能夠在給定的資源和進(jìn)度約束下完成。架構(gòu)師、開發(fā)人員、測試人員:首先考慮的是,最初的構(gòu)建和以后(yǐhòu)的維護(hù)與演進(jìn)。項(xiàng)目經(jīng)理:需要組織團(tuán)隊(duì),制定迭代計(jì)劃。市場人員:想通過品質(zhì)特點(diǎn)實(shí)現(xiàn)與競爭者的差異化。用戶:包括最終用戶、系統(tǒng)管理員,以及安裝、部署、準(zhǔn)備、配置人員。技術(shù)支持人員:關(guān)注幫助平臺電話呼入的數(shù)目和復(fù)雜性。34清華大學(xué)出版社共四十頁創(chuàng)建(chuàngjiàn)軟件體系結(jié)構(gòu)具體系統(tǒng),會有其它關(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)證,或者必須限制對數(shù)據(jù)的訪問?數(shù)據(jù)的安全性如何得到保證?如何抵擋“拒絕服務(wù)”攻擊或其他攻擊?35清華大學(xué)出版社共四十頁1.4.3 設(shè)計(jì)階段的軟件體系結(jié)構(gòu)根據(jù)在設(shè)計(jì)過程中,對FR和NFR考慮的階段不同,可以將軟件體系結(jié)構(gòu)設(shè)計(jì)方法分為3類:FR驅(qū)動的軟件體系結(jié)構(gòu)設(shè)計(jì),根據(jù)FR得到初步的體系結(jié)構(gòu)設(shè)計(jì)模型,然后,通過一定的手段,精化設(shè)計(jì)結(jié)果以逐步達(dá)到NFR的目標(biāo),典型的方法,包括評估與轉(zhuǎn)化、自頂向下組裝)等。NFR驅(qū)動的軟件體系結(jié)構(gòu)設(shè)計(jì)將NFR作為首要(shǒuyào)考慮因素,將NFR直接映射成為體系結(jié)構(gòu)的建模元素,典型的,包括屬性驅(qū)動的設(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ū)動、形式化設(shè)計(jì)分析框架FDAF、Aspect構(gòu)件等。36清華大學(xué)出版社共四十頁體系結(jié)構(gòu)的復(fù)用(fùyònɡ)
圣索菲亞大教堂,是拜占庭建筑之美的代表。1100年后,ChristopherWren使用了同樣(tóngyàng)的設(shè)計(jì),來建造圣保羅大教堂的穹頂,并成為倫敦的地標(biāo)性建筑。37清華大學(xué)出版社共四十頁系統(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 道路交通組織優(yōu)化合同范本
- 城市廣場維修臨建合同
- 倉庫消防工程安裝協(xié)議
- 國際水族館粉刷施工合同樣本
- 礦山綠化苗圃施工合同
- 文化公司勞動合同樣本
- 2024年簡化版離婚合同:財(cái)產(chǎn)與子女安排萬能模板一
- 咖啡館植物墻裝飾合同
- 我愛吃蔬菜創(chuàng)意課程設(shè)計(jì)
- 太陽能發(fā)電臨時(shí)設(shè)施施工合同
- 導(dǎo)醫(yī)接待與患者情緒管理
- 化工行業(yè)基礎(chǔ)知識培訓(xùn)課件
- 斜拉橋施工技術(shù)
- 《影視行業(yè)無形資產(chǎn)評估的案例分析-以華誼兄弟為例》12000字
- 新課標(biāo)下小學(xué)美術(shù)課程設(shè)計(jì)
- 國開電大操作系統(tǒng)-Linux系統(tǒng)使用-實(shí)驗(yàn)報(bào)告
- 電氣技術(shù)協(xié)議
- 香煙過濾嘴問題論文
- 第五單元整體教學(xué)課件-七年級語文上冊
- 中學(xué)生主題班會課題:科學(xué)素養(yǎng)與創(chuàng)新能力培養(yǎng)
- 余華讀書分享名著導(dǎo)讀《文城》
評論
0/150
提交評論