(计算机应用技术专业论文)用户使用软件系统行为模式挖掘算法研究.pdf_第1页
(计算机应用技术专业论文)用户使用软件系统行为模式挖掘算法研究.pdf_第2页
(计算机应用技术专业论文)用户使用软件系统行为模式挖掘算法研究.pdf_第3页
(计算机应用技术专业论文)用户使用软件系统行为模式挖掘算法研究.pdf_第4页
(计算机应用技术专业论文)用户使用软件系统行为模式挖掘算法研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 随着计算机软件的飞速发展,设计可用性高的软件系统是很必要的。在软件系统的 使用过程中,对其避行可尾性测试与改进箍有效地掇糍较律的功能。 窿捌攘式挖攮溅经在许多矮域褥鬻i 应翅,可敬撼净剃模式挖撼弼予软件可蠲性测试 与改进分析。首先,介绍了序列模式挖掘和软件可用性的基本概念和方法,作了理论_ : 的凇备。然后,在对以往序列模式挖掘算法进行研究的旗础上,结合序剁模式挖掘和软 牛霹用性评售的方法,对薅户使用竣l 睾系统斡事传序列集进行模式挖攥,磷究其用户行 为模式,妖两驮麓户的角度来势耩和旋离软件系统豹w 翅性。 在软件可用性测试中,分析用户彳予为模式是一个关键的问题。提取的最大频繁事件 序列反映了用户对软件系统的功能需求。为解决具有序列长度长、以序列片段为支持度 诗簿依据等特点毂趱户行鸯模式挖掇| 、霜题,设诗实瑷一秘有效斡基予蒋缀褥敕频繁事 件廖列扩展方法,给穗了魄特圈索弓| 表的构造、事锌扩展、事务扩展以及支持度计算豹 算法。在此基础上,设计实现了一种新的挖掘用户行为模式的算法,该簿法采用位图索 引袋的数据格式,并结合有效的剪技技术。减少了算漱的时空开销,明照地加速了最大 频繁事终序列戆玺筏。 最后,证疆了算法的完整性和栽确性,并通过实验诞明了算法的菌行性和剪枝的有 效性。理论和实验都证明该算法对于序列个数和事件个数都很大的数据榘是很有效的。 荚键词:最大频繁攀件序歹l j ,净列模式,用户行为模式挖掘,位图,软件可用性 华中科技大学硕士学位论文 a b s t r a c t 弩瞒氇摄e 蠢吲髓e 嫩o fc o 搬p v l 嚣辩蠡w 鑫f e ,i l 主sn 潲s 箍f y 幻d 妫i g n 函a s y s 耄戳 讯mh i 驰u s a b i l i 咄w bc a n 跗d v e l yi m p r o v et h e 矗m c t i o no fn l es o 胁a r ei fw ei m p l e i i l e n t u s a b i l i t yt c s t i n ga l l du s a b i l i t yi m p r o v 啪e t i to nt 圭l es o f t w a r es y s t e m s 镁潮蛀翔蹴檄瘫撼耀孰躺a l f e 蠢y 醣蹴u s e d 濂m 舔y 蠡e l 瓠鞠de 鑫nb e 璐e d 瓤 l | s a b i l 埘t e s t i n ga n di m p r o v 删勰w e l l f i r s t ,也eb 嬲i cc o n c e p t sa l l dm 嘲i o d so f s e q u e n t i a l p a t t e mm i n 证ga 1 1 ds o f t w a mu s a b i l i t ya r ei i l 订o d u c e da sn c c e 鹳a r yk n o w l e d 嚣ep 唧a r a t i o n 强髓旗氇攮es e 唾轻髓娃鑫重p a 缝嗽畦痰n g 嬲ds o 蠹w 黜猫痨滁y 删u 鼓i o n ,氇e 辫往e m 越主n 主n g o nt h e8 c q u e l l s e to f e v 印谯g 吼e r a t i 甜b yu s e r sd u r i n gm eu s eo f s o f h 帕r es y s t e mi ss n l d i e d , a i l du s 科sb 舐“v i o rp a t 锄i sp r e s 咖c db a s e do nm er e s e 鲫c ho fs e q u e i l t i a lp a n e mm i l l i n g 璃r 主翻熊s ,蠡毯s 壕e 罄s 矗b 基澍o f 嚣。量酾a & s y s 锄c o 落d _ b e 秘y z 醯醐di 礴p v 醯董酗m 强e u 8 e r sp c r s p e c c i v e a n a l y z i n gau s e r sb e h a m o rp a t t e mi st h ek e yp r o b l e mi ns o f 细a r eu s d b i l i t yt c s t i n g ,a n d 尊x 拄斑塔氇em 戡i 瓣畦至酶唾珏托e v 镪ts e q l l 鞠se 鑫彝证话攫yd 雄i c t 毽s c r ,s 鳓蕊鼬 r o q u i e i i tt o w a r ds o f t w a r es y s t e m + t bs o l v et l l ep r o b l e l no f u s e r sb e h a “o rp a t t e mm i n i n 热 w h i c hi sc h 锄m 两z e d 私1 0 n 嚣s e q u 蝴c e c a l 堋l a t i o ns u p p o r t sa c c o r d i n gt os e q u 舳c e 抒a g m e n t , 鑫n 硪酾v e 粥撼珏醯摭潮鳓程细嫡o no f 镄e 蠡聪珏鞠l 钾髓| s 镄珏拯e eo f 国e 弦蠡x 智c ca 揩 p r o p o s e mt l l ea l g o r i t l l | _ i i sf b rb i tm a pi n d e x n s 衄l c t i o n ,e v e n tc x t e n s i o n ,t r a n s a c t i o n e x t c n s i o na 1 1 dc a i c u l 确o ns u p p o f t i n ga r ea l s op r e s e n t c do nw l l i c hai ”e wa l g o r i l 量l 】= i lf o rm i n i n g 毽s 。f sb 穗硝钟p a 重e mi s 弘婶o s e d 廷蠢o p 童sad 薅穗南滩蘸o f _ b i 摭神i 磁e x 沁g 琥 l e f 谢也 e 矮e c t i v ep m n et e c l l l l i q u e sw h i c hp n l n et l l es e a f c h8 p a c et om i l l i m i z et h ec o s to f 幽e 畦m ea n d n l es p a c e e x p e r i m 伽t a lc o m p a r i s o n 曲d i c a t e st 圭l a ti ta c c e l 盯a t e st h eg e n e r a t i o no fm a x i m a l 嘲u 翱t 嚣v 鞠ts o 蜩鞠锵两嫡甜舔每 f 主n a l l 弘出ep a p 髓i n t e n d st op r o v et h ec o f r e c n 端s sa 1 1 dc o m p l 曲e n e s so f 也e 吞i g o r i t ,撇d m ef h s i b i l i t yo f 吐l ea l g o r i t h ma i l du s e 如l n e s s o fp n j i l i n g 谢me x p 洲m e n t t h ea l g o r i 廿1 m l l 华中科技大学硕士学位论文 d e m o n s 扛e db yb o mt l l r ya n de x p 酣m e n “se 行托t i v ew h d e a l i n g 悄t hm es o q u e n c es e to f b 遥s e q u e n e es i 瓣a 丽e v 龌tn 瑚酶e 嚣 k e yw o r d s :m a ) 【i n l a l 讯孙c n te v e n ts e q u 吼c c s e q u e l l t i a lp a t t c m ,u s e r ,sb e h a 、,i o rp a t t e n l m 妇i 琏舀b 珀瓤叠p ,s 。鑫懈潞鑫艇l i | y l l l 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过豹磷究酸莱。慰零文戆磷究骰邂烫麸夔令久秘集律,麓己焱文孛鞋 明确方式标明。本人完众意识到本声明的法律结粜由本人承担。 学使论文箨者签名:妄t ;兰芝葺 日期;乒锌v 月肋日 l 学位论文版权使用授权书 本学位论文作者完全了解学校有关保整、使用学位论文的娥定,即:学校有权傈 餐著蠢国豢蠢关罄翊或飘褪送交论文瓣复窜薛巍邀子舨,兔诲论文被查霾耩储闼。本 人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 傈密翻,在 冬解密螽逶瑶本授较书。 本论文属于 , 不保密鼠 请在苏上方撰内打“0 ”) 学蕴论文终纛签名:主、 篓羔每 日期:0 帅6 年毕月z 硼 、 搔导教 零签名: 刍取哎一 日期:“钆且跏日 华中科技大学硕士学位论文 1绪论 1 1 数据挖掘概述 数据挖掘涉及多学科技术的集成、包括数据库技术、统计学、机器学习、高性能计算、 模式识别、神经网络、数据可视化、信息检索、图象与信号处理和空间数据分析等领域。 1 1 1 数据挖掘定义 数据挖掘通常又称数据库中知识发现( k n o w l e d g ed i s c o v e r yi nd a t a b a s e ,k d d ) ,简单 地说,数据挖掘是从大量数据中提取或“挖掘”知识。更广义的观点是:数据挖掘是从存放 在数据库、数据仓库或其他信息库中的大量数据中挖掘有趣知识的过程。 1 1 2 数据挖掘的兴起和发展趋势 1 9 9 5 年,数据挖掘界召开了它的第一届知识发现与数据挖掘国际学术会议,并于1 9 9 8 年建立起一个新的学术组织a c m s i g k d d ,即a c m 下的数据库中的知识发现专业组( s p e c i a l i n t e r e s t e dg r o u po nk n o w l e d g ed i s c o v e r yi nd a t a b a s e s ) 。1 9 9 9 年,a c 卜s i g k d d 组织 了第五届知识发现与数据挖掘国际学术会议( k d d 9 9 ) 。2 0 0 3 年8 月,第九届知识发现与数 据挖掘国际学术会议( k d d 一2 0 0 3 ) 在美国华盛顿召开。i e e e 的k n o w l e d g ea n dd a t a e n g i n e e r i n g 会刊率先在1 9 9 3 年出版了k d d 技术专刊。并行计算、计算机网络和信息工程 等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题或专刊讨论。这些大会和 研讨会都对该领域的兴起和蓬勃发展起到了巨大的推动作用,大大促进了多领域多学科的 相互交叉和渗透,在国际上逐渐形成了k d d 的研究热点和高潮。 与国外相比,国内对k d d 的研究稍晚。1 9 9 3 年,国家自然科学基金首次支持该领域的研 究项目。一方面有很多国际会议在国内召开,如p a k d d ( p a c i f i c a s i ac o n f e r e n c eo n k n o w l e d g ed i s c o v e r ya n dd a t am i n i n g ) ;另一方面,国内也组织召开了很多相关的会议, 如每两年一次的机器学习学术会议等。计算机世界报技术专题版于1 9 9 5 年3 月发表了由 中国电子设备系统工程公司研究所李德毅教授组织的k d d 专题;1 9 9 5 年4 月发表了由中国科学 院史忠植研究员组织的机器学习和神经网络专题:1 9 9 5 年1 2 月发表了由国防科技大学陈文伟 教授组织的机器发现和机器学习专题;d m g r o u p ( h t t p :w w w d r n g r o u p o r g e n z s h t m ) 是国 华中科技大学硕士学位论文 内比较有影响力的数据挖掘讨论组,这些都大大促进了知识发现与数据挖掘基础理论与应用 的研究。 当前,数据挖掘研究方兴未艾,其研究焦点可能会集中到以下几个方面: 1 应用的探索:不断扩展数据挖掘的应用范围。通用数据挖掘系统在处理特定应用问 题时有其局限性,目前的一种趋势是丌发针对特定应用的数据挖掘系统。 2 可伸缩的数据挖掘方法:一个重要的方向是所谓基于约束的挖掘,它致力于在增加用 户交互的同时如何改进挖掘处理的总体效率。 3 数据挖掘与数据库系统、数据仓库系统和w e b 数据库系统的集成:保证数据挖掘作 为基本的数据分析模块能够顺利地集成到此类信息处理环境中。 4 数据挖掘语言的标准化:标准的数据挖掘语言或其他方面的标准化工作将有助于数 据挖掘的系统化开发,改进多个数据挖掘系统和功能间的互操作,促进数据挖掘系统在企 业和社会中的教育和使用。 5 可视化数据挖掘:使知识发现的过程能够被用户理解,也便于在知识发现的过程中进 行人机交互。系统研究和开发可视化数据挖掘技术将有助于推进数据挖掘作为数据分析的基 本工具。 6 复杂数据类型挖掘的新方法:虽然在地理空间挖掘、多媒体挖掘、时序挖掘、序列 挖掘以及文本挖掘方面取得一些进展,但与实际应用的需要仍有很大的距离。对此需要进 一步的研究,尤其是把针对上述数据类型的现存数据分析技术与数据挖掘方法集成起来的 研究。 7 w e b 挖掘:有关w e b 内容挖掘、w e b 日志挖掘和因特网上的数据挖掘服务,是数据挖 掘中一个重要和繁荣的领域。 8 数据挖掘中的隐私保护与信息安全:随着数据挖掘工具和电信与计算机网络的日益 普及,数据挖掘要面对的一个重要问题是隐私保护和信息安全。需要进一步开发有关方法, 以便在适当的信息访问和挖掘过程中确保隐私保护与信息安全。 1 1 3 数据挖掘技术及应用 根据发现的模式类型,数据挖掘技术可以分为概念类描述、关联分析“3 、序列模式分 析、分类、聚类分析、时间序列分析和孤立点分析等“。 华中科技大学硕士学位论文 数据挖掘任务一般可以分两类:描述和预测。描述性挖掘任务是刻划数据库中数据的一 般特性。预测性挖掘任务是根据当前数据进行推断和预测。 数据挖掘应用主要集中在以下几个领域“3 1 金融 数据挖掘在金融领域应用广泛,包括:金融市场分析和预测、帐户分类、银行担保和信 用评估等。数据挖掘可以通过对已有数据的处理,找到数据对象的特征和对象之间的关系, 并可观察到金融市场的变化趋势。然后利用学习到的模式进行合理的分析预测,进而发现某 个客户、消费群体或组织的金融和商业兴趣等。 2 市场业 市场业应用是利用数据挖掘技术进行市场定位和消费者分析,辅助制定市场策略。 3 工程与科学研究 数据挖掘技术可应用于各种工程与科学数据分析。随着先进的科学数据收集工具的使 用,如观测卫星、遥感器、d n a 分子技术等,面对庞大的数据,传统的数据分析工具无能为 力。数据挖掘技术以其强大的智能性和自动性,在工程和科学研究中得到广泛应用。 4 产品制造业 制造业应用数据挖掘技术进行零部件故障诊断、资源优化、生产过程分析等。 5 司法 数据挖掘技术可应用于案件调查、诈骗监测、洗钱认证、犯罪组织分析等,可以给司法 工作带来巨大收益。 1 2 序列模式挖掘 序列模式挖掘是从关联规则的频繁项目集挖掘发展而来的。 “”,它在关联模型中增加了 时间属性,把数据之间的关联性与时间联系起来,寻找的是事务之间在时间上的先后次序关 系。它根据数据随时间变化的趋势,发现某一时问段内数据的相关处理模型,预测将来可能 出现的值的分布。” 1 2 1 序列模式挖掘的兴起 序列模式挖掘晟初是由于在零售业中的应用而发展起来的,包括策划附加销售( a d d o n 华中稃技大学硕士学位论文 s a l e s ) 、计算顾客满意度等,佩是现在,序列模式忍经应用到了科研和商用的其他许多领域。 在篱,震始谖发瑗与数壤挖糕霆舔学术会议( 曼o d 一2 0 e 2 ) 上,露闻数据挖掘终为专惩 ( w o r k s h o p ) 讨论;在第九届( k d d 一2 0 0 3 ) ,将序列数据挖掘作为专题介绍;在第七属数据库 中知识发现原理与实践会议( p k d d 一2 0 0 3 ) 上,序列数据摭掘也作为专题讨论。 在国逡,序列模式挖攘瞧蹩数据挖撬弊瓣疆究熬点之一8 “,受蠲了学零赛霸工韭养翡 广泛关注,具有很好的应用前景和应用价慎。 1 2 2 序列模式挖掘问题 _ | 莘魏模式分褥( s e q u e n t i a lp a t t e r n 蠢n a l y s i s ) 是攒发瑗穰对辩闺或荬稳模式懑蠛赣率 高的模式。待挖掘事务数据库中的一个事件序列怒一组按事务时间顺序排列的事务,所有满 足用户指定阈值的顺序模式,称为序列模式或频繁序列。 序残模式挖疆匏辑究圭黉锌对符号模式( s y 癞。l i cp a t t e r n ) ,掰采蹋的方法主要有两 类。一类是类a p r i o r i 算法”的变神,如a g r a w a l 和s r j k a n t 提出的g s p ( g 。n e r a l i z o d s o q u e n t i a lp a t t e r n s ) 算法n ;另一类方法是基于数据库投影的序列模式生长( d a t a b ( 、 p r o j e e t b a s e d8 e u e 秘t i a lp a t t e r ng r o 轷毫h ) 技朱,鲡f r e e s p 氇n 。”1 焉羲p r e f i x s p a n 方法“3 1 。 当前,序列模式挖掘研究蕊临的主要问题包搔:可伸缩的序列模式挖掘方法、在并行秘 分布式环蟪中的序列模式挖攒方法、序列模式挖掘约束与评估、对序列模式应用的探索等 “8 1 。_ 莘捌模式挖掘静麴束与评信在挖掘遘程串弓| 入了雳户交羹,基予约束的序弼模式挖辐 是当前序列模式研究的一个热点问蹶,它允许用户说明和使用约束,并通过约束求引导控 掘系统搜索感兴趣的模式,从而改进挖掘处理的效率“”。;同时,挖掘结果必须能够被人 餐缀方镬翡理解箨掌攒。 随着序列模式挖掘技术的发展“1 ,人们墩不断搽索这一技术蛉应用藏匿,如辅助企 业巍争、生物医学、d n a 数据分析”。“3 、众融分析、电信分析、自然灾害和科学实验等。 蔼蒸予彦髑模式箍箍静箱户幸予隽模式挖掘静研究魄较少。 3 较俘系统使用纷势模式挖糯 3 1 研究背景 在计算机科学领域,可用性研究的对象主要为般的软件产品,其特征主要表现为一种 4 华中科技大学硕士学位论文 交互过程或交互界面。可将用户的操作过程分解成连续的基本动作,组成事件序列集。针对 软件工程中对软件可用性的要求,从用户的角度出发,对用户使用软件系统的事件序列集进 行用户行为模式挖据,从而发现可用性问题,分析和改进提高软件系统的可用性。 我们知道用户使用软件系统的事件序列集一般都为海量数据,如何从中快速的发现知 识、模式,即数据挖掘。将是本文所重点要研究的。而在数据挖掘领域中,本文所要处理 的问题实际上就是序列模式挖掘。但是,现有序列模式挖掘算法在用于挖掘具有序列长度 长、以序列片段为支持度计算依据等特点的序列模式时,不能很好地解决问题。 1 3 2 研究意义 序列模式挖掘已经在许多领域得到应用,可以把序列模式挖掘用于软件可用性测试与 改进分析。在软件系统的使用过程中,通过对用户使用软件系统的事件序列集进行模式挖 掘,从用户的观点反映软件系统所应该具有的某种能力,进而将其用于软件系统的用户界 面和功能的改造和设计,有利于开发出可用性强的软件系统,对分析和改进软件系统的可 用性有着很重要的作用。从而可以增加企业软件产品的竞争性和生命力,减少企业用于软 件学习的培训费用和时间,增加用户对软件产品的易学易用性。 1 3 3 研究现状 在软件可用性的测试与改进方面,人们提出许多的不同的方法。i ”3 。在文献 2 8 和文 献 2 9 中,e i r a i i 】1 y 等以软件系统本身为中心,通过挖掘软件系统使用时的人机交互模式 来恢复系统的需求,进而将其用于软件系统的用户界面的改造,以提高软件的可用性。实 际上,因为用户通过软件系统来完成相关的业务,所以用户使用软件系统的人机交互模式 也反映了用户对软件系统的功能需求。但是,文献 2 8 中提出的挖掘方法是以用户界面序 列来描述用户使用软件系统时的人机交互,由于不同的设计者对同一功能需求可能采用不 同的用户界面来实现,因而这种方法有其局限性,而且文献 2 8 提出的算法对频繁序列支 持度的计算不具有反单调性,影响挖掘算法的完整性。 1 4 本文的工作和内容组织 本文的主要工作包括: 介绍序列模式挖掘和软件可用性的基本概念和方法。在对以往序列模式挖掘算法研究的 华中科技大学硕士学位论文 基础上,结合序列模式挖掘和软件可用性评估的方法,对用户使用软件系统的事件序列集进 行模式挖掘,研究其用户行为模式,给出一种有效的用户行为模式挖掘算法。并对算法进行 理论分析和实验证明。 本文的安排分为七章: 第一章介绍了数据挖掘的基本情况,简述了数据挖掘技术及应用,论述了序列模式挖掘 问题和针对使用软件系统行为分析的模式挖掘问题,说明了研究的目的和意义。 第二章介绍了软件可用性的定义及基本思想,阐明了软件可用性评估的重要意义,论述 了人机交互界面的可用性及软件可用性评估方法,指出了软件可用性评估中引入序列模式挖 掘方法来分析问题的思路。 第三章主要描述了序列模式挖掘的相关概念,并对目前比较有影响的序列模式挖掘算法 进行了介绍和分析。 第四章结合序列模式挖掘和软件可用性而提出用户行为模式挖掘,给出了用户使用软件 系统行为模式挖掘的相关概念和基本思想,并提出了一种有效的基于前缀树的频繁事件序列 扩展方法。从减少时间复杂度和空间复杂度出发,设计了相应的数据结构。在此基础之上, 设计了位图索引表的构造、事件扩展、事务扩展以及支持度计算的算法。使频繁事件序列能 够简单快速地被确定。 第五章设计了一种对用户使用软件系统的事件序列集进行行为模式挖掘的算法,证明了 算法的完整性和正确性。并结合剪枝策略,针对不必要的事件扩展和事务扩展,给出了引入 剪枝处理的挖掘算法。最后,采用c + + 语言作为开发工具,编写了算法代码,给出了实验结 果,并对其进行了分析。 最后一章是本文的总结与展望。 6 华中科技大学硕士学位论文 2 软件可用性 2 1 软件可用性简介 可用性概念,在上世纪7 0 年代末已开始提出。从而改变了人们对交互过程的认识,以用 户为中心的界面设计思想也逐步被人们接受。”3 ,同时研究者们也开始对其评估方法和应用展 开研究。 在创建软件的环境中,术语“可用性”表示一种方法,它将用户摆在过程的中心。这 一方法称作以用户为中心的设计,它从设计过程的一开始就将用户关心的闽题和意见考虑 在内,并提出在任何设计决策中,用户的需要都应摆在首位。这种方法最显著的特点就是可 用性测试。在测试中,用户使用产品的界面进行工作,通过界面进行交互,就他们的观点 和关心的问题与设计人员和开发人员进行交流。 2 1 1 软件可用性的定义 对于可用性的概念有很多不同的解释,下面阐述其中比较有代表性的定义和观点。 h a r t s o n 认为可用性包含两层含义。“:有用性和易用性。有用性是指软件产品能否实现一 系列的功能;易用性是指用户与界面的交互效率、易学性以及用户的满意程度 n i e l s e n 认为可用性包括以下5 个要素: 1 易学性:软件产品是否易于学习? 2 交互效率:即用户使用软件产品完成具体任务的效率。 3 易记性:用户搁置软件产品一段时间后是否仍然记得如何操作? 4 出错频率和严重性:操作错误出现频率的高低? 严重程度? 5 用户的满意程度:用户对该软件产品是否满意? n i e l s e n 认为软件产品在每个要素上 都达到很好的水平,才具有高可用性【:= ”1 。 国际标准化组织( i s o ) 在i s 0m i s9 2 4 卜l l 标准( g u i d a n c eo nu s a b i l i t y ,1 9 9 7 ) 中,把 可用性定义为“当用户在特定的环境中使用产品完成具体任务或实现特定的目的时,交互过 程的有效性、交互效率和用户满意程度”。“ 可用性是衡量使用一种产品来执行指定任务的难易程度的尺度,它与实用性和受欢迎 华中科技大学硕士学位论文 度等相关概念是有差异的。 可用性包含很多方面,但通常这一术语特指发现、学习和有效性这三种属性。 发现表示针对某种特定的需要去寻找并找到产品的某一功能。可用性测试可用于确定 用户找到某一功能所用的时间,以及在整个过程中用户犯了多少错误( 关于定位的错误选 择) 。 学习表示用户弄清楚如何运用所发现的功能来完成现有任务的过程。可用性测试可以 确定这个过程的长短,以及在学习该功能期间用户犯了多少错误。 有效性表示用户“掌握”了某项功能,不再需要进一步学习即可使用。可用性测试可 以确定有经验的用户使用该功能时执行必要步骤所需的时间。 可用性的这三个基本方面在很大程度上受到当前任务性质和用户执行任务的频率的影 响。有些功能的使用频率很低或者使用起来十分复杂,导致用户基本上每次使用时都要重 新学习。 2 1 2 软件可用性与实用性 我们知道决定产品可接受性的核心属性是其有用性,它用于评价实际使用产品时,是 否能达到设计人员期望产品实现的目标。有用性的概念可以进一步划分为实用性和可用性。 虽然这些术语间有联系,但它们却不能相互替代。 实用性指产品执行任务的能力。根据设计,产品执行的任务越多,其实用性就越高。 让我们以二十世纪八十年代末问世的典型m i c r o s o f tm s d o s 字处理程序为例。此类程序提 供了多种强大的文本编辑和处理功能,但需要用户学习和记忆几十个令人费解的按键后才 能执行这些功能。可以说此类应用程序具有很高的实用性( 它们为用户提供了必要的功能) , 但其可用性却较差( 用户必须花费大量的时间和精力来学习和使用它们) 。与之形成对比的 是,一个设计合理的简单的应用程序( 如计算器) 使用起来很容易,但其实用性却有欠缺。 实用性和可用性两种性质都是一种产品被市场接受所必需的,而且它们都是总的有用 性概念的一部分。显然,若程序很好用但没有什么有价值的功能,那么没有人会使用它; 如果程序的功能强大但却很难使用,那么用户也很可能会拒绝这个程序而转向其它的替代 品。 可用性测试帮助您判断用户使用产品执行特殊任务的难易程度。但是,它并不能直接 华中科技大学硕士学位论文 帮助您判断产品自身是否有价值、是否实用( 在可用性测试中,用户可能会主动提出一些 关于实用性的意见,但任何意见都应通过其它更可靠的研究方法予以验证) 。 2 1 3 软件可用性的重要性 如果您还没有在产品设计过程中将可用性因素考虑在内,您可能会对可用性的必要性 和可取性提出质疑,毕竟,不进行任何可用性工作,也可能发售一个可以工作的、没有错 误的产品。但是,通过引入以用户为中心的设计理念可以使产品在很多方面得以很大改进。 对于内部使用的软件,之所以将可用性作为开发过程中的一个重要部分,其原因还在 于它减少了培训费用。对用户而言,可用性强的软件学习起来比可用性不受重视的产品学 习起来要容易得多。用户能够更快地了解产品的各项功能,并能长久地掌握它,这直接减 少了培训费用和时间。 可用性测试有助于促进用户对产品的接受程度。有很多因素决定了用户对产品的接受 程度,这些因素包括可用性、实用性和受欢迎度。对于零售产品,用户的接受程度往往直 接影响对产品的重复购买或对产品的忠诚度,这说明用户可能将产品推荐给其他人。对于 内部应用程序,用户的接受程度决定用户是否愿意使用该软件执行任务,而这些软件就是 针对这些任务设计的,这有助于提高生产效率。提高可用性是提高用户对产品的接受程度 的一个因素。 每个产品最终都要进行可用性测试。用户每次使用您的产品时,都是在对它进行可用 性测试,而他们对可用性优劣的意见将会影响他们是否继续使用该产品。将产品推向市场 之前,对产品进行测试,可以有助于确保用户对产品的满意程度。 2 2 软件可用- 生评估和测试 可用性评估是系统化收集交互界面的可用性数据并对其进行评定和改进的过程。它源自 于人机交互( h u m a n c o m p u t e ri n t e r a c t i o n ( h c i ) ) 的思想 界面设计是一个逐步逼近最优设计的重复性过程,主要包括设计一可用性评估一改进 设计三个互相重叠的环节。界面设计过程中,可用性评估的对象是原型,即能够体现交互界 面设计的某些特点,并能够实现部分或全部功能的设计实体。由于界面可用性对产品成 功影响深远,提高可用性是人机交互界面设计过程的核心,故可用性评估是提高产品可用 华中科技大学硕士学位论文 性的有效手段。 产品界面可用性评估的目的包括:改进现有产品界面,提高其可用性:在设计新 界面之前,对已有界面进行可用性评估,借鉴优点,改进缺点,更有效的达到可用性目标。 可用性评估的方法主要包括可用性测试( u s a b i l i t yt e s t i n g ) 、启发式评估( h e u r i s t i c e v a l u a t i o n ) 、认知过程浏览( c o g n i t i v ew a l k t h r o u g h ) 和行为分析( a c t i o na n a l y s i s ) 。“。 2 2 1 可用性测试 可用性测试是测试者邀请用户使用设计原型或产品完成操作任务,并通过观察、记录和 分析用户行为和相关数据,对界面可用性进行评估的一种方法。可用性测试能够对界面的可 用性进行全面的评估,是最为常用的方法之一。它适用于产品界面和界面设计中后期界面原 型的评估。 根据我们给软件可用性所下的定义,一个软件可用性的测试和评估应该遵循以下原则: 1 最具有权威性的可用性测试和评估不应该是专业技术人员,而应该是产品的用户。 因为无论这些专业技术人员的水平有多高,无论他们使用的方法和技术有多先进,最后起 决定作用还是用户对产品的满意程度。因此,对软件可用性的测试和评估,主要应由用户 来完成。 2 软件的可用性测试和评估是一个过程,这个过程早在产品的初样阶段就开始了。因 此一个软件在设计时反复征求用户意见的过程应与可用性测试和评估过程结合起来进行。 当然,在设计阶段反复征求意见的过程是后来可用性测试的基础,不能取代真正的可用性 测试。但是如果没有设计阶段反复征求意见的过程,仅靠用户最后对产品的一两次评估, 是不能全面反映出软件的可用性。 3 软件的可用性测试必须是在用户的实际工作任务和操作环境下进行。可用性测试和 评估不能靠发几张调查表,让用户填写完后,经过简单的统计分析就下结论。可用性测试 必须是用户在实际操作以后,根据其完成任务的结果,进行客观的分析和评估。 4 要选择有广泛代表性的用户。因为对软件可用性的一条重要要求就是系统应该适合 绝大多数人使用,并让绝大多数人都感到满意。因此参加测试的人必须具有代表性,应能 代表最广大的用户。 一般说来,可用性测试的结果包含定量数据( 如:任务完成时问等) 和定性数据( 如:操作 0 华中科技大学硕士学位论文 过程等) 。测试者需要综合两类结果并提出界面改进的建议。 2 2 2 启发式评估 启发式评估也叫专家评论,是一种邀请可用性评估专家或软件工程师浏览或使用交互界 面,并根据人机界面的设计原则,对交互界面进行评估的方法。在确定一系列的评价规则的 基础上,由专家查看界面,根据基本的可用性原则来对其做出判断。”,对存在的或潜在的问 题进行评价。启发式评估简便易行,但缺乏精度,适用于交互界面设计的中前期。启发式评 估的主要步骤如下: 1 识别、确定一系列可用性规则,用以对用户界面进行评价。 2 选择评估的专家小组,识别3 5 个可用性专家独立地对系统进行测试。 3 确定每位专家在何处评估系统、评估的时间长度等。 4 准备一些说明性材料,并设置适当的评估情节,让专家清楚评估目的。包括:目标受 众的分析、系统的介绍、用户可以完成的任务、使用时的具体情况设定等。 5 每个评估专家都浏览数遍界面,检查各种对话框元素,然后将其与些已知的可用性 原则相比较。 6 评估专家相互合作,将结果合并到列表中,列出用户界面中的可用性问题,并注明设 计方案中违反的相关可用性原则。 7 一旦每个评估专家都分别执行了启发式评估后,他们就集中起来将其评估结果合并在 一起。 2 2 3 认知过程浏览 认知过程遍历是指当设计者具备了原型或设计的详细说明后,邀请其它设计者和用户共 同浏览并分析特定任务的完成步骤,如通过仔细检查界面需要用户执行多少步骤以及哪些步 骤后,才能完成某项任务,其中包含用户必须经过思考才能完成的那些步骤,从而发现可用 性问题并提出改进意见的一种方法。 认知性遍历可以围绕以下四个问题进行: 1 设计中的每个操作步骤是否与用户的思维过程相符? 2 用户能否注意到完成操作的控制方式如按钮或菜单等? 3 用户能否容易地确定控制方式与操作的对应关系? 华中科技大学硕士学位论文 4 用户完成操作后是否得到适当的反馈? 1 要进行认知性遍历活动,需要以下四个条件: 1 详尽描述系统原型。这种描述不一定完整,但要相当详尽。诸如菜单的位置或名称, 这样的细节也可能导致相当大的差异。 2 对用户在系统中要完成的任务进行描述。该任务应当是大多数用户将要执行的有代表 性的任务。 3 完整的、书面的操作清单。列出使用给定原型完成任务所需执行的操作。 4 描述用户的基本信息。评估人员据此判断这些用户己具有哪一类别的知识和经验,再 对用户界面进行检查,从而确定用户是否能够按照预期要求,合理、快速地执行这些步骤, 顺利地完成任务。 2 2 4 行为分析 行为分析是一种将用户的操作过程分解成连续的基本动作以发现交互问题的方法。根 据精度不同,行为分析法可以分为正式的行为分析法和非正式的行为分析法。评估对象为产 品或原型。 行为分析法包括2 个主要步骤:将用户的操作过程分解成基本动作:从基本动作水 平对用户的操作过程进行分析,发现可用性问题。 正式的行为分析法通常需要设计者对用户的操作过程进行细致的分解并用树状图体现 分析结果。,然后计算和累积各个动作的完成时间,通过比较任务完成的时间和操作过程来 确定界面可用性的优劣。非正式的行为分析法只需要对操作过程进行大致的分析,评估的着 眼点主要在于动作间联结的合理性。 2 3 软件可用- 眭的获得 在理解可用性的重要性基础上,软件设计人员有时试图“获得”一些可用性,就好像 可用性是一种成分,他们可以简单地把它添加到产品中,这样产品就更可用了。然而,可 用性应当是设计过程本身的一部分,不是您可以在设计过程的随便某一地方添加的“东 西”。可用性专家提到“用户关注的”与“以用户为中心的设计”的原因是:可用性取决 于将用户的需要一直作为设计过程的中心。以用户为中心的设计根据需要的不同,包含的 1 2 华中科技大学硕士学位论文 内容不单单是在界面中按照一组规则,对按钮和菜单布置进行管理。可用性测试是对设计 工作进行检查的良机,而不是在产品中“添加”可用性的一种方法。 g o u l d 、b o i e s 和l e w i s ( 1 9 9 1 ) 为以用户为中心的设计定义了4 条重要的原则: 1 及早以用户为中心:设计人员应当在设计过程的早期就致力于了解用户的需要。 2 综合设计:设计的所有方面应当齐头并进的发展,而不是顺次发展。使产品的内部 设计与用户界面的需要始终保持一致。 3 及早并持续性地进行测试:当前对软件测试的唯一可行的方法是根据经验总结出的 方法,即若实际用户认为设计是可行的,它就是可行的。通过在开发的全过程引入可用性 测试,可以使用户有机会在产品推出之前就设计提供反馈意见。 4 反复式设计:大问题往往会掩盖小问题的存在。设计人员和开发人员应当在整个测 试过程中反复对设计进行修改。 在软件可用性评估中,对用户使用软件系统的事件序列集进行分析,如果仅仅是采用 手工方式,当数据量大时,效率是很低的,而采集数据量少,则分析结果不具有代表性。 实际的事件序列数据可达到海量,我们引入序列模式挖掘方法来快速发现有趣模式、研究 软件可用性问题,是值得尝试的课题。 2 。4 本章小结 本章详细地介绍了软件可用性的定义及基本思想,描述了人机交互界面的可用性及软 件可用性评估的方法,指出可用性评估对改进产品交互界面、提高界面设计过程的效率都 具有重要意义。最后,提出了引入序列模式挖掘方法来分析软件可用性评估问题的观点。 1 3 华中科技大学硕士学位论文 3 序列模式挖掘及其算法 3 1 序列模式挖掘中的定义 在1 9 9 5 年举行的第1 l 届数据工程国际会议上,a g r a w a l 和s r i k a n t 最早提出了序列模式挖 掘问题”3 ,希望能从大型数据库中发现一些模式,这些模式揭示了事务之间的某些联系和规 律,从而能够预测事务将来的发展趋势。 他们通过对用户购买行为数据库进行分析而提出了序列模式挖掘。我们将描述这个问 题时所用的术语说明如下: 设i = ,i ”i 。j 是所有项目的集合。 1 项目集 由各种项目组成的集合。如果x 为项目集,那么x i 。 2 序列 由不同项目集构成的有序排列,例如:序列s = ( s ,s 2 瓯) ,其中墨,& 0 f h 。序 列数据集有很多的表示方式,表3 1 表示的是以用户编号和事务编号保存的序列数据集, 表3 2 表示的是以用户编号保存序列数据集。 表3 1 用户编号和事务编号保存的序列数据集表3 2 用户编号保存的序列数据集 用户编号事务编号项目 ( c i d )( t i d ) ( i t e m ) lla 1lb 12 c 21b 2lc 22d 22e 用户编号序列 ( c i d ) ( s e q u e n c e ) l ( a ,b ) , c ) ) 2 ( b c 。 d ,e ) ) 表3 1 表示的序列数据集为:( f a ,b ) , c ) ) 和( b ,c ) , d ,e ) ) 。表3 1 中c i d 为用户编 号,c i d 相同表示为同一序列;t i d 为事务编号,t i d 相同表示项目在同一个事务中,一个 事务就是一个项目集:i t e m 表示项目。 4 华中科技大学硕士学位论文 表3 2 表示的序列数据集为:( a ,b ) , c ) ) 和( b ,c ) , d ,e ) ) 。表3 2 中c i d 为用户编 号,一个用户编号对应一个序列,不存在两个完全相同的用户编号。 3 序列的长度 关于序列的长度,不同算法有不同的定义,如在a p r i o r i a l l 算法中,序列的长度是指一 个序列中的项集数,但在有的算法中,一个序列的长度则是指这个序列所包含的项的总数。 具有k 长度的序列称为k 一序列。 4 子序列 在序列疋= ( q ,啦,) 和瓯= ( 6 t ,西:,6 。) 中,如果存在整数l s f 2 ( 聊 使q 6 f ,口:气,气,则称序列配是序列& 的子序列,或序列& 包含序列疋,序列最 被序列墨包含。 5 支持度 序列在序列数据集s 中的支持度为序列数据集s 中包含序列的序列个数,记为 她印o h ) 。支持度有时也称支持度计数或绝对支持度。在有些应用中,也可将支持度定义 为百分比形式的相对支持度,即数据集s 中包含序列a 的百分比。 如表3 3 序列集b 中,序列 的支持度为2 。 表3 3 事件序列集b 标识号事件序列 1 2 3 6 最小支持度闽值 在序列模式挖掘中,我们根据实际情况人为地设定一个序列应该满足的最小支持度 m i 兀一s up ,称为最小支持度闽值。 7 序列模式和序列模式挖掘 序列模式就是指在序列数据中,支持度大于或等于最小支持度闽值的序列,序列模式 华中科技大学硕士学位论文 挖掘就是给定序列数据集和最小支持度闽值,找出序列数据集中所有的序列模式。 3 2 序列模式挖掘算法介绍 a g r a w a l 和s r i k a n t 在提出序列模式挖掘的同时,还提出了三种挖掘算法a p r i o r i a l l 、 a p r i o r i s o m e 和d y n a m i c s o m e ,之后关于序列模式挖掘算法的研究逐渐深入,目前比较有影响 的算法有a p r i o r i a l l 、g s p 、s p a d 旷”、f r e e s p a n 、p r e f i x s p a n 等。 3 2 1a p r i o r i a | i 与g s p 算法 a p r i o r i a l l 算法和g s p 算法都是采用宽度优先的搜索模式。 a p r i o r i a l l 算法的基本思想是对数据进行多次遍历。在每次遍历中,我们从一个由大序 列( 1 a r g es e q u e n c e ) 组成的种子集( s e e ds e t ) 开始,利用这个种子集,可以产生新的潜在的 大序列。在遍历数据的过程中,我们计算出这些候选序列的支持度,这样在一次遍历的最后, 我们就可以决定哪些候选序列是真正的大序列,这些序列构成下一次遍历的种子集。 a ”i o r i a l l 算法虽然可以挖掘序列模式,但是却没有考虑以下三个问题: 1 缺少时间限制 用户通常希望指定序列模式的相邻元素之间的最大或最小时间间隔。例如,一个序列模 式可能会发现客户在购买了物品a ,而在三年后又购买了物品b 。而我们需要的是给

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论