通用软件

2025-02-01

通用软件(精选9篇)

通用软件 篇1

摘要:网关是用于提供协议转换,解决异构系统之间通信问题的设备。本文的目的是在分析现有协议格式的基础上,设计一个通用的协议转换模板,并对常用协议进行描述和转换,部分实现协议转换的通用性,并在HIT-GPTA平台上进行了验证,解决了HIT-GPTA平台与大多数异构系统之间的通信问题。

关键词:通用协议转换,协议格式,解码,编码

1 引言

所谓通信协议是指通信双方的一种约定,约定包括对数据格式、同步方式、传送速度、检纠错方式以及控制字符定义等问题作出统一规定,通信双方必须共同遵守[1]。不同体系结构的系统一般采用不同的通信协议完成系统内部成员之间的通信,这固然为本系统的设计带来了很大的方便,但因为不同系统的通信协议往往不同,当本系统需要同其他系统进行通信时,会因为协议的不同造成通信障碍[2]。为解决异构系统之间因通信协议不匹配造成的通信困难,需要在两个系统之间添加一个协议转换器。目前的通信协议转换器大多选用或者自行开发专用的网关,但是专用网关由于重用性差,将导致多次的重复开发,浪费大量的人力和物力[3]。

由于不同通信协议的协议格式有许多相近之处(如数据帧由帧头、数据项、帧尾等组成,包含校验等处理信息),这就使得设计一个一定程度的通用协议转换器成为可能[4]。本文通过对现有协议的分析,提供了一种比较通用的协议格式模板,通过对该模板的实例化可得到各种实际协议的格式信息。另外,本文还实现了对符合用本模板所描述协议格式的协议数据处理及转换过程,并在由哈尔滨工业大学开发的HIT-GPTA平台上进行了验证。

2 需求分析

通用网关协议转换软件的用户需求定义如下:

分析现有通信协议格式,提出各种协议的表达方法,并抽象出一个能够涵盖大多数常用雷达、导弹协议的协议格式模板,通过对该模板的实例化能够得到现有格式的描述信息。所建立的模板应提供最基础的协议元素编辑支持,提供不同数据类型的协议元素的支持,提供元素位定义支持,提供开放式的函数处理功能支持,提供格式描述信息的串行化输出功能,能够保存已建立的协议格式信息并在需要时导入该信息。设计符合HIT-GPTA平台接口规范的协议编解码组件,该组件能够加载格式描述文件。协议编解码组件应提供协议数据的动态处理功能,能够根据格式描述信息加载相应动态链接库,调用相应动态链接库函数,根据函数参数列表对协议数据元素进行相应处理。

根据用户的需求定义,可将本系统划分为两个主要的功能模块:协议格式库管理软件和协议编解码软件。格式库管理软件通过对格式模板的实例化,生成具体协议的格式描述信息并串行化输出为格式特征描述文件;协议编解码软件加载格式特征描述文件,并根据用户所配置的信息初始化网络收发信息,在平台开始运行后,接收由网络传来的数据并解码发布,根据所订购到的数据信息编码输出到相应设备。系统用例如图1所示。

3 协议格式模板设计

协议转换器的通用性决定于协议格式模板的通用性,为了抽象出一个较为通用的协议格式模板,需要先对通信协议进行分层管理以方便数据结构的设计,然后分析多种具体的协议格式,并得到他们之间格式上的相似之处,进而抽象这些相似之处,形成本系统的数据结构。根据协议分层管理的概念,可将协议分为三个层次:协议集、协议项、协议元素,如图2所示。

对一些有代表性的协议项进行分析可得以下概念:一个系统所有协议的集合称之为协议集,可为协议集设计名称、ID、协议项列表等属性;每一个协议项又应该有名称、ID、帧头列表、元素列表、帧尾列表等属性。以上协议集和协议项的属性是一般协议所共有的,对于协议项的组成部分如帧头、元素、帧尾的具体结构则因协议的不同会有较大的差异。

基于上述概念,采用面向对象的思想,可以进行协议格式模板的设计。协议可以分层表示为协议格式集、格式项和协议元素,故在设计数据结构时可分别设计为格式集类(C Protocol Muster)、格式项类(C Protocol Item)、协议元素类(C Protocol Element)。另外,为了描述协议项的传输特性,设计了帧头、帧尾(C Head Format)类;为了支持位处理功能及函数处理功能设计了数据元素位类(C Data Bit)和处理函数类(C Process Fun)。

4 软件的设计与实现

基于用户需求定义及系统功能分析,采用面向对象的方法对系统进行详细设计。根据需求分析,需要设计两个软件,分别是协议格式管理软件和协议编解码组件。格式管理软件的设计包括软件的静态模型、交互模型及用户界面的设计[5]。协议编解码组件的设计包含四个方面的内容:解码类设计、编码类设计、平台组件接口类设计和用户交互界面设计。

格式库管理软件为用户提供可视化界面操作,其内部数据结构为组成格式模板的几个类,用户可以利用该软件建立自己的协议格式库或加载现有协议格式特征描述文件,其类图如图3所示。

协议编解码软件加载格式管理软件所生成的格式特征描述文件,在接收到协议时自动识别协议数据所符合的格式项,利用该格式进行解码并将协议数据按照HIT-GPTA平台能够识别的方式发布出去。另一方面,订购相关数据并按照与解码项所对应的编码项进行编码并输出。协议编解码软件类图如图4所示。

5 软件测试及结果

本系统测试环境由两台通过局域网连接起来的节点计算机组成,其中一台结点计算机上安装了格式库管理软件和HIT-GPTA平台,协议转换在该计算机上完成,另一台节点计算机作为异构系统与平台进行通信测试。

系统的测试包括三个部分:格式库管理软件的测试、解码功能测试、编码功能测试。

格式库管理软件测试主要目的是检测该软件能否按照需求分析中的要求描述现阶段所需要转换的所有自由协议。

解码功能的测试方法是由异构系统的功能模块向HIT-GPTA平台发送数据,协议转换软件接收数据后进行解码并将协议元素按属性通过本地通信代理进行发布,或编码后进行输出。

编码功能的测试由试验组件发起,协议转换组件将所订购的数据编码发布到异构系统的功能模块,若异构系统所接收的数据符合理论值则测试通过。以下仅给出一条测试用例:

注:输出数据经过了函数处理,处理方式为是元素0或元素1加上元素2之后乘以元素3。

通过对格式库管理软件、解码过程、编码过程的测试可以看出,格式库管理软件能够描述常用的雷达、导弹、舰船通信协议的格式;解码过程能够将通用的通信协议转换为HIT-GPTA平台能够识别的属性数据并发布,以供其他组件使用;编码过程能够将来自于其他组件的协议数据按照目的设备的协议格式进行编码并通过网络传输到目的设备。

6 结束语

抽象出了一个通用的格式模板,并为其设计了用户交互界面;设计了协议转换组件,能够转换符合格式模板的通信协议,使通用计算机具备了HIT-GPTA网关的功能,并结合测试实例进行了软件测试,实现了通用协议转换软件的设计。

参考文献

[1]桑伟.基于ARM的通信协议转换器的设计[J].自动控制,2007,(4):44-45.

[2]张源,魏冬邦,康昊.基于XML的测控软件通信协议的研究[J].遥测遥控,2010,(31-6):42-46.

[3]张娟锋,师卫,刘振国.通用通信协议转换接口的研究与实现[J].电脑开发与应用,2009,(22-5):25-26.

