(三)軟件架構設計

2024年博主考軟考高級系統架構師沒通過,于是決定集中精力認真學習系統架構的每一個環節,并在2025年軟考中取得了不錯的成績,雖然做信息安全的考架構師很難,但找對方法,問題就不大!

本文主要是博主在學習過程中,整理了軟考系統架構師教材中的零碎知識點,考前要全部背會,即可應對絕大部分選擇題和案例分析題。

-------------------分界線-----------------------

1、軟件架構的4+1視圖:
邏輯視圖:面向最終用戶。從系統靜態結構和動態行為角度顯示系統內部是如何實現功能的。
開發視圖:面向程序員。又稱實現視圖。顯示源代碼以及執行代碼的組織結構。
過程視圖:面向系統集成人員。又稱處理視圖。顯示程序執行時的并發狀態。
物理視圖:面向系統工程人員。展示軟件到硬件的映射。
場景:又稱用例視圖,顯示外部參與者觀察到的系統功能。
2、數據流架構風格:批處理、管道-過濾器。示例有傳統編譯器、網絡報文處理。
3、調用-返回架構風格:主程序-子程序、面向對象、分層架構。
4、獨立構件風格:進程通信、隱式調用(事件驅動系統)。
5、虛擬機風格:解釋器(用于用戶自定義場景、靈活組合場景)、規則系統。
6、以數據為中心,倉庫風格:數據庫系統、黑板系統、超文本系統(人類思維)。
7、倉庫風格中,中央數據庫說明當前狀態,獨立構件在中央數據存儲上執行。
8、過程控制架構:又稱閉環控制架構。適用于空調溫控、定速巡航等。
9、C2風格:構件和連接件都有一個頂部和一個底部。構件不能直接相連。
10、三層C/S將應用功能分成表示層、功能層、數據層。
11、物聯網分層:感知層(解決數據獲取問題)、網絡層(解決數據傳輸問題)、應用層(解決人機交互問題)
12、微服務的個體約束:每個微服務都是獨立的,修改一個微服務不能影響另一個微服務。
13、微服務之間的橫向關系:通過第三方服務注冊中心來滿足服務的可發現性。
14、云原生架構的設計原則:服務化原則、彈性原則、可觀測原則、韌性原則、所有過程自動化原則、零信任原則、架構持續演進原則。
15、邊云協同的分類:
資源協同:邊緣節點有基礎設施資源的調度管理能力,可與云端協同。
數據協同:邊緣節點采集數據并初步分析,之后發給云端處理。
智能協同:云端做集中式模型訓練,再將模型下發給邊緣節點。
應用管理協同:邊緣節點提供應用部署與運行環境,云端提供應用開發與測試環境。
業務管理協同:邊緣節點提供模塊化的應用實例,云端按需求實現業務編排能力。
服務協同:邊緣節點按云端策略實現部分ECSaaS服務,云端提供和邊緣節點的SaaS服務分布策略。
16、架構描述語言(ADL)包括:組件、組件接口、連接件、架構配置。
17、特定領域軟件架構(DSSA)分為:領域開發環境、領域特定應用開發環境、領域執行環境。
18、特定領域軟件架構(DSSA)分為:領域專家、領域分析人員、領域設計人員、領域實現人員。
19、領域設計人員的任務是:根據領域模型和現有的系統開發出DSSA。
20、DSSA的基本活動包括:領域分析、領域設計、領域實現。
領域分析的目標:獲得領域模型。
領域設計的目標:獲得DSSA。
領域實現的目標:依據領域模型、DSSA開發和可重用信息,對基礎軟件架構進行實現。
21、基于架構的軟件設計(ABSD)開發過程:架構需求、架構設計、架構文檔化、架構復審、架構實現、架構演化。是一個自頂向下,遞歸細化的方法。
22、軟件系統的體系結構通過ABSD得到細化,直到能產生軟件構件和類。
23、架構文檔化主要輸出:架構規格說明書、測試架構需求的質量設計說明書。
24、架構復審的目標是:標識潛在的風險,及早發現設計中的缺陷和錯誤。
25、ABSD強調由商業、質量、功能需求的組合驅動,強調采用視角與類圖描述軟件架構、采用用例與質量場景描述需求。
26、ABSD方法的三個基礎:功能分解、選擇架構風格實現質量及商業需求、軟件模使用。
27、軟件架構需求:用戶對目標系統在功能、行為、性能、設計約束等方面的期望。
需求過程主要是獲取用戶需求、標識系統中所要用到的構件、進行架構需求評審。
標識構件詳細分為:生成類圖、對類圖進行分組、將類打包成構件三步。
28、場景是從風險承擔者的角度對系統交互的描述,可以從六個方面進行描述:刺激源、刺激、制品、環境、響應、響應度量。一般采用刺激、環境、響應三方面來及描述。
29、基于場景的架構分析方法(SAAM)分析評估體系結構的過程包括五個步驟:場景開發、體系結構描述、單個場景評估、場景交互、總體評估。
30、基于場景的架構分析方法(SAAM)的主要輸入是:問題描述、需求說明、體系結構描述。
31、架構權衡分析方法(ATAM)是在基于場景的架構分析方法(SAAM)基礎之上發展起來的,主要階段包括:場景和需求收集、架構視圖和場景實現、屬性模型構造和分析、屬性模型折中。
32、架構權衡分析方法(ATAM)主要關注系統的需求說明。
33、軟件元素包括:需求分析文檔、設計過程、設計文檔、程序代碼、測試用例、領域知識。
34、構件檢索中的刻面檢索法:基于刻面分類法,分三步:構造查詢、檢索構件、對構件進行排序。
35、構件組裝技術分為:基于功能的組裝技術、基于數據的組裝技術、面向對象的組裝技術。
36、CORBA構件模型中,【可移植對象適配器POA】的作用是在底層傳輸平臺與接收調用并返回結果的對象之間進行協調,【伺服對象Servant】是完成客戶請求服務對象的實現。
37、對象管理組織(OMG)基于CORBA定義了4種構件標準。
實體(Entity)構件:需要長期持久化并主要用于事務性行為,由容器管理其持久化。
加工(Process)構件:需要容器管理其持久化,但沒有客戶端可訪問的主鍵。
會話(Session)構件:不需要容器管理其持久化,其狀態信息必須由構件自己管理。
服務(Service)構件:是無狀態的。
38、伺服對象(Servant)是CORBA對象的真正實現,負責完成客戶端請求。
39、對象適配器(ObjectAdapter)用于屏蔽ORB內核的實現細節。
40、對象請求代理(ObjectRequestBroker)用于解釋調用并負責查找實現該請求的對象。
41、模型驅動結構(MDA)產生三種類型的系統模型:
計算無關模型:對系統中使用的重要的領域抽象進行建模,被稱為領域模型。
平臺無關模型:在不涉及實現的情況下對系統的運轉進行建模。
平臺相關模型:平臺無關模型轉換后得到,對每個應用平臺都有一個單獨的平臺相關模型。
42、模型驅動結構(MDA)的主要目標:可移植性、互通性、可重用性。
43、邏輯設計階段的任務是:將概念模型設計階段得到的基本E-R圖轉換為與選用的DBMS產品所支持的數據模型相符合的邏輯結構。
44、在數據庫設計的邏輯設計階段進行關系規范化。
45、軟件設計可分為:概要設計、詳細設計。
46、概要設計也稱為高層設計或總體設計,將軟件需求轉化為數據結構和軟件的系統結構。
47、詳細設計也稱為低層設計,對結構圖進行細化,得到詳細的數據結構與算法。
48、架構設計主要關注軟件組件的結構、屬性、交互作用。
49、現有的設計模式可以分為創建型、結構型和行為型三種模式。
創建型模式:abstract factory(抽象工廠模式)、builder(建造者模式/生成器模式/構建者模式)、factory method(工廠方法模式/虛擬構造器模式/多態性工廠模式)、prototype(原型模式/克隆模式)、singleton(單例模式/單態模式)。
結構型模式:adaptor(適配器模式/包裝模式)、bridge(橋接模式)、composite(組合模式/復合模式)、decorator(裝飾者模式/裝飾器模式)、facade(外觀模式/門面模式)、flyweight(享元模式)、proxy(代理模式)。
行為型模式:chain of responsibility(責任鏈模式)、command(命令模式)、interpreter(解釋器模式)、iterator(迭代器模式)、mediator(中介者模式)、memento(備忘錄模式)、observer(觀察者模式)、state(狀態模式)、strategy(策略模式)、template method(模板方法模式)、visitor(訪問者模式)。
50、面向構件的編程需要下列基本的支持:多態性(可替代性)、模塊封裝性(高層次信息的隱藏)、后期的綁定和裝載(部署獨立性)、安全性(類型和模塊安全性)。
51、在服務端構件模型中,【EJB和COM+模型】適用于應用服務器。【servlet和asp】適用于web服務器。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92026.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92026.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

