HI,欢迎来到学术之家股权代码  102064
0
首页 精品范文 ui设计论文

ui设计论文

时间:2023-03-24 15:40:39

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇ui设计论文,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

ui设计论文

第1篇

一、研究内容:

基于Unity制作的《绿野仙踪》冒险类游戏,游戏的视觉方面采用3D的游戏视角,剧情是在奥芝国的基础上新改编的童话故事剧情,画风为独特的低多边形画风,配合上轻松的游戏玩法,力求制作出一款精美的独立小游戏。其主要的制作内容为以下几点:

1.参考原著《绿野仙踪》,以其中的人物为原型,重新设计一个主角桃乐丝在奥兹国历险的新故事剧情,剧情内容是通过击败游戏内的女巫解除翡翠城周围的封印,分别解救稻草人、铁皮人、狮子三个伙伴,最后在翡翠城通过大魔法师的帮助实现了桃乐丝众人的愿望。

2.游戏的角色场景设计是依据童话原著里描述的人物、地形、地貌等特征,使用Maya、Cinema 4D等建模软件制作,游戏的场景和角色均采用独特的Low Poly艺术风格。

3.游戏的玩法是通过自己设计的NPC对话展开游戏剧情,使用虚拟按钮控制主角在游戏中移动,主角在游戏内可以触碰部分环境生物,完成相应的目标并拯救游戏中的三个伙伴,帮助他们实现愿望。

4.游戏的功能方面是使用Unity编写C#脚本,完成游戏角色行走、碰撞检测、场景交互等内容。

5.游戏的ui是力求美观简洁,风格蕴含童话气息。

二、研究方法:

1.研究分析同类型的游戏,整理出游戏制作的大致方案和步骤。

2.分析研究文献《绿野仙踪》童话故事,并依据文献部分内容改编成游戏的故事情节。

3.分析文献内的插图绘本,通过想象确立一个游戏中场景模型的大致方案,使用 Maya、Cinema 4D等三维软件,通过软件内的减面、置换等技术进行游戏场景、模型的制作,将所有模型资源导入Unity,利用Unity完成场景搭建。

4.参考和筛选UI制作相关资料,在Unity中完善游戏界面。

5.利用Unity编写人物角色控制、碰撞检测、场景对话等脚本,使角色在游戏场景中达成相应的目标,完成游戏剧情内容。

6.游戏制作完成后,利用Unity运行并多次测试,修复出现的BUG,使游戏可以做到尽善尽美。

三、研究思路:

   首先通过观察对比同类型的游戏,总结这些游戏的优点,整理出游戏设计的整体流程和设计方向。通过查阅文献《绿野仙踪》,将其中的部分故事剧情改编成本游戏的剧情,并依据文献提供的文字描述、插图等内容,设计出大概的场景和角色形象,将完成的资源导入Unity进行场景搭建、角色动作调试,然后通过编写C#脚本实现游戏功能,最后通过不断调试修复BUG,完成游戏制作。

主要创新点:

1.基于《绿野仙踪》原著故事,改编成一个适合开发成游戏的新故事剧情,让玩家在游玩时可以一边回味童话故事情节,一边又可以体验轻松新奇的游戏内容。

2.作品使用了Low Poly低多边形艺术风格,设计上更加富有童话气息,增加游戏的美术吸引力,增强玩家的游戏体验。

3.游戏在玩法中加入了场景交互功能,可以与场景中的NPC、物体、树木等进行交互,丰富游戏内容,增强游戏的趣味性。

总体安排和计划进度(包括阶段性工作内容及完成时间):

一、总体安排

1.完成角色和场景的设计,并导入Unity完成场景搭建。

2.完成游戏UI的制作,实现游戏的基本功能并编写C#脚本。

3.在Unity中运行并测试游戏,完善游戏内容并修复BUG。

4.完成毕业设计论文

二、计划进度

2018年11月1日至11月21日:完成毕业设计选题;

2018年11月22日至12月12日:查阅搜集分析材料并完成毕业设计开题报告;

2018年12月13日至2019年3月15日:完成毕业设计以及毕业论文初稿;

2019年3月16日至4月11日:完善毕业设计,完成论文修改稿,形成定稿;

2019年4月12日至4月19日:提交毕业设计论文等资料,论文评阅与修改;

2019年4月20日至4月26日:答辩。

准备情况(查阅文献资料及调研情况、实验仪器设备准备情况等):

[1]时代印象.新编中文版Maya入门与提高[M].人民邮电出版社.2015.7.

[2]姜洪侠,张楠楠.Photoshop CC图形图像处理标准教程:微课版[M].人民邮电出版社.2016.3.  

[3]完美动力.Maya动画[M].海洋出版社.2012.7.  

[4]刘国柱.Unity3D/2D游戏开发从0到1(第二版)[M].电子工业出版.2017.

[5]陈嘉栋.Unity3D脚本编程:使用C#语言开发跨平台游戏[M].北京:电子工业出版社.2016.9.

[6](美)莱曼·弗兰克·鲍姆.绿野仙踪(插图本)[M].译林出版社.2012.5.

[7](英)3DTotal.com公司.想象的魔力—全球先锋概念设计师的手绘图集[M].上海人民美术出版社.2016.1.

[8](美)Tina O’Hailey.Maya动画角色绑定技术解析[M].人民邮电出版社.2016.4.

[9]矫桂娥,王国豪,李萍.Maya动画设计与制作[M].清华大学出版社.2013.9.

第2篇

关键词:人性化;网站界面设计(UI);老年人

网站界面设计,英文的全称是Web User Interface Design,又叫UI设计。包括三个方面:可用性,交互设计和视觉设计。通常研究的是让网站的界面具有更多的可用性,更良好的用户体验,以及更美观的视觉设计,概言之就是“人性化设计”。[1]在全球人口逐渐老龄化的今天,应该把更多的“人性化设计”真正应用在老年人这一弱群体上。本文旨在从老年用户的生理和心理各要素出发进行综合考虑,探析以老年用户为中心的网站界面(UI)设计要点。

1 老年用户研究

设计优秀老年用户网站界面的先决条件是与老年用户进行有效的交流,充分理解老年用户的需求,重视老年用户的生理和心理特征。

1.1 老年网民用户人数众多

据调查显示,近些年来,我国老年网民的比例一直在攀升,增长率已经超过了网民总体的增长速度,对于互联网的应用日益广泛。根据相关统计报告显示,2008年年底,51~60岁的网民从1999年的10.6万人增长到1251.6万人,60岁以上的由3.5万增长到447万人。虽然我国老年网民绝对数量不多,10%不到,处于上网人群的弱势群体,但却是以令人瞩目的速度增长着。

1.2 老年人对互联网的多样化需求

老年人由于心理上和生理上的变化,与儿童、少年、青年人和中年人人群有着不同的特殊需求。根据The Usbased Spry基金会报告显示,老年人的需求主要表现在四个主题:财产安全、身体健康、精神愉悦和良好的社会氛围以及参加智力活动。[2]具体表现在:获取相关信息,一些老年人希望上网浏览和查询最新的外界信息保持“耳聪目明”的状态,有些则是投身老年论坛,希望利用网络查询、浏览养生保健和常见疾病等信息沟通交流,有些希望通过网络和子女视频聊天、互发邮件;财务管理,还有相当一部分老年人希望能够使用网络来购物、买卖股票以及付账等。总之,老年人对互联网的多样化需求一点都不亚于其他人群。

1.3 老年人的生理和心理特点

从50岁到60岁这个阶段,明显地会出现一些衰老的迹象,主要表现在容易健忘,爱发脾气,认知过程缺乏适应能力;视觉模糊,色彩辨别力降低,视野范围和判断距离的能力通常大大不如过去;动作缓慢,手眼配合欠佳,听觉便开始逐渐减退。[3]总之,因此,随着年龄增长,工作效率逐渐下降。具体表现如下:

(1)近距离视力退化更大。比如在35厘米左右的读书距离内,视力减退的惊人,并伴有老眼昏花。据统计,70岁健康老人的视力超过0.6的只有51.4%。

(2)听力显著下降。特别是对较复杂和速度快的语言的理解,男性比女性减退的更明显。老年人并不知道自己的听力在下降,而是认为别人说话不清楚。

(3)记忆的减退,但也有自己的特点,比如老年人对往事的记忆清晰,而对新近发生过的事物或者新近学习过的内容遗忘较快;对需要将记忆材料进行组织加工使之进入长时储存方面的记忆力较差;老年人的意义识记减退较少,机械识记减退较多。例如,老年人对人民、地名、数字等东西的记忆效果就不好;

(4)思维能力弱化。在调查里,许多老年人常常抱怨自己已经不能像早先那样很好的思考问题了,这反映人的思维能力到老年时出现逐渐衰老的趋势。

2 以老年用户为中心的网站界面设计要点

在对老年用户做了研究之后,笔者认为适宜老年人的网站界面设计的总体原则是以人性化为本,同时注意网站的易用性,规范性,美观性,具体如下五点:

2.1 将操作任务化繁为简

在越来越强调人机交互的今天,对于老年用户来说,最好的人机交互就是简化操作任务,减少不必要的任务,[4]尽量让老年用户在网站上面的操作变得简单,同时又不宜出错。比如强调基本功能,尽量减少和弱化附加功能。如Gmail的登陆界面,简化到“登录信息+登录设置”即可,无须要其他的附加信息。

2.2 合理的信息显示

互联网的根本目的是提供信息,合理的信息显示包括两方面的内容:划分信息功能区和减少视觉密度。[5]

(1)划分信息功能区。当页面的信息较多时,为了避免视觉混乱,应该划分信息功能区。最重要的信息放在页面的视觉中心;同一类的信息放在一起,并与其他类信息间隔一定的空间;同一类的信息用同一种颜色或同一色系的颜色来表示;不同信息区又可以用不同背景色来区分。

(2)减少视觉密度。网站界面需表达的信息很多时,易造成界面看起来非常拥挤,信息挤在一团,对于老年人来说很难一眼就能获得所需的信息。因此,必须减少视觉的密度,比如:考虑适当的留白,适当的留白将使整个界面看起来清楚而美观;降低品牌识别logo、名称的大小,无需为了彰显品牌形象而刻意放大;使用简单的图形,尽量平面化,不要使用过度复杂的图像;使用空白空间,而非线条去区分文字内容;使用简洁的语句表达信息,避免内容过多等等。

如upcoming的首页设计,依据信息的不同类别划分板块,并按重要性摆放在相关位置。焦点活动咨讯配图放在视觉中心点,紧接着下面是活动信息介绍,左边的活动类型板块,右边是活动的辅助信息。信息安排布局井然有序,是划分信息功能区和减少视觉密度的最佳例子之一。

2.3 合理的文字规划

文字对于网站界面的作用不言而喻,对于老年用户来讲,网页文字的漂亮是建立在易读易辨的基础上的,合理的文字规划,主要表现为以下两个方面:[6]

(1)文字内容尽量简洁,配上有意义的图标或者图片,同时应该避免使用专业术语。字体的选择也要易于老年用户辨认,网页默认的字体是宋体。可以根据需要选择一些特别字体。例如,为了体现专业可以使用粗仿宋体,体现设计精美可以用广告体,体现亲切随意可以用手写体等等,但前提是一定要易于老年人辨认。

(2)井然有序的排版。有时候别出心裁的界面设计或许会带给使用者眼睛一亮、赏心悦目的视觉感,但无论何,井然有序的文字区规划,才易达成最有效、最舒适的效果。如有较多的说明文字,要让说明具有顺畅地阅读连贯性。举个例来说,一个向中对齐与一个向左对齐的文字区块,明显地,向左对齐的区块读起来顺畅多了,因为使用者在读完一行字后,自然而然往左下方继续读下去,不需要重新找寻开头,相较之下,向中对齐的区块看起来混乱多了。因此,有规矩地文字区规划将可大幅度提升用户界面的品质。

2.4 合理的色彩规划

网站界面的色彩对于老年人来说同样重要。老年人的视觉衰退很明显,一个好的色彩规划可以提高界面的视认性,从而提高操作的准确性和效率;可以减轻视觉上的疲劳。另外,通过色彩规划来增强界面的美感和亲和力。[7]

具体来讲,老年用户界面中,最好不要超过3到5种颜色。大区域最好使用浅色调,如白色、浅灰等。对于老年人而言,配色要采用视认性高的色彩,要加大色彩的对比度,背景与主体对比度要大,背景色不宜采用有金属反光的颜色,如银色和金色。对于重要的按钮或信息要用诱目性高的色彩来表达,但颜色不宜过多,且区域不可以太大,否则看起来过度混乱,缺少美感,也容易造成视觉上的疲劳。

2.5 细节为王

对于老年用户来说,细节同样重要,比如尽量使用有意义的图标,尽量不要使用生涩难懂的专业术语,注意提供精确的导航提示,提供声音控制,尽量减少噪音干扰,克制使用新技术的欲望等等。

3 结束语

关注老年人网站界面设计,是以人为本的需要,也是国内所有优秀设计师的责任。限于篇幅有限,对于老年人使用的网站界面设计,笔者也只能泛泛而谈,有所不足和欠缺,还望读者指正。同时,撰写本文,以期抛砖引玉,引起大家对老年人更多的关爱和设计出更多更好适宜老年人使用的产品。

参考文献:

[1] 刘春花.基于用户体验的界面设计UI研究[C].天津工业大学硕士学位论文,2007(12).

[2] 杨足.老年人使用的家电的人机界面设计研究[C].江南大学硕士学位论文,2004(06).

[3] 廖晔.网页界面设计及其学科相关性研究[C].湖南师范大学硕士学位论文,2006(04).

[4] 赵侃用户体验设计――网页界面设计的重中之重[J].艺术与设计(理论),2010(09).

[5] 何荣.浅析网站界面设计[J].科技信息,2008(26).

[6] 宗明明.老年人网站界面设计前景分析[J].设计(Design),2012(10).

第3篇

【关键词】 大学英语;网络自主学习;评价体系;评价模型

【中图分类号】 G431 【文献标识码】 A 【文章编号】 1009―458x(2012)02―0021―05

引 言

随着计算机和互联网技术的不断进步,网络学习也日新月异,但与之相配套的学习质量评价体系却一直滞后,对于网络学习的效果评价还处于起步阶段,缺少有效的评价手段。

目前,国外主要有三个较受公认的网络教育认证标准,E-learning Certification Standards,Evaluation of a Web-Based Course,以及“在线教育质量:远程互联网教育成功应用的标准”。不过它们对于网络学习的评价仅是描述性的定义网络学习的评价指标,而对如何组织评价、如何获取定量数据、评价数据等方面则较少涉及[1]。

国外对网络学习评价的研究起步较早,但研究工作主要集中在远程协作学习评价上,都以案例的形式对自我评价、伙伴评价和小组评价进行研究。最早提出交互分析模型的是Henri,他从交互言论的视角分析了交互特征,提出了理解在线交互文本的分析模型,将交互分为五个维度:Partioipative、互动(Interaotive)、社交(Social)、元认知(Metacognitive)和认知(Cognitive)[2]。后来学者不断在此基础上开展研究,西班牙研究者Fatos Xhafa等用案例研究法对自我评价、伙伴评价和小组评价作了详细介绍,并就远程网络学习协作评价给出了具体的评价量表,此表包涵四个维度,task performance,group functioning,social support和help service,权重分别为50%、20%、15%、15%[3]。国外研究者在网络学习评价方面的研究主要集中在协作学习评价上。另外,大部分研究者都是以自我评价、伙伴评价或小组评价中的一项为研究对象,重点研究执行这种评价对学生学习的影响,给出具体评价指标的很少。国外的网络教学平台对学生学习效果的评价也是协作评价,如,澳大利亚的 Moodle教学平台在评价教学效果方面做得比较全面,包含了作业、考试的定性定量评价与管理,但在如何处理评价指标权重方面和定性评价向定量转化方面显得有些不足。

