《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于復用的構件開發模型的研究與應用
基于復用的構件開發模型的研究與應用
來源:微型機與應用2010年第14期
亓慧艷1, 程建平2
1. 山東師范大學信息科學與工程學院, 山東 濟南 250014; 2. 中創軟件工程股份有限公司,
摘要: 提出了一種基于復用的構件開發模型,該模型解決了構件內部結構和組織問題,保證良好的功能職責劃分和關注點分離;保證構件以規范化的方式提供對外服務接口和擴展接口;保證構件具有良好的擴展性以及隨需應變的能力。通過應用該模型開發了面向金融領域的客戶管理構件,并將該構件復用于具體的金融項目。實踐表明,該模型能提高軟件復用率,降低開發難度,加快開發速度。
Abstract:
Key words :

摘  要: 提出了一種基于復用的構件開發模型,該模型解決了構件內部結構和組織問題,保證良好的功能職責劃分和關注點分離;保證構件以規范化的方式提供對外服務接口和擴展接口;保證構件具有良好的擴展性以及隨需應變的能力。通過應用該模型開發了面向金融領域的客戶管理構件,并將該構件復用于具體的金融項目。實踐表明,該模型能提高軟件復用率,降低開發難度,加快開發速度。
關鍵詞: 軟件工程; 軟件復用; 構件; 構件開發模型; 基于構件的軟件開發

   隨著信息技術的飛速發展,各個行業對軟件的需求也迅速增長,軟件產品的規模不斷擴大,復雜性也不斷提高,但目前軟件的開發與生產能力卻相對不足,形成脫節現象,導致軟件危機。軟件復用是在軟件開發中避免重復勞動的解決方案,被視為解決軟件危機、提高軟件生產率和質量的有效途徑[1]。
 軟件復用技術是軟件工程領域的一個研究熱點。復用概念的第一次引入是在1968年NATO軟件工程會議上,Mcllroy的論文“大量生產的軟件構件”中[2]。近十幾年來,隨著面向對象技術和分布式對象技術的出現并逐步成為主流技術,為軟件復用提供了基本的技術支持。構件模型是對構件本質特征的抽象描述,被視為實現成功復用的關鍵因素之一。構件是核心和基礎,復用是必需的手段[3]。盡管軟件復用的概念自提出以來已取得了一定的成果,然而在實際軟件生產中,真正成功的軟件復用項目并不多見。主要原因是受可復用構件的分析和設計方法的限制,針對此問題本文提出了一種基于復用的構件開發模型,即(表現層、業務邏輯層、持久化層)的分層設計模型。
 本文中提出的構件開發模型規范和約束構件的結構,保證了良好的功能職責劃分,保證構件以規范化的方式提供對外服務接口和擴展接口。對于復雜系統,需求變化不穩定,為使設計具有更好的可擴展性、靈活性與邏輯性,通過分層分而治之,使其關注點分離。在設計中使用模塊增進了內聚性,降低了耦合度,進而降低了復雜性并增強了可維護性。通過應用該模型開發了面向金融領域的客戶管理構件,并將該構件復用于具體的金融項目。最后,通過將傳統的軟件開發方法與基于復用的構件開發模型方法進行比較。
1 軟件復用與軟件構件
1.1 軟件復用的基本概念

 軟件復用是指重復使用“為了復用目的而設計的軟件”的過程[4]。軟件復用是在軟件開發中避免重復勞動的解決方案,它包括對軟件生產過程中其他勞動成果的復用,如需求分析、概要設計、詳細設計、編碼、測試用例和使用手冊等。
1.2 實現軟件復用的關鍵因素
   實現軟件復用的關鍵因素如圖1所示,主要包括:軟件構件技術、領域工程、軟件構架、軟件再工程、開放系統、軟件過程、CASE技術等,以及各種非技術因素[5]。本文主要研究軟件構件技術對實現軟件復用的影響。