[4]蒋浩天.综合网络多协议转换的研究和实现[D].成都:电子科技大学,2007.

[5]赵锦蓉.通信协议转换器及其构造[J].软件学报,1995,(6):91-98.

通用软件 篇2

随着人类社会进入信息时代,无线通信技术有了飞速的发展,尤其是射频微波通信技术的产生和发展无疑对无线通信技术的发展起到了决定的作用。 以下就是由精品学习网为您提供的软件工程开题报告。

1.根据《毕业设计(论文)工作管理规定》,学生必须撰写《毕业 ,由指导教师签署意见、教研室审查,系教设计(论文)开题报告》学主任批准后实施。

2.开题报告是毕业设计(论文)答辩委员会对学生答辩资格审 查的.依据材料之一。学生应当在毕业设计(论文)工作前期内完成, 开题报告不合格者不得参加答辩。

3.毕业设计开题报告各项内容要实事求是,逐条认真填写。其 中的文字表达要明确、严谨,语言通顺,外来语要同时用原文和中文 表达。第一次出现缩写词,须注出全称。

4.本报告中,由学生本人撰写的对课题和研究工作的分析及描 述,应不少于 字,没有经过整理归纳,缺乏个人见解仅仅从网 上下载材料拼凑而成的开题报告按不合格论。

通用软件 篇3

企业规模不大,但个性十足,如何用通用化的企业管理软件来满足众多企业个性化的需求?这一问题让优耐(苏州)有限公司(简称“优耐”)的CIO刘金海挠了一年多的头。

优耐由美国Univertical Corporation于2002年在苏州新区建立的独资制造企业,采用Univertical Corporation居于世界领先地位的生产技术,主要从事高品质磷铜球、纯锡球等阳极材料、多种特殊化药品的生产和销售,产品种类繁多,所以对信息化要求非常复杂——需要一套能够串联物流、财务流信息的ERP系统。公司决策层对此还有附加要求,希望“最好能将客户资料有效地管理组织起来”,信息化系统必须满足该企业小型工厂的动态业务需求,实现进销存、财务、生产制造、CRM管理一体化。同时,优耐的生产线及人员规模都处于扩张阶段,加上母公司Univertical Corporation还在继续投资,在今后几年中还将有新的工厂建成,实施信息化建设的同时必须考虑为今后的系统升级留下拓展空间……众多因素加在一起,这个投资规模不大的“小”项目倒是让人“大”伤脑筋。

经过多番考察和讨论,优耐最终决定选用SAP的SAP Business One解决方案(以下简称“SBO”),并由明基逐鹿(苏州)软件有限公司(简称“明基逐鹿”)实施。选型结束,实施工作仍然让刘金海犯难。虽然SBO是一款针对中小企业的专用软件———功能强劲,能满足优耐管理流程需要,支持中英文界面,能提供符合中国国情的各项报表,且灵活性较大,方便日后升级,但作为一款通用化企业管理软件,在生产管理、订单打印、与母公司对接等方面与优耐的实际业务需求还是差距不小。

求同存异,搭好框架

在仔细研究项目后,刘金海领导的IT项目组与优耐的IT团队经过商榷,决定在项目实施前期,先“漠视”优耐的所有个性化要求。

明基逐鹿的实施顾问王侃告诉《IT时代周刊》记者:“ERP的实施过程中,无论企业的个性需求如何不同,但大体框架是一致的。完成框架之后再集中解决个性化需求,目标明确,节约成本,且实施过程中对企业影响不大。”

在这一思想的指导下,刘金海领导的IT项目组快速理顺了优耐的生产、销售、库存等各个业务环节,按照通用模式实现财务、库存、销售、人力资源等模块的成功上线,搭建起一个标准的信息化平台。由于不用顾及个性化需求,这一过程进行得快捷而顺利。

刘金海对此非常满意,因为“很快就见到了效果,物料库存明晰,市场报表简单易做,而财务部门的压力也得到了有效的减轻,公司各部门管理都有了提高,上下自觉配合各项工作,为解决个性化难题排除了人为阻力”。

框架的搭建还有一个更大的好处,就是“孤立”个性化需求。个性化需要一一凸现出来,成为一个个孤立的问题,为解决问题打好了基础。王侃对此深有体会:“在框架搭建之前,好像到处都要做二次开发——市场部的报价单与订单不符合,而生产车间不能按照订单生产,这些又影响到库存物料的清点以及财务的管理,感觉牵一发而动全身。在框架搭建之后,这些个性化的问题都被限制在各自的模块之内,解决问题的时候有迹可寻,例如生产车间不能按照订单生产问题被最终解决,只是生产流程的问题,只需调整这一模块就行了。”

异中求同,细化个性

虽然问题被限定在各自的框架里,但是仍存在固定资产模块不可调整、预付收支无法实现等问题,且数量众多,如果一一做二次开发的话,不说成本和时间,就是风险也让人望而却步。

项目实施团队发现,许多个性化需求虽然要求特殊,但与一般标准有相似之处,只需在原有软件上做细微调整即可解决。为此,他们决定对个性化需求进行细分,从而减少二次开发的工作量。

例如,报价单上列出的是在一定数量范围内各种产品的价格;而订单上的产品不一,又因为数量而价格不尽相同,不能像一般的制造厂商那样,直接复制数据进行处理。如果为了满足这一需求而进行重新开发的话,程序将十分复杂。优耐经过细致研究后发现,公司的报价单、订单出货和一般企业是一致的,差异只在订单和报价单之间。只要不让两者直接对接,采用分别输入的方法就能轻松解决问题。如此一来,无需大动干戈,只要在原有程序上稍做改动即可。

按照这样的原则,刘金海领导的IT项目组将优耐的个性化需求一一列出,逐个研究,寻找与通用软件相似之处,做出细分。最后,他们惊讶地发现,许多看上去个性十足的需求,只要在软件上做些调整就能解决,真正需要二次开发的几乎没有。

通用软件 篇4

各种软件设计方法都是以提高软件开发效率和性能为主要目标。一个软件的基本结构通常是一个属于特定领域中的数据集合和这个集合上的一系列操作构成的集合。因此,提高软件的通用性问题也就是为了尽可能设计出能够更适应数据集变化的操作集合,在提高软件开发效率的同时,提高软件产品的可维护性和可扩充性,并且降低软件开发成本和维护成本。

软件开发者们提出了各种提高软件通用性的方法和在某个应用领域内某些具有通用性的软件产品,其根本特征都是以某种方式将其数据集的描述数据(元数据)作为应用程序处理的数据的一部分,用以提高软件对其数据集变化的适应能力。由于这些方法和产品使用数据集描述数据的方式不同,也使其通用性程度和可维护性程度各不相同。因此,开发者们越来越关注用元数据来描述组件信息的软件设计方法[1,2]。

本文结合鞍钢灵山现车管理系统项目中通用分布式车辆调度组件的应用实现,提出了一种基于分层元数据的通用性软件设计方法。该方法显著地提高了分布式车辆调度组件设计的通用性、开发效率和可维护性。

1 元数据

元数据是描述和限定其它数据的数据,应用于信息发现、信息描述、资源管理和资源长期保存等方面[3]。