国内对网络学习评价的研究开展相对较晚,但近几年发展较快。以中国期刊网(CNKI)作为信息源,以“学习评价系统”和“网络”为关键词,以论文“题名”为检索项,检索 1994 年至2011 年 9 月的期刊论文和学位论文,得到近百篇文献。

张萍选取了认知、态度、应用技能以及人际协作作为一级评价指标,以知识建构、高阶思维、学习态度、协作态度、信息技能、工具技能、人际沟通能力作为二级评价指标[4]。覃美珍选取了学习态度、交流与协作和资源利用等三个维度作为一级评价指标[5]。张京彬等选取了学习态度、相互交流与协作、资源利用和总评等四个维度作为一级评价指标[6]。

这些研究主要延续了国外的研究成果,以远程网络学习或网络协作学习为研究对象,网络学习的评价指标选取上存在较大差异。国内外现有的网络教学评价方案不足之处表现在以下几个方面:① 最大的问题是国际上没有统一的网络教学评价标准,研究人员只是根据自己的研究实际制定评价体系;② 国内外的网络学习评价多数只针对某些局部范畴,如协作评价或只是关于远程教学中网上学习的过程性评价;③ 评价指标的选取上存在较大随意性和差异性;④ 课堂教学和网络自主学习相结合的混合式学习模型还没有受到关注,没有文章对其作为一个单独领域进行具体评价指标体系设计研究,没有系统的解决方案。

大学英语网络学习属于混合式学习模式,既有教师课堂授课,又有学生网上自主学习。为了解决大学英语网络学习效果评价的困局,本文依据建构主义理论和现代教育评价理论,参考Henri的交互分析模型,对国内外现有的评价指标体系进行梳理,结合大学英语网络学习实际,构建大学英语网络学习评价指标体系,再运用模糊数学方法设计了一套适合大学英语网络学习特点的综合评价模型。

构建大学英语网络学习评价指标体系

首先,确定评价维度。参考Henri的交互分析模型,对国内外现有的评价指标体系进行梳理,结合大学英语网络学习实际和大学英语网络自主学习自身特点,本文选取学习态度、交互程度、资源利用和试卷成绩作为大学英语网络自主学习的四个评价维度,试卷的设计是参照国内四级机考题型[7],制定了大学英语网络自主学习评价指标体系量表,如表1所示。表中将学习成绩、学习态度、协作与交流和资源利用四个方面作为一级指标,每个一级指标又包含3到9个二级指标。Ui表示一级评价指标(i=1, 2, 3, 4, 5);uij表示二级评价指标(i=1, 2, 3, 4, 5, j=1,2,…, 9)。

其次,确定指标体系权重。目前,确定评价指标权重的主要方法有专家会议法、特尔裴法和层次分析法(AHP)[8]。鉴于层次分析法采用多因素分级处理思想来确定各因素权重,这与上文建立的评价指标体系相吻合,因此,采用层次分析法来确定权重。

第三,评价指标模糊集。根据大学英语网络学习系统的特点和要求,需要用模糊数来代表教师评分所使用的等级,这里采用目前学习评价中常用的优、良、中、及格、不及格五等级评价方式[9][10]。

大学英语网络学习模糊综合评价模型

1. 建立评价指标因子集和评价集

设评价指标集合为U,则有:U=(u1, u2, …,un),式中ui为各评价指标。

(1)定义一级指标集为U=(u1, u2, u3, u4)= (资源利用,学习态度,交流与协作,学习成绩),相应的权重集为A=(a1, a2, a3, a4),其中ai (i= 1, 2, 3, 4)表示指标ui在学生总成绩U中的权重,且∑ai=1。

(2)定义二级指标为Ui=(ui1, ui2, ……)=(按教师预定的课程学习计划完成学习任务,积极地参加教师组织的网上教学活动,……),相应的权重集为ai=(ai1, ai2, ……),其中aij(i = 1, 2, 3, 4), 表示指标uij在学生总成绩ui中的权重。

(3)定义评价模糊集V=(v1, v2, v3, v4, v5), 该模糊集中的每一参数均用评定的分数等级表示。

2. 确定模糊评判矩阵隶属函数

学生排名与真实水平的关系假设满足正态分布,这种分布在教育评定实际应用中也被广泛应用[11]。针对大学英语对某班全部学生进行排名,把该课程的学生排名序列分为五档:(0% ~ 10%],(10% ~ 30%],(30% ~ 60%],(60% ~ 90%],(90% ~ 100%]。利用模糊数学中的隶属度的概念,由专家经验值确定一个学生的排名在(10% ~30% ]内,则该学生的真实水平落在(10% ~ 30%] 的可能性定为0.6,而落在(0% ~ 10%] 和(30% ~ 60%] 的可能性各为0.2。这样,该学生在班级排名的真实水平可用向量r=[0.2 0.6 0.2 0 0]表示。则指标U的模糊评价矩阵R=[r1,r2,……,rn]T,n是U评价指标的数量。

教学评价模型的实例分析

在网上学生学习评价调查表,有30位师生对学生K进行综合评价,经处理后得到的大学英语网络学习评价调查统计表如表2 所示(评价指标对应表1)。

1. 确定一级指标和二级指标的权重系数

(1)确定一级指标U1、U2、U3、U4权重系数

根据上述AHP方法的思路,通过专家会议法,制定网络学习行为各评价因素的两两比较矩阵。对网络学习评价的一级指标中的各指标分别进行两两比较得到一组判断矩B(1),如表3所示。

同理,经一致性检验,对比较矩阵进行修正得各二级指标的判断矩阵、权重和CR,分别由表4至表7给出。

2. 隶属度的确定

以u11为例计算uij (i=1,2,3,4, j=1,2,…,9) 的隶属度。

评价指标u11的积分=(95×v1+85×v2+75×v3+ 65×v4+50×v5)/评价人数

=(95×5+85×10+75×10+65×4+50×1)/30

=80

此学生的u11成绩在班级30人中排在第12位,其分布率=12/30=40%,故u11的隶属度为(0,0.2,0.6,0.2,0)。二级评价指标uij的计算方法以此类推,得到的uij隶属度,见表2。

3. 建立模糊评价矩阵R

由表4可得各二级指标的评价矩阵分别为R1、R2、R3和R4。

这表示该学生在大学英语这门课程的学习成绩为优秀的成分为0%,良好的成分为14%,中等的成分为48%,及格的成分为32%,不及格的成分为6%。根据等级分数矩阵,则该学生大学英语的学习成绩为

U4=[0 0.166 0.533 0.267 0.034]×9585756550=73.152

其所属等级为良。

同理可得学习态度U1、交流与协作U2、资源利用U3的成绩分别为:把二级指标所得的成绩在所有人数中重新排名得到如表8所示成绩。

该生总评价等级属于中等。

大学英语网络学习评价模型综合验证

以参加大学英语网络学习教改实验的90名学生的学习参数为样本点,检验模型的准确性及鲁棒性。对90名学生的学习状况动态跟踪采集,分析后得到学习数据。使用调查问卷收集学生的反馈意见,85%的学生认为数据较准确地反映自己的学习状况,10%学生认为数据有部分项没有准确反映自己的学习状况,5%学生认为数据完全没有准确反映自己的学习状况。调查数据表明:评价指标体系设置合理,能较好地表示学生的学习状况;通过系统的处理机制得到的数据能较准确地反映学生学习状况。

以这90名学生2010-2011年第一学期课程的数据为依据,对该年级90名学生进行评价,其正确率-错误率曲线如图1所示,正确率达90%。

这表明,该模型具有很好的实用性和指导作用,大学英语网络学习评价指标体系的结构比较合理,经系统得到的评价结果更加科学、合理,能较全面反映学生的学习状况。经系统得到的评价结果和理论结果一致性较好,学生对于使用该系统给出的评价结果和指导学习的信息认可度在中等偏上。因此,提出的评价方案总体可行,可以考虑在更大范围使用。

此评价模型可以进行计算机编程,使用起来更加简便,可操作性更强,在大学英语教学评价中具有很强的实用性,模型的评价指标系数可以按照专家和实际教学需要进行调整,其仅适用于大学英语网络自主学习的量化与非量化混合的综合评价。此模型把过程评价和总结性评价有机结合,希望能解决我国大学英语网络自主学习评价的难题。

?眼参考文献?演

[1] Charles F. Saxon G. Reasons,Online Student Evaluation of Teaching for Distance Education: A Perfect Match? The Journal of Educators Online,Volume 2,Number1,January,2005.

[2] 张润芝. CSCL评价技术的新趋势[J]. 中国电化教学,2009,(5):35.

[3] Tim S. Roberts, Self, Peer, Group Assessment in E-learning, Information Science Publishing, 2006.

[4] 张萍. 网络环境下协作学习评价模型的探究[J]. 科技情报开发与经济,2010,(34):101-103.

[5] 覃美珍. 网络环境下学生学习评价的研究[D]. 南宁:广西大学,2005:31-33.

[6] 张京彬,余胜泉,何克抗. 网络教学的非量化评价[J]. 中国远程教育,2000,(10):48-52.

[7] 大学英语等级考试机考样卷. [2011-12]. .

[8] 彭祖赠,孙韫玉. 模糊数学及其应用[M]. 武汉:武汉大学出版社,2007:90-94.

[9] 张吉军. 模糊层次分析法(FAHP)[J]. 模糊系统与数学,2000,14(2):80-88.

[10] 张阳,王东,杨贯. 基于模糊AHP理论的网络学习评价模型研究[J]. 湖南师范大学自然科学学报,2007,30(2):71-75.

[11]张磊. 教育统计分析方法[M]. 北京:科学出版社,2007:255-256.

收稿日期: 2011-11-15

作者简介:惠兆阳;梅树美。哈尔滨理工大学荣成学院外语系

第4篇

如果你仔细回想一下,“拼多多”所代表的这种复杂、高度集合信息的设计风格,在中国互联网江湖中并非个例。

淘宝、京东、今日头条等等,各大主流 App 的首页设计均是如此——琳琅满目的信息恨不得填满你的世界,色彩斑斓的图片、GIF 搔首弄姿般地时刻提醒着你:点我!点我!

电商类 App 的首页UI界面,是不是长得都差不多?

从左到右依次是:淘宝、京东、苏宁易购、1号店

相较于国内互联网公司复杂的“大而全”式设计,国外的 UI 设计大多走“简约”路线:非常注重留白,收藏起功能选择栏,集中突出某一项功能。

在同行的映衬下,难怪 Winnie 会觉得中国的 App “丑” 了。难道是中国互联网人的审美出了什么问题吗?

01 汉字原罪

关于审美的讨论,其实是一个公说公有理、婆说婆有理的话题。在互联网设计当中,美、丑都是相对的概念。在 Winnie 眼中,“丑”就是密集式的复杂设计,以中国为代表;“美”则是留白式的简约设计,以美国等西方为代表。

自从乔布斯开始,在以科技创新为象征的互联网行业中,美国等西方国家一直都“代表着先进文化的前进方向”,如今顺理成章地,它们所采用的简约设计风格,是目前国际上 UI 设计界的主流声音。但中国的互联网公司这次却偏偏不跟风了,纷纷祭出各种五花八门的复杂设计作品,让人眼花缭乱、应接不暇。

中国这种高密度的信息设计,往往都伴随着几大特点:链接多、图片多、色彩斑斓。而这与汉字的结构息息相关。

中文中最复杂的汉字 biang

共有57画

“biang biang面”为陕西关中地区的一种民间美食

与英文这种表音的拉丁文字不同,汉字作为表意的象形文字,是世界上最复杂的语言之一。英文有26个字母,相互排列组合就可以构成有意义的词;但是汉字却有八万多个单字,不论是单独、排列还是组合都可能生成不同的词,结构着实复杂。

并且汉字没有大小写、没有空格、笔画众多、花头较少。在自身复杂的前提下,简体汉字也缺乏很多设计上的可塑性。这就决定了在界面设计上,简体汉字比英文更加繁琐。所以,当你的App上大量出现中文的时候,即使其他元素保持不变,你也会觉得设计变得更复杂了,像是变“丑”了,降低了原先设计的“逼格”。

把包上的英文转换成汉字,立刻满满的违和感(图片来源微博)

在互联网的世界中,简体汉字不仅在外观上相比英文更加复杂,其在功能上受到的制约,也加剧了这种复杂的呈现方式。

互联网是诞生于英语世界的产物,这是一个从最底层的框架开始,就以字母为基础构建的网络平台。不论是 Windows还是 Linux,再到移动时代的 Android 和 iOS,所有的操作程序都是用英文写就的,这就导致在中文搜索出现前,如果用方块字搜索网页,你几乎什么也搜不到的。

中文搜索出现后,域名的字母问题依然存在,用户可以看得懂汉语,但是他们无法记住用英文字母拼就的域名。所以与其让用户去记住网页地址的一连串字母,不如直接提供链接——这就体现了非英语世界中“门户网站”的重要性。大量排列链接的意义本质上正是为了解决用户“看不懂英语字母”的问题,让他们可以直接点击链接,导航到想去的网站。

2007年的新浪网

而且,这并不是简体中文独有的情况,日语、韩语、繁体中文等在设计上都与简体中文有着相似的困境。在迎接以英文为主的互联网时代到来时,不可避免地要使用这种多链接的方式,设计自己的网页。

文字多了,为了配合布局让网页看起来不会那么枯燥,我们自然而然会想到添加图片。于是各种五颜六色的图片、色彩斑斓的GIF也就应运而生,配合设计师调配页面上复杂的设计风格。

02 相比西方人,中国人更擅长观察复杂环境

在国外脑科学领域有一个研究分支为“文化神经科学”(Cultural neuroscience),主要研究不同文化背景会对人的大脑神经产生怎样的影响。

2005年,密歇根大学心理学系的三位教授Hannah Faye Chua, Julie E. Boland 和 Richard E. Nisbett 做了一个有趣的实验。他们把一些图片,分别拿给美国人和中国人观看,然后记录受试者的眼动情况和记忆能力。结果表明,美国人更容易注意到图片中的单个物体;而中国人则能够对物体、环境、背景等多种元素有一个均衡的感知。

实验中所用到的让受试者观察的图片示例和论文截图

换句话说,中国人和美国人对信息有不同的感知方式,我们更擅长观测充满复杂信息的环境。Chua 他们认为,这与中美的文化差异相关:美国更崇尚个人主义,而中国则更崇尚集体主义。

后来,这一学科的其他相关研究均不断印证了 Chua 他们的发现。专栏作家 Sharon Begley 在 “文化如何塑造大脑” 一文中写道:当观察复杂的场景时,亚裔和非亚裔分别激活了不同的大脑区域。亚裔大脑中的图形处理区域会活跃起来,这使他们更能关注到整体;而非亚裔的大脑活动则主要集中在个体物体识别区域。

也就是说,咱们中国人,天生就有能够处理复杂信息的能力,所以在面对“拼多多”们这种繁琐的 UI 设计时,根本就没太当回事儿。在我们日常生活的文化空间中,中国用户已经逐渐习惯了各种复杂的元素构成,并不会认为它特别得“丑”或者“美”。复杂,只是一种习惯性的设计表达。

美国曼哈顿唐人街的街市布局与曼哈顿其他地区的布局截然不同

充满了中国“复杂”的特色

图片来源:维基百科

传统中国人爱热闹,喜欢“人多”的氛围,比如好餐厅就一定要是人声鼎沸的,一定要是排队的;喜欢红色,因为代表喜庆。逢年过节更是要走街串巷,锣鼓喧天、鞭炮齐鸣,这代表了好兆头,是中国文化的一部分。

在这种文化环境下,我们诞生出来的设计作品也极具特色。诸如窗花、贴图等充满民族文化的设计作品,往往都透露着一种“复杂”的特点。一个作品中通常都有不止一个人物,细节雕琢得到位,各种元素齐全,整体上来看,体现出的就是一种信息密集式的复杂艺术特征。

