軟考系統架構設計師之軟件系統建模

一、軟件系統建模

系統建模流程包括如下:在這里插入圖片描述

二、人機交互設計

黃金三法則:
1、置于用戶控制之下

以不強迫用戶進入不必要的或不希望的動作的方式來定義交互方式
提供靈活的交互
允許用戶交互可以被中斷和撤銷
當技能級別增加時可以使交互流水化并允許定制交互
使用戶隔離內部技術細節
設計應允許用戶和出現在屏幕上的對象直接交互

2、減少用戶的記憶負擔

減少對短期記憶的要求
建立有意義的缺省、
定義直覺性的捷徑
界面的視覺布局應該基于真實世界的隱喻
以不斷進展的方式揭示信息

3、保持界面的一致性

允許用戶將當前任務放入有意義的語境
在應用系列內保持一致性
如過去的交互模型已建立起了用戶期望,除非有迫不得已的理由,不要改變它

例子:
下列關于用戶界面設計的敘述中,錯誤的是()。
A 界面交互模型應經常進行修改
B 界面的視覺布局應該盡量與真實世界保持一致
C所有可視信息的組織需要按照統一的設計標準
D 確保用戶界面操作和使用的一致性

參考答案:A

三、結構化設計

概要設計【外部設計】:功能需求分配給軟件模塊,確定每個模塊的功能和調用關系,形成模塊結構圖
詳細設計【內部設計】:為每個具體任務選擇適當的技術手段和處理方法

結構化設計原則:
模塊獨立性原則(高內聚、低耦合)
保持模塊的大小適中多扇入,少扇出
深度和寬度均不宜過高(深度過高調用層次太多,寬度即分支多)

內聚:
高內聚-》低內聚

內聚類型
功能內聚 :完成一個單一功能,各個部分協同工作,缺一不可
順序內聚:處理元素相關,而且必須順序執行
通信內聚:所有處理元素集中在一個數據結構的區域上
過程內聚:處理元素相關,而且必須按特定的次序執行
時間內聚(瞬時內聚):所包含的任務必須在同一時間間隔內執行
邏輯內聚:完成邏輯上相關的一組任務
偶然內聚(巧合內聚):完成一組沒有關系或松散關系的任務

耦合
低耦合 -》高耦合:
非直接耦合:兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的
數據耦合:一組模塊借助參數表傳遞簡單數據
標記耦合:一組模塊通過參數表傳遞記錄信息(數據結構)
控制耦合:模塊之間傳遞的信息中包含用于控制模塊內部邏輯的信息
外部耦合:一組模塊都訪問同一全局簡單變量,而且不是通過參數表傳遞該全局變量的信息
公共耦合:多個模塊都訪問同一個公共數據環境
內容耦合:一個模塊直接訪問另一個模塊的內部數據;一個模塊不通過正常入口轉到另一個模塊的內部;兩個模塊有一部分程序代碼重疊;一個模塊有多個入口

模塊四要素:
模塊的四個要素
輸入和輸出: 模塊的輸入來源和輸出去向都是同一個調用者,即一個塊從調用者那兒取得輸入,進行加工后再把輸出返回調用者。
處理功能: 指模塊把輸入轉換成輸出所做的工作。
內部數據: 指僅供該模塊本身引用的數據。
程序代碼: 指用來實現模塊功能的程序。

四、面向對象設計

