<p id="ftvfd"><p id="ftvfd"><mark id="ftvfd"></mark></p></p>
        
        
        <noframes id="ftvfd"><ol id="ftvfd"><ol id="ftvfd"></ol></ol>

          <ol id="ftvfd"><ol id="ftvfd"></ol></ol><pre id="ftvfd"><ruby id="ftvfd"><mark id="ftvfd"></mark></ruby></pre>

          13396739763 / 13136206268

          APP開發 小程序制作 軟件外包 網站建設

          我們的服務

          APP開發、微信建設、軟件定制外包、小程序制作

          聯系電話:13396739763 / 13136206268

          您當前位置> 主頁 > 網構軟件特性:相對獨立性、主動性和自適應性

          網構軟件特性:相對獨立性、主動性和自適應性

          作為Internet 環境下的一種新型的軟件形態, 網構軟件對傳統的軟件開發理論、方法與技術提出了一系列的挑戰. 作為一種以軟件復用為核心思想、以軟件構件為基本實體、以軟件體系結構為中心、以軟件中間件為運行支撐的軟件開發方法學, ABC(architecture based component composition)方法能夠有力支持網構軟件的開發. 其中, 基于特征的領域建模以及特定應用的特征模型剪裁方法和技術, 反映了網構軟件在問題空間實現自底向上、從“無序”到“有序”的構造過程;基于自適應軟件體系結構的分析與設計方法, 支持自適應網構軟件的開發; 具有反射機制、支持自主構件的中間件平臺則為網構軟件的運行, 尤其是網構軟件結構的自適應和實體的自適應提供支撐機制Internet 的發展為信息技術的應用開啟了新的篇章, 同時也帶來了諸多的技術挑戰, 并由此產生了多個信息技術研究與實踐的熱點領域. 這些領域往往從某種側面或層次對信息技術提出一種新型模式或理念, 如, 網格計算從資源共享與管理的角度探討未來網絡系統的應用與構造模式; 普適計算從“人機交互”的角度研究未來網絡系統的應用模式; 服務計算從“軟件即服務”的理念出發, 提出了一種新型的軟件形態并著重探討軟件的協同性和動態性; 模型驅動的開發以特定于領域的代碼自動生成為基礎, 探討基于中間件的軟件系統的開發方法與技術?;陬愃频某霭l點, 網構軟件從軟件形態的角度考察開放、動態、多變的Internet環境對軟件理論、方法和技術的挑戰. 作為傳統軟件結構的自然延伸, 網構軟件具有區別于傳統軟件形態的獨有的基本特征, 包括自主性、演化性、協同性、多態性和反應性等



          從網構軟件的角度來考察當今有代表性的軟件工程方法學,可以發現傳統的軟件工程方法學體系由于其本質上是一種靜態和封閉的框架體系, 難以支持由開放、動態、多變的Internet 環境衍生的網構軟件的開發.從技術的角度看, 網構軟件在Internet 上展現為一種與當前的信息Web 類似的Software Web. 以軟件構件等技術支持的軟件實體將以開放、自主的方式存在于Internet 的各個節點之上, 任何一個軟件實體可在開放的環境下通過某種方式加以發布, 并以各種協同方式與其他軟件實體進行跨網絡的互連、互通、協作和聯盟. 由于Internet 的開放、動態和多變, 以及用戶使用方式的個性化要求, 決定了網構軟件的開發不同于傳統軟件開發的“一次成型”式, 具體表現為, 網構軟件在發布之后, 能夠感知外部網絡環境的動態變化, 并隨著這種變化按照功能指標、性能指標和可信性指標等進行靜態的調整和動態的演化, 以使系統具有盡可能高的用戶滿意度, 而且, 由于用戶需求的多樣化和個性化以及投資回收等因素,一個軟件系統往往存在時間較長, 因此, 網構軟件的演化過程也在長時間內持續不斷. 顯然, 開發具有上述技術特點的網構軟件面臨著開發過程、開發方法以及支持技術3 個方面的挑戰在軟件開發過程方面, 傳統軟件系統的開發因所基于的平臺相對封閉、靜態、穩定, 基本采用自頂向下的途徑, 確定系統的范圍(即scoping)總是建立需求的第一步, 然后通過分解而實施分而治之的策略, 整個開發過程處于有序控制之下. 而網構軟件系統的開發所基于的平臺是一個有豐富基礎軟件資源但同時又是開放、動態和多變的框架, 開發活動呈現為通過將原本“無序”的基礎軟件資源組合為“有序”的基本系統, 隨著時間推移, 這些系統和資源在功能、質量、數量上的變化導致它們再次呈現出“無序”的狀態, 這種由“無序”到“有序”的過程往復循環, 基本上是一種自底向上、由內向外的螺旋方式. 此外, 在傳統的軟件工程體系中, 軟件生命周期概念所強調的是從問題提出到軟件交付的整個開發過程的重要性, 而對于交付之后的軟件變化過程往往只采用“軟件維護”加以簡單概括.



          這樣一種軟件生命周期概念對處于靜態封閉環境下的軟件系統的開發是合適的,但對處于Internet 開放、動態和多變環境下網構軟件系統的開發則有明顯的局限性. 首先, 新的軟件實體往往通過已有的軟件實體組裝而成, 由于這些實體彼此獨立、自主運行, 不受任何機構或組織的統一控制, 因此, 在系統交付運行之前,很難由這些被組裝的軟件實體準確無誤地推演出目標系統的功能和質量. 其次,環境的開放、動態和多變決定了軟件實體及其之間的協同均面臨著諸多變化, 不論這些變化能否在運行前準確預知, 運行系統都不得不進行持續的適應性調整.第3, 網構軟件既服務于處在不同時區的用戶也服務于隨時到達的其他網構軟件的請求, 而且, 一個網構軟件系統本身往往由散布在Internet 上的其他軟件組成,因此, 一個網構軟件系統一旦交付使用, 往往就不能完全停機. 這意味著改錯、優化、增加新功能等活動均需在線執行, 這些活動也需要經歷分析、設計、實現、測試、部署, 而傳統軟件生存周期中的維護期難以準確刻畫這些活動.在軟件開發方法方面, 對于網構軟件所具備的自主性、演化性、協同性、多態性和反應性, 傳統的開發方法考慮不多、支持遠遠不夠. 


          首先, 網構軟件自主性是指軟件實體具有相對獨立性、主動性和自適應性. 從技術角度看, 網構軟件實體一般都是獨立開發和管理的, 它們可能在不同的網絡節點上獨立運行. 它們的目標和所提供的服務由其所有者來決定, 其行為受自身的目標驅動, 而并非單純地被動用于組裝或部署. 它們在運行過程中可能實時收集環境的各種變化信息, 并根據預先設定好的策略, 在必要時自動調整自身的行為以適應環境的變化;其次, 協同性是指網構軟件系統中軟件實體與軟件實體之間可按多種靜態連接和動態合作方式在開放的網絡環境下加以互連、互通、協作和聯盟. 從技術角度看, 傳統軟件系統在封閉集中環境下往往采用單一靜態的連接模式, 而網構軟件則支持連接模式的適應性調整, 如, 不同互操作協議的切換, 連接安全級別的升降, 同步異步的轉變, 消息傳遞可靠性的調整等; 第3, 反應性是指網構軟件具有感知外部運行和使用環境并對系統演化提供有用信息的能力. 


          從技術角度看, 網構軟件的外部環境由其他網構軟件以及底層支撐平臺組成, 因此, 反應性既要求網構軟件能夠以某種方式暴露自身的狀態和行為信息, 也要求網構軟件支撐平臺能夠開放底層實現細節及運行狀態; 第4, 演化性是指網構軟件結構可根據應用需求和網絡環境變化而發生動態演化, 主要表現在其實體元素數目的可變性,結構關系的可調節性和結構形態的動態可配置性. 從技術角度看, 演化性要求軟件體系結構具備動態調整能力; 最后, 多態性是指網構軟件系統的效果體現出相容的多目標性, 它可根據某些基本協同原則, 在動態變化的網絡環境下, 滿足多種相容的目標形態. 從技術角度看, 多態性既要求系統開發過程中需要支持多目標建模, 又要求系統運行時能夠基于環境變化進行動態目標的適應性選擇. 


          基于上述分析, 網構軟件諸多特性在技術上的主要共性可歸結為自適應性, 具體表現為軟件實體的自適應性和軟件結構的自適應性, 即, 網構軟件在運行過程中能夠在合適的時刻、合適的場合、準確捕捉變化并進行合理的適應性調整, 以滿足功能和質量的需求. 人在網構軟件適應過程中的參與程度決定了網構軟件自適應能力的高低. 因此, 如何開發出具有這種自適應能力的軟件系統, 并盡可能減少運行過程中人的參與, 是網構軟件開發方法的關鍵挑戰在軟件運行支撐技術方面, 傳統的軟件開發工具往往針對軟件交付前的分析、設計、實現、測試中的一個或幾個階段, 而軟件交付后則部署在運行平臺上,并利用各種管理工具進行維護. 


          而基于上述分析, 網構軟件的開發已經不僅僅局限于軟件交付之前, 軟件開發的重心從交付前逐漸轉移到運行過程中, 而網構軟件自動或手動的調整往往依賴于軟件生存周期各個階段的活動與制品. 因此, 網構軟件開發工具不僅要覆蓋整個軟件生存周期, 還有必要與運行平臺融合, 從而支持軟件運行中持續不斷的開發活動. 另一方面, 網構軟件的諸多特性對運行平臺提出了極大的挑戰, 首先, 運行平臺不僅要具備實時顯示自身運行狀態和行為的能力, 還應協助實現上層軟件實體內部狀態和行為的實時展現, 其次, 運行平臺必須支持網構軟件實體與結構的動態調整,否則, 自適應很難甚至在某些情況下無法實現綜上所述, 網構軟件的開發在過程方面, 需要遵循自底向上、從“無序”到“有序”的新型構造途徑, 開發重心由系統交付前向系統運行時轉移; 在開發方法方面, 需要重點考慮軟件實體和結構的自適應性; 在支持技術方面, 需要整合開發工具和運行平臺以支持跨整個軟件生存周期的開發, 而運行平臺應提供軟件實體和結構自適應所需的基本機制.本文針對網構軟件需求, 考慮網構軟件更關注實體組合的特點, 提出一種以軟件體系結構為中心的網構軟件開發方法, 該方法采用ABC(architecture basedcomponent composition)方法框架, 即以構件組裝為基本手段, 使用軟件體系結構的理論與概念來指導軟件開發, 以提高系統開發的效率和質量. 考慮網構軟件的特性, 該方法重點關注3 個問題: (1)Internet 上“無序”軟件資源的有效建模、組織和管理, (2)網構軟件自適應建模, (3)支持網構軟件特征的支持工具和運行平臺



          ABC 方法概覽

          ABC 方法于2000 年正式提出, 從支持軟件復用的角度來看, 是軟件體系結構(SA)研究和基于構件的軟件開發(CBSD)途徑的結合. SA 研究提供了一種自頂向下實現基于構件的復用的途徑, 即通過體系結構描述語言(ADL, architecturedescription language)在較高抽象層次上描述構件接口的語法和語義、系統中的構件和連接子以及它們之間的交互關系、構件的非功能屬性、以及構件間協議, 從而建立系統的體系結構模型. 但是, 當前的SA 研究大都局限于體系結構描述和一些高層的性質驗證, 對體系結構求精和實現的支持能力明顯不足. 另一方面,CBSD提供了一種

          通過使用現存的中間件基礎設施自底向上地實現基于構件的軟件復用的途徑, 強調使用已經開發好的構件來構造軟件系統. 但是, 當前CBSD討論的重點主要局限于COM, CORBA 和EJB 等二進制構件, 這些中間件技術僅僅提供了在實現層次上支持構件交互的基礎機制, 缺少指導CBSD 過程的系統化的方法學, 特別是對高抽象層次的構件組裝無能為力. 作為一種自然的解決方案,ABC 方法有機組合了這兩種途徑, 以支持有效的基于構件的復用.ABC 方法的核心思想是將軟件體系結構引入到軟件開發的各個階段, 作為系統開發的藍圖, 利用工具支持的自動轉換機制縮小從高層設計到實現的距離,而后在構件運行平臺(軟件中間件)的支持下實現自動的系統組裝生成. ABC 方法過程模型如圖1




          嘉興雷鳥是一家集企業軟件開發,WEB網站建設,移動APP制作等綜合型的互聯網公司,為嘉興顧客提供一站式的企業軟件開發,安卓app開發,ios開發服務,同時為嘉興企業提供全面移動互聯軟件技術解決方案,是嘉興知名的綜合型APP軟件外包開發公司。根據前期調研方案和客戶實際需求,以專業獨到的設計理念、精益求精的技術精神、嚴格完善的品控系統,為嘉興每一位客戶提供專屬的移動互聯軟件技術解決方案。經過不斷積累,嘉興雷鳥陸續推出視頻直播APP、電商商城APP、P2P網貸APP、智能硬件APP開發、移動APP開發、微信公眾平臺開發、一元購APP、智慧社區服務APP、生活服務O2O系統APP等各類APP產品,為嘉興各行企業向移動互聯網轉型奠定了堅實基礎。在激烈的市場競爭中,嘉興雷鳥創造了嘉興軟件定制開發行業的卓越口碑,是具有更高品質的移動互聯網軟件技術定制服務商。

          聲明:文章來源于互聯網!

          企業名稱:嘉興雷鳥軟件科技有限公司

          聯系電話:13396739763 13136206268 (節假日均可撥打)

          售前咨詢QQ:點擊這里給我發消息

          技術咨詢QQ:點擊這里給我發消息

          所在地址: 浙江省嘉興市城南路1539號創業大廈

          網址:www.denceld.com

          主營行業: APP開發 / 蘋果手機APP開發 / 安卓手機開發 / 軟件定制 / 平板應用開發/軟件定制/微信開發/微網站建設/微網站設計/嘉興微網站建設/微網站  專業做高端網站建設,網站設計,網站改版,網站維護,微網站建設,微網站制作,嘉興網站建設,嘉興網站設計,嘉興網站制作,軟件開發,APP應用,嘉興微官網制作,動畫制作,域名注冊,空間托管,企業郵箱注冊,樣本宣傳冊印刷制作,400電話做網站業務

          相關案例查看更多

          911中文字幕色站_自慰无码国产极品_国产成人第一页在线视频_日韩中文字幕久久

                <p id="ftvfd"><p id="ftvfd"><mark id="ftvfd"></mark></p></p>
                
                
                <noframes id="ftvfd"><ol id="ftvfd"><ol id="ftvfd"></ol></ol>

                  <ol id="ftvfd"><ol id="ftvfd"></ol></ol><pre id="ftvfd"><ruby id="ftvfd"><mark id="ftvfd"></mark></ruby></pre>