国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

“再用式”軟件開發方法

2019-11-17 04:51:32
字體:
來源:轉載
供稿:網友
  摘要:筆者根據當前軟件開發的現狀,提出了一種在保證當前開發質量及效率的前提下,還能讓以后的軟件開發人員重用已開發軟件資源的"再用式"軟件開發方法,該方法結合了面向對象及快速原型法的優點:針對軟件開發中的需求多變性,用快速原型法進行需求分析,在后續的開發中,以面向對象為基礎,用各種"級別"不同的可重用軟部件組裝系統,在對軟部件不斷的創建(只在沒有所需部件時才創建)、重用及組合中完成系統的開發。這種方法可以有效地提高軟件的整體開發效率。文中最后對該方法的進一步研究方向進行了探討。

  要害詞:再用式,軟件重用,部件,面向對象,快速原型法

  1 引言

  當前的軟件開發多是針對具體情況的開發過程,開發者注重的是針對當前需求的設計及實現,對由此而產生的軟件資源是否能為以后的軟件開發者重用卻想的很少。這種開發方法無形中造成了巨大的資源浪費。為改變這種現狀,本文提出了"再用式"軟件開發方法,該方法的出發點,就是在完成當前系統開發的基礎上,同時考慮了未來其它系統的開發(當然也包括對原系統的再維護),為以后的軟件開發提供盡可能多的可重用軟件資源。

  "再用式"軟件開發方法是在面向對象(以下簡稱OO)方法的基礎上,針對一類(而不是單個)具有類似需求及特征的系統進行開發的。系統開發的數量越多,其優越性也就越明顯。顯然,這種方法會給軟件開發造成一種非常有益的良性循環。

  2 "再用式"軟件開發方法的要點

  2.1 以OO方法為基礎

  在OO方法中,對象是可重用的最小單元,對象間的繼續既是一種增量式的開發模式,也是一種有效的重用手段。從目前各支撐軟件所提供的重用方式看,OO是最有效的一種,因此,"再用式"軟件開發方法是在OO方法的基礎上進行了補充,以增強軟件的可重用性:其軟件的可重用部件既可以是OO中的對象(或一組關系密切的對象集團),也可以是非OO方法中的可重用部件,如函數、數據類型、過程、操作、文檔等等。

  對本方法來說,可重用的軟件都是一種"部件"。部件是本方法重用的基本單位,也是本方法的核心。一般而言,我們可以把目前的部件分成這樣幾類:系統部件、組織部件、分子部件和原子部件。

  a 系統部件

  這其實就是系統的總體框架,也是本方法中粒度最大的部件。從總體上看,它與硬件中的主板類似。除了由程序、數據構成的框架外,還有一些開發規范,包括其中子部件的開發規范。一般來說,每一個具體的應用領域都需要一個系統部件。對開發者來說,應該建立自己的"系統部件庫",盡量在工作中多儲存不同領域的系統部件,以利日后的工作。

  最理想的情況,是能象硬件開發那樣,由某個權威機構制定系統部件的開發規范,據此發布或開發各領域的系統部件,以最大限度地減少重復勞動,提高規范化程度,使軟件開發工業化。

  b 組織部件

  這是一種嵌在系統部件上的子部件,它類似于硬件中的功能插板,也應有嚴格的規范。一般系統都要靠一個(或幾個)組織部件來完成一個特定的任務。各個組織部件只有在系統部件的協調下,才能實現全系統的功能要求。一個系統構件可因其嵌入的組織部件的不同而構成不同的應用系統。

  假如制定規范的機構(或部門) 權威性強,制定的規范嚴格而又可操作,那么就完全可以象硬件插板一樣,讓不同的軟件開發團體開發的組織部件在一種規范化的系統構件下兼容工作。這樣會使軟件的重用率大大提高,并能增大程序員們的選擇余地。目前微軟公司在其系統軟件中所提供的一些公用類庫可以認為是一種良好的開端,但權威性和規范性還值得懷疑(究竟是個"民辦"公司)。

  b 分子部件與原子部件

  這是本方法中粒度最小的部件,其作用類似硬件中的芯片。OO中使用的基類、派生類就是其典型代表。在這里,原子部件是永久不變的(這樣可以增大軟件的可重用性),分子部件重用原子部件,而組織部件又由分子部件組成。顯然,必須注重原子部件的制作工作:在需要制作新的分子部件時,必須重用原子部件,若沒有可重用的原子部件,再創建新的原子部件。原子部件的粒度需由具體情況決定,例如在開發某設計院的人事治理系統時,需要建立一個高級工程師的分子部件(類),我們可以有三種創建的方法:

  ①.直接按"高級工程師(類)"創建;

  ②.按"科技干部----高級工程師"創建;

  ③.按"職工----科技干部----高級工程師"創建。

  從本質上看,第3種方法是先創建一個原子部件----"職工",再創建科技干部、高級工程師,是符合再用式開發方法原則的。而第1、2種方法則不符合本方法。

  顯然,以上所說的各類部件都必須在一個統一的軟件規范下開發,只有保證了部件的規范化,才能保證開發的成功。

  因為再用式開發方法會在工作中產生一個可為所有開發人員共享的軟件資源----部件庫,那么以后的軟件開發都可以在此基礎上利用重用手段使用部件庫,而不需要從零開始。在這里,只要都能遵守統一的軟件規范,這些共享的部件庫既可以由開發人員自己在工作中積累,也可以由軟件開發商提供。

  2.2 應具備的開發環境

  在再用式開發方法中,人們需要與部件庫交互工作,這樣,就需要一個部件庫的開發治理平臺,這個平臺應該提供對部件庫的選擇、瀏覽、查詢和擴充(以不斷充實部件庫)等功能,同時還應提供編寫部件文本的編輯器,以及與部件對應的語言調試、編譯程序,以便制作、調試所產生的部件。假如條件許可,還應提供輔助學習功能,以幫助開發人員熟悉平臺的情況。

  2.3 與快速原型法的結合

  在現實中,需求多變是個讓開發人員頭痛的問題,目前能有效地解決這一問題的當屬快速原型法。但這種方法的最大缺點是開發成本較高,這一點限制了它的推廣。而再用式軟件開發方法采用快速原型法做需求分析,在后續階段使用重用機制,就能有效地降低開發成本。

  2.4 需要的開發工具

  幾乎所有的軟件開發方法都需要開發工具的支持,再用式軟件開發方法也不例外。一般而言,本方法需要這么幾個平臺:部件庫開發治理平臺、系統組裝平臺及維護平臺。
