UML第16章人機(jī)交互部分的設(shè)計(jì).ppt
《UML第16章人機(jī)交互部分的設(shè)計(jì).ppt》由會員分享,可在線閱讀,更多相關(guān)《UML第16章人機(jī)交互部分的設(shè)計(jì).ppt(74頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
第16章人機(jī)交互部分的設(shè)計(jì) 16 1什么是人機(jī)交互部分16 2人機(jī)交互部分的需求分析16 3人機(jī)界面的設(shè)計(jì)準(zhǔn)則16 4人機(jī)界面OO設(shè)計(jì)16 5可視化編程環(huán)境下的人機(jī)界面設(shè)計(jì) 人機(jī)交互部分是OOD模型的外圍組成部分之一 其中所包含的對象構(gòu)成了系統(tǒng)的人機(jī)界面 稱作界面對象 16 1什么是人機(jī)交互部分 近20年來 陸續(xù)出現(xiàn)了一些支持圖形用戶界面開發(fā)的軟件系統(tǒng) 經(jīng)過不斷地改進(jìn)和推陳出新 形成了一些被廣泛應(yīng)用的軟件產(chǎn)品 包括 窗口系統(tǒng) 圖形用戶界面 GUI 系統(tǒng) 與編程語言結(jié)合為一體的可視化編程環(huán)境 將OOD模型的人機(jī)交互部分獨(dú)立出來進(jìn)行設(shè)計(jì) 好處是隔離了界面支持系統(tǒng)對問題域部分的影響 當(dāng)界面支持系統(tǒng)變化時 問題域部分可以基本保持不變 人機(jī)界面的開發(fā)不純粹是設(shè)計(jì)和實(shí)現(xiàn)的問題 在很大程度上也是分析的問題 它還需要許多其他學(xué)科的知識 16 2人機(jī)交互部分的需求分析 在進(jìn)行人機(jī)交互部分設(shè)計(jì)之前 需要首先對該部分的需求進(jìn)行分析 一是對使用系統(tǒng)的人進(jìn)行分析 以便有的放矢地設(shè)計(jì)出適合其特點(diǎn)的交互方式和界面表現(xiàn)形式 二是對人和機(jī)器的交互過程進(jìn)行分析 核心問題是人如何命令系統(tǒng) 以及系統(tǒng)如何向人提交信息 16 2 1分析活動者 與系統(tǒng)交互的人 列舉所有的人員活動者區(qū)分人員類型調(diào)查研究估算各類人員的比例了解使用者的主觀需求 16 2 2從UseCase分析人機(jī)交互 從UseCase抽取人機(jī)交互內(nèi)容及過程 如圖16 1所示 對UseCase作出如下改進(jìn) 1 在書寫方式上強(qiáng)調(diào)明確地區(qū)分活動者的行為和系統(tǒng)行為 活動者的行為向左對齊 系統(tǒng)行為較為靠右的位置對齊 2 根據(jù)對UseCase的詳細(xì)程度 要求活動者與系統(tǒng)交互過程中的每一個 回合 都不能省略 3 引入控制語句 括號等結(jié)構(gòu)成分 圖16 1 活動者行為陳述內(nèi)容包括 1 活動者對系統(tǒng)的輸入 2 活動者自身的行為陳述 3 控制語句或括號 系統(tǒng)行為陳述內(nèi)容包括 1 系統(tǒng)對活動者的輸出 2 系統(tǒng)自身的行為陳述 3 控制語句或括號 人機(jī)交互的細(xì)化 從UseCase抽取的人機(jī)交互只是定義了使用一項(xiàng)系統(tǒng)功能時的基本交互內(nèi)容與步驟 還要針對系統(tǒng)使用者的特點(diǎn)進(jìn)行細(xì)化 人機(jī)交互的細(xì)化包括對交互過程中每一次輸入和每一次輸出的細(xì)化 1 輸入的細(xì)化 1 輸入設(shè)備的選擇 2 輸入步驟的細(xì)化 3 輸入信息表現(xiàn)形式的選擇 2 輸出的細(xì)化 1 輸出設(shè)備的選擇 2 輸出步驟的細(xì)化 3 輸出信息表現(xiàn)形式的選擇 16 2 3分析處理異常事件的人機(jī)交互 多數(shù)系統(tǒng)還需處理一些異常情況 為此需要定義處理異常情況的人機(jī)交互 當(dāng)系統(tǒng)正在執(zhí)行其正常功能時發(fā)生的事件稱作異常事件 來自人的異常事件通常是以預(yù)先約定的輸入信號通知系統(tǒng) 系統(tǒng)把各種處理異常事件的命令顯示出來供用戶選擇 用戶選擇所需的命令 開始他們所希望的處理 來自系統(tǒng)的異常事件首先由系統(tǒng)向用戶通知發(fā)生了某種事件 并同時請求用戶干預(yù) 或者并不請求干預(yù) 只是讓用戶確認(rèn)已經(jīng)注意到該事件 用戶干預(yù)時也開始了一個交互過程 步驟一般也不太多 16 2 4命令的組織 命令的組織措施 交互式人機(jī)界面通過以下兩種措施改進(jìn)了人與機(jī)器之間的交互 1 組合 2 分解 基本命令及其內(nèi)部結(jié)構(gòu)用戶可能直接從基本命令開始使用系統(tǒng)的任何一項(xiàng)功能 但若這些基本命令的數(shù)量太多 需要采用前面所說的組合措施將它們組織到一些高層命令之下 以形成容易記憶 便于操作的命令層次 較常見的是以下兩種組合 1 按命令所屬的子系統(tǒng) 2 按功能的相似性 關(guān)鍵的要求有以下三點(diǎn) 1 在每個高層命令之下展開讓用戶選擇的下一層命令 2 每個高層命令的名稱要恰當(dāng) 3 層次不要太深 多人機(jī)界面的命令組織 如果根據(jù)系統(tǒng)分布 子系統(tǒng)劃分或活動者分類等因素確定了系統(tǒng)要提供多個人機(jī)界面 則應(yīng)分別在每個獨(dú)立的人機(jī)界面范圍內(nèi)考慮命令的組織結(jié)構(gòu) 首先要明確每個界面將由哪些活動者使用 然后按各種策略 列出這些活動者參與的每個UseCase 從UseCase提取交互過程描述并進(jìn)行細(xì)化 進(jìn)而形成本界面內(nèi)的高層命令結(jié)構(gòu) 異常命令 處理異常事件的命令因其隨機(jī)性不能與正常的命令組織在同一個結(jié)構(gòu)中 而應(yīng)單獨(dú)進(jìn)行組織 命令對界面的需求 1 基本命令 2 高層命令 3 命令步 16 2 5輸出信息的組織結(jié)構(gòu) 人機(jī)交互過程中的輸出信息可根據(jù)其作用分為三種類型 1 對輸入命令的反饋 對輸入命令的反饋一般只在該命令的預(yù)計(jì)執(zhí)行時間較長時才有必要給出 目的是表明系統(tǒng)已接收到用戶的命令 正是進(jìn)行該命令所要求的工作 以及工作進(jìn)展到何種程度 有時還可給出允許用戶干預(yù)的命令提示 2 對當(dāng)前命令處理結(jié)果的報(bào)告 命令的處理結(jié)果首先體現(xiàn)于計(jì)算機(jī)內(nèi)部數(shù)據(jù)的變化 在人機(jī)界面上向用戶報(bào)告的可能只是其中一部分內(nèi)容 有些命令步可能不報(bào)告任何結(jié)果 3 對下一步可輸入命令的提示 對下一步可輸入命令的提示則幾乎在任何命令之后都是需要的 除非是執(zhí)行了結(jié)束一切工作的命令 16 2 6總結(jié)與討論 人機(jī)界面是應(yīng)用系統(tǒng)中一個相對獨(dú)立的部分 它的分析 設(shè)計(jì)和實(shí)現(xiàn)聯(lián)系很緊密 而且需要較為共同的專業(yè)知識背景 從開發(fā)過程的組織和人員分工來看 把人機(jī)交互的需求分析和人機(jī)界面設(shè)計(jì)放在一起 比和系統(tǒng)功能部分的需求分析放在一起可能更為合理 人機(jī)界面的需求可分為客觀需求和主觀需求 客觀需求是由系統(tǒng)功能決定的 無論使用系統(tǒng)的是什么人 客觀需求都是共同的 主觀需求則因人而異 取決于人的職業(yè)背景 知識水平 生理及心理特點(diǎn) 個人愛好等因素 分析客觀需求的基本策略是從UseCase提取人機(jī)交互 前提有兩條 一是每個UseCase對交互過程的描述包含了人對系統(tǒng)的每一條必要的輸入和每一條必要的輸出 二是每一項(xiàng)被人員活動者使用的系統(tǒng)功能 都已經(jīng)用UseCase進(jìn)行了描述 分析主觀需求的基本策略是考察每一類人員活動者 前提是已經(jīng)識別了每一類活動者 沒有哪些被漏掉 16 3人機(jī)界面的設(shè)計(jì)準(zhǔn)則 一致性 界面的各個部分及各個層次 在術(shù)語 風(fēng)格 交互方式 操作步驟等方面盡可能保持一致 此外 要使自己設(shè)計(jì)的界面與當(dāng)前的潮流一致 使用簡便 通過界面完成一次與系統(tǒng)的交互 所進(jìn)行的操作盡可能少 包括把敲擊鍵盤的次數(shù)和點(diǎn)擊鼠標(biāo)的次數(shù)減到最少 甚至要減少拖動光標(biāo)的距離 啟發(fā)性 能夠啟發(fā)和引導(dǎo)用戶正確 有效地進(jìn)行界面操作 界面上出現(xiàn)的文字 符號和圖形具有準(zhǔn)確而明朗的含義或寓意 提示信息及時而明確 總體布局和組織層次合理 加上色彩 亮度的巧妙運(yùn)用 使用戶能夠自然而然地想到為完成自己想做的事應(yīng)進(jìn)行什么操作 減少重復(fù)的輸入 記錄用戶曾經(jīng)輸入過的信息 特別是那些較長的字符串 當(dāng)另一時間和場合需要用戶提供同樣的信息時 能夠自動地或者通過簡單的操作復(fù)用以往的輸入信息 而不必人工重新輸入 減少人腦記憶的負(fù)擔(dān) 使人在與系統(tǒng)交互時不必記憶大量的操作規(guī)則和對話信息 假如你的設(shè)計(jì)結(jié)果要讓用戶記住一大堆關(guān)于如何使用系統(tǒng)的規(guī)則 操作步驟和注意事項(xiàng) 進(jìn)入一個新的窗口時又要記住上一個窗口上的許多信息 那么用戶就像一個受系統(tǒng)驅(qū)使的奴仆 容錯性 對用戶的誤操作有容忍能力或補(bǔ)救措施 包括 對可能引起不良后果的操作 給出警告信息或請求再次確認(rèn) 提供撤消 undo 和恢復(fù) redo 功能 使系統(tǒng)方便地回到以往的某個狀態(tài) 或重新進(jìn)入較新的狀態(tài) 及時反饋 對那些需要較長的系統(tǒng)執(zhí)行時間才能完成的用戶命令 不要等系統(tǒng)執(zhí)行完畢時才給出反饋信息 系統(tǒng)應(yīng)該及時地給出反饋信息 16 4人機(jī)界面OO設(shè)計(jì) 人機(jī)界面的設(shè)計(jì) 一般是以一種選定的界面支持系統(tǒng)為基礎(chǔ) 利用它所支持的界面構(gòu)造成分 設(shè)計(jì)一個可滿足人機(jī)交互需求 適合使用者的人機(jī)界面設(shè)計(jì)模型 16 4 1界面支持系統(tǒng) 窗口系統(tǒng) 窗口系統(tǒng)是控制位映像顯示器與輸入設(shè)備的系統(tǒng)軟件 它所管理的資源有屏幕 窗口 像素映像 色彩表 字體 圖形資源及輸入設(shè)備 圖形用戶界面 一般把一種在窗口系統(tǒng)之上提供層次更高的界面支持功能 具有特定的視感和風(fēng)格 支持應(yīng)用系統(tǒng)用戶界面開發(fā)的系統(tǒng)稱作圖形用戶界面 即GUI 可視化編程環(huán)境 可視化編程使編程的傳統(tǒng)含義 書寫程序的源代碼這一思想發(fā)生了很大變化 程序員可以在圖形用戶界面上通過對一些形象 直觀的圖形元素進(jìn)行操作來構(gòu)造自己的程序 而不是直接使用形式化的編程語言 16 4 2界面元素 窗口 屏幕上得以獨(dú)立顯示 操作的區(qū)域稱為窗口 這些區(qū)域可由系統(tǒng)或不同應(yīng)用程序使用 窗口可以打開 關(guān)閉 移動或改變大小等 對話框 用來收集用戶的輸入信息或向用戶提供反饋的區(qū)域 輸入信息包括由用戶選擇yes或no的選擇鈕 輸入文件名的正文框 或其他設(shè)置各種參數(shù)的輸出入框 輸出包括各種提示 可選項(xiàng)及錯誤消息等 菜單 顯示一組操作或命令的清單 每一菜單項(xiàng)可以是文字或圖符 菜單可用移動光標(biāo)或鼠標(biāo)鍵來選取 有固定或活動菜單 滾動條 用以移動窗口區(qū)域中顯示位置的指示條 圖形 是系統(tǒng)或用戶定義的對象的符號圖形表示 諸如文件 文件夾 光驅(qū)等 16 4 3設(shè)計(jì)過程與策略 選擇和掌握界面支持系統(tǒng)1 硬件 操作系統(tǒng)及編程語言多數(shù)窗口系統(tǒng)是針對特定硬件的 GUI一般基于特定的硬件和操作系統(tǒng) 甚至與操作系統(tǒng)結(jié)合為一體 2 界面實(shí)現(xiàn)的支持級別 可以把軟件系統(tǒng)對人機(jī)界面實(shí)現(xiàn)的支持程度分為五個級別 1 0級 操作系統(tǒng)和一般編程語言 2 1級 圖形軟件包 3 2級 窗口系統(tǒng) 4 3級 GUI 5 4級 可視化編程環(huán)境 3 界面風(fēng)格與視感要考慮用戶適合何種風(fēng)格和視感的人機(jī)界面 對大部分用戶而言 選擇當(dāng)前流行的窗口系統(tǒng) GUI或可視化編程環(huán)境是適宜的 因?yàn)榱餍幸馕吨脩舾菀捉邮?更容易學(xué)習(xí)和掌握 根據(jù)人機(jī)交互需求選擇界面元素1 系統(tǒng)的啟動有些系統(tǒng)可以由一條最高層的命令啟動 分布式系統(tǒng)和所含的子系統(tǒng)功能較為獨(dú)立的系統(tǒng)可以由多條最高層命令分別啟動 2 基本命令的執(zhí)行在基本命令以上的高層命令的執(zhí)行只是在人機(jī)界面上逐步把用戶引向基本命令 而基本命令的執(zhí)行則需要從界面對象把消息發(fā)送給實(shí)現(xiàn)命令功能的其他對象 3 高層命令組織結(jié)構(gòu)的實(shí)現(xiàn)高層命令組織結(jié)構(gòu)是通過界面元素的構(gòu)造層次體現(xiàn)的 4 詳細(xì)交互過程的輸入與輸出在基本命令的每個命令步上進(jìn)行的輸入與輸出都要選擇適當(dāng)?shù)慕缑嬖貋硗瓿?5 異常命令的輸入異常命令是在隨機(jī)發(fā)生的事件打斷系統(tǒng)正常運(yùn)行的情況下所輸入的命令 用OO概念表示界面元素 以下將逐個介紹各種OO概念在界面設(shè)計(jì)中的用法 1 對象和類每個具體的界面元素都是一個對象 每一組具有相同特征的界面元素用一個對象類來定義 且這種對象類創(chuàng)造的每一個對象實(shí)例就是一個可在人機(jī)界面上顯示的界面元素 如圖16 2所示 圖16 2 2 屬性與服務(wù)在界面支持系統(tǒng)所提供的可復(fù)用類中已經(jīng)定義的屬性和服務(wù) 都不必再去定義 自己定義的類 包括在繼承的基礎(chǔ)上自己定義的特殊類 都要給出其屬性與服務(wù) 3 整體 部分結(jié)構(gòu)識別此種整體 部分結(jié)構(gòu)的策略是 分析一個較復(fù)雜的界面對象是由哪些獨(dú)立部分構(gòu)成的 4 一般 特殊結(jié)構(gòu)在人機(jī)界面的設(shè)計(jì)中常常要用一般 特殊結(jié)構(gòu)表示較一般的界面類和較特殊的界面類之間的關(guān)系 使后者能夠繼承前者的屬性與服務(wù) 從而減少開發(fā)工作的強(qiáng)度 5 關(guān)聯(lián)如果兩類對象之間存在著一種靜態(tài)聯(lián)系 即一個類的界面對象需要知道它與另一個類的哪個 或哪些 界面對象相聯(lián)系 而且難以區(qū)分誰是整體 誰是部分 則應(yīng)該用關(guān)聯(lián)表示它們之間的這種關(guān)系 6 消息連接在人機(jī)界面的運(yùn)行中 消息是大量存在的 1 從命令輸入到命令處理 2 系統(tǒng)向用戶輸出信息 16 5可視化編程環(huán)境下的人機(jī)界面設(shè)計(jì) 當(dāng)前廣泛流行并深受開發(fā)人員歡迎的可視化編程環(huán)境給人機(jī)界面的開發(fā)帶來了巨大的變化 也對人機(jī)界面的面向?qū)ο笤O(shè)計(jì)提出了挑戰(zhàn)性的問題 16 5 1問題的提出 在可視化編程環(huán)境中 應(yīng)用系統(tǒng)開發(fā)者可以通過環(huán)境界面上的操作 以 所見即所得 的方式定制自己所需的人機(jī)界面 如此定義的界面對象將由環(huán)境所提供的工具自動地轉(zhuǎn)換為應(yīng)用系統(tǒng)的源代碼 在這種條件下 人機(jī)界面的實(shí)現(xiàn)已經(jīng)不是傳統(tǒng)意義上的 編程 不需要程序員去逐行逐句地編寫每個對象類以及它的每個屬性與服務(wù) 16 5 2設(shè)計(jì)的必要性 為什么仍然需要設(shè)計(jì) 1 設(shè)計(jì)的主要目的是為實(shí)現(xiàn)提供依據(jù) 提供一份可實(shí)施的藍(lán)圖 即設(shè)計(jì)文檔 然后讓程序員根據(jù)設(shè)計(jì)文檔去開發(fā)系統(tǒng)的源程序 2 與實(shí)現(xiàn)相比 設(shè)計(jì)是一種抽象層次較高的開發(fā)活動 3 設(shè)計(jì)的另一個目的是降低失敗的風(fēng)險 為什么要改進(jìn)設(shè)計(jì)策略和簡化設(shè)計(jì)文檔 1 界面對象的各種物理屬性是一種反映其外觀形象的特征信息 由實(shí)現(xiàn)人員以所見即所得的方式直接地定制這些特征效果最好 效率也最高 2 可視化編程環(huán)境一般都帶有內(nèi)容很豐富的界面類庫 16 5 3基于可視化編程環(huán)境的設(shè)計(jì)策略 根據(jù)人機(jī)交互需求選擇界面元素 這項(xiàng)工作在可視化編程環(huán)境所能支持的界面元素中進(jìn)行選擇 必要時 設(shè)計(jì)者應(yīng)該在環(huán)境中實(shí)際操作和演示一下考慮中的各種界面元素 以決定哪些元素最適合本系統(tǒng)的人機(jī)交互 學(xué)習(xí)可視化編程環(huán)境及其類庫 需要學(xué)習(xí)和掌握的重點(diǎn)是 1 該環(huán)境對各種界面對象所采用的術(shù)語及其含義 2 各個類所創(chuàng)建的界面對象的外觀 以及它們適合人機(jī)交互中何種輸入與輸出 3 類庫中提供了哪些界面對象類以及這些類的正式名稱 4 各個類界面對象所能接收的界面操作事件如何與處理該事件的程序銜接 5 比較復(fù)雜的界面對象 可以包容其他哪些界面對象而形成組合對象 6 各個類之間的繼承層次 7 必要時進(jìn)一步了解各個界面對象類的屬性與服務(wù)細(xì)節(jié) 建立類圖1 類的復(fù)用每當(dāng)要建立類圖中一個界面對象類時 應(yīng)該首先想到使用環(huán)境所提供的可復(fù)用類 這些類通常能夠滿足應(yīng)用系統(tǒng)的大部分人機(jī)交互需求 充分地復(fù)用這些類將大大地簡化界面的設(shè)計(jì)和實(shí)現(xiàn) 2 屬性上著重表示邏輯特征通過繼承可復(fù)用類而定義的新類是對可復(fù)用類的特化 通過屬性體現(xiàn)的特化包括兩種情況 一是對繼承來的屬性設(shè)置不同的初始值 二是在新類中增添新的屬性 3 服務(wù)應(yīng)顯式地表示從高層類繼承的服務(wù)對于被復(fù)用的類采用前面所述的簡略表示法可以明顯地簡化OOD文檔 但是也帶來一個問題 在本系統(tǒng)的OOD類圖中看不到新定義的類繼承了哪些屬性和服務(wù) 解決這一問題的補(bǔ)充策略是 在本系統(tǒng)定義的特殊類庫中的類繼承的 將是在本系統(tǒng)中被使用的服務(wù) 4 整體 部分結(jié)構(gòu) 表現(xiàn)界面的組織結(jié)構(gòu)和命令層次通過整體 部分結(jié)構(gòu)表現(xiàn)界面對象之間的組成關(guān)系和人機(jī)交互命令的層次關(guān)系 這里要補(bǔ)充說明的是以下幾點(diǎn) 1 在簡單情況下可以隱式地表示部分對象 2 區(qū)分對象的普通屬性和它的部分對象 5 一般 特殊結(jié)構(gòu) 多從可復(fù)用類直接繼承如果一個應(yīng)用系統(tǒng)中使用的兩上或兩個以上界面對象有許多共同特征 按照通常的設(shè)計(jì)策略是運(yùn)用一般 特殊結(jié)構(gòu) 6 關(guān)聯(lián) 注意命名規(guī)律在可視化編程環(huán)境下 需要注意 在環(huán)境支持下實(shí)現(xiàn)的界面對象 環(huán)境將為之分配一個默認(rèn)的對象標(biāo)識 雖然這個默認(rèn)的對象允許操作者修改 但是它的初始名稱反映了環(huán)境的命名規(guī)律 7 消息連接 忽略自動實(shí)現(xiàn)的消息界面類庫中的每個類都定義了許多服務(wù) 每個服務(wù)對應(yīng)著一種消息 應(yīng)用系統(tǒng)在這些類的基礎(chǔ)上定制的類能提供的服務(wù)也很多 但是其中有大量的消息是在可視化編程環(huán)境支持下自動實(shí)現(xiàn)的 小結(jié) 本章主要是從軟件的角度講授人機(jī)界面的設(shè)計(jì)問題 首先介紹與人機(jī)界面有關(guān)的分析問題 以及人機(jī)界面設(shè)計(jì)的一般準(zhǔn)則 然后介紹如何運(yùn)用面向?qū)ο蟮母拍詈捅硎具M(jìn)行人機(jī)界面的設(shè)計(jì)- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- UML 16 人機(jī)交互 部分 設(shè)計(jì)
鏈接地址:http://www.hcyjhs8.com/p-6431426.html