麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

軟件重用已經(jīng)死亡?軟件重用永存?

2019-11-18 13:14:57
字體:
供稿:網(wǎng)友

  許多WebLogic項目的軟件架構(gòu)師或項目負(fù)責(zé)人已經(jīng)在重用的努力中備受挫折,而且死板的CASE工具套件用于開發(fā)可重用軟件時給許多開發(fā)人員留下了壞印象。因此,究竟是什么改變了從而使得今天軟件重用得以可行?在這個要害時刻,三個要害因素使得人們覺得軟件重用計劃值得考慮或重新考慮:
  · 成熟、基于組件的開發(fā)環(huán)境。
  · Web服務(wù)和面向服務(wù)的體系結(jié)構(gòu)。
  · 面向重用的軟件工程過程和工具。
  我將討論為什么三個因素中的每一個對于有效軟件重用的目標(biāo)都非常要害,并且許多情況下,在越來越多IT機構(gòu)中,為什么它們和商業(yè)因素結(jié)合在一起使軟件的重用計劃成為標(biāo)準(zhǔn)操作過程中的強制執(zhí)行部分。
  
  成熟的、基于組件的開發(fā)環(huán)境
  當(dāng)回顧過去20年的軟件開發(fā)時,無論在編程技巧的精巧方面,還是在供開發(fā)人員使用的特定于語言的服務(wù)方面,我們都可以看到一個穩(wěn)健的過程。從早期C只有有限的標(biāo)準(zhǔn)庫,而且很多事情依靠智力來自己做,到結(jié)構(gòu)化編程的提出,以及到面向?qū)ο缶幊萄杆賶汛蟮脑缙陔A段,到CORBA的分布式組件基礎(chǔ)結(jié)構(gòu)和服務(wù),到今天的現(xiàn)代J2EE和.NET組件架構(gòu),我們可以區(qū)分出一些使創(chuàng)建和使用可重用軟件可行的主要因素。
  
  結(jié)構(gòu)化編程技術(shù)對模塊調(diào)用者使用的明確定義的功能協(xié)議概念有所貢獻。根據(jù)其前提條件、期望的輸入和輸出參數(shù)(包括那些參數(shù)的語義)、副作用以及調(diào)用所描述函數(shù)可能引起的任何違例條件等來定義一個協(xié)議,該定義對在調(diào)用者和被調(diào)用模塊之間傳遞明確的描述。
  
  面向?qū)ο缶幊桃肓藬?shù)據(jù)封裝和多態(tài)的概念,它們都對有效的軟件重用有所貢獻。數(shù)據(jù)封裝避免將底層數(shù)據(jù)結(jié)構(gòu)暴露于對象的調(diào)用者。這些數(shù)據(jù)結(jié)構(gòu)用于治理持久數(shù)據(jù),并答應(yīng)信息傳遞給與調(diào)用者目標(biāo)更加準(zhǔn)確的方法調(diào)用。多態(tài)在將調(diào)用代碼和實現(xiàn)分離的同時,使類的開發(fā)人員能夠提供含義豐富的抽象,這些抽象與根據(jù)特定算法需求調(diào)整的內(nèi)部靈活的實現(xiàn)結(jié)合在一起。
  
  進一步討論一下分離的概念,分布組件技術(shù)為開發(fā)人員提供了定義和部署粗粒度組件接口的能力,其底層實現(xiàn)匯集了一組處理通用數(shù)據(jù)和功能目標(biāo)的相關(guān)操作。盡管早期組件基礎(chǔ)結(jié)構(gòu)提供的工具(如CORBA)有所限制,并且開發(fā)人員經(jīng)常必須成為"火箭科學(xué)家"來使所有東西能夠正確地協(xié)同工作,但是假如做得正確,作為結(jié)果,部署后的組件情形將會提供一個有效的、靈活的、可重用的應(yīng)用程序基礎(chǔ)結(jié)構(gòu)。
  
  最后,隨著兩個主要的組件體系結(jié)構(gòu)(J2EE 和.NET)的成熟,為開發(fā)人員提供了一個豐富而穩(wěn)定的平臺,在該平臺上可以構(gòu)建和部署它們的組件。這兩種體系結(jié)構(gòu)提供的技術(shù)服務(wù),例如事務(wù)完整性、消息傳遞和目錄服務(wù)、安全、異常處理、遠(yuǎn)程訪問,以及許多其他許多服務(wù),他們使開發(fā)人員能夠?qū)⒆⒅亓性诮M件功能上,而無需關(guān)注工作需要的所有底層技術(shù)基礎(chǔ)結(jié)構(gòu)。
  
  Web服務(wù)和面向服務(wù)的體系結(jié)構(gòu)
  我相信您正在迷惑一些問題,"難道Web服務(wù)與面向服務(wù)的體系結(jié)構(gòu)不具有相同含義嗎?面向服務(wù)的體系結(jié)構(gòu)是什么樣的?它和Web服務(wù)有什么區(qū)別?"簡單來說,面向服務(wù)的體系結(jié)構(gòu)是一個這樣的體系結(jié)構(gòu):應(yīng)用程序功能集中在一起,呈現(xiàn)一種獨立于其底層實現(xiàn)的松散耦合形式。這些松散耦合的服務(wù)典型地呈現(xiàn)粗粒度能力,這意味著它們通過某種形式的消息傳遞運行庫能夠匯集在一起。
  
  也可以說,許多(假如不是大多數(shù)的話)面向服務(wù)的體系結(jié)構(gòu)利用了正被主要應(yīng)用服務(wù)器廠商實現(xiàn)和促進的基于Internet的Web服務(wù)基礎(chǔ)結(jié)構(gòu)。
  
  Web服務(wù)和面向服務(wù)體系結(jié)構(gòu)的特性鼓勵重用,實際上從本質(zhì)上來說它們也需要重用,因為服務(wù)的唯一目標(biāo)是將一整套功能向多個消費者公開。假如這都不是重用,那什么是呢?另外,因為服務(wù)意味著部署一次,就能在適當(dāng)?shù)奈恢迷L問它,它們鼓勵跨越應(yīng)用程序邊界的業(yè)務(wù)流程集合的概念 -- 使一系列支持業(yè)務(wù)流程的服務(wù)交織在一起,業(yè)務(wù)流程可能通過圖形化的設(shè)計時用戶界面來描述。盡管支持這一概念的工具和底層機制還處于初期,但是一些計劃,如BPEL4WS(Business PRocess Execution Language For Web Services),在啟用這種形式的應(yīng)用程序開發(fā)時做出了很大的承諾。盡管期望圖形應(yīng)用程序集合將會完全取代其他開發(fā)技術(shù)的想法不太現(xiàn)實,但是它確實在那些技術(shù)旁找到了自己的位置,并且在這個過程中,鼓勵底層服務(wù)的更有效的重用。
  服務(wù)和組件之間具有支持軟件重用的共生關(guān)系。組件通常是服務(wù)背后的底層機制,或者完全實現(xiàn)了服務(wù)所定義的功能,或者為使用一個或多個遺留系統(tǒng)連接到現(xiàn)代web服務(wù)基礎(chǔ)結(jié)構(gòu)提供了必需的附帶代碼。
  
  軟件工程過程和工具
  過去的十年已經(jīng)朝著遵守規(guī)則和有效的軟件開發(fā)環(huán)境邁進了一大步。迭代方法,比如RUP(Rational Unified Process)鼓勵要害需求的早期發(fā)現(xiàn)、實施和提煉。在有規(guī)律和及時基礎(chǔ)上的增量改進與重量級的瀑布方法有巨大差別,瀑布方法經(jīng)常導(dǎo)致軟件的晚交付,并且無法滿足用戶需求,這種情況不少,因為用戶需求經(jīng)常會隨時間改變。
  RUP和其他軟件開發(fā)環(huán)境通過在開發(fā)過程中引入特定的Software Development Asset (SDA)搜索和重用回顧檢查點來鼓勵重用。這些搜索和回顧活動發(fā)生在開發(fā)生命周期的所有層次上,從最初的需求定義,到分析和設(shè)計,以及到實施。現(xiàn)代基于UML的建模技術(shù)也通過為分析師和開發(fā)人員提供一個明確定義功能需求的簡單圖形方式來鼓勵重用。這種形式的需求可以被其他開發(fā)工具使用,比如代碼生成器、映射引擎和資產(chǎn)元數(shù)據(jù)資料庫。基于UML的IDE工具不僅可以用于創(chuàng)建UML,而且也適用于可重用的知識SDA,例如設(shè)計模式到結(jié)果代碼,自動在源代碼和模型之間保持一致。
  
  重用的商業(yè)例子
  有了這些工具和技術(shù)的幫助,并且經(jīng)歷著不斷地消減IT預(yù)算的壓力,在任何規(guī)模的IT機構(gòu)中都不難看到重用計劃的正當(dāng)理由。Dr. Jeffrey Poulin是聞名的軟件行業(yè)重用專家,曾經(jīng)進行了很多研究,指明重用的回報發(fā)生在SDA的第一次重用時,他甚至考慮了建立重用資產(chǎn)所需的額外努力。Michael Blechar是Gartner Research的副總裁和研究總監(jiān),他指出,"企業(yè)可以通過提交的軟件資產(chǎn)重用計劃充分提高應(yīng)用程序開發(fā)效率和質(zhì)量,比例可達(dá)5:1或更高,同時也減少了上市的時間。考慮到這一點,分析師和開發(fā)人員都必須具有查找和重用這些資產(chǎn)的能力"。花些時間研究這些鼓勵重用的工具。(我將在以后編輯的文章中更具體地討論這些過程和工具)。甚至那些看上去很簡單的事情,比如向開發(fā)團隊傳播體系結(jié)構(gòu)方面的指導(dǎo)以及通過資產(chǎn)元數(shù)據(jù)資料庫分布的UML模型,通過使用行業(yè)和組織的最佳實踐來實現(xiàn)的代碼,從而獲得顯著的回報。這樣就會大大地減少重新編寫代碼和增加沉重的維護成本的機會。在您的組織中添加用于定義和分發(fā)結(jié)構(gòu)良好的、粗粒度組件和服務(wù)的能力,可以加速開發(fā)效率,同樣重要地,可以大幅度提高應(yīng)用程序的一致性 -- 可能也會使您在這場交易中成為英雄!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜男人在线观看 | 久久久久亚洲国产精品 | 福利一区二区三区视频在线观看 | 国产成人强伦免费视频网站 | 青草久久久久 | 日韩电影一区二区三区 | av在线播放网址 | 一区二区三区国产在线 | 青草av.久久免费一区 | 欧美精品成人一区二区在线观看 | 国产一区二区三区四区波多野结衣 | 97视频 | 久久伊人国产精品 | 欧美日韩一区二区综合 | 中国国语毛片免费观看视频 | 午夜视频福利 | 全黄裸片武则天一级第4季 偿还电影免费看 | xxxxxx中国| 日韩av片网站 | 国产99久久久国产精品 | 久久久经典视频 | 亚洲国产高清自拍 | 国产精品一区二区x88av | 女教师~淫辱の动漫在线 | 一级黄色影片在线观看 | 日韩中文字幕一区二区三区 | 国产美女做爰免费视 | 羞羞羞网站 | av在线免费观看播放 | 亚洲精品一区中文字幕 | 性欧美大战久久久久久久免费观看 | 久久亚洲春色中文字幕久久 | 国产精品免费大片 | 91短视频版高清在线观看www | 国产精品久久久久久久久久三级 | 一区二区三区在线播放视频 | 蜜桃成品人免费视频 | 国产麻豆交换夫妇 | 精品一区二区三区免费毛片爱 | 伦理三区| 一区二区三区日韩在线 |