随着元数据理论的研究和软件开发技术的逐渐成熟,基于元数据的软件开发技术逐步兴起,可以说,元数据和软件的关系越来越密切,结合元数据描述组件信息,采用分层元数据结构的软件模式,可针对不同的应用环境以及组件集成到应用程序中的集成测试,满足组件使用方对各个层次上的需求[4]。从注释、数据类型描述、编码语言到软件结构模式设计,元数据作为软件设计中对基本信息的一种描述,为软件设计向更高层次扩展奠定了基础。

2. 元数据结构模型研究

2.1 分层元数据

根据不同的应用环境对组件信息详细程度的需求,将所构造的元数据分成不同层次,进而构造成分层元数据结构,根据具体应用程序获取运行时的配置信息、修改运行时的元数据,并访问实时状态变量,这样的元数据称为分层元数据[4]。

采用分层元数据结构可以满足用户调用不同模块的需求。在文献[4]中,根据用户实际需求,设计了分层元数据结构模型的三个层次,分别是数据层、应用模型层和元模型层,见图1。图1中的概念模式语言是用来描述元数据模式以及应用模型层上的应用模式。元数据模式在元数据集合中定义了元数据元素,元数据集合描述了数据层上数据集合的管理、组织和具体内容。该结构为元数据结构和编码提供语言级的实现框架。

2.2 分层元数据的通用软件结构模型

在研究元数据分层模型的基础上,设计了基于分层元数据的通用软件结构模型,如图2所示。在数据层、应用模型层和元模型层三层结构不变的前提下,将数据层进一步划分为元数据层、动态元数据层和应用数据层,其核心思想是在元数据层和应用数据层之间加入一个动态元数据层。该层通常与系统的某种应用环境相关,主要用于提供对系统应用数据层的某种“约束”,其数据以动态的形式保存在系统中,用以适应系统环境变化而概念模式和应用模式不变的情况,以实现软件与应用环境有关的通用性。

该设计模型扩展了图1描述的软件模型,为基于多层元数据结构的软件开发提供了一种更为具体的实现框架。

该方法主要适用于如地理信息系统、车辆调度指挥系统等与系统环境信息具有密切相关且具有分布式特点的软件系统的设计。在这些系统相关的分布式软件系统中,系统管理的应用对象通常要求按照其所处位置进行分类、显示和操作,甚至会要求按照某种规则动态改变其所处的位置(如车辆调度),即具有位置相关性。我们将系统中所有与应用对象相关的位置信息定义为系统环境信息集合。如果这个集合具有相同或相似的分布式分块特征,那么上述模型就构成了这种环境下的通用软件设计模型。

3 基于分层元数据的通用软件设计实例

应用本文提出的分层元数据通用软件设计模型,我们将给出一个具体的设计实例,即基于分层元数据的通用分布式调车作业组件的设计。应用该设计,成功地解决了鞍钢灵山现车管理系统项目中软件的通用性和开发效率问题。

3.1 实例软件设计中存在的主要问题

在铁路运输车辆调度系统中,车辆的地理位置甚至比其它属性更为重要,因为所有车辆调度作业(装车、卸车、编组、解体等作业)最终都将归结为对车辆位置的有规则的改变,甚至还要求对这些改变进行有效的优化。因此,车辆信息具有极强的环境相关性。另一方面,铁路运输系统通常覆盖一个较大的地理区域,而一个调度室通常又仅负责管理一个较小区域内的车辆。因此,车辆调度系统又具有较强的分布性。而且各个不同的区域既具有相同的概念模式和应用模式又具有不同的构成成分。因此,通用的调车作业软件设计对于提高软件开发的效率和可维护性将具有十分重要的现实意义。

3.2 基于分层元数据的通用软件的设计

在项目的开发过程中,采用了本文提出的设计方法,有效地解决了通用分布式调车作业组件的设计问题。

3.2.1分布式调车作业组件的分层数据结构模型

本应用的核心思想是将系统中的环境信息从软件中分离出来,并使之以动态数据的形式单独成为可管理的一个数据层存在于软件系统中,并以此来“约束”或“规范”系统中的车辆信息,即应用数据。其主要特点是该层数据的动态性,这也是实现软件通用性的关键。由于它们以某种方式描述了系统的车辆信息数据,所以称这层数据为动态元数据层。约束的含义主要体现在对车辆按其位置信息所进行的分类,而与车辆信息的结构和内容无关。这使得系统中的数据被划分为元数据层、动态元数据层和应用数据层(如图2所示)。

元数据层主要指系统的各种元数据(见图3和图4),包括环境描述信息元数据和应用数据元数据。环境描述信息元数据指调车作业场地(车站、作业区、车场和线路)的描述信息。应用数据元数据指车辆各种属性的描述信息,它们静态地存在于软件系统中。其中,BaseItem(见图3)为本系统中用于描述环境信息和车辆信息等实体对象的抽象基类;BaseLine、BaseField、BaseDataItem、CarDataItem分别是线路信息类、车场信息类、多视图的车辆信息基类和车辆信息类;WorkLine、OutLines、InLines分别是调车线信息类、发车方向信息类和到达方向信息类;WorkField、LoadUnloadField分别是调车场信息类和装卸场信息类,分别定义系统中使用各种实体对象的结构。而BaseDataltem类(见图4)用于表示元数据层中描述车辆信息的各种视图类的抽象基类,SourceStationItem、DestStationItem、SourceFieldItem、DestFieldItem、GoodsItem、GoodsStartFieldItem、GoodsDestFieldItem和CarSortItem分别代表发车车站汇总视图类、到达车站汇总视图类、发车场地汇总视图类、到达场地汇总视图类、货物汇总视图类、货物+发车场地汇总视图类、货物+到达场地汇总视图类和车辆分类汇总视图类。

动态元数据层由系统环境信息数据构成的集合(见图5),包括所有车站、作业区、车场和线路等环境信息的数据构成的信息集合,是一个具有层次结构的数据集合。同一软件的不同实例仅使用这个动态元数据层的不同子集,而所有这些子集构成对整个系统的环境数据的一个覆盖,从而使软件相对于这个层次的数据来说,具有明显的通用性。另外,在分布式调车作业组件中,它们不作为被管理的应用数据,仅仅用于对本软件的应用数据提供某种形式的组织和约束,并将这种约束映射到系统的应用界面上,作为与用户交互的基础。

应用数据层主要指系统中的应用数据(见图5),它受到动态元数据层的某种“约束”,包括所有车辆信息构成的集合。在具体的某个软件实例中,表现为与动态元数据相关的应用数据的子集,所有这些子集构成对整个系统的应用数据的一个覆盖。

在具体实现中,动态元数据层与应用数据层之间的“约束”关系被定义为它们之间的组合关系,并利用在元数据层中定义BaseItem类中声明的Rectangle_Rect属性,描述了在人机交互时需要的这种关系。其中,车辆数据被组织成列表BaseDataList和车辆数据BaseDateItem两个层次,分别给出了车辆视图和发车站汇总视图等多个实现,以支持用户在多种视图上进行交互式作业。

这三层结构,也可以分别称之为环境框架数据层、环境描述信息层和应用信息层等。

上述分层元数据模型中,最重要也是最关键的是其中的动态元数据层,它是实现软件环境通用的基础,这个模型上的算法设计和实现也是实现通用软件的技术关键。

软件中,最重要的操作对象是系统中的应用数据。在上述应用实例中,主要的应用数据就是系统管理的车辆数据。由于这些数据直接受到环境数据(动态元数据)的影响,因此,在系统中定义、描述和使用这种关系就成为本应用实例最基本也是最重要的特点。

