面向应用论文

2024-08-14

面向应用论文(通用12篇)

面向应用论文 篇1

云计算、虚拟化等技术的发展,给传统的网络提出了新的挑战。首先,虚拟化技术的应用,使得用户访问应用的效率不再取决于单个网络设备的性能,管理员们能更关注于整个网络所能提供的性能。虚拟化技术所带来的设备、业务的灵活迁移和变更,使网络部署、变更的自动化需求日趋明显。同时,云计算网络的大量部署,网络规模越来越大,网络管理和运维难度也越来越大。要应对这些变化,IT业者需要重新考虑网络设计思路,从传统的面向连接的网络设计,向面向应用、业务进行转变。

另一方面,IT技术人员也在对新的网络技术进行研究,为了更好地满足业务的灵活交付,降低IT系统的复杂度,提高网络性能、灵活性和可管理性.SDN(SoftwareDefinedNetwork,软件定义网络)等技术也在逐步成为新的热点。

一VAN虚拟应用网络

基于虚拟化、自动化、SDN等一系列热点技术,H3C推出VAN (Virtual Application Network,虚拟应用网络)解决方案,将基础网络资源变为动态基础资源,提升网络资源利用效率,使得网络交付和变更更敏捷,网络与计算、存储一起,更有效地支撑新一代互联网的发展。VAN解决方案是一系列新的网络技术和应用的解决方案总和(如图1所示),其突出的内涵表现在以下三个方面。

●虚拟化。基于虚拟设备、虚拟通道、虚拟服务三个层面的虚拟化技术,将网络资源“池化”,变物理的网络设备为虚拟的网络资源池;

●自动化。基于虚拟化的网络资源,通过自动化编排技术,实现网络业务快速部署和变更,通过自动化管理技术,实现大型网络的高效管理;

●SDN软件定义网络。通过SDN技术,实现网络设备的集中控制,并通过基于SDN技术的开放API,实现与上层应用的对接和按需定制。

二VAN解决方案关键技术要素

要素一:虚拟化

当前,虚拟化技术已经成为提高利用效率、提升集群性能、降低总体拥有成本、增强系统灵活性的重要手段。在服务器虚拟化,桌面虚拟化成为IT技术革新和应用部署热点的同时,网络虚拟化也带来了网络系统架构的变革。网络设备的虚拟化架构主要有两种模式(如图2所示)。

一种是将多个物理网络设备虚拟为一个逻辑网络设备,即N:1虚拟化(多虚一整合);除了传统的N:1横向虚拟化IRF技术,基于H3C ComwareV7操作系统,还可以实现设备的N:1纵向虚拟化,典型技术是VCF技术(VerticalConvergedFramework纵向融合架构),在纵向维度上实现设备的虚拟化,把一台低成本的盒式设备作为一块远程接口板加入主设备系统,以达到扩展I/O端口能力和集中控制管理的目的,满足数据中心高密接入和简化管理的需求。

另一种是将一个物理网络设备虚拟为多个逻辑网络设备,即1:N虚拟化(一虚多划分),典型技术是MDC(MultitenantDeviceContext,多租户设备环境)。通过MDC技术,一台物理交换机在软件上虚拟化成多台逻辑交换机,虚拟化出来的逻辑交换机简称MDC。

上述两种模式都是通过网络操作系统层面的虚拟化,抽象网络资源,实现网络设备的整合或划分。

除了设备的虚拟化,在通道虚拟化方面,基于VEPA、TRILL,SPB、EVI等一系列隧道/连接技术,使得网络的连接变为可以灵活调动、分配的通道资源(如图3所示)。*(注:具体技术介绍请参见本刊2012年6月期(总第132

期)笔者文章)

通过设备和通道的虚拟化技术,整个网络变成网络资源池,在资源层面具备了基于业务调度的基础,从而能够为业务应用分配差异化的网络通道,更好地满足上层应用。

要素二:自动化

有调查显示,当IT从业人员被问及他们在系统管理面临的最大的挑战时,近一半的受访者提到了“如何通过自动化技术,提供使最终用户满意的网络服务”。看似最为基本的要求反而成为最大的难题,说明网络在自动化管理方面的能力亟待提高。从网络自动化的需求来看,可以分为“自动化业务管理”和“自动化业务编排”两个方面。

●自动化业务管理

IT运维人员在日常工作中,经常面临大量的重复性工作,而由过去的手工执行转为自动化操作,就可以减少乃至消除运维中的延迟,实现“零延时”的IT运维。

以互联网行业为例,当数据中心网络发展到一定规模时,传统的管理手段(如SNMP)在效率和方便性方面便凸显不足,因此目前大型数据中心开始应用基于XML格式的NETCONF技术。NETCONF是IETF制定的网络管理协议(参见RFC4741),它允许查询设备的运行数据以及查询修改设备的配置数据。要使用NETCONF,设备可以发布一套完整的编程接口(API),管理客户端使用这套API即可实现对网络设备的管理,使开放编程成为现实。

同时,关于广域网、园区网海量设备的自动化管理,也不断涌现出大量新的技术,例如Zero-Configuration零配置解决方案,利用TR069协议,实现对海量设备的批量管理和集中运维。(注:TR069协议全称为“CPE广域网管理协议”。基于HTTP (HTTPS)协议实现,提供了对下一代网络中的网络设备进行管理配置的通用框架和协议,用于从网络侧对网关、路由器、交换机等设备进行远程集中管理。)

●自动化业务编排(Orchestration)

利用服务模型的建立与编排,IT部门可以真正快速便捷地实现服务建立与部署,通过评估模型的建立与配置,服务使用者可以直观快捷地实现对服务的综合评价与监控。由此,IT管理员将彻底从服务建立,调整、扩容等繁杂的配置工作任务中解脱出来,将主要精力投入到为客户提供高效率、高质量、高保障的服务中,使得运维管理的效率得到实实在在的提升。

要素三:SDN软件定义网络

SDN是目前网络行业最热门的话题,国际著名咨询公司Gartner在最新的报告中将SDN列为未来5年IT领域的十大关键技术之一。

软件定义网络(Software Defined Network,SDN),是由美国斯坦福大学cleanslate研究组提出的一种新型网络创新架构,其核心思想是通过将网络设备控制平面与数据平面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。

作为一种新兴的网络架构(如图4所示).SDN软件定义网络强调两方面的能力。

(1)控制转发分离

传统网络设备紧耦合的网络架构.被分拆成控制和转发两个平面。同时,在控制平面,增加集中控制器进行整体调度,将命令和逻辑发送回硬件(路由器或交换机)的数据转发平面。

(2)开放API及软件定义

即通过基于SDN技术的对外开放的API进行软件编程,实现整个网络集中的管理能力.而不需要在每个路由器或交换机上分别以设备为中心进行管理。

在VAN虚拟应用网络解决方案中.H3C将会逐步交付一个丰富的SDN产品与解决方案。如图5所示,H3C SDN当前提供三大方案:基于Controller/Agent的SDN整体解决方案、基于OpenAPI的网络平台开放接口、基于OAA的自定义网络平台。基于上述解决方案,H3C构建出一套标准化、深度开放、融合客户应用的SDN解决方案。

三VAN解决方案核心平台

从另外一个角度看,VAN解决方案的技术支撑主要来源于H3C两个软件平台,如图6所示。

1.Comware

作为网络基础设施的虚拟化平台,由仅提供传统基础互联功能向”虚拟网络操作系统”转变,提供虚拟化(虚拟设备、虚拟通道、虚拟服务)系列方案的技术支撑,同时,在SDN领域,提供SDN关键技术支撑和开放API。

2.iMC智能管理中心

网络的自动化管理和运维一直是业界的热点,iMC智能管理中心作为网络基础设施的控制平台,在聚焦于IT资源、用户、业务的管理和运维的基础上,提供网络的自动化管理和运维方案,同时,提供SDN控制平台和面向业务的API。

四结束语

透过现象看本质,作为IT业务的重要承载者,IP网络的使命在于如何更高效、更快捷、更开放地对IT业务进行支撑。虚拟化、自动化、SDN三方面的技术创新,正顺应了新一代互联网发展趋势,推动了从“面向连接”向“面向应用”的演进。

首先,通过全面的虚拟化技术,实现从设备到通道乃至服务的全面虚拟化,使网络资源利用更高效;其次,基于自动化的业务管理和编排技术,变传统的手工、单点业务配置为自动、批量的业务部署,网络交付和变更更敏捷;最后,SDN软件定义网络技术,为网络架构和接口开放提供了新的思路,将网络与应用的距离进一步拉近。

就像奥林匹克的格言:更高、更快、更强一样,更高效、更敏捷、更开放将是IP网络持续追求的目标。

面向应用论文 篇2

高职数学面向专业应用的教学探索与实践

随着职业教育改革的不断深化,在高职数学教学改革中,如何把数学与专业需求结合起来,大力推进高职数学与专生课的衔接,这是本文进行探索的问题.同时,作者在教学实最中做了一些尝试,建立适合专业需求的.数学课程体系;采用专业案例驱动教学、数学软件教学等方法,强化数学为专生课服务的功能.

作 者:胡秀平魏俊领 作者单位:河北交通职业技术学院,石家庄,050091刊 名:中国科教创新导刊英文刊名:CHINA EDUCATION INNOVATION HERALD年,卷(期):2009“”(7)分类号:G642.0关键词:高职数学 服务专业 案倒教学 数学软件教学

面向对象的软件工程应用研究 篇3

【关键词】软件工程;面向对象;软件开发

1.软件工程的定义

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术、方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方面结合起来,经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程运用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制造规范、评估成本及确定权衡,管理科学用于计划、资源质量、成本等管理。

2.软件工程方法的流程

2.1软件计划

在设计任务确立前,首先要进行调研和可行性研究,理解工作范围和所花费的代价,然后做出软件计划。

2.2软件需求分析

对用户要求进行具体分析,确定用户要求软件系统做什么,并用软件需求规格说明书表达出来,作为用户和软件人员之间共同的约定。

2.3软件设计

根据需求说明建立软件系统的“结构”,包括数据结构和模块结构。这部分又分为总体设计和详细设计两个阶段。

2.4软件编码

按软件设计的要求为每个模块编写程序。

2.5软件测试

发现和排除程序中留存的错误,经过测试排错,得到可交付运行的软件。软件测试又分为单元测试和综合测试两个阶段。

2.6软件维护

经过测试的软件仍然可能有错,另外,用户的需求和系统的操作环境也可能发生变化,因此,交付运行的软件仍然需要继续排错、修改和扩充,这就是软件的维护。

3.面向对象的软件工程方法

3.1面向对象的软件工程方法的定义

面向对象技术(OO)是一个非常实用而强有力的开发方法。它是为了提高软件系统的稳定性、可修改性和可重用性创造出来的一种软件工具,具有方法的唯一性、高度连续性等特性,并把面向对象分析、面向对象设计和面向对象编程集成到软件生存周期的相应阶段。

面向对象的软件工程(OOSE)自上至下、自始至终地贯彻面向对象思路,可以用于系统分析、系统设计、程序设计,也可以用于其他环境的开发,如数据结构设计、数据库设计等。

3.2面向对象的软件工程方法的特征和要点

面向对象软件工程方法的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的空间(也称为求解域)在结构上尽可能一致,因此,面向对象方法有以下的基本特征:

(1)封装性:对象是数据和有关操作的封装体。

(2)继承性和类比性:在对象继承结构上,下层对象继承上层对象的特征属性和操作。不同的对象具有某些相同的属性时,常常把它们归并成一类。

(3)动态连接性:对象和对象之间所具有的一种统一、方便、动态地连接和传递消息的能力与机制。动态连接性便于在概念上体现并行和分布式结构。

(4)易维护性:任何一个对象都是把如何实现对本对象功能的细节隐藏在该对象的内部,这就增强了对象和整个系统的易维护性。

概括地说,面向对象方法具有下述四个要点:

(1)把对象作为融合了数据及在数据上的操作行为的统一的软件构件。面向对象程序是由对象组成的,程序中任何元素都是对象,复杂对象由比较简单的对象组合而成。

(2)把所有对象都划分成类。每个类都定义了一组数据和一组操作,类是对具有相同数据和相同操作的一组相似对象的定义。数据用于表示对象的静态属性,是对象的状态信息,而施加于数据上的操作用于实现对象的动态行为。

(3)按照父类(或称基类)与子类(或称派生类)的关系,把若干个相关类组成一个层次结构的系统(也称类等级)。在类等级中,下层派生类自动拥有上层基类中定义的数据和操作,这种现象称为继承。

(4)对象彼此之间仅能通过发送消息互相联系。对象与传统数据有本质的区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须向它发消息,请求它执行它的某个操作以处理它的数据,而不是从外界直接对它的数据进行处理。

3.3面向对象建模

为了更好地理解问题,人们常常采用建立问题模型的方法。通常,模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。更进一步讲,模型是一种思考工具,利用这种工具可以把知识规范地表示出来。

用面向对象方法开发软件,通常需要建立三种形式的模型,它们分别是描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型、这三种模型都涉及数据,控制和操作等共同的概念,只不过每种模型描述的侧重点不同。这三种模型从三个不同但又密切相关的角度模拟目标系统,它们各自从不同侧面反映了系统的实质性内容,综合起来则全面地反映了对目标系统的需求。

3.4面向对象软件开发方法的几个阶段

实际上,用面向对象方法开发软件时,阶段的划分是十分模糊的,通常在分析、设计、实现等阶段间多次迭代。

(1)面向對象分析。面向对象分析(通常缩写为OOA),就是抽取和整理用户需求并建立问题域精确模型的过程。面向对象分析的关键,是识别出问题域内的对象,并分析它们相互间的关系,最终建立起问题域的简洁、精确、可理解的正确模型。在面向对象分析中,主要由对象模型、动态模型和功能模型组成。在用面向对象观点建立起的三种模型中,对象模型是最基本、最重要、最内核的。

(2)面向对象设计。从面向对象分析到面向对象设计(通常缩写为OOD)是一个逐渐扩充的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。面向对象设计可再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现服务的算法。

(3)面向对象实现。面向对象实现主要包括两项工作:

第一项工作是把面向对象设计结果,翻译成用某种程序设计语言书写的面向对象程序(通常此阶段缩写为OOP);第二项工作是测试并调试面向对象的程序。面向对象程序的质量基本上由面向对象设计的质量决定,但是,所采用的程序设计语言的特点和程序设计风格也将对程序的可靠性、可重用性和可维护性产生深远的影响。

综上所述,面向对象软件工程方法可概括为如下的过程:分析用户需求,从问题中抽取对象模型;将模型细化,设计类,包括类的属性和类间相互关系,同时考察是否有可以直接引用的已有类或部件,选定一种面向对象的编程语言,具体编码实现上一阶段的设计,并在开发过程中引入测试,完善整个解决方案。■

【参考文献】

[1]钮海燕. 大连:引智趋动软件产业国际化[J]. 中国经济快讯, 2001, (42) .

[2]学术文摘[J]. 西北大学学报:自然科学版,1989, (04).

[3]郭彦坤. 用软件工程方法规范应用软件的管理[J]. 中国金融电脑, 1998, (02).

[4]梁宁利. 利用软件工程基本原理对一个电子信息发布管理平台设计[J]. 科技经济市场, 2007, (10) .

[5]傅智杰.基于构件的软件开发方法在银行业中的应用[J].中国金融电脑, 2006,(01).

[6]崔启亮. 软件国际化与本地化管理[J]. 软件世界, 2006, (23).

[7]刘欣苗. 软件工程方法在MIS开发中的运用[J]. 科技创新导报, 2008, (27) .

[8]吴立明. 面向对象的机械CAD软件工程方法探析[J]. 科技创新导报, 2009, (24) .

面向移动应用优化技术研究 篇4

1 ASO的发展现状

根据移动数据分析机构Flurry的调查结果显示, 目前i Phone和i Pad应用总数超过50万个, Android应用30多万, 其他平台的应用数千个, 平均每个手机用户安装应用65个, 少量用户安装的应用甚至高达数百个。对目前数量众多的app来说, 并不是简单地用一款好应用和新闻稿就能获得好的宣传效果, 所以各种app营销方法变得重要, 有必要关注ASO。

2 App Store的搜索规则

从用户输入关键词到最后下载安装激活, 一般用户的操作步骤如下: (1) 输入搜索关键词; (2) app展现; (3) 点击app详情页面; (4) 下载安装。因此了解App Store的搜索规则对于ASO优化是很有必要的。

App Store的搜索规则, 一是影响App Store总榜排名的相关因素, 二是影响App Store搜索排名的相关因素。

1) 影响App Store总榜排名的相关因素:单位时间内的下载量, 评论数, 评论星级, 刷榜权重, 热词搜索覆盖度等。

一般查看总榜的影响因素或总榜的免费、付费软件排名等情况, 目前国内能参考的数据基本上没有, 但可以通过一些专门做ASO搜索推广应用的企业, 如应用雷达, 其网站的数据准确性还是可以的, 应用雷达推出App Store搜索热词排名, 排名第一的软件, 权重, 总软件数等, 其参考价值极大。

2) 影响App Store搜索排名的相关因素:按照权重从大到小依次是应用名 (App name) →关键词 (Keywords) →应用描述 (Description) →评价 (Evaluation) →版权信息 (Copyright) 。

3 ASO主要的影响因素

通过上面的App Store搜索规则分析, 在目前的ASO优化研究分析上, 影响ASO优化的主要因素有以下九个方面[5]。

(1) 应用名称; (2) 应用的关键字或者标签; (3) 应用的描述; (4) 应用的Icons; (5) 应用的截图及视频; (6) 用户评级; (7) 应用安装量; (8) 用户的活跃度; (9) 社会化分享的数据。

4 如何进行ASO优化

根据以上影响ASO优化的主要因素, ASO优化主要可从下面几个方面入手:

(1) 搜索优化:搜索优化包括展现优化和排序优化, 展现优化主要是应用名、关键词优化;排序优化主要是历史下载和当前下载量优化。

(2) 榜单优化:主要是合作冲量, 限免冲量, 刷榜冲量等。

(3) 转化率优化:主要包括图标, 视频, 描述, 评价等优化。

4.1 关键词的优化

Keywords是应用相关的关键字搜索优化, 是开发者必须优化的一个内容。关键字搜索优化可以优化多关键字, 但是限制了长度, 必须在100字节以内。对于APP关键字的优化, 首先需要仔细审视应用市场, 键入相关关键词, 然后仔细观察搜索的结果。

对于App Store平台来说, 当用户输入关键词的时候, App Store先把用户搜索的关键词按照字符来进行拆分, 只要应用的标题和关键词涵盖有这个分词的时候, 就有可能会被搜索出来。例如苹果分词只拆分了用户输入的前面十多个字符, 即当用户搜索的关键词太多的时候, 苹果也只是拆分前面十多个字符进行应用配对展现, 后面出现的字符对应的应用, 苹果就不展现了。

因此在进行优化时, 首先得知道你需要对哪些关键词进行优化?第一、用应用内容相关并且搜索量大的关键词。在筛选出尽量多的, 与应用内容相关并且搜索量大的关键词优化到应用里面, 让有效关键词越多越好, 这样展现的机会越大。当然筛选出来的关键词应该保证每个句子都不显得冗余, 并且不要让用户过于明显的意识到这是在堆砌关键词, 根据经验最好平均每个句子中出现一个关键词。

第二、去重:去掉前面关键词里面包含的汉字, 例如“愤怒的小鸟”、“小鸟”, 就可以去掉小鸟最后的“鸟”字, 当用户搜索小小鸟的时候, 你的应用还是有机会展现的;

第三、把筛选出来的关键词直接填进去提交。

4.2 排序优化

排序优化, 包括榜单优化, 主要是ASO维持推广优化, 并关注下载量变化:包括历史下载和当前下载量;即进行优化前和优化后对比, 最好是投放前不推广时期的量和只做ASO后的量前后对比 (时间越长应该越明显) , 如果优化期间照常推广, 那么优化前后app的排名曲线波动变化可以作为参考指标, 可以借助相应的历史排名对比工具, 一般波动越小, 效果越好, 这也是ASO维持推广效果的作用。比如在关注合作冲量, 限免冲量, 刷榜冲量等, 可运用的推广方式有:

(1) 微博推广;

(2) 微信推广和微信朋友圈推广;

(3) 安卓应用市场推广。

4.3 应用描述的优化

应用的描述不同于放置关键词的是:应用程序的完整描述应当让用户尽快的了解某一应用的功能和用途。如果用户在看完描述的前三行并且对之感兴趣的话, 接下来会点击“查看更多”按钮去阅读完整说明文档或者至少再读三行。这也就是为什么前三行描述要尽可能的对用户具有吸引力并且激发他们对应用程序的需求。

所以有关描述部分的总结是:让它具备强可读性, 保证第一句话具有很强的吸引力并且让前三行文字尽可能充分的描述你所开发的应用, 并告诉人们为什么需要安装它。

在应用描述中可以优化图像, 包括广告图片, 屏幕截图, 图标等优化。

广告图片是在Android Market上展示在你APP截图和描述上方的一个大图。如果想获得特别关注, 就需要此图片。一般广告图片的大小是1024×500像素, 所以有充足的空间来展示想展示的东西。广告图片要用合适的字体, 图片中也不要写太多文字, 因为它会按比例缩小成不同尺寸, 要保证图像缩小也不影响观看, 一般建议文字写APP名称或APP宣传的简单口号。同时建议使用黑色和白色以外的颜色作为底色, 整体要与官方框架风格协调, 另外图片中不要重复内容。

屏幕截图代表应用程序提供的功能, 屏幕截图应该准确的展示APP。当APP不是很漂亮时, 那么直接截图就不大好。例如展示的广告截图是否是大多数情况下程序正常运行的截图?在某些应用程序商店, 如果截图不符合规定, APP将不能通过审核。例如图1的截图看起来相当的漂亮, 设计简洁, 非常个性化, 并且包含了用户想要的必备信息。这样的屏幕截图对想要下载该应用的用户是有说服力。但如果它以一个抢眼的角度展示, 并配备一些描述性的文本和背景图片, 如图2的修饰效果, 看起来它是一个给人印象相当深刻的app!

图标优化是当用户在Android Market上找到相关应用时, 应用程序的图标毫无疑问是最直观也是最重要的一个元素。用户键入合适的关键词, 返回列表中的应用只会显示有关两种元素:应用程序的名称及它的图标。启动图标是每一个i OS中应用软件的关键组成部分。它能传达给你应用程序的基础信息, 并能够给用户带来第一印象感受;它也是一个非常重要的软件入口, 能直接引导用户下载并使用应用程序。有过软件启动图标的设计经验的设计师, 经常会遇到这样一个问题:设计出的单枚软件启动图标看起来很炫, 但是放到电子市场上后, 却不太受用户的喜爱, 用户点击率很低。所以怎样从视觉设计的层面, 去提升app软件启动的图标点击率呢?如图3, 这是星巴克的一款应用程序图标设计, 星巴克的标志设计是非常好的, 但是, 星巴克的消费卡的app图标设计中星巴克的标志比较小, 在App Store上看这枚图标设计, 圈形的星巴克标志是难以辨认的。其实设计时, 应该放大星巴克的商标, 提高标识的可识别度。

在进行图标设计和优化时, 要注意以下六个方面: (1) 运用视觉隐喻的同时, 需要保证图标的可识别性; (2) 分析同类app图标, 整理设计思路注重图标创新; (3) 运用软件界面中的图形元素, 体现图标设计的连续性; (4) 采用用户好奇的图形元素设计, 抓住用户的好奇心; (5) 突出品牌, 抓住用户眼球; (6) 设备测试预览图标的效果, 微调色彩或亮度达到最佳效果。