苏州桃花坞产出的桃花坞年画,色彩艳丽

如果把它和“拼多多”们的主页联想在一起,是不是有一种异曲同工之妙?

你很难说这是丑还是美,它是一种客观存在的文化现象,没有随着科技和互联网的发展而消失,而是以另一种方式保存了下来。在使用这些互联网产品时,中国最广大的用户们并没有表现出太多对美丑的评价,因为我们在大脑中已经自然地接受了这种“复杂”的设计风格。

03 产品设计

日本设计师原研哉(无印良品最早的设计总监),曾在自己的书中(《设计中的设计》)说到:设计的首要任务永远都是实用性,要在实用性的基础上给用户以美的体验。原研哉是日本极简主义设计理念的代表,极简如他,依然强调的是设计在功能端的作用。

对于互联网界面的 UI 设计来说,撇开文化表层的原因,它从本质来看就是一种商业行为,那么“满足用户需求”,就是产品经理在任何时候都会最优先考虑的事。对于中国的这些互联网公司来说,采用复杂设计的最直接原因,可能只是因为这么做能赚钱而已。

Porter Erisman 在自己的畅销书《六十亿购物者(Six Billion Shopper)》中,记录了李开复还在谷歌时的一次内部讲话,那时谷歌还没有离开中国。李开复在讲话中提到,在全球各地谷歌实验室进行的“眼动测试”中(眼动测试,记录受试者在浏览网站时眼睛转动的情况,以此来判断他们注意力的变化),他们发现了一个有意思的现象:美国的谷歌用户,在使用谷歌时,目光会直接锁定在搜索框;而中国的谷歌用户则可能会把整个网站都浏览一遍,就像是在寻找一些可能潜藏的“小惊喜”。

《六十亿购物者》这本书描写了全球电子商务市场中的企业故事

李开复的结论与Chua教授等的研究结果如出一辙。显然,在中国的社会环境下,高信息密度的复杂式设计更符合用户的行为习惯,也能吸引更多的用户流量。

以淘宝和亚马逊为例。对于美国用户来说,他们平常的购物场景发达,用户登陆亚马逊往往会直接通过搜索框找自己需要的商品。而且这些用户通常在登陆前,就对自己所要购买的商品有了充分了解。

亚马逊在不同地区的首页设计差异

它的中国版已经为中国人的使用习惯进行了明显的个性化设计

但是中国用户在淘宝上,往往会有一个“逛”的行为。他们打开淘宝后就像逛商场一样,四处翻看,打开各种链接和优惠活动页、观看特卖直播,然后把不同店家的相同商品放进购物车,最后货比三家再购买。

显然,如果一个中国用户用亚马逊买东西,他不会觉得亚马逊简约、好看,反而会认为它的用户体验弱爆了,想要的信息统统都没有。

除此之外,中国庞大的人口基数,也是孕育复杂式互联网设计的一个重要原因。庞大的人口基数下代表了中国大多数互联网用户的基本样貌:受教育程度普遍不高、需求多样(且每一个细分需求都有足够大的市场)、消费能力偏低。

虽然现在大家口中常说:到处都是985/211,硕士博士满地跑。但实际情况是,中国从恢复高考以来,四十年累计的本科学历者只占全国人口的不到 4%。受教育程度较低意味着对审美的敏感度也较低,他们更追求基本层次的体验和享受。

对于这样的网民群体,与其采用简约设计让他们独立搜索,不如把所有选项都放在他们面前,让他们自由挑选。越懒人模式的设计,也就越能够留住用户。

留住用户就是留住了衣食父母,产品经理们一定都懂这个道理——于是他们把所有能想到的需求,都放在设计界面中。因为即使一个不起眼的需求,在庞大的用户基数面前,都可能有海量的市场,谁都不愿放弃可能存在的商机。

最后,消费能力偏低,这就意味着中国用户对价格更加敏感。2017年,中国全国居民人均可支配收入约为2.6万元(约4000美元),而美国人均可支配收入则是60,000美元,是中国人的大约15倍。

同样在手机App上搜索小米手环

在亚马逊和淘宝出现的截然不同的UI界面

琳琅满目的填充式设计,充分满足了消费者们的“廉价”心理:复杂的设计下,在线商品就像现实中的大卖场,复杂往往代表着“便宜”。

“廉价”的设计不会给用户带来心理负担。我们在日常生活中,看到一家店装潢精美设计优雅,会潜意识认为这家店的东西肯定很贵,从而在进店之前就产生消费心理障碍。

而价格敏感的用户常常也会有一些“占小便宜心理”。他们往往觉得相同价钱买得东西越多,就越划算。这也就是为什么淘宝店主们总会在卖东西时,送很多小礼品。比如买衣服送袜子,买篮球送气针、气筒篮球袋等等。所以,中国的电商们在制作宣传图片时,也会极力在一张图里堆满各种优惠信息,充分满足人们“多就是好”的潜在阅读期待。

所以,中国互联网这种“复杂式”的设计风格泛滥,并不是我们失去了审美,而是在文化、经济、消费者心理等多重作用下的考量。相比国外的简约式风格设计,复杂的设计可能不好看,但是对于产品经理们来说,好看,并不是他们设计产品的最关键因素。

再多说句题外话,这种复杂的设计风格,如果让国外公司模仿,还真不一定能做成。

去年天猫双十一的时候,杭州的森马电商部门聘请了几十位设计师,来实时设计各种商品的展示图片,以满足淘宝这种复杂设计 UI 下的内容宣传和调换。这只是森马一个品牌而已,那天参与双十一的品牌可能有成百上千个。为了要配合淘宝这种信息密集式的页面设计,商家需要花费一笔巨大的人力成本。这样的工作,也只有还在吃着人口红利尾巴的中国市场上,才有机会做到了。

其实,中国的艺术史源远流长,简约之美的设计理念并不是什么舶来品,我们其实擅长得很。上文中举的复杂的艺术设计作品,多来自民间。那么简约的艺术设计作品,过去都是谁在把玩欣赏呢?

第5篇

关键词:集装箱码头操作系统;产品化;研发;实施

中图分类号:U169.6 文献标识码:A

本研究课题计划以招商局青岛码头CTOS研发实施项目为依托,在CTOS产品研发中植入产品化的理念,第一步实现主要部件组件化,利用积累起来的业务经验逐步增加模块复用的程度,研发出具有自主知识产权的,在技术架构以及开发工具上具有一定先进性并且可以满足码头营运的,世界一流的集装箱码头操作系统;然后以此为基础搭建符合国内外集装箱码头操作习惯,业界领先的集装箱码头操作开发平台,增加CTOS的竞争能力。

1 集装箱码头操作管理系统国内现状

TOS系统,俗称集装箱码头操作系统,在集装箱码头的软性指标中处于核心地位;国外的TOS系统发展多年,依靠早年积累起来的技术和众多的客户为业务背景,已经开发出很成熟的产品,可以适应大型集装箱码头的操作管理需要;但是另一方面也存在费用高,维护周期长,本地化差异及核心技术受制于他人的问题;国内的TOS系统起步较晚,产品较不成熟,所以国内大型集装箱码头使用的基本上是国外的产品,比如招商局旗下的蛇口集装箱码头使用美国的Navis,赤湾集装箱码头使用的是比利时的Cosmos产品;而此两大码头占了整个深圳集装箱码头的约一半箱量。

目前市面上各大码头用的TOS系统产品主要来源于国外的Navis、Cosmos、TSB等大的厂商;而国内较大的TOS系统研发企业有上海海勃、华东电子等主要公司,竞争相当强。招商局国际作为招商局旗下的优质公司,TOS系统作为企业的软性核心竞争力,不论从国家重点发展自主创新的理念,还是市场化的需要,对自身的TOS系统的研发提出了更高的要求,产品化道路势在必行。2003年至今,招商局集装箱码头操作管理系统(下称CTOS)已经在旗下5个中小码头成功实施,多年来积累了丰富的研发实施经验,CTOS系统从1.0版本也发展到了3.0版本,但是随着码头业务的不断发展,原有项目化发展的CTOS系统逐步暴露出诸如单证等子系统之间的数据交换复杂、系统整体性能较低、后期扩展性弱、维护成本高等问题;所以尽快使CTOS系统产品化迫在眉睫。

2 重点解决以下几个问题

(1)VC++的客户端程序如何高效的调用基于IIS的.NET中间层服务。

(2)如何设计和抽取出一套基于Windows平台的核心通用组件,增加复用率并且降低将来实施新码头TOS系统的研发实施成本。

(3)无线终端2.4G技术如何与目前大量使用的400M技术相结合。

(4)根据码头业务的差异和维护实施需要如何设计出通用配置化的架构。

3 具体设计方案

(1)VC++开发的非托管客户端如何调用基于IIS的.NET服务

在.NET应用3层架构应用程序中,中间层应用服务器可使用.net remoting或WebService实现,两种技术的主要特点如下:

a)WebService:语言独立,平立,穿透防火墙,适合Internet场景应用;性能比TCP+Binary形式的Remoting慢;和host在IIS上的HTTP+Binary形式的Remoting性能基本相当;比host在IIS上的HTTP+SOAP形式的Remoting性能高;必须host在WebServer上;面向接口实现,适用于传递简单数据类型或系统内置对象,不太适合传递复杂对象;远程对象生命周期:只支持SingleCall模式。

b)Remoting:客户端局限于.net framework;跨应用程序域的.net component;支持Binary or SOAP格式;支持TCP,HTTP,自定义通信协议;WebServer不是必须的,可host在其它自定义应用程序;TCP通道下的remoting性能比WebService性能高;完全的面向对象实现;远程对象生命周期:支持SingleCall、Singleton、CAO三种方式。

在本系统中间层技术选型中,性能是第一位的考虑因素。TCP通道和二进制格式下的Remoting比WebService性能高是很明确的,但使用TCP通道一般需要另行开发一个Windows Service程序作为Remoting应用的host程序,这种方式主要的问题是比较难实现系统的负载均衡,且增加了系统的复杂度和增加了工作量。基于负载均衡的考虑,在本系统中,不考虑使用TCP通道的Remoting技术实现。

由于排除了使用TCP通道的Remoting,所以在系统性能比较上就只考虑IIS上的Remoting和WebService,通过参考微软对两种技术的性能对比测试报告,并进行实际的性能对比测试,对比性能测试的结果与微软的测试报告结果一致:WebService比HTTP+SOAP方式的Remoting性能高;WebService与HTTP+Binary方式的Remoting性能基本相当,多数情况下WebService的性能稍高一些。

通过性能对比测试,显示WebService和Host在IIS上的Remoting在性能上基本没有差别,另外的重要的考虑因素是对VC++应用的支持。在TOS系统中,前台应用程序采用VC++语言开发,前台程序具有复杂的图形处理,暂时不准备将这部分程序移植到.NET平台实现。这种情况下如果中间层应用服务器使用Remoting技术实现,则前台程序必须完全用.NET技术重写;而如果中间层应用服务器使用WebService技术实现,则前台应用程序可仍然使用VC++开发,这可以大大减少开发工作量,降低项目风险。

结论

经过对比Remoting和WebService技术的处理性能和适用场景,认为WebService技术更适合在本系统中,所以在本系统中决定采用WebService技术实现中间层应用服务器。

(2)如何设计和抽取出一套基于Windows平台的核心通用组件,增加复用率并且降低将来实施新码头TOS系统的研发实施成本

系统计划采取的架构基于COM组件,采用二进制方式进行共享,而不是传统的代码级重用,能够降低系统的耦合型,更好的对并行开发方式的支持。SDK与ATL+WTL的结合,即可以减少对MFC的依赖,又可以利用成熟的ATL+WTL的模板类来进行快速的开发,在WTL中已经有很好的对窗口类的封装,很好的对ATL进行了补充。ATL和WTL对用户来说都是开源的,在调试跟踪方面或者问题排查上,会有很大的帮助。

基于上述原因,整体图形化系统采取COM组件搭建,设计思想如下:系统框架不缓存任何数据,COM实体缓存显示和操作必需的数据。所有COM组件的数据交换采用标准的XML结构处理,可跨开发语言平台使用(基于Windows)。根据实际情况,计划对部分通用以及可能通用的模块采取标准化的组件设计,进行COM抽象改造之后,可被其它模块或者开发语言调用使用,降低了开发成本。

1)船侧视图。2)船浏览图。3)船贝图。4)船柱状图。5)堆场外观图。6)堆场鸟瞰图。7)堆场贝位图。8)堆场栏图。9)泊位计划。10)统计表。

(3)无线终端2.4G技术如何与目前大量使用的400M技术相结合

关于码头无线终端的使用,目前存在两种带宽的技术:400MHz和2.4GHz;这两种技术模式各有优缺点,说明如下(灰色底色表示优点):

从上表可以看出,400MHz的目前需要继续使用的理由是由于历史原因以及成本考虑,长期来看会逐步被2.4GHz所替代;但是400MHz的会继续存在2~3年或更久。所以,在设计上我们必须考虑将两者在系统级别不作区分。统一设计维护。

基于以上考虑,无线终端服务设计思路如下:

1)无线终端服务端只关注界面逻辑,业务逻辑放到IIS的中间层进行处理。

2)2.4GHz的终端和400MHz的终端统一通过封装的无线终端服务进行中间层的访问,终端不直接访问中间层。

3)由于400MHz的界面显示处理只能在无线终端服务端进行;故在无线终端服务端的设计内单独加入400MHz的界面处理类,其余的类不再区分2.4GHz或者400MHz,进行统一处理。2.4GHz的客户端处理当作Windows客户端处理,不需服务端介入。

(4)根据码头业务的差异和维护实施需要如何设计出通用配置化的架构

为提高图形化系统的产品化程度(主要包含船舶管理和堆场管理两大模块),减少新码头的开发成本以及后期实施的成本,需要对各个码头对于码头图形化系统的需求进行抽象并且进行配置化处理,主要分为以下两类的配置化:

1)界面元素配置化

在VC++的实现框架下,采用的XML来进行UI配置,目标是将目前存在的每个码头一套代码合并成统一的一套编译代码,而最终的目的则是要将前台软件产品化。因此,在UI部分进行合并时,则要求不是简单的将所有代码能合并到一个编辑框架下,而是消除现有软件实施过程中码头化的概念,将所有的功能都合并起来,形成一个功能全集;通过配置,选择不同的功能模块,以满足不同码头的业务需求。

①以XML文件来描述UI组件的位置,控件类型,以及所对应的事件。

②提供一个模板基类,对XML中的UI元素统一的消息处理,将所有的事件依据XML中配置的函数名进行事件分发。

③对于需要定制化的UI界面,继承框架提供的模板基类,并注册事件处理函数后,通过装载UI XML来达到界面功能配置化的目的。

2)业务流程的配置化

业务规则定制由3部分组成:框架、XML配置文件、业务规则定义。

1)业务规则管理实现了ITOSRuleManage接口,该部分由系统框架实现,提供如下功能:提供业务规则的管理;提供数据参数的传递;根据业务流程编号按顺序执行配置文件中使用到的业务规则;可获取业务规则返回的信息。

2)通过XML配置文件来定义业务流程中使用到的校验项,分两部分:业务规则集合定义和业务流程中使用的规则:业务规则定义包含:规则ID、组件CLSID、函数名称;业务流程包含:业务流程编号、使用规则、规则对应附加参数的描述。

3)业务规则定义,即通过输入的数据,来判断是否符合规则。

4 预期效果

(1)业务逻辑层采用了标准WebService方法构建,适应各种不同的客户端(含C/S,B/S)调用,无需过多考虑开发语言和模式,只要能调用标准WebService都可以。

