色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

架構設計的主要內容是什么

OSC開源社區 ? 來源:OSC開源社區 ? 2023-06-13 16:58 ? 次閱讀

也許您對軟件設計存在一些疑惑,或者缺乏明確思路,那么本文將非常適合您。

1、設計很重要

我們可以看一下周邊的事物,那些好的東西,他們并不會天然存在,都是被設計出來的,因此設計就是創造和改善事物的重要過程。設計的重要之處在于,最初的設計往往決定最終的結果,甚至決定著事物的長期的發展。例如兩個品牌手機之間,他們可以使用同一個代工廠,但他們差異在設計時就已經決定了。 架構設計也是如此,我見過很多的軟件系統,他們經過了很多年的演進,在沒有完全重構的情況下,始終無法改變最初設計模樣,最初的設計決定了長期的發展。而對于業務深度耦合的系統,重構成本非常高,風險也非常大,變化也更加不確定,所以要更加重視設計。 我們要尋求更好的技術方案,推動架構的良性演進,每一步都是經過深度思考的,而架構設計方法就是幫助我們思考的框架。 通過做架構設計,我們應該提升軟件的質量和效率,降低風險和成本。

2、架構設計的目的是什么?

是為了解決軟件系統復雜度帶來的問題(架構的目標是用于管理復雜性、易變性和不確定性,以確保在長期的系統演化過程中,一部分架構的變化不會對其它部分產生不必要的負面影響。這樣做可以確保業務和研發效率的敏捷,讓應用的易變部分能夠頻繁地變化,對應用的其它部分的影響盡可能地小。) 要解決復雜度問題,首先需要識別復雜度的來源,主要集中在以下三個方面: 業務復雜度:流程多,參與者多、狀態和變量多等;由業務本身決定,但業務復雜不代表軟件系統復雜,例如工作流引擎并不復雜,但他可以做非常復雜的業務,在面對復雜業務時,我們常使用抽象思維,不要讓軟件邏輯與業務邏輯綁定在一起。 技術復雜度:高性能、高可用、高可擴展、安全,成本、規模等;這部分復雜度常常由技術本身決定,也應該由技術本身解決,通常是采用更合理的框架和工具;避免這些技術特性穿透到應用層。也可以有所取舍,在不同業務情況下,采用不同的實現程度。 設計復雜度:職責不是最小的完備的、概念不清晰的、層次不清的、業務邏輯與技術實現綁定的,組件過多以及關聯依賴復雜的;這部分是由設計不合理導致的,也是對業務系統影響最大的一部分,要通過良好的設計來解決。

3、架構設計的主要內容是什么?

找到系統中的元素并搞清楚他們之間關系(如果我們不知道系統是怎么運行的,那么他一定是很復雜的。對于龐大的軟件系統,如何才可以被掌控?這就需要將大系統分解為很元素,每個元素需要足夠簡單,并且元素與元素之間的關系清晰) 軟件架構是一種結構,結構中包含了一些元素和元素之間的關系描述; 元素的種類:系統、子系統、模塊,組件、服務、類、接口... 關系的種類:層次關系、數據關系、調用關系、影響力關系... "架構表示對一個系統的成型起關鍵作用的設計決策,架構定系統基本就成型了,這里的關鍵性可以由變化的成本來決定。"-- Grady Booch.) "Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change." -- Grady Booch.

4、架構設計有什么原則?

合適原則:“合適優于業界領先”。真正優秀的架構都是在企業當前人力、條件、業務等各種約束下設計出來的,能夠合理地將資源整合在一起并發揮出最大功效,并且能夠快速落地。 簡單原則:“簡單優于復雜”。優先使用直接的不復雜的方案解決問題; 演化原則:“演化優于一步到位”。軟件需要根據業務的發展不斷地變化,架構要不斷地在實際應用過程中迭代,在某個階段必定有所取舍,但架構的演化必須是低成本的,當業務發生變化時能夠最高效的迭代;在這個過程中修復缺陷的設計,積累優秀的設計;