5 结语

本文从ASO的国内外发展现状分析, 根据App Store的搜索规则和主要影响ASO优化的因素进行研究, 归纳出ASO优化需从展现, 排序, 榜单, 转化率等方面入手, 进行关键词, 应用名, 下载量, 冲量和应用描述等优化研究分析, 总结出相关的推广或优化方式方法。

应用市场的优化绝对不是一个简单的事情, ASO优化甚至已经形成了产业链, 目前来说应用市场优化是提高应用下载最直接的方式, 而各大应用市场的搜索排序不断变化, 但无论如何, 做好每一个细节对排名和下载肯定会有很大的帮助。

参考文献

[1]张霄.搜索引擎优化与营销的分析与研究[D].北京邮电大学, 2009.

[2]郭士琪.SEO技术在企业网站推广中的应用[D].华北电力大学, 2012.

[3]胡毅.搜索引擎优化及其应用研究[D].云南大学, 2011.

[4]百度经, http://jingyan.baidu.com/article/c1a3101eb10cc4de656d eb86.html (2014/08/15) .

面向应用论文 篇5

论文摘要:信息资源的价值越来越高,建设以数据库为中心的管理信息系统,对提高金融管理水平和生活质量具有重要的意义,本文以具体实例阐述了面向对象程序设计方法的特点,并分析其优点和不足的地方,以便于在经济工作中运用面向对象软件开发实践方法具体设计相关管理信息系统。

论文关键词:金融信息系统 面向对象程序设计会计软件开发

1前言

随着我国经济信息化工作的不断发展提升,对金融工作者的计算机应用知识要求越来越高,有些企业的信息系统正面临从传统的核算软件向管理决策性的大型管理软件的再开发。当前我国企业经济发展对管理信息系统开发的需求很大,如何正确安排软件的结构,合理组织、管理软件的生产,不仅是从事软件开发专业人员的事,也是广大从事金融管理工作人员及学员必需掌握的知识,金融工作人员经常就会被要求加入到系统开发中去,向系统开发人员提供有关专业技术支持,帮助开发人员了解企业的财务处理程序、经营过程,管理要求及用户的信息需求等。为了缩短了软件的研制时间,提高了软件的开发效率,面向对象程序设计由此应运而生。面向对象事件驱动程序设计方法是程序设计方法的一次变革.我们应迎头赶上井掌握这门新技术。

2面向对象方法程序设计(00)的基本过程

计算机软件技术发展非常快,越来越多的实用软件工具有不同程度的面向对象自动编程功能,软件工程各阶段的自动化程度也将越来越高.面向对象程序设计是目前程序设计方法的主流,是程序设计在思维和方法上的一次巨大进步。面向对象程序设计思想是面向对象,即设计的重要任务在于描述对象,程序是由事件驱动的,因而,在执行过程中,持续等待的是一个发生在对象上的事件。而发生什么事件则要看使用者的操作,如单击、双击鼠标等。至于下一步的程序流向,则要看驱动的是什么事件。这类程序设计的主要目的是从任何方便与简化使用人手,由使用者控制程序流向,这在一定程序上增加了编程的难度,以基于VFP6.0面向对象的程序设计应用为例,假设某储户到银行提取存款X元,试问银行出纳元应如何付款最佳(即各种票颊钞票总张数最少)。

2.1分析

可以从最大的票额(100元)开始,算出所需张数,然后在剩下的部分算出较小面额的张教,直到最小票额(1元)。

2.2设计步辣

(l)建立应用程序用户最界面。

选择“新建”表单设计器,增加一个命令按钮Command 1、14个标签LABELI_LABEL 14, 7个文本框TEXTI _TEXT7。

(2)设置对象属性.如表i:

表单的默认按钮

(3)编写程序代码:

说明:文本框的InteractiveChange事件当文本框中的内容被改变时发生。

2.3建立程序界面与程序运行结果

在企业的金融信息系统中其它应用需求诸如:求各种所得税的纳税情况,水电费收支情况,工资管理情况等应用,软件需求大,需求的具体要求各有千秋,程序代码和界面是千变万化的,系统开发人员和信息管理应用工作者应根据具体的要求按一定的语法规则去改变程序的结构和方式,形成各自的风格,以满足企业信息管理系统对应用软件日益增长的需要。

3面向对象系统开发(00)方法的原理

面向对象方法是在吸取结构化思想和优点的基础卜发展起来的,是对结构化方法的进一步发展和扩充。各种分析方法在财经软件开发过程中墓本目标是相同的。都以较低的成本开发高质量的软件,系统开发从问题域中的实体与关系出发,体系结构是由对象类及其关系构成,对象之间通过消息传递信息,通过执行服务一消息链完成指定功能,一旦用户要求修改,可以只更改局部内容即可。但不管采取什么开发方法,软件开发的墓本活动包括:需求定义、设计(design),实现、验证/确认,一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。“面向对象”一词是针对“面向过程’一词提出的,是在本质上不同于传统的结构化方法的一种新方法,但其是基于或扩展结构化的思想,且包含三个基本的原理:封装、继承及多态。面向对象方法是吸取结构化方法的思想和优点的基础上发展起来的,是对结构化方法的进一步发展和扩充。

4面向对象系统开发(00)方法的特点和发展趋势