切記使用mt19937構造隨機數

在做 Kazaee CodeForces - 1746F 這個問題的時候,最初的時候使用了ran(),然后一直WA,遂改成mt19937,順利通過本道題。 mt19937 Rand(time(0)); 調用隨機數時候,使用: Rand() & 1 注意看&#xff0…

基于N32G45x+RTT驅動框架的定時器外部計數

時鐘選擇 高級控制定時器的內部時鐘:CK_INT: 兩種外部時鐘模式: 外部輸入引腳 外部觸發輸入 ETR 內部觸發輸入(ITRx):一個定時器用作另一個定時器的預分頻器 外部時鐘原理 通過配置 TIMx_SMCTRL.SMSEL=111 選擇該模式。 計數器可以配置為在所選輸入的時鐘上升沿或下降沿 …

[特殊字符] Ubuntu 下 MySQL 離線部署教學(含手動步驟與一鍵腳本)

適用于 Ubuntu 20.04 / 22.04 無網絡環境部署 MySQL。 建議初學者先按手動方式部署一遍理解原理,再使用自動化腳本完成批量部署。📁 一、準備工作 ? 1. 虛擬機環境 系統:Ubuntu 22.04(或兼容版本)環境:無網…

系統一個小時多次Full GC,導致系統線程停止運行,影響系統的性能,可靠性