5、架構師的職責是什么?

業務分析:梳理對業務和技術的理解和判斷、形成業務領域知識、明確的業務目標和本質的業務訴求; 系統建設:降低系統復雜性、規劃系統遠期架構、推動架構的合理演化; 技術方案:選擇合適的技術、提供對業務的解決方案,把控全局,包括質量、效率、成本、風險; 關鍵問題:攻克難點,解決關鍵問題,指導研發落地; 知識沉淀:以體系化的表達方式,面向不同人員的視圖語言,持續完善知識系統;

6、架構設計過程如何?

過程:全局分析業務 → 設計方案 → 概要設計 → 詳細設計 → 補充設計 視角:業務級 → 系統級 → 應用級 → 模塊級 → 技術級 → 代碼級 → 實施級; 架構師的協作鏈路較長,每一個過程都應該留下資料,越下游的角色往往需要更全面的資料;架構設計文檔應該包含架構師參與的所有環節,以及這些環節產生的圖文說明;不僅僅是空洞的結果,應該包含架構師的思路和想法;

2f8147de-06ab-11ee-962d-dac502259ad0.png

全局分析階段

這階段需要對業務需求進行全面分析,需要將名詞羅列出來,區分名詞是功能、流程、名詞、參與者的哪一種。再通過分析業務的本質并找到其中的關鍵名詞,關鍵的名詞被稱之為領域,可以圍繞關鍵的領域構建業務模型; 在這個過程中,需要統一語言、識別核心領域、按照相關性將功能歸屬到對應的領域,對領域之間的關系做出必要的描述,輸出物是名詞與解釋、領域以及擁有的能力,業務架構。 名詞的概念必須是清晰的,領域的職責必須是明確的,領域擁有的能力必須是相關的; 其中業務架構可按照場景層、功能層、領域層、依賴層劃分,例如下圖;

2f9798ea-06ab-11ee-962d-dac502259ad0.png

設計方案階段

在完成全局分析之后,我們應該設計技術方案,盡可能提供多個備選方案的圖文說明。需要對備選方案做充分的優劣分析,最終取舍一項最合適的方案,沒有被選擇的方案(或者取舍的部分)也要被說明; 我們需要找到各項約束條件(時間、人力、硬件等),評估在約束條件允許的情況下,哪個備選方案更合適,我們可能考慮如下方面: 方案對業務影響:主要判斷需求覆蓋程度、實現業務的短期目標、考慮業務的長期目標; 方案的技術需求:安全是否滿足、性能是否滿足、規模是否滿足、可維護性; 方案的可擴展性、方案的復雜程度、方案是否能夠演進、方案演進成本如何(高成本的 慎重考慮)、方案的影響力傳播如何(對上下游影響較大的 慎重考慮);

架構設計階段 - 應用架構

用以說明當前系統的元素(系統、子系統、模塊,組件)以及他們之間的關系(層次關系、依賴關系) 重點是將可復用的組件抽象后下沉,越往下層越是穩定和通用,由上層承接不穩定的業務; 應用架構圖體現了層次關系,以及不完全體現了依賴關系,依賴只能是上層依賴下層,示例如下圖

2fecf632-06ab-11ee-962d-dac502259ad0.png

架構設計階段 - 部署架構

用以說明支持應用所需要的硬件能力、以及外部中間件、網絡、機房等情況;可參考下面兩張圖;

300d1642-06ab-11ee-962d-dac502259ad0.png

架構設計階段 - 數據架構

描述數據資產結構、存儲、流轉、災備的情況;最常用的是 ER 圖;

301c2934-06ab-11ee-962d-dac502259ad0.png

3050d558-06ab-11ee-962d-dac502259ad0.png

架構設計階段 - 技術架構

描述一些關鍵技術的說明,比如性能、安全、交互等;

305c1468-06ab-11ee-962d-dac502259ad0.png