(2)抽象了10个以上的图形化组件,此部分内容可适应目前所知的绝大部分码头的需要,不需要再进行开发。大大减少了图形化系统的研发和实施时间。

(3)技术和业务上整合了无线终端目前的主流频点400MHz和2.4GHz开发,可以适应所有码头的无线终端的需求;实施过程中只需要根据各码头实际业务进行业务处理调整即可,无需对技术架构进行改变。

(4)由于根据已实施码头的实际经验以及业界其他码头的可能预期在图形化系统进行了可配置项的设置,此部分内容可适应绝大部分码头的需要,只需要根据新码头的实际情况进行配置即可,不需要再进行开发,大大减少了图形化系统的研发和实施时间。

参考文献:

[1] 张莉. D港集装箱码头堆场系统业务流程现状、问题及对策[J]. 物流技术,2009,28(1):44.

[2] 马健丽. 基于400M无线网络的中小型集装箱码头无线作业调度系统[J]. 中国科技信息,2010(12):130.

[3] 徐继成,曲国臣. 集装箱码头操作系统解决方案研究[J]. 水运科学研究,2006(3):35.

[4] 彭传圣. 集装箱码头经营与技术信息[J]. 水运科学研究,2007(1):58.

第6篇

一、电子资源的绩效评价方法和评价标准

(一)电子资源的绩效评价方法

目前,电子资源的绩效评价方法主要分为定性评价法、定量评价法和综合评价法。

1.定性评价法是指根据评价标准和指标体系对电子资源进行评价的方法。其优点在于:可以对评价对象进行全面、细致和深入的分析,从多种思路、多种视角、多种观点考察电子资源的质量。其局限性在于:主观性较大,有时可操作性较差,合理性和可信性可能会引起争议,规范性、准确性和科学性有待进一步提高,时效性不强等。

2.定量评价法是指按照数量分析方法,利用网络自动搜集和整理网站信息的评估工具,从客观量化角度对网站信息资源进行优选与评价。定量评价方法提供了一个系统、客观、规范、科学的数量分析方法,与定性分析法相比,利用该方法得出的结论更为直观和精确,有着较高的可信度。它的不足之处在于:量化的标准过于简单化和表面化,往往无法对电子资源进行深层次的剖析和考察,不确定性因素较多,技术手段还不成熟等。

3.综合评价法是将定性评价法和定量评价法二者有机地结合起来的方法,这样既能发挥定性方法全面、细致、深入、成熟的优势,又具备定量方法系统、客观、规范、科学的优势,从而达到综合完整地评价网络信息资源的目的。综合评价法中最典型的方法是层次分析法(Analytic Hierarchy Process,简称AHP)、模糊综合评价法和线性回归法。其中,层次分析法是由美国运筹学家、匹兹堡大学教授T?L?Saaty提出的,AHP的整个过程体现了思维活动中分析、判断、综合的基本特征,并将主观比较和判断用数量形式进行表达和处理,具有一定的有效性、可靠性和广泛的适用性。模糊综合评价法是建立在模糊理论基础上的一种分析方法,由于在评价的过程中需要考虑多种带有一定程度模糊性的因素的影响作用,而且模糊数学中的隶属规律可以对一大类模糊现象进行客观的数量刻画,故而可以应用以模糊集论为基础的模糊数学理论与方法对网络信息资源进行研究和评价。线性回归法是根据线性回归的概念、原理建立多元线性回归模型的方法,该方法中各个评价指标用一个给定的变量x1,x2,…,xp(p≥2)来代替,通过回归方差分析和系数检验得到评价结果。[1]

(二)电子资源的绩效评价标准

国外自上个世纪90年代中期以来非常关注数字馆藏的使用统计及服务绩效评价问题,并开展了很多这方面的研究,出台了一系列电子资源使用及服务绩效评价指标体系。其中,关于数字馆藏使用统计及其服务绩效评价的指标体系项目,包括2003版“ISO2789附录A”、欧洲图书馆协会的电子图书馆服务绩效评价项目“EQUINOX:Library Performance Measurement and Quality Management System Performance Indicator for Electronic Library Services”、美国研究图书馆协会主持的电子资源评价项目“E-Metrics(Mea-sures for Electronic Resources)”,集中代表了1998年以来国外众多关于数字馆藏使用、统计、绩效评价指标研究的成果。

在国外的大学图书馆电子资源的绩效评价研究项目中,颇具影响力的是“E-Metrics”。该项目专为应对在电子资源评价方面所遭遇的挑战而建立,包括耶鲁大学图书馆在内的24个大学图书馆和包括OCLC/FirstSearch、Elservier公司在内的11个数据库提供商共同参与了此项目。这些大学图书馆与出版商或数据商共同合作,研究电子资源的利用统计和绩效评价,重点是数据库的利用统计分析,并以此为基础再对电子资源进行系统化的评估。“E-Metrics”项目在大学图书馆电子资源绩效评价研究方面进行了有益的探索和尝试,其指标体系的制定与具体实施为我国大学图书馆的电子资源利用统计和绩效评价研究提供了宝贵的经验。[2]

由于国内电子资源的数量较少、使用时间相对较短,加之服务与成本意识较为薄弱,电子资源的利用绩效问题尚未引起足够的重视。目前对于电子资源利用绩效评价的研究才刚刚兴起,还没有成熟、科学的评价体系。不过一些数字化程度较高的图书馆和相关机构与学者已开始关注这一问题,并提出了电子资源评价指标体系。

相关论文和文献综述的查新结果表明:绝大多数国内外学者都是从定性的角度探讨指标体系的,极少有学者提到定量指标问题。但近几年,国外已有学者开始探讨定量研究电子资源绩效评价的方法,并取得了一定成效。而在国内,对于电子资源评价指标体系的研究仍然以定性研究为主,即便有定量指标也因没有确定同样的比较单位和环境造成了事实上的不可比性。例如,在比较两个数据库的登录次数时没有考虑每个数据库的数据量和目标读者群的大小;在比较数据库价格或使用成本时同样没有考虑目标读者群和实际读者群的大小。显然,相对于国外,国内在定量评价法上的研究还比较薄弱。除此之外,国内评价指标还存在评价内容单一、适用性和可操作性较差、指标的设立不具有前瞻性等问题。本文基于现有的国内外学者的研究,拟采用定性和定量分析相结合的方法,即模糊分析法,对电子资源绩效评价问题进行探讨和研究。

二、基于模糊决策理论构建电子资源综合评价体系

模糊数学自美国著名控制论专家L?A?Zadeh教授于1965年发表《Fuzzy Sets》一文以来,作为一门新兴学科发展十分迅猛,其应用的触角涉及各个领域。而电子信息资源具有广泛的模糊性,对这类模糊性不确定现象进行数学处理的方法是力求从事物的模糊性中确定广义的排中律。这个广义的排中律就是模糊集论中的隶属规律,使我们可以对一大类不确定现象进行客观的数量刻画,并对这类现象进行计量研究。[3]

(一)建立综合评判决策的数学模型

模糊综合评判决策是对受多种因素影响的事物作出全面评价的一种十分有效的多因素决策方法。所以,模糊综合评判决策又称模糊综合决策或模糊多元决策。

设U={u1,u2,…,un}为n种因素(或指标),V={v1,v2,…,vm}为m种评判,它们的元素个数和名称均可根据实际问题需要自行规定。由于各种因素所处的地位不同、作用不同、权重不同,因而评判也就不同。因此综合评判应该是V上的一个模糊子集B={b1,b2,…,bm}∈(V)。其中bj(j=1,2,…,m)反映了第j种评判vj在综合评判中所占的地位(即vj对模糊集B的隶属度:B(vj)=bj)。综合评判B依赖于各个因素的地位权重,它应该是U上的模糊子集A=(a1,a2,…,an)∈(V)。且其中,ai表示第i种因素的权重。因此,一旦得到权重A,相应地可以得到一个综合评判B。于是,需要建立一个从U到V的模糊变换T。如果对每一个因素ui单独作一个评判f(ui),则可以看作是U到V的模糊映射f,即f:U(V),ui|f(ui)∈(V)。由f可诱导出一个U到V的模糊线形变换Tf,再把Tf看作由权重A得到的综合评判B的数学模型。

(二)模型的操作步骤

第一步:构造因素集U={u1,u2,…,un}。

第二步:构造评判集(决断集)V={v1,v2,…,vm}。

第三步:构造单因素评判矩阵R。由f:U(V),ui|f(ui)=(ri1,ri2,…,rim)∈(V),再由模糊映射f又导出模糊关系Rf∈(U×V),即Rf(ui,vj)=f(ui)(vj)=rij,因此Rf可由模糊矩阵R∈un×m表示:

R=

R称为单因素评判矩阵。由模糊关系R可诱导出U到V的模糊线形变换Tf,即(U,V,R)构成一个模糊综合决策模型,U,V,R是此模型的3个要素。

第四步:综合评判 设Ai为评判集权重,将Ai=(a1,a2,…,an)取max-min合成运算,即用模型M(∧,∨)计算,则可得综合评判Bi=Ai?R。其模型转换过程如图所示:

第五步:多层次综合评判 由综合评判结果得到多层次模糊关系矩阵R综,并设P为因素集权重,将P=(P1,P2,…,Pn)取max-min合成运算,即用模型M(∧,∨)计算,可得多层次综合评判B综=P?R综。

(三)确定电子资源的绩效评价指标

评价指标体系的选取合适与否,直接影响到评价结果的准确性和可靠性,科学、合理的指标体系是评价准确可靠的基础和保证。按照科学性、系统性、客观性、发展性和可操作性原则,针对电子资源自身特点和属性,初步确定为以下5个方面的评价指标。

1.内容指标包括:①覆盖范围,即本校学科的覆盖率,一般用以考评用户对学科建设与发展的需求满足程度;②信息量,即主要收录的所有类型资源的数量;③准确性,即信息描述与客观对象是否一致;④权威性,即是否有著名专家、学者支持以及一般信息与技术信息的比例;⑤更新率,即内容更新频率。

2.利用指标包括:①检索技术,即系统是否允许用户使用各种检索技巧以便更准确和快速地查找所需信息,如结果的再次检索、高级检索等;②检索功能,包括检索语言、检索策略、导航技术等;③检索结果,即考评用户能否得到使用和下载方便、内容全面的检索结果以及数据检索结果是否准确等;④操作界面,即是否便于读者使用;⑤用户服务,是指在检索功能之外系统还为用户提供了哪些服务,如帮助文件是否完整、有无用户检索历史记录等。

3.学术指标包括:①满意度,即用户总体满意度;②访问量;③下载量;④使用量,即目标读者群中使用过该数据库的人数;⑤准确度,即检索内容的查全率和查准率。

4.效用指标包括:①软硬件购置成本,包括数据库购买费用、服务器及存储设备等硬件费用、软件费用等;②单篇成本;③年涨价幅度;④读者人均服务成本,其计算方法为:读者人均服务成本=数据库软硬件购置成本/目标读者群的人数;⑤数据库平均服务成本,计算方法为:数据库平均服务成本=数据库软硬件购置成本/访问该数据库首页的总人次。[4]

5.其他指标包括传输速度、统计功能、并发用户数量控制、稳定性、售后服务。

三、模型的应用(以哈尔滨商业大学图书馆电子信息资源为例)

(一)构造因素集和评判集

以电子资源评价指标作为因素集,即U={u1,u2,…,un}={内容指标,实用指标,利用指标,效用指标,其他指标}。

由因素集中各分指标构造评判集,即V内={覆盖范围,信息量,准确性,权威性,更新率}、V实={检索技术,检索功能,检索结果,操作界面,用户服务}、V利={满意度,访问量,下载量,使用量,准确度}、V效={软硬件购置成本,单篇成本,年涨价幅度,读者人均服务成本,数据库平均服务成本}、V其={传输速度,统计功能,并发用户数量控制,稳定性,售后服务}。[5]

(二)确定哈尔滨商业大学图书馆电子信息资源综合评价因素权重

按照基于模糊数学决策理论建立的综合评价模型,首先需要确定3个权重值,即指标因素集权重值、指标评判集权重值和各分项指标权重值。哈尔滨商业大学图书馆设计了相关表格,对相关电子数据库设计专家和经常使用图书馆电子资源的用户(共100人)进行了调查,最后利用加权统计方法进行了计算,从而确定了电子资源绩效评价的指标因素集权重值、指标评判集权重值和各分项指标权重值(分别见表1和表2)。

各分项指标权重按中文数据库、外文数据库、电子图书3个大类的电子资源分别制表进行调查统计,表3只是为了说明模型的应用,仅列出中国知网(CNKI)全文数据库的各分项指标权重加权统计结果(其它略)。

(三)构造单因素评判矩阵

从表3可以得出单因素评判的模糊矩阵R。

CNKI的内容指标:

(四)综合评判

从表2得知A内=(0.20 0.30 0.20 0.15 0.15),则根据综合评判模型可得CNKI内容指标的单因素评判结果为:

同理可得CNKI的实用指标、利用指标、效用指标和其他指标单因素评判结果为:

(五)多层次综合评判

从表1得知因素集权重P=(0.20 0.30 0.20 0.20 0.10),又由以上综合评判结果,我们可以得到综合评判模糊关系矩阵R综,因此按多层次综合评判公式B综=P?R综。

可得CNKI的多层次综合评判结果为:

评价结论有优秀、良好、一般、较差4种,分别表示评价该项资源优秀、良好、一般和较差的人数占总参评人数的比例。CNKI的多层次综合评判结果表明优秀率为48.85%、良好率为26.18%、一般率为14.12%、较差率为10.85%。

同理,依据上述模型和步骤依次可以计算出我馆其它电子资源的综合评判结果(见表4)。

第7篇

关键词:远程教育;协同技术;云黑板

中图分类号:G40-057 文献标识码:A 论文编号:1674-2117(2016)19-0069-04

引言

当前的远程教育系统,无法充分发挥教室内传统教学实时交互交流的优势。虽然能为用户提供一定的协作交互环境,但都是按照系统预先设置好的步骤进行,缺少灵活性。当需要实时沟通时,基本上是通过视频、语音和文字的方式进行交流,可许多沟通是需要通过一种类似传统课堂的黑板媒介来实时交互进行的,这一点在现有的远程教学系统中却很难实现。

因此,笔者结合当前的云教育平台,研究了一种基于移动终端的支持自主移动学习的“云黑板”教学平台,它具有支持模拟黑板协同交流、支持移动WEB跨平台和支持多用户在线实时参与的特点,能为远程用户提供实时交流,更能激发学生的学习兴趣和学习动力,体现学生学习的能动性和自主性。

支持移动自主学习的云黑板模式

现代远程教育由教师、网络和学生三个关键要素组成。传统的网络教育是教师在线直播,学生连接网络接受授课的在线教育模式。然而直播并不能真正体现远程教育对实时性的需求,即使学生能够在线提问、在线留言。笔者提出的云黑板教学模式,不仅会有基本的多用户语言交流,更能支持师生在云黑板平台实现模拟黑板的操作,即教师在授课的同时,可以在云黑板上作图,学生可以实时参与从而协同绘制,最终实现实时“你见即我见”的效果。云服务资源服务器的支持,以及云黑板移动终端客户端的适配让远程教育用户有了多样化、个性化的选择。对移动设备的支持,可以最大程度地减少教师开课以及学生上课时受到的时空限制;学生可以实时参与多种课程的学习,为自己制订学习计划,充分体现云黑板系统对多样化、个性化需求的满足。这样,移动终端多用户协同交流云黑板,真正做到了适应任何人在任何时间、任何地点,选择任何内容进行学习,真正让使用对象脱离计算机屏幕的约束,给参与者提供了一种舒适休闲状态的学习启发空间,提供了便利的随时随地参与学习的自主移动学习途径。

