99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

架構(gòu)設計的主要內(nèi)容是什么

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-06-13 16:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1、設計很重要

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

2、架構(gòu)設計的目的是什么?

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

3、架構(gòu)設計的主要內(nèi)容是什么?

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

4、架構(gòu)設計有什么原則?

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

5、架構(gòu)師的職責是什么?

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

6、架構(gòu)設計過程如何?

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

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

全局分析階段

這階段需要對業(yè)務需求進行全面分析,需要將名詞羅列出來,區(qū)分名詞是功能、流程、名詞、參與者的哪一種。再通過分析業(yè)務的本質(zhì)并找到其中的關(guān)鍵名詞,關(guān)鍵的名詞被稱之為領(lǐng)域,可以圍繞關(guān)鍵的領(lǐng)域構(gòu)建業(yè)務模型; 在這個過程中,需要統(tǒng)一語言、識別核心領(lǐng)域、按照相關(guān)性將功能歸屬到對應的領(lǐng)域,對領(lǐng)域之間的關(guān)系做出必要的描述,輸出物是名詞與解釋、領(lǐng)域以及擁有的能力,業(yè)務架構(gòu)。 名詞的概念必須是清晰的,領(lǐng)域的職責必須是明確的,領(lǐng)域擁有的能力必須是相關(guān)的; 其中業(yè)務架構(gòu)可按照場景層、功能層、領(lǐng)域?qū)印⒁蕾噷觿澐?,例如下圖;

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

設計方案階段

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

架構(gòu)設計階段 - 應用架構(gòu)

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

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

架構(gòu)設計階段 - 部署架構(gòu)

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

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

架構(gòu)設計階段 - 數(shù)據(jù)架構(gòu)

描述數(shù)據(jù)資產(chǎn)結(jié)構(gòu)、存儲、流轉(zhuǎn)、災備的情況;最常用的是 ER 圖;

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

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

架構(gòu)設計階段 - 技術(shù)架構(gòu)

描述一些關(guān)鍵技術(shù)的說明,比如性能、安全、交互等;

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

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

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

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

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

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

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

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

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

    關(guān)注

    7

    文章

    2788

    瀏覽量

    50405
  • 軟件系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    9669
  • 架構(gòu)設計
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    7116

原文標題:如何做架構(gòu)設計?

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    諧波測試報告的主要內(nèi)容和形式有哪些

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

    EMC測試,主要內(nèi)容有什么

    EMC測試,主要內(nèi)容有什么
    發(fā)表于 09-05 19:48

    微機控制技術(shù)主要內(nèi)容

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

    微機原理主要內(nèi)容包括哪些

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

    一文搞懂UPS主要內(nèi)容

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

    嵌入式硬件設計的主要內(nèi)容有哪些呢

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

    編寫頭文件主要內(nèi)容

    編寫頭文件主要內(nèi)容
    發(fā)表于 01-24 07:28

    低功耗藍牙技術(shù)(BLE)4.0主要內(nèi)容

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

    變速器檢修的主要內(nèi)容

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

    DSP的理論基礎和主要內(nèi)容和應用分析

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

    DSP的理論基礎和主要內(nèi)容和應用分析

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

    系統(tǒng)架構(gòu)設計的詳細講解

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

    架構(gòu)與微架構(gòu)設

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

    rct設計方案的要點及主要內(nèi)容

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

    電子測量的主要內(nèi)容有哪些

    電子測量,作為電子技術(shù)的一個重要分支,廣泛應用于工業(yè)、科研、通信等多個領(lǐng)域。它利用電子技術(shù)手段,對電的或非電的各種參量進行測量,為現(xiàn)代科技的發(fā)展提供了強有力的支撐。本文將對電子測量的主要內(nèi)容進行詳細介紹。
    的頭像 發(fā)表于 05-16 16:15 ?2644次閱讀