(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf_第1页
(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf_第2页
(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf_第3页
(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf_第4页
(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机软件与理论专业论文)基于约束的用户界面描述方法.pdf.pdf 免费下载

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

文档简介

出尔火学颈: :学像论文 攘要 臻户器瑟是系统馒蠲者与系绫进行逐谖静接弼,强形矮户赛瑟织然跫当 今软件的主流交互界面。那种将用户界酾固化猩软件中的开发技术已经不满 足平台多棒诧发溪躲嚣蘩,软箨霹运行黪乎台环境越来越多,懿p c 、p d a 、 p a l m 和手机等。软件开发面临潜一种新的局颟,软件要商较强的邋应各种 平台熬巍力,瑟瑟蓠熬援户赛西开发按零郝是褥赛嚣佟为较 孛静一部分蘑纯 在软件中,如果簧改动,则需要熏新编译生成,要移横其它平台运行则需婺 薰新编码囊成。这种方法鬟然很不适合快速发溪的多种运行平台,一种蓉予 模测的界麟开发技术应遴淹生。 基予横型的并诞开笈技术已成为韭器的研究热点,它是一种平台无关的 爨耀秀发技术,遴避模型骣动赛露程运嚣辩生残。纂予终塞戆霸户秀嚣蓥述 方法是该技术的组成部分,该方法主要怒通过对用户界面高度抽象。认为界 嚣怒垂季妻黎交互辩蒙( a i o ) 和大鲎豹约索缝羧斡,邋过一释器蟊攒逐语富 来袭达用户界面的内容。运行时通过相斑平台下的界蕊解析引攀来解析,并 按照一定的映隽于蕊粥将a i o 软辩为运行环境下的其诲交互踺象( c i o ) ,最 终生成实际的用户交互界赋。 本文主要研懿了基予模型的技术的发展状况在界两自动生成方灏豹应 用瑗状,练会t 联裁国杰龄在爨藤囊动生成方嚣翳技零,裂焉零一对疫原鼷 解决了当前的界面自动生成技术中存在的布局不一致的阅题,总结了套行 之鸯效麴愆户赛霆篷蘑垒戏理论秘方法,翻耀繁予终慕戆臻户器嚣兹述方法 实现了界磁在不同平台环摭下的自动生成,并飘提出了用户界蕊豹穆幼环境 下静两释分霹显示漂刚及它 j 的优缺点。然螽黼基予约束静霜户赛面描述方 法为理论繁础,利用表格捆接识别盛鲍数据结构,并结台表格盘身的特点与 界舔约束模塑的关系,研究出一套从表格数据剿界淄约束模型转换的方法和 映射翘则,蠼螽利爝从约东模型生成嗣户赛嚣,最终实瑷了扶农搔到德式竣 入的表单界面的生成。 本文静主要茭黻是撬疆了莽露缝箨分缀黠懿单一对应蘸剡,瓣凌了实嚣 界黼生成与设计界聪布局不致的闯题键出组a i o 的描述元素,并简化 山糸大学硕士学位论文 i i 了羁前的空闰约寐描述方法,完善了界面中挞象约束的描述,搜褥基予约束 的用户界蘧描述方法褥到了进一步的竞善,推动了基于模型技术的发展;提 出了一套从表格模型到约束模型的转换规则和映射规则,利用表格分区实现 了从表格数据到界颈的约束描述的转换,然后从约束模型生成最终的交互界 面。这种转换的实现,可大大提高了软件用户界面的开发速度,给出了一种 新的界面设计理念。 本文创新点在予提出了单一对应原剐,解决了实际界面生成与设计界酹 布局不一致的闽题,提出了界面在移动终竭分羼曩示时的嚣种分羼原列,提 出一套从表格模型到约束模型的转换方法和映射规则,实现了表格到界匿的 生成。 关键词:用户界面,基于模型,基于约束,单一对应原则,表格分区 出东大学磁七学静论文 a b s t r a c 霉 u s e ri n t e r f a c ei sa ni n t e r f a c ef o rau s e rt oc o m m u n i c a t ew i t has y s t e m 。 g r a p h i c a lu s e ri n t e r f a c es t i l li st h em a i ni n t e r a c t i v ei n t e r f a c ei nc u r r e n ts o f t w a r e s y s t e m t h es o f t w a r ed e v e l o p m e n tt e c h n o l o g yt h a ts o l i d i f i e du s e ri n t e r f a c ei n t h es o f t w a r ed o e sn o ts a r i s f yt h ed e v e l o p m e n to fp l a t f o r md i v e r s i f i c a t i o n ,t h e r e a r em o t - ea n dm o r ep l a t f o r me n v i r o n m e n tt h a ts o f t w a r ec a n 勰no n ,s u c ha sp c , p d a ,p a l ma n dm o b i l ep h o n ee t c t h es o f t w a r ed e v e l o p m e n ti sn o wf a c i n ga n e ws i t u a t i o nt h a ts o f t w a r em u s tb es u i t a b l ef o rm a n yk i n d so fp l a t f o i t i i s 。b u t n o wu s e ri n t e r f a c ei sa l w a y sd e v e l o p e da sp a r to ft h es o f t w a r e ,s oi fw ew a n tt o c h a n g et h ei n t e r f a c e ,w eh a v et or e b u i l di t 。w h a t sw o r s ei st h a ti fw et r a n s p l a n t t h ei n t e r f a c et oo t h e rp l a t f o r m ,w eh a v et od os o m er e c o d e t h i sp r o b l e md r i v e s m o d e l b a s e du s e ti n t e r f a c ed e v e l o p m e n tm e t h o dw h i c hc a l ls u i tt h ed e v e l o p m e n t o fr u n n i n gp l a t f o r m s m o d e l b a s e du s e ri n t e r f a c e d e v e l o p m e n t h a sb e c o m eac o r er e s e a r c h , m o d e l b a s e du s e ri n t e r f a c ed e v e l o p m e n ti s i n d e p e n d e n to fp l a t f o r ma n di s c r e a t e db yt h em o d e ld u r i n gt h er u n n i n gt i m e c o n s t r a i n t - b a s e du s e ri n t e r f a c e d e s c r i p t i o nm e t h o di s o n ei m p o r t a n tt e c h n i q u ei nm o d e l b a s e du s e ri n t e r f a c e d e v e l o p m e n tm e t h o d u s e ri n t e r f a c ei sh i g h l ya b s t r a c t e di nc b u i dm e t h o da n d i sr e g a r d e da sb ec o m p o s e do fa b s t r a c ti n t e r a c t i v eo b j e c t sa n dag r e a tm a n yo f c o n s t r a i n t s t h ec o n t e n to fu s e ri n t e r f a c ei sd e s c r i b e db ya ni n t e r f a c e d e s c r i p t i o nl a n g u a g ea n dp a r s e db yi n t e r f a c ep a r s ee n g i n ec o r r e s p o n dt ot h e r u n n i n gp l a t f o r md u r i n gt h er u n n i n gt i m e t h ea i o sa r em a p p e dt oc o n c r e t e i n t e r a c t i v eo b j e c t si nr u n t i m ee n v i r o n m e n ta n db e c o m et ot h ea c t u a l l yu s e r i n t e r a c t i v ei n t e r f a c ea tl a s t + t h i sp a p e rf i r s t l yr e s e a r c h e dt h ea p p l y i n gs i t u a t i o no fm o d e l - b a s e dt e c h n o l o g y i ni n t e r f a c ea u t o m a t i c a l l ym a k i n ga n di n t e g r a t e dt h et e c h n i q u eo ni n t e r f a c e a u t o m a t i c a l l ym a k i n gb o t hi nd o m e s t i ca n da b r o a d ,u s e dt h es i n g l e f a c er u l et o s o l v et h el a y o u ti n c o n s i s t e n tp r o b l e mw h i c hi nt h ec u r r e n tt e c h n o l o g ya b o u t g e n e r a t i n gu s e ri n t e r f a c ea u t o m a t i c a l l y ,a n dt h e ns u m m a r i z eas e to fa v a i l a b l e u s e ri n t e r f a c ea u t o m a t i c a l l ym a k i n gt h e o r ya n dm e t h o d ,i m p l e m e n t st og e n e r a t e u s e ri n t e r f a c ea u t o m a t i c a l l yo nd i f f e r e n tp l a t f o r mw i t hc o n s t r a i n t b a s e du s e r 山东大学硕士学位论文 i n t e r f a c ed e s c r i p t i o n m e t h o d u s i n gt h ed a t a s t r u c t u r ei d e n t i f i e db yt a b l e s c a n n i n gm e t h o da n dt h er e l a t i o n s h i pb e t w e e nt a b l ep r o p e r t i e s a n di n t e r f a c e c o n s t r a i n tm o d e le x c o g i t a t eas e to fm e t h o d sa n dm a p p i n gr u l e st h a tt r a n s f o r m t a b l ed a t ai n t oi n t e r f a c ec o n s t r a i n tm o d e l t h e nt h ec o n s t r a i n tm o d e l sb e c o m e i n t e r f a c ea u t o m a t i c a l l y t h i sp a p e ri m p l e m e n t st h ea u t o m a t i ct r a n s f o r mt a b l et o t a b l ei n t e r f a c ew h i c hs u p p o r t st h ei n p u tw i t hp e n h e r ei st h em a i nd e v o t i o no ft h i sp a p e r s i n g l e f a c er u l ei sa d v a n c e dw h e n g r o u p i n gt h ei n t e r f a c e ,a n dt h ep r o b l e m so fc r e a t i n ga c t u a li n t e r f a c ea n dt h e v a r i a n c eo fi n t e r f a c el a y o u ta r es o l v e d ag r o u po fd e s c r i p t i o ne l e m e n t so fa i o a r ep u tf o r w a r d d e s c r i p t i o nm e t h o do fs p a t i a lc o n s t r a i n t si sa l s os i m p l i f i e di n t h i sp a p e r p e r f e c t i n gt h ed e s c r i p t i o no fa b s t r a c tc o n s t r a i n ti nt h ei n t e r f a c e m a k e st h ed e s c r i p t i o no fu s e ri n t e r f a c ec o n s t r a i n t - b a s e dm o r ep e r f e c t ,f o r c i n g t h ed e v e l o p m e n tb a s e dm o d e lt e c h n i q u e t h eo t h e ri m p o r t a n tc o n t r i b u t i o no f t h i sp a p e ri st h a ti ta d v a n c e dt h em e t h o d sa n dm a p p i n gr u l e so fc o n v e r t i n gt a b l e m o d e lt oc o n s t r a i n tm o d e lw h i c hi su s e dt oc r e a t i n gt h eu l t i m a t ej n t e r f a c e t h e i m p l e m e n t a t i o no ft h i sc o n v e r s i o nr e s u l t e di nt h ef a s t e rs p e e do fd e v e l o p m e n to f u s e ri n t e r f a c e ,i n i t i a t i n gan e wc o n c e p to fi n t e r f a c ed e s i g n i nt h i sp a p e r ,t h es i n g l e f a c er u l ei s c r e a t i v e l ya d v a n c e d ,a n dt h ep r o b l e m so f c r e a t i n ga c t u a li n t e r f a c ea n dt h ev a r i a n c eo fi n t e r f a c el a y o u ta r es o l v e d t h e p a p e rp u t s f o r w a r dt w op r i n c i p l e so fs e p a r a t i n gs c r e e nw h e ni n t e r f a c ei s d i s p l a y e di ns e p a r a t e ds c r e e ni nt h em o b i l et e r m i n a l s , a n da l s ot h em e t h o d sa n d m a p p i n gr u l e so fc o n v e r t i n gt a b l em o d e lt oc o n s t r a i n tm o d e l ,s ot h a ti m p l e m e n t s t h ec r e a t i o no fi n t e r f a c ef r o mt a b l e k e y w o r d s :u s e ri n t e r f a c e ,m o d e l b a s e d ,c o n s t r a i n t b a s e d ,s i n g l e - f a c er u l e ,t a b l ep a r t i t i o n 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进 行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何 其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡 献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人 承担。 论文作者签名:銎立益垂日期: k 而幺譬 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保 留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本 学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:x 题导师签名:愀日 期:皇竺丛丝 山东大学硕士学位论文 1 1 研究背景及意义 第1 章绪论 用户界面是系统使用者与系统进行通讯的接口,从最初的字符用户界 面,发展到当前主流的图形用户界面,它给计算机的使用者带来了极大的方 便,它使得计算机的使用变的越来越简单。但这种方便是有代价的,图形用 户界面给软件的实现增加了大量的代码。开发人员的工作量也成倍的增加, 在这种背景下,业界开始研究专门的用户界面开发工具,于是基于某一种语 言的集成开发环境如雨后春笋般出现,如v b ,v c ,d e l p h i ,j b u i l d e r 等。 这些可视化的集成开发环境确实极大的提高了软件开发速度,所见即所得的 用户界面设计方法,使得编程工作不再是专业人员的专利,非专业的用户也 可以在短时间内掌握并设计出高质量的图形用户界面。 当前,普适计算越来越受到人们的关注,各种移动终端设备的发展速度 也非常快,手机、p d a 等移动设备的性能也大大增强。其性能足可以运行某 些应用软件,例如一些电话簿、记事本等应用程序很适合于应用到手机等移 动设备上,但这些应用程序的交互用户界面都是固化在程序中并只能运行于 某一平台之上的,而不能自动适用其它平台环境。这些软件要移植到这些终 端设备还需要重新进行界面设计和编码,即不灵活,也浪费资源,更谈不上 重用性。 自然的、以人为中心的用户界面( h u m a n c e n t e r e du s e ri n t e r f a c e s ) 研究成为了当前人机交互研究的主流,人机交互的研究力求建立和谐的人机 环境。笔式输入目前已经成为一种很重要的输入方式,尤其在移动计算中, 笔式输入用户界面的研究也越来越受到人们的重视。表格输入复杂而且实现 起来非常繁琐,如何快速高效的自动生成笔式输入的表单界面是一个急待解 决的问题。 为了解决当今软件开发中遇到的这些问题,业界提出一种基于模型的用 户界面丌发思想,它将用户界面高度抽象成多种平台无关的模型,这些模型 都是通过某种平台无关的描述语言柬描述,在任何平台下部可以轻松读取。 山东犬学硕士学位论文 然后通过模型自j 的相互映射转化,最终生成程序代码。只要运行环境下有相 应的模型解析转化器,那么凡是基于这类模型的软件都可以不做或少做修改 就可以运行。这大大增强了软件的可移植性,使得开发速度明显提高。 目前。在这方面的研究中已经提出多种模型,如概念模型和陈述性模型 等,在当前研究的众多相关技术中,研究如何描述一个用户界面,使得这种 描述与平台无关又简单方便,但这一直是一个复杂的问题。当前研究最成熟 的是一种基于约束的用户界面描述方法。要解决的主要问题是用户界面中都 存在什么约束,如何来描述这些约束,又如何根据这些约束生成最终的用 户界面。本文就当前的背景下在约束模型方面做了进一步的深入研究,系统 的分析了界面中存在的约束,并总结出了相应的描述方法,解决了从约束生 成界面过程中出现的问题。 在软件开发过程中,经常会遇到大量繁琐的表格信息的录入问题,特别 是在管理信息系统开发中,这些信息在日常工作中是以大量的表格形式出现 的,当前研究表明已经具备了从扫描的表格图像中识别出表格的物理结构, 并以一定的数据模型保存。本论文的前半部分已经找到了一种基于约束的用 户界面描述方法,利用该技术可以实现用户界面的自动生成,所以现在只需 要解决从表格被识别后的数据模型到用户界面的约束模型的转换技术,就可 以解决从表格自动生成笔式输入的表单界面问题。本文就在表格物理结构识 别技术的基础上,对识别后数据格式及表格的特点进行了大量的研究,提出 一种转换理论和映射规则,实现了从表格数据到用户界面约束模型的转换, 最终完成了从表格到交互界面的实现。 1 2 当前界面开发技术的种类 用户界面是计算机使用者与计算机系统进行通讯的接口,用户通过用户 界面向计算机提供各种数据和命令等输人信息,操纵计算机完成预定的计 算、处理和控制等任务,同时,计算机系统通过用户界面及时地把处理结果、 提示信息、错误信息等显示给用户是任何软件系统都不可缺少的组成部分 当前已经出现了很多用户界面开发的技术,大致可以分为三类: 1 ) 基于语占的工具,它需要使用特定的语苦编程,比如使用当前主流 山东大学硕士学位论文 的编程语言j a v a ,c + + ,c # 等 2 ) 基于交互图形指定的工具,它允许交互用户界面设计,对应基于语 言的工具,当前主流的编程工具有j b u i l d e r ,v i s u a ls t u d i o 等 3 ) 基于模型的生成工具,就是使用模型或是高层的说明书来自动生成 用户界面。 1 3 界面开发技术的思想及发展状况 图形界面开发目前传统的用户界面开发工具通常分为两类,用户界面工 具箱( u s e ri n t e r f a c et o o l k i t s ) 和用户界面开发系统( u s e ri n t e r f a c e m a n a g e m e n ts y s t e m s , l j i m s ) “1 。用户界面工具箱是指包含一些具有交互 功能的界面构件库,如菜单、滚动条、屏幕按钮等,都是工具箱中的构件。 u i m s 是一个集成化的工具集合,它用于帮助程序设计员生成和管理界面。 u i m s 按其生成界面的方式可分为三种类型比1 : 1 ) 基于语言的u i m s 在大部分现有的u i m s 中,晃面设计者用一种专门的用户界面描述语言 ( u i d l ) 来对用户界面进行描述。这种语言有以下几种形式:菜单网络、状态 转移图、上下文无关文法、事件语言、陈述语言、面向对象的语言等。用户 通过这种界面语言来说明界面的语法,即输人输出的合法顺序,使用户达到 对界面的要求。 2 ) 图形描述的u i m s 图形描述的u i m s 让用户或至少部分地让用户使用鼠标直接将对象放到 屏幕上来定义界面。它把界面的图形看作为最重要的一个方面,而图形工具 是说明这种表示的最合适的方法。有一类图形描述的u i m s 可以让用户把菜 单、按钮、滚动条等交互构件直接安放在屏幕上。这些系统通常让用户为应 用程序的输人输出图形设置附加域,当用户执行一个交互技术时,就调用相 应的过程。d i a l o g e d i t o r 和m a c i n t o s h 的i n t e r f a c eb u i l d e r 就属此类。 其它的图形系统是用一种静态的页面和框架网络来组织界面,每一页包括正 文、图形和交互技术,同时还要让系统删除该页面,或转发到另一页的命令, 通常这些系统要求用户将这些交互技术本身嵌人到传统的程序设计语占中。 山东大学硕士学位论文 使用这种图形技术使得界面设计更简单,有些系统连非程序员都能使用。但 这种技术有三个缺点: a ) u i m s 本身构造时较复杂。 b ) 它只支持某些类型界面的建立。 c ) 它要求应用程序处理诸如求助屏幕、非正常退出和提示这一类的 工作。 3 ) 自动生成的u i m s u i m s 中一种新的类型是试图通过应用程序的语义描述自动生成界面, 并且让设计者修改界面以改进它的性能。这种系统主要试图解决用户使用其 他u i m s 遇到的困难。如控制面板界面( c o n t r 0 1 - p a n e li n t e r f a c e ) ,它使用 过程参数建立包括布尔型按钮、整数型按钮和条框等组成的图形界面,设计 者可以说明不同的显示方法,使用控制器改变数值,然后执行过程。 1 3 1 基于模型思想、发展和应用 1 3 1 1 基于模型的技术思想及其发展 基于模型的主要思想就是通过将用户界面分解成一些独立的模型组件, 通过语义来描述这些模型,这些描述方法与具体的高级程序设计语言无关, 它是一种对用户界面抽象了的较高层次的普通描述。然后再按照从模型到实 际运行平台的映射规则,生成实际的交互界面,最终达到交互的目的。 基于模型的技术在实际应用中并不仅限于某一种模型,往往需要对多种 模型的综合运用才能实现某项应用。界面模型分为概念模型和陈述模型“” 两类。概念模型又可分为应用模型( a p p l i c a t i o nm o d e l ) 、对话模型( d i a l o g m o d e l ) 和表示模型( p r e s e n t a t i o nm o d e l ) 瞄1 。该类模型的典型代表有; s e e h e i m ”1 、m v c “们和p a c 模型。s e e h e i m 模型是一种基于语言的模型, 基于词法、语法和语义划分的逻辑结构决定了它处理的对话交互逻辑是线性 的、可预见的,为其他的u i m s ( u s e ri n t e r f a c em a n a g e m e n ts y s t e m ) 模型 奠定了理论基础。 陈述模型包括任务模型( t a s km o d e l ) 、用户模型( u s e r m o d e l ) 、领域模型( d o m a i nm o d e l ) 、对话模型( d i a l o gm o d e l ) 和界面 模型( i n t e r f a c em o d e l ) “1 。陈述模型的思想是从用户需求和问题域出发, 4 山东大学硕士学位论文 以任务为中心,通过任务的分解和时序逻辑的描述,辅以实体关系说明,形 成界面表示单元;然后以形式化描述作为代码实现的过渡,最终形成界面。 t a d e u s “”,t r i d e n t “和m a s t e r m i n d “列等是基于该类模型的应用。 人们对于这种基于模型的用户界面描述方法的研究究竟是从什么时候 开始的,这个问题没有明确的答案。早在8 0 年代末期就有人试图研究一种 使用户界面脱离应用程序的表现信息说明方法。如m i k e “卵和i t s 1 这两 个最早的系统,它们都仅限于图形用户界面,而且对于能生成的用户界面要 加很多限制“”。 基于模型的技术已经在家电的控制界面系统中也开始应用,如在一个多 功能的家电控制设备上,如果不同的家电的控制界面都不一致,人们要在不 同的界面中来回切换,这样使得操作很不方便,p u c ( t h ep e r s o n a lu n i v e r s a l c o n t r o l l e r ) “们系统利用将控制界面的描述从家电设备中分离出来的方法, 实现了控制界面与设备的无关,从而进一步解决了不同的家电设备在控制设 备上生成的控制界面的不一致性问题,让相同或类似的功能在界面中生成的 位置及操作都基本相同,这样操作起来很方便。 在界面自动生成方面的研究已经有很长的历史,主要是以基于模型的界 面设计方面为主,基于模型的系统主要是想通过形式化的描述任务、数据和 应用程序,然后利用形式化的模型来引导用户界面的生成h 1 ,有些系统可以 自动设计用户界面,例如b i d e “8 1 和j a d e “”,还有些系统可以为开发人员提 供大量的辅助功能,如t r i d e n t ”们和m o b i d 1 。 1 3 1 2 基于约束的用户界面描述方法的发展及应用 基于约束的用户界面描述方法主要是以约束模型为主的一种用户界面 描述方法,它已经有较长的发展历史,并已经在多个领域进行应用研究,例 如p c 环境下的软件开发和移动计算环境下的界面自动生成,主要目的是使 得界面或软件能实现平台无关,界面能自适应不同的终端设备,增强代码的 重用性。 在用户界面自动生成的应用中,抽象交互对象( t h ea b s t r a c t i n t e r a c t i o no b j e c t s 简称a i o s ) 扭”1 技术是普遍使用的交互对象模型,它 与具体交互对象( t h ec o n c r e t ei n t e r a c t i o no b j e c t s简称c i o s ) ”2 。”的 山东大学硕士学位论文 不同之处在于a i o s 是c i o s 的抽象描述,它与具体平台无关,只是功能性的 语义描述,不能在任何平台上运行。而c i o s 是某一平台下的具体的交互对 象,它不需要进一步的处理,就可在自己的平台下运行,而且不需要知道具 体细节的实现,还可方便的通过参数化应用于程序的其它位置。 在定义一个表现模型架构时,它的结构与对象的继承结构非常相似,每 一个a i o 都好似多个c i o 的父类似”,如图i - i 所示,而且不局限于同一平台 下的多个c l o ,它可以扩展到其它多个平台。用户界面设计者只需要考虑a i o 方面的术语及语义,当u i 模型在不同的平台进行解释时,该平台下最合适 的c i o 会自动生成。 图1 - 1 抽象表示模型 有的界面自动生成系统虽然没明确提及a i o ,但综合全文不难看出,其 模型思想与a i o 相似。例如u b i ( u b i q u i t o u si n t e r a c t o r ) 系统“”,它是 由s t i n an y l a n d e r 等在2 0 0 3 发布的。该系统的主要目的是在服务端通过 一种抽象描述,当客户端请求服务时,服务端只提供抽象的用户界面描述语 义,中间通过交互引擎( i n t e r a t i o ne n g i n e ) 来对这些描述语义进行翻译 解释,生成客户端能运行的用户界面数据。最终在客户端显示并完成交互。 该系统为三层结构,如图卜2 所示。 它的实现思想主要是定义了一套交互动作( i n t e r a c t i o na c t s ) ,它们 是高度抽象的,不包含任何与具体设备相关的信息,所以是独立于运行设备 的。目前定义的交互动作主要有:i n p u t 、o u t p u t 、s e l e c t 、m o d i f y 、c r e a t e 、 d e s t r o y 、s t a r t 和s t o p “。用它们可用束描述整个服务过程,从服务的 6 山东大学硕士学位论文 图l - 2u b i 系统三层结构图 创建、启动、运行、停止到最后的销毁。在这个系统中定义的这些交互动作 与a i o 相类似,它们是在功能上的一种抽象性描述,完全与平台无关,由交 互引擎( i n t e r a t i o ne n g i n e ) 根据运行平台环境自动生成,所以它的实现 思想也与a i o 模型很多相同点。 、 目前关于a i o 的描述较多,每个系统都各不相同,如“1 中的描述是列表 卜1 所示的形式: ( p r o p e r t yn a m e :c o p y b u t t o n ( a i oc l a s s - b u t t o n ( p r o p e r t i e s ) ( p r o p e r t yn a m e = n 鲫e b u t t o n o ( p r o p e r t y ( p r o p e r t yn a m e - - a c t i o n c o m a n d c o p y ( p r o p e r t yn a m e = l a b e l c o p y ( p r o p e r t y ( p r o p e r t i e s , 列表l - 1a i o 的x m l 描述 在上面的a i o 描述中,需要指定具体平台下的类( 如 ) ,这样就降低了平台无关性,一旦移植到另一种平台,则需 要更改所有的类名,这使得可移植性大大降低。例如当在j a v a 平台下运行 时,如果使用s w i n g 开发工具集,则需要将所有的“b u t t o n ”改为“j b u t t o n ”, 工作量非常大而且出错的机率也大大增加。如果单独的映射关系将会得到极 大的改善。 界面中约束的描述主要分为空问约束( s p a t i a lc o n s t r a i n t ) 和抽象约 山东大学硕士学位论文 束( a b s t r a c tc o n s t r a i n t ) 幢2 ,圳。空b j 约束用四个线性的空l 日j 约束来描述: “l e f t o f ”、“r i g h t - o f ”、“a b o v e ”和“b e l o w ”“。抽象约束描述比 较复杂,一个用户界面可以用一棵树的结构来描述瞳2 ”1 ,通过树来描述界面 中组件白j 的抽象约束关系,如图i - 3 所示。空问约束中存在于兄弟节点之间。 图1 - 3 界面的树结构描述 用户界面中的组件通过分组,每一组可继续分组,分组的原则如下。”: 1 ) 每一组所描述的组件应该是逻辑相关的抽象交互者( a b s t r a c t i n t e r a c t o r s ) 或抽象交互者的组。 2 ) 每一组应该在说明上足可分离的。组中的抽象交互者应该允许椎局 管理器在空间上把它们分离开来。 3 ) 每个组中的元素或组在显示时是不可分开的,每组中的所有孩 子元素是一个整体,在显示时都裎示,或者都不显示,不能只显示 某些孩子节点,而另一螳不显示,这样就失去了它们本柬的整体所 具有的意义。 在界面生成过程中,如何在管理界面中组件的布局也是一个难题,当l ; 的许多布局管理器都存在一定的局限性,例如在j a v a 中提供的f l o w l a y o u t 、 b o r d e r l a y o u t 、g r i d l a y o u t 、x y l a y o u t 、c a r d l a y o u t 及p a c k i n gb o x e s “ 等多种布局管理器都无法满足实际界面却局的需要,它们都有一定的局限 性,而实际需要的是一种灵活的布局管理方式。在界面自动生成系统中,一 般都采用根据树形结构及多种约束来确定界面布局,这样更灵活,更能达到 山东大学硕士学位论文 平台无关的要求,而且界面的布局更能与实际设计的相符合。 1 3 ,1 3 存在的问题 基于模型的用户界面开发技术给用户界面的开发带来方便的同时也存 在着多种不足,最大的缺点就是模型和标记的复杂性,往往难以学习和使用。 事实上,基于模型的用户界面开发环境( m o d e l b a s e du s e ri n t e r f a c e d e v e l o p m e n te n v i r o n m e n t s ,m b u i d e s ) 仍然是受争议的,因为与这个技 术相关的一些本质问题还未完全解决。基于模型的方法的目标是提高设计的 支持程度和应用大量外部用户界面模型的代码生成。为了实现这些雄伟的目 标,基于模型的界面开发工具的代码自动生成必须具有全新的软件合成机 制,需要图形编辑器、设计助手、设计评论师的帮助。同时也有很多技术上 的问题: 1 ) 难于展示u i m ( u s e ri n t e r f a c em o d e l ) 为生成可运行的用户界面而描 述的用户界面的各个方面。事实上,很少有从陈述性的u i m 生成可 执行的用户界面。 2 ) 如何更好的将u i 与应用整合,并没有完整的介绍使用m b u i d e s 生成用户界面。 、3 ) 在使用哪些模型组合更适于描述用户界面方面,没有一致的意见 另外,也存在很多希望以后能够解决的问题: 1 ) 模型间的映射( m a p p i n gb e t w e e nm o d e l s ) :如何更好的描述模型间的 关系 2 ) 用户界面模型的后编辑问题( u i mp o s t e d i t i n gp r o b l e m ) :人工修改模 型可以得到最终的用户界面。当使用系统重新生成其它的草案设计 时,人工的修改会丢失。 1 3 2 用户界面模型的描述语言 因为我们研究的目的是使得用户界面于平台无关、重用性和可移植性 强,所以应当选择一种适合于此类特点的描述语言。在众多的描述语言中如 何选择一种更合适的,首先来总结一下要担当此任务的描述语言应当具备的 主要特点”1 : 9 山东大学硕士学位论文 1 ) 平台无关:因为运行环境的多样性,从p c 到嵌入式系统,从w i n d o w s 到l i n u x ,都存在着很大的差异,用户界面设计人员应当不要过多 的考虑界面将在什么样的设备上来运行。 2 ) 易陈述性:描述一个用户界面要求对人机交互有一定的表达水平, 且容易掌握。 3 ) 一致性:在不同的环境和系统中,语言符号对用户界面的描述都要 一致。 4 ) 易扩展性:,如果想为用户界面扩展其它功能,不用重新开始设计 5 ) 可重用性:当系统版本升级时,早版本的一些代码可以有选择性的 应用到新系统中。 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 作为一种计算机技术出现不过是 短短几年的事情,以其简便性而颇得人心。它是从s g m l 和h t m l 中演化来的 一种语言,x m l 主要目的是用来定义不同文档类型,主要特点有良好的数据 存储格式、高度可扩展性、高度结构化、易于处理及便于传输。x m l 技术是 由一系列的标准组成的,其中包括x m l 模式、d o m 、s a x 、x p a t h 、x l i n k 、 x p o i n t e r 等。 x m l 语言是非常合适的用户界面描述语言,它具备上述所有的特点心”: 1 ) 平台无关性:众所周知,x m l 是一门平台无关的描述语言,只要在 运行的系统中有x m l 解析器,x m l 的描述文档就可用。 j 2 ) 易陈述性:x m l 可以定义自己的标签并赋予特定的含义,所以非常 灵活且有很强的表达能力。 、 3 ) 一致性:d t d 和s c h e m a 的使用可以保证标签的含义是唯一的,再加 上命名空间的使用,完全可以消除标签的二义性,这些足可以保证 描述的一致性。 4 ) 易扩展性:因为其标签的定义是可以任意的,当不满足实际需要时, 可以扩展d t d 或s c h e m a 文档来扩充其描述功能。 5 ) 可重用性:x m l 本身就是一个文本文档,很容易的在其它系统中使 用或编辑。 使用x m l 作为描述语占还有一个好处,x m l 技术的使用越来越普遍,其 山东大学硕士学位论文 应用也日益广泛,在网络,w e b 及数据库等多个领域都得到广泛应用。所以 选用x m l ,会更容易为人们接受。 1 3 3 基于模型技术的发展趋势 基于模型的技术发展已经不局限于用来开发图形用户界面,现在已经在 研究如何将其用于整个软件的开发过程中,这种思想就是2 0 0 0 年由o m g 组 织提出的m d a ( m o d e ld r i v e na r c h i t e c t u r e ) 圳。软件系统的开发本质上 是一个从模型到最终实现的过程。由于具体的实现技术及其相关标准总在不 断地发展变化,如果系统的模型和实现技术是一种紧密耦合关系,那么系统 的升级以及系统与其他系统之间的集成就相当困难。基于此,o m g 提出了把 系统的业务功能分析设计和系统的具体实现基本分离的思路,以求把实现技 术的变化对业务系统的影响降低到最小化的程度。从宏观看,这种m d a 的思 想使得应用模型与领域模型在整个软件生命周期中得到了复用,保证了己有 投资并驱动整个系统的技术升级。 1 3 3 1m d a 的模型架构 在m d a 中,模型不再仅仅 是描绘系统,扶助沟通的工具, 而是软件狭航道的核心和主 干。为了从技术

温馨提示

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

评论

0/150

提交评论