作为为移动终端客户端提供云黑板的后台支持,服务器端运行云黑板支持系统还需要建立相应的远程教学资源库。移动终端主要提供云黑板客户端模块,如下页图1所示,需要解决的关键技术有浏览器矢量图形绘制与编辑、矢量图形对象并发控制,同时需要解决基于服务器推送的协同设计功能。

关键技术

1.系统架构

移动终端以安卓为例。图2是云黑板系统的技术架构,从图中可以看出这是一个混合应用的设计方式,移动WEB客户端被一个原生应用承载。混合型的云黑板系统移动客户端不仅保留了一定的可移植性,还保证了类似原生应用的体验。移动终端客户端主要分为基本矢量图形接口、各功能模块实现层、用户接口调用层三层。底层基本矢量图形的接口函数,提供绘制矢量图形的上层调用,这一层是整个矢量图形的核心层。功能模块实现层能实现网页矢量绘制平台的大部分功能。在该层调用底层绘图函数实现动态绘制、图形数据的异步保存和协同绘制。最上层是矢量图形显示及用户接口层,它为用户提供绘制基本矢量图形、选择矢量图形、编辑矢量图形的工具,以及用户当前操作的图形显示和操作状态显示。

2.关键技术

(1)移动终端的多用户协同技术

在大多数情况下,协同设计架构主要是C/S(Client/Server)结构,服务器能够实时向客户端推送更新的消息,而不需要客户端向服务器请求。云黑板客户端为了保持自身的优点,采用了混合模式APP,其核心是移动WEB。且在移动WEB的B/S(Browser/Server)结构中,移动WEB客户端需要获得服务器上更新的信息,必须通过请求响应模式,这种模式下用户获得的数据没有实时性,而且有大量不必要的数据更新,因此会产生大量冗余数据的传输。为了解决这一问题,笔者专门研究了服务器推送的原理,实现了通过长连接技术,将服务器端更新的矢量图形推送给相应的移动WEB客户端,从而达到类似C/S结构实时推送的效果。

为了能在移动WEB客户端的B/S结构中保证前后端通信的实时性,需要建立客户端和服务器端之间的长连接。这里采用的WebSocket能更好地节省服务器资源和带宽,并达到实时通讯。为了在原生应用下实现用户登录以及聊天功能,客户端使用了socket.io,而与服务器建立了另外一条消息通道。socket.io封装了WebSocket,同时包含了其他的连接方式,如Ajax等。

矢量图形的协同数据交换过程包括矢量图形的特征基本属性信息到矢量图形协同特征数据模型交换、矢量图形协同特征数据模型的网络传输服务器数据推送、矢量图形协同特征数据模型到矢量图形的数据交换。

每一个绘制的图形将被保存到一个Model对象中,协同的基本原理是:一个客户端更新图形后,将更新后的Model通过socket.io提交到服务器,由服务器向其他客户端进行广播,再由其他客户端对数据进行显示。

(2)矢量图形绘制及冲突检测

图形的绘制包括图形对象的创建、更新、存储。所有矢量图形绘制都是基于像素的,它们是矢量图形的最基本单元。如果能在网页中创建一个最基本的像素单元,使其通过控制这些像素单元的显示来绘制矢量图形,就方便多了。基于此原理,笔者以DHTML和JavaScript为开发语言,使用宽为lpx,高为lpx的Div对象作为一个像素。有了像素单元,所有标准图形将可以直接应用计算机图形学相关绘图算法实现绘图。例如,直线将可直接应用Bresenham快速画直线的算法。简单地说,就是直接在满足给定直线方程的坐标上绘制像素。据此类推,矩形可由四个直线方程表示,填充则是在一个封闭区域画满像素。

由于当前移动WEB浏览器平台纯网页模式下不存在图形绘制环境,不存在基本的图形库,因此需要从底层最基本的矢量绘制开始,构建相应的图形库,主要建立二维基本矢量图形库。基于移动WEB浏览器网页的图形绘制实现,性能好坏至关重要。它一方面与移动终端硬件以及浏览器的Render Engine紧密相关,另一方面与图形的实现算法并结合网页元素的特性来表示一些基本的矢量图形。这样能大大减少表示矢量图形的基本像素网页元素,性能优化主要做这方面的工作。这个过程可以在浏览器支持和安全允许的前提下,借用HTML5的canvas图形引擎功能,直接进行图形绘制和性能优化的实现。

在网页上,支持二维矢量图形协同绘制平台中所定义的图元的操作有矢量图形绘制、选择、修改、移动、删除等操作。假设我们定义矢量图形的操作集合OP,OP={P,S,C,M,D},其中P代表绘制,S代表选择,C代表修改,M代表移动,D代表删除。

针对网页矢量图形绘制环境下并发操作的冲突检测,设用户Ui,执行操作为OPi,该操作所作用的矢量图形记为Gi,用户Uj,执行操作为OPj,该操作所作用的特征对象记为Gj,(Gi可以等于Gj),通过以下步骤检测并发冲突:①如果Ui操作是绘制矢量图形Gi,OPi=P,则Uj的操作不与其他用户产生冲突,检测结束。②如果Ui操作是选择矢量图形Gi,OPi=S,则Uj的操作与其他用户操作不产生冲突,冲突检测结束。③如果Ui操作是修改矢量图形Gi,则Uj与所有与其并发的且对Gi的操作OPj且OPj不属于{P,S},产生操作冲突,冲突检测结束。④如果Ui操作是移动或删除矢量图形Gi,则Uj与所有与其并发的且对Gi的操作OPj且OPj不属于{P,S},产生操作冲突,冲突检测结束。

(3)多用户并发控制策略

多用户同时操作有很大可能会产生冲突,因此需要并发控制。在分布式系统、多线程系统中,并发控制是普遍需要解决的问题,它也是计算机协同系统需要解决的关键技术之一。在实时计算机协同系统中,会存在多个不同用户都需要访问的共享对象(如云黑板中的矢量图形图元等),因此系统需要对多个不同用户访问共享对象的操作进行实时响应,这样才能达到“你见即我见”的效果。由于多个不同用户同时对一个矢量图形的并发访问是不可避免的,因此会发生不可避免的冲突,并发控制策略是为保证数据的一致性而必须采取合适的策略。其主要目标是保证在对共享资源并发访问的情况下,能正确地操作共享资源。笔者主要采用对矢量图形加锁和协同感知技术,来解决和避免多用户同时操作矢图元产生的冲突。

对所绘制的矢量图形加锁是保证数据一致性的常用手段,它是对用户访问的共享对象进行加锁和解锁操作。用户在对矢量图形进行绘制、修改、删除操作之前,必须先对该矢量图形对象进行加锁,防止其他用户进行操作,从而满足用户对矢量图形对象进行操作的要求。其他用户在访问加锁以后的矢量图形对象时,如果得不到该对象的访问权限,就必须等待,直到用户释放控制此矢量图形对象的锁后,才能访问。

所谓协同感知是指群体协作环境能够在不影响其他参与者协同工作的情况下,将一个参与者的信息传递给各协作参与者,使得各协作参与者能够彼此感知到对方的状态信息。其目的是模拟现实世界的协作过程,让参与协作的人在计算机环境中了解其他人的活动,从而为自己的活动提供一个“上下文”环境,消除由空间上的分布带来的割裂感。

笔者将上述两种方法融合,应用到云黑板系统中,实现了当一个用户编辑某个对象以后,整个编辑过程将被协同,其他用户可以看到其编辑过程,但不能获得图形对象的编辑焦点,需要等待当前编辑用户完成编辑才能操作。

系统实例

云黑板系统采用Nodejs服务器,当网络正常连接到服务器且登录成功后,可以直接选择工具箱中的内容协同作图。图3中左图即为协同作图效果图,显示了当前参与协同的用户。图3中右图为用户聊天的实现效果。用户可以随时交流,获取资源,体现移动自主学习。

总结

云黑板系统不仅可作为远程教育教学平台,也可推广到各种教育培训机构中使用,作为企业集团培训、企业客户培训等移动终端辅助产品。终端用户可以是教育人员,也可以是企业客户以及其他类型参与人员。该系统既吸收了传统远程教育平台优点,又突出了移动终端的优势,真正做到了施教者与受教者能够不受时空限制,随时随地学习。可见,面向移动终端的云黑板系统使用范围广泛,应用前景广阔。

参考文献:

[1]马丽洁.远程教育与当代信息技术的整合研究[J].成人教育,2016(1):19-22.

[2]孙立会.开放教育基本特征的变迁――兼议MOOC之本源性问题[J].远程教育杂志,2014(2):30-38.

[3]徐苑苑,张际平.基于云架构的网络教学平台设计与实现[J].远程教育杂志,2013(03):71-78.

[4]张波.基于对象视图模型WebView的Web应用框架[J].软件学报,2002(10):1985-1990.

[5]胡晶.基于HTML5的Web移动应用开发研究[J].工业控制计算机,2014(10):80-81.

[6]黄经赢.基于Socket.io+Node.js+Redis构建高效即时通讯系统[J].现代计算机(专业版),2014(13):62-69.

[7]许会元.NodeJS的异步非阻塞I/O研究[J].工业控制计算机,2015(3):127-129.

[8]陈岭.基于Web的实时协同编辑系统中的一致性控制[J].计算机研究与发展,2001(12):1505-1511.

[9]王越.移动互联网时代协同感知技术研究[J].河南科技,2015(5):9-11.

第8篇

关键词 Web3D;Flash3D;WebGL;编译

中图分类号TP39 文献标识码A 文章编号 1674-6708(2013)102-0199-02

0引言

网络3D化是当前互联网发展的一个新趋势,尤其是近几年来移动互联网的迅猛发展,推动了Web3D技术的革新。当前,在网络上最流行和最被广泛使用的3D技术是Flash3D技术。网上有很多流行的基于Flash的3D引擎,既有商用非开源的,也有免费开源的,没有统一的标准。随着网络3D的发展,Flash适时地推出了新的3D技术——Stage3D。Stage3D不仅采用了最新的渲染技术——可编程渲染管线,而且支持GPU硬件加速技术。然而,Stage3D依然无法改变插件化这个事实。HTML5的出现,让网络3D去插件化得以实现。基于HTML5的WebGL技术,真正做到了无插件,只需浏览器,就可以展示3D模型,甚至是运行大型3D在线游戏。WebGL有望取代Flash的Web3D霸主地位,成为新一代的Web3D标准。

1 WebGL的优势

WebGL是一项新兴的Web前端技术,它是OpenGL和JavaScript的组合,在HTML5的canvas标签上绘制和渲染3D模型。WebGL最大的优势在于它无需插件,依靠浏览器,就能够虚拟出三维世界。WebGL是开源免费的,并且是跨平台,在开源社区的大力支持下,WebGL充满着活力。WebGL是Web上的OpenGL,支持GPU硬件加速技术和可编程Shader,能够高效轻松地渲染和展示3D高级特效。WebGL使用HTML5的canvas标签作为内容的展示舞台,能够方便地嵌入网页,实现了逻辑和UI的剥离。

2无损转换器的设计与实现

Flash/Stage3D的编程实现语言是ActionScript3.0语言,而HTML5/WebGL的编程实现语言是JavaScript语言。这两种编程语言都是基于ECMAScript的编程语言。ECMAScript是一种ECMA-262标准化的脚本程序设计语言,在万维网上被广泛使用。因而,ActionScript3.0和JavaScript是同宗同源的,ActionScript3.0翻译转换成JavaScript是完全可行的。图1是本转换器的基本架构图。

2.1文法分析

2.2 LL(1)分析器

我们采用自上而下的语法分析方法,对任何输入串,试图用一切可能的方法,从文法开始符号出发,自上而下地为输入串建立一颗语法树。

LL (1) 分析器的核心成员将包含产生式,扫描器,终结符,非终结符。一个标准的BNF产生式,其形式如:rule::=expression ,其中rule为产生式的名称,而expression则是这个产生式的具体表现,Rule表示产生式的名称,Expression中存储着具体表现的所有单词。终结符是任意单词串(即不包含空格的)的集合,在一个文法中,终结符只可能出现在任意产生式的右侧,即Expression中。而非终结符为所有在文法产生式左边出现的符号,即所有的可能的Rule。在分析过程中,若遇到非终结符,则意味着将进行新的规约。扫描器为特殊的产生式,它的Rule必定是一个终结符,而它的Expression则为一个正则表达式。扫描器的作用则是当分析器在规约到一个终结符时,为了判断这个字符串是否匹配,那么通过扫描器就可以完成,任意字符串都会通过正则表达式来判断是否匹配。

通过LL(1)分析器的分析,将产生三个符号集合:First集合、Follow集合、Select集合。First集合是任意一个记号最后代表的串中可能在第一个出现的终结符,或者是空串ε。Follow集合是为任意一个记号最后代表的串之后第一个出现的可能的终结符,或者是开始符号。Select集合是一个表格,用来在任意符号遇到任意终结符的时选择不同的产生式。这些符号将在接下来的上下文处理中得到进一步的分析处理,为最终的翻译映射做铺垫。

2.3 上下文相关分析

在文法构造过程,ActionScript3.0的文法包括包文法、类文法、块文法3种。这里的上下文处理指的就是ActionScript3.0文件结构的上下文,我们设计了一个类ASContext来表示这个上下文。ASContext有四个主要的属性:Imports、Predefs、CurrentClass、CurrentFunc。其中,Imports用来保存当前正在分析的Import引用,Predefs用来保存当前分析的预定义,CurrentClass表示当前正在分析的类,而CurrentFunc表示当前正在分析的方法。

上下文相关处理的具体分析如下:

在文件块中,若遇到包块文法的开始,ASContext记录下包块的信息。若遇到包外类的定义,则将CurrentClass设置为此外部类,同时将包外类加入包外类的集合。同时,将所有的Imports和Predefs保存到CurrentClass,并清空这两个集合。

在包块中,若遇到类定义,则将CurrentClass定义为此类,并将包内类设置为此类。同时,将所有的Imports和Predefs保存到当前类,并清空这两个集合。

在上述两者中,若遇到引用和预定义,则在Imports和Predefs中加入匹配得到的引用和预定义。

在类块中,遇到任意方法定义,则根据前方的限定修饰符将方法的公开性设置,设置方法同属性定义。而静态方法的处理方式也与属性一样。只是此时将CurrentFunc设置为当前函数,可以将所有的函数内定义变量进行处理。

由于函数内变量的提升,在进行块级分析的时候,会将读到所有的变量定义加入一个特殊的序列,此序列存储当前函数的所有临时变量。其他的语句则会被按正常序列加入当前的函数。

当分析完成后,上下文对象ASContext保存了一个ActionScript3.0文件的所用信息了。接下来就要进行真正的映射翻译,得到目标代码的中间代码。

2.4 映射翻译

由于ActionScript3.0语言是面向对象(OO)的语言,而JavaScript是解释型语言,非OO语言。然而,JavaScript是函数型语言,简单的说,它的函数即可作为对象来使用,像Java语言一样,它的根对象是Object对象,所有的对象都继承自Object。所以,JavaScript完全可以模拟面向对象。Flash程序需要用到Stage3D库,然而由于Stage3D库是采用自然语言编写的,本转换器无法转换。我们必须对Stage3D库进行对应的JavaScript面向对象模拟化实现。最后,将中间代码生成目标代码。至此,ActionScript3.0语言就被成功翻译成了JavaScript语言了。

4 结论与展望

本论文设计实现了将一门高级语言翻译成另一门高级语言的计算机语言转换器。本转换器已经实现基本的转换功能,然而要将Flash项目完整地转换成WebGL项目,目前还无法成功做到。并且,由于flash内置函数库过于庞大,因而翻译的JavaScript文件通常会遇到一些JavaScript所没有的类型或者函数,这将使得翻译完成的代码终止运行。要避免这样的情况发生,就必须对原有flash的所有库函数进行JavaScript化,这是未来需要完成的任务之一。

WebGL是一项正在发展的新技术,如果能将现有的Flash代码无损地转换成WebGL代码,必将推动WebGL的发展前景。

