當前位置:編程學習大全網 - 編程語言 - 管理信息系統,懂的人進

管理信息系統,懂的人進

構件技術

構件技術是指通過組裝壹系列可復用的軟件構件來構造軟件系統的軟件技術.通過運用構件技術,開發人員可以有效的進行軟件復用,減少重復開發,縮短軟件的開發時間,降低軟件的開發成本。

[編輯本段]構件技術-歷史淵源

1968年NATO軟件工程會議,Mcllroy在提交會議的論文《大量生產的軟件構件》中,提出了“軟件組裝生產線”的思想。從那以後,采用構件技術實現軟件復用,采用“搭積木”的方式生產軟件,成為軟件開發人員長期的夢想。軟件復用是指重復使用“為了復用目的而設計的軟件”的過程。就軟件開發而言,軟件復用包括:早期的函數復用、面向對象言語中的類的復用,以及互聯網時代的完整軟件體系的構件復用。

有效的軟件復用是可以提高軟件開發的效率和質量。建立在構件復用基礎上的軟件復用將會帶來極大的價值,《Software Reuse》指出很多公司通過復用取得的成就使們堅信,管理層可以期待獲得如下優勢。

1)投放市場時間:減少為原來的1/2到1/5;

2)缺陷密度:降低為原來的1/5到1/10;

3)維護成本:降低為原來的1/5到1/10;

4)整體軟件開發成本:降低大約15%,長期項目可降低高達75%。

因此構件技術壹直被視為解決軟件危機現實可行的途徑。在過去幾十年盡管軟件開發的主流思想幾經沿革,軟件業壹直沒有放棄構件技術的嘗試。

60年代末到80年代初,結構化的軟件開發思想占主導地位,當時的復用是函數復用和模塊復用。函數通過參數來適應不同應用需求的變化,package模塊也是通過接口規範說明進行連接和組裝實現復用。但是,由於結構化的存在極大隱患,函數層面的復用能力有限,其結果是系統結構混亂、效率低,軟件成份復用性差。函數復用和模塊復用沒有解決軟件工程的危機。

80年代起,面向對象的軟件開發思想迅速發展起來,通過類的封裝、繼承和應用,面向對象的軟件開發成功的實現代碼級的復用。類和封裝性,實現數據抽象和信息隱蔽,繼承性,提高了代碼復用性。面向對象技術被公認為當前的主流的技術。但是,面向對象的復用脫離不了代碼級復用的本質,由於復用的顆粒較低,軟件開發中的復用的潛力遠遠沒有發揮出來。類復用也沒有解決軟件工程的危機。

[編輯本段]構件的技術-互聯網時代面向構件的技術

互聯網應用時代的到來,不僅僅增加了應用需求和軟件的復雜性。構件技術在互聯網時代突飛猛進,已經為實現軟件復用的理想,解決軟件危機帶來了曙光!

面向構件的技術實現更高的層次的抽象

面向構件技術對壹組類的組合進行封裝,並代表完成壹個或多個功能的特定服務,也為用戶提供了多個接口。整個構件隱藏了具體的實現,只用接口提供服務。這樣,在不同層次上,構件均可以將底層的多個邏輯組合成高層次上的粒度更大的新構件,甚至直接封裝到壹個系統,使模塊的重用從代碼級、對象級、架構級到系統級都可能實現,從而使軟件像硬件壹樣,能任人裝配定制而成的夢想得以實現。

構件技術標準走向成熟

目前主流的軟件構件技術標準有:微軟提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它們為應用軟件的開發提供了可移植性、異構性的實現環境和健壯平臺,結束了面向對象中的開發語言混亂的局面,解決軟件復用在通信、互操作等環境異構的瓶頸問題。

[編輯本段]構件的技術-我國軟件業對構件技術的研究

北京大學軟件工程研究所

北京大學軟件工程研究所是壹個專註於軟件工程及其相關領域的研究和實踐的學術機構,其前身是建立於1983年的軟件工程教研室,1999年正式掛牌成為北京大學的壹個專業研究所。

近年來,研究所在所長楊芙清院士的領導下,對軟件復用與軟件構件技術進行了深入的研究。成果代表為青鳥工程是,歷經“七五”、“八五”“九五”。青鳥工程在軟件復用和構件技術領域成績斐然。

中國科學院軟件研究所

中科院軟件所軟件工程技術研究中心,在首席研究員馮玉琳博士帶領下,對構件技術深入研究,碩果累累。其中作為知識創新工程的成果的信息化基礎軟件核心平臺是其代表。