30750e0a-06ab-11ee-962d-dac502259ad0.png

描述技術選型和代碼框架的說明,比如 DDD 推薦的菱形對稱架構,文字和圖片描述都可以;

30a9f41c-06ab-11ee-962d-dac502259ad0.png

7、有什么方法能做的更好?

學習和使用領域驅動設計,使用正確的方法梳理和理解業務,并落實到架構過程; 盡早的介入,從業務領域建模和在產品方案階段介入、推動領域知識的傳遞、為后續做好鋪墊; 積累業務能力和洞察力,需要識別關鍵部分與輔助部分、預料可擴展部分與不變部分,識別水平能力與垂直擴展; 對于架構設計產物,不要只畫圖,多輔以文字表述圖中內容;

8、還需要掌握什么知識?

業務知識:業務架構(是對當前業務、領域、能力、流程、參與者、場景的介紹),現狀架構(是對當前架構的描述,可以包含應用架構、技術架構、部署架構、數據架構等),愿景架構( 是架構應該演進到的完美情況),存在問題(現在面對的痛點、無用部分、缺陷部分) 高性能:多線程、隊列、緩存、分片、異步化,前置化、靜態化、預處理; 高可用:限流、降級、冗余、災備、回滾、灰度; 擴展性:多態、防腐,依賴反轉(業務身份、擴展點、SPI),抽象化(比如流程引擎、規則引擎等)、事件驅動、設計模式
責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2695

    瀏覽量

    47431
  • 軟件系統
    +關注

    關注

    0

    文章

    62

    瀏覽量

    9501
  • 架構設計
    +關注

    關注

    0

    文章

    31

    瀏覽量

    6923

