軟考知識(shí)點(diǎn)封面.jpg
架構(gòu)風(fēng)格
五大架構(gòu)風(fēng)格
- 數(shù)據(jù)流風(fēng)格:批處理颖杏、管道-過(guò)濾器
- 調(diào)用-返回風(fēng)格:主子程序潘飘、面向?qū)ο竽吹印哟谓Y(jié)構(gòu)
- 獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通信杏慰、事件驅(qū)動(dòng)(隱式調(diào)用)
- 虛擬機(jī)風(fēng)格:解釋器测柠、規(guī)則系統(tǒng)
- 倉(cāng)庫(kù)風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng)炼鞠、黑板系統(tǒng)、超文本系統(tǒng)
主要記憶以下七個(gè)
一轰胁、管道-過(guò)濾器:
- 過(guò)濾器相對(duì)獨(dú)立谒主。
- 優(yōu):功能模塊復(fù)用;可維護(hù)性和可擴(kuò)展性強(qiáng)赃阀;具有并發(fā)性霎肯;模塊獨(dú)立性高。
- 缺:不適用于交互性強(qiáng)的應(yīng)用榛斯;對(duì)于存在關(guān)系的數(shù)據(jù)流必須進(jìn)行協(xié)調(diào)
- 適:系統(tǒng)可劃分清晰的模塊观游;模塊相對(duì)獨(dú)立;有清晰的模塊接口
二驮俗、事件驅(qū)動(dòng):
- 系統(tǒng)由若干子系統(tǒng)構(gòu)成且成為一個(gè)整體懂缕;系統(tǒng)有統(tǒng)一的目標(biāo);子系統(tǒng)有主從之分王凑;每一個(gè)子系統(tǒng)有自己的事件搜集和處理機(jī)制
- 優(yōu):適合描寫(xiě)系統(tǒng)組搪柑;容易實(shí)現(xiàn)并發(fā)處理和多任務(wù);可擴(kuò)展性好索烹;具有類層次結(jié)構(gòu)工碾;簡(jiǎn)化代碼
- 缺:因?yàn)闃?shù)形結(jié)構(gòu)所以削弱了對(duì)系統(tǒng)計(jì)算的控制能力;各個(gè)對(duì)象的邏輯關(guān)系復(fù)雜
- 適:一個(gè)系統(tǒng)對(duì)外可以表征為它對(duì)事件的處理
三百姓、分層風(fēng)格
- 各個(gè)層次的組件形成不同功能級(jí)別的虛擬機(jī)渊额;各層相互系統(tǒng)工作,而且實(shí)現(xiàn)透明
- 優(yōu):支持系統(tǒng)設(shè)計(jì)過(guò)程中的逐級(jí)抽象瓣戚;可擴(kuò)展性好端圈;支持軟件復(fù)用
- 缺:不同層次之間耦合度高的系統(tǒng)很難實(shí)現(xiàn)
- 適:功能層次之間的抽象和相互之間低耦合的系統(tǒng)
四、面向?qū)ο?/p>
- 力爭(zhēng)實(shí)現(xiàn)問(wèn)題空間和軟件系統(tǒng)空間結(jié)構(gòu)的一致性
- 優(yōu):高度模塊性子库;實(shí)現(xiàn)封裝舱权;代碼靈活共享;易維護(hù)仑嗅;可擴(kuò)展性好
- 缺:增加了對(duì)象之間的依賴關(guān)系
- 適:各種領(lǐng)域
五宴倍、數(shù)據(jù)共享風(fēng)格
- 采用兩個(gè)常用構(gòu)件中央數(shù)據(jù)庫(kù)單元和一些相對(duì)獨(dú)立的組件集合
- 優(yōu):中元數(shù)據(jù)單元實(shí)現(xiàn)了數(shù)據(jù)的集中;以數(shù)據(jù)為中心
- 缺:適用于特定領(lǐng)域
- 適:專家系統(tǒng)等人工智能領(lǐng)域問(wèn)題的求解
六仓技、解釋器風(fēng)格
- 系統(tǒng)核心是虛擬機(jī)
- 優(yōu):可以用多種操作來(lái)解釋一個(gè)句子鸵贬;靈活應(yīng)對(duì)自定義場(chǎng)景
- 缺:適用于特定領(lǐng)域
- 適:模式匹配系統(tǒng)和語(yǔ)言編譯器
七、閉環(huán)控制風(fēng)格
- 通過(guò)不斷地測(cè)量被控對(duì)象脖捻,認(rèn)識(shí)和掌控被控對(duì)象阔逼;將控制理論引入體系結(jié)構(gòu)構(gòu)建
- 優(yōu):將控制理論引入體系結(jié)構(gòu)構(gòu)建
- 缺:適用于特定領(lǐng)域
- 適:該系統(tǒng)中一定存在有目標(biāo)的作用、信息處理的閉環(huán)過(guò)程
質(zhì)量屬性效用樹(shù)
性能地沮、可用性嗜浮、安全性羡亩、可修改性
效用 - 性能
- 系統(tǒng)必須在0.1s內(nèi)響應(yīng)用戶請(qǐng)求
- 用戶請(qǐng)求后必須在5s內(nèi)完成處理
效用 - 可用性
- 主服務(wù)器故障,備份服務(wù)器3分鐘內(nèi)接管
- 宕機(jī)時(shí)修復(fù)時(shí)間不得超過(guò)20分鐘
效用 - 可修改性
- 對(duì) XX 系統(tǒng)添加新功能在1天內(nèi)完成
- 更改XX功能點(diǎn)再 5人日 內(nèi)完成
效用 - 安全性
- 保證 99% 安全性
- 用戶信息數(shù)據(jù)庫(kù)授權(quán)必須保證99%可用
EAI 企業(yè)應(yīng)用集成 與 SOA 面向服務(wù)架構(gòu)
- EAI 一般包括:表示集成(界面集成)危融、數(shù)據(jù)集成畏铆、控制集成、業(yè)務(wù)流程集成(過(guò)程集成)吉殃。
- 數(shù)據(jù)集成的主要方式有:數(shù)據(jù)聯(lián)邦辞居、數(shù)據(jù)復(fù)制和基于接口的數(shù)據(jù)集成。
- 應(yīng)用之間一對(duì)一開(kāi)發(fā)專用接口的優(yōu)缺點(diǎn)
- 優(yōu):直觀蛋勺,當(dāng)企業(yè)應(yīng)用數(shù)量少的時(shí)候很容易實(shí)現(xiàn)
- 缺:工作量大瓦灶;維護(hù)費(fèi)用高,升級(jí)與擴(kuò)展困難迫卢;不易于標(biāo)準(zhǔn)化倚搬,由于接口數(shù)量多冶共,難以管理乾蛤;一般只能解決應(yīng)用系統(tǒng)之間的數(shù)據(jù)集成;難以支持過(guò)程集成和協(xié)調(diào)
- 客戶端 - 服務(wù)注冊(cè) - 服務(wù)提供者 - 適配器 - 多個(gè)已有應(yīng)用
微服務(wù)與SOA
- 微服務(wù)的特點(diǎn)
- 服務(wù)粒度小
- 專注于做同一件事
- 輕量級(jí)的通信機(jī)制
- 松耦合捅僵、可擴(kuò)展性好
- 獨(dú)立部署
- 縱向業(yè)務(wù)劃分
- SOA
- 水平分層
- 粗粒度服務(wù)
- 整體部署
- ESB(企業(yè)服務(wù)總線)充當(dāng)了服務(wù)之間的通信的角色
- 分析為何采用微服務(wù)家卖?
- 技術(shù)異構(gòu)性
- 彈性
- 擴(kuò)展性
- 簡(jiǎn)化部署
- 與組織架構(gòu)相匹配
- 可組合性
- 對(duì)可替代性的優(yōu)化
DSSA 特定領(lǐng)域軟件架構(gòu)
-
著名的 4+1 視圖模型 (抽象范圍逐步緊縮)
- 場(chǎng)景視圖
- 物理視圖
- 進(jìn)程視圖
- 邏輯視圖
- 開(kāi)發(fā)視圖
-
能在 XX 行業(yè)通用,架構(gòu)設(shè)計(jì)注意哪些事項(xiàng)庙楚?
- 因?yàn)樵赬X行業(yè)通用上荡,所以該架構(gòu)數(shù)據(jù)DSSA,必須具備DSSA的特征
- 一個(gè)嚴(yán)格定義的問(wèn)題域或解決域馒闷,不能跨域系統(tǒng)的邊界
- 具有普遍性酪捡,設(shè)計(jì)出來(lái)的軟件架構(gòu)部分或全部能夠用于XX行業(yè)的某個(gè)子系統(tǒng)
- 對(duì)整個(gè)領(lǐng)域的合適程度的抽象,模塊纳账、組件抽象的粒度是否合適逛薇,是否適應(yīng)xx行業(yè)的某些部門
- 具備該領(lǐng)域固定的、典型的在開(kāi)發(fā)過(guò)程中可重用的元素
-
該如何創(chuàng)建DSSA疏虫?
- 應(yīng)當(dāng)嚴(yán)格遵循DSSA設(shè)計(jì)的創(chuàng)建步驟
- 定義領(lǐng)域范圍
- 定義領(lǐng)域特定元素
- 定義領(lǐng)域特定的設(shè)計(jì)和實(shí)現(xiàn)需求約束
- 定義領(lǐng)域模型和架構(gòu)
- 產(chǎn)生搜集可重用的產(chǎn)品單元
架構(gòu)評(píng)估
- 所有評(píng)估方法所普遍關(guān)注的質(zhì)量屬性有
- 功能性
- 性能 *
- 可用性 *
- 可靠性
- 安全性 *
- 可修改性永罚、可變性 *
- 互操作性
- 敏感點(diǎn)和權(quán)衡點(diǎn)是關(guān)鍵的體系結(jié)構(gòu)決策
- 敏感點(diǎn)是一個(gè)或多個(gè)構(gòu)件或者它們之間的特性,即如何實(shí)現(xiàn)它們應(yīng)當(dāng)注意什么
- 權(quán)衡點(diǎn)是影響多個(gè)質(zhì)量屬性的特性
- 各個(gè)角色的定義以及所關(guān)心的問(wèn)題
- 軟件架構(gòu)師:負(fù)責(zé)軟件體系結(jié)構(gòu)以及在互相競(jìng)爭(zhēng)的質(zhì)量需求之間進(jìn)行權(quán)衡的人卧秘;對(duì)其他風(fēng)險(xiǎn)承擔(dān)著的質(zhì)量需求的緩解和調(diào)停
- 開(kāi)發(fā)人員:設(shè)計(jì)人員或程序員呢袱;西體結(jié)構(gòu)描述的清晰與完整,各部分的內(nèi)聚性與受限耦合翅敌、清楚的交互機(jī)制
- 項(xiàng)目經(jīng)理:負(fù)責(zé)配置資源保證開(kāi)發(fā)進(jìn)度羞福;體系結(jié)構(gòu)層次清楚,便于組建小組蚯涮,任務(wù)劃分結(jié)構(gòu)治专,進(jìn)度標(biāo)志和最后期限等
- 客戶:系統(tǒng)的購(gòu)買者焊唬;開(kāi)發(fā)的進(jìn)度、總體預(yù)算看靠、系統(tǒng)的有用性赶促、滿足需求的情況
- SAAM的5個(gè)步驟
- 場(chǎng)景開(kāi)發(fā)
- 體系結(jié)構(gòu)描述
- 單個(gè)場(chǎng)景評(píng)估
- 場(chǎng)景交互
- 總體評(píng)估
- ATAM的9個(gè)步驟
- 描述 - ATAM方法
- 描述 - 業(yè)務(wù)動(dòng)機(jī)
- 描述 - 體系結(jié)構(gòu)
- 調(diào)查分析 - 確定體系結(jié)構(gòu)方法
- 調(diào)查分析 - 生成質(zhì)量屬性效用樹(shù)
- 調(diào)查分析 - 分析體系結(jié)構(gòu)方法
- 測(cè)試 - 討論和分析場(chǎng)景
- 測(cè)試 - 分析體系結(jié)構(gòu)方法
- 報(bào)告 - 描述評(píng)估結(jié)果
數(shù)據(jù)庫(kù)設(shè)計(jì)
- 讀寫(xiě)分離、主從復(fù)制策略挟炬。讀寫(xiě)分離設(shè)置物理上不同的主從服務(wù)器鸥滨,讓主服務(wù)器負(fù)責(zé)數(shù)據(jù)的<u>寫(xiě)</u>操作,從服務(wù)器負(fù)責(zé)數(shù)據(jù)的<u>讀</u>操作谤祖,從而有效減少數(shù)據(jù)并發(fā)操作的<u>延遲</u>婿滓,但卻帶來(lái)了<u>數(shù)據(jù)不一致風(fēng)險(xiǎn)</u>。因此需要采用主從復(fù)制策略保持?jǐn)?shù)據(jù)的<u>一致性</u>
- MySQL 數(shù)據(jù)庫(kù)中粥喜,主從復(fù)制是通過(guò)binary log 來(lái)實(shí)現(xiàn)主從服務(wù)器的數(shù)據(jù)同步凸主,MySQL 數(shù)據(jù)庫(kù)支持的三種的復(fù)制類型分別是
- 基于SQL語(yǔ)句的復(fù)制
- 基于行的復(fù)制
- 混合模式復(fù)制
- 關(guān)系型數(shù)據(jù)庫(kù)(前)和非關(guān)系型數(shù)據(jù)庫(kù)(后)的比較
- 數(shù)據(jù)一致性:實(shí)時(shí)一致性;弱一致性
- 數(shù)據(jù)類型:結(jié)構(gòu)化數(shù)據(jù)额湘;非結(jié)構(gòu)化數(shù)據(jù)
- 事務(wù):高事務(wù)性卿吐;弱事務(wù)性
- 水平擴(kuò)展:弱;強(qiáng)
- 數(shù)據(jù)容量:有限數(shù)據(jù)锋华;海量數(shù)據(jù)
- 混用MySQL與nosql嗡官,由于部分?jǐn)?shù)據(jù)同時(shí)存在于兩個(gè)數(shù)據(jù)庫(kù)中,存在數(shù)據(jù)同步問(wèn)題毯焕,解決該問(wèn)題的3中方法
- 通過(guò)定時(shí)任務(wù)機(jī)制做定期數(shù)據(jù)更新
- 通過(guò)觸發(fā)器完成數(shù)據(jù)同步
- 通過(guò)數(shù)據(jù)庫(kù)插件完成數(shù)據(jù)同步
數(shù)據(jù)流圖
- 流程圖和數(shù)據(jù)流圖的定義和區(qū)別
- 數(shù)據(jù)流圖中的處理過(guò)程可并行衍腥;系統(tǒng)流程圖在某個(gè)時(shí)間點(diǎn)只能處于一個(gè)過(guò)程
- 數(shù)據(jù)流圖展現(xiàn)系統(tǒng)的數(shù)據(jù)流;系統(tǒng)流程圖展現(xiàn)系統(tǒng)的控制流
- 數(shù)據(jù)流圖展現(xiàn)全局的處理過(guò)程纳猫,過(guò)程之間遵循不同的計(jì)時(shí)標(biāo)準(zhǔn)婆咸;系統(tǒng)流程圖中處理過(guò)程遵循一致的計(jì)時(shí)標(biāo)準(zhǔn)
UML
- 用例之間的關(guān)系有泛化、包含和擴(kuò)展
- 泛化:是一種繼承關(guān)系芜辕,子用例是父用例的一種特殊形式尚骄,它繼承了父用例的所有結(jié)構(gòu)、行為物遇、關(guān)系乖仇。其中三角箭頭指向父用例
- 包含:基本用例的行為包含了另一個(gè)用例的行為,是比較特殊的依賴關(guān)系询兴;箭頭方向由基本用例指向被包含用例乃沙。執(zhí)行基本用例時(shí),每次都必須調(diào)用被包含用例诗舰,被包含用例也可以單獨(dú)執(zhí)行
- 擴(kuò)展關(guān)系:擴(kuò)展用例在擴(kuò)展點(diǎn)上增加新的維護(hù)和含義警儒。擴(kuò)展用例為基本用例添加新的行為,箭頭指向基本用例
設(shè)計(jì)模式
- 簡(jiǎn)述三類設(shè)計(jì)模式
- 創(chuàng)建型模式用于創(chuàng)建對(duì)象,為設(shè)計(jì)類實(shí)例化新對(duì)象提供指南
- 結(jié)構(gòu)型模式主要用于處理類或?qū)ο蟮慕M合蜀铲,對(duì)類如何設(shè)計(jì)以形成更大的結(jié)構(gòu)提供指南
- 行為型模式主要用于描述類或?qū)ο蟮慕换ヒ约奥氊?zé)的分配边琉,對(duì)類之間交互以及分配責(zé)任的方式提供指南
- 設(shè)計(jì)模式歸類
- 創(chuàng)建型:?jiǎn)卫瑯?gòu)造器等
- 結(jié)構(gòu)型:外觀记劝、享元变姨、代理、組合等
- 行為型:解釋器厌丑、中介定欧、訪問(wèn)者、狀態(tài)怒竿、觀察者等
- 實(shí)際案例如何使用砍鸠?
- 各個(gè)構(gòu)件不允許直接調(diào)用 - - 中介者
- 自定義標(biāo)準(zhǔn),實(shí)現(xiàn) - - 解釋器
- 預(yù)約耕驰,接收消息 - - 觀察者
- 會(huì)員體系升級(jí) - - 狀態(tài)模式
項(xiàng)目管理
- 關(guān)鍵路徑為圖中時(shí)間最長(zhǎng)的那一條線
- 總工期即關(guān)鍵路徑所有時(shí)間之和
- 縮短工期時(shí)爷辱,減少與關(guān)鍵路徑相近時(shí)間路徑的共同活動(dòng),從而計(jì)算成本預(yù)算的數(shù)字