参考文献

[1]Bar-Hillel Y., Kashier A., and Shamir E.“Machine Translation, chapter Measures of syntactic complexity”[J].John Wiley & Sons,Inc.New York., 1967.

[2]Upadhyaya, M.Engg, J.“Simple calculator compiler using Lex and YACC”.[J] Electronics Computer Technology (ICECT) on International Conference 2011 3rd. v(6) p182-187.

第9篇

关键词:人力资源主管;胜任特征;模糊综合评价

1. 人力资源主管胜任特征指标体系的建立

本文以长三角和珠三角地区的人力资源(HR)主管为研究对象,建立胜任特征指标体系和胜任特征模型的层次结构。第一层次为总指标U;第二层为四个一级指标:HR管理专家u1、创造性解决问题u2、个人特征u3、影响力u4;第三个层次为一级指标相对应的特征,见图1所示。

(1)HR管理专家u1:在HR领域内掌握了必要的知识和技能;积累了一定的事实型和经验型信息,提供的HR服务能以最经济的方式帮助企业达成目标;对人力资源管理的内外环境有清醒的认识。

人力资源专业知识u11――主要是指人力资源管理各模块的知识,包括工作分析、招聘、培训、绩效管理、薪酬管理、劳动关系管理、人才测评等等。

人力资源专业技能u12――包括工作分析技能、薪酬体系设计技能、考评体系设计技能、培训管理技能等,还包括制定各种人力资源管理相关制度的技能。

组织效率u13――选择最有效、最经济的手段来实现组织目标。

政策法规知识u14――掌握与工作相关的各种法规,最主要的指运用劳动法及相关条例进行关系管理制度的拟定和劳动合同的管理等知识。

(2)创造性解决问题u2 :分析形势并找出新的解决方案来满足某种需求,开展并落实行动规划。

分析能力u21 ――通过各种途径和方法,运用科学手段收集有关形式和问题方面的数据,浏览、分析数据以弄清楚原因,从而获得关于事物的发展规律或问题的本质的认识的能力。

计划能力u22――制定战略和技术性规划,并让他人清楚达到目标必须采取的行动,帮助他人做好准备。根据重要性制定项目和活动的流程,发展出可以达到某个目标的系统的方法。

实施和调整u23――落实问题解决方案,加快解决过程,并对实施过程进行跟踪并及时做出反馈调整方案,确保目标的实现。

决策制定u24――评估备选方案可能带来的风险。根据手头掌握的数据得出结论,制定行动方案,并为随之而来的行动负责。

创新思维u25――发展新创意,并帮助他人发展新创意,突破传统思维定势。创造一种鼓励多角度思考的环境。时代趋势要求人力资源主管在吸纳、留住、开发、激励人才上要不断创新。

(3)个人特征u3 :人力资源主管所表现出来的持续而稳定的行为特征,主要是指与一个人的个性相关的成功素质。

信用度u31――言出必行,讲究商业信用,树立良好的个人、部门及企业形象。

自信心u32 ――对自身的主要素质及能力又较高的评价,相信自己可以胜任工作。

适应能力u33 ――成功适应需求与外界环境的变化,比如:岗位职责的新需求及国家新的劳动人事法规的颁布等。

复原力u34 ――在遭受挫折及强大压力下,仍然能保持沉着、冷静、镇定,掌控自我的工作能力。

(4)影响力u4 :在与他人的交往中,通过各种手段影响别人使其支持或采纳自己的观点。促进变革,激励他人采取行动。保持平和的心态,关注结果而不是奖励。这是人力资源主管作为人力资源管理者必须具备的影响力。

冲突管理u41――当两个以上的动机、需求或目标同事存在,相互产生不一致或对立现象时,能将竞争和冲突,调整到对组织整体最有利的方向,以产生最高的绩效。

人际沟通u42――与组织成员互相之间或者与组织外部成员发生的,对组织而言有意义信息的发送、接受与反馈的交流全过程。包括口头表达能力、演讲技能、倾听技能以及谈判的技巧等。

关系建立u43――建立信誉,赢得信任。理解、同情、尊重他人。获得允诺。进行经常和有效的交流,与组织内外各种人建立良好的人际关系网络。

团队合作u44――尊重人与人之间的差异,重视各种不同观点,与他人合作达到目标,团队目标先于个人目标。

2. 建立人力资源主管模糊综合层次模型

2.1 运用层次分析法确定各指标权重

(1)建立判断矩阵

第一层指标A-B的胜任力指标集为U,则U={u1 u2 u3 u4 } ,第二层指标对应第三层指标Bi-C的指标集为:u1={u11,u12,u13,u14,}, u2={u21,u22,u23,u24,u25},u3={u31,u32,u33,u34} ,u4={u41,u42,u43,u44}。根据1~9级判断尺度[7],可以对各因素进行两两比较,构造U-ui的判断矩阵,记为A;以及ui-uij的判断矩阵,记为Bi。经专家组研究后,本研究的判断矩阵最终确定如下:

(2)判断矩阵一致性检验及指标权重的确定

设ui对U 的权重分别为W1、 W2、W3 、W4,则相应的权重向量W={ W1, W2,W3 ,W4}。设uij 对ui 的权重向量分别为:

。运用AHP软件进行计算,可求得上述判断矩阵A、B1、B2、B3、B4的各最大特征根和特征向量分别为:

均小于0.1,即所有的判断都满足一致性。

(3)建立模糊评价数学模型

指标ui的模糊综合评价向量为Xi,则:Xi=wiRi=(xi1,xi2,xi3,xi4,);i=1,2,3,4,则总特征层上的总的评价矩阵为R,确定评价胜任特征的评语集 ,其中:代表优秀,代表良好,代表一般,代表差。假设评判对象按照u中的第k个因素进行单因素评价时,对评价集中第i个元素的隶属度为rij,则ui的评价结果可用模糊集合Ri表示。由于本研究的评价等级分为四个:优秀、良好、一般、差,所以可以得出Ri=(ri1,ri2,ri3,ri4,),又因为ui中有n个二级指标,所以由n个因素的评判结果构成的总的评判矩阵为Ri,则

评价矩阵Ri可看作特征集与评价集之间的一种模糊关系。rij为评价对象在第i项特征指标上,对它作出第j等级评价的人数xij占总评价人数xij的百分比,即:

2.2 计算评价向量

设总特征层上的总的模糊评价向量为Y,则Y=WR=(y1,y2,y3,y4),同样也可以仿照前面的方法对Y=(y1,y2,y3,y4)进行正规化处理,方便分析。最终的处理结构即为对人力资源主管人员胜任特征的最终测评结果。

(1)计算评价对象的模糊综合隶属度Aq与Uq

用表示第q位评价对象在第p项二级指标上的模糊综合隶属度(p=1,2,3,4),二级指标层对一级指标层的权重集为Bp,可表示为: ,j为相关一级指标中的的评价指标序号(j=1,2,3,4)。则第q位评价对象在全部一级指标上的模糊综合隶属度集:

式中:

评价对象在总指标层上的总的综合隶属度Uq为: Uq=W・A=(U1,U2,U3,U4,)

式中:

(2)计算评价对象与胜任特征模型的贴近度λq

在各项指标都完成的十分出色的人力资源主管为最优秀最胜任工作岗位的人员,则由模糊综合离散型贴近度原理可得:

式中 分别表示模糊向量的内积与外积,且有:

2.3 研究结论与分析

通过层次分析法,我们可以确定各指标的权重,如下表1所示。

由表1:可看出,各指标在总的胜任特征中所占的重要性不同。人力资源管理专家知识u1对于一个优秀的人力资源主管来说至关重要,所占的比率超过了50%,其中人力资源专业知识u11和人力资源专业技能u12的重要性又大于组织效率u13和政策法规知识u14。这与我国的人力资源职业还处于专业发展的初期阶段, 人力资源职能更多的强调人事管理活动, 业务联盟和日常工作战术这两项胜任力是每名人力资源管理人员都应具备的基本技能的国情是相一致的。而且只有掌握了熟练的人力资源管理专业知识和技能,才能卓有成效的实现组织的目标,确保组织效率。同时,作为一个人力资源管理者,掌握必要的政策法规知识也是十分必要的。

个人特征和影响力对一个优秀的人力资源主管也是非常重要,具备了良好的信用、相信自己的实力、能够适应各种环境、能以积极的态度面对挫折与困难,才能调节自我,以良好的个人状态出色的完成本职工作。同时,作为一个管理者,工作的成功还取决于如何通过下属来完成工作实现组织目标;与上级的沟通,取得支持;与平级同事的配合。可见,影响力的重要性也不容小视。最后,创造性的解决问题对人力资源主管也是很重要的,按部就班,因循守旧的做事方式越来越不适应当前动态的社会经济环境,只有掌握了良好的分析计划能力,并且监督计划的执行实时作出调整以创造性的思维方式解决问题才能在动态多变的环境中出色的完成工作。

通过使用模糊综合分析法可以对不同的人力资源主管的胜任特征进行分析,所得结果Y=(y1,y2,y3,y4)中的y1,y2,y3,y4值反映了人力资源主管胜任特征在优秀、良好、一般、差四个标度上的分布状态,可以对人力资源主管的现有能力等级有更深入的了解,以便决策。

3. 算例研究

A公司为我国内某知名物流企业,运用本研究的胜任特征模型对该公司的四名人力资源主管Ⅰ、Ⅱ、Ⅲ、Ⅳ的胜任特征进行评价。聘请三位人力资源专家及该公司的十位人力资源部员工根据之前的研究结论,对四位主管进行判断,数据整理汇总和规范化后结果见表2所示。四位主管在二级指标上的模糊评价矩阵汇总如下表所示(纵列表示评价等级,行列表示各一级指标对应的二级指标上的模糊评价):

运用Excel软件按照之前的研究步骤对矩阵数据进行处理,各评价对象在总特征层上的总的模糊评价向量为:

依照前面的方法和步骤,第q位评价对象在全部一级指标上的模糊综合隶属度集Aq为:

进一步计算出评价对象在总指标层上的总的综合隶属度Uq为:

由模糊综合离散型贴近度原理可计算出评价对象与胜任特征模型的贴进度λq:

根据结果,第三位主管与模型的贴近度最高达到了0.586,其余三位均为0.508。可见,三位主管的胜任特征还有待提高。该研究结论可以为企业选拔、培养企业人力资源主管提供工具和指导方法。通过对模型指标体系及人员与模型贴近度的探索,有利于企业人力资源主管选拔与培训的规范化、科学化,为企业在人力资源主管的招聘与开发实践中提供理论指导,把好人才质量关。

4. 结束语

本文运用问卷调查、实证研究和综合分析的方法,考察了企业人力资源主管胜任特征构成要素并建立了胜任特征的层次模糊综合模型,为改善和提高我国企业人力资源主管胜任特征提供了初步的探讨。从研究的结果看:HR管理专家、创造性解决问题、个人特征以及影响力四个因子成为影响人力资源主管工作绩效的重要因素;这四个因子又包括了十七个项目;各项目及因子在胜任特征模型中多占权重不一。研究的结论对企业提高人力资源主管胜任特征、提升工作表现、改善管理效率提供了明确的方向,为企业有效的选拔、培育高绩效的人力资源主管的管理实践提供了科学的参考价值。

参考文献:

[1]Pfeffer J , Veiga J F. Putting people first for organizational success. Academy of ManagementExecutive, 1999, 13:37~48.

[2]Nelson J B. The boundaryless organization: Implications for job analysis, recruitment, andselection. Human Resource Planning, 1997, 20:39~49.

[3]Lawler III E E. From job-based to competency-based organizations. Journal of Organizational Behavior, 1994, 15:3~15.

[4]McClelland D C. Testing for competence rather than for intelligence. American Psychologist, 1973, 28:1~14.

[5]Spencer, L.M.& Spencer,petenceatWork:Models forSuperiorPerformance. JohnWiley&Sons,Inc.1993:222~226.

[6]薛声家,左小德编著.管理运筹学(第三版)[M].广州:暨南大学出版社,2007.

[7]何伟萍.人力资源主管胜任特征模型研究.暨南大学硕士学位论文[D],2008.

第10篇

论文摘要:在组件化编程的时代,如何复用历史累积的大量没有组件特性的C++类?本文从工程的角度对这一问题进行探讨,利用现有组件技术,提出了一套将C++类平滑过渡到COM组件的完整解决方案。

1. 问题的提出

自从Microsoft公布了COM(Component Object Model,组件对象模型,简称COM)技术以后,Windows平台上的开发模式发生了巨大的变化,以COM为基础的一系列组件技术将Windows编程带入了组件化时代,传统的面向对象的软件开发方法已经逐渐被面向组件的方法所取代。

COM标准建立在二进制可执行代码级的基础上,不论何种工具、语言开发的组件,只要符合COM规范,就可复用于VC、VB、Delphi、BC等各种开发环境中。COM的语言无关性将软件复用的层次从源代码级推进到了二进制级,复用更方便,也更安全。

然而,COM技术带来全新的软件设计和开发模式的同时,也带来了新的问题。

许多软件公司在开发自己的软件产品过程中,都累积了大量C++类,这些代码设计精良,功能完备,以面向对象的标准来检验无可挑剔。然而,这些代码不支持COM,将无法在COM时代继续被复用。如果它们在软件组件化的趋势中被淘汰,那对软件公司和开发人员来说都是极大的损失。

COM专家Don Box曾说过,“COM is a super C++”。这给了我们一个启示,是否可以实现一种技术,能够动态的为普通C++类加上一层COM的封装呢?这样,既可以保持这些代码自身的完整和特性,使它们能继续应用于原来的系统,也可以在需要作为组件使用的时候,把它们动态转变成组件,复用于新系统。

一个自然而然的想法是,为每一个C++类开发一个只暴露一个接口的COM组件,将原C++类的每个public方法都对应于该接口的一个方法,接口方法的实现可以简单的调用相对应的C++类方法即可。这样,程序逻辑由原有的C++类控制,但COM层的封装则由组件提供。基本思路如下图所示:

本文就这一技术展开讨论,最终提供一套由普通C++类平滑过渡到COM组件的完整解决方案。我们选用ATL(Active Template Library,活动模板库,简称ATL)作为COM组件的开发工具,开发环境为Visual Studio 6.0。如没有特殊说明,下文中的“C++类”指没有组件特性C++类,“C++对象”指C++类的实例;“ATL组件类”指用于包装的ATL类,“ATL对象”指ATL组件类的实例。

2. 用ATL包装C++类

按上述思路将C++对象动态组件化后,所得的组件实际上由两部分组成:ATL组件对象和绑定的C++对象。两者的生命周期互相牵制,但要保持一致。生命周期的管理是C++类动态组件化的首要难点。

C++类分为两种,一种是简单的C++类,一种是集合型的C++类。集合型的C++对象管理一组C++对象,负责其创建和删除,维护它们的生命周期。下面,分别就简单C++类和集合型C++类的组件化技术进行说明,展示解决方案的核心技术。

2.1. 简单C++类的组件化

为使ATL组件类可以自由调用C++类的方法,需要:

l 为ATL组件类安插一个指针成员变量,指向C++类

l 提供ATL对象和C++对象的绑定机制

我们可以在ATL组件类初始化时创建一个C++类,用成员变量m_pCPPObj记录,在析构时删除,从而实现ATL组件类和C++类的天然绑定。但出于灵活性考虑,使得ATL组件对象可以绑定任意C++类的对象,我们为ATL组件类添加一个绑定函数Link2CPPObj(CImplement* pObj)。

在ATL组件类的构造函数内,创建一个C++对象,用m_pCPPObj记录。

如果调用了Link2CPPObj,则将m_pCPPObj指向的对象删除,改用传入的C++对象。

在ATL组件类的的析构函数内,删除其绑定的C++对象。由构造函数和Link2CPPObj函数的定义可知,m_pCPPObj指针总是有意义的。