1、基本過程
分析模型:分用例模型、分析模型(領域模型
設計師參與:設計用例實現方案、設計技術支撐實施、設計用戶界面、細化設計模型
設計模型:架構圖(用包圖表示)、用例實現圖(用交互圖表示)、類圖(完整、精確)、
其他(狀態圖、活動圖等)
2、類的分類
邊界類: 機器接口、API接口、人機交互、用戶界面,例:窗口、通信協議、打印機接口、傳感器、終端、報表、對話
框菜單、顯示屏、二維碼
控制類: 應用邏輯、業務邏輯、數據訪問邏輯
例:身份驗證器
實體類: 數據 例:學員類、課程類

3、面向對象設計原則
單一職責原則: 設計目的單一的類
開放-封閉原則: 對擴展開放,對修改封閉
李氏(Liskov)替換原則(里氏): 子類可以替換父類,泛化,子類繼承了父類的所有特性
依賴倒置原則: 要依賴于抽象,而不是具體實現;針對接口編程,不要針對實現編程,基于某個標準要求

接口隔離原則: 使用多個專門的接口比使用單一的總接口要好
組合重用原則: 要盡量使用組合,而不是繼承關系達到重用目的
迪米特(Demeter)原則(最少知識原則):一個對象應當對其他對象有盡可能少的了解

例子:
最少知識原則(也稱為迪米特原則)是面向對象設計原則之一,指一個軟件實體應當盡可能少地與其他實體發生相互作用。這樣,當一個實體被修改時,就會盡可能少地影響其他的實體。下列敘述中,“()”不符合最少知識原則。
A 在類的劃分上,應當盡量創建松耦合的類
B 在類的設計上,只要有可能,一個類型應當設計成不變類
C 在類的結構設計上,每個類都應當盡可能提高對其屬性和方法的訪問權限
D 在對其他類的引用上,一個對象對其他對象的引用應當降到最低

參考答案:C

設計模式考得比較少,屬于中級考試內容

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

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

相關文章

Linux系統學習之注意事項及命令基本格式

哈嘍,你好啊,我是雷工!你要是翻過歷史文章的話,肯定特別疑惑:這神經病搞得這個號到底是啥定位,究竟是分享啥類型的,咋亂七八糟的啥都有。真是個雜貨鋪啥都有,咋又開始分享Linux系統了…

0基礎Java學習過程記錄——枚舉、注解

一、枚舉1.基本介紹(1)枚舉對應英文 enumeration,簡寫為 enum(2)枚舉是一組常量的集合(3)可以理解為:枚舉屬于一種特殊的類,里面只包含一組有限的特定的對象2.實現方式&a…

高效計算的源泉:深入淺出馮諾依曼模型與操作系統的管理藝術 —— 構建穩定、高效的應用基石 【底層邏輯/性能優化】

???~~~~~~歡迎光臨知星小度博客空間~~~~~~??? ???零星地變得優秀~也能拼湊出星河~??? ???我們一起努力成為更好的自己~??? ???如果這一篇博客對你有幫助~別忘了點贊分享哦~??? ???如果有什么問題可以評論區留言或者私信我哦~??? ??????個人…

性能測試-jmeter9-邏輯控制器、定時器壓力并發

課程:B站大學 記錄軟件測試-性能測試學習歷程、掌握前端性能測試、后端性能測試、服務端性能測試的你才是一個專業的軟件測試工程師 性能測試-jmeter邏輯控制器、定時器妙用IF控制器**IF 控制器的作用**循環控制器循環控制器的作用ForEach控制器ForEach 控制器的作用…

T:線段樹入門(無區間更新)

線段樹.線段樹介紹.線段樹框架.理解線段樹.圖式整個過程.線段樹代碼逐層解析.代碼匯總.leetcode練習.線段樹介紹 線段樹(SegmentTree)\;\;\;\;\;\;\;\;線段樹(SegmentTree)線段樹(SegmentTree) is 用于高效處理區間查詢和單點修改的數據結構,和樹狀數組很像&#xf…

【ISP】Charlite工具實操

實習一周了&#xff0c;參與了客觀拍攝和測試&#xff0c;復習一下nv工具 BLACK LEVEL&#xff08;黑電平&#xff09; eg&#xff1a; $ nv_ob 0 in_dir <input directory> out_name <ob file> nv_ob 0 in_dir D:\study\nvraw\ob1 out_name D:\study\nvraw\my_out…

普藍機器人 AutoTrack-IR-DR200 外設配置全指南

為什么外設配置對機器人研究如此重要&#xff1f;在當今機器人技術飛速發展的時代&#xff0c;高校學生研究團隊正成為創新的重要力量。無論是參加機器人競賽、開展畢業設計&#xff0c;還是進行學術研究&#xff0c;正確配置和使用外設設備都是成功的關鍵。尤其學生組裝一個服…

8、Python性能優化與代碼工程化

學習目標&#xff1a;掌握Python程序性能分析和優化的通用方法&#xff0c;建立工程化開發的規范意識&#xff0c;為后續AI項目開發奠定堅實的編程基礎在數據科學和AI開發中&#xff0c;代碼性能往往決定了項目的可行性。一個處理時間從幾小時縮短到幾分鐘的優化&#xff0c;可…

【算法--鏈表】117.填充每個節點的下一個右側節點指針Ⅱ--通俗講解

通俗算法講解推薦閱讀: 【算法–鏈表】83.刪除排序鏈表中的重復元素–通俗講解 【算法–鏈表】刪除排序鏈表中的重復元素 II–通俗講解 【算法–鏈表】86.分割鏈表–通俗講解 【算法】92.翻轉鏈表Ⅱ–通俗講解 【算法–鏈表】109.有序鏈表轉換二叉搜索樹–通俗講解 【算法–鏈…

分詞器(Tokenizer)總結(89)

分詞器(Tokenizer)總結 分詞器(Tokenizer) 分詞器的詞表(vocabulary)長度通常短于模型嵌入層(embedding layer)的長度。 結束標記(EOS token)應僅用于標記文本結尾,不可用于其他用途。 填充標記(PAD token)通常未預先定義,但你仍可能需要用到它: 對于生成式模型…

19 webUI應用中 Controlnet精講(05)-圖像修復與編輯

前面的篇章已經詳細講解了線條約束、三維關系與空間深度、人體姿態等幾類controlnet的功能與應用&#xff0c;本節內容將對通過controlnet對圖像修復與編輯進行講解。 通過controlnet也可以對圖片進行編輯、重繪及放大等操作&#xff0c;具體包括Recolor、Inpaint、Tile等&…

消息推送的三種常見方式:輪詢、SSE、WebSocket

摘要&#xff1a;本文介紹消息推送的三種常見方式&#xff1a;輪詢&#xff08;定時請求&#xff0c;易增負擔&#xff09;與長輪詢&#xff08;阻塞請求至有數據 / 超時&#xff0c;減少請求&#xff09;、SSE&#xff08;HTTP 單向實時傳輸&#xff0c;純文本、自動重連&…

論文閱讀:ACL 2024 Stealthy Attack on Large Language Model based Recommendation

總目錄 大模型相關研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 https://arxiv.org/pdf/2402.14836 https://www.doubao.com/chat/19815566713551106 文章目錄速覽攻擊方法速覽一、攻擊核心目標與前提1. 核心目標2. 攻擊前提二、模型無關的簡單…

自動駕駛中的傳感器技術43——Radar(4)

本文對目前毫米波雷達中的天線設計進行比較全面的羅列&#xff0c;并進行簡單的設計評述 1、實際設計案例 圖1 涵蓋能寬窄覆蓋的天線設計&#xff08;無俯仰分辨率&#xff09;圖2 Bosch前雷達的天線設計&#xff08;有俯仰的分辨率但比較弱&#xff0c;也涵蓋了擴展覆蓋&…

使用反轉法線材質球,實現切換天空盒相同的功能,優點:包體變小

切換天空盒第一步先把SKY 天空球資源導入到工程里&#xff0c; 第二步&#xff1a;天空球文件下的SKY預制件拖入到場景里 第三步 選著SKY材質球&#xff0c;拖入自己的全景圖片(圖片分辨率不能超過5000*5000&#xff0c;否則手機無法顯示) 如果并沒有效果&#xff0c;看看圖…

真正有效的數據指標體系應該長什么樣?

真正有效的數據指標體系應該長什么樣&#xff1f;為什么大多數企業的指標體系都是"花架子"&#xff1f;真正有效的指標體系應該長什么樣&#xff1f;從數據到洞察&#xff1a;讓指標真正"活"起來結語在這個人人都在談數字化轉型的時代&#xff0c;企業就像…

分布式專題——6 Redis緩存設計與性能優化

1 多級緩存架構2 緩存設計 2.1 緩存穿透 2.1.1 簡介緩存穿透是什么&#xff1f;當查詢一個根本不存在的數據時&#xff0c;緩存層和存儲層都不會命中。正常邏輯下&#xff0c;存儲層查不到數據就不會寫入緩存層。這會導致&#xff1a;每次請求這個不存在的數據&#xff0c;都要…

一文了解大模型壓縮與部署

一文了解大模型壓縮與部署&#xff1a;從 INT4 量化到 MoE&#xff0c;讓大模型跑在手機、邊緣設備和云端&#x1f3af; 為什么需要模型壓縮與部署&#xff1f;你訓練了一個強大的大模型&#xff08;如 Qwen-72B、LLaMA-3-70B&#xff09;&#xff0c;但在部署時發現&#xff1…

新手向:中文語言識別的進化之路

自然語言處理&#xff08;NLP&#xff09;技術正在以前所未有的速度改變我們與機器的交互方式。根據Gartner最新報告顯示&#xff0c;全球NLP市場規模預計在2025年將達到430億美元&#xff0c;年復合增長率高達21%。而中文作為世界上使用人數最多的語言&#xff08;全球約15億使…

LeetCode100-206反轉鏈表

本文基于各個大佬的文章上點關注下點贊&#xff0c;明天一定更燦爛&#xff01;前言Python基礎好像會了又好像沒會&#xff0c;所有我直接開始刷leetcode一邊抄樣例代碼一邊學習吧。本系列文章用來記錄學習中的思考&#xff0c;寫給自己看的&#xff0c;也歡迎大家在評論區指導…