背景: 某一天系統出現了請求超時,然后通過日志查看,程序執行到某一個位置,直接停下來來了,或者說所有的線程的執行都停下來了。而且是該時間段,請求處理變慢。排查相關的服務,并沒有出現死鎖&am…

使用OMV+NextCloud搭建私有云

原文地址:使用OMVNextCloud搭建私有云 – 無敵牛 歡迎參觀我的網站:無敵牛 – 技術/著作/典籍/分享等 OpenMediaVault(簡稱OMV)是一款基于Debian的開源網絡存儲(NAS)操作系統,提供Web管理界面&…

Codeforces Round 1008 (Div. 2)

A. Final Verdict 題目大意 給你一個數組a,每次把他拆分為等長的k個子序列,然后用子序列的平均數替換掉這個子序列,問最后能不能讓數組只剩下一個數字x 解題思路 無論怎么劃分,最后的總值是不變的,所以只需要看總和…

python轉移安裝目錄到D盤

遷移python安裝路徑第一步:移動目錄第二步:修改環境變量之前沒有設置之前設置過第一步:移動目錄 源路徑: C:\Users\Emma.ZRF\AppData\Local\Programs\Python\Python38 原環境變量 C:\Users\Emma.ZRF\AppData\Local\Programs\Pyth…

C#垃圾回收機制:原理與實踐

C#垃圾回收機制:原理與實踐 一、垃圾回收:C#內存管理的“幕后功臣”? 二、GC的核心引擎:基于代的優化策略 三、Demo展示 1. 簡單對象的垃圾回收示例 2. 基于代的回收示例 四、常用方法 五、推薦使用的場景 六、注意事項 管住手:避免濫用 GC.Collect() 析構函數:保持輕量 …

基于SpringBoot+MyBatis+MySQL+VUE實現的名城小區物業管理系統(附源碼+數據庫+畢業論文+開題報告+部署教程+配套軟件)