简单C++类组件化的思想如下图所示:

2.2. 集合型C++类的组件化

集合型C++类的情况有所不同。

集合型C++类以数组(array)、列表(list)、映射表(map)的形式管理其它C++对象。集合对象和它管理的元素对象都被包装成组件后,集合型ATL对象可能调用一个“Destroy”方法,期望删除某一个元素ATL对象;这一操作的实质却是,集合型C++对象的“Destroy”方法被调用,将元素C++对象删除了,而元素ATL对象却不知道。这一操作的结果导致了元素的ATL对象存在,而其绑定的C++对象却被删除的情况,两者的生命周期出现了不一致。

为了解决这个问题,我们需要在C++对象被删除时,能将ATL对象同时删除;而在ATL对象的引用计数为0需要删除自身时,也能把C++对象删除。可行的解决方案是:

l 在C++类中保存一个接口指针,指向绑定在一起的ATL对象;为该接口指针赋值的最佳地点显然是提供绑定机制的Link2CPPObj函数内部,为此,还需要给Link2CPPObj添加一个IUnknown*参数

l 在C++类的析构函数中,判断该接口指针是否为空,如果不为空,则Release对接口的引用,引发ATL对象自身的析构

现在,技术方案如下图所示:

2.3. 内部创建的组件和外部创建的组件

集合型C++类组件化后仍然是集合型ATL组件,它可以创建、删除自己管理的组件。这样,组件的创建就可能有两种情况:

l 由客户直接创建

l 由客户调用集合型组件的接口方法间接创建

创建方式的不同导致了组件生命周期管理的复杂性。一般说来,组件的创建者负责维护组件的生命周期。上述两种情况下,分别由客户和集合型组件维护被创建组件的生命周期。然而,另有一种情况是,客户创建了一个组件,然后送交一个集合型组件管理,现在维护组件生命周期的责任就由客户转交给了集合型组件。

我们的解决方案必须提供这样的健壮性和灵活性,以维护各种情况下组件的生命周期。我们为ATL组件类添加一个BOO成员m_bInnerManage,作为组件的维护标识。内部维护意味着组件的生命周期由其它组件(集合型组件)维护;外部维护则是由客户维护。

缺省情况下,组件是外部创建并维护的,在组件的构造函数内设置外部维护标识。集合型组件创建元素时,需要为元素分别创建一个C++对象和一个ATL对象,然后调用ATL对象的Link2CPPObj函数将两者绑定在一起,在Link2CPPObj函数内修改维护标识。对于第三种情况,可以在外部创建组件由客户转交给集合型组件时,在集合型组件相应方法内重新设置维护标识。

2.4. C++基类

为了对现有C++类的改动最小,我们设计一个基类封装需要为C++类添加的功能。所有需要动态组件化的C++类都必须从这个基类派生,以保证动态组件化中C++对象与ATL对象生命周期的一致。如下图示:

实现代码如下所示:

class CCPP2ATLObjBase

{

CCPP2ATLObjBase ();

public:

// IUnknown指针,反指向封装该CPP类的接口

IUnknown*

m_pAssociATLUnk;

protected:

virtual ~ CCPP2ATLObjBase ();

};

CCPP2ATLObjBase::CCPP2ATLObjBase()

{

// 将IUnknown指针初始化为0

m_pAssociATLUnk = NULL;

}

CCPP2ATLObjBase::~CCPP2ATLObjBase()

{

// CPP类的对象析构时,Release对接口的引用

if (m_pAssociATLUnk)

m_pAssociATLUnk->Release();

}

然后,修改现有各个C++类,使之从CCPP2ATLObjBase派生,如下面代码片断所示:

class CImplement : public CCPP2ATLObjBase

{

……

};

必须指出的是,在CCPP2ATLObjBase基类中,我们设置的m_pAssociATLUnk变量存在和现有C++类成员命名冲突的问题。但是,考虑到原C++类并没有组件特性,也应该不会有“IUnknown”型指针,因此,只要各个类的变量命名都按照规范的命名法,出现这种名字冲突的可能性是极小的。

2.5. ATL模板基类

通过以上分析,我们发现,所有的ATL组件类都需要实现一些相同的功能:

l 保留一个指向其绑定C++对象的指针

l 提供一个Link2CPPObj函数

l 在构造函数中创建一个绑定C++类的对象

为了减化编码,我们定义一个带参数的模板基类,实现上述公共功能,模板参数就是绑定的C++类。然后,所有的ATL组件类都从模板基类中派生。现在的技术方案如下图所示:

实现代码如下所示:

template

class CCPP2ATLTemplateBase :

{

protected:

// C++类指针

T*

m_pCPPObj;

// 标识继承该模板的ATL对象是否由内部维护

BOOL

m_bInnerManage;

public:

/**********************************************************

模板的构造函数,实现如下功能:

1、new一个C++实现类对象

2、缺省情况下,ATL对象由外部维护,将内部维护标识设为FALSE

3、将C++类中对ATL接口的反指指针设置为空

**********************************************************/

CAtlCPP2ATLTemplateBase()

{

m_pCPPObj = new T;

m_bInnerManage = FALSE;

m_pCPPObj->m_pAssociATLUnk = NULL;

}

/**********************************************************

析构ATL对象时,如果该ATL对象是由外部创建的,

则显式的删除C++对象

如果ATL对象由内部维护,那么什么事都不用做

**********************************************************/

virtual ~CAtlCPP2ATLTemplateBase()

{

if (!m_bInnerManage) {

if (m_pCPPObj)

delete m_pCPPObj;

}

}

/**********************************************************

Link2CPPObj函数,负责绑定C++对象和ATL接口

1、删除构造函数中new的C++对象,而使用外部传入的C++对象

2、将ATL对象的内部维护标识设为TRUE

3、设置C++基类中的接口指针成员

4、因为ATL接口传送给外部使用,需要增加引用计数

**********************************************************/

virtual void Link2CPPObj(T* pObj, IUnknown* pUnk)

{

ASSERT(pObj != NULL);

ASSERT(pUnk != NULL);

if (m_pCPPObj)

delete m_pCPPObj;

m_pCPPObj = pObj;

m_bInnerManage = TRUE;

m_pCPPObj->m_pAssociATLUnk = pUnk;

m_pCPPObj->m_pAssociATLUnk->AddRef();

}

};

然后,每个ATL类都从该模板类派生,如下代码片断所示:

class ATL_NO_VTABLE CATLXX :

……,

// 添加ATL模板基类

public CCPP2ATLTemplateBase

{

……

}

3. C++参数类型的自动化包装

在本文的技术方案中,C++类的public方法与ATL组件接口中的方法一一对应;相应的,C++类中方法的参数类型也要转换为COM规范所允许的数据类型。

在基于COM的自动化(Automation)技术中,Microsoft提供了一套自动化兼容的数据类型VARIANT,定义如下:

typedef struct FARSTRUCT tagVARIANT VARIANT;

typedef struct FARSTRUCT tagVARIANT VARIANTARG;

typedef struct tagVARIANT {

VARTYPE

vt;

unsigned short

wReserved1;

unsigned short

wReserved2;

unsigned short

wReserved3;

union {

Byte

bVal;

// VT_UI1.

Short

iVal;

// VT_I2.

long

lVal;

// VT_I4.

float

fltVal;

// VT_R4.

double

dblVal;

// VT_R8.

VARIANT_BOOL

boolVal;

// VT_BOOL.

SCODE

scode;

// VT_ERROR.

CY

cyVal;

// VT_CY.

DATE

date;

// VT_DATE.

BSTR

bstrVal;

// VT_BSTR.

DECIMAL

FAR* pdecVal;

// VT_BYREF|VT_DECIMAL.

IUnknown

FAR* punkVal;

// VT_UNKNOWN.

IDispatch

FAR* pdispVal;

// VT_DISPATCH.

SAFEARRAY

FAR* parray;

// VT_ARRAY|*.

Byte

FAR* pbVal;

// VT_BYREF|VT_UI1.

short

FAR* piVal;

// VT_BYREF|VT_I2.

long

FAR* plVal;

// VT_BYREF|VT_I4.

float

FAR* pfltVal;

// VT_BYREF|VT_R4.

double

FAR* pdblVal;

// VT_BYREF|VT_R8.

VARIANT_BOOL

FAR* pboolVal;

// VT_BYREF|VT_BOOL.

SCODE

FAR* pscode;

// VT_BYREF|VT_ERROR.

CY

FAR* pcyVal;

// VT_BYREF|VT_CY.

DATE

FAR* pdate;

// VT_BYREF|VT_DATE.

BSTR

FAR* pbstrVal;

// VT_BYREF|VT_BSTR.

IUnknown

FAR* FAR* ppunkVal;

// VT_BYREF|VT_UNKNOWN.

IDispatch

FAR* FAR* ppdispVal;

// VT_BYREF|VT_DISPATCH.

SAFEARRAY

FAR* FAR* pparray

// VT_ARRAY|*.

VARIANT

FAR* pvarVal;

// VT_BYREF|VT_VARIANT.

void

FAR* byref;

// Generic ByRef.

char

cVal;

// VT_I1.

unsigned short

uiVal;

// VT_UI2.

unsigned long

ulVal;

// VT_UI4.

int

intVal;

// VT_INT.

unsigned int

uintVal;

// VT_UINT.

char FAR *

pcVal;

// VT_BYREF|VT_I1.

unsigned short FAR * puiVal;

// VT_BYREF|VT_UI2.

unsigned long FAR * pulVal;

// VT_BYREF|VT_UI4.

int FAR *

pintVal;

// VT_BYREF|VT_INT.

unsigned int FAR *

puintVal;

// VT_BYREF|VT_UINT.

};

};

我们看到,所有简单数据类型都可以在VARIANT中找到对应的定义,但是,在多数的基于C++的系统设计中,方法参数不会仅仅出现简单数据类型,类对象、对象引用、对象指针被频繁的作为参数来传递。

以类对象、对象引用或对象指针形式存在的参数,我们称为复杂类型参数。在技术方案中,所有复杂类型参数在ATL接口方法中一律对应接口指针,我们需要提供C++对象(或引用、指针)和ATL接口指针之间的动态转换功能。下文就复杂类型作为传入、传出参数分别进行讨论。

3.1. 复杂类型的传入参数

ATL接口方法获取一个接口指针参数后,如何将此接口指针转变为C++对象指针?对于ATL对象,可以直接取得m_pCPPObj变量,而接口指针却不能。所以,需要提供一种途径,从ATL接口指针获取ATL组件的m_pCPPObj变量值。

我们的设计是,为每个ATL组件提供一个基接口ICPPObjSeeker,实现对绑定C++对象指针(即m_pCPPObj)的查询方法HandleCPPObj。任意ATL接口都从该基接口派生,都可以调用HandleCPPObj方法。

在前文就生命周期管理进行讨论时,曾提到这样一种情况:客户创建了一个组件,然后送交集合型组件管理。在集合型组件获取外部创建的组件的同时,需要:

l 取得后者的C++对象指针。集合型组件对元素组件管理的实质是通过集合型C++对象对元素的C++对象进行管理,而集合型ATL对象和元素ATL对象之间并没有直接联系

l 修改新加入元素组件的维护标识

因此,我们为ICPPObjSeeker接口添加PostCPPObj方法,用于实现以上功能。

ICPPObjSeeker接口idl定义如下所示,因为ICPPObjSeeker接口和HandleCPPObj、PostCPPObj方法实际上都应用于内部,所以使用“hidden”属性对外隐藏:

[

object,

uuid(1E9F7F79-936D-4680-9F8E-34A7DCCFF818),

dual,

hidden,

helpstring("ICPPObjSeeker Interface"),

pointer_default(unique)

]

interface ICPPObjSeeker : IDispatch

{

[id(1), helpstring("取得C++对象的指针"), hidden]

HRESULT HandleCPPObj([out, retval] long* pCPPObj);

[id(2), helpstring("取得C++对象的指针,客户程序不再负责对C++对象生命周期的维护"), hidden]

HRESULT PostCPPObj([out, retval] long* pCPPObj);

};

ICPPObjSeeker接口的方法可以放在CCPP2ATLTemplateBase模板基类中统一实现:

template

class CCPP2ATLTemplateBase :

{

……

/**********************************************************

HandleCPPObj函数,由ICPPObjSeeker接口定义,

负责取得ATL接口中的C++对象指针

**********************************************************/

STDMETHODIMP HandleCPPObj(long *pCPPObj)

{

AFX_MANAGE_STATE(AfxGetStaticModuleState())

*pCPPObj = (long)m_pCPPObj;

return S_OK;

}

/**********************************************************

PostCPPObj函数,由ICPPObjSeeker接口定义,

负责取得ATL接口中的C++对象指针,

同时标记对象为内部维护,客户不再负责对象的生命周期管理

**********************************************************/

STDMETHODIMP PostCPPObj(long *pCPPObj)

{

AFX_MANAGE_STATE(AfxGetStaticModuleState())

*pCPPObj = (long)m_pCPPObj;

if (m_bInnerManage == FALSE) {

m_bInnerManage = TRUE;

m_pCPPObj->m_pAssociATLUnk = this;

m_pCPPObj->m_pAssociATLUnk->AddRef();

}

return S_OK;

}

};

现在,所有的接口都不再直接从IDispatch派生,而改从ICPPObjSeeker派生,因此,IDispatch的实现也应该在实现ICPPObjSeeker接口的同一级或下级中提供。为了包容IDispatch,我们将ATL模板基类稍作改动:

template

class ATL_NO_VTABLE CCPP2ATLTemplateBase :

public IDispatchImpl

{

……

};

在从该模板类派生ATL类时,将ATL Wizard自动生成的对IDispatch接口的实现注释,而使用新定义的CCPP2ATLTemplateBase,如下代码片断所示:

class ATL_NO_VTABLE CATLXX :

……,

// 将ATL Wizard生成的对IDispatch接口的支持注释

//

public IDispatchImpl,

// 添加ATL模板基类

public CCPP2ATLTemplateBase

{

……

}

3.2. 复杂类型的传出参数

从C++指针转换为接口指针基本上不存在困难,为方便使用,我们提供一个基于本技术方案的宏定义,如下代码所示:

/**********************************************************

从C++指针获取对应ATL接口的宏

传入:C++指针,对应的ATL类名,接口IID

传出:接口指针,执行状态HRESULT

**********************************************************/

#define CPPOBJ_TO_COM_INTERFACE(pCPPObj, CATLClass, IID_IDefine, ppInterface, hResult ) \

{ \

ASSERT(pCPPObj != NULL); \

if (pCPPObj->m_pAssociATLUnk != NULL) \

{ \

hResult = pCPPObj->m_pAssociATLUnk-> \

QueryInterface(IID_IDefine, (void **)ppInterface); \

ATLASSERT(SUCCEEDED(hResult)); \

} \

else \

{ \

CComObject* pComObj; \

hResult = CComObject::CreateInstance(&pComObj); \

ATLASSERT(SUCCEEDED(hResult)); \

hResult = pComObj-> \

QueryInterface(IID_IDefine, (void **)ppInterface); \

ATLASSERT(SUCCEEDED(hResult)); \

if (hResult == S_OK) \

pComObj->Link2CPPObj(pCPPObj, *ppInterface); \

}\

}

4. 接口的继承与多态

C++类的继承应用十分广泛,动态化后的组件应该保留原C++类之间的继承关系。在我们的技术方案中,C++类和接口一一对应,C++类的继承关系也应该体现在各个接口上,如下图所示:

4.1. 支持继承的系列ATL模板基类

实现接口继承的实质是为派生ATL类添加基接口,而为一个ATL类添加接口的实质则是:

l 修改IDL文件,体现接口的继承关系

l 在ATL类中提供接口实现