更多的請看:http://www.QQread.com/windows/2003/index.Html
  3 再用式開發方法的基本設計過程

  3.1 基本原則

  從開發過程上看,再用式開發方法采用的是自頂向下設計,自底向上構成的方法,即在設計時根據需求分析的結果,按照由粗到細、先總體后細節、先上層后下層的原則,確定所需要的部件(必須時還得創建新的部件)。自底向上構成則是指在已預備好所需部件的基礎上,在組裝平臺的支持下把部件組裝成用戶需要的應用系統的過程。

  3.2 基本的開發過程

  3.2.1 需求分析及設計階段

  這個過程可與一般快速原型法的需求分析過程相同[2],對于大而復雜的系統,建議采用與功能化開發方法相結合的、以細化為基礎的對象分析及設計方法[9](具體過程請見參考文獻)。最后應產生對各部件的"功能需求"。

  3.2.2 制作部件

  a 建立系統部件

  先在系統部件庫中查找所需要的系統部件,對于找出的部件,可根據情況直接重用或經擴充、修改、繼續等處理后再重用,假如庫中沒有可重用的部件,則應按照規則創建之(別忘了經調試后再將其存入系統部件庫內,以備重用)。

  在創建新的系統部件時,假如條件許可,可向專業化極強的軟件開發團體(如一些軟件開發商)提供需求規格說明書,由專家制作。為了保證新創建的部件以后的可重用性,這時一定要注重遵守相關的軟件規范。

  b 確定組織部件

  與上一步類似,先在組織部件庫中查找所需要的組織部件,對于找出的部件,可根據情況直接重用或經擴充、修改、繼續等處理后再重用,假如庫中沒有可重用的部件,則應按照規則創建之(經調試后再將其存入組織部件庫內)。

  在創建新的組織部件時,要根據功能的不同將其分成一些不同的分子部件,并按下一步的方法重用或創建分子部件。

  c 建立分子部件和原子部件

  與上一步類似,先在分子、原子部件庫中查找所需要的部件,對于找出的部件,可根據情況直接重用或經擴充、修改、繼續等處理后再重用,假如庫中沒有可重用的部件,則應按照規則創建之(經調試后再將其存入相應的部件庫中)。

  3.2.3 組裝

  在組裝平臺的支持下,把各部件組裝成一個可運行的系統。

  3.2.4 原型審查

  通過上述的步驟,我們已經建立了一個可與用戶交流的原型,此時應與用戶(在運行的基礎上)探討該原型是否滿足其需求,假如沒能滿足其需求(或需求又有了變化),那么應轉回到第一步(即第3.2.1節),否則就轉到下一步。

  3.2.5 系統測試及維護

  在維護平臺的支持下,嚴格測試系統的功能和各部件的接口,修改所發現的問題。測試完后,應再與用戶一起進行原型審查(即第3.2.4節),確定正確無誤后,就可讓系統進入實用階段。
  4 還需要深入研究的內容

  a 對于各種軟件規范的確定

  理想的情況,應由國內的權威機構做這方面的工作,最終應產生一個類似機械行業中的那種嚴格的、可操作的工業標準。目前已有電子工業部、石油天然氣總公司等一些部門發布了各自的"軟件工程規范",但距離那種"嚴格的、可操作的工業標準"還差的很遠,還需再做工作。

  b 各類部件及部件庫的規范問題

  c 對支持本方法的CASE工具的研制

  5 結束語

  軟件開發工程化仍是目前人們非常關注的研究內容,雖然人們已經提出了很多開發方法,也有些部門制定了一些條條框框,但距象硬件那樣進行工業化生產還有距離。希望本文提出的方法有助于軟件開發工程化的研究。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祁连县| 梧州市| 游戏| 武强县| 织金县| 体育| 乌鲁木齐市| 承德市| 西乡县| 华容县| 广宗县| 平山县| 额尔古纳市| 岳西县| 梓潼县| 特克斯县| 四川省| 泸西县| 海阳市| 咸宁市| 恩平市| 自治县| 中卫市| 泸水县| 南乐县| 高阳县| 靖远县| 沈丘县| 开原市| 同心县| 三明市| 巴林左旗| 阿克陶县| 平果县| 吉木萨尔县| 阿尔山市| 卢氏县| 潍坊市| 城固县| 庆云县| 岱山县|