<strong id="cmcbs"></strong>
  • <th id="cmcbs"></th>
      <s id="cmcbs"><acronym id="cmcbs"><listing id="cmcbs"></listing></acronym></s>

        ?
        當前位置: 首頁 > 新能源資訊 > 政策法規資訊 > 正文

        《管見》畢偉:組件化軟件開發方法

        放大字體 縮小字體 發布日期:2022-12-07 17:01:07   來源:新能源網  編輯:全球新能源網  瀏覽次數:75923
        核心提示:2022年12月07日關于《管見》畢偉:組件化軟件開發方法的最新消息:在軟件工程領域,軟件的復用是一種很好地解決軟件成本和質量的方式,而組件化軟件開發是一種非常好的實現軟件復用的開發方法。遠光軟件從20年前就開始使用組件化的方式進行軟件的設計和開發,
        ?

        在軟件工程領域,軟件的復用是一種很好地解決軟件成本和質量的方式,而組件化軟件開發是一種非常好的實現軟件復用的開發方法。遠光軟件從20年前就開始使用組件化的方式進行軟件的設計和開發,尤其關注業務邏輯的組件化,把這種類型的組件稱為管理邏輯組件,通過對管理邏輯組件的組裝、復用,形成可組合、可配置的應用,可以隨需應變地滿足不同客戶的個性化需求,能極大提高軟件交付的效率和質量。本文從組件化的軟件架構、組件化軟件開發過程及最佳實踐幾個方面對組件化軟件開發方法進行論述。

        軟件開發是一項復雜的系統工程,軟件產品交付的效率和質量,一直是軟件工程領域持續優化改進的方向,也因此誕生了很多種軟件開發方法。其中,組件化軟件開發方法以松耦合和高可復用性,較好地降低了軟件開發的復雜性,可以有效地提高軟件交付的效率和質量。組件化的軟件開發方法不單純是一種開發方法論,它是以組件化的軟件架構為基礎,以組件構建為核心,通過組件的組合、復用形成應用,使應用具有較高的可配置性和可擴展性,極大提高應用交付的效率,同時也提高了應用的質量。

        組件化的軟件開發方法包含:組件化的架構框架和一套完整的組件化設計開發過程。

        一、 組件化的軟件架構

        組件化的軟件架構是一種架構模式,在這種架構模式下,軟件系統由一系列的組件構成,這些組件通過組合、復用形成各種不同的應用。

        1.組件的概念

        組件是一組功能相關的邏輯、數據的聚合,組件是自包含和完備的,通常以一組完備的API形式開放給使用者,使用者不需要了解組件內部的邏輯,只需要關注API的使用,組件的實現邏輯和依賴由組件自己負責。按職能可將組件分為技術組件和業務組件。業務組件是把一組相關的業務邏輯封裝為一個組件,也稱為管理邏輯組件;按層次可以分為框架組件、平臺組件、通用管理邏輯組件、領域管理邏輯組件、行業管理邏輯組件、個性化管理邏輯組件等;按來源可以分為開源組件、商業組件、自研組件等。

        2.組件的特點

        一個設計良好的組件應該具備如下五個特點:

        (1)可管理

        組件是基于統一的模型進行設計和實現,遵循統一的技術規范,由統一的元數據進行描述,有清晰的分類和分層,可由組件工具進行統一管理,以規范一致的模式進行使用。

        (2)可復用

        可復用是組件的一個核心特點。通常組件都是經過良好的設計和封裝的,可以被多個場景復用。只有能夠復用,才能更好地發揮組件的價值。

        (3)可配置

        為了更好地復用,組件在不同的場景下使用時不需要去修改組件自身,通常組件需要把在不同場景下使用可能會變化的作為可變參數,允許使用者通過配置不同的值,來滿足不同使用場景下的需求,使組件具有更好的可復用性??膳渲玫膬热萃ǔ0ōh境信息、參數、規則、模型屬性等。

        (4)可擴展

        在使用組件的過程中,當通過配置也無法滿足場景化的使用需求時,組件的可擴展性就變得尤其重要,如果一個組件不具備可擴展性,將極大降低組件的復用價值。組件的擴展性通??梢酝ㄟ^良好的設計來實現,如支持繼承,可局部邏輯重寫;支持事件,通過前置后置事件,允許使用定制規則和邏輯,就可以更好地滿足不同場景下的個性化使用需求,提高組件的可復用性,發揮出組件更大的價值。

        (5)可融入

        為了更好地復用,組件應該具備可融入性,遵循標準的技術規范,可以非侵入式地融入異構系統。組件本身具有較好的適應性,可以和不同的平臺和應用系統融為一體,比如界面風格、接口兼容性等,以更好地發揮組件的復用價值。

        3.組件框架

        組件框架提供對組件全生命周期管理的規范、代碼實現框架和管理工具。

        二、 組件化的軟件開發過程

        在基于組件化架構的軟件系統中,開發過程的一個顯著特點就是在各個階段都需要關注和組件相關的內容,下面分階段進行敘述:

        1.產品規劃

        產品規劃階段需要基于組件化的思路,形成產品的組件視圖。按照企業架構的規劃方法,在應用架構和技術架構中規劃出組件視圖,業務架構則不需要。應用架構中的組件視圖是從應用功能角度來進行規劃設計的,技術架構中的組件視圖是從實現角度進行規劃設計的,同時要考慮第三方組件的引入和統一管理。

        2.分析設計

        在基于組件化軟件開發過程的分析設計階段,會增加一個組件化的分析設計。通常在需求分析完成后實現設計之前進行。這個階段的主要任務分為如下三個:

        (1)組件分析抽象

        在組件化的開發方法中,我們首先需要分析出當前需求是由哪些組件構成的,可以采取如下方法:

        第一步,需要對管理和控制過程進行分析、抽象。遵循抽象化原則,對業務需求進行分析,找出當前管理和控制過程中的共性和個性事項(事項可以理解為用例,這個過程可以理解為用例分析)。

        第二步,把所有的事項進一步分解為最基本的動作單元。把一個事項設計為一個組件可能粒度較粗,不符合組件的基本特征。我們需要對事項進一步分解為更小的、高度內聚的、有較強獨立性的最基本的動作單元。

        第三步,每個單元都用一個組件來實現。把每個基本的動作單元定義為一個組件,可以最大程度地解耦組件,使組件可以更靈活地組裝和復用。

        (2)組件關系矩陣

        通過組件分析抽象,可以得出當前需求是由哪些組件構成的,隨后可對這些組件之間的關系進行分析,形成組件矩陣視圖,確定組件實現策略。是自研、使用開源組件還是采購商業組件?如自研,是擴展現有組件還是實現新的組件?

        (3)組件接口設計

        在此階段,還需要設計出每個組件的公開的API接口規約,確定組件的基本結構,如:是一個前端組件還是后端組件,或者是前后端都有的組件?組件支持的使用模式和部署模式。

        3.組件開發

        在開發階段,需要按照統一組件框架的規范進行開發。在前期分析設計階段的成果基礎上,進一步基于領域驅動設計的思想細化設計,更多關注組件的可配置性和可擴展性設計,并基于低代碼平臺進行實現和交付。

        4.組件使用

        組件發布后可供使用。一個或多個組件可以組合形成一個復合組件,也可以組合、復用形成應用功能。組件的使用會走相應的流程控制,整個使用過程通常會被日志記錄。根據組件特點,使用方式可能也存在差異。主要有四種使用模式:

        (1)直接API調用

        每個組件都會有一組公開的API,直接調用是最簡單的方式。此種形式下,使用者對組件形成直接依賴,通常需要引用組件的代碼發布包,如服務端的jar包或客戶端的js文件。

        (2)頁面Url調用

        有些有用戶界面的組件,則可以通過頁面Url直接引用的方式來使用。比如在某功能頁面中直接打開組件頁面進行操作。通常這種類型的組件頁面具有良好的可融入性,可以適應不同場景下的界面風格。此模式下使用者和組件如果是間接依賴,則把一個或多個類似特性的組件統一獨立部署,直接依賴則是和使用者部署在一起。

        (3)控件模式

        有些組件有用戶界面,同時還以UI控件的模式呈現。則可以把這些組件配置集成到界面設計工具中,以拖拽的方式可視化地使用,可對組件的屬性、事件等進行配置,極大簡化組件的使用。通常這種模式下使用者和組件采用間接依賴的模式,把類似特性的控件統一獨立部署,供所有使用者以一致方式使用。

        (4)服務模式

        一些功能比較復雜、使用形式多樣,并且具備較強的獨立性的組件,可以以服務的模式使用。組件可以獨立發布為一個微服務,使用者通過RESTFUL服務的模式調用組件的相關功能。有些組件的服務端也可以和使用者部署到一起,同時把API發布為RESTFUL服務,以服務的模式供使用者調用。

        5.組件運維

        組件運維包含組件的缺陷修復和版本管理等。組件設計時通常應該遵循基本的開閉原則,已經被使用的組件的接口不允許修改,以確保組件在缺陷修復和版本升級時可以保持最大的兼容性,降低運維的復雜性。

        6.組件管理

        在組件化架構的軟件系統中,通常會有很多的組件,這些組件是重要的資產,需要統一進行管理。組件管理系統可以對組件的全生命周期進行統一管理,包括組件的設計開發、組件發布、組件使用、組件授權、組件運維分析、組件文檔等。

        三、 組件化軟件開發最佳實踐

        事物都有兩面性,組件化軟件開發方法較好地解決了軟件復用和軟件可配置、可組合性的問題,較好地提升了軟件研發的效率和質量。但是,該方法也存在一些不足,如果使用不當,可能無法發揮出組件化軟件開發方法的優勢,遠光軟件在多年的組件化軟件開發方法實踐中,總結出了一些最佳實踐,分述如下:

        1.設計驅動

        基于組件化的軟件開發方法,對研發團隊提出了更高的要求,需要團隊有更高的分析設計能力,所以在軟件開發的過程中一定要更關注組件的設計,做好產品的整體規劃和設計,以組件為核心,遵循良好的設計原則,對組件的分層、組件的粒度、組件接口優先進行設計。

        2.獨立團隊

        在組件化的軟件架構中,一個系統由很多組件組合復用形成,這些組件之間會形成復雜的關系網,從另一個方面增加了系統的復雜性,在開發和使用過程中會額外增加溝通成本和運維成本。為解決這個問題,建議每個組件都由獨立的團隊研發。組件本身就具備自包含和完備性,有一定的獨立性,可以由一個團隊獨立完成,通過良好的接口設計和文檔樣例,減少團隊的溝通,簡化組件的使用,通過完善的日志和運維工具,降低組件運維難度。對于一些通用性強、復雜性高的組件,可以成立專門的組件研發團隊進行研發。

        3.敏捷交付

        組件化的軟件開發方法和敏捷開發方法結合起來,以迭代的方式進行交付,可以更有效地提高整體軟件交付的效率和質量。

        4.一體化協同

        組件化的軟件開發方法同樣涉及到軟件研發的各個不同階段,涉及到人、過程、工具的相互協作。如何讓各個不同階段的成果復用,讓不同角色的人能夠共同高效地參與,過程措施如何更好地落實和管理,組件資產如何更有效地管理,沒有一個很好的平臺工具支持是很難做到的。遠光軟件研發的遠光九天智能一體化平臺把先進軟件工程理論和實踐融為一體,涵蓋了從需求、設計、開發、測試、部署、應用、監控、運維的信息系統全生命周期管理,提供的云原生、一體化協同設計、智能低代碼開發、智能組件等能力,完整支持組件化軟件開發方法,同時結合多種軟件開發方法,充分發揮組件化軟件開發方法的優勢,全面提升企業的信息技術創新能力。

        組件化軟件開發方法,在提升軟件研發的效率和質量上有著獨特的優勢?;诮M件化的架構設計和一套完整的組件化的設計開發過程,結合一體化的協同研發平臺和工具,通過搭積木的方式完成基于組件的組合、復用,形成的可組合、可配置、可擴展的應用系統,可以隨需而變地滿足客戶越來越復雜多變的業務需求,加速企業的數字化轉型。

        ?
        關鍵詞: 組件 軟件 復用 方法

        [ 行業資訊搜索 ]? [ 打印本文 ]? [ 違規舉報 ]?

        猜你喜歡
        0條 [查看全部]  相關評論
        ?
        推薦圖文
        關于完善城市公交車成品油價格補助政策加快新能源汽車推廣應用的通知 地熱能開發利用指導意見發布
        推薦行業資訊
        點擊排行
        ?
        ?
        網站首頁 | 聯系我們 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言
        ?
        亚洲国产另类久久久精品黑人_18禁裸乳无遮挡啪啪无码免费_隔壁老王国产在线精品_亚洲韩国精品无码一区二区
        <strong id="cmcbs"></strong>
      1. <th id="cmcbs"></th>
          <s id="cmcbs"><acronym id="cmcbs"><listing id="cmcbs"></listing></acronym></s>