修改IDL文件很简单,只需要更改派生接口的基接口即可。在ATL类中添加基接口的实现倒颇费思量,我们的做法是:

l 扩展ATL模板基类的意义,每一个ATL组件类都对应一个模板基类,都从该模板基类派生

l 派生类的模板基类,从基类的模板基类中派生;CCPP2ATLTemplateBase是模板派生树的根节点,所有的模板都派生自CCPP2ATLTemplateBase

l 所有的接口方法,都在对应的模板基类中实现

ATL派生类继承自它对应的模板基类,这个模板基类又继承自ATL基类对应的模板基类,而在ATL基类的模板基类中提供了基接口的实现。所以,ATL派生类最终继承了基接口的实现。C++类、ATL类、各模板基类的继承关系如下图所示:

假定IBaseItf是基接口,IInheritItf是派生接口。ATL基类对应的模板基类定义如下:

/****************************************************************************

模板类CAtlBaseItf,提供了IBaseItf的实现,

用于将IBaseItf接口作为基接口共供其它接口继承

****************************************************************************/

template

class ATL_NO_VTABLE CAtlBaseItf : public CCPP2ATLTemplateBase

{

public:

// 基接口方法“BaseFunc”,在此模板类内实现

STDMETHOD(BaseFunc)()

{

m_pCPPObj->BaseFunc();

return S_OK;

}

};

ATL派生类对应的模板基类定义如下:

/****************************************************************************

模板类CAtlInheritItf,继承了基接口IBaseItf方法的实现,

同时提供了IInheritItf的实现,可以将IInheritItf接口作为基接口共供其它接口继承

****************************************************************************/

template

class ATL_NO_VTABLE CAtlInheritItf : public CAtlBaseItf

{

public:

// 派生接口方法“InheritFunc”,在此模板类内实现

STDMETHOD(InheritFunc)()

{

m_pCPPObj->InheritFunc();

return S_OK;

}

};

更改IInheritItf接口的IDL定义:

[

object,

uuid(8F3902DF-DA55-4802-AB8A-958AFF45B2F4),

dual,

helpstring("IBaseItf Interface"),

pointer_default(unique)

]

// 基接口从ICPPObjSeeker派生

interface IBaseItf : ICPPObjSeeker

{

[id(1), helpstring("IBaseItf Method")] HRESULT BaseFunc();

};

[

object,

uuid(AFEBD472-4BEC-45CE-A5A2-E37537C4744A),

dual,

helpstring("IInheritItf Interface"),

pointer_default(unique)

]

// IInheritItf接口从IBaseItf接口派生

interface IInheritItf : IBaseItf

{

[id(11), helpstring("IInheritItf Method")] HRESULT InheritFunc();

};

最后,更改ATL派生类的模板基类:

class ATL_NO_VTABLE CATLInherit :

……,

public CAtlInheritItf

{

……

};

现在,通过IInheritItf,我们可以使用IBaseItf的所有方法,实现了接口的继承。

4.2. 接口的多态性

在实现接口的继承后,要展现接口的多态性就很容易了,只需在ATL派生类声明的接口映射表中添加基接口表项即可:

class ATL_NO_VTABLE CATLInherit :

……,

public CAtlInheritItf

{

……

BEGIN_COM_MAP(CInheritItf)

COM_INTERFACE_ENTRY(IInheritItf)

COM_INTERFACE_ENTRY(IBaseItf)

……

END_COM_MAP()

……

};

就象C++中基类指针所展现的多态性一样,一个“IBaseItf *”型指针可以完全操纵IInheritItf接口,而不需要知道真正的接口类型。

5. 总结

至此,我们的技术方案全部介绍完毕。C++基类CCPP2ATLObjBase、ATL模板基类CCPP2ATLTempBase和基接口ICPPObjSeeker是方案中的关键技术。CCPP2ATLObjBase配合CCPP2ATLTempBase,完善了组件对象生命周期的管理机制;通过基接口ICPPObjSeeker,我们可以从任意接口反向查询C++对象;CCPP2ATLTempBase提供了C++对象和ATL组件的自由绑定功能,封装了IDispatch接口的实现,而进一步定义的ATL模板基类继承体系则极大的方便了接口的自由继承。

在本文快结束的时候,我们不得不特别提到Microsoft的“.Net FrameWork”。“.Net”开发框架的推出,的确解决了COM技术的许多困惑,也包括本技术方案所要解决的一些技术问题。然而“.Net Framework”是一个“改朝换代”的变化,要想一步将原来基于C++的系统(尤其是大型系统)完全移植到“.Net”平台上是不可想象的,其工作量不亚于重新开发,所以Microsoft特别推荐从COM技术到“.Net”平台的平滑移植。由此看来,本文提出的动态组件化的技术更显得可贵,它从工程化的角度,着眼于实际应用,解决了从面向对象的C++到基于组件的COM技术的许多问题,既充分保护了原有系统的积累,又为这些系统搭上日益发展的“.Net”快车提供了可能。

参考文献

《COM原理与应用》,潘爱民 著,清华大学出版社

《COM本质论(Essential COM)》,Don Box 著,潘爱民 译,中国电力出版社

第11篇

随着科技的发展,信息化也逐渐成为当代的潮流,越来越多的人从事软件的开发的工作,但是大多数人都只是关注到社会上的群体,而忽略了学生。而且很多软件存在功能单一的问题,导致人们不愿意为使用某种功能而特意安装一款软件,于是我们项目小组针对这一现象,以大学生为中心,决定开发出一款针对大学生学习生活的软件.

随着时代的进步,手机也变得越发重要,在大学几乎人手一台手机,然而Android手机占了全部手机数量的80%,故手机方面拥有很大的市场。

系统的设计与实现

功能设计

功能需求:基于Android平台的移动校园学习生活软件系统主要包括客户端和服务器两部分。其中客户端部分包括两个部分:一是浏览信息,课程、及考试题搜索,求助信息;二是后台信息管理部分,对用户的每一条信息审核,上传辅导老师的个人信息。

用例描述:采用面向对象的分析方法,将系统的用户分为系统用户和管理员两种角色。

系统的总体设计

系统的总体架构。基于 Android 平台的校园校园辅导教育系统的总体架构如图2所示。

Android 客户端架构。本文在 Android 客户端采用 C/S 结构,客户端的作用是:负责提供友好易用的与用户交互的界面,供用户查询求助信息和辅导教育及时相关信息等服务,以及负责与服务器端的数据交换。用户与客户端的交互是通过 Activity 类构建一个UI界面完成的。服务端与数据库相连,实现对数据的操作。Android 客户端与服务器端的数据交换是基于HTTP协议实现的。

系统的关键技术的实现

服务器整体设计。本节主要讲述服务器代码结构,功能实现原理。

监听多人请求。客户端与服务器的交互主要通过HTTP协议进行的数据交互。

图像的处理。图片的存储采取了FIFO(first in first out)技术,由于图片频繁访问,用户每次访问都要访问硬盘,导致服务器运行速度很慢,故加快图片读取尤其重要。实现原理如下,构造一个图片类,类里面有3个变量(图片物理,图片内容,图片访问指数)系统分配一个容量为100的图片类数组,程序也设置一个访问图片计数器,每访问一次,计数器值加一,计数器值达到1000的时候,计数器归0,每次客户端访问图片的时候先访问图片类数组,如果找到了就把图片访问指数设置为图片访问计数器的值,如果没有访问到就查找图片访问指数比计数器值大且最接近计数器值的图片图片所在数组的下标记为t1,同时查找图片访问指数最小的图片下标t2,如果t1值存在,则用新访问的图片代替下标为t1的图片,如果t1不存在,则用新访问的图片代替下标为t1的图片。

注册登录模块的设计和实现。系统注册模块主要作用是如果用户没有账号时,注册新的账号,用户需要填入账号和密码和及个人信息,点击注册就可以完成注册,不过如果用户不完全填写个人信息,两次密码不一致或者账号和电话号码已经被注册,会提示用户相应错误的信息,整个过程如图所示。

用户注册成功后,用户信息会保存到成员表中,用户表主要包括用户手机号、用户名、密码、年龄、性别、学校、学院、专业、学习标签、个人签名、最喜欢书籍、最喜欢影视、个人说明、个人头像十四个字段,用户表loginphone 如表1 所示。

如果用户的账号或者手机号被别人注册会抛出异常,服务器会把错误的大致原因发送至客户端。

登录模块设计和实现。用户想要使用软件首先要登录,用户打开登录界面,填写账号和密码,点击登录按钮,系统会将用户填写的账号和密码发送到服务器上面进行对比,如果对比成功,则把客户信息发送至客户端并通知其登录成功,保存用户的登录状态,及个人信息,否则提示账号或密码错误信息。

超级课堂模块设计和实现

超级课堂数据库表设计。超级课堂老师基本信息数据库表主要包括老师头像、老师姓名、授课课程、报名人数,授课形式、授课课时、授课时间、授课学院、授课单价、老师学历、老师所在学院、老师联系方式、老师个人介绍,并利用老师联系方式来锁定老师的发个人信息。具体如表4-2 所示。

报名方式实现。课程报名分为团队报名和个人报名。其中团队报名将获取更大优惠。

系统模块测试

系统测试环境的搭建

本系统我们选利用htpp协议编写的服务器,服务器监听端口为6000,数据库选择Oracle公司的开源数据库的Mysql 数据库。系统采用工厂模式来处理客户端的请求,工厂模式可以将各个业务逻辑进行有效的分离,方便系统功能的扩展。

部分功能测试

系统登录模块测试。点击应用程序后进入主界面,点击“登陆“即可进入系统的登录界面,如图4所示:

点击应用程序后进入主界面,点击“注册”即可进入系统的手机账号验证界面,如图5所示:

成功通过手机验证之后会进入注册页面,如下图6所示。

软件主界面测试。用户在主界面可以看到各个模块的分类,点击自己想要查看分类的图标或文字即可进入所属类别,如图7所示

经过几个月的开发校园学习助手总算接近了尾声,其中开发期间出现过很多的问题,比如说版本适配,网络连接等,但是多亏小组的相互支持,最后项目成功的完成。希望看到论文的你也能通过不懈努力,创造出属于自己的产品。

第12篇

[论文关键词]江苏服务外包国外经验

[论文摘要]本文从国际服务外包发展的大环境出发,以印度为例,剖析了其服务外包的优势,分析了江苏服务外包的现状,针对江苏服务外包劣势,借鉴印度服务外包经验,提出若干对策,以加强江苏承接国际服务外包能力。

服务外包(ServiceOut—s0uI℃ing)指企业将其非核心的服务外包出去,整合利用外部最优秀的专业化资源,从而达到降低成本、提高效率、充分发挥自身核心竞争力和增强企业对环境应变能力的一种管理模式。根据商业需求,服务外包分为以T1r基础设施外包和应用服务外包为主要内容的信息技术外包(Ⅱ1O)及以需求管理、供应链管理和企业服务为主要内容的商业流程外包(BPO)两种;按照提供服务的地理位置还可以分为在岸、近岸和远岸三种。

一、印度服务外包业发展情况

印度是发展中国家承接国际服务业转移的成功者,根据印度全国软件和服务公司协会NASSCOM统计,2005~2006年印度的T1r和服务外包收入达到363亿美元,比上年增长28%,占GDP的比重也从上年的4%增长到4.8%。其中,软件和服务收入222亿美元,服务外包收入72亿美元。软件和服务以及服务外包出口234亿美元。印度服务外包飞速发展得益于以下几个优势:

1.政府支持

印度政府在1986年制定了《计算机软件出口、软件发展和软件培训政策》,明确了印度软件产业的发展战略目标。并对从事外销的企业给予特别的优惠政策。印度政府重视长远规划,建设了富有特色的科技园区。印度早在1991年就在班加罗尔创建了全国第一个计算机软件技术园区,其后又在全国各地建立了l8个具有国际先进水平的软件技术园区。享有特殊优惠政策的科技园区培育了一批知名服务外包企业。

2.优良环境

印度已发展成为世界上最开放的信息技术市场,技术型劳动者素质较高,与美国硅谷关系密切,且在英语方面具有天然优势,多年的英国殖民统治让印度国民平均英语水平比中国要高,这为承接欧美国家服务外包提供了重要条件。

3.超前理念

印度实行可持续发展的战略。印度人不提倡高层建筑、不大量使用塑料、不追求高能耗产业,任何发展绝不能以牺牲环境为代价。为保障可持续发展,印度人特别注重教育的公平原则,从小学、中学到大学,基本上做到了免费或低费。印度的英语、软件人才多,拥有400万科技人才。

二、江苏省服务外包业发展的现状

江苏省国际服务外包产业总体发展水平不高、实力不强、规模不大。据调查,江苏开展国际服务外包业务的企业约400多家,直接从业人员约4万多人,业务收入约5亿美元。离岸外包业务主要分布在技术、软件、工程技术生产设计、研发、人力资源管理、管理咨询、物流等领域,基本集中在南京、苏州、无锡、常州等地。江苏省现代服务业外包中还存在一些问题。

1.软件外包度不高

江苏省软件业国际化程度不高,其主要表现在:“自产自销”,即产品市场基本局限在国内,而且很大比重是在省内;“闭关自守”,即跨国企业不多,与国际软件界的交流、合作甚少;企业质量管理水平国际化程度不高,通过CMM(软件生产能力成熟度模型)认证的数量很少。这种状况与软件技术日新月异、软件产业国际化的特点极不相称。

2.物流外包水平低

江苏省现有提供物流服务的专业物流企业规模小档次低、服务内容少,不能形成完整的物流供应链,信息化水平较低,物流信息交换的渠道不够畅通;与山东省相比,企业物流进展不快,部分企业对现代物流理念的理解还存有偏差,仍保留着“大而全、小而全”的传统产供销经营模式,物流社会化程度较低。

3.外包市场软环境差

尽管江苏省经济建设和社会基础设施建设取得了长足的进步,但服务业市场地域分割、行政垄断等严重制约了现代生产业统一市场的建立;相关专业人才缺乏。

4.外包市场竞争力不强

江苏省现代服务业企业参与国际及国内服务外包实力不足、经验欠缺,市场竞争力不强。现代服务业企业数量有限,开展此项业务时间不长,业务规模小,承接外包业务的经验能力欠缺,对承接业务外包尚处于摸索阶段。

三、江苏省服务外包业发展的对策

1.学习印度服务外包经验

江苏省政府部门应借鉴印度发展服务外包的经验,结合本省服务外包发展情况,确定江苏省服务外包的发展方向。同时要以可持续发展作为根本战略,杜绝以牺牲生态环境换取服务外包的发展。

2.政策支持

对有广阔市场前景的支柱性企业,特别是能参与国际市场外包如大型软件业企业和物流企业,政府应注重发挥这些企业的市场导向作用和带动作用,在投融资上给予资金支持;针对中小企业融资难的问题,政府应该组织相关部门进行协调,缓解这些企业的资金流动性不足;对开展外包业务的企业,在税收优惠上给予支持。

3.进一步完善投资环境,充分承接外包

加强江苏省政府职能转变,增强服务意识,简化办事程序,提高办事效率:进一步精简行政审批事项,减少审批环节,通过贯彻实施《行政许可法》规范行政行为;要加强知识产权保护,进一步降低市场软件盗版率;加强诚信建设,培育良好的信用环境和市场经济秩序。要进一步加大信息化基础建设力度,重点提高Intemet服务质量,增大带宽,降低服务要价。

4.完善法制建设

对地方法制建设而言,一方面要切实贯彻执行国家制定的有关知识产权保护、合同执行等方面的法律法规,另一方面,对于当前开展外包业务急需的、而国家还缺乏相关法律法规的领域,在地方立法和国法不相抵触的前提下,可以先行制定有关规章制度,比如信息技术外包伙伴关系的规章制度,企业、外包服务商和企业员工之间劳动政策规章制度等。

5.加快服务人才的培养