面向对象程序设计方法是一种正在发展中的方法,它认为客观世界是由对象组成的,用对象表示软件应用领域里的事物,用消息传送表现事物之间的相互联系,它用对象和消息来描述事物及其相互之间的联系,用类和继承来描述对象,建立问题或模型、描述系统。它是一种运用对象、类、继承、聚合和消息等概念来构造程序的设计方法。面向对象的程序设计方法主要的`构成可为:对象+类十继承十消息。软件系统利用以上四个概念进行设计或实现的,使认为其是面向连接的.面向对象程序设计的特点是唯一性,从前一阶段到后一阶段高度连续,将面向对象分析OOA、面向对象程序设计OOP、面向对象设计OOD集成到生存期各阶段中,相对于结构化程序设计方法来说.面向对象程序设计方法具有其独到的以下优点:开发方法的唯一性,开发阶段的高度连续性.表示方法的一致性。问题空间实体的自然表示,减轻了设计者的负担。设计之初不必考虑很完整的地方,建立完整的体系结构,可促进复用性,易于维护,易于修改,可合理利用其共同性,减少其复杂性。

例如,在基本的发VISUAL FOXFRO, VI-SUAL BASIC. VISUAL C++中,控件(CONTROL)、表单(FORM)等都是一个个对象.对其中对象的操作,可以通过属性、事件和方法来实现。面向对象是当前软件方法学的主要方向,也是目前最有效的开发方法之一。其基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。在应用中,面向对象的分析方法首先定义对象及其属性,根据问题域中的操作规则和内在性质定义对象的行为特征(服务),建立状态模型,用状态模型描述对象的生命周期,分析对象之间的关系,采用封装,继承,消息通信等原则使问题域的复杂性得到控制,根据对象及其生命周期定义处理过程。当然,面向对象设计方法有很多不足之处,在开发大型软件方面,面向对象设计方法无疑其有很好的优势,但这种优势只有其在开发大型软件上才体现出来,软件的重用使其冗余相对较大。对于小型软件和要求讲究效率的场合来讲,结构化程序设计方法仍有其使用的必要。

以金融管理信息系统为例,随着金融软件的推广应用,企业电算化应用水平不断提高,软件已不能满足企业管理水平提高的需求,为此我国金融软件开发应用工作者又相继推出了ATM系列、银证转账软件产品,井与会计管理软件功能相关联和对接,主要包括:账务处理、资金管理、帐务分析、销售等功能,在管理型软件各功能模块中还将满足纳税处理、提供审计线索等功能需求。将推出成熟的商品化金融企业管理信息软件,以实现企业内部物流、资金流与信息流的一体化管理,实现管理与决策有机统一,并通过建立在Internet/Intranet/Extranet上,实现企业内部资源与企业外部资源构成的整个供应链的管理。

5结语

面向应用论文 篇6

关键词:微机原理;实验教学;教学改革

实验教学在对学生能力培养方面起着理论教学不可替代的作用,是培养学生实验技能、应用能力和科学作风的重要环节。《微机原理及应用》课程是计算机类及大多数电子类专业学生的必修课程。本门课程要求学生很好地掌握这门课程的内容并具备一定的实际电路设计和编程能力,使学生在深刻理解计算机软、硬件关系及以后的计算机应用开发中打下必要的计算机硬件基础。传统实验内容,仅仅是为了配合理论教学环节,主要是验证理论课教学的内容。传统实验教学将汇编软件上机、简单的硬件实验作为验证性实验,例如编程将输入的字符个数分类统计,或在实验箱上按实验指导书上的接线要求完成实验等,事实证明它在一定程度上帮助学生了解了课程,但是对于有限的实验教学而言,这种教学的效率不高,学生学习的主动性无法调动。这种实验内容无法使实践能力跟上时代对知识的要求,无形中削弱了实践教学和学生的主体性特点,使实验成了理论教学的附属,更无法满足应用型人才培养的需求。

一、现状分析

由于微机原理及应用属于硬件类课程,课程内容抽象、枯燥乏味,多数学生学习兴趣低,主动性差。学生汇编语言基础差,对汇编语言程序设计的理解和掌握程度低,直接影响到微机原理和接口技术课程的教学。实验系统老化,大多数院校采用的均为箱式实验系统,所提供的实验项目大多为对单个芯片的验证性实验,并且实验系统中均固化有相应的实验程序,部分学生实验时直接调用程序就可以完成实验内容。实验项目设计不合理,实验中需要学生动手的地方少,达不到实验目的。实验项目大多为验证性实验,缺乏设计性、综合性的实验项目。所用实验系统与目前微机的发展使用现状相距较远,未能利用目前通用微机的资源。

二、建立开放实验教学模式

实验室是高等学校实施素质教育、培养本科学生创新精神与实践能力的重要基地,实验室应该对学生开放、为学生提供实践学习条件。

1.增加实验室开放时间。传统的实验室管理模式下,实验室只在有课程安排的时间段开放,而大部分无课程安排的时间中是不开放的。在这种环境下,学生往往被限制在教师事先设定好的时间段进行实验,学生发挥自身潜能的余地和空间很小。为了让学生有更多的自主时间进入实验室,就必须建立开放性的实验环境。要允许学生结合课程学习以及自己的专业特点、时间安排或兴趣爱好提出实验题目、设计实验方案,并可在一个较宽松的实验环境内完成。实行实验室开放不但能最大限度地利用实验室资源,提高仪器设备利用率,而且能充分发挥实验室在实施素质教育中的重要作用,为学生提供自主发展和实践锻炼的空间。

2.开放实验内容。在课程计划实验外,实验内容可进一步开放。开放的内容以适用性、趣味性的实验项目为主。可以结合实际,将开放的项目在网上公布,学生可以选择自己感兴趣的实验项目并填报申请单,经教师同意,实验室主任审核,学院备案,便可进行。但在进行实验之前,学生应自行查阅相关资料,并设计实验方案,最后完成实验,提交报告。这种完全开放的实验环境有利于学生个性化发展,增强他们的自信心。

3.学生自主选题开展项目研究。开放实验内容,可以让学生根据自己的实际情况,选择老师提供的实验,鼓励学生在此基础上进行拓展或自主提出课题项目,向学校或学院申请立项资助。如学校组织的大学生创新计划项目、全国大学生电子设计竞赛及“挑战杯”等全国大学生课外学术科技作品竞赛活动。自选课题以不同专业不同年级的学生组成研究小组,除研究项目,还可参与教师的课题研究,为教师提供科研帮助。“要培养学生创新能力,首先教师要有创新意识”,因此在实验教学组织中,采用多种形式的教学方法,引导学生进行创新性学习,通过这些训练,使学生具备独立思考、独立操作与解决问题的能力。

三、实验内容改革

微机原理实验的主要内容是:计算机软硬件的基本知识和基本设计方法,计算机软硬件的应用技术和利用各种IC器件组建微机系统、进行系统接口设计、扩展微机系统的功能等。基于培养工程应用型人才的要求,对实验教学内容应进行全面改革。丰富实验内容,提高实验难度,增加设计性和开发性实验的份量。

1.基础实验改革。基础实验紧跟理论教学进程,以单元实验为基础,通过实验使学生掌握计算机软、硬件工作原理及常用接口芯片的功能和基本用法。由于学生刚刚接触微机软硬件,往往感到无从下手,此时学生遇到问题不知如何解决。因此,在实验内容上,应安排一些验证性实验。主要让学生熟悉编程和调试环境,练习常用指令的使用。在此阶段,老师的主要作用应是对学生的扶持,以示范引导为主,从而使学生迅速掌握软件的使用和程序的编写方法,逐步锻炼学生软硬件调试的能力,也可以加深对基础知识的理解。

2.一般设计性实验。在较好完成单元实验的基础上,引入设计性实验。要求采用单元电路模块组合的方法,设计一个较复杂的接口电路和控制程序,实现多种功能。教师主要完成对学生的启发引导,只提供基本的设计思想和设计方法,不提供具体的、详细的电路与程序。学生自己查阅有关资料,自定设计方案,自行设计、调试接口电路和控制程序。对学生在实验中遇到的问题,老师只做引导性提示,具体故障的排除由学生自己动手完成。通过此类设计性实验,可以提高学生独立分析问题、解决问题的能力。

3.综合设计性实验。对部分基础较好的学生,在完成上述实验后,可以鼓励他们进行综合设计实验。在以前的综合性实验中,实验类容有老师给出,而且基本有现成的指导资料,不能真正达到对学生综合能力的培养。此类实验应由学生根据工程实际,提出自己的想法,并与指导老师交流,然后形成具体的实施方案。在该类实验中,老师主要把握学生提出的实验可行性和难易程度,资料的收集整理、电路的设计、软件的编写全部由学生自己完成,由老师对最后的完成情况作综合评价。

四、总结

对于应用型本科人才而言,微机原理与接口技术实验的目标就应是培养学生解决工程实际问题的能力。在开放的实验环境中,依托基础实验,深入一般设计性实验,鼓励学生只完成综合设计性实验,从而提高学生分析问题解决问题的能力,以达到应用型本科人才培养的目的。

参考文献:

[1]杨斌.《微機原理与接口技术》实验的改革与实践[J].实验科学与技术,2005,(12):67-69.

[2]杨杰.“以人为本”的高等教育理念视角[J].学术论坛,2006,(6):195-197.

[3]周鹏.《微机原理与接口技术》课程实践教学改革与创新[J].塔里木大学学报,2009,21(4):72-76.

[4]陈莹,王斯晗.“微机原理与接口技术”教学改革[J].重庆工学院学报(自然科学),2007,21(12):172-174.

面向对象的本体建模应用研究 篇7

关键词:本体,统一建模语言,映射,元模型

本体理论自20世纪90年代逐渐形成,作为一种知识组织体系,在知识表示时,有独特的优势。但同时在本体建模方面也存在以下缺陷:(1)目前可用的本体描述语言有十几种,多种语言共存使得使用者相互交流很困难;(2)这些语言都比较抽象,难以为人理解和掌握;(3)本体构建工具存在差异性,这导致它们缺乏互操作性;(4)建模过程大多需要手工参与,开发效率较低。这些限制使得本体建模缺乏统一的标准,进而无法满足实际的工程化本体建模需要。面向对象的思想和方法极大地推动了计算机技术的发展,尤其在软件开发的各个阶段都有成功的应用。在本体建模中引入面向对象的思想和方法,可以有效地革新现有的本体开发过程。UML是面向对象建模领域公认的工业标准,与之相关的技术和开发工具都很成熟。将UML引入本体建模,是实现面向对象的本体建模的有效途径。

如何将UML应用于本体建模,成为国内外相关领域学者的研究课题,文献[1]、文献[2]和文献[3]从不同角度,提出了用UML建模元素表达本体建模元语的不同方法,例如彭祖林[8],王翀[9]等研究了UML映射为OWL的可行性及实现方法,试图使UML能够严格的表达特定本体描述语言的建模元素的语义。文献[4]、文献[5]、文献[6]和文献[7]尝试在实际的工程应用中将UML引入本体建模,较为典型的像金芝[4],殷磊[5]等将需求分析与面向对象的本体建模结合起来。这种面向应用的研究主要围绕领域本体展开。这些研究已经取得了一定的成果。本文阐述了将UML应用于本体建模的理论依据,提出针对应用本体的不同领域,采用不同的映射方法。根据实际需要,提出了不同的扩展UML的方法,从而实现将UML建模元素到本体建模元语的映射。

1 本体建模研究

本体最早是一个哲学上的概念,表示客观存在的一个系统的解释或说明,关心的是客观现实的抽象本质[8]。而在人工智能界,引入这个概念是为了更准确地描述知识[2]。1993年,Gruber提出本体最为流行的定义[9] ,即“本体是概念模型的明确的规范说明”。

Perez等[11]认为本体可以按分类法来组织,他归纳出本体包含5个基本的建模元语(Modeling Primitive)。这些元语分别为:类(classes),关系(relations),函数(functions),公理(axioms)和实例(instances)。通常也把classes写成concepts。目前比较成熟的本体建模语言都包含了这五个基本的元语。本体构建方法的研究对于本体的应用有关键的作用。由于不同的学科领域有各自不同的实际要求,所以构建本体的方法也各不相同。目前尚没有一套标准的构建方法。一般认为,Gruber在1995年提出的5条规则是比较有影响的:(1)明确性和客观性、(2)完整性、(3)一致性、(4)最大单向可扩展性、(5)最少约束。常见的本体建模方法有Uschold方法、Grüninger&Fox方法、METHONTOLOGY方法、以及SENSUS方法等。其中斯坦福大学医学院开发的七步法相对比较成熟,主要用于领域本体的构建。七个步骤分别是:(1)确定本体的专业领域和范畴、(2)考查复用现有本体的可能性、(3)列出本体中的重要术语、(4)定义类(Class)和类的等级体系(Hierarchy)、(5)定义类的属性、(6)定义属性的分面(Faces)、(7)创建实例。本体构建工具能完成对本体的解析、创建、存储和重用等工作,好的工具可以帮助本体快速而有效地建立。目前较为有效的构建本体的工具主要有:OntoEdit、Ontolingua with Chimaera、Ontosaurus、OpenCyc Knowledge Server(简称OpenCyc或Cyc)、Protégé-2000和WebOnto等。其中Protégé-2000拥有大型的用户团体。与其他系统相比,其优点在于:(1)具有图形化的用户界面、(2)支持Unicode字符集输入、(3)可以免费下载系统安装软件和插件、(4)支持目前几乎所有的可用于构建语义网络的本体描述语言。

2 UML基本概念

UML (Unified Modeling Language) 是软件工程中的标准建模语言,采用面向对象的分析与设计(OOA&D)方法,具有图形化的建模手段。

作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。UML语义描述基于UML的精确元模型定义。UML还支持对元模型的扩展定义。UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。标准建模语言UML的重要内容可以由五类图来定义。例如用例图、静态图(Static diagram,包括类图、对象图和包图)、行为图(Behavior diagram):描述系统的动态模型和组成对象间的交互关系、交互图(Interactive diagram):描述对象间的交互关系、实现图( Implementation diagram ) 等等。

UML在信息和概念的工程化建模方面取得了很好的应用效果,成为软件开发的工业标准,拥有强大的数据库和成熟的开发环境支持。同时,存在大量熟悉UML语言和UML建模工具的软件开发人员。UML应用于本体建模,优势在于:第一,熟悉UML的用户可以利用现有的大量UML模型、模式和UML工具熟练地进行本体建模。第二,可以为本体开发的整个生命周期(分析、设计、实现、测试及配置)提供工程化支持,从而保证本体存储和访问的一致性,有利于本体之间的交互。第三,UML对本体进行建模不仅能支持现有的OWL、KIF这些知识表示语言,而且还能支持将来有可能出现的其他知识表示语言[12]。

3 面向对象的本体建模

现有本体表示语言无法满足实际的工程化本体建模需要,欠缺工程化的本体开发工具也是阻碍本体建模发展的一个重要的原因。为解决这一问题,人们提出面向对象的本体建模思想,将UML应用于本体建模是实现面向对象的本体建模的有效途径。目前,这个领域的研究的首要问题是,完成从本体到UML建模语言的映射。

3.1 UML用于本体建模

比较两种建模手段的异同是建立映射的基础,这两种建模手段的不同点在于:

第一,两者的建模目的不同,O-O模型是抽象的,用于消除和简化不必要的概念与关系,只遴选必要的知识来解决某个特定的问题。本体模型在于知识表达,往往需要囊括一个领域中所有的知识,强调知识的完备性。第二,O-O模型用于在软件系统开发时,创建精确、具体的实例。本体模型关注的是概念层的问题,虽然能说明某个事实,但是却不具体指导软件开发中元素的建立[12]。

本体模型和O-O模型之间的相同点在于:两者都是表达现实世界中可以用来处理的概念;两者都建立在类/概念和关系之上;两者都是为了得到在某个领域上的可重用的模型。

同一个领域的本体模型和O-O模型的相似性是UML有效开发本体的基础,但本体模型和O-O模型的差异导致UML在一些方面不适于进行本体建模,比如本体中的属性是第一级的建模元素,而在UML中属性和关联都不是第一级的,因此即使是OMG 即将发布的UML2.0规范也不能够解决本体建模需要解决的所有问题。为了解决这些问题,就必须扩展UML以实现面向对象的本体建模。OMG发布的MDA(模型驱动框架)定义了一个四层元模型框架。根据对每个层次的功能的定义,可以在OMG 模型驱动框架中的M2层上扩展原有的UML元模型,这样从“元级”这个层次保证了新的UML元模型可以用来指导开展本体建模工作,并且为这个元模型可以保证描述的处于M1层的本体模型之间的互操作性[12]。在一定条件下,也可以将UML建模元素直接映射为语义相似的本体建模元语,并且运用stereotype扩展机制和对象约束语言对语义加以约束,从而实现基于UML的本体建模。

3.2 UML映射为特定本体建模语言

3.2.1 比较分析两种建模手段的异同点

随着语义网络的发展,一些基于XML语法的语言出现,用以对本体进行表述,并可以将本体纳入语义网络的层次结构中。这些语言主要有DAML+OIL、OWL等。

为了将UML用于描述用这类特定语言表示的本体,首先要分析两种建模手段的异同点。也就是比较相应的建模元素。

将本体建模元素在OWL中的概念与UML中相同或相近的概念罗列出来,加以对照。可以看出:OWL中构造算子(交、并、补、限制、枚举)在UML中无直接对应。OWL中版本信息、版本管理机制等概念无直接对应。OWL中数据类型(XMLSchema 数据类型、枚举类型)在UML中无直接对应。除此之外,主要的OWL 模型元素在UML 模型元素中都能找到对应或相近的概念[1]。对OWL的概念及相应关键词加以分析归类,详细对照OWL与UML的具体关键词,也可以找出对应关系[2]。

找到对应关系之后进行异同点的比较,主要是两者之间差异的比较,也就是对应的概念或对应的关键字之间在语义方面存在的差异的分析。OWL底层的语法基于XML,在此基础上的语义扩展基于RDF(S),DAML+OIL也是如此,而且两种语言都可用于构建语义网络,所以两种语言本身有相似点。两种相似的语言都同UML作比较,能得出以下一些大致相同的结论:(ⅰ)泛化是UML中从已知类构造新类的唯一方法,而OWL或DAML+OIL却包含多种类构造算子,如交、补等,用于从已有类构造出新类。(ⅱ)本体描述语言中属性(性质)可作为一级对象独立存在,而UML中对应的术语描述的对象必须依附于某个类或某两个类。(ⅲ)UML 具有清晰、严格的元建模体系结构,而本体描述语言的层次并不这么严格。

3.2.2 构建元模型

通过比较两种建模方法的异同点,确定从那些方面扩展UML建模元素,以完整的表达本体建模元语的语义,完成从特定本体描述语言到UML的映射。

本体描述语言比较简单。只有实例、类、性质、子类、子性质等几种模型元素,目前只支持对概念及概念间静态关系的建模。因此只需要实现UML 的静态建模元素中的一部分如类、属性、继承关系等与本体模型元素之间的映射即可。所用的静态建模元素主要是类图、对象图。构建用UML类图描述的基于本体建模语言的元模型,是完成从特定语言描述的本体到UML描述的本体的映射的关键步骤。UML的元建模体系结构从具体到抽象分别是用户对象层、模型层、元模型层、元元模型层。如果基于上述的MDA四层模型构建元模型,则扩展的元模型处在元模型层。可通过扩展的元模型定义模型层元素描述具体的本体对象。构建的元模型不涉及具体的对象,不存在语义的映射空间。

具体的扩展内容取决于对两种描述语言的比较分析。有多种实现扩展的方法。(ⅰ)通过继承UML已有的元模型元素,引入了适合本体语义的元模型元素,例如本体、特性类、属性类、本体类等。经过扩展的元模型用来描述本体中最基本的类、属性、关系等概念[1]。(ⅱ)用UML profile扩展机制扩展UML的基本建模元素, 定义OWL 的UML 表示集,用类图描述同OWL中描述类概念和属性概念相关的主要关键字,从而建立OWL 的UML Profile 元模型[3]。这种扩展不存在具体的语义映射空间。(ⅲ)前人为了解决用UML表示本体的问题,已经提出了UML 元模型的扩展模型。可以基于自身研究分析的结果,结合对前人工作的分析,针对自身研究工作的需要,提出不同于前人结果的扩展模型。新的扩展模型并不基于前人的扩展模型,但可以基于前人的基本思路[3]。以上的方法在应用研究中都取得了有效的成果。

3.3 领域本体刻画及其应用

将UML用于领域本体建模具有实际应用的意义。例如,领域需求分析中所谓的“通信鸿沟”问题。针对这个问题提出了基于本体的需求工程。其主要思想是:在领域本体的制导下抽取现实世界的概念,产生应用描述,构造应用系统模型;映射应用系统模型中的可实现部分为应用软件概念模型;对应用软件概念模型进行规格说明,产生应用软件需求模型和软件需求文档[4]。也可以利用本体在知识表示方面形式化、规范化的优势,解决领域内知识共享的问题[5]。对面向agent的软件开发的研究近年来逐渐兴起,其基本原理是:在agent抽象层次上设Multi-agent系统需要对agent所处的世界(或应用领域)模型进行定义,agent 通过这个模型和其他的agent 进行交互。应用领域的描述通常是通过本体模型来表示领域中的实体以及实体之间的关系[6]。在标准化的建模过程中建立企业级的标准数据模型可采用本体建模的方法。葛世伦等人[7]采用了多种本体,利用面向对象的本体建模方法描述与企业生产过程和控制,制造等特定领域相关的知识。

用本体描述这些特定领域的知识,并将其用于实际应用,例如软件设计开发,在一定的条件下有其特殊的优势。但在接下来的工程实践中,这些数据要能被有效的处理,本体描述的知识就不理想了。需要将这些知识转化为其他形式。实际上,由于UML在软件开发过程中的作用,将用领域本体描述的知识转化成用UML类图描述的知识后,可以直接将他们用于软件开发。在工程开发的不同阶段,针对不同的实际需要,采用不同的建模工具,可以发挥各自的最大效力。

描述领域本体并不一定要扩展UML元模型或者构建某种基于UML的元模型,本体的概念可以映射为类或对象,由UML语言中的类图和对象图来表示,本体概念之间的关系映射为类之间或者类与对象之间的关系。为了达到对类实体更精确的表示(比如对属性之间依赖关系的描述),采用OCL(Object Constraint Language,对象约束语言)对实体加以约束。OCL是一种指定约束和查询的语境有关语言。刘炜[6]与殷磊[5]等人都采用了这种方法,有效地完成了映射。

用领域本体准确表达特定领域的概念,必须体现特定领域的概念的特点,一般的数学模型往往达不到这个要求,需要针对领域知识的特点,定义合适的数学模型。例如用一个三元组<ConTypeS,ConAssS,ConTypeH>描述企业本体。其中,ConTypeS为企业概念类集,ConAssS为企业概念类关联集,ConTypeH为企业概念类抽象层次结构[4]。要描述企业领域中的行为活动,可借助于人工智能领域中的形式化工具“情景演算”(Situation Calculus)定义情景演算模型[7]。“情景演算”是表达动作和变化基于情景概念的一阶理论。

由于要满足实际需要,在这个方向往往要设计完整的软件设计或数据建模的算法。为了将需求转换为一种通用的数据共享交换格式,可以设计算法将用本体建模的需求描述转化为UML,再转化为XML文档[4]。将本体用于领域需求分析时,可分为四个阶段:业务流程分析、逻辑分析、对象行为分析以及对象活动分析。在此基础上构造算法,最后输出领域需求分析的结果。同时,采用UML的活动图、对象图、对象状态图、对象活动图和用例图分别表示各个阶段的分析结果和应用本体构建的领域需求模型[6]。

因为具体应用不同,在这一方向实现映射的方法也不相同。但有以下共同点:不一定需要在元模型层扩展UML或构建元模型;一般使用领域本体描述相关知识;为了完成整个领域需求分析过程或数据建模,往往要使用多种UML视图;UML到本体的映射只是算法的一部分。

4 结语

目前,UML用于本体建模的研究还处于探索阶段。具体的扩展UML的方法和实现映射的机制应该根据相关研究领域的实际情况来决定。具有实际意义的工作往往将UML用于本体建模作为系统的一个模块来实现。相关的理论研究还有很大空间,还有不少有意义且极具挑战性的应用领域。将UML用于本体建模后,实现基于UML本体模型的推理成为必然要求,基于图形变换的推理是一种解决方法。也有人提出引入描述逻辑,将其作为推理的工具[15]。这一方面探索将是有益的,而且也一定会产生更加有效的结果。

参考文献

[1]彭祖林,林永动,杜彦辉.UBOM:基于UML的本体建模工具.Transactions of Beijing Institute of Technology,2006;26(11):1014—1018

[2]王翀,何克清,刘进.基于OWL元模型的本体建模研究.武汉大学学报(理学版),2004;50(5):581—585

[3]王洪伟,段永瑞,蒋馥.基于UML扩展机制的本体模型的可视化研究.管理工程学报,2006;20(3):67—73

[4]李娜,金芝.基于知识的UML图形文档自动生成.计算机工程与应用,2004;(33):50—55

[5]殷磊,王润孝,姜晓鹏.基于本体的领域需求分析方法与模型研究.计算机工程与应用,2005;(7):82—83,223

[6]刘炜,刘宗田.Multi-Agent系统中基于UML的领域本体建模.计算机工程与应用,2004;(5):22—25

[7]苗虹,葛世伦.本体支持下的企业数据模型构建.清华大学学报(自然科学版)2006;46(S1):40—48

[8]邓志鸿,唐世渭,张铭.Ontology研究综述.北京大学学报(自然科学版),2002;38(5):730—738

[9]Guarino N.Formal ontology,conceptual analysis and knowledge repre-sentation.Human-Computer Studies,1995;43(5):625—640

[10]Gruber T.ATranslation approach to portable ontology specifications.Knowledge Acquisition,1993;5(2):199—220

[11]Perez A G,Benjamins V R.Overview of Knowledge sharing and re-use components:ontologies and problem solving methods.In:Stock-holm V R,Benjamins B,Chandrasekaran A,eds.Proceedings of the IJCAI99workshop on Ontologies and Problem2Solving Methods(KRR5)1999;1—15

面向应用论文 篇8

目前,基于RESTful(简称REST风格[3])的Web Services在一些领域得到较好了的应用。一些大公司已经提供了基于REST的网络服务,如Google服务(如http://code.google.com/intl/zh-CN/)、Amazon S3、Yahoo!提供的大部分Web服务(http://developer.yahoo.com),提供类似Web 浏览器书签服务的网站del.icio.us采用REST风格,但并非一个真正的RESTful Web应用[3] 。虽然静态网站具有典型的REST风格,但是建立在网站之上的能够为用户提供动态服务的RESTful Web 应用程序在国内还不多见。本文在对基于资源的架构和RESTful Web研究基础上,探讨利用Rails框架实现RESTful Web应用开发过程,并以实例展示基于资源的Web开发思想和方法。

1 REST

REST以资源为中心,任何事物,只要具有被引用的必要,它就是一个资源。在REST的世界里,整个Web被看作一组资源的集合。每个资源必须至少有一个统一资源标识符URI,URI既是资源的名称,也是资源的地址。REST 中的资源是数据和表现形式的组合,以资源为核心的设计思想是REST的核心所在。REST 指的是一组架构规范和原则。REST规范包括客户/服务器,无状态,缓存,统一接口、分层系统和按需代码,REST针对Web应用提出了如下设计准则[4]:

(1)网络上的所有事物都被抽象为资源(resource);

(2)每个资源对应一个唯一的资源标识符(resource identifier);

(3)通过通用的连接接口对资源的操作;

(4)对资源的各种操作不会改变资源标识符;

(5)所有的操作都是无状态的(stateless)。

满足REST规范和原则的应用程序或设计就是 RESTful[5]。 RESTful Web应用系统是一个面向资源的系统,具有如下特点[6]:

(1)简明的URI

REST URI代表资源,其结构由控制器的名称和资源的id组成,并不包含对资源的动作。

(2)统一接口

REST要求使用统一的接口,统一接口独立于资源的URI。任何对资源的操作行为都是通过HTTP协议来实现:获取资源的一个表示用HTTP GET;向一个新的URI发送HTTP PUT或向一个已有URI发送HTTP POST创建一个新资源;修改已有资源用HTTP PUT;删除已有资源用HTTP DELETE。

(3)资源可以有多种表示方法

对于控制器的同一个action,可以返回给客户端html、xml或RSS不同格式的内容,依赖于客户端的调用方式。

(4) 面向CRUD 的控制器

所谓CRUD就是 Create、Read、Update和Delete的简写[7]。每个控制器都对应某个资源的CRUD操作。

(5) 更少的代码和简单的系统设计。

2 Rails框架

Rails框架是Ruby on Rails框架的简称,也称Rails,是一个基于Ruby语言的网络应用软件开发框架。Rails1.2起开始提供了关于REST的支持,让REST的思想从Web服务的应用提升到了Web应用软件开发。

Rails基于“Model-View-Controller”(MVC),主要包括三个库:ActiveRecord库实现MVC中的Model,它封装数据库表或视图中数据行的对象,封装数据库访问过程;ActionView库实现MVC中的View,它是一个基于嵌入式Ruby(ERb)的系统,用于定义服务与数据表示的表示模板;ActionController库实现MVC中的Controller,处理和组织来自数据库和Web表单输入的数据,然后它将这些数据提交给ActionView,ActionView将这些数据插入模板并显示。在MVC中,V和C关系非常紧密,所以ActionView和ActionController捆绑在一起成为ActionPack[8]。

3 Rails实现RESTful Web应用的原理

目前,Rails2.3.4已全面基于REST。Rails框架不允许直接定义资源,它把Web应用的功能划分为一个个控制器,由控制器来暴露资源[3],一个控制器属于某一个特定的资源。Rail控制器具有CRUD行为功能,由一些标准动作来执行某个资源的CRUD操作。通过控制器的设计,明确应该暴露哪些资源,响应哪些URIs,以及统一接口方法。

Rails的routes.rb文件通过map.resources来定义RESTful URI,它是基于资源的路由。RESTful URI由控制器和模型类组成,URI中不含动作,通过HTTP的4个动词和REST URI的组合形成对某个资源的操作。Routes.rb负责将用户的请求路由到指定的方法,通过控制器类告诉Rails如何把收到的请求路由给哪个类,以及如何对给定请求进行处理。当Rails收到一个HTTP请求时,它会根据该请求的目标URI的第一个路径变量把该请求分配给适当的控制器类处理。例如,为“questions”资源定义RESTful URI:

ActionController::Routing::Routes.draw do |map|

map.resources:questions

end

map.resources自动为应用程序创建7个路由规则如表1所示,同时将HTTP动词映射到控制器action。对于QuestionsController控制器类,默认方法限制在index、show、new、edit、create、update和destroy,通过它们来执行对资源“questions”的CRUD操作。

由于目前流行的Web浏览器大多不支持PUT和DELETE方法,所以Rails采用一个虚拟的:method参数来模拟HTTP中的PUT和DELETE方法。

在Rails控制器中通过respond_to负责解释客户端的请求,然后按客户端所需要的不同的信息格式返回不同格式的内容。默认格式有HTML和XML。

4 基于Rails的RESTful Web应用设计步骤

由于Rails对REST的支持,在设计基于Rails的RESTful Web应用程序时,从资源入手并对资源进行规划。所有可以被抽象为资源的东西都为其定义RESTful URI,每个URI都代表一个资源,而整个系统就是由这些资源组成的。通过URI来设计系统的结构,这是RESTful Web应用设计的关键所在。基于Rails的RESTful Web应用设计步骤:①规划数据集;②创建模型;③设计控制器。把数据集分配给一个个控制器,定义资源URI。根据系统的功能来创建资源,而不是通过创建action来实现业务逻辑。④路由。在routes.rb中通过map.resources配置REST路由,对于嵌套资源,Rails也提供了在routes.rb 中增加了路由的定义。⑤设计视图。Rails视图主要通过采用ERb模板即一种HTML和Ruby代码的混合来定义的。视图中用到了routes.rb中生成的helper方法。用户通过链接和按钮来和系统交互以及资源之间的链接和状态的转移。

5 面向资源的RESTful网络答疑系统

作为面向资源的RESTful web应用设计思想的实现,本文以网络课程支撑平台的一个子系统——网络答疑系统为例介绍如何在Rails框架下实现RESTful Web应用开发。该系统主要通过网上答疑来解决用户的提问,用户可以提问并对问题进行维护管理,可以显示自己的提问、查询、浏览典型问题和最新问题。具体步骤如下:

(1)规划数据集

作为简化的版本,该系统涉及到的数据有用户、问题和问题答案。“用户”分为学生和教师,学生具有用户名称、密码和Email属性;教师有姓名、密码、简介和Email属性。“问题”指学生的提问,从属于学生,包括学生id、问题标题、内容和是否解答属性;“问题答案”从属于“问题”,同时从属于教师,包括教师id、问题id、内容、回答时间和是否典型问题属性。

(2)创建模型

基于本实例中的实体,建立4个数据表students、teachers、questions和answers 。对应的4个模型文件以及表间关系如下:

(3)设计控制器

采用基于资源的设计思想需要把应用的功能划分为一个个控制器,由控制器来暴露资源。因此,控制器的设计就是资源的设计,系统需要实现的功能是对资源的定义及命名,因此资源的命名最好名词化。Rails控制器用Ruby类来实现。本系统设计了8个控制器。

学生控制器students_controller:实现对学生资源的CRUD操作,该控制器(类)的根URI为/students。

教师控制器teachers_controller:实现对教师资源的CURD操作,该控制器的根URI为/teachers。

问题控制器questions_controller:从属于学生资源,该控制器的根URI为/students/{id}/questions。“我的问题”由QuestionsController#show方法完成,对应URI为/students/{id}/questions。“我要提问”由QuestionsController#new方法完成,对应URI为/students/{id}/questions/new。

对于非CRUD操作,如“最新问题”、“典型问题”和“问题查询”等功能,将其资源化后对应的控制器、URI、HTTP动词、action以及操作描述如表2所示。

答案控制器answers_controller:从属于问题资源。该控制器的根URI为/questions/{id}/ answers。教师“解答问题”实际上是创建资源,由AnswersController#new和AnswersController#create来对答案表的create操作。

最后是用户登录和退出控制器login_states_controller,根URI为/login_States。登录和退出对应的Rails方法分别为LoginStatesController#create和LoginStatesController#destroy。

(4)routes.rb文件

资源创建好之后,需要将HTTP动词、资源URI和action联系起来,即将请求路由到资源并进行处理。Routes.rb文件部分内容如下:

(5)设计视图

视图文件对应各控制器的action。以“问题查询”为例简单介绍相关代码。提供页面供用户输入关键字的视图文件index.html.erb主要内容如下所示:

<%#以下代码使用 form_tag辅助方法构造表单,提供查询所需关键字的输入。通过params[:title]返回参数,提交后通过SearchQuestion控制器的create方法完成查询工作。%>

查询结果的视图文件create.html.erb主要内容:

(6)系统的实现

通过Rails的脚手架(scaffold)生成模型、迁移任务、控制器、routes.rb文件和视图模型,然后进行修改和扩展后即可。如,“问题查询”控制器search_questions_controller.rb中相关代码:

6 结束语

本文从资源的角度研究了基于Rails框架下RESTful Web应用的原理与开发过程,以实例实现了资源的规划、Rails控制器的创建、基于资源的路由的定义以及嵌套资源的定义与操作,为系统的功能创建相应的资源,完全没有针对功能定义action,所有的操作都是由HTTP动词和REST URI来决定的。文章强调了基于资源的思想,以及资源的HTML表示形式,这种完全基于资源的WEB应用开发,不仅将对象实体资源化,并且将功能也资源化。这是REST的思想从Web services的应用到Web应用程序开发的一种探索和实践。同时,我们看到了RESTful Web应用程序和传统Web应用程序最大的不同是HTTP方法的使用,这种基于资源的设计思想非常适合于主要提供数据服务的Web应用的开发。

参考文献

[1]Roy Thomas Fielding,Architectural Styles and the Design of Network-based Software Architectures[EB/OL].http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm,2000.

[2]黄翀.REST开发框架纵览[J].软件世界,2007,(17):40-41.

[3][美]Leonard Richardson,Sam Ruby著.RESTful Web Services中文版[M].徐涵,李红军,胡伟译.北京:电子工业出版社,2008.

[4]陈磊.REST的真谛[J].软件世界,2007.(9):38-39

[5]REST及RESTful的实现[EB/OL].http://tech.sina.com.cn/s/2009-09-06/00351056986.shtml,2009.

[6]Ralf Wirdemann,Thomas Baustert.RESTful Rails Development[EB/OL].http://www.b-simple.de/download/restful_rails_en.pdf,2007.

[7]Dave Thomas,David Heinemeier Hansson.Agile Web Development with Rails,Second Edition[M].The Pragmatic Programmer,2005.

面向应用论文 篇9

近年来, 循证医学实践信息资源及相关评价文献数量不断增长, 循证护理实践越来越受到关注。与循证医疗相比, 循证护理应用面临巨大挑战, 据相关文献调查, 大多数护士在日常工作中需要信息帮助, 只有一半护士使用过相关电子文献数据库。在具体护理实践中, 大多数护士从来没使用过临床指南数据库, 护士对同事的信任超过了对电子目录数据库的信任, 遇到问题时偏重于同事之间语言交流[1]。在医院信息化建设不断深入的情况下, 临床信息系统建设应满足护士循证护理决策信息需求, 将信息化工具与护理工作流集成, 为临床优质护理提供信息化工具支撑。

国内外有许多项目对循证医疗的信息基础架构、患者安全、临床数据采集以及用户接口、卫生健康信息标准、临床事件监测、通信技术、临床信息系统以及信息完整性等进行了相关研究[2,3,4], 临床护理信息化研究也在基础数据架构、数据挖掘等方面有一定进展, 但通过临床信息系统实现临床护理决策支持, 在护士工作流集成循证医疗护理研究和信息化实践方面的报道并不多见。本文介绍我院将循证护理与医院CIS相集成提供护理决策支持, 以临床路径为核心的护理信息化支持系统的基础架构, 以及保障患者医疗安全方面信息化建设的主要做法, 主要目的是分享我们将循证医疗应用于医院临床护理的经验, 以推动我国医院护理决策支持信息系统建设。

1 护理决策信息化应用

临床决策支持系统是帮助临床医护人员进行医疗护理决策的计算机程序工具。我院的护理临床决策工具主要包括:信息管理、关键警告提示以及患者健康咨询。 (1) 信息管理工具帮助医护人员进行相关信息访问管理, 包括各种文献电子数据库、用药知识库以及循证医学知识库等; (2) 提示警告工具提醒医护人员在具体工作中各种警示[5], 如检验报告异常报警、潜在的药品不良反应、相关医疗规范的超越等; (3) 专门的患者咨询工具提供了以患者为核心的信息查询、决策分析以及循证诊疗方案建议等[6]。这些信息化工具是循证医疗护理决策支持实践的重要组成部分。

1.1 信息管理工具

日常护理中许多信息管理工具是作为独立应用系统存在的, 如为满足各种工作需要, 在已有的临床信息系统CIS中, 集成其他类型的软件系统, 在医院Intranet内进行共享访问, 典型应用有药品用药知识库、医院内部的各种疾病诊疗指南等。在病区护士站, 我们集成了基于Web方式的信息访问工具, 可以在CIS的具体操作中实现特定工作环境的信息访问, 在护士站可以访问住院患者检查申请安排时间, 实现患者检查申请预约时间安排的咨询服务, 使医院检查工作患者流动更加有序化, 通过院内网络信息访问实现了护理工作流程中的相关信息共享[7,8]。

护理决策中需要的各种信息要按照临床信息系统应用场景进行归类, 以便能够在具体的工作流中随需共享。我们选择了能够满足护理决策需求的各种信息资源, 根据CIS中各种使用场景如检查结果调阅、电子医嘱录入以及文档浏览等进行了分类, 与CIS应用联接, 使医护工作者能够在临床医护决策流程中进行相关信息阅览, 满足决策需求。2011年1月至2011年8月, 全院共访问各类信息26 527次。最主要的优点是根据使用者的需求, 提供了各类循证决策信息, 帮助医护工作者在使用临床信息系统的过程中进行循证医疗实践。

1.2 警示警告工具

基于计算机系统的提醒警告在临床医生端的应用取得了很大进展, 典型的应用有药品不良反应应用、药品与实验室检查结果的校验等。这些警示大多数都与计算机电子医嘱录入和门诊电子处方系统相集成, 很少有应用于护理临床路径循证决策的提示告警的报道。

护理决策信息警示开发的策略是实现基于循证医学的护理计划以及个性化医护风险评价决策目标, 目前已经实现了患者营养状况的分析评估综合评价, 实现了临床护理路径的智能提示提醒。下一步将根据国外的最新研究对骨科患者跌倒的风险进行评价, 将其嵌入到医院的CIS中, 实现相关查询, 保障患者的医疗安全, 向患者提供个性化的护理服务。

1.3 循证决策信息咨询

近年来, 计算机在帮助医生提供标准化诊疗服务方面取得了很大进展, 基于临床诊疗指南的计算机辅助提醒对提升医疗质量、规范医疗行为有重要作用[9]。目前国内临床路径应用主要集中于临床医生端相关电子化应用, 对循证护理、护理决策以及以患者为核心的循证信息咨询应用还不多见。

将临床决策推理规则与患者的个性化检查检验等信息数据与临床相关应用相集成, 是循证医疗决策实现的最佳途径。在具体临床医疗实践中, 许多场景下如医生查房并非必须通过完整的集成应用访问患者信息, 最近几年, 平板计算机、个人数字化助手PDA在基于临床路径的相关应用中作用愈加显现。目前, 护理PDA虽还没有大规模在医院临床应用, 但其在患者临床安全的应用已显端倪。我们循证护理实践策略是开发基于平板计算机的应用, 配合医疗临床路径应用, 完整体现临床医护以人为本、服务患者的理念。基于临床路径规范的标准化诊疗护理计划, 以循证医疗为基础, 结合卫生部临床路径应用指南, 以信息化手段向医护人员提供软件支持。具体临床决策实践中, 患者的诊疗计划往往与个性化指证有密切关系, 如患者体质量、既往史、各种检验指标等, 所以需要在护理工作中实现患者的综合信息共享与集成。

临床路径患者信息咨询提供特定患者的护理康复计划要点, 对患者的诊疗、检查、医嘱以及转科等提供信息咨询, 结合临床路径相关文档模板, 以电子化方式实现不同专业如医、护、患之间的医疗协同[10]。图1展现了相关临床路径执行过程中护士PDA的屏幕界面。我院基于临床路径护理决策信息化PDA应用主要集中在: (1) 事件提醒; (2) 护理评估以及标准化护理方案计划制定; (3) 基于循证的个性化护理以及工作流程的护理控制。

2 护理决策中的信息支持基础

基于循证医学的临床护理决策实践是建立在医院临床信息化与患者安全基础上的。临床信息化建设内容对护理决策支持有重要影响, 临床数据采集与软件界面、临床信息标准、临床数据仓库以及循证医学电子数据库建设是支持护理决策的重要方面。运用信息化技术手段将这些内容集成到医院CIS中, 对临床护理信息化建设有重要意义。

2.1 临床数据采集与用户界面

临床数据采集与用户接口界面对临床医护决策支持应用有重要影响。目前医院临床数据的访问大都是通过Web访问实现的, 临床决策信息系统中数据采集要尽量做到电子化、自动化, 避免重复的手工数据录入。在临床路径应用的PDA移动护理中, 循证医学指南电子数据库、患者年龄、身高、体质量、体温、脉搏等护理决策中需要的数据, 也需要尽量实现自动化采集, 避免护士手工录入, 能从HIS内部获取的数据尽量从内部数据库获得, 以保持决策数据一致[11]。

2.2 临床数据标准

临床信息数据标准是临床医护决策信息支持的基础。临床电子病历EMR应用中常常集成了多种临床标准化术语系统, 循证医学信息支持中需要实现与工作流程相关的文献检索。如在进行护理跌伤评价项目内容时, 需要支持类似术语的数据代码, 通过统一医学语言系统和概念术语系统进行标志、命名并实现数据库代码支持;在临床路径应用中, 临床概念术语涉及国际疾病分类标准ICD、临床诊断分类以及SNOMED临床术语等标准。

其他相关的临床标准包括HL7消息、临床指南表达格式等, 同时临床路径应用中各种注释模板的规范化以及在技术上同HL7 CDA标准保持一致, 也对临床医护决策信息系统的实现具有重要作用。

2.3 临床数据仓库

临床数据仓库是临床决策应用必需的基础构件。在患者的相关评估中, 需要从临床数据仓库中检索患者的临床数据信息。病区护士PDA移动护理一方面通过无线Wifi网络得到相关临床数据进行医护决策, 另一方面也采集患者的相关临床数据通过无线网络传递到临床数据仓库中, 信息的传递过程实现了移动PDA应用与临床数据中心的双向传递, 保障了整个患者临床数据的一致性。

2.4 电子化循证数据库

电子化循证数据库集成是临床决策信息支持的重要内容。通过访问国内外各种循证医疗源数据库, 实现了CIS中的循证指南参照和信息集成, 从而在医院信息系统的执行过程中能实现临床路径设置的不断改进[12,13]。我们在护理PDA结合无线移动方面实现了患者的医疗风险评价, 根据患者体质量及各种风险因素给出护理干预措施。PDA软件中也实现了病种临床规范, 如国家卫生部临床路径指南的文档查阅, 以帮助医护人员进行医护计划方案制定和决策信息支持。

3 结语

面向对象建模技术的研究与应用 篇10

总之,面向对象建模技术有助于我们得到系统的整体概念。对于大型项目,常犯的错误是只见树木不见森林。如果手边能有几个可以从不同侧面来理解全局的模型图,则在进行软件设计时就会更容易些。本文就是围绕UML建模技术来进行研究的。

1 面向对象建模的技术基础

1.1 建模用例

从本质上讲,一个建模用例是用户与计算机之间为达到某个目的的一次典型交互作用。建模用例描述了用户提出的一些可见的需求,对应一个具体的用户目标。分析典型建模用例是开发者准确迅速地了解用户需求和相关概念的最常用也是最有效的方法,是用户和开发者一起深入剖析系统功能需求的起点[1]。

通过与典型用户交谈,请他们讲明他们希望系统做哪些事情,为他们提供哪些服务。软件开发人员记下用户想做的每一件事,并为之取一个名字,再写上简短的文字描述,这样就获取了所需要的建模用例。一系列建模用例的集合就组成了整个系统的需求。

1.2 建模类图

建模类图技术面向对象方法的核心技术。一个系统可以看作是由一些不同类型的对象组成的,对象类之间的各种关系反映了系统内部各种成分之间的静态结构。建模类图描述了系统中各种类及其相互之间的各种关系,其本质反映了系统中包含的各种对象的类型以及对象之间的各种静态关系。

另外,建模类图也可以描述类的属性和行为以及对模型中各种成分的约束。类与类之间有着各种不同的联系,譬如相互关联,依赖性,特征性[2]。所有这些联系以及类的属性和行为,都可以在建模类图中清晰地加以描述。建模类图使用于软件开发中的各个阶段。

2 面向对象建模技术的应用

应用开发生命周期的分析阶段将用户需求结构化并形式化。这个阶段的产品描述未来的系统应该做什么,而不描述怎么作[3]。在对象技术中,分析阶段的产品是模型,该阶段通常被称为建模阶段。下面以社会保险管理系统为案例,探讨一下面向对象建模技术的应用。

2.1 对象的确定

社会保险管理系统包括养老保险、医疗保险、生育保险、失业保险、工伤保险等五个险种的管理。社会保险管理系统向参保对象提供各种服务,例如参保对象管理,基金收缴,待遇支付等。社会保险机构参加保险的在职人员是缴费对象,参加保险的具有待遇享受资格的人员是待遇享受人员,这根据不同的险种有不同的解释。例如在养老保险中,在职人员和职工(包括在职职工和退休职工)所在单位是缴费对象,而离退休人员是待遇享受对象;在医疗保险中,在职人员和单位是缴费对象,而每个缴费的职工和单位为之缴纳医疗保险金的离退体人员都是待遇享受人员;在工伤保险中,单位是缴费对象,而只有受工伤的职工及其家属才是待遇享受对象。

本文从应用的问题域和初始用例找出潜在的对象。根据这个原则,本文找到的潜在对象类如表1所示。

2.2 候选类的确定

下面来分析一下候选类,看看这些候选类中是否有重复,不重要的候选类,是否有实际上是类的属性,方法或反映对象类的角色的候选类。

本文研究的社会保险管理系统,业务员和社保机构是重复的,为了更好地描述对象类,我们删去业务员而保留社保机构。待遇和待遇明细都是指待遇享受人的待遇,我们保留待遇,删去待遇明细待遇享受人也是参保对象,并且是参保对象中具有某种资格条件而具有享受待遇条件的参保对象。它有可能在以后称为参保对象的子类。参保对象基本信息与参保对象语义重复,我们留用参保对象。保险金最后融入账户之中,我们采用账户。

此外,本系统将各个险种的账号用不同的接口分开,使不同的险种对实体类的不同处理通过不同的接口分别实现,例如,账户类的定义如下:

2.3 系统的对象用例

在社会保险系统中,在职人员的各种变动处理和应收核定中都要用到欠款核定,为此单独定义一个核定欠款的用例,各种在职变动和应收核定使用这个用例。扩展描述一般行为的变化,在当两个或多个用例中出现重复描述而又想避免这种重复时采用。系统的基本对象用例如图1所示。

2.4 系统的类图示例

在社会保险系统中,由于养老、医疗、失业都有个人账号和单位账户,而工伤则只有单位账户,本系统在账户、单据类中加入对象类型属性以标注所属个人或者单位。在处理地则根据这个属性和险种通过相应持久化类的方法存取数据库中的对应数据。本系统的类图示例如图2所示。

3 结束语

面向对象建模技术适用于系统开发的不同阶段,从需求规格描述到系统完成后的测试。在需求阶段,可以用用例捕获用户需求,通过用例模型,描述对系统感兴趣的外部角色和他们对系统的功能要求。分析阶段主要关心问题域中的主要概念和机制,需要识别这些类及他们之间的关系,并用类图来描述。总之,面向对象建模技术有助于设计较好的面向对象程序。

摘要:面向对象建模技术有利于从全局的角度对系统加以设计。该文在明确面向对象建模技术重要性的基础上,分析了面向对象建模的技术基础,并以社会保险管理系统为案例,探讨了面向对象建模技术的应用,涉及到对象及候选类的确定、用例图及类图的设计等。该文对相关系统的面向对象建模应用提供了一定的借鉴作用。

关键词:面向对象建模,UML建模,对象用例和类图

参考文献

[1]梁玮.基于UML的面向对象建模方法研究[J].软件导刊,2009(10).

[2]王凤斌,段隆振,李向军,甘晟科.UML面向对象建模在管理信息系统中的应用[J].计算机与现代化,2005(2).

面向应用论文 篇11

关键词:计算机基础  应用型人才  教学改革

1 概述

随着时代的进步和我国教育制度的不断改革,高校也应在计算机基础教学各个方面做出不断调整。以培养符合新时代需要的应用型人才为目的进行教学,即转变教学形式和方法,将以教为中心转移为以学为中心,培养学生的学习兴趣,提高学生的动手能力,让学生由被动学习转为主动学习。

2 计算机基础课堂教学

以往的计算机教学,教师主要采用以传递教学信息,实现教学目标,完成教学任务为目的,向学生传授知识,培养技能的教学形式,即以教为中心,课堂上多是以教师主讲为主,虽然在教学过程中,许多教师为了培养学生的学习兴趣,运用多媒体技术,在课件上下很大功夫,课件内容生动形象,富于变化——使抽象化变为具体化,深奥的算理方法通俗化,静止的问题动态化等,但对学生来说,却像过眼烟云,课后没一点印象,上机练习时还是什么都不会,其主要原因是学生是被动学习,学生课前不预习,没有问题思考,上课就像看电影,老师不过是在解说,解说的好坏对学生的操作和思维帮助甚小。

3 计算机基础实验教学

由于课堂教学中,学生只看到了课程内容的效果,而对其具体操作不清楚或记不住,因此在实验中,即使课堂上讲过很多遍的操作,他仍然不会,所以很多人会问许多同样的问题,甚至有时老师还要当着学生的面,亲自一步一步操作给他看。另外,大学教学不同于中小学教学,老师课堂上讲述的内容和实验内容不是一一对应的,需要学生课后根据实验内容提炼总结,才能掌握,而现在大学生很少有课后看书学习的习惯,其它课程的作业可能会去做,但计算机基础的实验很少有人想到多去计算机上练习练习,大部分同学都是应付,其根本原因是现在计算机太普及了,很多孩子上网、聊天、打游戏很熟练,但对计算机基础教学内容听不懂,认为没有用,不愿听课,上机第一件事就是打开QQ,不会的问题不去思考、查书,就是上百度搜,搜完后复制、粘贴,不往脑子里记,更没有意识到计算机知识与技术对解决自己专业实际问题,以及将来的学习、工作、日常生活、休闲娱乐等方面会有多大的帮助。不知道学习计算机基础知识是社会发展的需要,也是必然的发展趋势。

4 教学改革措施

4.1 更新课堂教学模式 将传统的以教师为中心的教学模式转变成以学生为中心、教师起积极引导、面向实用的教学模式。在计算机基础教学过程中,利用问题和任务来驱动教学。教师可以将教学内容做成问题,将学生分成若干小组,让学生自行讨论,再随机提问各组,既可以活跃课堂的气氛,又可以促进全体学生积极思考,最后由教师给出答案,对同类计算机基础知识点做出归纳总结。这种方法既能解决学生个体水平差异的问题,带动基础较好学生的学习积极性,又能为基础较差的学生起到一个缓冲作用,激发他们对上机操作的兴趣,提高实际应用能力。另外,在每次课堂教学结束前,将下一次课堂教学内容公布给大家,让同学们提前去练习,寻找答案,更好的激发学生的学习兴趣,变被动学习为主动学习,让学生带着问题去学,提前肯花时间在研究计算机操作上,提升学生对计算机的应用能力。

4.2 实验教学改革 实验教学可分为两个环节,第一环节是对上次课堂教学内容的练习,第二环节是下次课堂内容的练习和查找。在实验中,充分发挥小组作用,每个人的问题先自己想办法解决,自己解决不了的在小组中询问,小组中也不能解决的,再问老师,这时候老师的讲解,就不是一对一,而是一对多。这样做,既培养了学生独立思考的能力,也培养了同学之间的协作能力、共同探讨问题的能力和相互学习能力,同时也促进大家积极向学,不甘落后。另外,计算机基础作为实践性较强的学科,学校应加大机房和硬件设备的投入以保证计算机基础教学工作的正常运行。同时学校应主动创造多元化的网络教学环境,可以建立师生互动性的教学网站,学生可以直接在网上提交作业,教师批改作业和答疑解难。

4.3 考核方式改革 考核是检查学生掌握计算机基础知识的手段。考核的重心放在实际应用能力上,促使学生重视基础应用能力的掌握。因此建议考教分离,采用机试形式,即建立网络平台,因在平台上由题库随机出题,同时考试,且每个学生的题目不同,所以每个学生必须自己掌握操作,独立完成。这就避免了相互复制粘贴、作弊等,保证了考试的公平、合理。虽然考核方式只是促进计算机基础教学的一种手段,但对促进学生掌握计算机基础知识、培养学生实践动手能力还是非常重要的,也有助于学生综合能力的提高,增强应用能力。

5 结语

总之,计算机基础教学需要在多方面做出改革。教师应在教学模式、教学手段和考核模式改变的基础上,通过加深对学生学习需求的了解,科学地、有针对性地组织教学,不断提升自己的教学水平,所谓教学水平的提高,不仅是讲解能力的提高,更重要的是引导水平的提高,即在课堂上怎样引导学生学会自主学习、自主研究,提高计算机应用能力,把学生培养成计算机应用型人才。

参考文献:

[1]张志成.新时代面向应用的计算机基础教学改革[J].信息传媒,2013.

[2]李昂等.浅析大学计算机基础教育改革[J].科技论坛,2014.7.

[3]冯博琴,张龙.迈向计算机基础教学的新高度[J].中国大学教学,2009(04).

面向学生软件开发过程应用实践 篇12

软件企业要求员工不仅有良好的软件开发技术,同时也能够按照企业的软件开发过程来完成软件产品的开发。

目前有许多流行的软件过程模型,如RUP、TSP/PSP、XP等[1,2,3,4]。这些软件过程都是针对软件企业设计的,直接应用到学校教学存在各种问题。本文通过对目前常见的过程模型研究,提出了软件过程模型HKSP[5,6],该模型针对在校学生设计,让学生在项目开发中学习和体会软件过程,达到培养学生过程能力的目的。

1 过程模型

1.1 在校学生特点

软件过程包括过程模型、活动、角色、中间产品等方面。定义软件过程是为了规范软件开发活动,提高软件开发效率。现有的软件过程都是针对软件企业设计的,很难直接应用到学校的教学中。与软件企业工程师相比在校学生有自己的特点。

第一,企业员工追求的目标是开发合格的软件产品,而在校学生则对软件开发技术更感兴趣,乐于尝试应用新技术开发各种演示软件,至于如何把这些演示软件转化成软件产品则既不关心也不愿意去做。

第二,软件开发是软件企业员工日常工作,他们需要对自己开发的产品负责任,而在校学生即使在实习或者实训期间,也很难把所有的精力投入到软件开发中,更重要的是,在校学生普遍缺乏质量意识,在开发规范方面接受的训练比较少,因此开发出软件很难达到产品的要求。

第三,软件开发的组织方式上有很大的不同。企业软件开发大多是按照项目组的方式进行组织,项目组成员各有分工,大家相互协同完成软件产品的开发。在校学生即使是按照项目组的方式进行组织,也很难进行有效的工作划分和协调。多数学生对软件编码更感兴趣,对软件开发规范不够关心

为解决这些问题,需要对学生进行软件过程培训,对学生软件开发的过程和规范进行培养,提高学生产品的意识,使学生认识和体会到过程规范的重要性。

1.2 HKSP软件过程模型

结合学生特点本文提出了一个针对在校学生的软件过程HKSP。该模型包括多个周期,每个周期包括启动、需求、设计、实现、集成测试五个阶段,如图1所示。

过程模型采用迭代增量的开发方式,每个周期完成部分软件产品。周期一完成产品的框架;周期二完成产品的主要功能;周期三完成产品所有功能。

项目启动阶段完成项目开发计划和阶段计划的制定,过程知识的培训,角色划分;项目需求阶段完成需求获取,编写需求分析文档;设计阶段完成软件的概要设计;实现阶段完成软甲的详细设计、编码和单元测试;集成和测试阶段实现单元的集成和功能测试,保证软件能够完成要求的功能。

过程框架设计了四个角色:项目经理、系统分析员、程序员、测试员,如图2所示。项目经理负责制定项目开发计划、组织项目例会、跟踪和协调项目进度;系统分析员负责获取用户需求,设计软件结构,任务划分、分配和验收;程序员负责软件开发和单元测试;测试员负责系统集成,组织和指导软件测试工作。

为了更好地帮助学生了解和学习软件过程,HKSP软件过程划分成多个子过程。在每个循环中重点实施不同的子过程,方便学生循序渐进学习和掌握过程内容。这些子过程主要有:需求子过程、产品集成子过程、测试子过程、计划跟踪子过程[6,7]。

2 过程实施

HKSP首先在实验小组进行了试用,在一个实验项目和多个实际项目中进行了实验[7,8]。在此基础上把这个过程模型应用到专业实习中。

2.1 项目组织

专业实习为期两周,共计70人参加。为了让学生更好地体会软件过程,兼顾到两周的实习时间,选择一个小游戏作为目标项目。

受实习时间限制,软件过程培训需要分散到各项目开发过程中,整个项目开发划分成两个周期。在第一个周期中,每天由老师对学生进行过程培训,带领学生进行过程实践,第一个周期完成项目计划、需求分析、框架设计、界面设计和一个简单原型;第二个周期完成需求中列出的软件功能,完成软件集成和测试。

实习学生分成多个小组,每个小组4~6人,每个人承担一个角色。一个项目经理、一个系统分析员、一到三个程序员、一个测试员。在教师的指导下每个小组需要确定自己的进度计划和项目工作安排。

2.2 需求子过程

需求子过程包括需求的获取、分析和文档化。需求分析是软件开发的基础,也是软件产品开发成败的关键。在HKSP过程中需求阶段主要实施需求子过程。

需求子过程的过程定义:包括过程的活动、活动主要内容、得到的结果、负责角色、参与角色。实习的学生按照这个定义步骤完成需求分析阶段工作。

2.3 产品集成子过程

系统分析员负责项目小组任务分配和工作验收,同时还负责把开发好的软件模块集成到系统中。第一个周期中,指导教师负责对学生进行产品集成子过程进行培训,帮助每个小组的系统分析员进行产品的集成;第二个周期中学生自己完成软件产品的集成工作。

产品集成子过程在各个学生小组中实施都比较困难,主要原因是软件的设计比较粗,软件接口定义不清楚,这样开发出来的软件在集成时出现了各种各样的问题。另外学生不习惯这种合作的开发方式,大家不能够按照统一的规范进行开发,这也导致集成出现困难。

2.4 计划跟踪子过程

计划跟踪子过程强调工作之前有计划,工作过程有记录,工作完成有总结分析。项目经理负责制定计划,包括项目开发计划和每个阶段的阶段开发计划。由于学生对制定计划很陌生,因此第一阶段的计划普遍偏差比较大。到了第二阶段情况有所改善。两个阶段各小组平均的时间计划准确度如表1所示。

从表1可以看出通过训练学生在第二个阶段计划的准确度较第一个阶段有明显提高。

2.5 测试子过程

测试员负责组织软件的测试工作,包括编写测试用例、组织测试、进行测试分析。经过两个阶段的实施,学生基本上能够比较好地掌握测试子过程。表2为某小组两个阶段软件缺陷个数统计。如表2所示,所选小组两个阶段每千行代码缺陷数比较稳定,第二个阶段略有下降,主要应该是对语言和开发环境熟练程度提高的结果。

2.6 考核方式

为了更好地保证实习的效果,督促学生更好地学习软件过程,本文为实习设计了一套考核方式。考核包括教师评价和学生小组互评两个方面,各占综合成绩的70%和30%。每个学生的互评成绩是其他学生打分的平均值,小组成绩是由教师给每个小组的一个成绩。教师成绩包括项目完成情况和过程执行情况。小组互评成绩是每个小组成员对其他成员项目工作努力程度的评价,表3是某小组成员的成绩。这样可以充分发挥教师和小组成员的监督作用,也使得成绩更加真实合理。

3 过程实施结果

通过软件过程实习和实践,学生最重要的收获是过程思维的培养和强化。经过这个实习,学生开始了解采用项目组的方式进行软件开发,按照过程确定的活动进行工作,完成需要的中间产品,能够及时在小组内进行沟通和交流,为将来工作中实际的项目组工作打下一个基础。

为方便学生的过程学习,需要教师提供指导和支持。教师在第一个周期按照子过程对学生进行过程培训,指导各个项目小组完成项目和过程工作。对所有的过程中间产品,教师需要提供文档模版和样例,方便学生学习、模仿,提高了学生文档的规范性。

学生在实施过程中,学习制定计划,对自己制定的计划进行跟踪,并通过分析计划和跟踪数据,可使以后制定的计划更准确。通过这种“计划—实施—修正”计划的循环,学生过程经验得到不断积累。在过程实施中鼓励学生提出自己的意见和改进建议,结合收集到学生的意见和建议,在每个周期结束后都能够对HKSP过程进行改进。

软件过程中通过定义角色,让项目组中的每个成员都独立担当至少一个角色,这有利于调动学生参与项目的积极性,让所有的项目组成员都能够参与到项目开发中。同时在考核时引进小组互评机制,让最了解项目小组成员开发贡献的人进行工作评价。这可以有效避免一个小组中只有个别人干活,其他人搭车的现象发生。

在过程实施中,教师需要全程监控各个小组的执行情况,对出现问题的小组进行干预,保证过程的有效执行。由于实习的时间比较短,过程实施只能进行两个循环,这样学生对项目开发工作和过程工作做的不够细,过程实施也不够全面。对于HKSP过程,最好能够实施三到四个循环,实习时间延长为4~6周效果会更好些。

4 结束语

HKSP软件过程是针对高校在校学生设计的一个软件过程,经过两届学生的实际使用,这个软件过程对学生了解和体会软件过程基本内容有很大帮助,同时提高了学生的过程能力,提高了学生的就业竞争力。随着教学计划的调整,以后的实习时间会适当增加,这可以更深入地进行软件过程的实践,同时也期望这个软件过程对其他的学校实践和实习有一定的启发和帮助。

摘要:软件企业希望聘用懂技术又熟悉软件过程的员工,而在校学生更重视软件开发技术的学习,过程训练欠缺是普遍存在的问题。为提高在学校生的过程能力,通过对在校学生的特点进行分析,在现有过程模型的基础上提出了针对高校学生的过程模型HKSP,并在学生实习中实施了这个过程模型,收到了较好的效果。

上一篇:检验认证行业下一篇:中国传统新闻媒体