一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

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

1、設(shè)計(jì)很重要

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

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

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

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

找到系統(tǒng)中的元素并搞清楚他們之間關(guān)系(如果我們不知道系統(tǒng)是怎么運(yùn)行的,那么他一定是很復(fù)雜的。對于龐大的軟件系統(tǒng),如何才可以被掌控?這就需要將大系統(tǒng)分解為很元素,每個(gè)元素需要足夠簡單,并且元素與元素之間的關(guān)系清晰) 軟件架構(gòu)是一種結(jié)構(gòu),結(jié)構(gòu)中包含了一些元素和元素之間的關(guān)系描述; 元素的種類:系統(tǒng)、子系統(tǒng)、模塊,組件、服務(wù)、類、接口... 關(guān)系的種類:層次關(guān)系、數(shù)據(jù)關(guān)系、調(diào)用關(guān)系、影響力關(guān)系... "架構(gòu)表示對一個(gè)系統(tǒng)的成型起關(guān)鍵作用的設(shè)計(jì)決策,架構(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)設(shè)計(jì)有什么原則?

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

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

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

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

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

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

全局分析階段

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

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

設(shè)計(jì)方案階段

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

架構(gòu)設(shè)計(jì)階段 - 應(yīng)用架構(gòu)

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

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

架構(gòu)設(shè)計(jì)階段 - 部署架構(gòu)

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

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

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

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

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

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

架構(gòu)設(shè)計(jì)階段 - 技術(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、有什么方法能做的更好?

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

8、還需要掌握什么知識(shí)?

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

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

    關(guān)注

    7

    文章

    2771

    瀏覽量

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

    關(guān)注

    0

    文章

    64

    瀏覽量

    9598
  • 架構(gòu)設(shè)計(jì)

    關(guān)注

    0

    文章

    32

    瀏覽量

    7052

原文標(biāo)題:如何做架構(gòu)設(shè)計(jì)?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    系統(tǒng)架構(gòu)設(shè)計(jì)的詳細(xì)講解

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

    架構(gòu)與微架構(gòu)設(shè)計(jì)

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

    rct設(shè)計(jì)方案的要點(diǎn)及主要內(nèi)容

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

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

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