上海普元

普元是國內最早推進面向構件技術的廠商之壹,也是目前國內唯壹壹家提供真正意義上的面向構件的互聯網應用基礎平臺的專業化廠商。普元把嶄新的互聯網相關技術與先進的構件復用技術以及可視化開發技術完美地結合起來,創造了壹套具有國際領先水平的面向構件的互聯網的應用基礎平臺----EOS。

互聯網實驗室

互聯網實驗室是我國著名的IT研究機構,長期從事構件技術及軟件產業的研究,並2004年1月16日發布了《面向構件的互聯網應用基礎平臺研究報告》,是目前國內較為詳盡的關於構件技術研究的專業報告。

框架(framework)是壹個基本概念上的結構,用於去解決或者處理復雜的問題。這個廣泛的定義使用的十分流行,尤其在軟件概念。框架也能用於機械結構。

[編輯本段]軟件工程中的框架

1. 什麽是框架?

框架(Framework)是整個或部分系統的可重用設計,表現為壹組抽象構件及構件實例間交互的方法;另壹種定義認為,框架是可被應用開發者定制的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。

可以說,壹個框架是壹個可復用的設計構件,它規定了應用的體系結構,闡明了整個設計、協作構件之間的依賴關系、責任分配和控制流程,表現為壹組抽象類以及其實例之間協作的方法,它為構件復用提供了上下文(Context)關系。因此構件庫的大規模重用也需要框架。

構件領域框架方法在很大程度上借鑒了硬件技術發展的成就,它是構件技術、軟件體系結構研究和應用軟件開發三者發展結合的產物。在很多情況下,框架通常以構件庫的形式出現,但構件庫只是框架的壹個重要部分。框架的關鍵還在於框架內對象間的交互模式和控制流模式。

框架比構件可定制性強。在某種程度上,將構件和框架看成兩個不同但彼此協作的技術或許更好。框架為構件提供重用的環境,為構件處理錯誤、交換數據及激活操作提供了標準的方法。

應用框架的概念也很簡單。它並不是包含構件應用程序的小片程序,而是實現了某應用領域通用完備功能(除去特殊應用的部分)的底層服務。使用這種框架的編程人員可以在壹個通用功能已經實現的基礎上開始具體的系統開發。框架提供了所有應用期望的默認行為的類集合。具體的應用通過重寫子類(該子類屬於框架的默認行為)或組裝對象來支持應用專用的行為。

應用框架強調的是軟件的設計重用性和系統的可擴充性,以縮短大型應用軟件系統的開發周期,提高開發質量。與傳統的基於類庫的面向對象重用技術比較,應用框架更註重於面向專業領域的軟件重用。應用框架具有領域相關性,構件根據框架進行復合而生成可運行的系統。框架的粒度越大,其中包含的領域知識就更加完整。

2. 框架和設計模式

框架、設計模式這兩個概念總容易被混淆,其實它們之間還是有區別的。構件通常是代碼重用,而設計模式是設計重用,框架則介於兩者之間,部分代碼重用,部分設計重用,有時分析也可重用。在軟件生產中有三種級別的重用:內部重用,即在同壹應用中能公***使用的抽象塊;代碼重用,即將通用模塊組合成庫或工具集,以便在多個應用和領域都能使用;應用框架的重用,即為專用領域提供通用的或現成的基礎結構,以獲得最高級別的重用性。

框架與設計模式雖然相似,但卻有著根本的不同。設計模式是對在某種環境中反復出現的問題以及解決該問題的方案的描述,它比框架更抽象;框架可以用代碼表示,也能直接執行或復用,而對模式而言只有實例才能用代碼表示;設計模式是比框架更小的元素,壹個框架中往往含有壹個或多個設計模式,框架總是針對某壹特定應用領域,但同壹模式卻可適用於各種應用。可以說,框架是軟件,而設計模式是軟件的知識。

為什麽要進行框架開發?

框架的最大好處就是重用。面向對象系統獲得的最大的復用方式就是框架,壹個大的應用系統往往可能由多層互相協作的框架組成。

由於框架能重用代碼,因此從壹已有構件庫中建立應用變得非常容易,因為構件都采用框架統壹定義的接口,從而使構件間的通信簡單。

框架能重用設計。它提供可重用的抽象算法及高層設計,並能將大系統分解成更小的構件,而且能描述構件間的內部接口。這些標準接口使在已有的構件基礎上通過組裝建立各種各樣的系統成為可能。只要符合接口定義,新的構件就能插入框架中,構件設計者就能重用構架的設計。