原文標題:如何做架構設計?

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    諧波測試報告的主要內容和形式有哪些

    諧波測試報告的主要內容和形式有哪些(1) 測試目的:建立電力系統諧波管理檔案,查清諧波源,為抑制和消除諧波,或為解決電能質量糾紛,提供技術依據(2) 測試對象:系統變電站和電力用戶,簡要介紹變電
    發表于 11-20 17:19

    EMC測試,主要內容有什么

    EMC測試,主要內容有什么
    發表于 09-05 19:48

    微機控制技術主要內容

    文檔介紹:微機控制技術第四章數字程序控制技術本章主要內容1、數字程序控制基礎2、逐點比較法插補原理3、步進電機控制技術4.1數字程序控制基礎1數字程序控制原理 數字程序控制:就是計算機根據輸入的指令
    發表于 09-01 08:12

    微機原理主要內容包括哪些

    前言微機原理主要內容包括微型計算機體系結構、8088微處理器和指令系統、匯編語言設計以及微型計算機各個組成部分介紹等內容。微機原理接口技術是一門實踐性強的學科,不但要求較高的理論水平,而且還要求有實際的動手能力。這次項目設計的主要
    發表于 09-10 08:43

    一文搞懂UPS主要內容

    導讀:UPS是系統集成項目中常用到的設備,也是機房必備的設備。本文簡單介紹了UPS的種類、功能、原理,品質選擇與配置選擇方式,基礎維護等相關的內容。一文搞懂UPS本文主要內容:UPS種類、功能
    發表于 09-15 07:49

    嵌入式硬件設計的主要內容有哪些呢

    嵌入式硬件設計的主要內容有哪些呢?嵌入式硬件設計有哪些流程呢?嵌入式硬件設計的原則有哪些呢?
    發表于 01-19 07:36

    編寫頭文件主要內容

    編寫頭文件主要內容
    發表于 01-24 07:28

    低功耗藍牙技術(BLE)4.0主要內容

    低功耗藍牙技術(BLE)4.0主要內容,有興趣的同學可以下載學習。
    發表于 04-11 14:45 ?33次下載

    變速器檢修的主要內容

    本視頻主要詳細介紹了變速器檢修的主要內容,分別是變速器齒輪的檢修、變速器殼體的檢修、變速器軸的檢修以及同步器的檢修。
    的頭像 發表于 12-20 16:28 ?8392次閱讀

    DSP的理論基礎和主要內容和應用分析

    對數字信號處理的概念作了簡略的介紹, 討論了數字信號處理的理論基礎、主要內容以及數字信號處理的實現。進而對數字信號處理器的特點,應用實例, 數字信號處理器的發展方向作了一些討論。
    發表于 09-10 14:54 ?34次下載
    DSP的理論基礎和<b class='flag-5'>主要內容</b>和應用分析

    DSP的理論基礎和主要內容和應用分析

    對數字信號處理的概念作了簡略的介紹, 討論了數字信號處理的理論基礎、主要內容以及數字信號處理的實現。進而對數字信號處理器的特點,應用實例, 數字信號處理器的發展方向作了一些討論。
    發表于 09-10 14:54 ?18次下載
    DSP的理論基礎和<b class='flag-5'>主要內容</b>和應用分析

    系統架構設計的詳細講解

    上一篇,我們討論了故障度量和安全機制的ASIL等級。本篇我們來聊一聊系統架構設計相關內容。01系統架構設計和TSC當我們開始寫TSC時,會涉及到下圖中一系列的內容:當我們完成前三期(鏈
    的頭像 發表于 12-24 14:33 ?1723次閱讀

    架構與微架構設

    下面將從芯片的架構設計、微架構設計、使用設計文檔、設計分區、時鐘域和時鐘組、架構調整與性能改進、處理器微架構設計策略等角度進行說明,并以視頻H.264編碼器設計為例。
    的頭像 發表于 05-08 10:42 ?1192次閱讀
    <b class='flag-5'>架構</b>與微<b class='flag-5'>架構設</b>計

    rct設計方案的要點及主要內容

    RCT(隨機對照試驗)是一種科學研究方法,用于評估某種干預措施的有效性。在設計RCT的方案時,有幾個要點和內容需要被詳細考慮和描述。本文將詳細介紹RCT設計方案的要點和主要內容。 一、研究目的與研究
    的頭像 發表于 01-02 16:41 ?5626次閱讀

    電子測量的主要內容有哪些

    電子測量,作為電子技術的一個重要分支,廣泛應用于工業、科研、通信等多個領域。它利用電子技術手段,對電的或非電的各種參量進行測量,為現代科技的發展提供了強有力的支撐。本文將對電子測量的主要內容進行詳細介紹。
    的頭像 發表于 05-16 16:15 ?1423次閱讀
    主站蜘蛛池模板: 草比比过程图| 六六影院午夜伦理| 爽娇妻快高h| china中国gay偷拍| 麻豆免费观看高清完整视频| 亚洲熟妇AV乱码在线观看| 国产盗摄一区二区| 日本中文字幕伊人成中文字幕| 99久久精品费精品国产一区二| 久久综合老色鬼网站| 一二三四在线播放免费观看中文版视频| 国产香蕉视频| 性西欧俄罗斯极品| 国产精品系列在线一区| 她也色在线视频站| 国产69精品久久久久APP下载| 日本一本道高清码v| XXXchinese国产HD| 妻子撸av中文字幕| tube69hdxxxx日本| 漂亮的保姆6在线观看中文| 阿离被扒开双腿疯狂输出| 欧美尤物射精集锦| 超大号黑吊magnet| 色列少女漫画| 国产av久久免费观看| 三级黄在线| 国产精品久久久久久久伊一| 无码AV精品一区二区三区| 国产精品成人免费视频99| 午夜DV内射一区区| 国产亚洲日韩欧美视频| 亚洲国产精品无码中文字幕| 黑人巨大两根一起挤进欧美| 亚洲日韩在线天堂一| 久久yy99re66| 自拍 偷拍 亚洲 经典| 免费看国产曰批40分钟| AV午夜午夜快憣免费观看| 人妻熟妇乱又伦精品视频中文字幕| 俄罗斯美女性生活|