1.3 構件的基本概念
 在眾多的軟件復用開發方法中,基于構件的軟件開發方法是一條有效、實際的軟件復用途徑,所謂構件是指系統中可以明確辨識的構成成分,軟件構件是系統中具有一定意義的獨立構成成份[6]。
 構件應具備的基本特征:(1)復用:復用是構件最基本的性質,構件的設計必須滿足能在新的應用項目中使用;(2)封裝:封裝對外界隱藏構件的設計和實現細節,僅通過接口與外界交互,可以保證構件功能復用的完整性和構件開發及交付的獨立性;(3)組裝:構件可以通過組裝形成新的構件或系統,組裝是構件復用的手段;(4)粒度:構件是有大小的,與領域相關的構件粒度大;(5)層次:構件可以按層次進行劃分,企業級應用系統的復雜邏輯可以通過分層來解決。
1.4 可復用構件開發遵循的基本原則
   (1)“開-閉”原則:一個軟件實體應該對擴展開放,對修改關閉。所謂“開”,就是要求構件能適應不同的應用環境;所謂“閉”,就是要求構件是一個獨立的整體。這是可復用構件開發最基本的原則,也是復用要求的直接體現。實現“開-閉”原則的基本策略是對變化性進行封裝,即找到構件的可變因素,并將其封裝起來。
   (2)依賴倒置原則:要針對接口編程,不要針對實現編程。它是指導開發可復用框架的基本原則,使得框架無需依賴具體構件,具體構件的開發需遵循框架設定的約束。實現依賴倒置原則的基本策略是在框架中為具體構件設立抽象表示。
   (3)接口隔離原則:是一個指導可復用構件實現接口設計的原則,它使得構件中每一個實體都擁有盡可能簡單的接口。實現接口隔離原則的基本策略是對構件中的每個角色進行劃分,然后針對每一類使用者提供一套有針對性的接口。
   (4)迪米特法則:每個軟件實體應當盡可能少地與其他實體發生相互作用[7]。實現迪米特法則的基本策略是控制軟件實體間由于信息傳遞而產生的耦合關系。
2 構件開發模型
   構件模型是對構件本質特性的抽象描述[8]。本文提出一種構件分層設計模型,如圖2 所示,該模型解決了構件內部結構和組織問題,保證良好的功能職責劃分,保證構件以規范化的方式提供對外服務接口和擴展接口,保證構件具有良好的擴展性以及隨需應變的能力。該模型遵循本文中上面所提出的可復用構件開發的基本原則,在設計中使用模塊,增進了內聚性,降低了耦合度,低耦合降低了復雜性并增強了可維護性。對于復雜系統,需求變化不穩定,為使設計具有更好的可擴展性、靈活性與邏輯性,通過分層分而治之,主要分為表現層、業務邏輯層、持久化層,使其關注點分離。API(Application Programming Interface)接口是外部調用者;MAI(Management Application Interface)接口是內部調用者;SPI(Service Provider Interface)接口是構件本身的可擴展點,通過分層帶來更好的可伸縮性與可維護性。其中,表現層又叫展現層,主要功能是向人展示,最終實現人機交互。一般表現層與具體的業務需求有關,需具體問題具體分析,在此就不再詳細介紹,下面主要介紹業務邏輯層設計模型和持久化層設計模型。

2.1 業務邏輯層設計模型
   業務邏輯層設計模型如圖3所示。業務邏輯層根據職責具體分為服務層和領域層,(1)Service服務層定義了應用的邊界和從客戶角度所能看到的可用操作集。①它包括實體home即Entity Home和流程管理,由Normal Service實現;②它是無狀態類,不包含任何業務邏輯,定義了一個公共的應用操作集合,可供各種使用者使用。(2)領域層的主要職責是實現業務邏輯,它包含API層和MAI層。①API層遵循最小化設計原則,在完成功能的前提下盡可能簡單,提供相對穩定的接口,減少改動帶來的影響,易于使用;EntityAPIWrapper:實現API接口,避免對外暴露MAI接口,實現延遲加載等;②MAI層是內部調用者,EntityMAI:定義可以對外提供的服務和職責;EntityMAIBase:提供基本共性實現;EntityMAIImp:為內部調用者提供服務,調用SPI層實現持久化。
 

