軟件需求分析與設(shè)計(jì)-框架設(shè)計(jì)與部署.ppt_第1頁
軟件需求分析與設(shè)計(jì)-框架設(shè)計(jì)與部署.ppt_第2頁
軟件需求分析與設(shè)計(jì)-框架設(shè)計(jì)與部署.ppt_第3頁
軟件需求分析與設(shè)計(jì)-框架設(shè)計(jì)與部署.ppt_第4頁
軟件需求分析與設(shè)計(jì)-框架設(shè)計(jì)與部署.ppt_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

軟件需求分析與設(shè)計(jì) 框架設(shè)計(jì)與部署,2019/9/4,2,框架設(shè)計(jì)與部署,使用模式設(shè)計(jì)持久性框架 UML部署圖和構(gòu)件圖 架構(gòu)的文檔化:UML和N+1視圖模型,2019/9/4,3,使用模式設(shè)計(jì)持久性框架,目標(biāo) 使用模板方法 狀態(tài)和命令模式來設(shè)計(jì)部分框架 介紹對象關(guān)系映射中的一些問題 使用虛代理實(shí)現(xiàn)的滯后具體化,2019/9/4,4,持久性,持久性對象(persistent object) 是指需要持久性存儲的對象 存儲機(jī)制 對象數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫 其他存儲格式 XML, Palm OS PDB文件、層次結(jié)構(gòu)數(shù)據(jù)庫 持久性框架(persistent framwork) 是一組通用的,可復(fù)用的可擴(kuò)展的類型,它提供支持持久性對象的功能 持久性服務(wù) 由框架創(chuàng)建 與關(guān)系數(shù)據(jù)庫結(jié)合使用O-R映射服務(wù),2019/9/4,5,框架,一組相關(guān)的類和接口相互協(xié)作,為邏輯子系統(tǒng)的核心和不變部分提供服務(wù) 包含具體和抽象類,這些類定義了需要遵循的接口,需要參與的對象交互以及其他不變式 通常(但不是必須)要求框架的使用者去定義已有框架的子類來利用、定制或擴(kuò)展框架服務(wù) 包含即有抽象方法又有具體方法的抽象類 依賴于好萊塢原則,即“不要給我們打電話,我會給您打電話的”,用戶定義的類將從預(yù)定義的框架類接收消息,這通常使通過實(shí)現(xiàn)超類的抽象方法來實(shí)現(xiàn)的 框架是可重用的,2019/9/4,6,持久性服務(wù)和框架的需求,從持久存儲裝置中存儲和提取對象 提交和回滾事務(wù),2019/9/4,7,關(guān)鍵思想,映射(mapping) 在類和持久性存儲之間,對象屬性和記錄的域之間必須有某種映射關(guān)系 對象標(biāo)識(Object identity) 為了方便將記錄域?qū)ο箨P(guān)聯(lián)起來,確保沒有不適當(dāng)?shù)闹貜?fù),記錄和對象必須有唯一的對象標(biāo)識 數(shù)據(jù)庫映射器(database mapper) 負(fù)責(zé)具體化和虛化的純虛構(gòu)數(shù)據(jù)庫映射器 具體化和虛化(materialization and Dematerialization) 具體化是指將持久性存儲中數(shù)據(jù)的非對象表示轉(zhuǎn)換為對象 虛化是指與具體化相反的動作,2019/9/4,8,關(guān)鍵思想,緩存(cache) 持久性服務(wù)為提高性能緩存具體化后的對象 對象的事務(wù)狀態(tài)(transation state of Object) 就對象與當(dāng)前事務(wù)而言,了解對象狀態(tài)是有用的, 事務(wù)操作(transaction operation) 提交和回滾操作 滯后具體化(lazy materialization ) 并非一開始就具體化所有對象,只有當(dāng)需要時才具體化特定實(shí)例 虛代理(virtual proxy) 滯后具體化可以通過使用稱為虛代理的智能引用來實(shí)現(xiàn),2019/9/4,9,模式:將對象表示為表,對象和表的映射,2019/9/4,10,UML數(shù)據(jù)建模簡檔,2019/9/4,11,模式:對象標(biāo)識符OID,對象表示符連接了對象和記錄,2019/9/4,12,通過外觀訪問持久服務(wù),PersistenceFacade,2019/9/4,13,基于元數(shù)據(jù)的數(shù)據(jù)庫映射器,2019/9/4,14,在GUI框架中使用模板方法模式,2019/9/4,15,使用模板方法模式的具體化,用于映射器對象的模板方法,2019/9/4,16,使用模板方法模式的具體化,復(fù)寫鉤子方法,2019/9/4,17,使用模板方法模式的具體化,再次使用模板方法強(qiáng)化代碼,2019/9/4,18,使用模板方法模式的具體化,持久性框架,2019/9/4,19,UML中的安全方法,2019/9/4,20,使用MapperFactory配置Mapper,class MappperFactory public Map getAllMappers() class persisitenceFacde private java.utile.Map mappers = MapperFactory.getInstance().getAllMappers(); 工廠能夠通過讀取系統(tǒng)屬性找到需要初始化的IMapper類,2019/9/4,21,模式:緩存管理,由數(shù)據(jù)庫映射器負(fù)責(zé)維護(hù)緩存。如果每個持久性對象使用不同的映射器,那么每個映射器可以維護(hù)自己的緩存 當(dāng)對象被具體化時,對象被置入緩存,以O(shè)ID為鍵,2019/9/4,22,在一個類中合并和隱藏 SQL語句,將所有的SQL操作合并到一個單獨(dú)的純虛構(gòu)類RDOperations RDB映射器類與該類協(xié)作獲取數(shù)據(jù)庫記錄或記錄集 RDBOperation類的接口: class RDBOperaons public ResultSet getProductionData(OID oid) pubic ResultSet getSaleData(OID oid) 優(yōu)點(diǎn) 易于維護(hù),并且有利于專家進(jìn)行性能調(diào)優(yōu) 封裝了訪問數(shù)據(jù)的方法和細(xì)節(jié),2019/9/4,23,示例,class RDBOperaons public ResultSet getProductionData(OID oid) pubic ResultSet getSaleData(OID oid) class ProductionDescriptionRDBMapper extends AbstractPersistenceMapper Protected Object getObjectFromStorage(OID oid) resultSet rs = RDBOperations.getInstance().getProductDescriptionData(oid); ProductionDescription ps = new ProductionDescription(); ps.setPrice(rs.getDouble(“PRICE”); ps.setOID(oid); return ps; ,2019/9/4,24,事務(wù)狀態(tài)和狀態(tài)模式,PersistentObject的狀態(tài)圖,持久性對象可以被插入、刪除和修改 對持久性對象的操作,不會立即導(dǎo)致數(shù)據(jù)庫的更新,必須要明確的進(jìn)行提交操作 對操作的行營以來于對象的事務(wù)狀態(tài),2019/9/4,25,持久對象,2019/9/4,26,持久對象,2019/9/4,27,狀態(tài)模式,語境/問題 對象的行為依賴于它的狀態(tài),而它的方法中包含能夠反映依賴狀態(tài)的條件動作的case邏輯。是否存在替代條件邏輯的方法 解決方案 給每一個狀態(tài)創(chuàng)建狀態(tài)類,并實(shí)現(xiàn)一個公共的接口。將語境對象中的依賴于狀態(tài)的操作委派給其當(dāng)前的狀態(tài)對象。確保語境對象總是指向反映其當(dāng)前狀態(tài)的狀態(tài)對象,2019/9/4,28,應(yīng)用狀態(tài)模式,2019/9/4,29,使用命令模式設(shè)計(jì)事務(wù),事務(wù)數(shù)據(jù)庫任務(wù)的順序可以影響其成敗 假設(shè)數(shù)據(jù)庫中有參照完整性約束,當(dāng)表A的一條記錄被更新時,則數(shù)據(jù)庫要求表中的記錄已經(jīng)存在 假設(shè)事務(wù)包含表B中插入記錄的任務(wù)和一個更新表A中記錄的任務(wù),如果更新任務(wù)在插入前執(zhí)行,將會引起參照完整性錯誤,2019/9/4,30,命令模式,語境/問題 如何處理需要諸如排序(優(yōu)先級)、排隊(duì)、延遲、記錄日志或重做等功能的請求或任務(wù)? 解決方案 為每一個任務(wù)創(chuàng)建一個類,并實(shí)現(xiàn)共同的接口,2019/9/4,31,用于數(shù)據(jù)庫操作的命令,2019/9/4,32,使用虛代理實(shí)現(xiàn)滯后具體化,滯后具體化 推遲“子”對象的具體化被稱為滯后具體化 可以通過虛代理來實(shí)現(xiàn)滯后具體化 虛代理 是其他對象的代理,當(dāng)它第一次被引用時具體化該對象,這樣就實(shí)現(xiàn)了滯后具體化 虛代理是輕量級對象,代表了被具體化或尚未被具體化的“真實(shí)對象”,2019/9/4,33,使用虛代理實(shí)現(xiàn)之后具體化,Manufacture的虛代理,2019/9/4,34,非滯后具體化解決方法,/MANUFACTUTER的滯后具體化 Class ProductDesriptionRDBMapper externs AbstractPersisitenceMapper Protected Object getObjectFromStorage(OID oid) ResultSet rs = RDBOperation.getInstance().getProductDescriptionData(oid); productDescription ps = new productDescription(); ps.setPrice(rs.getDouble(“PRICE”); /這里是本質(zhì) String manufactureForeignKey = rs.getString(“MANU_OID”); OID manuOID = new OID(manufactureerForeignKey); ps.setManufacturer(IManufaturer)PersistenceFacade.getinstance().get(ManuOID, Manufaturwe.class); ,2019/9/4,35,滯后具體化解決方法,/MANUFACTUTER的滯后具體化 Class ProductDesriptionRDBMapper externs AbstractPersisitenceMapper Protected Object getObjectFromStorage(OID oid) ResultSet rs = RDBOperation.getInstance().getProductDescriptionData(oid); productDescription ps = new productDescription(); ps.setPrice(rs.getDouble(“PRICE”); /這里是本質(zhì) String manufactureForeignKey = rs.getString(“MANU_OID”); OID manuOID = new OID(manufactureerForeignKey); ps.setManufacturer(new ManufacturerProxy(manuOID); ,2019/9/4,36,虛代理的實(shí)現(xiàn),2019/9/4,37,如何在表中表示關(guān)系,一對一關(guān)聯(lián) 在一個或者兩個表中放入OID外鍵,表示關(guān)系中的對象 一對多關(guān)聯(lián) 創(chuàng)建關(guān)聯(lián)表來記錄關(guān)系中的每一個對象的OID 多對多關(guān)聯(lián) 創(chuàng)建關(guān)聯(lián)表來記錄關(guān)系中的每個對象的OID,2019/9/4,38,PersistentObject超類和關(guān)注分離,問題:創(chuàng)建抽象技術(shù)服務(wù)超類Persistent,所有持久性對象都要集成于此。該類通常為持久性定義了諸如唯一OID這樣的屬性,以及向數(shù)據(jù)庫保存的方法,2019/9/4,39,UML部署圖和構(gòu)件圖,部署圖 構(gòu)件圖,2019/9/4,40,部署圖,最基本的元素是節(jié)點(diǎn) 設(shè)備節(jié)點(diǎn),具有處理和存儲能力,可執(zhí)行軟件的物理計(jì)算資源 執(zhí)行環(huán)境節(jié)點(diǎn)(EEN),在外部節(jié)點(diǎn)中運(yùn)行的軟件計(jì)算資源,其自身可以容納和執(zhí)行其他可執(zhí)行軟件元素 操作系統(tǒng) 虛擬機(jī) 數(shù)據(jù)庫引擎 Web瀏覽器 工作流引擎 Servlet容器或EJB容器,2019/9/4,41,UML部署圖,節(jié)點(diǎn)之間的一般連接表示一種通信路徑,上面可以標(biāo)記協(xié)議 節(jié)點(diǎn)可以包含并顯示制品,具體物理元素 部署圖中通常顯示的是一組實(shí)例的示例,具體實(shí)例的名稱帶有下劃線,2019/9/4,42,部署圖,2019/9/4,43,構(gòu)件圖,構(gòu)件 表示封裝了其內(nèi)容的系統(tǒng)模塊,它在其環(huán)境中的表現(xiàn)形式可以被替代 構(gòu)件通過所提供的和所需要的接口定義了其行為 如果構(gòu)件作為類型,那么它的一致性是通過這些所提供的和所需要的接口來定義的 構(gòu)件建模思想 接口是重要的 它是自包容的和可替換的模塊,2019/9/4,44,UML構(gòu)件,2019/9/4,45,架構(gòu)的文檔化:UML和N+1視圖模型,目標(biāo) 基于N+1視圖模型創(chuàng)建有用的架構(gòu)文檔 使用各種類型的UML圖,2019/9/4,46,SAD和架構(gòu)視圖,軟件架構(gòu)文檔SAD 描述有關(guān)架構(gòu)的總體想法,包含架構(gòu)分析的關(guān)鍵決策 可以幫助開發(fā)人員理解系統(tǒng)的基本概念 架構(gòu)視圖 定義 從制定視角出發(fā)的系統(tǒng)架構(gòu)視圖;其主要關(guān)注結(jié)構(gòu)、模塊性、基本構(gòu)件和主要控制流等方面 架構(gòu)視圖也應(yīng)該解釋架構(gòu)為何如此 架構(gòu)視圖是從某個角度觀察系統(tǒng)的窗口,只強(qiáng)調(diào)關(guān)鍵信息或想法,忽略其他 架構(gòu)視圖是交流、教育和思考的工具,2019/9/4,47,SAD和架構(gòu)視圖,創(chuàng)建架構(gòu)視圖 在系統(tǒng)創(chuàng)建之后,作為總結(jié)和面向未來開發(fā)者的學(xué)習(xí)輔助材料 在某個迭代里程碑之后進(jìn)行創(chuàng)建,作為當(dāng)前開發(fā)團(tuán)隊(duì)和新成員的學(xué)習(xí)輔助材料 在早期迭代階段,預(yù)測地創(chuàng)建架構(gòu)視圖,這樣能夠?qū)?chuàng)造性的設(shè)計(jì)工作產(chǎn)生幫助 N+1(41)視圖模型 邏輯 進(jìn)程 部署 數(shù)據(jù) (“1”)用例視圖,2019/9/4,48,架構(gòu)視圖的細(xì)節(jié),邏輯視圖 最重要的層、子系統(tǒng)、包、框架、類、接口等概念性組織。概括了主要軟件元素的功能 展示了描述系統(tǒng)關(guān)鍵方面的重要用例場景 UP設(shè)計(jì)模型的視圖,是使用UML包、類和交互圖的可視化 進(jìn)程視圖 進(jìn)程和線程。描述了他們的職責(zé)、協(xié)作以及分配給他們的邏輯元素 UP設(shè)計(jì)模型的視圖,是使用UML類圖和交互圖的可視化,其中使用了UML進(jìn)程和線程表示法,2019/9/4,49,架構(gòu)視圖的細(xì)節(jié),部署視圖 進(jìn)程和構(gòu)件在處理節(jié)點(diǎn)上的物理部署以及節(jié)點(diǎn)之間的網(wǎng)絡(luò)配置 UP部署模型的視圖,使用UML部署的可視化 數(shù)據(jù)視圖 數(shù)據(jù)流、持久性數(shù)據(jù)模式、對象與持久性數(shù)據(jù)之間的模式映射,對象到數(shù)據(jù)庫、存儲過程以及觸發(fā)器的映射機(jī)制 UP數(shù)據(jù)模型的部分視圖,使用UML類圖的可視化用于描述數(shù)據(jù)模型 用UML活動圖表示數(shù)據(jù)流,2019/9/4,50,架構(gòu)視圖的細(xì)節(jié),安全視圖 概述了安全模式和架構(gòu)中實(shí)施安全的控制點(diǎn) 可以作為UP部署模型的視圖,使用UML部署圖的可視化,突出了關(guān)鍵安全控制點(diǎn)和相關(guān)文件 實(shí)現(xiàn)視圖 實(shí)現(xiàn)模型 包含源代碼、可執(zhí)行文件等。其中有兩部分: 可執(zhí)行文件 用于創(chuàng)建可執(zhí)行文件的制品 實(shí)現(xiàn)模型包括Web頁面、DLL、可執(zhí)行文件、源代碼等 UP實(shí)現(xiàn)模型的視圖,用文字或者UML包圖和構(gòu)件圖表示,2019/9/4,51,架構(gòu)視圖的細(xì)節(jié),開發(fā)視圖 此視圖概括開發(fā)者創(chuàng)建開發(fā)環(huán)境時需要知道的信息 用例視圖 概括了架構(gòu)上最為重要的用例和他們的非功能性需求,也就是說,通過其實(shí)現(xiàn),那些用例闡述了與重要架構(gòu)相關(guān)的事物,或大量架構(gòu)元素的實(shí)現(xiàn) UP用例模型的視圖,用文字或者UML用例圖來表達(dá)。也可以包含用UML交互圖表示的用例實(shí)現(xiàn),2019/9/4,52,軟件架構(gòu)文檔,架構(gòu)表示 (概括介紹文檔中如何描述架構(gòu),例如:使用技術(shù)備忘錄和架構(gòu)視圖,對于技術(shù)備忘錄或視圖不熟悉的人有用,注意并非所有視圖都是必要的) 架構(gòu)因素 (參考補(bǔ)充性規(guī)格說明) 架構(gòu)決策 (概括決策的一組技術(shù)備忘錄) 邏輯視圖 (主要元素的UML包圖和類圖),對主要構(gòu)件的大尺度結(jié)構(gòu)和功能的解說) 部署視圖 (UML部署圖顯示了節(jié)點(diǎn)以及進(jìn)程和構(gòu)件的分配。有關(guān)網(wǎng)絡(luò)的注解) 進(jìn)程視圖 (解釋系統(tǒng)進(jìn)程和線程的UML類圖和交互圖,基于交互的線程和進(jìn)程對此進(jìn)行組織,有關(guān)進(jìn)程間的通訊如何工作的解釋) 用例視圖 (簡要概括了構(gòu)架上最重要的用例,某些構(gòu)架上重要的用例實(shí)現(xiàn)或場景的UML交互圖,以及在圖中解釋如何描述主要構(gòu)架元素的注釋) 其他視圖 ,2019/9/4,53,軟件架構(gòu)文檔:Nextgen POS項(xiàng)目,簡介:架構(gòu)表示 本SAD從多個視圖描述構(gòu)架,包括 邏輯視圖:簡要的定義 數(shù)據(jù)視圖: 進(jìn)程視圖: 除此以外,SAD引用了補(bǔ)充規(guī)格說明,您可以在其中發(fā)現(xiàn)記錄于因素表中的具有重要架構(gòu)意義的需求,同時,SAD也以稱為技術(shù)備忘錄的形式概括了關(guān)鍵架構(gòu)的決策,技術(shù)備忘錄的篇幅為一頁,描述了決策及其動機(jī) 注意,每一個視圖都有相關(guān)動機(jī)的討論,當(dāng)需要修改架構(gòu)時,這些討論對您會有幫助 架構(gòu)因素 參見33.6節(jié)補(bǔ)充規(guī)格說明書中重要架構(gòu)需求的因素表 架構(gòu)決策(技術(shù)備忘錄),2019/9/4,54,可靠性從遠(yuǎn)程服務(wù)失敗中恢復(fù),解決方案概要:使用服務(wù)查找以實(shí)現(xiàn)其位置的透明性,使用本地服務(wù)失敗中恢復(fù) 因素 從遠(yuǎn)程服務(wù)失敗中的健壯恢復(fù)(稅金計(jì)算機(jī),庫存等) 從遠(yuǎn)程產(chǎn)品(例如描述和定價)數(shù)據(jù)庫訪問失敗中的健壯恢復(fù) 解決方案 使用在ServicesFactory中創(chuàng)建的適配器以實(shí)現(xiàn)關(guān)于服務(wù)位置的防止變異。如果可能,提供遠(yuǎn)程服務(wù)的本地實(shí)現(xiàn),該實(shí)現(xiàn)通常只具備簡化的和受限的行為。例如,本地稅金計(jì)算器可能使用固定稅率。本地產(chǎn)品信息數(shù)據(jù)庫緩存了部分最常用的產(chǎn)品信息。重新連接時將進(jìn)行庫存的更新 參見“第三方服務(wù)的適應(yīng)性”技術(shù)備忘錄,其中記錄了本解決方案的可適應(yīng)性方面,因?yàn)檫h(yuǎn)程服務(wù)的實(shí)現(xiàn)對于每個安裝都可能有所不同 為了滿足盡快重新連接遠(yuǎn)程服務(wù)的質(zhì)量場景,對該服務(wù)使用智能代理對象,即在每個服務(wù)調(diào)用時,測試遠(yuǎn)程服務(wù)是否恢復(fù),如果可能則重定向這些調(diào)用,2019/9/4,55,可靠性從遠(yuǎn)程服務(wù)失敗中恢復(fù),動機(jī) 零售上不想停止銷售!因此,如果NextGen POS提供了這一程度的可靠性和可恢復(fù)性,它將會是很具有吸引力的產(chǎn)品,因?yàn)槟壳皼]有一個競爭對手可以體供這一能力。客戶端僅有很少的資源,因此,只能存在少量的產(chǎn)品信息緩存,因此實(shí)際上無法在客戶端復(fù)制第三方稅金計(jì)算器。當(dāng)將來客戶希望并能夠永久復(fù)制服務(wù)時,該解決方案也支持這樣的進(jìn)化點(diǎn),例如在每個客戶端安裝稅金計(jì)算器 未解決問題 無 其他可供選擇的方案 購買遠(yuǎn)程信用卡授權(quán)服務(wù)的“金牌”質(zhì)量服務(wù)協(xié)議來提高可靠性??尚?,但關(guān)于昂貴。,2019/9/4,56,邏輯視圖,討論和動機(jī) 使用了經(jīng)典的分層架構(gòu),由于系統(tǒng)操作比較簡單,沒有過多的工作流協(xié)作,因此在UI層和領(lǐng)域?qū)又g沒有加入會話對象的應(yīng)用層 Register類是接收來自UI層的系統(tǒng)操作請求的首要控制者,2019/9/4,57,邏輯視圖中的包圖,2019/9/4,58,部署視圖,討論和動機(jī) 為了提高效率和可能性,產(chǎn)品數(shù)據(jù)庫,庫存系統(tǒng),稅金計(jì)算器被部署在不同的計(jì)算機(jī)上 考慮到高額的許可費(fèi),稅金計(jì)算器以集中方式實(shí)現(xiàn),而不是復(fù)制在每個POS終端本地復(fù)制服務(wù)。,2019/9/4,59,部署視圖,2019/9/4,60,數(shù)據(jù)視圖,討論和動機(jī) 使用Hibernate O-R映射系統(tǒng)把從產(chǎn)品數(shù)據(jù)庫中讀取的數(shù)據(jù)轉(zhuǎn)換為Java對象 使用定制的NextGen適配器對銷售數(shù)據(jù)進(jìn)行轉(zhuǎn)換并寫入ERP數(shù)據(jù)庫,通常ERP系統(tǒng)需要XML格式 使用定制的NextGen適配器將發(fā)往外部支付授權(quán)服務(wù)的支付請求數(shù)據(jù)轉(zhuǎn)換為廣為適應(yīng)的VISA格式(和協(xié)議),2019/9/4,61,處理銷售場景的數(shù)據(jù)流視圖,2019/9/4,62,用例視圖,討論和動機(jī) 處理銷售是架構(gòu)上的最重要的用例,通過此用例,可以解決大部分關(guān)鍵架構(gòu)問題,2019/9/4,63,處理銷售場景的部分實(shí)現(xiàn),2019/9/4,64,與Struts相關(guān)的重要層和包,2019/9/4,65,struts中的MVC角色,2019/9/4,66,Struts框架的熱點(diǎn),2019/9/4,67,人機(jī)交互的設(shè)計(jì),人機(jī)交互部分的需求分析 人機(jī)界面的設(shè)計(jì)準(zhǔn)則 人機(jī)界面的OO設(shè)計(jì) 可視化編程環(huán)境下的人機(jī)界面設(shè)計(jì),2019/9/4,68,人機(jī)交互部分的需求分析,分析活動者與系統(tǒng)交互的人 列舉所有的人員活動者 調(diào)查研究 區(qū)分人員類型 熟練程度 職業(yè) 與系統(tǒng)的關(guān)系 年齡 統(tǒng)計(jì)各類人員的比例 了解使用者的主觀需求,2019/9/4,69,人機(jī)交互部分的需求分析,從Use case 分析人機(jī)交互 在書寫方式上強(qiáng)調(diào)明確區(qū)分活動的行為和系統(tǒng)的行為,活動者的行為向左對其,系統(tǒng)的行為向右對齊 引入控制語句,括號等結(jié)構(gòu)成分 對Use case用例程度,要求活動者與系統(tǒng)交互過程中的每一個回合都不要省略,收銀員收款 輸入開始本次收款的命令: 輸出提示信息: For 顧客選購的每種商品do 輸入商品編號: if 此種商品多余一件 then 輸入商品數(shù)量 End if 打印商品編號、名稱、 數(shù)量、單價、總價 輸入顧客交來的款數(shù) 打印交款數(shù)及找回款數(shù),2019/9/4,70,人機(jī)交互部分的需求分析,人機(jī)交互的細(xì)化 輸入的細(xì)化 輸入步驟的細(xì)化 輸入設(shè)備的選擇 輸入信息表現(xiàn)形式的選擇 輸出的細(xì)化 信息類型 提示信息 計(jì)算結(jié)果 反饋信息 輸入步驟的細(xì)化 輸入設(shè)備的選擇 輸入信息表現(xiàn)形式的選擇 分析異常事件的人機(jī)交互,2019/9/4,71,命令的組織,命令類型 基本命令,使用一項(xiàng)獨(dú)立的系統(tǒng)功能命令 命令步,在執(zhí)行一項(xiàng)獨(dú)立的系統(tǒng)功能的命令過程種所包含的具體輸入步驟 高層命令,如果一條命令是在另一條命令的引導(dǎo)下被選中的,則后者稱作前者的高層命令 組織措施 把復(fù)雜命令進(jìn)行分解成一系列子命令 把一組相關(guān)命令組成一個命令組,2019/9/4,72,命令的組織,基本命令結(jié)構(gòu) 線性結(jié)構(gòu) 樹性結(jié)構(gòu) 網(wǎng)狀結(jié)構(gòu) 組合命令結(jié)構(gòu) 按功能 按所屬子系統(tǒng) 多人機(jī)界面的命令組織 異常命令的組織 輸出信息的組織結(jié)構(gòu),2019/9/4,73,人機(jī)界面的設(shè)計(jì)準(zhǔn)則,使用簡便 一致性 啟發(fā)性 減少人腦記憶的負(fù)擔(dān) 減少重復(fù)的輸入 容錯性 及時反饋 其他,2019/9/4,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論