框架還能重用分析。所有的人員若按照框架的思想來分析事務,那麽就能將它劃分為同樣的構件,采用相似的解決方法,從而使采用同壹框架的分析人員之間能進行溝通。

采用框架技術進行軟件開發的主要特點包括:

領域內的軟件結構壹致性好;

建立更加開放的系統;

重用代碼大大增加,軟件生產效率和質量也得到了提高;

軟件設計人員要專註於對領域的了解,使需求分析更充分;

存儲了經驗,可以讓那些經驗豐富的人員去設計框架和領域構件,而不必限於低層編程;

允許采用快速原型技術;

有利於在壹個項目內多人協同工作;

大粒度的重用使得平均開發費用降低,開發速度加快,開發人員減少,維護費用降低,而參數化框架使得適應性、靈活性增強。

與框架相關的概念

1. 白盒與黑盒框架

框架可分為白盒(White-Box)與黑盒(Black-Box)兩種框架。

基於繼承的框架被稱為白盒框架。所謂白盒即具備可視性,被繼承的父類的內部實現細節對子類而言都是可知的。利用白盒框架的應用開發者通過衍生子類或重寫父類的成員方法來開發系統。子類的實現很大程度上依賴於父類的實現,這種依賴性限制了重用的靈活性和完全性。但解決這種局限性的方法可以是只繼承抽象父類,因為抽象類基本上不提供具體的實現。白盒框架是壹個程序骨架,而用戶衍生出的子類是這個骨架上的附屬品。

基於對象構件組裝的框架就是黑盒框架。應用開發者通過整理、組裝對象來獲得系統的實現。用戶只須了解構件的外部接口,無須了解內部的具體實現。另外,組裝比繼承更為靈活,它能動態地改變,繼承只是壹個靜態編譯時的概念。

在理想情況下,任何所需的功能都可通過組裝已有的構件得到,事實上可獲得的構件遠遠不能滿足需求,有時通過繼承獲得新的構件比利用已有構件組裝新構件更容易,因此白盒和黑盒將同時應用於系統的開發中。不過白盒框架趨向於向黑盒框架發展,黑盒框架也是系統開發希望達到的理想目標。

2. 熱點、食譜以及好萊塢原則

成功的框架開發需要確定領域專用的''熱點'' (Hot spot)。應用開發者在框架的基礎上進行開發,只須擴展框架的某些部分,''熱點''就是在應用領域的壹種擴展槽,開發者根據自己的需要填充這些擴展槽。''熱點''使框架具有靈活性,如在具體的實現中,擴展槽可以被看成是壹些抽象類,開發者通過重寫抽象方法獲得具體實現。

''食譜'' (Cookbook)就是描述如何使用框架方法的文檔。在''食譜''中包含了許多''烹飪''方法,這些''烹飪''方法相當於壹些具體的操作步驟,描述了為解決某壹專門問題如何使用框架的詳細方法。框架的內部設計和實現細節通常不出現在''食譜''中。

框架的壹個重要特征就是用戶定義的方法經常被框架自身調用,而不是從用戶的應用代碼中調用。這種機制常稱為''好萊塢原則''(Hollywood Principle)或''別調用我們,我們會調用您''。

[編輯本段]網頁設計中的框架

框架是網頁中經常使用的頁面設計方式,框架的作用就是把網頁在壹個瀏覽器窗口下分割成幾個不同的區域,實現在壹個瀏覽器窗口中顯示多個HTML頁面。使用框架可以非常方便的完成導航工作,讓網站的結構更加清晰,而且各個框架之間決不存在幹擾問題。利用框架最大的特點就是使網站的風格壹致。通常把壹個網站中頁面相同的部分單獨制作成壹個頁面,作為框架結構的壹個子框架的內容給整個網站公用。

壹個框架結構有兩部分網頁文件構成:

框架Frame:框架是瀏覽器窗口中的壹個區域,它可以顯示與瀏覽器窗口的其余部分中所顯示內容無關的網頁文件。

框架集Frameset:框架集也是壹個網頁文件,它將壹個窗口通過行和列的方式分割成多個框架,框架的多少根據具體有多少網頁來決定,每個框架中要顯示的就是不同的網頁文件。

  • 上一篇:“日本戰神”也放棄了!日產370Z“破千馬”改款
  • 下一篇:銀行招聘考試科目及題型分享
  • copyright 2024編程學習大全網