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