本应用实例主要通过人机交互手段完成各种车辆调度作业,所以,动态元数据和应用数据之间的依赖主要通过软件结构和人机界面两个方面实现。

软件结构主要通过对象间的组合加以实现(见图5)。人机界面方面,程序的每一个实体对象中均定义了一个表示其显示位置的数据成员Rectangle_Rect。它既决定了每个对象的显示位置,也标记了对象间的相互关系(见图5)。交互过程中,通过区域的各种计算,实现对应用数据对象的选择、析取和修改,从而实现各种车辆调度作业。由于本实例的具体算法与本文提出的方法无关,所以仅介绍相关的基本算法。

3.2.2.1数据初始化算法

1)从数据库中根据给定条件(如:作业区ID)析取动态元数据。

2)根据读入数据对应用程序界面初始化,包括动态元数据和应用数据两个显示区域的初始化。

3)动态元数据层的初始化,内容包括:

a)根据读入数据建立元数据层的层次结构;

b)建立各个元数据元素对象(如:作业区、车场、线路);

c)使用某种策略计算并初始化这些数据对象的显示区域等属性数据。

4)应用数据的初始化:

a)读入数据,建立数据对象;

b)根据应用数据与其对应元数据之间的关系安排这些数据的组织,计算数据对象的显示区域等属性数据。

5)算法结束。

3.2.2.2数据显示算法

1)遍历元数据的层次结构,对于每一个数据元素:

a)显示这个数据元素对象(如名称等);

b)如果这个数据对象是叶子结点,则遍历这个叶子结点下的应用数据对象列表,显示每一个数据对象。

2)算法结束。

3.2.2.3数据拾取算法

1)在人机交互界面输入一个矩形区域。

2)遍历元数据层次结构,选取数据显示区域与输入区域相交的数据元素。

3)对于每个叶子元数据元素,遍历其应用数据列表,选取数据显示区域与输入区域在Y轴方向相交的数据元素。

4)算法结束。

3.2.2.4数据更新算法

1)调用上述数据拾取算法,选取欲修改的数据元素。

2)输入欲修改的各个数据属性。

3)根据输入的属性值修改被选取的应用数据对象属性。

4)建立数据库事务,更新对应的数据库记录。

5)算法结束。

在项目开发过程中,应用本文提出的设计方法,实现了与调车作业控制组件具有相似结构的通用调车作业技术图表组件和通用列车运行图软件组件。它们同样实现了关于环境通用的软件设计。其用户界面可见图6—图8。

4 结语

应用本文提出的软件模型和设计方法,解决了项目软件设计的通用性问题,提高了开发效率,降低了开发成本。

对于与本应用实例具有相似结构的软件系统,本方法无疑也是一个有效的方法。而如何分析元数据结构模型,找到更优设计方法,以满足各种不同的需求,提高软件的通用性,将组件开发结构模型向更高层次扩展是有待研究的方向。

摘要:提出一种基于分层元数据的通用软件设计方法,并设计了基于分层元数据的通用软件结构模型。该模型的核心思想是在元数据层和应用数据层之间加入一个动态元数据层,以适应系统环境变化。通过在鞍钢铁运公司灵山现车管理系统项目中的具体应用和实现,证明该方法成功地解决了调车作业控制组件设计的通用性问题,有效地提高了软件的开发效率,降低了开发成本。

关键词:元数据,通用性,结构模型

参考文献

[1]Lewis T.Object ,Oriented Application Frameworks[M].Manning Pub- lications,1995.

[2]Szype.COmponent Software:Beyond Object Oriented Program ruing [M].Addison Wesley,1997:5-27.

[3]张晓林.元数据研究与应用[M].北京图书馆出版社,2002.

通用软件 篇5

PACS(picture archiving communication system)即医学影像存档与通信系统。通常,厂商都在其所销售的PACS中提供用于图像处理的支持软件。一般地,这些支持软件只能在其系统上使用,性能也不尽相同。目前,我国部分医院因价格昂贵还没有引进PACS,整个医院也没有联网,所以这些医院在CT或MRI上得到数字图像后还要将其打印成胶片,以供医生查看,这样做就损失了很多原本已经得到的数字图像信息。如果能研发一种小型通用医学图像处理软件,使得医生在普通个人计算机上能够直接查看数字图像,并能进行基本的图像处理,则不仅可以充分利用数字图像信息,节省资源,而且还可以进行异地会诊,减轻患者的经济负担。笔者已经完成了这一软件的开发,且能够免费提供给需要的用户。该软件主要功能的3个分区如图1所示。

2 DICOM简介

1983年美国放射学院和国家电器制造商协会组成了一个联合委员会,致力于制定不同制造商的设备接口之间的统一标准。1996年,发布了标准DICOM(digital imaging communications of medicine)3.0,即数字医学图像通讯,它目前已经成为业界公认的唯一标准。正确读出以DICOM为标准的医学图像是该软件功能的基础。

2.1 数据编码规则和DICOM文件结构

遵从DICOM标准存储的文件扩展名一般为.DCM。一般由文件头和数据集构成。数据集是由数据元素按顺序排列而成,数据元素是构成DICOM文件的基本元素。DICOM文件的文件头是由128个00H构成的序言和4个字节的标识“DICM”组成。数据元素包含了文件的存储方式、传输语法、图片相关信息以及图片数据内容。数据元素由4个部分组成,分别是:数据标签、数据描述、数据长度和实际数据。

2.2 DICOM文件的读取

显示DICOM文件步骤:读取文件前言,判定是否为DI-COM文件;读取传输语法,判定解码方式;读取像素信息,转换成DIB图像并显示。该软件DICOM文件的读取流程图如图2所示。

3 图像后处理

读出DICOM格式图像后,为方便医生查看图像,该软件还设计实现了反色、镜像、放大缩小等基本功能。反色是将得到灰度图的灰度级取反,即255减去该点灰度值。水平、垂直镜像是将图像左右、上下方向对调。水平镜像就是将该点灰度值转变成图像总列数减去该点的列数点的灰度值。垂直镜像的处理方法与水平镜像类似。放大采用了最近邻插值算法,缩小即按照缩小比例隔点取值。其中反色与放大缩小的功能是胶片所无法实现的。上述这些功能对于医生更细致准确地查看图像诊病十分有用。除这些基本功能外,图像后处理能使数字图像更加清晰,有利于病情的诊断。

3.1 文件头读取

DICOM格式的图像包含很多打印成胶片后会失去的信息,例如拍片时间、患者信息、拍片工具等,这部分内容可在读取DI-COM图像像素信息同时读取,并存成字符串变量,在文件头功能处显式,系统设计了显示这些信息的功能,如图3所示。

3.2 调节窗宽窗位

DICOM文件中读取的图像数据是一种相对值,不是实际的显示值,数据的动态范围很大,超出了显示器设备的灰度级显示范围,所以必须采取调窗处理将动态范围很大的数据映射到显示器设备灰度级。调窗处理就是根据预知的窗宽和窗位值,将窗口内的值转换成显示时的最亮和最暗范围内的值,见公式(1):

其中,V是从DICOM文件中读到的图像数据实际值,G是要显示在屏幕上的灰度值,W为窗宽,C为窗位,gm为显示器显示的最大灰度值。

