軟件開發(fā)方法軟件開發(fā)技術課件
《軟件開發(fā)方法軟件開發(fā)技術課件》由會員分享,可在線閱讀,更多相關《軟件開發(fā)方法軟件開發(fā)技術課件(60頁珍藏版)》請在裝配圖網上搜索。
1、軟件開發(fā)方法軟件開發(fā)技術課件1第第1 1章章 軟件開發(fā)方法軟件開發(fā)方法( (三)軟件開發(fā)技術三)軟件開發(fā)技術計算機教學實驗中心計算機教學實驗中心下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2 2|83|83頁頁問題的提出什么是構件、中間件?什么是構件、中間件?什么是什么是CORBA、DOM和和JEB?什么是軟件復用?什么是軟件復用?什么是什么是C/S?B/S?C/S和和B/S的區(qū)別?的區(qū)別?下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3 3|83|83頁頁1 1了解目前主要的軟件開發(fā)技術了解目前主要的軟件開發(fā)技術2 2了解構件技術了解構件技術3 3了解軟件復用技術了解軟件復用技
2、術4 4了解了解CORBACORBA、DCOMDCOM和和J2EEJ2EE技術技術5 5了解了解C/SC/S和和B/SB/S技術及開發(fā)基礎技術及開發(fā)基礎下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4 4|83|83頁頁軟件開發(fā)技術軟件開發(fā)技術構件技術構件技術軟件復用技術軟件復用技術C/S技術技術B/S技術技術下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第5 5|83|83頁頁構件技術構件技術軟件產業(yè)和軟件工程技術正面臨著新的挑戰(zhàn)。軟件產業(yè)和軟件工程技術正面臨著新的挑戰(zhàn)。而傳統(tǒng)的軟件設計思想根本無法應對。在這一而傳統(tǒng)的軟件設計思想根本無法應對。在這一背景下,構件技術應運而生。背景下
3、,構件技術應運而生。構件技術是基于構件技術是基于OO技術上的更高級的抽象。它技術上的更高級的抽象。它把底層的對象集合打成包,組成功能把底層的對象集合打成包,組成功能“插件插件”?;跇嫾夹g的軟件生產就是把已存在的構件基于構件技術的軟件生產就是把已存在的構件組裝(集成)到當前軟件系統(tǒng)的框架結構中,組裝(集成)到當前軟件系統(tǒng)的框架結構中,從而生產出新的軟件產品。從而生產出新的軟件產品??梢灶A見,構件技術是軟件產業(yè)化革命的必然可以預見,構件技術是軟件產業(yè)化革命的必然發(fā)展趨勢。發(fā)展趨勢。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第6 6|83|83頁頁構件技術概述構件技術概述OO技術是在技術
4、是在“數據十算法數據十算法”的基礎上提升了對事物的的基礎上提升了對事物的認識方法。而構件技術則在認識方法。而構件技術則在“對象對象+算法算法”的基礎上將的基礎上將認識事物的角度從對象個體本身提升到個體在群體中的認識事物的角度從對象個體本身提升到個體在群體中的作用。這個認識的提高具有本質的不同。作用。這個認識的提高具有本質的不同。從抽象程度來看,從抽象程度來看,OO技術已達到了類級重用(代碼重技術已達到了類級重用(代碼重用),它以類為封裝的單位。而構件是對一組類的組合用),它以類為封裝的單位。而構件是對一組類的組合進行封裝,可以將底層的多個邏輯組合成高層次上的粒進行封裝,可以將底層的多個邏輯組合
5、成高層次上的粒度更大的新構件,甚至直接封裝到一個系統(tǒng),使模塊的度更大的新構件,甚至直接封裝到一個系統(tǒng),使模塊的重用從代碼級、對象級、架構級到系統(tǒng)級都可能實現。重用從代碼級、對象級、架構級到系統(tǒng)級都可能實現。顯然,構件技術將抽象的程度提到了一個更高的層次。顯然,構件技術將抽象的程度提到了一個更高的層次。這種思想正在改變著軟件的開發(fā)方法和人們的思維方式。這種思想正在改變著軟件的開發(fā)方法和人們的思維方式。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第7 7|83|83頁頁構件的屬性構件的屬性構件是可獨立配置的單元,因此構件必須自構件是可獨立配置的單元,因此構件必須自包容。包容。構件強調與環(huán)境和
6、其他構件的分離,因此構構件強調與環(huán)境和其他構件的分離,因此構件的實現是嚴格封裝的,外界沒機會或沒必件的實現是嚴格封裝的,外界沒機會或沒必要知道構件內部的實現細節(jié)。要知道構件內部的實現細節(jié)。構件可以在適當的環(huán)境中被復合使用,因此構件可以在適當的環(huán)境中被復合使用,因此構件需要提供清楚的接口規(guī)范,可以與環(huán)境構件需要提供清楚的接口規(guī)范,可以與環(huán)境交互。交互。可以看出,構件沿襲了對象的封裝特性,但可以看出,構件沿襲了對象的封裝特性,但同時并不局限于一個對象,其內部可以封裝同時并不局限于一個對象,其內部可以封裝一個或多個類、原型對象甚至過程,結構是一個或多個類、原型對象甚至過程,結構是靈活的。靈活的。下一
7、頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第8 8|83|83頁頁構件的使用構件的使用每個構件都需要先注冊才能使用。構件是通過它們的接口每個構件都需要先注冊才能使用。構件是通過它們的接口特征來標識的,它們所提供的服務與訪問方式是接口特征特征來標識的,它們所提供的服務與訪問方式是接口特征的一部分內容。要考慮的因素包括:的一部分內容。要考慮的因素包括:應用編程接口(應用編程接口(API)。)。構件所需的開發(fā)和集成。構件所需的開發(fā)和集成。運行需求,例如資源的使用(內存和硬盤),時間或速度運行需求,例如資源的使用(內存和硬盤),時間或速度以及網絡協(xié)議。以及網絡協(xié)議。服務需求,例如操作系統(tǒng)的接口,或
8、需要其他構件的支持服務需求,例如操作系統(tǒng)的接口,或需要其他構件的支持等。等。安全特征,例如訪問控制和身份驗證協(xié)議等。安全特征,例如訪問控制和身份驗證協(xié)議等。嵌入式設計假定,有特定的數值嵌入式設計假定,有特定的數值/非數值算法使用。非數值算法使用。異常處理。異常處理。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第9 9|83|83頁頁實現構件技術的必備條件實現構件技術的必備條件有標準軟件體系結構,保證構件間通信協(xié)議統(tǒng)一,有標準軟件體系結構,保證構件間通信協(xié)議統(tǒng)一,實現同步和異步操作控制,突破本地空間限制,實現同步和異步操作控制,突破本地空間限制,充分利用網絡環(huán)境。充分利用網絡環(huán)境。構件有標
9、準接口,保證系統(tǒng)可分解成多個功能獨構件有標準接口,保證系統(tǒng)可分解成多個功能獨立的單元,用構件組裝而成。立的單元,用構件組裝而成。構件獨立于編程語言。構件獨立于編程語言。構件提供版本兼容,來實現應用系統(tǒng)的擴展和更構件提供版本兼容,來實現應用系統(tǒng)的擴展和更新。新。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第10 10|83|83頁頁構件設計構件設計因為構件依賴于平臺環(huán)境,所以設計時有特殊要求:因為構件依賴于平臺環(huán)境,所以設計時有特殊要求: 以接口為核心,使用開放標準以接口為核心,使用開放標準。 統(tǒng)一的開放標準有,統(tǒng)一的開放標準有,CORBA、DCOM、EJB等。等。 構件語義的描述要形式化
10、構件語義的描述要形式化。在不同標準中,它們都有自。在不同標準中,它們都有自己的形式化語義規(guī)定。如在己的形式化語義規(guī)定。如在EJB中有會話中有會話Bean和實體和實體Bean事務描述符等。事務描述符等。 提煉封裝構件過程要嚴格記錄提煉封裝構件過程要嚴格記錄。由于構件允許第三方使。由于構件允許第三方使用,所以要保證第三方用戶能正確理解構件設計思想,用,所以要保證第三方用戶能正確理解構件設計思想,就必須記錄每次提煉的變化。通常,要用版本來管理。就必須記錄每次提煉的變化。通常,要用版本來管理。 設計模式也可以重用設計模式也可以重用?;跇嫾南到y(tǒng)開發(fā)的優(yōu)點之一?;跇嫾南到y(tǒng)開發(fā)的優(yōu)點之一是重用,它的
11、目標是代碼、設計、解決方案都能重用。是重用,它的目標是代碼、設計、解決方案都能重用。 利用開發(fā)工具利用開發(fā)工具。利用開發(fā)工具創(chuàng)建構件和應用軟件。工。利用開發(fā)工具創(chuàng)建構件和應用軟件。工具如具如Jbuilder、EJBMaker等。等。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第11 11|83|83頁頁中間件中間件構件是依賴于平臺環(huán)境的。那么在分布式異構構件是依賴于平臺環(huán)境的。那么在分布式異構環(huán)境中如何應用構件呢?環(huán)境中如何應用構件呢?中間件就是基于跨環(huán)境的構件應用而發(fā)展起來中間件就是基于跨環(huán)境的構件應用而發(fā)展起來的。中間件是介于應用層和網絡層之間的一個的。中間件是介于應用層和網絡層之間
12、的一個功能層次,是使應用系統(tǒng)獨立于由異構操作環(huán)功能層次,是使應用系統(tǒng)獨立于由異構操作環(huán)境(操作系統(tǒng)、硬件平臺及通信協(xié)議等)組成境(操作系統(tǒng)、硬件平臺及通信協(xié)議等)組成的開發(fā)環(huán)境。的開發(fā)環(huán)境。中間件擴展了客戶中間件擴展了客戶/服務器結構,形成了一個服務器結構,形成了一個包括客戶、中間件和服務器在內的三層次結構包括客戶、中間件和服務器在內的三層次結構及多層次結構,為開發(fā)可靠的、可擴展的、復及多層次結構,為開發(fā)可靠的、可擴展的、復雜的事物密集型應用提供了有力的支持。雜的事物密集型應用提供了有力的支持。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第12 12|83|83頁頁構件和中間件構件和中間
13、件中間件是構件技術的一種實現,是構件存在的基礎,它的中間件是構件技術的一種實現,是構件存在的基礎,它的本質是對分布式應用的抽象,應用是在中間件提供的環(huán)境本質是對分布式應用的抽象,應用是在中間件提供的環(huán)境中以構件的形式存在。中以構件的形式存在?;谥虚g件開發(fā)的應用是面向需求的構件應用;構件專門基于中間件開發(fā)的應用是面向需求的構件應用;構件專門用于處理應用的業(yè)務邏輯,而中間件負責解決與業(yè)務無直用于處理應用的業(yè)務邏輯,而中間件負責解決與業(yè)務無直接關系的分布式應用中的支撐環(huán)境問題(例如,通信、互接關系的分布式應用中的支撐環(huán)境問題(例如,通信、互操作、可靠性、容錯性等)。操作、可靠性、容錯性等)。構件的
14、封裝、設計與實現隔離,構件間的交互通過規(guī)范定構件的封裝、設計與實現隔離,構件間的交互通過規(guī)范定義的接口進行;中間件在分布式交互模式上都規(guī)定了接口義的接口進行;中間件在分布式交互模式上都規(guī)定了接口機制,可以解決構件間的交互問題。機制,可以解決構件間的交互問題。中間件將應用構件與系統(tǒng)資源隔離,使得構件開發(fā)者不用中間件將應用構件與系統(tǒng)資源隔離,使得構件開發(fā)者不用考慮下層的系統(tǒng)平臺??紤]下層的系統(tǒng)平臺。中間件提供了構件封裝、構件交互規(guī)則、構件與環(huán)境隔離中間件提供了構件封裝、構件交互規(guī)則、構件與環(huán)境隔離等機制,為軟件重用提供了解決方案。等機制,為軟件重用提供了解決方案。中間件可實現互操作。中間件可實現互
15、操作。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第13 13|83|83頁頁中間件分類中間件分類 基于遠程過程調用基于遠程過程調用RPC(Remote Procedure Call)的中間件,被調用的對象可以在分布系統(tǒng)中的任何物理的中間件,被調用的對象可以在分布系統(tǒng)中的任何物理平臺上。平臺上。SunSoft的的ONC+屬于這種中間件。屬于這種中間件。 面向消息的中間件面向消息的中間件,支持基于消息機制的進程間通信方,支持基于消息機制的進程間通信方式。例如,式。例如,SunSoft的的ToolTalk。 基于對象請求代理基于對象請求代理ORB(Object Request Brokers
16、)的中間件,消息通過的中間件,消息通過ORB進行路由選擇,進行路由選擇,ORB同時處同時處理集成和安全方面的問題。如理集成和安全方面的問題。如Microsoft的的COM、OMG的的CORBA等。等。 數據庫中間件數據庫中間件,支持對異構的關系數據庫系統(tǒng)的透明訪,支持對異構的關系數據庫系統(tǒng)的透明訪問。例如問。例如Sybase的的Open Server、Oracle的的SQL Connect和和BEA公司的公司的WebLogic等。等。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第14 14|83|83頁頁中間件面臨的問題中間件面臨的問題中間件提供的服務不是萬能的,它所應遵循的一中間件提供
17、的服務不是萬能的,它所應遵循的一些原則離實際還有很大距離。表現在:些原則離實際還有很大距離。表現在:多數流行的中間件服務使用專有的多數流行的中間件服務使用專有的API和專有的和專有的協(xié)議,使得應用建立于單一廠家的產品,來自不協(xié)議,使得應用建立于單一廠家的產品,來自不同廠家的實現很難互操作。同廠家的實現很難互操作。有些中間件服務只提供一些平臺的實現,從而限有些中間件服務只提供一些平臺的實現,從而限制了應用在異構系統(tǒng)之間的移植。制了應用在異構系統(tǒng)之間的移植。應用開發(fā)者在這些中間件服務上建立自己的應用應用開發(fā)者在這些中間件服務上建立自己的應用還要承擔相當大的風險,隨著技術的發(fā)展他們往還要承擔相當大的
18、風險,隨著技術的發(fā)展他們往往還需要重寫自己的系統(tǒng)。往還需要重寫自己的系統(tǒng)。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第15 15|83|83頁頁J2EEJ2EE技術簡介技術簡介 Java平臺的第一個參考實現是平臺的第一個參考實現是 JDK(Java Development Kit),但),但 JDK并不支持服務器端構件開發(fā)。為了提供服務并不支持服務器端構件開發(fā)。為了提供服務器端部署的企業(yè)級服務,器端部署的企業(yè)級服務,Sun公司開發(fā)了一些公司開發(fā)了一些Enterprise API。但是早期的這些應用服務器暴露了。但是早期的這些應用服務器暴露了Enterprise API的許多問題。為了解
19、決的許多問題。為了解決Enterprise API的問題,的問題,Sun公司公司提出了三個不同的提出了三個不同的Java平臺:平臺:J2ME(Java 2 Platform,Micro Edition)是可用于)是可用于Java設備(如設備(如Palm Pilots、呼機、手表等)開發(fā)平臺。、呼機、手表等)開發(fā)平臺。J2SE(Java 2 Platform,Standard Edition)支持標準)支持標準JDK編程,包含基本的編程,包含基本的Java語言支持、語言支持、JFC庫及其對庫及其對applet和和application的支持。的支持。J2EE(Java 2 Platform,En
20、terprise Edition)是一個)是一個基于基于Java的完整的企業(yè)級應用開發(fā)平臺,它與的完整的企業(yè)級應用開發(fā)平臺,它與Java Enterprise API有機地結合、適合服務器端構件體系結構有機地結合、適合服務器端構件體系結構的開發(fā)。的開發(fā)。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第16 16|83|83頁頁J2EE的核心技術的核心技術 下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第17 17|83|83頁頁J2EE的核心技術的核心技術EJB是是J2EE規(guī)約中最重要的部分。規(guī)約中最重要的部分。EJB提供了讓客戶端使提供了讓客戶端使用遠程分布式對象的框架,規(guī)定了用遠程
21、分布式對象的框架,規(guī)定了EJB構件如何與構件如何與EJB容容器進行交互等服務。器進行交互等服務。RMI-IIOP用于實現用于實現Java和和CORBA應用之間互操作。應用之間互操作。Java 名字及目錄接口名字及目錄接口JNDI提供命名服務和目錄服務,它提供命名服務和目錄服務,它是客戶端代碼連接是客戶端代碼連接EJB構件所必需的關鍵技術。構件所必需的關鍵技術。數據庫訪問接口數據庫訪問接口JDBC同同ODBC一樣,允許程序員使用相一樣,允許程序員使用相同的接口訪問不同的數據庫,同的接口訪問不同的數據庫,JDBC還具有跨平臺訪問各還具有跨平臺訪問各種數據庫的功能。種數據庫的功能。消息服務消息服務J
22、MS是一套與消息驅動的中間件通信的是一套與消息驅動的中間件通信的API。Java Server Papes(JSP)可以使不懂)可以使不懂Java的人也能用的人也能用Java編寫動態(tài)網頁。編寫動態(tài)網頁。Java 接口定義語言接口定義語言IDL通過建立遠程接口支持通過建立遠程接口支持Java和和CORBA應用的通信。應用的通信。Java Mail 基于基于Java的電子郵件的電子郵件API。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第18 18|83|83頁頁EJB技術技術EJB(Enterprise Java Beans)不是一種)不是一種“產品產品”,而,而是為開發(fā)和使用基于事務和分
23、布對象應用的服務器端構件是為開發(fā)和使用基于事務和分布對象應用的服務器端構件而定義的一種技術規(guī)約。而定義的一種技術規(guī)約。EJB體系結構相對于體系結構相對于CORBA而言,而言,其最大的特點是簡單性,可幫助軟件開發(fā)人員快速地構建其最大的特點是簡單性,可幫助軟件開發(fā)人員快速地構建分布式應用系統(tǒng)。分布式應用系統(tǒng)。在在EJB組件模型中,一個組件本身只需執(zhí)行那些與企業(yè)應組件模型中,一個組件本身只需執(zhí)行那些與企業(yè)應用的業(yè)務邏輯密切相關的代碼,而將組件的生存周期管理、用的業(yè)務邏輯密切相關的代碼,而將組件的生存周期管理、命名與查找、并發(fā)控制、安全性、持久性、事物處理等服命名與查找、并發(fā)控制、安全性、持久性、事物
24、處理等服務交由組件的運行環(huán)境去執(zhí)行。務交由組件的運行環(huán)境去執(zhí)行。EJB的目標是為服務器端構件系統(tǒng)定義一個技術規(guī)范,該的目標是為服務器端構件系統(tǒng)定義一個技術規(guī)范,該規(guī)范能提供一個標準的、分布的、基于規(guī)范能提供一個標準的、分布的、基于OO的體系結構;的體系結構;能屏蔽復雜的系統(tǒng)級功能需求;能兼容能屏蔽復雜的系統(tǒng)級功能需求;能兼容CORBA標準;具標準;具有與非有與非Java應用之間的互操作能力。應用之間的互操作能力。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第19 19|83|83頁頁EJB組件的分類組件的分類EJB組件模型將組件模型將EJB組件劃分為兩大類:組件劃分為兩大類:實體組件實體
25、組件會話組件會話組件消息驅動組件(消息驅動組件( EJB2.0 還包括第三類還包括第三類 )組件模型對組件類型的劃分實際上是將在應組件模型對組件類型的劃分實際上是將在應用實踐中證明行之有效的設計模式固化在組用實踐中證明行之有效的設計模式固化在組件模型中,為開發(fā)人員提供一種簡單、有效件模型中,為開發(fā)人員提供一種簡單、有效的組件開發(fā)與部署途徑。的組件開發(fā)與部署途徑。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2020|83|83頁頁EJB的特點包括:的特點包括:清晰的體系結構清晰的體系結構:支持多層應用體系結構和基于構件開發(fā)。:支持多層應用體系結構和基于構件開發(fā)。簡化的編程模型簡化的編程模
26、型:EJB構件的開發(fā)者只需關注于業(yè)務服務構件的開發(fā)者只需關注于業(yè)務服務實現,復雜的任務比如生命周期管理、持久性、事務處理、實現,復雜的任務比如生命周期管理、持久性、事務處理、安全、一致性及資源管理等等都是由安全、一致性及資源管理等等都是由EJB容器負責。容器負責。通用的編程模型通用的編程模型:提供各種服務的高層:提供各種服務的高層API,Java是其編是其編程語言。程語言。易移植性易移植性:可以部署到任何兼容的:可以部署到任何兼容的EJB容器中。容器中。支持事務處理支持事務處理:可通過在代碼外的描述來定義事務處理。:可通過在代碼外的描述來定義事務處理。可擴展性可擴展性:可以根據應用的增長而擴展
27、,:可以根據應用的增長而擴展,EJB服務器往往服務器往往還提供了負載平衡。還提供了負載平衡。安全性安全性:由:由EJB服務器提供資源的訪問權限控制。服務器提供資源的訪問權限控制。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第21 21|83|83頁頁COM+技術簡介技術簡介COM(構件對象模型)(構件對象模型)是是Microsoft提出的第一個構件模提出的第一個構件模型。它起源于型。它起源于OLE,當時的,當時的OLE使用使用DDE(動態(tài)數據交換動態(tài)數據交換)機制來支持程序之間的通信,由于機制來支持程序之間的通信,由于DDE建立在建立在Windows消息機制基礎上,穩(wěn)定性和效率都很差,由
28、此誕生了消息機制基礎上,穩(wěn)定性和效率都很差,由此誕生了COM。DCOM(分布構件對象模型)(分布構件對象模型)是是COM技術在分布式環(huán)境技術在分布式環(huán)境中的延伸(中的延伸(COM僅支持同一臺計算機上構件之間的互操僅支持同一臺計算機上構件之間的互操作)。作)。DCOM用網絡協(xié)議來代替本地進程之間的通信,并用網絡協(xié)議來代替本地進程之間的通信,并針對分布環(huán)境提供了一些新的特性,如網絡安全性、跨平針對分布環(huán)境提供了一些新的特性,如網絡安全性、跨平臺調用等。臺調用等。MTS( Microsoft 事務服務器)事務服務器)是為滿足企業(yè)應用而提是為滿足企業(yè)應用而提供的基礎設施。供的基礎設施。MTS可以為分布
29、式企業(yè)應用提供服務器端可以為分布式企業(yè)應用提供服務器端的構件運行和部署環(huán)境,它把企業(yè)應用系統(tǒng)的客戶程序、的構件運行和部署環(huán)境,它把企業(yè)應用系統(tǒng)的客戶程序、應用構件和各種資源有機結合起來(而應用構件和各種資源有機結合起來(而COMDCOM無無法有效地實現)。法有效地實現)。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2222|83|83頁頁Windows DNA為了使為了使Windows真正成為企業(yè)應用平臺,真正成為企業(yè)應用平臺,Microsof公司又公司又推出了推出了Windows DNA(分布式互聯(lián)網應用體系結構)。它(分布式互聯(lián)網應用體系結構)。它是一個完整的、多層的新一代企業(yè)應用
30、體系結構,也是一個是一個完整的、多層的新一代企業(yè)應用體系結構,也是一個服務器端的開發(fā)平臺,它包含以下主要產品:服務器端的開發(fā)平臺,它包含以下主要產品:Windows NT2000:操作系統(tǒng)。:操作系統(tǒng)。DCOM:支持分布式構件的核心技術。:支持分布式構件的核心技術。MSMQ:消息隊列產品,支持構件間的異步通信。:消息隊列產品,支持構件間的異步通信。MTS:管理構件的應用服務器。:管理構件的應用服務器。Microsoft Wolfpack:支持集群服務器的軟件。:支持集群服務器的軟件。Microsoft SQL Server:一種關系型數據庫管理系統(tǒng)。:一種關系型數據庫管理系統(tǒng)。Microsof
31、t IIS:Web服務器。服務器。Microsoft Management Console:部署和管理工具。:部署和管理工具。工具、數據庫、操作系統(tǒng)、編程模型和應用服務等。工具、數據庫、操作系統(tǒng)、編程模型和應用服務等。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2323|83|83頁頁COM+為了把為了把COM、DCOM和和MTS統(tǒng)一起來,形成真正統(tǒng)一起來,形成真正適合于企業(yè)級應用的構件技術,誕生了適合于企業(yè)級應用的構件技術,誕生了COM+。COM+是一種中間件技術的規(guī)約,其要點是提供是一種中間件技術的規(guī)約,其要點是提供建立在操作系統(tǒng)上的、支持分布式企業(yè)級應用的建立在操作系統(tǒng)上的、支持
32、分布式企業(yè)級應用的“服務服務”。COM+與與Windows DNA一起,使得一起,使得用戶可以采用用戶可以采用Microsof公司的技術開發(fā)服務器端公司的技術開發(fā)服務器端的構件。的構件。COM+的核心是改進的的核心是改進的COM/DCOM和和MTS的集的集成,但是成,但是COM+增加了一些非常重要的構件服務,增加了一些非常重要的構件服務,比如負載平衡、駐留內存數據庫、事件模型、隊比如負載平衡、駐留內存數據庫、事件模型、隊列服務等。列服務等。COM+還支持所謂的申述式編程模型,還支持所謂的申述式編程模型,它允許開發(fā)人員以較通用的方式開發(fā)構件,而一它允許開發(fā)人員以較通用的方式開發(fā)構件,而一些細節(jié)則
33、留到部署時再確定。些細節(jié)則留到部署時再確定。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2424|83|83頁頁COM+主要特點主要特點真正的異步通信真正的異步通信。COM+底層提供了隊列構件服務,底層提供了隊列構件服務,允許客戶和構件進行異步通信。允許客戶和構件進行異步通信。事件服務事件服務。新事件機制利用系統(tǒng)服務簡化了事件模。新事件機制利用系統(tǒng)服務簡化了事件模型,避免了型,避免了COM可連接對象機制的瑣碎細節(jié),使事可連接對象機制的瑣碎細節(jié),使事件源和事件接收方實現事件功能更加靈活。件源和事件接收方實現事件功能更加靈活。靈活性靈活性。動態(tài)負載平衡以及駐留內存數據庫、對象。動態(tài)負載平衡
34、以及駐留內存數據庫、對象池等系統(tǒng)服務為池等系統(tǒng)服務為COM+的靈活性提供了技術基礎。的靈活性提供了技術基礎??晒芾砗涂刹渴鹦钥晒芾砗涂刹渴鹦?。COM+申述式編程模型和構件申述式編程模型和構件管理環(huán)境支持應用系統(tǒng)在開發(fā)完成后的管理和部署。管理環(huán)境支持應用系統(tǒng)在開發(fā)完成后的管理和部署。易于開發(fā)易于開發(fā)。COM+開發(fā)模型比以前的開發(fā)模型比以前的COM構件開發(fā)構件開發(fā)更為簡化。更為簡化。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2525|83|83頁頁COM+COM+的基本結構的基本結構 COM+COM+目錄目錄負載平衡負載平衡駐留內存數據庫駐留內存數據庫對象池對象池新的事件模型新的事件模型
35、構件管理和部署構件管理和部署JITJIT激活激活MTSMTS事務支持事務支持資源分發(fā)管理資源分發(fā)管理安全模式安全模式易于管理易于管理遠程支持遠程支持 DCOMDCOM分布式構件服務分布式構件服務COM+COM+ COM COM基于接口的編程模式基于接口的編程模式基本的構件服務基本的構件服務下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2626|83|83頁頁CORBA技術簡介技術簡介CORBA(Common Object Request Broker Architecture,公共對象請求代理體系結構),公共對象請求代理體系結構)是是OMG制定制定的、體系結構最完整、最清晰、跨越平臺最多
36、的分布對象的、體系結構最完整、最清晰、跨越平臺最多的分布對象模型。通過模型。通過CORBA接口定義語言接口定義語言IDL 定義接口,使用不同定義接口,使用不同編程語言、不同編譯器實現的構件,可以通過編程語言、不同編譯器實現的構件,可以通過對象請求代對象請求代理理ORB進行連接,形成一個跨平臺的應用。進行連接,形成一個跨平臺的應用。CORBA一般有兩層意思:一是指對象管理組織一般有兩層意思:一是指對象管理組織OMG提出提出的分布式對象體系結構標準;另一層意思是按這種體系結的分布式對象體系結構標準;另一層意思是按這種體系結構開發(fā)的中間件產品。構開發(fā)的中間件產品。CORBA作為一種應用級的互聯(lián)標準作
37、為一種應用級的互聯(lián)標準得到了廣泛的認同和應用。得到了廣泛的認同和應用。CORBA是一套規(guī)約,而不是一個產品,開發(fā)商可以開發(fā)不是一套規(guī)約,而不是一個產品,開發(fā)商可以開發(fā)不同的產品來實現同的產品來實現 CORBA規(guī)約。例如,規(guī)約。例如,IBM公司的公司的ComponentBroker等。等。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2727|83|83頁頁OMGOMG是一個開放標準的非盈利組織,其目標是制是一個開放標準的非盈利組織,其目標是制定行業(yè)標準和對象管理標準,為應用開發(fā)提供一定行業(yè)標準和對象管理標準,為應用開發(fā)提供一個公共框架,推動構件市場的發(fā)展。個公共框架,推動構件市場的發(fā)展。
38、OMG成立于成立于1989年,目前已擁有會員近千個,包括許多研究年,目前已擁有會員近千個,包括許多研究機構、大學和大公司,如機構、大學和大公司,如IBM,HP等。等。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2828|83|83頁頁CORBA的發(fā)展的發(fā)展CORBA規(guī)約的第一代主要集中在為分布式對象定義一個基礎,規(guī)約的第一代主要集中在為分布式對象定義一個基礎,其核心是其核心是ORB和和IDL。CORBA 2.0增加了增加了ORB互操作性規(guī)約互操作性規(guī)約,主要是基于,主要是基于TCPIP的的IIOP協(xié)議(因特網協(xié)議(因特網ORB互聯(lián)協(xié)議)?;ヂ?lián)協(xié)議)。1995年。年。CORBA 2.1增
39、加了增加了COM/CORBA互操作規(guī)范互操作規(guī)范。1997年。年。CORBA 2.2增添了易移植的增添了易移植的對象適配器對象適配器POA和和 IDL到到 Java語言的映射規(guī)約。與此同時,語言的映射規(guī)約。與此同時,對象管理體系結構對象管理體系結構OMA中增加中增加了領域接口。了領域接口。1998年。年。CORBA 3.0增加了增加了CORBA構件模型構件模型CCM(與(與COM+和和EJB核心概念相似),提供容器(為構件提供運行環(huán)境)作為構核心概念相似),提供容器(為構件提供運行環(huán)境)作為構件的運行環(huán)境,而諸如事務處理、安全處理、事件處理等公件的運行環(huán)境,而諸如事務處理、安全處理、事件處理等
40、公共服務都是通過公共共服務都是通過公共 API訪問。訪問。2001年。年。但是,目前還沒有成熟的、完全實現但是,目前還沒有成熟的、完全實現CORBA 3.0規(guī)約的產品。規(guī)約的產品。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第2929|83|83頁頁CORBA的主要特征的主要特征在在CORBA環(huán)境下應用系統(tǒng)間的互聯(lián)是以對象或程環(huán)境下應用系統(tǒng)間的互聯(lián)是以對象或程序的調用方式進行的,實現系統(tǒng)間實時互操作。序的調用方式進行的,實現系統(tǒng)間實時互操作。原則上,一個系統(tǒng)內部能夠完成的操作,在系統(tǒng)原則上,一個系統(tǒng)內部能夠完成的操作,在系統(tǒng)之間通過之間通過CORBA都可以實現。都可以實現。CORBA的的
41、OO的特點還保證了各對象的封裝性和的特點還保證了各對象的封裝性和內部細節(jié)的隱蔽性。這不僅可以簡化各種功能的內部細節(jié)的隱蔽性。這不僅可以簡化各種功能的使用,還提高了系統(tǒng)的安全性。使用,還提高了系統(tǒng)的安全性。CORBA比較適合于分層結構的應用集成,這一技比較適合于分層結構的應用集成,這一技術比較適合于互聯(lián)網應用系統(tǒng)核心業(yè)務邏輯的應術比較適合于互聯(lián)網應用系統(tǒng)核心業(yè)務邏輯的應用程序的集成。此外,由于目前應用服務器大多用程序的集成。此外,由于目前應用服務器大多提供提供CORBA接口,這樣利用接口,這樣利用CORBA技術完成應技術完成應用程序和平臺之間的無縫連接也比較容易。用程序和平臺之間的無縫連接也比較
42、容易。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3030|83|83頁頁OMA基準模型基準模型CORBA的基準模型是的基準模型是OMA。該模型描述了分布式。該模型描述了分布式對象系統(tǒng)的基本成分,有四個主要層次:對象系統(tǒng)的基本成分,有四個主要層次:對象服務對象服務是一組系統(tǒng)級的對象,為實現和管理對是一組系統(tǒng)級的對象,為實現和管理對象提供了基本的功能,包括名字、生存周期服務、象提供了基本的功能,包括名字、生存周期服務、事務服務、安全服務等。事務服務、安全服務等。對象請求代理對象請求代理ORB是核心,它提供了一種機制,是核心,它提供了一種機制,使得對象可以透明地發(fā)送請求和接受響應。使得對象
43、可以透明地發(fā)送請求和接受響應。ORB與對象服務相結合,確保符合與對象服務相結合,確保符合CORBA基準的應基準的應用構件之間有效的通信。用構件之間有效的通信。公共設施公共設施是適用于眾多應用領域的通用構件,例是適用于眾多應用領域的通用構件,例如信息管理、系統(tǒng)管理、任務管理和用戶界面等。如信息管理、系統(tǒng)管理、任務管理和用戶界面等。應用對象應用對象是專用于特定領域的應用構件,是專用于特定領域的應用構件,OMG沒有為它制定標準。沒有為它制定標準。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第31 31|83|83頁頁接口定義語言接口定義語言IDLOMG IDL是是CORBA的重要組成部分,是一
44、種嚴格定義的的重要組成部分,是一種嚴格定義的接口定義語言。用接口定義語言。用OMG IDL編寫的接口定義能完整地定義編寫的接口定義能完整地定義接口,并完備地說明每個操作的參數。接口,并完備地說明每個操作的參數。OMG IDL已被已被ISO ORB采納,自采納,自1991年公布以來,基本上沒有改變。年公布以來,基本上沒有改變。OMG IDL是獨立于具體編程語言的,一個是獨立于具體編程語言的,一個IDL文件可以向文件可以向多種編程語言映射。多種編程語言映射。CORBA包含包含IDL向具體編程語言的映向具體編程語言的映射規(guī)約,例如,射規(guī)約,例如,IDL到到C,C+,Java等的映射。等的映射。OMG
45、 IDL是獨立于平臺的,由是獨立于平臺的,由IDL定義的接口可以在不同定義的接口可以在不同的的ORB和平臺上一致地表達。和平臺上一致地表達。OMG IDL是一個純規(guī)約,不涉及實現問題,是一個純規(guī)約,不涉及實現問題,IDL定義的接定義的接口不對對象實現進行任何約束??诓粚ο髮崿F進行任何約束。IDL將客戶從對象實現細將客戶從對象實現細節(jié)中清晰地分離出來,從而更利于軟件復用,因此被廣泛節(jié)中清晰地分離出來,從而更利于軟件復用,因此被廣泛接受。接受。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3232|83|83頁頁軟件復用技術軟件復用技術軟件復用是指在軟件開發(fā)過程中重復使用相同或相似軟軟件復
46、用是指在軟件開發(fā)過程中重復使用相同或相似軟件元素的過程。軟件復用是在軟件開發(fā)中避免重復勞動件元素的過程。軟件復用是在軟件開發(fā)中避免重復勞動的解決方案,它使得應用系統(tǒng)的開發(fā)不再采用一切從零的解決方案,它使得應用系統(tǒng)的開發(fā)不再采用一切從零開始的模式,而是以已有的工作模式為基礎,充分利用開始的模式,而是以已有的工作模式為基礎,充分利用過去應用系統(tǒng)開發(fā)中積累的知識和經驗,從而將開發(fā)的過去應用系統(tǒng)開發(fā)中積累的知識和經驗,從而將開發(fā)的重點集中于應用的特有構成成分。重點集中于應用的特有構成成分。為了能夠在軟件開發(fā)過程中重用已有的復用件,必須不為了能夠在軟件開發(fā)過程中重用已有的復用件,必須不斷地進行復用件的積
47、累,并將它們組織成復用件庫。因斷地進行復用件的積累,并將它們組織成復用件庫。因此,軟件復用不僅要解決如何檢索所需的復用件,還要此,軟件復用不僅要解決如何檢索所需的復用件,還要解決如何選取復用件、如何組織復用件庫等問題。這類解決如何選取復用件、如何組織復用件庫等問題。這類項目通常稱為軟件復用項目。項目通常稱為軟件復用項目。軟件重用過程可借助于支持軟件重用的軟件重用過程可借助于支持軟件重用的CASE工具,其主工具,其主要任務是:用某種組織結構實現復用件庫的存儲,提供要任務是:用某種組織結構實現復用件庫的存儲,提供友好的人機界面,幫助用戶瀏覽、檢索和修改復用件庫,友好的人機界面,幫助用戶瀏覽、檢索和
48、修改復用件庫,并且對用戶感興趣的復用件進行解釋。并且對用戶感興趣的復用件進行解釋。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3333|83|83頁頁軟件復用方式分類軟件復用方式分類 依據復用的對象分類;可以分為:依據復用的對象分類;可以分為:產品復用產品復用指復用已有的軟件構件,通過構件集指復用已有的軟件構件,通過構件集成得到新系統(tǒng)。產品復用是目前現實的、主流成得到新系統(tǒng)。產品復用是目前現實的、主流的途徑。的途徑。過程復用過程復用指復用已有的軟件開發(fā)過程,過程復指復用已有的軟件開發(fā)過程,過程復用依賴于軟件自動化技術的發(fā)展。用依賴于軟件自動化技術的發(fā)展。 依據對可復用信息進行復用的方式
49、分類,可分為:依據對可復用信息進行復用的方式分類,可分為:白盒復用白盒復用 指已有構件并不能完全符合用戶要求,指已有構件并不能完全符合用戶要求,需要根據用戶需求進行適應性修改后才能使用。需要根據用戶需求進行適應性修改后才能使用。黑盒復用黑盒復用 指對已有構件不需作任何修改,通過指對已有構件不需作任何修改,通過構件組裝的方式直接進行復用。這是目前的研構件組裝的方式直接進行復用。這是目前的研究熱點,也是將來的發(fā)展趨勢。究熱點,也是將來的發(fā)展趨勢。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3434|83|83頁頁可復用的復用件可復用的復用件Caper Jones定義了可候選的十種復用件:定
50、義了可候選的十種復用件: 項目計劃項目計劃:計劃的基本結構和內容(如,:計劃的基本結構和內容(如,SQA計劃)。計劃)。 成本估計成本估計:有可能復用對某個功能的成本估計。:有可能復用對某個功能的成本估計。 體系結構體系結構:可能創(chuàng)建一組類屬的體系結構模板(例如,事務處理體系:可能創(chuàng)建一組類屬的體系結構模板(例如,事務處理體系結構),并將模板作為可復用的設計框架。結構),并將模板作為可復用的設計框架。 需求模型和規(guī)約需求模型和規(guī)約:類和對象的模型和規(guī)約是可復用的,用傳統(tǒng)軟件工:類和對象的模型和規(guī)約是可復用的,用傳統(tǒng)軟件工程方法開發(fā)的分析模型(例如,數據流圖)也是可復用的。程方法開發(fā)的分析模型(
51、例如,數據流圖)也是可復用的。 設計設計:用傳統(tǒng)方法開發(fā)的體系結構、數據、接口和過程化設計是復用:用傳統(tǒng)方法開發(fā)的體系結構、數據、接口和過程化設計是復用的候選者,更常見的是,系統(tǒng)和對象設計是可復用的。的候選者,更常見的是,系統(tǒng)和對象設計是可復用的。 源代碼源代碼:驗證過的程序構件(用兼容的程序設計語言書寫的)。:驗證過的程序構件(用兼容的程序設計語言書寫的)。 用戶和技術文檔用戶和技術文檔:對特定的不同應用,可復用大部分用戶和技術文檔。:對特定的不同應用,可復用大部分用戶和技術文檔。 用戶界面用戶界面:可能是最廣泛被復用的(例如:可能是最廣泛被復用的(例如GUI)。)。 數據數據:包括:內部表
52、、列表和記錄結構,以及文件和完整的數據庫。:包括:內部表、列表和記錄結構,以及文件和完整的數據庫。 測試用例測試用例:一旦設計或代碼構件將被復用,相關的測試用例也可復用。:一旦設計或代碼構件將被復用,相關的測試用例也可復用。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3535|83|83頁頁建立復用途徑的一些建議建立復用途徑的一些建議 建立內部的軟件復用計劃。這樣一個計劃可以幫助組織建立內部的軟件復用計劃。這樣一個計劃可以幫助組織控制軟件的質量和成本。控制軟件的質量和成本。 要求將軟件復用作為任何技術和管理培訓的內容。對要求將軟件復用作為任何技術和管理培訓的內容。對OO的培訓尤其應該如
53、此。的培訓尤其應該如此。 按照內部的軟件復用計劃,尋求對軟件復用有積極貢獻按照內部的軟件復用計劃,尋求對軟件復用有積極貢獻的工具和庫。的工具和庫。 鼓勵采用已被證明為可以促進軟件復用的方法和工具。鼓勵采用已被證明為可以促進軟件復用的方法和工具。 跟蹤并測度軟件復用以及軟件復用的影響;應客觀評價,跟蹤并測度軟件復用以及軟件復用的影響;應客觀評價,而不是主觀臆測。而不是主觀臆測。 管理上必須積極地鼓勵軟件的復用。管理上必須積極地鼓勵軟件的復用。 認識除認識除“模塊模塊”外,工具、測試數據、設計、計劃、環(huán)外,工具、測試數據、設計、計劃、環(huán)境及其他軟件均可復用。境及其他軟件均可復用。 最重要的是認識到
54、軟件復用不是最重要的是認識到軟件復用不是“平常的業(yè)務平常的業(yè)務”,大多,大多數技術和管理人員是不接受軟件復用的概念的。數技術和管理人員是不接受軟件復用的概念的。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3636|83|83頁頁軟件復用面臨的問題軟件復用面臨的問題 管理問題。沒有相應的鼓勵機制等。管理問題。沒有相應的鼓勵機制等。 復用的障礙。復用的障礙。 技術方面的問題技術方面的問題 法律問題法律問題顯然,很多其他相關問題對復用也有影響,政顯然,很多其他相關問題對復用也有影響,政治的、文化的、財政的、市場的、以及產品化治的、文化的、財政的、市場的、以及產品化等方面的問題也必須考慮。等方
55、面的問題也必須考慮。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3737|83|83頁頁復用的障礙復用的障礙自負;太多的開發(fā)人員認為不是他們親自編寫自負;太多的開發(fā)人員認為不是他們親自編寫的程序不可能是好程序;的程序不可能是好程序;檢索問題。如何從龐大的復用件庫中所需要的檢索問題。如何從龐大的復用件庫中所需要的復用件;復用件;幾乎沒有相應的復用培訓;幾乎沒有相應的復用培訓;復用代價昂貴。有人估計,僅使一個構件可復復用代價昂貴。有人估計,僅使一個構件可復用,就將至少增加用,就將至少增加60%的成本;的成本;雖然存在軟件復用的雖然存在軟件復用的CASE工具或構件,但大工具或構件,但大多數軟
56、件開發(fā)者并不使用它們;多數軟件開發(fā)者并不使用它們;經濟利益方面。一些開發(fā)人員盡力避免編寫那經濟利益方面。一些開發(fā)人員盡力避免編寫那些太通用的例程,唯恐使自己失業(yè)。些太通用的例程,唯恐使自己失業(yè)。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3838|83|83頁頁技術方面的問題技術方面的問題采用軟件復用可以降低開發(fā)成本,但如果其原采用軟件復用可以降低開發(fā)成本,但如果其原件存在的某些問題代碼,可能會導致其他采用件存在的某些問題代碼,可能會導致其他采用該代碼的系統(tǒng)具有相同的問題代碼;這種情況該代碼的系統(tǒng)具有相同的問題代碼;這種情況稱之為繼承性缺陷。稱之為繼承性缺陷。因此當原件的問題代碼被修改
57、后,往往無法自因此當原件的問題代碼被修改后,往往無法自動更新實用軟件中相應的代碼;最終導致實用動更新實用軟件中相應的代碼;最終導致實用軟件中的問題代碼依舊存在。這種非但沒有降軟件中的問題代碼依舊存在。這種非但沒有降低開發(fā)成本,反而增加維護消耗的復用技術顯低開發(fā)成本,反而增加維護消耗的復用技術顯然是失敗的。然是失敗的。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第3939|83|83頁頁法律問題法律問題合同軟件帶來的法律問題。有些軟件合合同軟件帶來的法律問題。有些軟件合同規(guī)定軟件產品是屬于客戶的。因此,同規(guī)定軟件產品是屬于客戶的。因此,當軟件開發(fā)人員為另一個客戶開發(fā)一個當軟件開發(fā)人員為另一
58、個客戶開發(fā)一個新產品時,如果他復用了另一個客戶產新產品時,如果他復用了另一個客戶產品中的一個構件,在本質上是侵犯第一品中的一個構件,在本質上是侵犯第一個客戶的版權。個客戶的版權。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4040|83|83頁頁C/S技術技術客戶機客戶機/服務器系統(tǒng)也稱服務器系統(tǒng)也稱C/S(Client/Server)系系統(tǒng),它是基于局域網廣域網的系統(tǒng)。統(tǒng),它是基于局域網廣域網的系統(tǒng)。在在C/S中存在著服務器和客戶端。為了充分利用中存在著服務器和客戶端。為了充分利用客戶機的計算能力,計算和事務處理在服務器和客戶機的計算能力,計算和事務處理在服務器和客戶機之間分配??蛻?/p>
59、機之間分配。服務器承擔數據的集中管理、通信和客戶管理的服務器承擔數據的集中管理、通信和客戶管理的任務,因為數據在服務器端,對數據的處理和計任務,因為數據在服務器端,對數據的處理和計算都在服務器端執(zhí)行。算都在服務器端執(zhí)行。而人機界面和一些需要實時響應的事件或人機交而人機界面和一些需要實時響應的事件或人機交互的處理等在客戶端進行,這些程序都運行在客互的處理等在客戶端進行,這些程序都運行在客戶端。戶端。C/S系統(tǒng)往往需要數據庫服務器。系統(tǒng)往往需要數據庫服務器。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第41 41|83|83頁頁C/S系統(tǒng)體系結構特征系統(tǒng)體系結構特征計算和處理分布在服務器和客
60、戶機計算和處理分布在服務器和客戶機之間。之間。數據管理集中在服務器端。數據管理集中在服務器端。軟件駐留在服務器和客戶機。軟件駐留在服務器和客戶機。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4242|83|83頁頁C/S應用系統(tǒng)的特征應用系統(tǒng)的特征分布數據分布數據。出于安全性和負載平衡的考慮,數據庫可以。出于安全性和負載平衡的考慮,數據庫可以分布在多個數據庫服務器上。分布在多個數據庫服務器上。分布過程分布過程。不同的過程(事務處理、數據庫連接等)可。不同的過程(事務處理、數據庫連接等)可以在不同服務器上進行。以在不同服務器上進行。客戶為中心客戶為中心。把需要在客戶端執(zhí)行的程序和定制的程
61、序。把需要在客戶端執(zhí)行的程序和定制的程序放在客戶端,以使客戶快速得到響應。把對數據進行處放在客戶端,以使客戶快速得到響應。把對數據進行處理的過程放在數據庫服務器端,以加快數據處理速度。理的過程放在數據庫服務器端,以加快數據處理速度。異構硬件和軟件異構硬件和軟件。在。在C/S體系結構中很容易加入多層結體系結構中很容易加入多層結構,屏蔽不同的硬件和軟件。例如,加入應用服務器可構,屏蔽不同的硬件和軟件。例如,加入應用服務器可以基于不同的操作系統(tǒng)和計算機主機,同樣客戶端安裝以基于不同的操作系統(tǒng)和計算機主機,同樣客戶端安裝的中間件可以基于不同的客戶端系統(tǒng),例如,的中間件可以基于不同的客戶端系統(tǒng),例如,L
62、inux,Windows。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4343|83|83頁頁C/S技術目標技術目標集成處理資源。把客戶端、服務器端的處理能力充分利用,集成處理資源。把客戶端、服務器端的處理能力充分利用,集成在一起完成系統(tǒng)的功能要求。集成在一起完成系統(tǒng)的功能要求。降低開發(fā)資源要求。在客戶端和服務器端運行的程序分別存降低開發(fā)資源要求。在客戶端和服務器端運行的程序分別存放,使得程序調試方便,開發(fā)比較簡單,需要的資源也減少。放,使得程序調試方便,開發(fā)比較簡單,需要的資源也減少。在傳統(tǒng)的數據庫應用體系結構中(基于主機在傳統(tǒng)的數據庫應用體系結構中(基于主機-多終端),數多終端),
63、數據庫是應用程序據庫是應用程序“私有的私有的”。雖然它也可以將數據文件放置。雖然它也可以將數據文件放置在某臺機器上供不同的用戶共同訪問,但所有的操作、規(guī)則,在某臺機器上供不同的用戶共同訪問,但所有的操作、規(guī)則,都是在一個包羅萬象的應用程序內部實現的。應用程序因此都是在一個包羅萬象的應用程序內部實現的。應用程序因此具有最大的復雜性。具有最大的復雜性。降低硬件和軟件的要求。在降低硬件和軟件的要求。在 C/S系統(tǒng)中,客戶機既有部分處系統(tǒng)中,客戶機既有部分處理能力,價格相對較低,可以降低系統(tǒng)軟硬件成本。理能力,價格相對較低,可以降低系統(tǒng)軟硬件成本。降低系統(tǒng)維護成本。因為在服務器端的處理和計算程序只需降
64、低系統(tǒng)維護成本。因為在服務器端的處理和計算程序只需在服務器端維護,與客戶機無關,而客戶端程序比較簡單,在服務器端維護,與客戶機無關,而客戶端程序比較簡單,所以系統(tǒng)維護較方便,成本較低。所以系統(tǒng)維護較方便,成本較低。可擴充能力強。可擴充能力強。C/S應用很容易擴充,只要應用很容易擴充,只要C/S聯(lián)入網絡即聯(lián)入網絡即可。服務器有負載平衡的能力就可以允許不斷增加并發(fā)客戶??伞7掌饔胸撦d平衡的能力就可以允許不斷增加并發(fā)客戶。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4444|83|83頁頁C/S系統(tǒng)構成系統(tǒng)構成C/S結構發(fā)展經歷了兩個階段:兩層結構和三結構發(fā)展經歷了兩個階段:兩層結構和三(
65、多)層結構。(多)層結構。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4545|83|83頁頁兩層結構兩層結構C/S系統(tǒng)系統(tǒng)第一層是客戶端軟件,由應用程序和相應的數據庫鏈接程第一層是客戶端軟件,由應用程序和相應的數據庫鏈接程序組成,企業(yè)的業(yè)務過程都在程序中表現。序組成,企業(yè)的業(yè)務過程都在程序中表現。第二層包括數據庫服務器,根據客戶端軟件的請求進行數第二層包括數據庫服務器,根據客戶端軟件的請求進行數據庫操作,然后將結果傳送給客戶端軟件。據庫操作,然后將結果傳送給客戶端軟件。兩層應用軟件的開發(fā)工作主要集中在客戶端,客戶端軟件兩層應用軟件的開發(fā)工作主要集中在客戶端,客戶端軟件不但要完成用戶界
66、面和數據顯示的工作,還要完成一部分不但要完成用戶界面和數據顯示的工作,還要完成一部分對商業(yè)和應用邏輯的處理工作。對商業(yè)和應用邏輯的處理工作。兩層結構的兩層結構的C/S系統(tǒng)僅能在各自的客戶機和數據庫服務器系統(tǒng)僅能在各自的客戶機和數據庫服務器之間使用,分割了界面和數據,使得客戶機要管理復雜的之間使用,分割了界面和數據,使得客戶機要管理復雜的軟件,導致軟件,導致“肥胖肥胖”客戶機的產生。客戶機的產生。兩層兩層 C/S系統(tǒng)不能進行有效的擴展,使這些系統(tǒng)不能支持系統(tǒng)不能進行有效的擴展,使這些系統(tǒng)不能支持大量用戶的訪問和高容量事務處理的應用。大量用戶的訪問和高容量事務處理的應用。下一頁上一頁停止放映軟件開發(fā)方法軟件開發(fā)技術課件第第4646|83|83頁頁三(多)層結構三(多)層結構C/S系統(tǒng)系統(tǒng)客戶機上只安裝具有用戶界面和簡單的數據處理客戶機上只安裝具有用戶界面和簡單的數據處理功能的應用程序,負責處理與用戶的交互和與應功能的應用程序,負責處理與用戶的交互和與應用服務器的交互。用服務器的交互。而將商業(yè)和應用邏輯的處理功能移到中間層而將商業(yè)和應用邏輯的處理功能移到中間層應用服務器上。應用服務器負責處理
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。