1、基于 Domino 的 OA 合同管理系统毕业论文目 录1. 绪论11.1 课题背景及目的11.2 国内外研究现状11.3 研究内容及意义21.4 本文的组织结构22. Domino 系统的设计元素和语言平台 32.1 引言32.2 Domino/Notes 系统数据库的逻辑结构32.3 Domino/Notes 系统的设计元素42.3.1 文档(document)42.3.2 表单(form)42.3.3 视图(view)和文件夹(folder)62.3.4 大纲(outline)和导航器(navigator)72.3.5 帧结构集(frameset)82.3.6 页面(page)82.3.
2、7 域(field)82.4 Domino/Notes 系统开发语言简介102.4.1 公式语言(formula)102.4.2 LotusScript 语言103. Domino 系统的工作流技术143.1 基本概念143.2 工作流应用的总体架构163.3 工作流管理系统模型183.3.1 过程定义工具193.3.2 工作流执行服务203.3.3工作流客户应用213.3.4 工作流被调应用214. 大客户部合同管理系统的设计与实现234.1 体系结构234.2 拓扑结构244.3 安全策略244.4 维护策略254.5 功能结构254.6 流程设计264.7 界面设计284.7.1 电信
3、OA 系统主界面284.7.2 系统主表单设计284.7.3 操作按钮设计30总结32致 谢33参考文献34国内外研究现状 国际上对于办公自动化的研究己经有相当的历史。 20 世纪70 年代,Lotus 公司率先对办公自动化进行研究,并且在 80 年代初推出了自己的产品Notes。经过 20 多年的发展, Lotus Domino/Notes 平台己经发展成为办公自动化领域上的行业标准,目前的 Lotus Domino/Notes 最新软件版本是 7.0,同时 IBM LOTUS 公司根据企业、政府、服务性行业的不同需求,推出了一系列群件产品,如企业集成 LEI;企业协作基础平台 Domino
4、/Notes、Same time;企业内容管理平台 Domino.Doc、Domino. Workflow,企业知识门户 K-Station 等。目前,国际上的研究热点问题主要集中在以下几个方面:1.工作流技术的过程建模理论与建模方法:研究如何清晰、准确地表示实际应用中的过程,特别是研究如何以形式化的方法表示过程模型。52.工作流模型验证和模型仿真方法:研究从理论上如何验证所建立的过程模型不存在死锁问题,研究如何评价所建立的模型的性能和优化模型的方法。53.分布式环境下的资源协调和任务优化策略:研究大范围的分布式环境下,在资源和任务完成时间约束情况下,如何优化系统中任务执行的顺序和资源的分配方
5、法。54.过程模型和其他模型的集成方法:在办公自动化核心研究领域中,主要是对工作流模型研究,仅有过程模型是不够的,还需要有功能模型、信息模型、资源模型、组织模型、甚至是经济模型和决策模型等配合,它们的集成是对办公自动化的一个应用领域的全面描述。但是如何集成这些模型还没有良好的解决方法。5目前国内的办公自动化研究主要集中在企业应用平台的整合,各种应用系统的集成(包括WEB.DBMS 等应用系统),各种办公自动化软件产品的接口的设计;以及基于分布式架构的平台设计等。1.3 研究内容及意义 本次合同管理系统是由上海电信总公司提出,委托上海电信理想公司 OA 项目组开发的,系统最主要的功能在于体现预算
6、控制,为此,需要在审批业务流程中增加预算管理员审核环节,以此来缩短审批的处理时间,提高办公效率。此合同管理系统分为两大模块:总部合同管理和二级单位合同管理,其中总部合同管理分为 6 个子模块:大客户部、工程部、市场部、网络运行部、行政部、企业发展部,二级单位则为电信总公司旗下的所有基层单位和职能部门,我所负责开发的是总部合同管理的 6 个模块,由于此 6 个模块的核心内容都是相同的,不同点只是在于各个部门的流程不同、审批金额权限不同、表单界面不同,故本文只以大客户部为例,阐述功能模块的设计与实现。1.4 本文的组织结构 本文的其它章节如下: 第 2 章介绍了 Domino 系统的设计元素和语言
7、平台。 第 3 章描述了 Domino 系统的工作流技术。第 4 章详细阐述了大客户部合同管理的设计与实现。最后,总结全文,并表达我深深的谢意。2. Domino 系统的设计元素和语言平台2.1 引言Domino/Notes 系统作为办公自动化系统的开发平台,具有自身的特点。对其设计元素和所采用的面向对象的开发语言的了解,是使用和开发办公自动化系统软件的首要前提。本章就是对 Domino/Notes 系统开发平台作一个简要的介绍。2.3.1 文档(document)通常把 Domino/Notes 系统存储在计算机上的数据称为文档4。逻辑上,它是离散的唯一标识数据块,可以通过其他设计元素搜索、
8、组织和操纵。在显示上,其他的设计元素提供结构,而文档提供数据内容。文档本身由字段组成,字段是更小更简单的数据块。大多数字段是设计上去的,但 Domino/Notes 系统也保留一些自己使用的字段名,自动生成这些字段。如表 2-1 所示,Domino/Notes 系统的保留字段及其用途。2.3.2 表单(form)表单是 Domino/Notes 数据库的骨干,它是需要用户在规定的区域上填写信息,也就是说表单是用来录入和查询数据的4。表单和文档的区别就是:文档是保存用户录入的数据内容,而表单是用来把文档的内容显示出来的一种结构。表单包含以下的设计元素:1.文本:文本通常用于标注域,以便用户了解每
9、个域的用途。82.水平基准线:添加水平基准线以分开表单的不同部分,或者用以增强表单的可视性。3.表格:使用表格可以概括信息和使各个元素 (例如:域和图形) 按行或列排列。如果在表单中放置了表格,那么通过该表单创建的每个文档都将显示该表格。4.区段:区段是在表单中定义的可折叠和展开的区域。其中可以包括域、对象、布局区和文本。存取受控制的区段只允许特定的用户编辑区段中的域。5.图形:如果在表单任何位置放置了图形,则可以通过该表单创建的每个文档显示该图形。86.图像映射:图形映射是使用可编程热点增强的图形,当用户单击这些热点时,可以执行一些操作。在应用程序中通过把图像映射作为导航结构来使用。7.链接
10、:在表单中,可以添加到数据库、视图、特殊文档的链接,也可以添加打开 Internet 页面的 URL 链接。8. 自动功能:表单操作、按钮或热点会自动执行简单或复杂的任务。89.小程序:使用 Java 小程序在表单中包含小程序,例如:动画图标或独立的应用程序。依照系统论的观念,信息技术环境下的课堂教学要素包括物质性要素与社会性要素两大类。物质性要素是指教材、信息技术认知工具等物的要素;社会性要素是指人的要素,包括教员、其他学生等。经过火析这些要素之间相互作用,巧妙设计课堂互动教学环节,完成人与工具、技术与课程的深层整合,才干促进学生有意义地学习。 在信息技术环境下的课堂中,围绕学生有四类相互作
11、用方式(图 1):人机互动主要指学生与信息技术工具之间的相互作用;师生互动指教员与学生之间的交流互动;生生互动指学生与学生之间的交流协作、信息分享; 人书交互主要指学生与教材之间的交互。由于现行教材通常为静态媒体,因此这种交流往往是单向的。信息技术环境下的课堂教学应重点设计“人机互动” 、 “生生互动” 、 “师生互动”三个基本教学环节。 1.人机互动 信息技术环境下课堂学习活动的主体方式 信息技术对课堂教学的效果直接体如今技术如何运用上。以后,信息技术主要集中用于课本内容的多媒体出现,或许用于教员演示某种图像、图形的变化规律。这并非我们希望看到的课堂教学情境,只能算做是信息技术与课程的表层整
12、合。在这种方式下,信息技术作为资源工具、信息加工与知识建构工具、协作工具等的作用基本没有被充沛应用和发扬出来。 信息技术在课堂教学中运用的主体应该是学生。这一点定位必需明白。要充沛表现学生的课堂主体位置,让学生将入手操作与动脑思考 相结合,真正培育学生自主发现、深化探求的学习才干。计算机不只是一个信息输入系统,可以出现教学信息,而且是一个信息接纳与反应系统,能接纳学生输入的信息,并停止剖析、判别,启示学生去发现并处置效果。学生可以从计算机提供的反应中知道结果,并能从中取得支持与协助。 以数学课堂为例,教员可充沛应用人机互动方式创设教学情境,展开数学实验。在初中数学特殊 四边形性质课堂教学中,教
13、员创设一个效果情境,让学生应用几何画板课件静态实验观察校门的开关进程(图 2)。在观察进程中 ,教员给出三个效果: 电动门的网格和结点能组成哪些四边形?在开(关) 门进程中这些四边形是如何变化的?你还发现了什么图形?学生在入手操作的基础上纷繁提出了自己的发现:平行四边形、矩形、菱形、等腰梯形、直角梯形在这个课例中,教员经过出现给学生用几何画板模拟的生活场景,充沛展现了数学的美妙,可以使学生较为轻易地进入情境,激起探求效果的求知愿望。 2. 生生互动信息技术环境下课堂学习活动的必要补充 生生互动包括面对面交流、实时在线聊天、非实时论坛或博客交流等方式。在课堂教学中,生生互动采取的方式主要包括两两
14、交流、小组交流。两两交流对学生语文、英语等言语类学科的听说才干练习 是一种颇具实效性的方式,能让每一位学生都无时机参与到双向言语互动活动进程中。小组交流普通指三人以上停止的交流活动,普通采用小组讨论、分工协作等方式。生生互动是课堂教学不可缺少的一环,可以作为人机互动教学环节的有效补充。学生集体普通会构成对效果知识的初步建构,但往往不同集体之间看法上存在差异,因此能够发生不同结论或了解。生生互动就是促使差异成为一种资源,改动学生在传统课堂中旁观者、接受者的角色,提高学生的课堂参与度。经过两两交流或小组交流,集体之间补偿看法上的差异,完善对知识的了解。 例如,在正比例函数的教学中,教员引导学生做了
15、这样的数学实验活动,让学生应用几何画板展开三个层层递进的实验义务:一是用几何画板画出正比例函数的函数图像,观察归结其图像性质;二是用几何画板画出正比例函数的函数图像,观察归结其图像性质;三是用几何画板静态操作、归结的图像性质。应用几何画板展开的实验活动历时 15 分钟左右,学生们兴致高昂,纷繁取得了自己的发现。每次实验义务完成之后,教员均组织学生之间停止小组交流,分享发现的效果。在整个实验活动进程中,学生自主实验与协作交流相结合,分享体验。甚至有的学生在实验操作中发现了新的效果:当正比例函数系数k 的相对值趋于无量大时,图像离坐标原点越来越远,会不会最终变为一条直线呢?当 k 的相对值越来越小
16、时,图像会不会经过原点呢?学生们进一步应用几何画板自己给出了效果的解答。在实验操作进程中,学熟手脑结合,有了更多探求新知、思想开展的时机,发现并提出了新的效果规律。这在惯例教学中是没有的,连任课教员自己都没有想到学生会提出如此的效果。 在课堂之外,由于信息技术的介入,生生互动的时空可以进一步扩展。学生与学生之间的交流借助信息技术可由课内延伸到课外,可以经过一些实时在线的聊天工具如QQ、MSN 等方式停止课下交流,也可以经过 E-mail、BBS、Blog 等非实时技术手腕进一步沟通。互入手腕的丰厚使课外协作学习变得更为能够。 3. 师生互动信息技术环境下课堂学习活动的指点途径 师生互动是师生交
17、流信息、发扬教员主导作用的主要方式,表现为教员可以对学生停止相关的示范、启示、引导与指点等。由于课堂教学时间有限,教员难以做到在有限的 45 分钟内与每一位学生停止互动交流,只能与一般学生停止交流。师生互动普通用于启示、示范性的教学环节。课堂教学中师生互动时间不宜太长,应重点起到启示、示范、反应与纠错的作用。 一些信息技术手腕如Blog、E-mail、论坛等,完全可以作为课堂师生互动缺乏的补充 ,学生的一些效果或见地可以与教员课下远程交流。比如,有的教员创立了自己的教学博客,教员在博客上一方面把自己的教学阅历与体会记载上去,另一方面搭建了一个自己与全体学生课下沟通的网络平台,将学生的一些效果放
18、到网上,惹起学生进一步的讨论,大大增强了师生之间的互动性,提高了教学效果。 以下为人机互动、生生互动、师生互动三种互动教学环节的特点比拟。如表所示。 人机互动、生生互动、师生互动是信息技术环境下课堂教学进程中的三个基本环节。上述三个环节的落实,需求一定信息技术条件的支持,否则难以完成。假设三个环节无法落实,信息技术与课程整合也就只能停留在承载、美化教学内容的外表方式上。在信息化课堂教学中,经过巧妙运用以学生为中心的人机互动、生生互动、师生互动三个要害 教学活动环节,创立生动幽默的互动课堂,调动学生的积极性与发明性,完成学生真正自主的信息化学习。 摘要:本文探讨了我院编译技术可扩展式课程设计改革
19、中的编译技术与工程的关系、可扩展式课程设计改革指导思想与内容、实施方案和评价体系。关键词:编译技术;可扩展式课程设计;软件工程 编译技术是计算机及其相关专业一门重要的核心课程,是学习计算机软件的重要课程。从实际工作需要来看,仅靠教学计划安排的课内实验时间是不够的,课内的实验是侧重于对某一方面知识的学习,在解决实际问题时,可能涉及并运用多个方面的知识,具有较强的综合性,这就需要进行一些综合性的设计练习,来提高分析和解决实际应用问题的能力。为了帮助广大同学对编译过程有更好的掌握,提高运用编译技术和有关形式语言理论和方法解决实际问题的能力,需要对编译过程及涉及到的编译技术进行系统的实践训练。 编译技
20、术课程设计的目的是进一步培养学生编译器设计的思想,加深对编译技术和应用程序的理解,针对编译过程的重点和难点内容进行编程,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。 1 问题的提出 长期以来,许多学校在开设此课时,虽然开设了实验课及相应的课程设计,但只是对编译理论中的某些算法单纯地实现,缺少或根本没有实际背景,存在着以下问题: (1) 在现行的教材中,大部分都是从编译技术本身的角度来思考的,为的只是让学生掌握编译的基本理论与思想,学生易感觉太抽象; (2) 重理论轻实践,将语法技巧理论的讲解作为主要部分,与实际工程联系少,缺乏活力,学生易产生“学而无用”的思想; (3) 与实
21、际工程鸿沟大,学生易产生惧怕思想。 为了有效地解决这些问题,结合工程应用实际,我们提出了编译技术可扩展式课程设计的思路。 2 编译技术与工程的关系 第一个编译程序的出现是在 20 世纪 50 年代早期,多数早期的编译工作是将算术公式翻译成机器代码,奠定了对高级语言编译系统的研究和开发的基础。20 世纪 50 年代中期出现了 FORTRAN 等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发展和社会对编译程序需求的不断增长,20 世纪 50 年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词法规则、语法规则和语义解释出发,自动产生该语言的编
22、译程序。目前很多自动生成工具已广泛使用,如词法分析程序的生成系统 LEX,语法分析程序的生成系统YACC 等。20 世纪 60 年代起,不断有人使用自展技术来构造编译程序。自展的主要特征是用被编译的语言来书写该语言自身的编译程序。1971 年,PASCAL 的编译程序用自展技术生成后,其影响就越来越大12。编译技术与工程的关系如表 1 所示。 表 1 编译技术与工程的关系 随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转换成并行程序的自动并行编译技术也正在深入研究之中。另外嵌入式应用迅速增长的需求,推动了交叉编译技术的发展,还有系统芯片设计方法和关键 EDA 技术的研究,
23、也带动了专用语言 VHDL 等及其编译技术的不断深化。 3 可扩展式课程设计改革指导思想与内容 编译技术课程设计教学是工程类本科教学中的重要环节,具有很强的综合性和实践性,组织实施好课程设计教学,已成为教学改革的重要课题之一。与一般本科院校相比,我们应当更加注重技术层面的提升,培养学生具有更强的技术操作水平和解决实际问题的能力;和高职高专相比,又应该有更宽、更深一些的专业理论基础,以培养有较强的创新能力和实践能力,能适应实际工作需要的高级应用型人才。因此编译技术课程设计教学应充分考虑到社会对人才的全方位要求以及为学生未来的可持续发展奠定良好的基础3。 课程设计改革的重要特征之一就是面向社会,面
24、向市场,面向生产,编译技术课程设计要具有一定的实用性、可行性。编译技术课程设计题目的选择直接影响到学生完成的情况和教学效果,对提高学生的能力大有裨益。学生参与课程设计,首先就要开始参与课程设计的选题,以教师确定的指导为前提,强调学生在课程设计中的主体地位。让学生们明确自己是这个实践活动的主体,从领会课程设计的目的、任务,到理解课程设计的步骤、方法和注意事项,因此确定课程设计的题目必须让学生唱主角,消除学生们的依赖心理,发挥他们的主动性和创造性,学生通过查阅资料、调查等多途径接触社会实际提出题目,在教师的参与指导下结合课程理论进行可行性分析讨论,筛选出适合于课程设计的题目。这样的课题结合了社会实
25、际,考虑到学生的实际能力,结合了编译技术课程理论,结合了学生的兴趣,学生的积极性在课程设计中将获得的充分的激发和保护,既不会因课题枯燥无味而淡漠,也不会因难度较大而畏缩不前。编译技术可扩展式课程设计改革内容如表 2 所示。 编译技术可扩展式课程设计的特点是以编译技术理论与编译实验为基础,结合实际工程和科研的需要,由学生提出合乎自己实际能力的课程设计的课题,并尽力发挥其创造力,向工程方向扩展。 4 可扩展式课程设计施实方案 4.1 设计内容具有开创性和实用性 就设计内容而言,让学生们感到既有一定的难度,又有相当的兴趣,许多学生都是积极主动地探讨解决问题的途径,从而打破了以往学生总是为最后的成绩而
26、做实验的被动局面,具有十分重要的创新意义。在向学生布置任务时就有意识地将实际科研中需要完成的一些内容落实下去,使学生的工作成果得以充分的利用,就这一点来说,可以认为课程设计的内容具有较好的实用性。在时间上,依据可扩展式课程设计实际,专门时间为 1 个星期,之后根据设计扩展的情况,延长 23 个星期,甚至还可以之后扩展为毕业设计。 4.2 设计小组采取优化组合的方法 在设计前,将全班学生按平时主干课程的成绩分为上中下三个等级,然后每一个小组中三个人刚好可以按不同等级各分配一人,以成绩较好的学生为小组组长,负责小组内的工作,小组中每个人都可以按自己的设计思想完成同一任务,在最后整体连接时,可选择各
27、组中较好的程序。这样既保证了最后的程序质量,同时又使同学之间可以互相探讨,取长补短,效果较好。 4.3 选用合适的激励机制 为把编译技术课程设计做好,我们选用了以下激励机制:其一是合理的成绩分布,让真正做出了东西的人得到较高的成绩;其二是引入竞赛机制,对优秀者进行奖励;其三是以适当的资金进行资助,以达到其实用的目的。 5 可扩展式课程设计评价体系 编译技术可扩展式课程设计评价体系注重过程考核,通过过程的监控手段实现教学目标,原则上多种方式并举,如下所述。 5.1 形成式考核 与传统考核模式的区别在于:形成式考核的过程贯穿于整个教学过程;考核的形式是多样化的;考核的内容除知识点外,还包含学生学习
28、过程中的表现,学生完成课程任务过程中表现出来的分析与解决问题的能力等多方面,是对学生的全方位的考察,是一种更科学的评价体系。 5.2 答辩形式进行考核 实践的目的是培养学生综合应用所学知识解决问题的能力,因此考核的重点应该放在对学生把握问题、分析问题以及解决问题等诸多方面的能力上面。实践证明,通过答辩能充分反映学生的全面素质,同时,通过答辩过程中学生对问题的回答,也能较为准确与全面地了解学生对知识点的掌握情况。 5.3 软件系统评价方式进行考核 对于工程型课程,教学的目的是让学生最终能开发出一套能满足实际需要的、规范的软件系统,最好的考核方式就是评价学生所开发的软件系统。因为这类作品不是能在
29、12 小时内能完成的。这种考核方式可大大发挥学生的积极性和主动性。实践证明不少学生的软件系统几乎达到了实用产品的程度。我们要相信学生的创造力。 编译技术可扩展式课程设计结合以上几种方式对学生进行综合考核,从以知识考核为中心转向以能力考核为中心,以一纸报告为评价标准转变为以过程评价为标准。从整体设计结果来看,大部分学生的思维方式是多样化的,编程能力是可开发的,如果我们能充分调动他们的积极性,一定会使课程设计变得具有实际意义和可观的教学效果。 6 结束语 通过编译技术课程设计的实践,我们总结出的经验是:编译技术课程设计要具有可扩展性,向工程方向扩展,要尽量鼓励学生勇于探索新思想,注重培养每个学生的
30、理论联系实际的能力和独立工作的能力。经过教学实践证明,编译技术课程设计的改革是圆满成功的,是指导教师、实验室教师和学生共同努力的结果。只要认真研究,勇于创新,不断改进,就一定能够将编译技术课程的设计搞得更好。 参考文献 1 胡燕京,李彩霞,周子琛,罗海宁. 编译技术研究与逆向工程实践J. 现代电子技术 ,2007,(16):99-102. 2 张红霞,王宝库,陈郭成. 编译方法课程设计的改革实践J. 东北大学学报,2000,(2):117-118. The Extensible Curriculum Design Reform for Compiler Technology TANG Shi-
31、xi (YanCheng Normal UniversityInformation Science 仿真数据库管理模块数据库是与仿真紧密联系的一个部分,很多仿真数据的读入及保存都必须通过数据库进行。该模块在内核中保留了最基本但功能又非常强大的数据库处理能力,通过这个模块,可以处理海量的数据。当数据量大而导致内存不够时,这个模块会通过一套内置的虚拟内存系统将硬盘与物理内存进行动态交换,并且对大型场景进行动态加载。 该模块的另一作用是将各种插件式开发的.dll 功能增强模块作为一个数据库进行动态管理。这样如果用户或者软件研发者需要增加额外的系统功能,只需要编写一个.dll 插件,再在这个数据库系统
32、中进行一次注册,然后就会在下次系统启动时自动加载。 仿真算法模块 无论在数值仿真或者视觉仿真领域,都会面临着许多的仿真算法。这个模块提供了一些仿真领域中最常见或者使用频率最高的算法。用户不用重复编写常用算法,只需要调用几个现成的函数就能解决常见问题。 流体动力学粒子系统仿真模块 在军事或者其他常见领域的仿真中,粒子系统是种常见的现象,如轮船开动时的尾迹、飞机航行时的尾迹与烟雾等。在粒子系统仿真模块中,大量的粒子图元集合在一起,通过其属性的变化表现物体的物理特性,用以进行不规则物体的模拟。用户可以通过定义粒子的形状、大小、生存期、位置、速度、加速度、颜色、透明度等属性来实现对各种烟雾、火焰、闪光
33、等现象的模拟。如图 4 所示。 各类仿真特效模块 在自然界中存在着很多的自然现象,如下雨、下雪、水面的反射、有阳光或者灯光时的镜头光晕等等各种效果。该模块支持以上提到的各种特效,令仿真的效果栩栩如生。如图 5 所示。 网络仿真及网络通讯模块 该模块支持内部网与互联网方式发布演示。当互联网因带宽受限以及客户机配置未能达到基本要求时,可采用降低图形质量的方法进行传输。内部教学网络则可以不受限制,便于集中培训教学与虚拟实践。该模块还设置了分级权限使用,给不同身份的用户授予不同的权限,便于系统管理。 多通道视觉仿真模块 在一般的视景仿真系统中,通常采用单视觉通道来显示三维图形。单视觉通道只能显示一个视
34、野,而利用多通道视觉仿真系统就可以得到更广阔的视角效果,增强了“沉浸”感。 该模块提供了获取当前视角的函数,且支持水平和垂直视角自动匹配的功能。在视点位置、方向以及远近裁剪面的距离确定后,系统还可自动完成视景体的裁剪。 2.4VR 仿真内容发布系统模块 该模块可将仿真课件发布成独立的 exe 文件,且所有必需的库文件与资源均打包在内,用户可自行设计图形界面,便于分发与保密。打包后的可执行文件在运行时支持用户的交互式浏览,用户可以根据需要选择自动播放或单步操作,方便教学与虚拟装配。2.5OCX 控件二次开发包模块 交互式三维仿真课件的开发一直被认为是一项复杂的工作,因为涉及到 C 语言、Open
35、GL 、Direct3D 等基础开发工具的应用,这无疑降低了开发效率,延长了开发周期。因此这一模块引入了与各类开发平台挂接和无缝植入的快速虚拟现实开发工具 3DVR OCX,通过此可编程控件 OCX,用户可以轻松做出实用的仿真课件,极大地提高了开发工作的效率。如图 6 所示。 3 关键技术研究 3.1 场景图 内核采用场景图 SG(Scene Graph)结构,通过场景图把各场景及其属性组织成一棵场景树。场景图中的根结点表的是整个三维场景,子结点表示场景中每个对象的位置信息、动画设置以及逻辑关系等属性,叶子结点则代表物理对象本身、可拉伸的几何模型和材质属性。 采用这种树状组织结构可以大大缩减剔
36、除的执行时间。当父结点对象被遮挡或处于观察区域以外时,父结点就被设置为不可见,位于父结点以下的所有子结点对象也都是不可见的,这样就无需再比较子结点对象的空间边界,避免了重复执行对多个对象物体的剔除处理,从而加快了场景渲染的速度。例如,要剔除一座大楼时,只需计算这座大楼的空间边界是否在观察区域内,而大楼的门、窗等对象因为属于大楼对象的子结点,就无需再判断其空间边界,从而缩短了剔除的执行时间。此外,场景图结构还使得动画设置变得更加灵活。当我们要对一辆汽车设置平移动画时,只需对汽车这个结点设置移动的相关参数,处于子结点位置的车轮、车门等对象就无需再进行重复设置。如果用户只要求车轮做旋转动画或者车门做
37、开门动画时,只要查找到对应结点,设置动画参数即可。由此可见,对于一个包含有多个对象的三维场景,这种树状结构有效地简化了动画设置的操作过程。 场景图结构中还集中了对各个对象的状态管理。场景图中的每个对象都有一个指向状态集的指针,这个状态集中包含了颜色、纹理、灯光、透明度等信息。对处在同一层的对象,首先归纳出它们的相似状态,并设置状态指针指向同一个状态集。例如,图 7 中坦克的炮塔和基座同处在场景图的第二层,所以状态都设置为迷彩色。这种状态管理方式可以简化状态设置的过程。当对象状态发生改变时,我们只需先按照广度优先的顺序遍历场景树,查找到对象后,将状态集中的属性进行一次更改,则同层的所有对象状态都
38、会发生改变。当场景中的图形对象达到成百上千时,这种状态管理方式的优势就会更加明显。 3.2OpenGL 着色语言 内置了对 GLSL(OpenGL Shading Language,OpenGL 着色语言)的支持,突破了 OpenGL 传统渲染模型的固定功能性。用户可以自定义渲染管线的处理过程,实现顶点着色和片断着色,从而绘制出更丰富的纹理,模拟更真实的自然景象。同时该技术是直接对显卡编程,源代码在 OpenGL 内部编译,不占用 CPU 资源,因此在处理三维图形的实时渲染方面显示了强大的优势。 具体的实现过程是,当处理图形渲染任务时,首先调用 OpenGL的一个 API 函数 glCreat
39、eShader 来创建着色器(shader),同时在 OpenGL 的驱动程序中为着色器分配数据结构。着色器通过获取当前 OpenGL 中的状态信息(如位置、颜色、法线等)进行投影变换、坐标转换、颜色计算等操作,然后调用 glShaderSource 命令将着色器代码传递给 OpenGL 驱动程序,用 glCompileShader 命令将代码编译成机器语言,并以二进制文件的格式传递给显示硬件。该方法不依赖显示硬件的汇编语言接口,突破了图形硬件在汇编语言接口上的诸多限物联网运用系列之 7 “平房里,几个穿着白大褂的人,正在给血奴们抽血,每人 400 毫升。白大褂一言不发,捋起你的衣服,用橡胶带
40、绑着你的上臂,在你手背上打几下,遭到抚慰而显得激动的血管就会凸现出来,一针扎出来,黑色色的血液就切肤之痛地流出来,流进一个塑料包里。 ”暗访十年这本书中描写的这段血奴卖血场景,让人看得惊心动魄,谁来保证血液的平安,怎样才干追溯血液的来源? 这不是一个无解的效果,实践上,经过 RFID 跟踪血样曾经成为物联网的一个运用范围。例如,北京市往年的“感知北京”示范工程中,有一个就是对采供血机构的血液自动识别、跟踪、管理。献血者的血样将会被贴上带有 RFID 射频识别的电子标签,从献血到最后的运用都会被全程跟踪管理。 那么,详细到处置方案上,存在哪些难点,包括哪些技术架构呢?让我们来看看下面这篇文章吧。
41、 目前我国大少数血站都应用身份证来识别献血者和输血者的身份,用条形码来标识血液成份和相关信息。在管理系统上,很多血站已采用计算机联网、数据共享的方式,用数据库技术来管理血液信息。 血液管理遇难题 血液管理和跟踪已成为以后血站和医院的热点话题,但血液管理系统也逐渐暴显露了一些技术缺陷。 1.数据库效果。现有系统过火依赖数据库,但是数据库的动摇性和平安性往往达不到要求。而且,数据库内的信息大多需求人工输入,任务烦琐、出错率高。 2.条形码效果。条形码在血站、医院失掉了少量的运用,但是条形码的信息存储量十分少,要完成对血液运用流程的管理和跟踪,能够要用十多枚条码,而将这些散布在各环节的条码关联归结为
42、一个数据体,其集成代价不小。此外,条形码的牢靠性也不尽善尽美,遭到湿润或摩擦时,条形码可读性降低,甚至会惹起数据丧失。 3.数据容量效果。有些系统在尝试采用人像摄影技术来区分团体身份,但是这种技术设备造价高,人像数据存储空间大,比对识别的效率也不高。 4.可追溯效果。血液采集、存储、运输进程的质量没有失掉监控,血液的来源难以考证,因此保证不了用血平安。 本文依据 RFID 公共效劳体系实际,将 RFID 技术运用于血液管理和跟踪,研讨开发了一套基于RFID 的血液管理系统,目的是跟踪血液在采血点、血库调动点及血液运用点的信息,保证对血液的活动进程停止全程跟踪。 RFID 上阵 应用RFID 技
43、术的优势,可以树立一个能确保合理采血、平安用血和迷信管血的血液管理系统。出于对我国输血范围的状况、技术、资金等方面的思索,我们的设计思绪是:在现有常用的“条形码+分散数据库”基础上引入电子标签 RFID 技术,开发采血点、血站和供血医院的散布式的数据库,将新开发的 RFID 运用与现有系统集成,完成对血液信息及运用流程的跟踪记载。在此基础上树立 RFID 血液管理运用规范,依据规范开收回国度级的血液跟踪管理系统,逐渐将全国分散的血液管理系统归入到一致的框架中。 在采血后,每袋血被贴上 RFID 标签,这个标签中包括一个 RFID 编码,用来独一标识血液,可以经过这个 RFID 编码来查询血液的
44、详细信息。任务人员将每袋血经过配有天线的读写器,经过中间件的处置,RFID 标签内包括的编码就被自动读出,然后采集到的血液信息被存入到数据库中,同时系统将 RFID 编码与血库地址注册到本地编码解析效劳器中,并将本地编码解析效劳器和 RFID编码注册到根编码解析效劳器中,每个血库的数据库都要记载来源血库的地址和出库血库的地址。 经过读写器读出的 RFID 编码首先到根编码解析效劳器中找到本地编码解析效劳器,再到本地编码解析效劳器中查找注册的 IP 地址,并获取该地址中寄存的相关的血液信息,再经过血库中记载的血液出库地址顺序找到其他地址信息,以此类推,直到找到的地址中没有记载血液出库地址,此时说
45、明血液已被运用或许报损,然后再找到血液运用者的全部信息,到此血液信息跟踪完成。 血液追踪 采用RFID 技术停止血液管理,献血者注销、体检、抽血后,在每一袋合格的血液上都被贴上RFID 标签,自此血液跟踪末尾,无论这袋血是在血库的库房,还是被其他血库调入、调出,还是被医院运用都一直跟随着独一的标识 RFID 标签。 系统完成以下主要功用: 1.采集血液:在每一袋合格血液的外包装上都贴上电子标签,这样每一袋血都有一个独一的RFID 编码。同时将血液基本信息( 如血型、RH 值、采血量、采血时间等信息)和献血者基本信息(如姓名、身份证号、性别等信息 )存入采血点数据库中 ;并将采血地址和 RFID
46、 编码注册到公共效劳体系的根编码解析效劳器数据库中。 2.血液入库:将血液信息存入数据库中做备份,同时记载血液的入库时间、库存中的位置和入库任务人员。 3.血液出库:记载血液出库信息,可以是血液报废、血液报损或血液运用,也可以是血液分配到其他的血库。系统记载血液出库的地址、出库时间和血液出库任务人员。 4.血液运用:将血液运用者的信息和运用时间存入数据库 ,此时假设没有记载血液的出库地址,则标明血液曾经被运用。 5.库存管理: 对寄存在库房的血液停止管理,主要包括库存清点,查询血液在库房中的位置,经过读写器扫描完成到期血液自动报警。 6.血液信息跟踪:从读写器读出 RFID 编码, 依据 RF
47、ID 编码到根编码解析效劳器数据库查询注册的地址,然后依据这个地址找到血液存入的信息,再依据出库的地址顺序找到其他地址的信息,从而跟踪出血液的全程活动信息。 7.血站监测: 对整个公共效劳体系中的血站效劳器停止监测,实时监测各个血站效劳器能否正常在线,假设没有在线可以通知其重新启动,以便使失效节点迅速恢复,对血液的信息跟踪不会发生断链现象。 8.查询血液:对特殊血型的血液在整个公共效劳体系中停止查询,并将其所在的血站显示出来,以便及时地调用血液,尤其是快速找到稀有血型的血液。 血站管理 首先是血站注册,拟参与公共效劳体系的血站提出央求,央求经事先分配一个独一的血站编码,每个血站内部再针对自己的
48、血液类别编码,同时将血站的信息效劳地址和检索与备份效劳地址一同注册到本地编码解析效劳中,并将血站编码和对应的本地编码解析效劳注册到根编码解析效劳中。 在信息查找时,每个检索与备份效劳担任自己管理范围内的 RFID 编码,活期地去执行检索义务,将跟踪信息备份在数据库中。要想查找每袋血的跟踪信息,只需找到血袋上 RFID 标签对应的检索与备份效劳就可以了。 顺序模型 这是一个基于 RFID 的血液管理系统原型,系统以 C#.NET 为开发平台,数据库采用 SQL Server。此原型系统共设 5 个点,区分是根编码解析效劳器、本地编码解析效劳器、采血点、调动点血库、运用点医院。5 个点区分设置在
49、5 台机器上,可实如今局域网上查询跟踪血液信息的功用,在给定一个正确的血液 RFID 编码后,就会依照系统设计思绪将这袋血活动各点的信息跟踪出来,验证了 RFID 公共效劳体系的思想。 1.采血点管理 翻开读写器扫描到血袋上的 RFID 标签,采集到 RFID 编码血液的独一标识,将血液信息录入保管到采血点数据库中。同时统计出采血点昔日采血数量,点击“显示”可以检查每袋血的详细信息。2.入库管理 此局部表现了 RFID 技术的优越性,实行批量入库,翻开读写器后,推车中的血液经过读写器采集范围时,读写器会将血液标签区分扫描出来,录入人员经过确认后存储在数据库中,提高了录入的效率。假设有一般血液标签没有被扫描出来,系统也存在弥补方法,点击“手工录入”可以独自录入血液信息。 3.库存管理 首先统计现有库存各种类型血液的数量,还可以检查概略,关于失效的超越有效期的血液会突出以白色显示。还可以按昔日入库、昔日出库类别