版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件產(chǎn)品線(xiàn)體系機(jī)構(gòu)什么是軟件產(chǎn)品線(xiàn)?軟件產(chǎn)品線(xiàn)在軟件開(kāi)發(fā)過(guò)程中有什么作用?定義:軟件產(chǎn)品線(xiàn)是一個(gè)產(chǎn)品的集合,這些產(chǎn)品共享一個(gè)公共的、可管理的特征集,這些特征集能夠滿(mǎn)足選定市場(chǎng)或任務(wù)領(lǐng)域的特定需求。這些系統(tǒng)遵循一個(gè)預(yù)描述的方式,是在公共的核心資源上開(kāi)發(fā)的。作用:軟件產(chǎn)品線(xiàn)是一個(gè)是非適合專(zhuān)業(yè)軟件開(kāi)發(fā)組織的軟件開(kāi)發(fā)方法,能有效提高軟件生產(chǎn)率和質(zhì)量、縮短軟件開(kāi)發(fā)時(shí)間、降低總開(kāi)發(fā)成本;主要組成部分:核心資源和產(chǎn)品集合。核心資源:包括產(chǎn)品線(xiàn)中所有產(chǎn)品共享的產(chǎn)品線(xiàn)體系結(jié)構(gòu),新設(shè)計(jì)開(kāi)發(fā)的或通過(guò)現(xiàn)有系統(tǒng)再工程得到的、需要在整個(gè)產(chǎn)品線(xiàn)中系統(tǒng)化重用的軟件構(gòu)件。產(chǎn)品線(xiàn)開(kāi)發(fā)的4個(gè)技術(shù)特點(diǎn):過(guò)程驅(qū)動(dòng)、特定領(lǐng)域、技術(shù)支持及體系結(jié)構(gòu)為中心。軟件產(chǎn)品線(xiàn)包括哪些過(guò)程?如何實(shí)現(xiàn)軟件產(chǎn)品線(xiàn)創(chuàng)建與演化?軟件產(chǎn)品線(xiàn)演化是指什么?如何實(shí)現(xiàn)演化?過(guò)程模型:雙生命周期模型(領(lǐng)域工程+應(yīng)用工程);SEI模型(核心資源開(kāi)發(fā)+產(chǎn)品開(kāi)發(fā)+管理)和三生命周期(企業(yè)工程+領(lǐng)域工程+應(yīng)用工程)模型;4種建立方式:用演化方式還是革命方式+基于現(xiàn)有產(chǎn)品還是開(kāi)發(fā)全新產(chǎn)品線(xiàn)將現(xiàn)有產(chǎn)品演化為產(chǎn)品線(xiàn)用軟件產(chǎn)品線(xiàn)替代現(xiàn)有產(chǎn)品集全新軟件產(chǎn)品線(xiàn)演化全新軟件產(chǎn)品線(xiàn)開(kāi)發(fā)演化:指的是由于各種原因引起產(chǎn)品線(xiàn)所進(jìn)行的改動(dòng)而變成新的產(chǎn)品線(xiàn);產(chǎn)品線(xiàn)的演化包括:核心資源的演化、產(chǎn)品的演化和產(chǎn)品的版本升級(jí);框架的定義及特征定義:框架是由開(kāi)發(fā)人員定制的應(yīng)用系統(tǒng)的骨架,是整個(gè)系統(tǒng)或子系統(tǒng)的可重用設(shè)計(jì),由一組抽象構(gòu)件和構(gòu)建實(shí)例間的交互方式組成;特征:反向控制;可重用性;擴(kuò)展性;模塊化或構(gòu)件化;軟件產(chǎn)品線(xiàn)體系結(jié)構(gòu)定義、特點(diǎn)及個(gè)性實(shí)現(xiàn)機(jī)制定義:軟件產(chǎn)品線(xiàn)體系結(jié)構(gòu)是只一個(gè)軟件開(kāi)發(fā)組織為一組相關(guān)應(yīng)用或產(chǎn)品建立的公共體系結(jié)構(gòu)。特點(diǎn):同領(lǐng)域模型一樣,軟件產(chǎn)品線(xiàn)體系結(jié)構(gòu)中也可分為共性部分和個(gè)性部分;共性部分是產(chǎn)品線(xiàn)中所有產(chǎn)品在體系結(jié)構(gòu)上的共享部分,是不可改變的。個(gè)性部分是指產(chǎn)品線(xiàn)體系結(jié)構(gòu)可以變化的部分;產(chǎn)品線(xiàn)體系結(jié)構(gòu)設(shè)計(jì)的目的盡量擴(kuò)展產(chǎn)品線(xiàn)中所有產(chǎn)品共享的部分,同時(shí)提供一個(gè)盡量靈活的體系結(jié)構(gòu)變化機(jī)制;個(gè)性實(shí)現(xiàn)機(jī)制:繼承;擴(kuò)展和擴(kuò)展點(diǎn);參數(shù)化;配置和模塊互連語(yǔ)言;自動(dòng)生成;編譯時(shí)不同實(shí)現(xiàn)的選擇;例題:希賽公司各種網(wǎng)絡(luò)安全防火墻系統(tǒng),引入產(chǎn)品線(xiàn)開(kāi)發(fā)方法,問(wèn)題如下:公司是否適合使用軟件產(chǎn)品線(xiàn)方法,并說(shuō)明理由適合軟件產(chǎn)品線(xiàn)開(kāi)發(fā)方法;公司的產(chǎn)品特點(diǎn)為:各種防火墻系統(tǒng)屬于一種產(chǎn)品集合,具有很多共性,同時(shí),每種不同的防火墻又具有自己本身的個(gè)性特點(diǎn);在原有產(chǎn)品的基礎(chǔ)上建立軟件產(chǎn)品線(xiàn)的方式,并簡(jiǎn)要評(píng)價(jià)(1)將現(xiàn)有產(chǎn)品演化為產(chǎn)品線(xiàn):在基于現(xiàn)有產(chǎn)品體系結(jié)構(gòu)設(shè)計(jì)產(chǎn)品線(xiàn)體系結(jié)構(gòu)的基礎(chǔ)上,將特定產(chǎn)品的構(gòu)件逐步地、越來(lái)越多地轉(zhuǎn)化為產(chǎn)品線(xiàn)的公用構(gòu)件,從基于產(chǎn)品的方法“慢慢地”轉(zhuǎn)化為基于產(chǎn)品線(xiàn)的軟件開(kāi)發(fā)。主要優(yōu)點(diǎn)是通過(guò)對(duì)投資回收期的分解,對(duì)現(xiàn)有系統(tǒng)演化的維持使產(chǎn)品線(xiàn)方法的實(shí)施風(fēng)險(xiǎn)降到了最低,單完成產(chǎn)品線(xiàn)核心資源的總周期和總投資都比使用革命方式要大;(2)用軟件產(chǎn)品線(xiàn)替代現(xiàn)有產(chǎn)品集:基本停止現(xiàn)有產(chǎn)品的開(kāi)發(fā),所有努力直接針對(duì)軟件產(chǎn)品線(xiàn)核心資源開(kāi)發(fā)。需求變化會(huì)導(dǎo)致初始投資報(bào)廢的風(fēng)險(xiǎn)加大成功實(shí)施軟件產(chǎn)品線(xiàn)的主要因素(1)對(duì)該領(lǐng)域的產(chǎn)品開(kāi)發(fā)已具備長(zhǎng)期積累的經(jīng)驗(yàn);(2)一個(gè)用于構(gòu)建產(chǎn)品的好的核心資源庫(kù);(3)好的產(chǎn)品線(xiàn)體系結(jié)構(gòu);(4)好的管理(軟件資源、人員組織、過(guò)程)支持基于體系結(jié)構(gòu)軟件開(kāi)發(fā)MVC模式:對(duì)于界面可變性設(shè)計(jì)的要求,MVC把交互式系統(tǒng)的組成分解成模型、視圖和控制器三種構(gòu)件。模型構(gòu)件:獨(dú)立于外在顯示內(nèi)容和形式,是軟件所處理問(wèn)題邏輯的內(nèi)在抽象,它封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能計(jì)算關(guān)系,獨(dú)立于具體的界面表達(dá)和輸入/輸出操作;視圖構(gòu)件:把模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)信息以特定的形式展示給用戶(hù),它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示視圖;控制器構(gòu)件:處理用戶(hù)與軟件的交互操作,決定軟件的控制流程,確保用戶(hù)界面和模型間的對(duì)應(yīng)聯(lián)系,它接收用戶(hù)的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,它是模型和視圖協(xié)調(diào)工作的部件。設(shè)計(jì)模式的分類(lèi)5種創(chuàng)建型模式:工廠(chǎng)方法,抽象工廠(chǎng),建造者,原型及單件;7種結(jié)構(gòu)型模式:適配器,橋,組合,外觀(guān),裝飾,代理,享元模式;11種行為型模式:職責(zé)鏈,中介者,對(duì)象狀態(tài),策略,命令,備忘錄,訪(fǎng)問(wèn)者,迭代器,解釋器,觀(guān)察者,模板方法;MVC與MVP的比較MVC模式是創(chuàng)建軟件很好的途徑,它所提倡的一些原則,如,內(nèi)容和顯示分離、隔離模型、視圖和控制器的構(gòu)件等,會(huì)使應(yīng)用程序的體系結(jié)構(gòu)更健壯,更具有擴(kuò)展性,也會(huì)是軟件在代碼重用和體系結(jié)構(gòu)方面上一個(gè)新的臺(tái)階;MPV:Presenter(呈現(xiàn)器)負(fù)責(zé)邏輯的處理,模型提供數(shù)據(jù),視圖負(fù)責(zé)顯示;MVP與MVC的一個(gè)重大區(qū)別就是:MVP不直接使用模型,他們之間的通行時(shí)通過(guò)呈現(xiàn)器來(lái)進(jìn)行的,所有的交互都發(fā)生在呈現(xiàn)器內(nèi)部,而在MVC中視圖會(huì)直接讀取模型數(shù)據(jù)而不是通過(guò)控制器。中間件技術(shù)中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源,中間件位于操作系統(tǒng)之上,管理計(jì)算機(jī)資源和網(wǎng)絡(luò)通信,實(shí)現(xiàn)應(yīng)用之間的互操作。主要有下面6個(gè)基本功能:負(fù)責(zé)客服機(jī)和服務(wù)器之間的連接和通信提供應(yīng)用層不同服務(wù)之間的互操作機(jī)制提供一個(gè)多層體系結(jié)構(gòu)的應(yīng)用開(kāi)發(fā)和運(yùn)行平臺(tái)屏蔽硬件、操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的差異提供應(yīng)用的負(fù)載均衡、高可用、安全機(jī)制和管理功能,保證交易的一致性提供一組通用的服務(wù)去執(zhí)行不同的功能中間件的類(lèi)別遠(yuǎn)程過(guò)程調(diào)用(RPC):客服進(jìn)程和服務(wù)進(jìn)程通過(guò)網(wǎng)絡(luò)進(jìn)行通信,相應(yīng)的存根(Stub)過(guò)程和運(yùn)行支持提供數(shù)據(jù)轉(zhuǎn)換和通行服務(wù),從而屏蔽不同的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議;存根過(guò)程用來(lái)解碼請(qǐng)求消息中的參數(shù),調(diào)用相應(yīng)的服務(wù)過(guò)程和編碼應(yīng)答消息的返回值。對(duì)象請(qǐng)求代理(ORB):ORB是CORBA模型的核心組件,它的作用在于提供一個(gè)通信框架,透明地在異構(gòu)的分布式計(jì)算環(huán)境中傳遞對(duì)象請(qǐng)求;CORBA對(duì)象之間不直接進(jìn)行通信,對(duì)象通過(guò)遠(yuǎn)程存根對(duì)運(yùn)行在本地計(jì)算機(jī)上的ORB發(fā)出請(qǐng)求,本地ORB使用IIOP將該請(qǐng)求傳遞給其他計(jì)算機(jī)上的ORB。RMI:Java的遠(yuǎn)程方法調(diào)用。面向消息的中間件:MOM利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)數(shù)據(jù)交換,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,具有3個(gè)特點(diǎn):通信程序可以在不同的時(shí)間運(yùn)行(2)對(duì)應(yīng)用程序的結(jié)構(gòu)沒(méi)有約束(3)程序與網(wǎng)絡(luò)復(fù)雜性相隔離事務(wù)處理監(jiān)控器:交易中間件什么是基于體系機(jī)構(gòu)的設(shè)計(jì)方法?簡(jiǎn)要說(shuō)明基于體系結(jié)構(gòu)的設(shè)計(jì)方法的生命周期模型及設(shè)計(jì)步驟?ABSD方法為產(chǎn)生軟件系統(tǒng)的概念體系結(jié)構(gòu)提供基礎(chǔ),概念體系結(jié)構(gòu)代表了在開(kāi)發(fā)過(guò)程中做出的第一個(gè)選擇,相應(yīng)地,它是達(dá)到系統(tǒng)質(zhì)量和業(yè)務(wù)目標(biāo)的關(guān)鍵,為達(dá)到預(yù)定功能提供了一個(gè)基礎(chǔ)。由業(yè)務(wù)、質(zhì)量和功能需求的組合驅(qū)動(dòng)ABSD,ABSD設(shè)計(jì)活動(dòng)在體系結(jié)構(gòu)驅(qū)動(dòng)已決定就可開(kāi)始,這意味著需求獲取和分析活動(dòng)還沒(méi)有完成,就開(kāi)始了軟件設(shè)計(jì),分析與設(shè)計(jì)活動(dòng)并行;ABSD的三個(gè)基礎(chǔ):功能的分解;通過(guò)體系結(jié)構(gòu)風(fēng)格來(lái)實(shí)現(xiàn)質(zhì)量和業(yè)務(wù)需求;軟件模板的使用;在A(yíng)BSD方法中,必須記錄所有做出的決策以及這些決策的原理,這有利于決策的跟蹤和決策評(píng)審;功能需求抽象、用例功能需求抽象、用例質(zhì)量需求抽象、質(zhì)量因素、體系結(jié)構(gòu)選項(xiàng)抽象構(gòu)件軟件模板抽象構(gòu)件軟件模板約束需求業(yè)務(wù)用例架構(gòu)師的經(jīng)驗(yàn)遺留系統(tǒng)實(shí)際構(gòu)件設(shè)計(jì)ABSD方法需求分析實(shí)際構(gòu)件設(shè)計(jì)ABSD方法需求分析體系結(jié)構(gòu)設(shè)計(jì)過(guò)程:標(biāo)識(shí)構(gòu)件;(生成類(lèi)圖、對(duì)類(lèi)進(jìn)行分組、把類(lèi)打包成構(gòu)件)提出軟件體系結(jié)構(gòu)模型(3)把構(gòu)件映射到體系結(jié)構(gòu)中(4)分析構(gòu)件之間的相互作用產(chǎn)生軟件體系結(jié)構(gòu)(6)軟件體系結(jié)構(gòu)正交化體系結(jié)構(gòu)演化過(guò)程:需求變動(dòng)歸類(lèi)體系結(jié)構(gòu)演化計(jì)劃修改、增加或刪除構(gòu)件更新構(gòu)件的相互作用構(gòu)件組裝與測(cè)試技術(shù)評(píng)審演化后的體系結(jié)構(gòu)基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)模型:體系結(jié)構(gòu)需求體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)文檔化體系結(jié)構(gòu)復(fù)審體系結(jié)構(gòu)實(shí)現(xiàn)體系結(jié)構(gòu)演化例題:B/S結(jié)構(gòu)選用.Net平臺(tái)還是Java企業(yè)版平臺(tái),最終選用Java企業(yè)版平臺(tái)。問(wèn)題如下:給出兩個(gè)平臺(tái)各自具備的優(yōu)勢(shì)及兩個(gè)平臺(tái)的共有特點(diǎn)(從下面選項(xiàng)中選擇)(1)良好跨平臺(tái)可移植性支持(2)易于部署與配置(3)多程序設(shè)計(jì)語(yǔ)言支持(4)良好的Web多層應(yīng)用開(kāi)發(fā)支持(5)豐富的多廠(chǎng)商外部支持(6)良好的O/R(對(duì)象/關(guān)系)映射支持(7)針對(duì)特定平臺(tái)的優(yōu)化支持(8)良好的源代碼以外的可定制性支持(9)良好的Web服務(wù)支持.Net平臺(tái)特點(diǎn):(2)(3)(7)Java企業(yè)版平臺(tái)特點(diǎn):(1)(5)(8)共有特點(diǎn):(4)(6)(9)分別針對(duì)基于EJB的重量級(jí)框架和基于Struts等輕量級(jí)框架,說(shuō)明MVC模式中的各組件應(yīng)采用何種構(gòu)件實(shí)現(xiàn)在基于EJB的重量級(jí)框架中,實(shí)現(xiàn)的構(gòu)件分別為:模型(Model):由EJB構(gòu)件實(shí)現(xiàn)視圖(View):由JSP構(gòu)件實(shí)現(xiàn)控制器(Controller):由Servlet實(shí)現(xiàn)在基于Struts等的輕量級(jí)框架中,實(shí)現(xiàn)的構(gòu)件分別為:模型(Model):由JavaBean構(gòu)件實(shí)現(xiàn)視圖(View):由JSP構(gòu)件實(shí)現(xiàn)控制器(Controller):由Servlet構(gòu)件實(shí)現(xiàn)從組件耦合度、組件分工及開(kāi)發(fā)工程化支持等3個(gè)方面說(shuō)明MVP與MVC模式的主要區(qū)別(1)在組件耦合度方面:在MVP模式中,視圖并不直接使用模型,它們之間的通信通過(guò)Presenter進(jìn)行,從而實(shí)現(xiàn)了視圖與模型的分離,而在MVC模式中,視圖直接與模型交互。(2)在組件分工方面:在MVP模式中,視圖需要處理鼠標(biāo)及鍵盤(pán)等觸發(fā)的界面事件,而在MVC模式中這通常是由控制器完成的工作;在MVP模式中,系統(tǒng)核心業(yè)務(wù)邏輯組織集中在Presenter中,而在MVC模式中,相應(yīng)的控制器通常只完成事件的分發(fā)。(3)在開(kāi)發(fā)工程化支持方面:MVP模式可更好地支持單元測(cè)試,而在MVC模式中,由于模型與視圖綁定,因此難以實(shí)施相應(yīng)的單元測(cè)試;在MVP模式中,Presenter基于約定接口與視圖和模型交互,可更好地支持組件的重用。說(shuō)明事務(wù)的基本特征,并簡(jiǎn)單描述EJB規(guī)范中提供的兩種事務(wù)控制的方法;事務(wù)的基本特征包括:原子性:一個(gè)事務(wù)中的所有操作,要么全部完成,要么全部不完成,不會(huì)結(jié)束在中間某個(gè)環(huán)節(jié)。事務(wù)在執(zhí)行過(guò)程中發(fā)生錯(cuò)誤,會(huì)被回滾到事務(wù)開(kāi)始前的狀態(tài),就像這個(gè)事務(wù)從來(lái)沒(méi)有執(zhí)行過(guò)一樣。一致性:在事務(wù)開(kāi)始之前和事務(wù)結(jié)束以后,數(shù)據(jù)的完整性限制沒(méi)有被破壞。隔離性:兩個(gè)事務(wù)的執(zhí)行是互不干擾的,兩個(gè)事務(wù)時(shí)間不會(huì)互相影響。持久性:在事務(wù)完成以后,該事務(wù)對(duì)數(shù)據(jù)所作的更改便持久地保存在數(shù)據(jù)庫(kù)之中,并且是完全的。EJB規(guī)范支持的兩種事務(wù)控制方法為:容器維護(hù)的事務(wù)(ContainerManagedTransaction,CMT):由EJB容器根據(jù)部署描述符或EJB構(gòu)件注釋中指定的事務(wù)屬性自動(dòng)控制事務(wù)的邊界,容器維護(hù)的事務(wù)是方法級(jí)的,即默認(rèn)將一個(gè)方法當(dāng)作一個(gè)事務(wù)執(zhí)行,當(dāng)方法執(zhí)行的過(guò)程中發(fā)生系統(tǒng)級(jí)異常,容器會(huì)自動(dòng)將事務(wù)回滾,從而將方法前面執(zhí)行的結(jié)果恢復(fù)。Bean維護(hù)的事務(wù)(BeanManagedTransaction,BMT):由程序員在EJB的源代碼中控制事務(wù)執(zhí)行的邊界,事務(wù)的邊界通過(guò)Java事務(wù)接口(JavaTransactionAPI,JTA)進(jìn)行控制,Bean維護(hù)的事務(wù)可以跨越方法的邊界。軟件體系結(jié)構(gòu)評(píng)估:各種軟件質(zhì)量屬性性能:指系統(tǒng)的響應(yīng)能力,即要經(jīng)過(guò)多長(zhǎng)時(shí)間才能對(duì)某個(gè)事件作出響應(yīng)或在某段時(shí)間系統(tǒng)所處理的事件個(gè)數(shù);可靠性:軟件系統(tǒng)在應(yīng)用或錯(cuò)誤面前,在意外或錯(cuò)誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。常用的設(shè)計(jì)方法是:容錯(cuò)、檢錯(cuò)、降低系統(tǒng)復(fù)雜度;可用性:系統(tǒng)能夠正常運(yùn)行的時(shí)間比例;常用兩次故障之間的時(shí)間間隔或系統(tǒng)恢復(fù)正常的速度來(lái)表示;安全性:系統(tǒng)向合法用戶(hù)提供服務(wù)的同時(shí)能夠阻止非授權(quán)用戶(hù)使用的企圖或拒絕服務(wù)的能力;安全性又可分為:機(jī)密性、完整性、不可否認(rèn)性及可控性等;可修改性:能夠快速地以較高的性能價(jià)格比對(duì)系統(tǒng)進(jìn)行變更的能力;功能性:系統(tǒng)所能完成所期望工作的能力;可變性:指體系結(jié)構(gòu)經(jīng)擴(kuò)充或變更而成為新體系結(jié)構(gòu)的能夠;集成性:指系統(tǒng)與其它系統(tǒng)協(xié)作的程度;互操作性:指系統(tǒng)與其它系統(tǒng)或者自身環(huán)境相互作用的能力;如軟件體系結(jié)構(gòu)必須為外部可見(jiàn)的功能特性和數(shù)據(jù)結(jié)構(gòu)提供精心設(shè)計(jì)的軟件入口;風(fēng)險(xiǎn)點(diǎn)/架構(gòu)風(fēng)險(xiǎn):指架構(gòu)設(shè)計(jì)中潛在的、存在問(wèn)題的架構(gòu)設(shè)計(jì)決策所帶來(lái)的隱患;敏感點(diǎn):為了實(shí)現(xiàn)某個(gè)特定的質(zhì)量屬性,一個(gè)或多個(gè)組件所具有的特性;權(quán)衡點(diǎn):影響多個(gè)質(zhì)量屬性的特性,是多個(gè)質(zhì)量屬性的敏感點(diǎn);體系結(jié)構(gòu)評(píng)估的3種方式:(1)基于調(diào)查問(wèn)卷或檢查表的方式(2)基于場(chǎng)景的評(píng)估方式(3)基于度量的評(píng)估方式ATAM評(píng)估的結(jié)果:(1)已文檔化了的體系結(jié)構(gòu)方法或風(fēng)格(2)場(chǎng)景及優(yōu)先級(jí)(3)基于屬性的問(wèn)題(4)效用樹(shù)(5)所發(fā)現(xiàn)的風(fēng)險(xiǎn)決策(6)已文檔化了的無(wú)風(fēng)險(xiǎn)決策(7)所發(fā)現(xiàn)的敏感點(diǎn)和權(quán)衡點(diǎn)SAAM評(píng)估的步驟:(1)形成場(chǎng)景(2)描述體系結(jié)構(gòu);(1)和(2)重復(fù)進(jìn)行(3)對(duì)場(chǎng)景進(jìn)行分類(lèi)和確定優(yōu)先級(jí)(4)對(duì)間接場(chǎng)景的單個(gè)評(píng)估(5)評(píng)估場(chǎng)景的相互作用(6)形成總體評(píng)價(jià)傳統(tǒng)的Web應(yīng)用程序存在以下幾個(gè)缺點(diǎn):操作復(fù)雜性數(shù)據(jù)復(fù)雜性交互復(fù)雜性AJAX是由幾種蓬勃發(fā)展的技術(shù)以新的方式組合而成的,包含基于XHTML和CSS標(biāo)準(zhǔn)的表示;使用DOM進(jìn)行動(dòng)態(tài)顯示和交互;使用XMLHttpRequest與服務(wù)器進(jìn)行異步通信;使用JavaScript綁定一切;使用AJAX的最大優(yōu)點(diǎn)就是能在不更新整個(gè)頁(yè)面的前提下維護(hù)數(shù)據(jù),這使得Web系統(tǒng)更為訊接地回應(yīng)用戶(hù)動(dòng)作,并避免在網(wǎng)絡(luò)上發(fā)送那些沒(méi)有改變過(guò)的信息;基于服務(wù)的體系結(jié)構(gòu)W3C的定義:SOA是一種應(yīng)用程序體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,所有的功能都定義為獨(dú)立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的順序這些服務(wù)來(lái)形成業(yè)務(wù)流程;SOA特征:SOA是一種粗粒度、松耦合的服務(wù)體系結(jié)構(gòu),其服務(wù)之間通過(guò)簡(jiǎn)單、精確定義接口進(jìn)行通信,不涉及底層編程接口和通信協(xié)議;SOA服務(wù)構(gòu)件與傳統(tǒng)構(gòu)件的區(qū)別:服務(wù)構(gòu)件往往是粗粒度的,而傳統(tǒng)構(gòu)件以細(xì)粒度居多;服務(wù)構(gòu)件的接口是標(biāo)準(zhǔn)的,主要是服務(wù)描述語(yǔ)言接口,而傳統(tǒng)構(gòu)件常以具體API形式出現(xiàn);服務(wù)構(gòu)件實(shí)現(xiàn)與語(yǔ)言無(wú)關(guān),而傳統(tǒng)構(gòu)件常綁定某種特定語(yǔ)言;服務(wù)構(gòu)件可以通過(guò)構(gòu)件容器提供QoS服務(wù),而傳統(tǒng)構(gòu)件完全由程序控制;SOA服務(wù)常見(jiàn)設(shè)計(jì)原則:(1)明確定義的接口(2)自包含和模塊化(3)粗粒度(4)松耦合(5)互操作性、兼容和策略聲明SOA有3個(gè)主要的抽象級(jí)別:操作、服務(wù)和業(yè)務(wù)流程;層次從底向上排列;SOA的關(guān)鍵技術(shù)發(fā)現(xiàn)服務(wù)層:幫助客服端應(yīng)用程序解析遠(yuǎn)程服務(wù)的位置,同過(guò)UDDI來(lái)實(shí)現(xiàn);通過(guò)UDDI提供的標(biāo)準(zhǔn)接口,企業(yè)可以發(fā)布自己的服務(wù)供其他企業(yè)查詢(xún)和調(diào)用,也可以查詢(xún)特定服務(wù)的描述信息,并動(dòng)態(tài)綁定到該服務(wù)上;描述服務(wù)層:為客服端應(yīng)用程序提供正確的與遠(yuǎn)程服務(wù)交互的描述信息,主要通過(guò)WSDL來(lái)實(shí)現(xiàn);消息格式層:保證客服端應(yīng)用程序和服務(wù)器端的格式保持一致,一般通過(guò)SOAP來(lái)實(shí)現(xiàn);編碼格式層:為客服端和服務(wù)器之間提供一個(gè)標(biāo)準(zhǔn)的、獨(dú)立于平臺(tái)的數(shù)據(jù)交換編碼格式,一般用XML來(lái)實(shí)現(xiàn);傳輸協(xié)議層:為客服端和服務(wù)器之間提供兩者交互的網(wǎng)絡(luò)通信協(xié)議,一般通過(guò)HTTP和SMTP來(lái)實(shí)現(xiàn);SOA的實(shí)現(xiàn)方式一般有:WebService,企業(yè)服務(wù)總線(xiàn)和服務(wù)注冊(cè)表;WebService的解決方案中,有3中工作角色,分別為:服務(wù)提供者,服務(wù)請(qǐng)求者及服務(wù)注冊(cè)中心;主要的操作包括:發(fā)布、查找和綁定;服務(wù)注冊(cè)表一般支持:服務(wù)注冊(cè)、服務(wù)位置和服務(wù)綁定功能;企業(yè)服務(wù)總線(xiàn):ESB是由中間件技術(shù)實(shí)現(xiàn)并支持SOA的一組基礎(chǔ)體系結(jié)構(gòu),是傳統(tǒng)中間件技術(shù)與XML、WebService等技術(shù)結(jié)合的產(chǎn)物,是在整個(gè)企業(yè)集成體系結(jié)構(gòu)下的面向服務(wù)的企業(yè)應(yīng)用集成機(jī)制;ESB的主要功能如下:(1)服務(wù)位置透明性(2)傳輸協(xié)議轉(zhuǎn)換(3)消息格式轉(zhuǎn)換(4)消息路由(5)消息增強(qiáng)(6)安全性(7)監(jiān)控和管理WSDL:是對(duì)服務(wù)進(jìn)行描述的語(yǔ)言,它有一套基于XML的語(yǔ)法定義。WSDL描述的重點(diǎn)是服務(wù),它包含服務(wù)接口定義和服務(wù)實(shí)現(xiàn)定義;UDDI:是一種用于描述、發(fā)現(xiàn)、集成Web服務(wù)的技術(shù),它是Web服務(wù)協(xié)議棧的一個(gè)重要部分;通過(guò)UDDI,企業(yè)可以根據(jù)自己的需要?jiǎng)討B(tài)查找并使用服務(wù),也可以將自己的Web服務(wù)動(dòng)態(tài)地發(fā)布到UDDI注冊(cè)中心,供其它用戶(hù)使用;SOAP:以XMl形式提供一個(gè)簡(jiǎn)單、輕量的用于在分散或分布環(huán)境中交換結(jié)構(gòu)化和類(lèi)型信息的機(jī)制;可以將SOAP簡(jiǎn)單理解為:SOAP=HTTP+RPC+XML,也就是采用HTTP作為底層通信協(xié)議,RPC作為通用的調(diào)用途徑,XML作為數(shù)據(jù)打包的格式,提供了一個(gè)能夠穿越防火墻的通信交互能力;REST(RepresentationalStateTransfer,表述性狀態(tài)轉(zhuǎn)移)是一種只是用HTTP和XML進(jìn)行基于Web通信的技術(shù),可以降低開(kāi)發(fā)的復(fù)雜性,提高系統(tǒng)的可伸縮性。數(shù)據(jù)庫(kù)是以單一數(shù)據(jù)資源為中心,其目的是及時(shí)、安全將當(dāng)前事務(wù)所產(chǎn)生的記錄保存下來(lái);而數(shù)據(jù)倉(cāng)庫(kù)是指一個(gè)面向主題的、穩(wěn)定的、集成的、隨時(shí)間變化的數(shù)據(jù)集合,用以支持經(jīng)營(yíng)管理中的決策制定過(guò)程,數(shù)據(jù)在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)之前,經(jīng)過(guò)加工和集成,以實(shí)現(xiàn)將原始數(shù)據(jù)從面向應(yīng)用到面向主題的轉(zhuǎn)變;動(dòng)態(tài)軟件體系結(jié)構(gòu)由于系統(tǒng)需求、技術(shù)、環(huán)境、和分布等因素的變化而最終導(dǎo)致軟件體系結(jié)構(gòu)變動(dòng),成為軟件體系結(jié)構(gòu)演化;動(dòng)態(tài)軟件系統(tǒng)的形式化描述包括:軟件體系結(jié)構(gòu)的描述、體系結(jié)構(gòu)的重新配置和系統(tǒng)行為描述。對(duì)動(dòng)態(tài)軟件體系結(jié)構(gòu)的形式化描述,通常可以采用圖形化方法、進(jìn)程代數(shù)方法、邏輯方法等;XML是一套定義語(yǔ)義標(biāo)記的規(guī)則,這些標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。它也是元標(biāo)記語(yǔ)言,用于定義其它特定領(lǐng)域有關(guān)的、語(yǔ)義的、結(jié)構(gòu)化的標(biāo)記語(yǔ)言的句法語(yǔ)言;UML是用于系統(tǒng)的可視化建模語(yǔ)言,而不是一種方法;其中并不包括過(guò)程的概念,其本身是獨(dú)立于過(guò)程的,可以在任何過(guò)程中使用它。不過(guò)與XML結(jié)合最好的是用例驅(qū)動(dòng)的、以體系結(jié)構(gòu)為中心的、迭代的、增量的開(kāi)發(fā)過(guò)程。UML中的3中基本構(gòu)造塊:事物、關(guān)系和圖;UML中的事物也稱(chēng)建模元素,包括:結(jié)構(gòu)事物、行為事物、分組事物、注釋事物;UML中的主要4中關(guān)系:依賴(lài)、關(guān)聯(lián)(聚合、組合)、泛化和實(shí)現(xiàn);順序圖強(qiáng)調(diào)消息的時(shí)間次序;通信圖強(qiáng)調(diào)收發(fā)消息的對(duì)象或者角色的結(jié)構(gòu)組織(即:消息流經(jīng)的數(shù)據(jù)結(jié)構(gòu));二者都表達(dá)的類(lèi)似的概念;定時(shí)圖強(qiáng)調(diào)消息跨越不同對(duì)象或角色的時(shí)間時(shí)間;交互概覽圖是活動(dòng)圖和順序圖的混合物;狀態(tài)圖描述一個(gè)狀態(tài)機(jī),由狀態(tài)、轉(zhuǎn)移、事件和活動(dòng)組成;活動(dòng)圖專(zhuān)注于系統(tǒng)的動(dòng)態(tài)視圖,強(qiáng)調(diào)對(duì)象間的控制流程。適合用于表述在不同用例之間的(單個(gè))對(duì)象行為。ADL是這樣一種形式化語(yǔ)言,它在底層語(yǔ)言模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供了具體語(yǔ)法和概念框架。3個(gè)基本元素為:構(gòu)件、連接件和體系結(jié)構(gòu)配置;軟件體系結(jié)構(gòu)風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式。體系結(jié)構(gòu)風(fēng)格定義了一系統(tǒng)家族,即一個(gè)體系結(jié)構(gòu)定義一個(gè)詞匯表和一組約束。詞匯表中包含了一些構(gòu)件和連接件類(lèi)型,而約束指出系統(tǒng)如何將這些構(gòu)件和連接件組合起來(lái)的。體系結(jié)構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)共有的結(jié)構(gòu)和語(yǔ)義特性,并指導(dǎo)如何將各個(gè)模塊和子系統(tǒng)有效組織成一個(gè)完整的系統(tǒng)。體系結(jié)構(gòu)風(fēng)格4要素內(nèi)容:一個(gè)詞匯表、一套配置規(guī)則、定義一套語(yǔ)義解釋原則和定義對(duì)基于這種風(fēng)格的系統(tǒng)所進(jìn)行的分析。常見(jiàn)5個(gè)風(fēng)格分類(lèi):數(shù)據(jù)流風(fēng)格:批處理序列、管道與過(guò)濾器;調(diào)用/返回風(fēng)格:主程序與子程序、面向?qū)ο箫L(fēng)格、層次風(fēng)格;獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通信、事件系統(tǒng);虛擬機(jī)風(fēng)格:解釋器、基于規(guī)則的系統(tǒng);倉(cāng)庫(kù)風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng)、超文本系統(tǒng)、黑板系統(tǒng)常見(jiàn)具體風(fēng)格解析:管道與過(guò)濾器:每個(gè)構(gòu)件(過(guò)濾器)都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,進(jìn)過(guò)內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流;輸出數(shù)據(jù)流輸入管道(連接件),作為下一個(gè)過(guò)濾器的輸入;過(guò)濾器必須是獨(dú)立的實(shí)體,在輸入數(shù)據(jù)流沒(méi)輸入完之前,可能輸出數(shù)據(jù)流已經(jīng)產(chǎn)生了;常見(jiàn)例子:UNIXShell編寫(xiě)的程序、傳統(tǒng)的編譯器;特點(diǎn):使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點(diǎn);可將整個(gè)系統(tǒng)看成多個(gè)過(guò)濾器行為的簡(jiǎn)單合成;支持軟件(過(guò)濾器)重用;系統(tǒng)維護(hù)和增強(qiáng)系統(tǒng)性能簡(jiǎn)單;支持并行執(zhí)行;缺點(diǎn):導(dǎo)致進(jìn)程成為批處理結(jié)構(gòu);不適合處理交互應(yīng)用;過(guò)濾器增加了解析和合成數(shù)據(jù)的工作,導(dǎo)致系統(tǒng)性能下降;面向?qū)ο箫L(fēng)格:數(shù)據(jù)的表示方法和它們相應(yīng)的操作封裝在一個(gè)抽象數(shù)據(jù)類(lèi)型或?qū)ο笾?,這種風(fēng)格的構(gòu)件是對(duì)象,或者說(shuō)是抽象數(shù)據(jù)類(lèi)型的實(shí)例;基于事件的隱式調(diào)用風(fēng)格的主要特點(diǎn)是:事件的觸發(fā)者并不知道哪些構(gòu)件會(huì)被這些事件影響。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過(guò)程會(huì)被調(diào)用,因此,許多隱式調(diào)用的系統(tǒng)也包含顯式調(diào)用作為構(gòu)件交互的補(bǔ)充形式。常見(jiàn)的例子是:在編程環(huán)境中用于集成各種工具,在數(shù)據(jù)庫(kù)系統(tǒng)中確保數(shù)據(jù)的一致性約束,在用戶(hù)界面中的管理數(shù)據(jù),以及在編輯器中支持語(yǔ)法檢查;優(yōu)點(diǎn):(1)為軟件重用提供了強(qiáng)大支持;(2)為改進(jìn)系統(tǒng)帶來(lái)了方便;缺點(diǎn):(1)構(gòu)件放棄了對(duì)計(jì)算構(gòu)件的控制;(2)數(shù)據(jù)交換的問(wèn)題;(3)正確性的的推理存在問(wèn)題;分層系統(tǒng)層次系統(tǒng)組織成一個(gè)層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層的客戶(hù)。每一次最多影響相鄰的兩層,只要給相鄰兩層提供相同的接口,便允許每層用不同的方法實(shí)現(xiàn),同樣為軟件重用提供了強(qiáng)大的支持。特點(diǎn):(1)支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì);(2)功能的改變最多影響相鄰兩層;(3)支持重用;不足:(1)并不是每個(gè)系統(tǒng)都能夠很容易的劃分為多層模式;(2)很難找到一個(gè)合適的、正確的抽象層次方法;倉(cāng)庫(kù)系統(tǒng)及知識(shí)庫(kù)在倉(cāng)庫(kù)風(fēng)格中,有兩種不同的構(gòu)件:中央數(shù)據(jù)結(jié)構(gòu)說(shuō)明當(dāng)前狀態(tài),獨(dú)立構(gòu)件在中央數(shù)據(jù)存儲(chǔ)上執(zhí)行,倉(cāng)庫(kù)與外構(gòu)件間的相互作用在系統(tǒng)中會(huì)有大的變化;。黑板系統(tǒng)的傳統(tǒng)應(yīng)用是信號(hào)處理領(lǐng)域,如語(yǔ)音和模式識(shí)別,另一應(yīng)用是松耦合數(shù)據(jù)共享存??;黑板系統(tǒng)的3個(gè)組成部分:知識(shí)源;黑板數(shù)據(jù)結(jié)構(gòu);控制;控制完全由黑板的狀態(tài)驅(qū)動(dòng),黑板狀態(tài)的改變決定使用特定的知識(shí)源;C2風(fēng)格C2體系結(jié)構(gòu)風(fēng)格可以概括為:通過(guò)連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò);組織規(guī)則如下:構(gòu)件和連接件都有一個(gè)頂部和底部;構(gòu)件的頂部連接到某連接件的底部,構(gòu)件的底部則應(yīng)連接都某連接件頂部;構(gòu)件之間不允許之間連接;一個(gè)連接件可連接任意數(shù)目的構(gòu)件和連接件;當(dāng)兩個(gè)構(gòu)件直接連接時(shí),必須是其中一個(gè)的底部到另一個(gè)的頂部;特點(diǎn):系統(tǒng)的構(gòu)件能夠?qū)崿F(xiàn)應(yīng)用需求,并能將任意復(fù)雜度的功能封裝在一起;構(gòu)件通信通過(guò)以連接件為中介的異步消息交換來(lái)實(shí)現(xiàn);構(gòu)件相對(duì)獨(dú)立,構(gòu)件之間依賴(lài)少;C/S與B/S體系結(jié)構(gòu)C/S體系結(jié)構(gòu)的優(yōu)點(diǎn)在于系統(tǒng)的客戶(hù)應(yīng)用程序和服務(wù)器構(gòu)件分別運(yùn)行在不同的計(jì)算機(jī)上,系統(tǒng)中每臺(tái)服務(wù)器都可以適應(yīng)各構(gòu)件的要求,這對(duì)于硬件和軟件的變化顯示出極大的適應(yīng)性和靈活性,易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充或縮??;C/S結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作和事物處理能力,模型思想簡(jiǎn)單,易于人們理解和接收;由于軟件復(fù)雜度的不斷提高,C/S結(jié)構(gòu)也暴露出下列缺點(diǎn):開(kāi)發(fā)成本高??蛻?hù)端軟硬件配置要求高客戶(hù)端程序設(shè)計(jì)復(fù)雜;信息內(nèi)容和形式單一;用于界面風(fēng)格不一,不利于推廣;軟件移植困難;軟件維護(hù)和升級(jí)困難;新技術(shù)不能輕易應(yīng)用;兩層C/S結(jié)構(gòu)局限:難以擴(kuò)展至大型企業(yè)廣域網(wǎng)或Internet;軟硬件的組合及集成能力有限;客服機(jī)負(fù)荷太重;數(shù)據(jù)安全性不好;因此三層C/S結(jié)構(gòu)應(yīng)運(yùn)而生;與兩層C/S結(jié)構(gòu)相比,三層C/S結(jié)構(gòu)增加了一個(gè)應(yīng)用服務(wù)器??梢詫⒄麄€(gè)應(yīng)用邏輯駐留在服務(wù)器上,而只有表示層存在于客戶(hù)機(jī)上;表示層:應(yīng)用的用戶(hù)接口部分,它擔(dān)負(fù)卓用戶(hù)和應(yīng)用間的對(duì)話(huà)功能;功能層:相當(dāng)于應(yīng)用的本體,它將具體的業(yè)務(wù)邏輯編入程序中;數(shù)據(jù)層:就是數(shù)據(jù)庫(kù)管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的讀寫(xiě);在三層C/S體系結(jié)構(gòu)中,中間件事最重要的構(gòu)件。所謂中間件是一個(gè)用API定義的軟件層,是具有強(qiáng)大通信能力和良好可擴(kuò)展性的分布式軟件管理框架。它的功能是在客服機(jī)和服務(wù)器或服務(wù)器之間出送數(shù)據(jù),實(shí)現(xiàn)客服機(jī)群和服務(wù)器群之間的通信。目前已有的3中分布式構(gòu)件標(biāo)準(zhǔn):Microsoft的DCOM,OMG的CORBA和SUN公司的EJB;三層C/S結(jié)構(gòu)特點(diǎn):允許合理地劃分三層結(jié)構(gòu)的功能,使之在邏輯上保持相對(duì)獨(dú)立性,是整個(gè)系統(tǒng)邏輯結(jié)構(gòu)更為清晰,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性;允許靈活選用相應(yīng)的平臺(tái)和硬件系統(tǒng),且各組成部分具有良好的可升級(jí)性和開(kāi)放性;應(yīng)用的各層可并行開(kāi)發(fā),提高效率;充分利用功能層有效地隔離表示層和數(shù)據(jù)層,提高了系統(tǒng)安全;B/S體系結(jié)構(gòu)利用不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種腳本語(yǔ)言,用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜的專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,節(jié)約了開(kāi)發(fā)成本;B/S結(jié)構(gòu)是一種全新的軟件體系結(jié)構(gòu);系統(tǒng)的安裝、修改和維護(hù)全在服務(wù)器端解決;用戶(hù)僅用一個(gè)瀏覽器就可以運(yùn)行全部的模塊,達(dá)到了“零客服端的目的,容易升級(jí)。同時(shí),B/S結(jié)構(gòu)還提供了異種機(jī)、已種網(wǎng)、已種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)、統(tǒng)一服務(wù)的最現(xiàn)實(shí)開(kāi)放性基礎(chǔ)。與C/S相比,B/S的不足:沒(méi)有有效集成數(shù)據(jù)庫(kù)的處理能力;系統(tǒng)擴(kuò)展性差,安全性難以控制;數(shù)據(jù)查詢(xún)相應(yīng)速度遠(yuǎn)低于C/S結(jié)構(gòu);數(shù)據(jù)動(dòng)態(tài)交互性不強(qiáng),不利于在線(xiàn)事物處理(OLTP);公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)CORBA是由OMG制定的一個(gè)工業(yè)標(biāo)準(zhǔn),其主要目標(biāo)是提供一種機(jī)制,使得對(duì)象可以透明地發(fā)出請(qǐng)求和獲得應(yīng)答,從而建立起一個(gè)異質(zhì)的分布式應(yīng)用環(huán)境。其中的ORB是一個(gè)關(guān)鍵的通信機(jī)制,它以實(shí)現(xiàn)互操作性為主要目標(biāo),處理對(duì)象之間的消息發(fā)布。CORBA技術(shù)規(guī)范主要包括:接口定義語(yǔ)言IDL,接口池IR,動(dòng)態(tài)調(diào)用接口DII和對(duì)象適配器OA。CORBA定義了一種面向?qū)ο蟮能浖讟?gòu)造方法,是不同的應(yīng)用可以共享由此構(gòu)造出來(lái)的軟件構(gòu)件。每個(gè)對(duì)象將其內(nèi)部操作細(xì)節(jié)封裝起來(lái),同時(shí)向外界提供精確定義的接口,從而降低了應(yīng)用系統(tǒng)的復(fù)雜性,也降低了軟件開(kāi)發(fā)費(fèi)用。CORAB的平臺(tái)無(wú)關(guān)性實(shí)現(xiàn)了對(duì)象跨平臺(tái)引用,開(kāi)發(fā)人員可以在更大范圍內(nèi)選擇最實(shí)用的對(duì)象加入到自己的應(yīng)用系統(tǒng)中。CORBA的語(yǔ)言無(wú)關(guān)性使開(kāi)發(fā)人員可以在更大范圍內(nèi)相互利用別人的編程技能和成果。CORBA特點(diǎn)引入中間件作為事務(wù)代理,完成客服機(jī)想服務(wù)對(duì)象方提出的業(yè)務(wù)請(qǐng)求;實(shí)現(xiàn)客服和服務(wù)對(duì)象的完全分離;提供軟總線(xiàn)機(jī)制,使得在任何環(huán)境下、采用任何語(yǔ)言開(kāi)發(fā)的軟件只要符合接口規(guī)范的定義,均能集成到分布式系統(tǒng)中;采用棉線(xiàn)對(duì)象的軟件方法開(kāi)發(fā)應(yīng)用系統(tǒng);CORBA主要作用:提供運(yùn)行環(huán)境;提供通信機(jī)制;提供通用服務(wù);層次消息總線(xiàn)(HMB:HierarchyMessageBus)消息總線(xiàn)是系統(tǒng)的連接件,負(fù)責(zé)消息的分派、傳遞、和過(guò)濾以及處理結(jié)果的返回。各個(gè)構(gòu)件掛接在消息總線(xiàn)上,向總線(xiàn)登記感興趣的消息類(lèi)型。遺留系統(tǒng):指基本上不能進(jìn)行修改和演化以滿(mǎn)足新的變化了的業(yè)務(wù)需求的信息系統(tǒng);特點(diǎn)如下:系統(tǒng)雖然能夠完成企業(yè)中許多重要的業(yè)務(wù)管理工作,但已經(jīng)不能完全滿(mǎn)足要求;系統(tǒng)在性能上已經(jīng)落后,采用的技術(shù)過(guò)時(shí);通常是大型的軟件系統(tǒng),融入了企業(yè)的業(yè)務(wù)運(yùn)行和管理決策機(jī)制中,維護(hù)困難;沒(méi)用使用現(xiàn)代軟件工程方法進(jìn)行管理和開(kāi)發(fā),基本上沒(méi)問(wèn)題,很難理解;特定領(lǐng)域軟件體系結(jié)構(gòu)DSSA:在一個(gè)特定應(yīng)用領(lǐng)域中,為一組應(yīng)用提供組織結(jié)構(gòu)參考的標(biāo)準(zhǔn)體系結(jié)構(gòu)。DSSA的基本活動(dòng):領(lǐng)域分析、設(shè)計(jì)及實(shí)現(xiàn)。領(lǐng)域分析的主要目標(biāo)是獲得領(lǐng)域模型,其描述的是領(lǐng)域中系統(tǒng)之間的共同需求;領(lǐng)域設(shè)計(jì)的目的是為了DSSA,表示模型在中需求的解決方案;領(lǐng)域?qū)崿F(xiàn)的主要目標(biāo)是依據(jù)領(lǐng)域模型和DSSA開(kāi)發(fā)和組織可重用信息。DSSA的人員:領(lǐng)域?qū)<姨峁╊I(lǐng)域中系統(tǒng)的需求規(guī)約和實(shí)現(xiàn)知識(shí);領(lǐng)域分析人員控制整個(gè)領(lǐng)域分析過(guò)程,把獲取的知識(shí)組織到領(lǐng)域模型中;領(lǐng)域設(shè)計(jì)人員控制軟件設(shè)計(jì)過(guò)程開(kāi)發(fā)出DSSA;領(lǐng)域?qū)崿F(xiàn)人員主要開(kāi)發(fā)可重用構(gòu)件;DSSA的建立過(guò)程:定義領(lǐng)域范圍;定義領(lǐng)域特定元素;定義領(lǐng)域特定的設(shè)計(jì)和實(shí)現(xiàn)需求約束;定義領(lǐng)域模型和體系結(jié)構(gòu);產(chǎn)生、搜集可重用產(chǎn)品單元;DSSA的建立過(guò)程是并發(fā)的、遞歸和反復(fù)進(jìn)行的。該過(guò)程的目的是將用戶(hù)的需要反射為基于實(shí)現(xiàn)約束集合的軟件需求,這些需求定義了DSSA;DSSA的三層系統(tǒng)模型領(lǐng)域開(kāi)發(fā)環(huán)境,對(duì)應(yīng)領(lǐng)域架構(gòu)師;領(lǐng)域特定應(yīng)用開(kāi)發(fā)環(huán)境,對(duì)應(yīng)應(yīng)用工程師;應(yīng)用執(zhí)行環(huán)境,對(duì)應(yīng)操作員;DSSA與體系結(jié)構(gòu)風(fēng)格的比較DSSA體系結(jié)構(gòu)風(fēng)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圓周接力課件教學(xué)課件
- 2024乙丙雙方關(guān)于智能家居系統(tǒng)安裝與維護(hù)的合同
- 2024保險(xiǎn)合同保險(xiǎn)標(biāo)的及屬性規(guī)定
- 2024年司機(jī)配駕汽車(chē)租賃合同標(biāo)準(zhǔn)版
- 2024年度工程建設(shè)項(xiàng)目融資擔(dān)保合同
- 2024年居住區(qū)綠化托管協(xié)議
- 2024年廣告制作委托合同
- 2024年展覽廳知識(shí)產(chǎn)權(quán)保護(hù)合同
- 2024國(guó)有土地使用權(quán)合同解釋國(guó)有土地使用權(quán)收購(gòu)合同
- 2024年度汽車(chē)銷(xiāo)售業(yè)績(jī)獎(jiǎng)勵(lì)合同
- 光伏電站安全評(píng)價(jià)危險(xiǎn)有害因素辨識(shí)與分析
- 第十章特定人群的口腔保健
- 計(jì)算機(jī)組裝與維護(hù)(第2版)-電子教案第1-18章教案
- 監(jiān)理大綱范本(同名6493)
- 中非合作會(huì)議峰會(huì)
- 加油站安全風(fēng)險(xiǎn)評(píng)估報(bào)告 - 事故發(fā)生可能性及后果分析
- 消防安全知識(shí)課件PPT
- 曲臂車(chē)高空作業(yè)車(chē)施工方案
- 腰椎ODI評(píng)分完整版
- 公路工程監(jiān)理旁站手冊(cè)監(jiān)理旁站手冊(cè)編制說(shuō)明
- 12J4-2 《專(zhuān)用門(mén)窗》標(biāo)準(zhǔn)圖集
評(píng)論
0/150
提交評(píng)論