摘要 當下,正處于信息化的時代,許多行業順應時代的變化,結合使用計算機技術向數字化、信息化建設邁進。以前相關行業對于物業信息的管理和控制,采用人工登記的方式保存相關數據,這種以人力為主的管理模式已然落后。本人…

3DXML 轉換為 UG 的技術指南及迪威模型網在線轉換推薦

一、3DXML 轉換為 UG 的必要性 (一)軟件功能利用需求 3DXML 格式由達索系統開發,主要用于在其相關產品(如 CATIA、SOLIDWORKS 和 3DEXPERIENCE 等)中進行 3D 數據交換與輕量化可視化。它雖然能夠很好地在達索生態內實…

無人機光伏巡檢缺陷檢出率↑32%:陌訊多模態融合算法實戰解析

原創聲明本文為原創技術解析,引用來源標注 “陌訊技術白皮書”,禁止未經授權的轉載與改編。摘要在無人機光伏巡檢場景中,邊緣計算優化與復雜場景魯棒性是提升檢測效率的核心挑戰。本文解析陌訊多模態融合算法在光伏板熱斑、隱裂等缺陷檢測中的…

倉庫管理系統-15-前端之管理員管理和用戶管理

文章目錄 1 后臺查詢用戶列表 1.1 null和空字符串的檢查 1.2 UserController.java 2 管理員管理 2.1 傳遞參數roleId=1 2.2 admin/AdminManage.vue 3 用戶管理 3.1 傳遞參數roleId=2 3.2 user/UserManage.vue 管理員管理和用戶管理,與之前的Main.vue的內容基本一致,無非是管理…

個人筆記UDP

UDP消息發送發送端? import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; ? //不需要連接服務器 public class UdpClientDemo01 {public static void main(String[] args) throws Exception {/…

26屆算法秋招_baidu筆試_算法編程題。

給定2個字符串str1、str2,計算把str1轉變為str2的最小操作數。可執行的操作有:插入一個字符修改一個字符刪除一個字符解題:這是一個經典的編輯距離問題,通常使用動態規劃解決。定義dp[i][j]表示將str1的前i個字符轉換為str2的前j個…

uniapp-vue3來實現一個金額千分位展示效果

前言:uniapp-vue3來實現一個金額千分位展示效果實現效果:實現目標:1、封裝組件,組件內部要實現,input輸入金額后,聚焦離開后,金額以千分位效果展示,聚焦后展示大寫金額的彈框隨時寫的…

途游Android面試題及參考答案

對 Java 面向對象的理解是什么?多態的實現方法有哪些? Java 面向對象是一種編程思想,核心在于將現實世界中的事物抽象為 “對象”,每個對象由 “屬性”(數據)和 “方法”(行為)組成,通過對象之間的交互完成功能。其核心特性包括封裝、繼承和多態: 封裝是指將對象的屬…

通過filezilla在局域網下實現高速傳輸數據

一. filezilla安裝 1.1 linux安裝 sudo apt update sudo apt install openssh-server1.2 windows安裝 windows安裝可以參考這篇文章 二. 使用方法 2.1 wifi下使用方法 直接查看想要連接的電腦的ip,其他的按照有線網絡設置好了ip之后進行連接就行。 2.2 有線網…

python的易物小店交換系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具:Navicat/SQLyog等都可以 在需求分…

[硬件電路-119]:模擬電路 - 信號處理電路 - 比較器,模擬電路中的“決策者”,模擬信號到數字電平邏輯信號的轉化者...

前言:比較器的價值1、為何稱比較器為“決策者”?邏輯判斷的物理實現比較器通過硬件電路直接完成“大于/小于”的二元判斷,無需軟件干預。例如:在過壓保護電路中,比較器實時監測輸入電壓 Vin? 與參考電壓 Vref?&#…

【從零開始學習Redis】初識Redis

初識Redis 一句話理解Redis: Redis是一個基于內存的、支持多種數據結構的高性能鍵值數據庫,常被用于緩存、分布式鎖和消息隊列。和 MySQL 的區別:特點RedisMySQL類型非關系型(NoSQL)關系型(SQL)…