窗宽是指需要显示图像的范围,调节窗宽主要影响对比度,窗宽越大,图像灰度层次多,组织对比减少,细节显示差;窗位表征显示区域的中心位置。在少数DICOM文件中没有标记窗宽和窗位。此时需要通过找到当前图像中的灰度最大值Vmax和灰度最小值Vmin,按映射关系,把灰度值映射到0~255。为了观察不同的部位,还需要在观察图像时手动调节窗宽和窗位值,这只需要通过改变W和C的值就可以实现。通过窗宽窗位的调节,可以找到观察不同医学图像或同一张医学图像上不同位置病灶的最佳方式,使图像发挥其最大作用。而一幅胶片的窗宽和窗位值是固定的。欲得到其他窗宽窗位值需要拍片医生调节后另外打印甚至重新拍摄。图4是同一幅图像运用该软件实现的在不同窗宽窗位调节下的不同效果。

3.3 图像分割

医学临床实践和研究经常需要对人体某种组织和器官的形状、边界、截面面积或体积等进行测量,以得到组织病理或功能方面的重要信息。这些都需要对图像进行分割处理。同时,对图像进行三维重建以及医学图像的可视化也需要以图像分割为基础。对灰度图像的分割可基于像素灰度值的不连续性和相似性。由于区域内部的像素一般具有灰度相似性,而区域边界上的像素具有灰度不连续性,所以,分割算法可据此分为利用区域间灰度不连续性的基于边界的算法和利用区域内灰度相似性的基于区域的算法。由于医学图像的边缘一般不够明确,器官与器官、组织与组织之间通常没有可明确区别的边界,而且随着医学图像影像设备的进步,其噪声越来越小而数据量越来越多。因此,医学图像的分割一般都采用基于区域的算法。

图像通常都可清晰地分为前景和背景2部分。对于一幅医学图像,假设图像由具有单峰灰度分布的目标和背景组成,在目标或背景内部的相邻像素间的灰度值是高度相关的,但在目标和背景交界处两边的像素在灰度值上有很大的差别。一般的医学图像的确能满足这一假设。如图5的肺部CT图像所示,体部和背景的CT腔在灰度上是明显的双峰灰度图。