2.2 持久化層設計模型
   持久化層設計模型,如圖4所示,持久化層主要功能是實現數據的存儲、讓客戶了解功能的擴展點和為業務邏輯層提供服務。(1)SPI接口:定義抽象共性的方法;(2)Base實現類:定義共性的方法,對對象進行延遲加載;(3)JDBC實現類:負責與數據庫交互;降低對底端的依賴,增強變化性;(4)Wrapper實現類:負責創建對象時對返回的對象進行包裝,對日志、緩存和關系邏輯進行處理,在批處理過程中可以結合cache及Pool進行預加載。

3 基于構件的軟件復用開發實例
 結合本人在中創軟件公司實習中參與的項目實踐,本文應用該模型開發了面向金融領域的客戶管理構件,保證構件以規范化的方式提供對外服務接口和擴展接口,保證構件具有良好的擴展性以及隨需應變的能力,并將該構件復用于具體的金融項目,降低了開發難度,加快了開發速度,能夠較好地解決復用這一問題,能夠從構件開發模型結構的高度指導構件的開發和靈活復用。
3.1 客戶管理構件
 客戶管理構件是用于對客戶信息與客戶間相互關系進行管理維護的構件,提供統一的客戶管理功能,提供可視化的客戶信息定義,滿足個性化需求。不同行業、不同的企業對客戶信息的管理內容千變萬化,客戶管理構件是面向領域的構件,本文中所研究的是面向金融領域??蛻艄芾順嫾傮w上分為以下幾個模塊:
   (1)客戶類型管理:客戶類型可配置,通過類型管理具有相同屬性的客戶集合;
   (2)客戶組類型和組管理:通過組來管理具有不同特征的客戶集合;
   (3)客戶信息維護:通過客戶類型,對客戶信息的增加、刪除、修改、查詢和版本控制等進行統一維護;
   (4)客戶關系維護:管理不同類型客戶之間的相互關系。
3.2 金融租賃客戶管理系統
   利用客戶管理構件,針對金融租賃客戶管理系統項目具體需求,支持該項目客戶管理系統的開發。金融租賃客戶管理系統包含的主要子領域及其相互之間的依賴關系如圖5所示,各個子領域的簡要說明如下:

   (1)客戶信息查詢與維護:該領域封裝了通過客戶類型對客戶信息表中記錄的查詢、增加、刪除、修改及維護功能;
   (2)個人客戶管理:主要負責對金融租賃領域中涉及的自然人的信息進行管理;
   (3)對公客戶管理:主要負責對金融租賃領域中涉及的組織機構進行管理;
   (4)集團客戶管理:主要負責對兩個或兩個以上客戶成員團體的信息進行管理;
   (5)同業客戶管理:主要負責對金融機構客戶的信息進行管理;
   (6)部門及管護員調整:主要負責對客戶部門、經理發生變動的信息進行管理;
   (7)客戶信息數據庫:主要負責對整個客戶管理信息領域中涉及的各種客戶信息以及其他相關信息進行存儲并提供訪問接口。
 在金融租賃客戶管理系統中運用了大量的構件,主要有:用戶權限管理構件、參數管理構件、元數據管理構件、財務報表管理構件、評級管理構件、內容管理構件等。構件代碼比例約占62.3%,新增構件約占28.6%,構件化比例相當大,使原本半年的開發時間縮短為兩個月,減少了開發成本,提高了軟件開發效率和產品的質量,減少了系統的維護代價。為了更好地說明此構件開發模型的優勢,將傳統的軟件開發方法與基于復用的構件開發模型方法進行比較,統計結果如表1所示,實踐表明,基于本文提出的模型開發的構件降低了開發難度,加快了開發速度,較好地解決了復用的問題。
4 總結與展望
    本文提出一種基于復用的構件開發模型,該模型規范和約束了構件的內部結構,保證構件以規范化的方式提供對外服務接口和擴展接口;保證構件具有良好的擴展性以及隨需應變的能力;將該開發模型應用于客戶管理構件開發,并基于該構件復用于金融租賃客戶管理系統。通過實踐對比表明,使用該構件開發模型降低了開發難度,加快了開發速度,能夠較好地解決復用這一問題。由于構件開發涉及領域繁多,該構件開發模型還有很多不足之處,還有待于在實踐中繼續完善。
