(软件工程复习核心重点)第十章面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统
文章目錄
- 一:設計人機交互子系統
- (1)概念
- A:主要內容
- B:重要性
- (2)設計策略
- A:分類用戶
- B:描述用戶
- C:設計命令層次
- ①:研究現有的人機交互含義和準則
- ②:確定初始的命令層次
- ③:精化命令的層次
- D:設計人機交互類
- 二:設計任務管理子系統
- (1)必要性
- (2)設計步驟
- A:分析并發性
- ①:并發性
- ②:方法
- ③:控制線
- B:設計任務管理子系統
- ①:確定事件驅動型任務
- ②:確定時鐘驅動型任務
- ③:確定優先任務
- ④:確定關鍵任務
- ⑤:確定協調任務
- ⑥:盡量減少任務數
- ⑦:確定系統資源需求
一:設計人機交互子系統
(1)概念
A:主要內容
在面向對象設計過程中,對系統的人機交互子系統進行詳細設計,以確定人機交互的細節,其中包括指定窗口和報表的形式、設計命令層次等項內容。
B:重要性
- 人機界面設計得好,則會使系統對用戶產生吸引力,用戶在使用系統的過程中會感到興奮,能夠激發用戶的創造力,提高工作效率;
- 人機界面設計得不好,用戶在使用過程中就會感到不方便、不習慣,甚至會產生厭煩和惱怒的情緒
(2)設計策略
A:分類用戶
應該把將來可能與系統交互的用戶按技能水平,或按職務,或按所屬集團進行分類
B:描述用戶
了解將來使用系統的每類用戶的情況,把用戶類型、使用目的、特征、關鍵的成功因素、技能水平、完成本職工作的腳本的信息記錄下來
C:設計命令層次
①:研究現有的人機交互含義和準則
設計圖形用戶界面時,應該遵守廣大用戶習慣的約定,這樣才會被用戶接受和喜愛
②:確定初始的命令層次
命令層次實質上是用抽象機制組織起來的、可供選用的服務的表示形式,設計命令層次時,通常先從對服務的過程抽象著手,然后進一步修改它們,以適合具體應用環境的需要
③:精化命令的層次
為進一步修改完善初始的命令層次,應該考慮次序、整體部分關系、寬度和深度等因素
D:設計人機交互類
人機交互類與所使用的操作系統及編程語言密切相關
二:設計任務管理子系統
(1)必要性
- 許多對象之間往往存在相互依賴關系
- 在實際使用的硬件中,可能僅由一個處理器支持多個對象
(2)設計步驟
A:分析并發性
①:并發性
如果兩個對象彼此間不存在交互,或它們同時接受事件,則它們在本質,上是并發的
②:方法
- 通過面向對象分析建立起來的動態模型,是分析并發性的主要依據
- 通過檢查各個對象的狀態圖及它們之間交換的事件,能夠把若干個非并發的對象歸并到一條控制線中
③:控制線
控制線是一條遍及狀態圖集合的路徑,在這條路徑上每次只有一個對象是活動的。在計算機系統中用進程實現控制線。把多個任務的并發執行稱為多任務
B:設計任務管理子系統
①:確定事件驅動型任務
某些任務是由事件驅動的,這類任務可能主要完成通信工作,具體任務有
- 任務處于睡眠狀態,等待來自數據線或其他數據源的中斷
- 一旦接收到中斷就喚醒該任務,接收數據并把數據放入內存緩沖區或其他目的地,通知需要知道這件事的對象,然后該任務又回到睡眠狀態
②:確定時鐘驅動型任務
某些任務每隔一定時間間隔就被觸發以執行某些處理,具體任務有
- 任務設置了喚醒時間后進入睡眠狀態,等待來自系統的中斷
- 接收到這種中斷,任務就被喚醒并做它的工作,通知有關的對象,然后該任務又回到睡眠狀態
③:確定優先任務
- 高優先級:有些服務是優先級的,為了在嚴格限定的時間內完成,把這類服務分離成獨立的任務
- 低優先級:與高優先級相反,有些服務是低優先級的,屬于低優先級處理。設計時用額外的任務把其分離出來
④:確定關鍵任務
關鍵任務是有關系統成功或失敗的關鍵處理,這類處理通常都有嚴格的可靠性要求。處理方法為:在設計過程中用額外的任務把這樣的關鍵處理分離出來,以滿足高可靠性處理的要求
⑤:確定協調任務
當系統中存在三個以上任務時,就應該增加一個任務,用它作為協調任務。使用狀態轉換矩陣可以比較方便地描述該任務的行為。這類任務僅做協調工作,不要讓它再承擔其他服務工作
⑥:盡量減少任務數
⑦:確定系統資源需求
- 通過計算系統載荷,來估算所需要的固件的處理能力
- 綜合權衡一致性、成本、性能以及未來的可擴充性和可修改性,決定資源需求
- 綜合考慮各種因素,以決定哪些子系統用硬件實現,哪些子系統用軟件實現
總結
以上是生活随笔為你收集整理的(软件工程复习核心重点)第十章面向对象设计-第四节:设计人机交互子系统和设计任务管理子系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (王道408考研操作系统)第四章文件管理
- 下一篇: 挖一挖C#中那些我们不常用的东西之系列(