对于具有这样性质的医学图像,可以用单阈值分割的方法来实现图像分割,其步骤如下:首先对一幅灰度取值在gmin和gmax之间的图像确定一个灰度阈值T(gmin

分割效果如图6所示。

3.4 图像平滑

为了减少图像的噪声,平滑模板是通过一点和周围的几个点的运算来去除突然变化的点,从而滤除掉一定的噪声,但图像有一定程度的模糊。本软件选择高斯模板来实现平滑。平滑后效果如图7所示。

3.5 中值滤波

中值滤波是一种非线性的信号处理方法,一定条件下可以克服线性滤波器(如:最小均方滤波和均值滤波等)带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。由于在实际运算过程中不需要图像的统计特征,因此这也带来了不少方便。一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点的灰度值。中值滤波后效果如图8所示。

3.6 图像锐化

目的是使模糊的图像变得更加清晰起来。针对引起图像模糊的原因而进行相应锐化操作。图像的模糊实质就是图像受到平均或积分运算造成的,因此可以对图像进行逆运算(如微分运算)来使图像清晰化。从频谱角度来分析,图像模糊的实质是其高频分量被衰减,因而可以通过高通滤波操作来清晰图像。但要注意,能够进行锐化处理的图像必须有较高的信噪比,否则锐化后图像信噪比反而更低,从而使噪声增加得比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。该软件使用的是常用的微分锐化方法———梯度锐化。锐化后效果如图9所示。

3.7 边缘提取

医学图像边缘是图像的一个重要特征,边缘提取的目的是获得图像的外部轮廓特征,为图像分析做准备。如果一个像素落在图像中的某一个物体的边界上,那么它的临域将成为一个灰度级的变化带。对这种变化最有用的2个特征是灰度的变化率和方向,它们分别以梯度向量的幅度和方向来表示。该软件使用的是边缘检测算子的方法之一:Roberts边缘算子检测。该方法检查每个像素的邻域并对灰度变化率进行量化,又包括方向的确定。使用基于方向导数掩模求卷积的方法。该算子是一种利用局部差分算子寻找边缘的算子。它由式(3)给出:

其中f(x,y)是数字图像的像素值,图像提取边缘后效果如图10所示。

3.8 伪彩色

人的视觉对彩色相当敏感。人眼一般能区分的灰度等级只有20多个,但是能区分有不同联度、色度和饱和度的几千种颜色。根据此特点,可将彩色用于增强图像,以提高医学图像的可鉴别性。伪彩色的增强是把黑白图像的个个不同灰度按照线性或者非线性的映射函数变换成不同的彩色,使图像细节更容易辨认,目标更容易识别,可以有多种方式实现从灰度到彩色的变换,最简单的就是把黑白图像的灰度级别从0~255分成256个区间,给每个区间指定一种伪色。该软件是运用将256个区间分成256个选择框,用户可以为每个选择框选择画图板上的颜色实现伪色的。加入伪彩后效果如图11所示。

3.9 矢状面、额状面和三维重建

图像的重建就是要从获取的采样数据恢复物体的三维结构,即物体的原型。从本质上说,重建是一个逆过程;重建的方法包括表面绘制、体绘制。在该软件中,使用流行的面绘制Marching Cubes算法,运用VC中的OpenGL来实现断层图片的三维重建。矢状面重建后效果如图12所示。额状面重建后效果如图13所示。三维重建后效果如图14所示。

4 结束语

该软件基于VC平台进行设计和实现,具有处理医学数字图像的多种常用功能,只需安装在医生的个人计算机上,便可将拍摄得到的医学数字图像拷贝给医生查看,或通过医院内部的局域网,将数字图像直接发送给相应的医生。医生也可将数字图像发送给异地的同行,以便进行异地会诊。可见,使用该软件可使医生在普通的个人计算机上即可处理医学数字图像,有利于更好地诊断病情,给工作带来极大方便,也有利于减轻患者的经济负担。由于该软件免费,所需硬件配置要求很低,可作为安装PACS前的过渡产品,为现阶段我国的一般医院所用。

参考文献

[1]王立功,刘伟强,于甬华.DICOM医学图像文件格式解析与应用研究[J].计算机应用,2006,42(29):210-212.

[2]田捷,包尚联,周明全.医学影像处理与分析[M].北京:电子工业出版社,2003(9):270-283.

[3]张毓晋.图像工程:图像处理和分析[M].上册.北京:清华大学出版社,1999:179-181,195-196.

[4]求是科技.Visual C++数字图像处理典型算法及实现[M].北京:人民邮电出版社,2006:270-307,429-455.

[5]唐泽圣,编审委员会.三维数据场可视化[M].北京:清华大学出版社,1999:89-94.

通用软件 篇6

软件项目管理是对整个项目的综合管理, 包括开发产品的人员资质情况, 项目的运转情况, 项目经费预算等。其主要任务是对整个软件项目的开发流程有一个标准化管理, 通过项目管理软件, 保证项目开发时间及进度, 开发成本控制及人员调配等。

面向服务的体系结构 (SOA) 相比于其他软件体系架构, 将“服务”作为提供用户使用的基本单元, 用户所有的操作及需求都是通过各种各样的服务来完成, 和其他软件体系接口一样, 具有良好的扩展性。将SOA的思想应用到管理软件项目的开发流程中, 使系统对其所管理的项目能实现SOA化的管理, 可以更加灵活方便的运用资源来满足各式软件需求, 在很大程度上, 降低了软件的集成难度同时提高了资源的整合效率, 正因为SOA有如此多的优势, 在现代的软件项目管理中占据着越来越重要的地位, 本文旨在研究一套基于SOA的软件项目管理通用平台方案, 以供多个项目套用。

2 SOA的模块化特点

SOA是一个组件模型, 它提供的服务接口不受硬件平台和软件开发平台的制约, 表现出良好的通用性, 这与SOA的模块化特点有着紧密的联系。SOA模型为用户提供不同耦合程度和模块化的服务, 通过服务来实现所有的功能, 这与软件开发系统中常用的接口有着类似的意义。通过对服务的注册、登记和订阅来完成所有工作流程。

模块化作为SOA的亮点之一, 有着重要作用。下面对SOA的模块化特点进行详细分析。

(1) 模块的可分解性

模块的可分解性表示一个大模块可以根据不同粒度来进行小模块的划分, 在一定程度上降低模块之间的耦合度, 从而分解模块的复杂度。

(2) 模块的可组合性

模块的可组合性主要体现在SOA提供的模块组合性和服务组合性。将具有相同或类似功能模块进行组合, 形成更大的功能模块;通过不同服务之间的相互联系, 进行组合, 形成新的服务系统。

(3) 模块的可理解性

模块的可理解性指模块的分解与组合要能够体现其功能性, 方便用户理解。这在很大程度上决定用户是否会使用该服务, 功能模糊, 理解较难的服务不能满足用户的需求, 也是模块化设计过程中应尽量避免的问题。

(4) 模块具有自保护性

模块能够及时的排解错误, 并防止错误扩展, 当系统出现异常时, 允许错误停止在该模块内, 而不允许影响其他模块的应用, 更不能破坏其他服务, 这便是模块的自我保护性能。

3 SOA的软件项目管理通用平台建设方案

一般而言, 软件工程项目开发都需要经过需求分析、概要设计、详细设计和软件测试和维护等五个阶段, 在建立基于SOA的软件项目管理通用软件平台建设中, 需要将SOA技术穿插到软件工程的每个阶段中, 模块化的设计在通用平台的建设中非常关键, 需求阶段就要开始划分整个业务模块, 然后对每个业务模块进行功能模块的划分, 概要设计将功能模块进一步优化, 详细设计阶段将优化组合过的功能模块进行服务行业处理, 最后提供一套可以注册、登记和订阅的服务系统。整个通用平台设计都呈现出SOA的模块化特点, 具体结构如图1所示。

软件项目管理系统如果要应用SOA的模块化原理去管理软件项目, 在开发设计的开始就需要将SOA的特色纳入开发中。根据需求分析文档对业务模块进行分类形成功能模块, 接着对功能模块进行整理, 从而将用户的所有业务需求变为不同的功能模块。这利用了模块的可分解性。

在设计阶段, 根据模块化的可组合性, 对相同功能模块进行组合形成, 形成较大的功能模块, 然后对这些功能模块添加接口形成不同的服务以供用户使用。这些服务可以供用户直接使用, 只需要注册登记后, 用户就可以进行定制化的订阅, 满足其相应需求。同时根据不同权限, 设置不同服务权限, 方便软件项目管理。

在设计的过程中, 将软件项目管理常用功能模块进行封装, 形成通用服务, 定制化的需求作为定制化服务提供给不同的软件项目管理用户, 保证不同行业的需求, 从何形成通用化软件项目管理平台。

4 结语

本文将SOA的模块化特点运用于软件项目管理通用平台的建设, 具有一定的优势。本文首先对SOA模块化的四个特点做了简单总结, 接着将SOA模块化方法和软件工程五个阶段相结合, 设计了一套具有SOA特色的软件项目管理通用平台建设方案。

参考文献

[1]刘敏.软件项目管理[J].中国西部科技, 2013, (08) :91-92.

[2]王卫华, 王长杰.基于SOA技术的企业信息系统集成研究[J].河南科学, 2013, (07) :996-999.

[3]梅宏.SOA标准化工作稳步推进[J].信息技术与标准化, 2013, (Z1) :22-23.

[4]刘小海.软件工程技术发展探究[J].软件, 2013, (07) :101-103.

通用软件 篇7

关键词:软件无线电,数字信号处理,调制解调

软件无线电 (SDR) 是通信与电子技术领域目前最重要、最活跃的研究领域之一。软件无线电是构造一个具有开放性、标准化、模块化的通用硬件平台, 用软件完成各种功能, 从而研制出具有高度灵活性、开放性的新一代无线通信系统。

1、软件无线电 (S W R)

1.1 关键技术

软件无线电 (SWR) 关键技术主要有:天线、射频前端、宽带A/D-D/A转换器、通用和专用数字信号处理器以及各种软件组成。软件无线电的天线一般要覆盖比较宽的频段, 每个频段的特性都要均匀, 以满足多种业务需求。其硬件结构使软件无线电具有整体的可编程性:RF频段可编程、信道访问模式可编程、信道编码和调制可编程。软件无线电是以一个通用、标准、模块化的硬件平台为依托, 通过软件编程来实现无线电台的各种功能, 从基于硬件、面向用途的电台设计方法中解放出来。减少模拟环节, 把数字化处理 (A/D和D/A变换) 尽量靠近天线。

1.2 优点

运用软件无线电方法可以有效地解决系统功能的升级和扩展问题, 研发时间和调试周期较短, 对于提高可靠性和降低成本很有效。从通信技术的发展趋势来看, 软件无线电技术具有许多以硬件为主的传统通信系统所无法比拟的优点。DSP的发展, 使得在许多速度要求较高, 算法较复杂的场合, 取代MCU或其它处理器, 而成本有可能更低。

2、软件无线电通用平台的DSP技术

2.1 新一代DSP处理器

TMS320C6701 (简称C6701) 是TI公司近年来推出的含多个处理单元的一种新型新点、高性能DSP芯片。与TMS320C6201管脚兼容, C6701为通用32位浮点DSP处理器, 采用甚长指令字 (VLIW) 结构。主频为167 MHz, 浮点单元为6个, 支持字节寻址获得8位/16位/32位数据;程序存储空间和数据存储空间各512Kb;通过对五个BOOTMODE引脚的灵活设置设定各空间的地址范围。片上集成了32位外部存储器接口EMIF, 片内数据空间分为两块, 每一块RAM被组织为八个2K×16的存储体, 使得CPU能够同时访问不同存储体的数据, 不发生冲突。采用0.18μm工艺, 则五层金属组成, 输入输出接口电压为3.3V, 核心电压1.8V (167MHz时为1.9V) 。C6701的外围端口包括DMA控制器、主机接口 (HPI) 、中断选择等。两个多通道缓存串行口 (McBSP) 除多通道、比缓存外, 还支持多种数据格式、硬件A/μ率压扩展、位时钟和帧时钟的灵活编程, 还提供SBSRAM、SDRAM等高速存储器的无缝接口。

2.2 DSP技术的应用

DSP是一种适合数字信号处理运算需求的单片可编程微处理器。DSP的内部芯片采用程序和数据分开的哈佛结构, 设有单独的硬件乘法器, 采用流水线操作, 提供特殊的DSP指令, 快速的指令周期。可以用来快速的实现各种数字信号处理算法。例如在语音处理系统里使用模拟滤波技术, 由于模拟技术存在温度漂移、元件误差和老化等问题, 滤波器的质量得不到保证, 并且参数调整不灵活。而数字滤波器只是一些数字处理运算, 它对二进制数字进行乘、加、减等运算, 得到的结果完全可预测和可复制。每套测控平台含双机备份的遥控调制器与遥控解调器, 双机分别由独立电源供电。中频主要包括基带处理、比特流处理和信源编码3部分。基带处理主要完成各种波形的调制解调、扩频解扩、信道的自适应均衡及各种同步数字处理, 每路需要几十到几百个MIPS的处理能力。调制器与解调器分别通过不同的RS232串口与遥控处理计算机通信, 完成对调制解调器的控制及其带数据的收发。采用IRQ差错控制方式来保证程序传送的可靠性, 参数设置成功后, 调制解调器根据协议发送和接收遥控指令, 并将工作状态回送遥控处理计算机, 同时在遥控前端机面板上显示。信源编码要完成话音、图像等编码算法, 每信道需要十几个MIPS的处理能力。如此巨大的信号处理运算, 必须采用高速多个DSP并行处理结构才有可能实现。DSP发展的片内存储器RAM越来越大, 要设计高效的DSP系统, 就应该选择片内RAM较大的DSP。1

2.3 调制解调器的功能

调制器和解调器合在一起成为调制解调器, 通过电话拨号接入Internet的必备的计算机硬件设备。调制器是把数字信号用调制电波频率的方法将其转换为模拟信号, 解调器是在接收到模拟信号后, 将模拟信号解调, 使信号恢复成数字信号。调制是指用基带脉冲对载波波形某个参数进行控制, 从而形成适合于线路传送信号的过程。正弦信号形式简单, 便于产生和接收, 经常被用作载波体。经过调制的信号通过电话载波传送到另一台计算机之前, 也要经由接收方的Modem负责把模拟信号还原为计算机能识别的数字信号, 这个过程称为“解调”。解调的方式有正弦波幅度解调、正弦波角度解调和共振解调技术。

总之, 用软件无线电技术实现通用卫星测控平台, 是把硬件作为无线通信的基本平台, 把尽可能多的无线通信及个人通信功能用软件实现。软件无线电具有很强的灵活性和开放性, 通过注入功能各异的软件, 开发和研制了通用化、综合化、智能化的卫星测控平台, 对调制载频、调制方式、传输码速率等的参数进行了有效地改变, 能够很好地满足需要, 且有较大的冗余度, 利用升级, 应用于各种轨道卫星平台的遥测遥控任务。

参考文献

通用软件 篇8

关键词:细菌,鉴定,数值鉴定

据中国两大细菌耐药监测网CHINET[1]和Mohnarin[2]的统计数据,从2005到2009年,平均每年每所三级甲等医院临床分离鉴定的致病菌株达到近2000株,耐药性菌株分离率呈增长趋势,可见临床细菌分离鉴定工作极为重要。1970年以来,细菌数值鉴定技术凭借着快速、鉴定率高、便于实现自动化、商品化、标准化等优点,现已成为临床细菌鉴定的主导方法。ATB、Vitek、Microscan、Sensitive、Phoenix、Bio Fosun等商品化细菌数值鉴定系统已在临床广泛应用。但因设备价格昂贵,且无法分析非本系统的鉴定板条,极大的限制了临床实验室对各系统间性能各异的鉴定板条的使用。为此,我们研制了通用型细菌数值鉴定软件 (SUNNY-2010ID) ,并对其性能进行了评测。现报告如下。

1 材料与方法

1.1 材料

1.1.1 菌株来源

参考菌株28株,来自于本室保存的中国药品生物制品鉴定所标准菌株、中国卫生部临床检验中心室间质评菌株、辽宁省临床检验中心室间质评菌株。临床菌株129株,2株淋病萘瑟菌、2株肺炎链球菌为临床直接分离株,其余来自于本室保存的2009年临床分离株。均经Autoscan4细菌鉴定药敏分析仪鉴定 (%ID≥80.0%) ,%ID<80.0%的菌株经常规方法进一步正确鉴定。

1.1.2 细菌鉴定条及仪器

API鉴定条及相应的编码索引手册、Vitek细菌浊度仪均购于法国生物梅里埃公司。

1.1.3 编程软件

Visual Foxpro6.0购于美国微软公司。

1.2 方法

1.2.1 SUNNY-2010ID软件的编制

利用VFP6.0编程语言分别编译细菌生化反应结果和数值编码录入模块、细菌条目/生化反应阳性率二维矩阵录入模块、数值鉴定概率计算器模块和鉴定可信度评价分析器模块。将API20E、API20NE、APIStrep、APIStaph、API20C AUX、APINH各细菌条目/生化反应阳性率表输入到软件中待评测。

1.2.2 性能检测

将待测菌株按全国临床检验操作规程进行复苏、纯培养后,取纯菌落严格按照API说明书进行操作,记录生化反应结果并转换为数值编码。分别用SUNNY-2010ID软件和API编码索引手册对测试菌株的数值编码进行检索鉴定,以测评本软件的准确性。将测试菌鉴定编码用SUNNY-10ID软件分别进行多次检索,观察软件的稳定性。

2 结果

157株测试菌分布在21个属36个种,由API20E、API20NE、APIStrep、APIStaph、API20C AUX、APINH 6种鉴定条完成了测试,SUNNY-2010ID软件和API编码索引手册对细菌编码的检索鉴定正确率分别为100% (157/157) 和98.7 (155/157) ,符合率为98.7% (155/157) ,经检验两种检索方法无显著性差异 (x2检验,p>0.05) ,结果见附表。

2 株菌检索不符合,API编码索引手册无码,但SUNNY-2010ID软件正确解码,分别为:大肠埃希菌 (编码5544572、%ID=99.28、T值=0.63、种水平好的鉴定) ;阴沟肠杆菌 (编码3315772、阴沟肠杆菌%ID=59.39、T值=0.25;坂崎肠杆菌种%ID=40.40、T值=0.22;属水平可接受的鉴定) 。

对157株测试菌的鉴定编码在不同时间分别进行3次重复检索,解码的重复率达100%。

3 讨论

从二十世纪七十年代至今,几乎所有的制造商均在开发各自独立的细菌数值鉴定系统,传统的技术路线为:给每种细菌的生化反应模式赋予一组编码,建立编码数据库或编码检索本。通过对未知菌进行有关生化试验并将生化反应结果转换成编码,直接查阅编码检索本或编码数据库,得到细菌名称。因此,各鉴定系统间无法兼容。本研究抛开以上传统的以编码索引数据库为数据源的检索模式,找到了一条以出现概率计算法为核心而实现通用性的技术路线。即根据Bayers理论和Lapage理论[3,4],以细菌条目/生化反应二维表为数据源,用研发的通用型出现概率计算器,对测试菌的生化反应结果或编码进行%ID (鉴定百分率) 、T值等参数的计算,然后利用通用型可信度评价器对参数进行评测,获得细菌名称。

*注:A代表API编码索引检索法, S代表SUNNY-2010ID软件检索法;+代表鉴定正确, -代表无法鉴定或鉴定错误。

各鉴定卡/板条使用的生化反应种类、数量及鉴定谱均不相同, 本软件将数据源表的生化反应字段数量扩大到96个, 可充分适应不同商品化鉴定卡/板条的要求。在参数计算中, 由于细菌生化反应阳性率值为小数, 出现概率为多个阳性率的乘积, 为防止计算值的溢出, 出现概率字段变量均采用双精度类型, 从而保证了相关参数的准确性。

SUNNY-2010ID软件在评测中使用了6种不同的鉴定条和相对应的细菌条目/生化反应阳性率表,测试菌谱覆盖了21个菌属,正确检索鉴定率达100%,并对2株API编码索引手册检索无编码的菌株正确解码,充分显示了本软件的通用性及准确性。

总之,SUNNY-2010ID软件是一个实用的细菌数值鉴定检索工具,不但可以作为中小型细菌室的主导设备,而且可以成为大型细菌室细菌鉴定系统的补充,具有较大的临床应用价值。

参考文献

[1]汪复, 朱德妹.2008中国CHINET细菌耐药性监测[J].中国感染与化疗杂志, 2009, 9 (5) :321-329.

[2]肖永红, 王进.2006-2007Mohnarin细菌耐药监测[J].中国医院感染学杂志, 2008, 18 (8) :1051-1056.

[3]Analytical Profile Index[M].3rd edition.France:Biomerieux S.A.all rights reserved, 1992:1-19.

通用软件 篇9

随着互联网信息时代的到来, 现代企业提出“向管理要效益”, 通过信息系统提高管理水平已成为必然趋势。企业在信息系统建设时, 经常遇到通用软件产品和定制开发软件的选择问题, 稍有不慎, 信息化建设就会多走弯路, 轻者给企业带来经济损失, 重者则改变企业命运。本文通过讨论通用软件产品和定制开发软件各自优势, 供企业决策者在信息系统选型时参考。

2 通用软件产品

通用软件是指在市场上存在一定量的客户群体, 由开发方对该行业详细了解, 对业务需求进行抽象、求同存异, 并由若干使用客户提出改进建议, 经数个版本更新后形成功能稳定的产品。

通用软件产品是面向市场的, 有特定客户群体, 产品在规划设计时既有明确的定位和边界。成熟的软件产品设计有很多富余功能, 尽可能的考虑了客户的潜在需求, 通过系统配置达到一定范围内的业务自由灵活度。有一种说法, 日常办公只用到了微软office其5%的功能, 通用软件产品也是一样, 客户常用功能不超过70%, 富余功能是为企业特殊要求或对未来需求的超前设计。

定制开发则是企业选择软件公司作为合作伙伴或自己组建开发团队或技术外包, 根据企业的实际业务需求量身定做的软件系统。

3 定制开发软件

定制开发软件基于特定客户的需求, 不用考虑同行业其它企业业务情况。定制开发软件通常以项目的形式管理, 有明显的里程碑事件标注项目开始和结束。定制开发软件有一个重要阶段即需求分析, 需求分析师需要与客户进行足够深入的沟通, 对用户的业务活动进行分析, 明确在用户的业务环境中软件系统应该“做什么”。

然而, 大多数通用软件产品或起源于一个定制开发软件项目。为了适应更多的客户需求, 满足更苛刻的生产环境, 软件公司将重塑业务流程, 并融入科学的管理模式, 从可靠性、用户体验、稳定性、扩展性等多方面对定制开发的项目进行系统重构, 最终形成通用软件产品。

4 影响策略的因素

4.1 客户需求

定制开发软件是基于客户的需求量身定做的系统, 能够很好的满足客户的个性化需求。但是定制开发软件的需求基于客户现阶段或计划内业务开展情况, 当业务模式发生较大变化时, 已定制开发完成的软件很难适应新业务, 需要在现有系统上开发新功能, 或者放弃现有系统重新选型。通用软件产品是熟悉行业或领域的产品经理对业务需求进行的归纳和总结后设计出的面向市场的通用系统, 它可以适应行业绝大部分客户的需求, 但对于非普遍存在的、个别客户的个性化需求或特有的管理方式, 通用软件产品不能很好的支持。

4.2 项目风险

信息系统上线失败的案例比比皆是, 1998年联想集成为北京市三露厂实施的ERP项目失败, 2002年哈尔滨医药集团实施ERP项目失败[1]。这些都是失败在实施阶段的通用软件产品, 更多的项目可能在开发阶段就终止了。通用软件产品交付实施的主要工作内容包括:项目启动、需求调研、功能配置、数据初始化或迁移、系统培训、系统测试及试运行、总体验收等。三分软件, 七分实施, 软件项目是否成功、用户使用是否顺利、是否提高了用户的工作效率和管理水平, 不仅取决于软件产品本身的质量, 软件项目实施的质量也对后期用户应用的效果起到非常重要的作用。定制开发软件除需要经历通用软件产品交付实施的所有阶段外, 还包括软件开发的需求分析、软件设计开发、软件测试等各个阶段, 即定制开发项目除包括通用软件产品所有风险外, 还面临的风险有:系统边界定义风险、需求控制风险、行业实施经验欠缺风险和项目周期长的风险。

4.3 系统可维护性

软件公司在规划通用产品时, 软件设计师需要从可管理性、可靠性、可扩展性、开放性、安全性等多方面下手, 保证系统在生命周期内不落伍, 还需要足够健壮的技术框架满足个性化二次开发。通用软件产品在生命周期内有独立的技术团队修补bug、完善功能, 通过不断改进, 趋于成熟。成熟稳定的产品维护也相对容易, 且出现问题时能够找到技术团队较快解决。定制开发软件从功能和技术上着眼于客户实际工作, 以满足业务和管理需要为目标, 以系统稳定可靠为基础, 不会开发无关的功能, 也无需使用前沿技术。定制开发软件因功能完全符合客户需要, 如果客户需求不发生变化, 则维护量并不大;但若需求发生变化, 在系统可配置范围内无法满足业务需求, 或者发现任何系统bug, 则都需要找开发人员修改代码。

4.4 建设维护成本

从信息系统建设成本角度讲, 通用软件产品最大的优势在于产品开发成功后, 多次销售可以分摊成本, 使原本昂贵的软件产品价格降至大众可接受的程度, 从而有效地提高市场份额和利润[2]。由于定制开发软件完全是根据用户要求设计, 每一个模块的开发都要经过细致的系统分析, 用户独自承担较高的开发成本。从后期维护成本角度讲, 通用软件产品优势明显。而为进入维护期的定制开发软件缺少固定的技术团队, 无论是处理响应时间还是升级成本都会较高。无论通用软件产品还是定制开发软件, 客户都应该配备专职的信息系统管理员。

5 结论

企业如何选择一套合适的信息系统, 笔者谈以下几点经验:

5.1 企业的业务需求比较通用, 个性化需求不是很突出, 且市场上有成熟的产品, 建议选择通用软件产品;如果企业个性化需求较突出, 或者企业处于发展期业务模式随时变化, 通用产品不能满足要求或需要在通用产品上进行较大规模的开发和扩展, 建议选择定制开发软件。

5.2 通用软件产品相对定制开发成本较低, 系统实施花费的时间较短, 对成本和上线时间有较高要求的建议选择通用软件产品。

5.3 各通用软件产品厂家使用的技术框架存在差异, 如果企业规划整合集成信息系统, 则需要多关注通用软件的扩展性是否满足集成要求。

5.4 如果企业在业务和管理方面缺乏经验, 定制开发的风险很大, 建议选择通用软件产品, 通过软件实施, 借鉴贯彻行业管理经验。

参考文献

[1]王延东, 吴强.国内ERP实施失败案例[J].中国信息界, 2004, 2.

上一篇:常务秘书下一篇:对外汉语文化词汇教学