參考文獻
[1]  楊芙清,梅宏,李克勤.軟件復用與軟件構件技術[J]. 電子學報,1999, 27(2): 68-75.
[2]  MILI H. IEEE transactions on software Engineering, June 1995, 21(6):528-562.
[3]  MCCLURE C. Software reuse: a standards-based guide[C].Wiley-IEEE Computer Society, 2001.
[4]  WALLNAU B. The current state of CBSE[J]. IEEE Soft-ware, 1998,15(5):37-46.
[5]  PRESSMAN R S. Software engineering: a practitioner’s approach [M]. 北京: 機械工業出版社, 2005.
[6]  楊芙清,梅 宏. 面向復用的需求建模[M].北京:清華大學出版社, 2008.
[7]  閻宏. Java與模式[M].北京:電子工業出版社,2002.
[8]  EVANS E. Domain-driven design: tackling complexity in  the Heart of Software[M]. Addison Wesley, 2006.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲一区二区三区四区五区午夜| 久久一区二区三区超碰国产精品| 欧美性猛交xxxx乱大交蜜桃| 久久精品国产清高在天天线| 国产精品羞羞答答xxdd| 欧美视频在线观看一区二区| 欧美一区二区三区在线观看| 91久久国产自产拍夜夜嗨| 亚洲电影免费观看高清完整版在线观看| 久久狠狠久久综合桃花| 免费成人高清在线视频| 国产精品狠色婷| 99热精品在线观看| 久久久久久亚洲精品不卡4k岛国| 国产亚洲精品久久久久婷婷瑜伽| 欧美精品激情blacked18| 欧美在线免费一级片| 欧美日韩直播| 亚洲美女视频在线免费观看| 亚洲电影天堂av| 欧美一区二区视频在线观看2020| 国产精品高潮呻吟| 国产精品入口麻豆原神| 麻豆九一精品爱看视频在线观看免费| 国产日韩精品视频一区| 欧美日本在线观看| 中文精品一区二区三区| 欧美人与性动交cc0o| 国产精品久久久久9999吃药| 性欧美大战久久久久久久免费观看| 国产精品中文字幕在线观看| 欧美三区免费完整视频在线观看| 欧美一区二区三区视频在线| 亚洲永久免费视频| 国产偷国产偷亚洲高清97cao| 91久久精品国产91性色| 国产精品中文在线| 欧美日韩国产精品成人| 小黄鸭精品密入口导航| 国产亚洲欧美日韩美女| 欧美精品一区二区三区蜜桃| 欧美日韩一区综合| 久久综合狠狠综合久久激情| 亚洲精品中文字幕在线观看| 亚洲人被黑人高潮完整版| 亚洲精品乱码久久久久久黑人| 国产精品久久久久久五月尺| 国产亚洲成年网址在线观看| 国产精品一区二区三区久久| 欧美.日韩.国产.一区.二区| 欧美大片在线影院| 国内精品国语自产拍在线观看| 亚洲福利视频专区| 欧美xxx在线观看| 久久成人18免费观看| 欧美激情国产精品| 伊人久久综合| 久久综合伊人77777| 国产精品成人免费| 欧美丝袜一区二区| 久久视频一区| 欧美精品一区二区三区久久久竹菊| 91久久精品久久国产性色也91| 国产亚洲精品久久久久动| 欧美大片免费观看在线观看网站推荐| 国产欧美综合一区二区三区| 国产精品毛片一区二区三区| 性久久久久久久久久久久| 欧美一级免费视频| 亚洲区欧美区| 久久久久久久欧美精品| 欧美视频福利| 午夜日韩在线观看| 欧美麻豆久久久久久中文| 欧美精品手机在线| 亚洲国产乱码最新视频| 国产精品午夜视频| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲日本电影| 国外精品视频| 欧美国产高潮xxxx1819| 蜜桃久久av| 欧美一区二区三区日韩| 国产精品一区二区久久| 亚洲精品综合久久中文字幕| 午夜精品福利一区二区蜜股av| 国内精品久久久| 亚洲另类自拍| 国产日韩专区在线| 国产精品视频yy9299一区| 亚洲一区三区视频在线观看| 久久精品日韩一区二区三区| 欧美日韩在线视频一区| 欧美区在线观看| 亚洲少妇中出一区| 国产色综合网| 欧美mv日韩mv亚洲| 99在线精品免费视频九九视| 午夜精品成人在线| 欧美精品在线网站| 韩国三级在线一区| 亚洲午夜影视影院在线观看| 国产日韩欧美另类| 国产午夜精品在线观看| 欧美91大片| 久久亚洲视频| 欧美日韩福利在线观看| 国产精品色午夜在线观看| 国产精品成人在线| 这里只有精品丝袜| 亚洲国产婷婷香蕉久久久久久| 国产精品麻豆va在线播放| 欧美一级夜夜爽| 亚洲一区二区三区涩| 禁断一区二区三区在线| 精品999成人| 国产精品尤物| 欧美国产高清| 亚洲一二三区在线观看| 国产一区二区三区日韩欧美| 亚洲高清资源| 亚洲人成欧美中文字幕| 欧美精品福利| 久久久久国产精品厨房| 在线精品视频一区二区三四| 一区二区三区精品视频在线观看| 久久三级福利| 欧美成人精品在线播放| 久久狠狠久久综合桃花| 亚洲一二三区在线观看| 在线观看91久久久久久| 狠狠色丁香久久综合频道| 国产精品美女久久久久久久| 欧美午夜久久久| 欧美成人精品三级在线观看| 有坂深雪在线一区| 欧美日韩三区四区| 亚洲精品久久久久久久久久久| 亚洲精品一区二区三区四区高清| 国产精品电影观看| 欧美精品成人| 国产精品久在线观看| 中文欧美在线视频| 欧美日韩影院| 91久久精品一区二区三区| 欧美一区二区网站| 午夜精品久久久久久久久久久久久| 欧美肥婆bbw| 日韩视频一区二区在线观看| 狠狠88综合久久久久综合网| 欧美日韩天堂| 亚洲乱码国产乱码精品精天堂| 国产日韩欧美高清| 一本色道久久综合亚洲精品不| 久久精品国产第一区二区三区| 亚洲欧美国产77777| 欧美一区二区三区免费看| 欧美一区二区在线播放| 国产精品综合网站| 久久久一区二区| 老牛国产精品一区的观看方式| 亚洲美女区一区| 久久久久一区| 国产在线观看精品一区二区三区| 久久久久久夜精品精品免费| 国产精品igao视频网网址不卡日韩| 亚洲国产成人91精品| 亚洲精品视频免费观看| 亚洲小说春色综合另类电影| 一区免费视频| 女人天堂亚洲aⅴ在线观看| 亚洲高清在线观看一区| 久久亚洲捆绑美女| 国产精品美女久久久浪潮软件| 久久精品国产一区二区电影| 欧美精品一区二区三区蜜臀| 国产精品欧美在线| 欧美一级黄色网| 亚洲欧美综合网| 欧美日韩福利| 中文欧美在线视频| 欧美伦理一区二区| 久久婷婷国产综合尤物精品| 亚洲一级在线观看| 国产亚洲欧美日韩美女| 欧美性久久久| 欧美精品色一区二区三区| 樱花yy私人影院亚洲| 久久久久久久久久久成人| 黄色精品一区| 亚洲一区二区三区中文字幕| 亚洲精品国久久99热| 欧美大片免费观看在线观看网站推荐| 欧美成人国产| 亚欧成人在线| 欧美岛国在线观看| 国产精品毛片在线| 性欧美激情精品| 久久女同精品一区二区| 一区二区三区久久精品| 久久av在线| 久久精品国产99| 奶水喷射视频一区| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲日韩欧美视频| 欧美久久九九| 欧美日韩免费高清一区色橹橹| 一区二区久久| 欧美freesex8一10精品| 欧美乱人伦中文字幕在线| 在线色欧美三级视频| 欧美日韩久久不卡| 激情久久久久久| 国产在线高清精品| 久久久久久97三级| 亚洲在线视频网站| 国产精品乱码人人做人人爱| 亚洲日本一区二区| 国产欧美日韩亚洲精品| 伊人色综合久久天天五月婷| 国产视频一区欧美| 国产精品久久久久永久免费观看| 玖玖综合伊人| 日韩视频永久免费观看| 久久精品视频在线播放| 最新亚洲电影| 久久亚洲欧美| 精品成人在线视频| 欧美视频在线一区| 午夜精品亚洲一区二区三区嫩草| 午夜久久黄色| 欧美日韩三区| 欧美日韩另类在线| 欧美日韩国产三级| 亚洲欧洲一区二区在线观看| 日韩视频在线观看免费| 久久免费精品日本久久中文字幕| 欧美日韩国产123区| 国产精品高潮在线| 亚洲人成网站在线播| 亚洲电影免费在线观看| 欧美乱在线观看| 夜夜精品视频| 亚洲日韩中文字幕在线播放| 亚洲午夜久久久久久久久电影网| 欧美日韩一区成人| 欧美在线不卡视频| 亚洲丰满少妇videoshd| 亚洲免费在线精品一区| 美女福利精品视频| 日韩亚洲欧美中文三级| 国产精品成人一区二区艾草| 黄色av成人| 亚洲国产电影| 国产一级久久| 久久蜜桃香蕉精品一区二区三区| 麻豆精品在线播放| 免费久久久一本精品久久区| 国产精品盗摄久久久| 99re热这里只有精品免费视频| 久久久久久久网| 午夜精品一区二区在线观看| 国产日韩欧美综合一区| 欧美日韩一区不卡| 亚洲精品一区二区网址| 国产精品久久久久91| 亚洲视频一区二区免费在线观看| 亚洲欧美日韩在线综合| 欧美国产一区二区在线观看| 国产欧美在线观看| 久久久蜜桃精品| 亚洲日本欧美日韩高观看| 欧美大片免费观看| 国产免费亚洲高清| 欧美国产综合视频| 久久香蕉国产线看观看网| 欧美在线1区| 国产欧美视频一区二区三区| 麻豆精品在线播放| 国产精品成人播放| 久久精品国产99精品国产亚洲性色| 国产亚洲成av人在线观看导航| 噜噜爱69成人精品| 国产日韩欧美精品一区| 欧美性做爰毛片| 一区二区成人精品| 久久精品国产成人| 亚洲国产精品嫩草影院| 欧美久久久久中文字幕| 国产精品白丝jk黑袜喷水| 久久久久久久久一区二区| 91久久香蕉国产日韩欧美9色| 国产精品色一区二区三区| 国产有码在线一区二区视频| 一区二区欧美激情| 久久久久国产精品一区三寸| 国外视频精品毛片| 亚洲一区二区三区视频| 国产精品久久久久aaaa九色| 欧美人在线观看| 欧美日本亚洲视频| 亚洲女同性videos| 亚洲一区二区精品在线观看| 亚洲欧美清纯在线制服| 久久综合五月天婷婷伊人| 国产一区 二区 三区一级| 国产精品高潮粉嫩av| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产午夜精品久久久久久免费视| 欧美激情中文不卡| 亚洲高清中文字幕| 国产精品视频xxx| 欧美三级精品| 欧美国产精品va在线观看| 欧美午夜宅男影院在线观看| 亚洲视频一区二区免费在线观看| 狼人天天伊人久久| 国产欧美日韩不卡| 亚洲精品在线免费观看视频| 99精品黄色片免费大全| 伊人蜜桃色噜噜激情综合| 欧美日韩国产综合在线| 欧美天天影院| 久久躁狠狠躁夜夜爽| 国产精品久久久久永久免费观看| 久久精品一区蜜桃臀影院| 红桃视频成人| 亚洲一区二区三区免费在线观看|