软件体系架构

2024-11-19

软件体系架构(精选12篇)

软件体系架构 篇1

摘要:随着计算机技术和通信技术不断发展, 当前社会运转方式已经发生翻天覆地变化, 人们对软件要求日益提升。软件无法像硬件设备设施一样进行流水线式生产, 因此其无法在质量和数量上满足实际需求。软件产品本身存在的不足会影响计算机技术的发展, 因此必须解决该问题, 实现软件高质量、大规模生产需。本文就面向服务软件体系架构的原理及范例展开研究。

关键词:面向服务软件体系,构架原理,范例

计算机技术更新换代较为迅速, 软件开发也发生较多改变, 传统软件开发体系已经无法满足当前对软件生产的需求。随着计算机不断普及, 软件行业必须由传统体系向面向服务架构转变。随着软件应用范围不断增大, 难度逐渐上升, 需要通过成本手段, 提高现有资源利用率。通过面向服务体系结构可提高软件行业应对敏捷性, 实现软件生产的规模化、产业化、流水线化。

1 软件危机的表现

1.1 软件成本越来越高

计算机最初主要用作军事领域, 其软件开发主要由国家相关部分扶持, 因此无需考虑软件开发成本。随着计算机日益普及, 计算机已经深入到人们生活中, 软件开发大多面向民用, 因此软件开发过程中必须考虑其开发成本, 且计算机硬件成本出现跳水现象, 由此导致软件开发成本比例不断提升。

1.2 开发进度难以控制

软件属于一种智力虚拟产品, 软件与其他产品最大不同是其存在前提为内在逻辑关系。相较于计算机硬件粗生产情况, 传统工作中的加班及倒班无法应用到软件开发中, 提升软件开发进度无法通过传统生产方法实现。且在软件开发过程中会出现一些意料不到的因素, 影响软件开发流程, 导致软件开发未按照预期计划展开。由此可见不仅软件项目开发难度不断增加, 软件系统复杂复杂性也不断提升, 即使增加开发人手也未必能取得良好效果。

1.3 软件质量难以令人满意

软件开发另一常见问题就是在软件开发周期内将产品开发出来, 但软件本身表现出的性能却未达到预期目标, 难以满足用户多方位需求。该问题属于软件行业开发通病, 当软件程序出现故障时会导致巨大损失。在此过程中软件开发缺乏有效引导, 开发人员在开发过程中往往立足于自身想法展开软件开发, 因此软件开发具有较强主观性, 与客户想法不一致, 因此导致软件产品质量难以让客户满意。

1.4 软件维护成本较高

与硬件设施一样, 软件在使用过程中需要对其进行维护。软件被开发出来后首先进行公测, 发现其软件存在的问题, 并对其重新编辑提升软件性能, 从而为客户提供更好服务。其次软件需要定时更新, 若程序员在开发过程中并未按照相关标准执行会导致其缺乏技术性文档, 提升软件使用过程中的维护难度。另外在新增或更新软件过程中可能导致出现新的问题, 影响软件正常使用, 并可能造成新的问题。由此可见软件开发成功后仍旧需要花费较高成本进行软件维护。

2 面向服务体系架构原理

2.1 面向服务体系架构定义

面向服务体系构架从本质上是一种应用体系架构, 体系所有功能均是一种独立服务, 所有服务均通过自己的可调用接口与程序相连, 因此可通过服务理论实现相关服务的调动。面向服务体系构架从本质上来说就是为一种服务, 是服务方通过一系列操作后满足被服务方需求的结果。

2.2 面向服务体系架构优点

面向服务体系构架具有较多有点, 抽象性较强, 可操作性想, 功能强大, 可在多方面满足用户需求。其主要优点如下:

(1) 面向服务体系构架可为开发方提供更具操作空间的开发模式, 开发方可充分发挥自己的想法, 有助于提升软件开发商开发方法先进性, 提高软件开发效率。面向服务体系构架可充分利用软件提供者和使用者间较为松散的耦合关系, 将复杂的逻辑关系屏蔽掉。相比于系统表示层, 可在仅照顾服务接口的基础上实现软件开发, 不需重视自身细节。通过标准接口可实现多种服务相互应用, 无需进行平台开发语言等, 极大提升软件开发效率。

(2) 面向服务体系构架另一个优点是可在现有软件基础上进行研发, 无需进行软件体系重建。且在情况允许的条件下利用现有软件开发框架可有效提升企业服务质量, 该种方式可从根本上降低软件开发商的工作强度, 提升工作效率, 便于为用户提供更好服务。在此基础上将企业服务项目进行整合。面向服务体系构架忽略自身细节性问题, 在复杂数据传输及软件开发中具有明显优势, 有助于实现软件批量生产。

3 面向服务体系构架的ECC系统总体设计

在进行面向服务体系构架的ECC系统总体设计中可利用XML Web Services实现对技术的展开。整个系统中每一部分均拥有其独立功能, 均可提供相应的服务项目, 客户通过网络接口便可享受到这些服务。在提供服务过程中, 业务流程主要有两种途径, 一种是提供单个服务, 另一种是将多种服务整合在一起。

当前各种服务客户端中, 多数可利用标准化网络服务接口实现面向对象的业务逻辑服务。通过设计可保证系统外部用户享受和内部用户一样的服务, 这样便于实现企业内部和外部合作伙伴的业务整合。如在进行链子系统构建时可通过产品查询功能实现外部客户调动企业内部产品信息, 此外企业不仅可实现为合作伙伴提供相应服务, 还可在服务同时提升自身运营效率, 即企业自身也是受益者。

当系统涉及到业务逻辑为可借助第三方服务帮助完成工作。例如企业需要在系统中加入采购、销售、仓管、财务等方面内容, 该过程工作重点就是通过企业自身需求展开客户端设计, 开发商通过远程连接向企业提供服务, 这样不仅可降低软件开发周期和工作量, 还可有效提升工作效率, 为后续软件批量生产奠定坚实基础。

4 结束语

软件开发是当前企业行业工作重难点部分, 当前国内软件开发存在规模化、产业化发展困难, 不利于软件开发含有发展。为提高软件开发行业服务水平必须采用面向服务软件体系架构, 提高软件开发效率, 实现软件批量生产, 在此基础上向客户提供更好服务。

参考文献

[1]李颂华, 陶丽红, 高栋.基于s0A架构的物流信息系统的相关技术研究与实现[J].北京科技大学学报, 2011 (01) :59.

[2]黄勇, 周勇, 刘检平.基于SOA架构的新一代高校试题库系统研究[J].江西师范大学学报:自然科学版, 2014 (04) :1.37.

[3]曹均涛, 洪玫, 王韦, 等基于s0A的轻量级工作流中间件的研究与设计[J].计算机与现代化, 2013 (06) :83.

软件体系架构 篇2

1、主要负责核心系统的架构设计,框架搭建以及核心模块的开发;

2、负责解决后端系统中的性能瓶颈与技术难题;

3、负责核心系统的技术方案的编写与评审;

4、负责公司技术标准的制定与评审。

任职资格:

1、本科以上学历,专业不限,5年以上Java开发经验,2年以上架构设计经验;

2、精通JAVA的Spring、Mybatis等主流框架,熟悉Hadoop、ZooKeeper等分布式架构和系统;

3、熟悉Oracle、Mongo、Redis等关系与非关系型数据库;

3、知识面广,专研技术,对解决有挑战性的技术问题充满激情;

4、有独立分析和思考问题并加以解决的能力和习惯;

5、有较强的文档编写能力,能独立完成技术方案、设计方案的编写;

6、了解基础的数据结构和算法,对常见问题,能正确运用合适的数据结构和算法加以解决;

7、熟悉两种以上流行的框架,且不停留在单纯使用的层次,必须对框架的实现原理、应用场合、使用限制有基本了解;

软件体系架构 篇3

关键词:嵌入式软件;开发模式与软件架构;系统安全

中图分类号:TP311 文献标识码:A 文章编号:1006-8937(2016)06-0064-01

信息社会的互联网在发展过程中面临着越来越复杂的问题,嵌入式软件在开发和架构过程中随着功能需求的加大,嵌入式软件也更加广泛地应用于各种设备上,这种广泛的应用对嵌入式软件操作和运行过程中的稳定性和安全性问题提出了更高的要求,然而受到当前技术水平的制约,在软件开发和研制的过程中还存在着较多的问题,它与其他的软件比如说桌面软件等存在着较大的差异,由于其技术还不够成熟,因此在开发和软件架构的过程仍旧是嵌入式软件需要进行解决的关键问题。

1 嵌入式软件开发开发和架构问题简述

首先,在软件的开发阶段,为了减少系统资源的过度消耗,嵌入式的软件在代码的制作过程中主要针对的是用户使用过程中的问题,其复用度比较低,这就导致了软件在实际使用过程中实现用户多项的应用要求时发生困难,这是在开发过程中必须要进行统筹的问题。

其次,嵌入式软件在具体的应用过程中通过与硬件驱动的接口进行对接操作,由于面对的对象硬件驱动等应用对象的差别比较大,在这个过程中不同的设备之间的差异需要嵌入式软件要有与之比较高的兼容性,这需要在软件的开发过程中对常见的的对接的硬件进行操作系统进行代码的编写。

在软件的使用过程中为了解决使用过程中软件本身存在的问题以及满足新的用户要求需要对软件进行升级扩展其功能,并且保证在使用过程中软件的工作效率和安全性,需要向被嵌入的操作系统进行代码的植入,这个问题降低了软件在使用过程中的效率问题,在研发过程中,这造成软件的开发周期延长和开发效率的降低。

2 开发模式和软件架构

嵌入式软件的开发模式与一般的桌面型软件的开发模式的开发过程存在着较大的差异,它首先表现在开发过程中,它首先要考虑到代码在不同接入的硬件系统的兼容性,同时需要在代码的编译过程中交叉编译,这些问题给软件的研发带来很多问题和要求,导致在软件的研发过程中,无法灵活地适应市场的变化随时发生调整。

利用多平台的研发条件以及套件式交付的方式能够最大限度上利用研发平台和实现资源的共享,有效提高产品的质量和减少研发的时间以适应市场的需求,降低研发成本,这是未来嵌入式软件研发的趋势。

在嵌入式软件的研发过程中,准备阶段包括获取开发套件和与开发环境集成,编码的阶段是一个利用终端模拟器进行反馈的系统,在这个过程中,工程师进行相关的应用程序的编写以及进行运行程序的编译,完成后进行初步的运行和调试,通过自动写入终端模拟器进行反馈,如果有缺陷则会重新进行缺陷的部分程序的重新编写。

集成调试的反馈建立在编码基础,调试正常的编码进行应用程序的归档,归档完成后进行集成的编译,并进行运行和调试,集成的编译通过编入目标系统完成试运行,并完成整个过程的试用报告,在运行过程中如果存在漏洞则会重新进入终端模拟器寻找发生漏洞的编码并进行漏洞的修复。

嵌入式软件在应用架构过程中分为三个层面:接入层、应用层和基础层。用户通常通过三种常见的方式进入软件构架实现多种功能的应用层面,电脑接入、手机接入和遥控接入进入用户的数据管理、节能优化、充值服务以及安全控制等应用层面,应用层面通过控制、采集以及通讯等手段实现对电子锁、电器、仪表等接入系统中的控制实现用户的所要求的功能。嵌入式软件系统结构图,如图1所示。

嵌入式软件的各个层面通过协调完成设备的预定功能,通过接入目标设备的接口以及各个设备之间的实现整个系统的运行。在接口层首先存在着接入的要求,这些要求是实现功能的预设。可以通过接入以及用户的功能要求进行具体的配置制定出符合特定要求的软件系统。

进行功能控制和管理的是内核层,这个层面主要进行任务的管理和分配调度,而其他的应用组件比如网络协议和数据库等可以通过存储实现复用以尽量减少软件的进行系统烧入的时间,同时用户可以根据自己的需求进行配置,这就使得软件的应用范围更加广阔。

设备的操作层中对硬件的功能进行封装,通过提供对各种操作系统的硬件功能提供统一的软件接口能够保证软件在烧入的过程中中成功移植的关键所在,这个过程实际上也是实现了硬件操作过程中代码的复用的过程。这种方式可以应用到其他的嵌入嵌入系统的开发利用中,针对不同的芯片进行对应的编码的编写并进行存放实现对不同系统中同一功能元件的代码复用。

3 嵌入式软件开发模式和架构中有关升级和升级的 效果评估

在软件的开发模式和软件架构过程中必须考虑的关键问题就是在后期用户使用过程中的软件升级问题,嵌入式的软件适用不同类型的设备,但是其自身并不存在升级的功能,因此在使用过程中出现的缺陷和漏洞系统无法进行修复,而且在使用过程中,用户会逐渐产生新的功能需求而这种需求在软件的开发和架构过程中往往是无法预期的,这就需要利用远端进行软件的升级。

目前市场上运用的方式需要在软件在开发和架构过程中就进行控制,远端接收到嵌入软件运行过程中的漏洞以及用户发送的升级要求,针对这些问题进行相关的代码的改写以及增加功能代码的写入,这个过程中主机实现了二进制的解析以及命令的下达,需要升级的软件所在的设备实现了与主机的通信并进行数据包的传送,通过数据的传送进行软件升级的准备以及进行必要的软件漏洞和缺陷地弥补等,目前主要通过多次的数据的传输来保证传输数据的完整,同时也对文件长度进行确定保证软件省局数据的准确。

4 结 语

嵌入式软件目前已经占据了较大的市场份额,但是过高的软件研发的经费阻碍了其研究发展的进程,随着市场对于嵌入式软件功能的需求的扩大以及软件质量要求的提高,这对软件的开发模式和软件架构方式的革新提出更高的要求,这要求在软件靠法过程中实现缩短产品的开发周期和成本,另外软件复用通过在计算机系统中进行控制来实现软件研发过程中的大规模应用问题,这对软件的研发成本的降低以及更好地满足用户更为复杂的功能要求具有非常重要的意义。因此,对于软件的开发模式和软件架构的问题的研究还需要进一步的投资和工程人员投入,以实现其大规模的应用。

参考文献:

[1] 吴慧婷,綦志勇.一种简单可靠的嵌入式软件升级方法[J].信息技术与 信息化,2015,(9).

软件体系架构 篇4

TRIZ是指发明问题的解决理论, TRIZ理论成功的解释了创造发明的内在原理和规律, 着力于澄清和强调系统中存在的矛盾, 其主要目标是对矛盾进行完全解决, 获得最终的理想解。TRIZ理论不是采取妥协或者折中的办法, 而是基于其技术发展演化规律研究的开发与设计过程对问题进行系统的分析, 不再是随机行为[1]。事实证明, TRIZ理论可以大大的加快人们技术创新的进程并且能得到较高质量的创新产品。

技术创新方法 (TRIZ理论) 作为一种可以为各类非技术和技术问题提供更加富有创造性解决思路的强大工具和理论, 经过漫长的发展已经成为解决创新问题或解决新产品开发的方法体系和成熟理论, 在全世界都得到了广泛的使用, 并为更多的企业牟取了巨大的社会经济效益, 极大地提高了企业创新能力和企业创新效率。基于TRIZ理论开发出的计算机辅助创新软件不仅提供了解决技术问题的多条技术路线和多种思路, 还提高了技术创新以及解决技术难题的速度和效率, 为科学技术的创新和经济的发展都起到了相当大的推进作用。

2 计算机软件结构的技术系统演化分析

在软件工程的进行中, 由于存在着缺陷放大的问题, 对于软件构架设计的动态性和灵活性甚至是自适应性都提出了相对较高的要求, 因此, 软件系统的设计需要采用符合技术系统进化方向的技术和设计理念, 将产品的成熟期和自身发展期加以延长, 从而获得更好的经济效益和推广[2]。

软件体系构架是软件工程中最大的复用构件, 软件体系构架进化的目标是提高软件整体的成产效率以及复用水平, 充分降低成本, 并使得系统整体的性能和功能水平得到提高。

3 计算机辅助创新C A I (C o m p u te r A i d e d Innovation) 概念

计算机辅助创新CAI是CAX技术的新兴领域, 它是通过发明创造方法学为基础, 将现代设计方法学、计算机软件技术等相关技术和源于原苏联的发明问题解决理论 (TRIZ) 相结合的产物, 是新产品开发中一项至关重要的技术。CAI系统可以帮助研发设计人员通过对创新规律的运用对问题经行全面的分析, 并且借鉴不同领域中有效的方法和技术, 构建出高效率、高质量的创新设计。

4 计算机辅助创新CAI软件的主要功能

4.1 计算机辅助创新CAI软件在技术上的创新

CAI软件可以帮助用户借助知识效应库, 利用前人的智慧以及多学科领域知识, 在思维惯性上进行突破, 正确的发现与分析技术系统中所存在的问题, 进而将快速的找出具有创造性的解决方案[3]。

4.2 计算机辅助创新CAI软件在技术上的预测

计算机辅助创新CAI软件能够检索国内外的专利, 并分析其产品的技术成熟度, 进而预测技术和产品在未来大的发展趋势和发展方向, 令使用者能够简单清晰的了解产品产值的现状及技术现状。

4.3 专利规避

由于计算机辅助创新CAI软件能够对国内外的专利情况进行检索, 使得使用者能够更加轻松及时的了解和跟踪国内外专利的最新技术动态, 进而帮助用户避免产生重复他人已有研究的现象发生, 对现有的竞争专利有效地规避。能够更好地明确用户在创新制造上的方向, 在一些方面上也为用户节省了很多时间。

4.4 方案评价模块

部分计算机辅助创新CAI软件用有方案评价功能, 允许用户评价添加到项目中的多种方案, 使得在概念设计阶段, 用户可以对方案进行经济、技术评价, 通过对技术方案的评价有助于更为详细的分析各个方案的优势与劣势, 便于对下一个实施方案计划的制定, 从根本上降低了产品在研发与生产上的成本。

4.5 积累知识

计算机辅助创新CAI软件还可以有效地管理和积累企业智力财产, 实现知识的管理、共享以及积累的一体化, 为企业核心竞争力的提高储备了知识, 使得企业在未来的竞争发展中更具有优势。

摘要:随着社会经济的不断发展, 科学技术也在相应的革新, 在这一过程中, 概念设计的自动化技术也被人们逐渐重视, 将其作为了产品快速发展创新设计的主要基础, 本文从软件体系架构技术的进化趋势和规则, 以及其计算机本身系统的演化特点和发展入手, 对当前TRIZ技术系统演进视角的计算机辅助创新软件体系架构进行了分析和论述, 并提出了相应观点, 以期增强人们对当前TRIZ技术系统演进视角的计算机辅助创新软件体系架构的认识。

关键词:TRIZ技术,体系架构,分析

参考文献

[1]毛新军.面向Agent软件工程:现状、挑战与展望[J].计算机科学.2011 (1) :1-6.

[2]朱志良, 菀海涛, 宋杰, 等.SOA与云计算:竞争还是融合[J].计算机科学.2011 (12) :6-11.

企业管理软件平台架构 篇5

企业管理软件,由于进入门坎低,各行各业各层次企业都需要,做面向企业应用比做面向个人应用要赚钱多,好销售,所以中国内地有相当大部分的程序员在从事着企业管理软件的开发。

尤其是接项目的软件公司,这类公司往往在中国当前软件行业占很多。3-4个或5-6个程序员,老板拉来什么项目就做什么项目,进销存、费用报销、销售管理、客服维修工单、请假考勤管理等等为大部分单子内容。

有朋友留言:就10来万的单子,就1-2个程序员,从调研到设计到开发到测试到打包到实施安装到培训到推动上线到支持,全活儿。哪来的精力再去开发平台。再说了,都是10来万的单子,开发平台就大才小用了,什么设计模式,什么OO,什么界面和代码分离,什么代码重构,都扯淡,往界面拖控件,用ADO连数据库,OK。费那精神干嘛,把钱快速赚到才是真理。

其实,你发现没,你做的管理软件(叫它MIS也行,你爱戴高帽就叫它ERP)有一些东西都挺相似。我有个专门给小企业做网站的哥们,5天一个网站。他手里面从免费邮箱服务器、BBS论坛、流量统计软件、网站新闻内容管理系统全从网上找好源代码,各种图标图片素材库,机器上装好Dreamweaver、PhotoShop、Flash。小企业老板来了,他把过去做的案例往出一拿,你挑吧。然后七凑八凑几天完工。

这是不是平台呢?

我们为什么需要平台?我们需要什么样的平台?平台应该包括哪些东西?一个完备的平台是怎样的?

带着这些问题,我们一一揭秘。

拿我哥们刚才的例子剖析。我个人认为那就是一个平台。我们为什么需要平台?就是为了不每次都重新发明轮子,为了能快速的完成代码工作(可以多赚点钱或者可以多打会游戏或者瞌睡或者可以多时间去泡MM)。

快速完成,是平台的第一目标。但是快速三下五除二干完了,去客户那里一跑,BUG百出,倒霉,还得熬夜修改,长期出差回不了家。修改代码,痛苦,还不如推倒重新正式写代码。

看来,平台的第二个目标必须是稳定。

既能快速开发,又能稳定,这是个好平台了吧。

不,客户个性化需求来了,发现真难改。按照普通简单流程处理(增/删/改/查 列表/明细),确实平台能给很大帮助,但是客户一个性化,平台就不灵了,个性化代码怎么都插不进去手。平台自成一套圈子,外围异常代码根本插不进去(这是现在很多号称平台的产品都共有的最大弊病)。

好不容易遇到个好个性化定制的平台,平台性能不佳,老挂机,客户的电话吼的真想把电话线拔掉,甚至幻想全公司电话和互联网和自己的手机都坏了。终于搞定以上的所有问题,给客户安装上,培训好,推动上线,终于可以闪人了。回到自己的床上,真舒服呀。

没想到恶梦才刚刚开始。客户的电话来了:我发现报表不对呀,数对不上去,你看哪里出问题了?

O,My God。我刚回来,你就...。我又不能飞过去。好吧,好吧,你有QQ或PcAnyWhere吗,我们来连一下,我给查一下数据库。什么?服务器不容许上网?那我怎么办?

看来需要一个排错、可跟踪、可输出详细日志、可过滤日志的东西,就像SQLSERVER的查询跟踪器一样。

嗯,好不容易把问题搞定,修改完代码,需要给客户升级。

什么,你们家没有网管,都是兼职的,根本不会SQLSERVER,脚本怎么执行,怎么备份,不知道?

算我倒霉,电话我告诉你一步步操作。(长途电话费N多,老板冲你发火,你低头不语,心里念到这个猪头)

什么?升级了也不好用?那你肯定没按我说的操作来。

什么?有的机器好用,有的机器不好用?你肯定没有把所有客户端都升级了。哦,看来需要一个自动升级的模块。

挖咔咔,软件卖的好好哦。咿呀咿呀咿。可是,可是...。居然有家伙盗版使用我们的软件,看来我不加密不行了。

加密,加KEY,加并发用户数,加正版判别,加使用期过期。

嗯,终于天下太平了,抱得美人归。

从以上来看,我们似乎并不是为了平台而平台,为了市场宣传和销售便利而做平台噱头。我们确实在多如牛毛的小项目的水深火热战火纷飞中,我们渴望有这些东西将我们快速解脱。如果我们是开发中大型系统的,我们的产品需要延续生命周期8-10年,需要部署给成千上万的客户,客户需要管理几亿的关键数据,有几千个客户并发,我们更需要平台。

所以,不管做小项目的,或者做大项目的,我们都需要平台。

那我们需要什么样的平台。其实上述的场景中已经把平台的关键特性都说了一遍,现在我总结一下:

1可以帮助开发人员快速开发

2稳定

3可以个性化定制

4可以跟踪日志排错

5可以自动升级

6软件版权保护

为了做到这些,国内软件精英不知有多少人前赴后继的的投入研究(甚至做OA的,做工作流的,也号称做平台)。让我们历数历数,看看各自的特点和优缺点,以对照一下我们需要的特性,他们的平台具备不?

大连雅奇,95年我就知道它了。当时好像是Foxbase版本的。可以生成菜单、界面代码。其他的我现在忘了。不过去年CSDN还报道了一次大连雅奇。1报表打印,支持二维、交叉、套打、单据格式、多栏头、导出HTML、PDF、EXCEL、DBF肯定是必须的。计算公式有没有?变量有没有?代码调用API有没有?嵌入图表有没有?小分组合计行不行?最底最右的总合计有没有?支持不支持主从?支持不支持链接钻取?

2图表 当然支持折线、直方、饼图。不知道EXCEL所能支持的图表,它是否都能支持,而且像EXCEL一样好看。漏斗图有没有,里程图有没有?做领导报表(可以起名为管理驾驶舱或商业智能门户)时非常需要。

3控件 可分组、可过滤、可定制查询、可定制列视图、可多排序、可导出、可预览、可小计的Grid控件有没有?可以权限管制行列数据,定制列视图的参照录入控件有没有?日历控件有没有?财务凭证控件有没有?

4企业内部即时通讯模块、邮件收发模块、预警提醒模块有没有呢?

其实,这是在企业应用中极为常见的一些公共功能。有一部份朋友给我QQ留言,他说平台架构就是:中间件+Hibernate(ORM框架)+structs(MVC框架)+spring(AOP框架)+JSF控件(UI框架)+Log4j(日志框架)+JUnit(测试框架)+Ant(Build框架)+JasperReports(报表框架)+JFreeChart(图表框

架)+osWorkFlow(工作流框架)。

我说对,这是平台架构,但不是企业管理软件的平台架构。企业管理软件的平台架构需要更上一层,能方便开发人员快速稳定的开发和修改。

大连雅奇能一直存活到如今,从各方面看虽已跟不上未来,但目前很多小软件公司和小企业还在进行着初步的信息化,所以还是有很多的市场空间的。(我看到华军软件里有人发布的所谓强大平台,一下载一看,原来是一个数据库维护软件,让人尴尬,但是还有大量的个人或2人工作室在不断奋斗制造着这类软件,我已经看到了很多雷同的软件了,也有市场?可能)。

讲完最老的大连雅奇,在企业管理软件平台界,最有名的就数思维加速(现在改名起步)。起步从1999年开始起步,技术一直跟的很紧,做的也非常深入,我个人认为,起步是做企业管理软件平台最优秀的一个。起步加入了工作流,非常适应时代

2加入了集团企业多组织结构,非常适应时代

3起步有数据库建模工具,有版本管理工具,有部署工具,报表、图表自不用说。居然还有甘特图和日历,还有即时通讯工具

4起步拥有自己研发的代码开发IDE。这是国内没有的。老宋为了解决常规平台自我封闭无法定制的诟病下了很大的气力,让简单开发和个性定制融合。5能支持JAVA中间件,也能支持COM+,能WEB,也能C/S。这也是国内没有的。

IDE,既是起步的杀手功能,也是起步的软肋(想起一句古龙的话:敌人的优点也就是他的缺点)。IDE这个东西,世界有三巨头:Eclipse、visual studio、Borland。大家都是干软件的,大部分都是选择这三类IDE,对这三类IDE很是习惯。但是现在要舍弃三巨头,用了起步的平台,就需要用起步的IDE,而且IDE还没有三巨头做的好(要想做好,谈何容易。君不见Eclipse有IBM巨资推动,visual studio更是微软的一个重要产品线,投入大量人力。如果起步也要做,那岂不是平台、IDE、工作流都要并进?要知道,这三块中的每一块,都是需要单独一个公司,而且是相当实力的公司才能做好)。

于是,上海普元学乖了。IDE,我们就用Eclipse。

当然,还是老三套:控件+工作流+报表。

普元的平台框架有组织结构管理(不知道是否支持区域管理组织和集团管理组织?)、部署工具、权限管理(这个非常重要,不知道能不能管理到业务实体的每一个操作和数据行列可访问性?)、业务字典管理(这个没必要单提出来吧?运行参数的配置才是最重要的)。不过普元具备了日志、异常、定制任务。更难能可贵的是,普元还提出了Cache机制(这个在企业管理软件领域中其实挺难。它不像咱们的通常论坛网站,如天涯,也并发量大需要Cache,但是天涯也仅仅是看,而企业管理软件主要是频繁读写和业务计算处理,这怎么Cache,我也需要学习学习,过去一直主要依赖数据库设计和代码写法和功能设计来保证性能)。普元做JAVA,金富瑞就做.NET。

三大件继续拿上来:控件+工作流+报表。

但很可贵的是,金富瑞提出了虚拟组织这一说法。这个确实老遇到。还有就是权限管理,从菜单到数据到列到行到按钮,控制的挺细,不过细就是多,多就会漏洞多,看来金富瑞需要深刻去思考一下数据库架构的设计。

这些都是专注做平台的。

但是,那些主要做管理软件的公司,也有自己的平台。甚至自己的平台还卖。如浪潮楼上(不过山东人的朴实与粗糙,尽在软件中)。

自己用的平台,东软也有,但没有对外宣传,也不卖。偷偷自己用,做了N多医保、税务局之类的项目。(我曾经剖析的时候,发掘设计的思想和金蝶K3的平台特别相似)

用友、金蝶这两大企业管理软件公司当然也有自己的平台。用友有U8平台和NC平台,金蝶有K3和EAS平台。不过,明显的是,金蝶的平台架构思路比用友高一级。从业务实体自省到权限控制到日志到二次开发,金蝶颇有套路,思路清晰抽象高度。而用友的平台,似乎还看业务是业务,看菜单是菜单。

讲了这么多,几乎主流的平台厂商我都数了个遍,当然从事各细分行业管理软件的公司也都有自己的平台,只不过那类平台和本行业业务又结合的特别紧密,开发自己行业软件特别快速稳定易用,但不具有普遍意义。

我把我在上一篇文章中写的企业管理软件平台架构内容再贴到最后,以使大家好总览:

1登陆用户口令验证、license许可验证、盗版验证、过期失效验证、版本差异验证

2主控台 用户功能树 管理主控台

3表单设计器、业务实体设计器、工作流设计器、报表设计器、功能菜单设计器、多语言设计器、多皮肤设计器、查询过滤定制器

4UI框架:Grid/Toob bar/Tree/TabSheet/Menubar/参照录入组件

/Edit/Button/Combo之类

5单实体输入框架、主从List/Detail输入框架

6运行配置参数设置、单号计数器、业务预警设置

7异常框架、业务实体权限框架、业务实体存储引擎、业务实体查询引擎8报表:套打、单据报表、普通二维查询统计报表、交叉报表、图表9工作流引擎、消息引擎、自动任务引擎

软件体系架构 篇6

关键词:Web服务;多层软件应用;软件应用架构;应用

中图分类号:TP311

1 Web服务的概念

最近几年,Web服务已经实现了很大的进步,并且它还有长远的发展空间。尽管大家对Web服务的理解和剖析正趋于同一个方向,可是从目前的发展情形来看,并未实现对Web服务定义的统一和确定。Web的定义模式有多种,例如:W3C(World Wide Web Consortium)提供的定义:web服务是根据URI研发的一种实用型的应用软件。它能够和XML文档进行对接和绑定,并能够对XML进行定义、阐述以及搜索。它是在XML的信息基础上利用互联网协议以及软件之间直接进行交互的。SUN对Web服务的含义解释是:它是组成软件的必要基础,它能够被搜索、组合以及重组,借此为用户提供解决方案。

一般来说,Web服务是被业内人士当作一种新的Web应用,具有独立性,并且带有自包含、自描述以及模块化的特点,它能通过Web发布信息、搜索信息以及调节使用。Web服务的各种功能可对用户的需求进行简单回应,也能完成一个复杂的商务流程。一个Web服务一旦配置处理好之后,剩余的应用程序和web服务就能直接发现和调用该服务。

2 多层软件应用架构概述

我们所说的多层架构是针对两层架构来分析的,三層及三层之上的结构都被称之为多层架构。在两层架构的前提下,才发展和产生了多层架构。其目的是要在HTTP协议前提下,对连接保持、状态转化和事务完整性等诸多问题予以解决。另外,它还能实现软件系统的规模化。多层架构的中心是能够提供规模化发展的特点:一方面它能从服务负载上进行规模化,可在最大程度为用户提供尽可能多的服务;另一方面它能在服务功能上实现规模化,可形成大量的软件群体系,各个分系统也能进行信息和服务的分享,构建企业级别的信息高速公路。另外,多层架构还能在不同的硬件体系中运用,所以其本身具有很高的灵活性,可适应用户计算机数量的增多和出路负荷的改变。最后,从逻辑上来分享,多层架构是互相独立不受干扰的,任何一层发生改变一般都不会对其它层面造成不良影响,具有特别高的可重用性。

3 基于web服务的多层软件应用架构实例分析

笔者从用户管理服务中将日志记录功能单独分离出来,并单独为方面服务,此外,还留下Web service接口为外部调用提供可能。日志阐述文档涵盖了牵动日志服务的Pointcut(Login(),Add(),Delete(),Query())、Advice类型after和日志服务的URI。在系统运行过程中,通常要以日志阐述文档组合为基础通过编辑器,这两个服务构建实现用户各种需求的应用。在日志服务和用户管理服务基础之上的系统架构如图1所示:

图1 在日志服务和用户管理服务基础之上的系统架构

服务提供人员把用户管理服务安排到Web服务器上,并将其接口和所需数据资料内容和类型以及结构用的WSDL予以阐述,制造有关的WDSL文件并在UDDI注册中心予以注册和公布。软件研发工作人员能根据具体的实际需要予以查询和注册,在注册中心搜寻到用户需要的Web服务以后,把在SOAP基础上的本服务的WSDL反映给用户。用户可通过Web Service Builder组件构成客户端代理类,同时在程序中添加Web引用并把它集成到用户自己的软件应用中。

用户在软件应用实际任务操作中,经过表示层将相关信息资料进行传递。比如:对于新用户的增建。这需要通过管理人员发送相关请求,然后该请求由系统中的表示层进行接收,在经由控制层中的servlet技术将信息进行甄别,进而交由新建用户管理程序中的Add()进行处理,通过此方法的运用,从而将管理员发送的新建用户请求转变为同Web标准相适应的类型。通过这种形式得到的参数经过SOAP消息监听器将其转变成同SOAP数据资料,然后在通过计算机网络功能将HTTP传输协议发送到系统的服务供应体系中。Web在接收到该服务体系中的相关数据信息后,把获取的SOAP信息传输到编辑器中,在由编辑器对其进行说明。将日志阐述作为基点,并相关文档进行检测,从而满足出发日志服务器的Join point-Add()相关要求。该文档可作为Advice类型-after以及URI的依据。其中,首先要对Web服务器中的用户管理服务进行调用,具体方法为:采用Add()为操作手段,在通过数据访问层同数据库从而实现日志的功能,并且能够获取SOAP响应的相关信息,在将该信息通过HTTP传输到服务请求体系中。在服务请求系统中,SOAP信息监听器以及由代理程序解析得到的相关数据一同经过表示层传达给管理员。

如此,服务器的操作人员只需对相关的日志功能和描述进行重编或部署,这并不能对用户管理服务造成不良营销。

4 结束语

Web服务是基于Internet发展的基础上,是对架构技术的发展、完善和延伸。同时,它也是对Web对象架构基础上的某种部署,它能够通过标准的Internet传输协议(HTTP、SMTP、FTP)以及数据格式(XML)被所有应用体系在所有地方的动态进行访问,而不用考虑具体的服务实现方式,它是SOA技术最佳的进行方式。

参考文献:

[1]李江峰.基于_NET平台的一个改进的分布式体系结构模型及其应用研究[D].华中科技大学,2005.

[2]邹姗.基于SOA的分布式应用集成研究[D].河海大学,2007.

[3]左银龙,黄志球,高鹏.分布式多层应用系统的设计与实现[J].计算机工程,2001(03):176-178.

基于软件架构的回归测试 篇7

首先由于软件总在时刻变化着, 软件的不断演化, 例如软件的开发、维护、升级都需要修改一些软件的结构和代码, 而人类对软件的要求也从未停止过。软件的每次改变都会引入潜在的风险, 这是软件演化的缺陷。其次, 人类对软件变化有了一些新的要求, 关心软件修改后的功能是否达到预期以及原有的功能是否被损害[1,2,3]。

针对以上要求, 选择使用回归测试来解决。回归测试是一种验证已变更系统的完整性与正确性的测试技术。

2 回归测试的定义及意义

回归测试是对之前已测试过、经过修改的程序进行重新测试, 以保证该修改没有引入新的错误或者由于更改而发现之前没有发现的错误。

回归测试的意义是: (1) 保证软件维护时未更改的代码功能不会受到影响。 (2) 保证软件模块区域和持续维护过程与回归测试的协作关系, 使得回归测试成为一个每月、每周、每日的常规活动。 (3) 实现软件整个生命周期的测试。

3 回归测试

首先简单介绍传统的基于代码的回归测试选择方法的作用, 以便了解软件架构回归测试选择方法的基础。关注于选择性的回归测试方法, 然后再重新采用相同的逻辑步骤来提出一种基于软件架构的回归测试方法 (在第四部分提出) 。

回归测试的目的在于验证修改的软件并确定不会在先前测试的代码中出现新的错误。传统的方法是把它分解为两个阶段。 (1) 测试软件P相对于一种指定的测试集T。 (2) 当推行了一种新版本P′时, 对已修改的版本P′的回归测试提出P′相对于测试组T′是正确的可靠性。

在最简单的回归测试方法中, 有一种叫做复制所有的测试。T′中包含T中的所有在T中的测试用例, 并且P′运行在T′上。在回归测试选择方法上, T′被选出作为一种跟T相关的子集, 假设有t∈T, t包含于T′, 如果它有可能在P′中生成的结果与在P中不同。对不同回归测试选择方法的实证研究和分析在文献[4]中提出, 加上对不同行为的识别需求。

本文着重研究如何为P′选择一种相关的测试用例子集, 又叫做回归测试选择问题, 描述一种回归测试选择方法, 它是在软件架构层面上而不是在代码层面上。换句话说, 用选择架构化的层面测试用例代替选择代码层面的测试用例。

4 基于软件架构的回归测试

基于软件架构的回归测试包含以下两个阶段: (1) 基于软件架构的测试。特别地, 应用一种基于软件架构的一致性测试方法。 (2) 基于软件架构的回归测试选择。这个阶段被分解以满足目的1和目的2。

图1总结了基于软件架构一致性和回归测试所需要的行为。本文主要研究基于软件架构的回归测试。

4.1 基于软件架构的一致性测试

这项工作是基于软件架构一致性测试的一般框架的, 目的是测试已给出的软件架构实施的一致性。

这个框架分为5个步骤, 如图1中间的部分所示。

第0步:它开始于软件架构规范的拓扑学和行为学, 这里的行为通过一种基于机器的形式体系状态来模仿。下面, 利用标签的过渡 (LTS) 来模仿组件的行为。

第1步:提出了一个通过观测得到的方法为了实现一种测试标准, 这种标准来源于与测试目的相关视角在软件架构中, 而是把无关的行为从这个视角中隐藏起来。标签的过渡 (LTS) 模型被提取出来, 就产生了一种抽象标签的过渡 (ALTS) , 用来说明只有这样高层的行为/组件是需要测试的。

第2步:一种基于架构层面的测试用例 (ATC) 以架构事件的有序序列被定义了, 这种事件是当一个确定的初始事件执行的时候期望发生的架构事件。此定义分解为两个关键词:行为序列, 它代表了所期望的行为和初始事件, 它是允许发生的结构化输入。获得一个ATCs充分集合需要得到一个合适的包含了ALTS完整路径的集合[5]。

第3步:自然地, 这样的ATCs与可执行的代码层面测试用例截然不同, 因为在软件架构和代码之间的差距。处理这个问题通过一种“绘图”方法, 它能够将软件层面函数的测试转化为代码层面测试用例。

第4步:最后, 代码运行在可识别的测试用例上。通过分析执行的踪迹来决定系统在所选择的结构测试中实施得是否正确, 采用结构化的模型作为一种测试数据库来识别代码用例成功或失败。

这样的方法已经得到公认, 但是重复的测试行为对于系统的发展而言无疑花销太大了, 因此需要以更少花销开发一种基于软件架构的测试方法。本文提出一种方法来处理系统的发展, 重复使用原始的测试结果来重新测试已修改的结构并以更少的花销来完成。

4.2 目的1:测试对于初始软件架构P′的一致性

让假设基于软件架构一致性的测试已经提出P符合已给出的软件架构的一致性。当P进化到P′之后, 如何来测试P′对于相同架构的一致性。采用的方法是将基于软件架构测试方法和现存的基于代码的回归测试方法相融合的。通过一种行为图表, 代码层面的回归测试能够与基于软件层面的一致性测试相融合来选择一个新的测试套组T′:

A:产生图表P, 大多数普通的用于代码回归测试的方法是为了通过图表来结构化地表达P。在修改之后, P′也被描述成一张图表。在软件架构中, 图表也通过组合成分行为的LTS模型来获得, 同时在结构中结构化那些成分组织。

B:把GP和GP′相比较, 在基于回归测试的传统代码中, 通过比较P和P′的代码图表, 识别代码的改变怎样影响到图表中。在软件架构中, 这种改变根据在LTS中节点和边来识别。

C:记录覆盖范围, 通过测试用例的执行测试历史记录被构建出来。通过测试用例在P上执行代码的过程, 记录一连串的节点/电弧。

D:测试用例选择P′。从测试历史和图表比较中积累的信息被应用于识别将要在P′中再次运行的T中的测试用例。如果在t∈T中P的执行包含了在P′中修改的节点, 那么t需要在P′中重新运行。

一旦T′被选择了, t′∈T′就在P′中运行并把结果收集起来, 然后和一种数据库相比较来确定测试是失败还是成功。与基于传统代码方法的一种主要的区别是, 在基于软件架构回归测试的数据库是软件结构自己本身。事实上, 当t′在P′中运行的时候, 如果它的执行不允许所期望的情况再次出现, 那么测试会失败。更多情况, 代码层面的测试用例总是被形式化的函数和结构化的需求驱动得很好。

期望从这个方法中得到的好处有两层: (1) 作为传统的回归测试, 为P′减少了测试套组的规模, 剪掉了所有在P′中不需要被再次应用的那些测试。 (2) 当发现了一致性错误的时候, 能够搜集关于如何来适应初始架构的信息。

4.3 目的2:测试进化得到的架构的一致性

让再次假设基于软件架构一致性测试已经声明了P的实施应符合已给出的软件架构。采用的方法是根据比较两者的架构的规范来识别软件结构改变/未改变的位置。结构和行为的改变都被考虑在内。特别的, 对于S和S″的LTSs被比较之后的区别通过两张图表 (利用一种“diff”算法) 来识别。在一次与基于回归测试传统代码相似的改革中, 无论什么时候一个ATC在S″中被修改的LTS软件架构中遍历一次的时候, 它需要在S″中重新测试。图1 (最左边) 总结了目的2如何通过不同的行为被意识到。

a:新的软件架构规则。演变的系统S″被结构化的规则提出。

b:测试标准。测试标准 (之前应用在S中) 被用在S″上。

c:比较。架构的规则与识别出的拓扑改变相比较 (也就是增加的/删除的组件或修改的配置) 和行为的改变 (也就是经过改变的部件)

d:为S″选择结构化的测试用例。那些来自于软件架构的被结构的改变影响的ATCs被选择在P″上重新测试, 为了S″的实施。注意到任何在这步丢弃的ATC都可以代表很多被消除的代码层面的测试用例, 因此很大程度上减少了重复测试的花销。

e:识别代码层面测试用例。一旦已经识别了需要用在S″中的回归测试ATCs, 为了S″需要把架构的测试用例转化到代码层面的测试用例, 以便为了P″选择T″。这一步类似于在第三步中基于软件架构的测试。

f:测试执行。在T″已经被S″选择之后, 需要在P″中运行T″然后评估执行基于软件架构回归测试的结果。这一步跟第四步中基于软件架构的测试很相似。

摘要:当对可靠的系统结构化的时候, 除了通过构建的方式来改善系统的可靠性 (如容错和多余的机制) 外, 对于系统的评估也同样重要, 并由此来认可系统的可靠性。现有很多不同的方法来评估系统的可靠性, 测试因而成为一种重要的方式。目前关于软件结构测试的工作表明, 应用一致性测试技术产生可信度是可能的, 这种可信度是在软件架构中可期望的行为, 指定了架构描述语言。这项工作中, 探讨了为了减少重复测试而修改系统的费用, 回归测试可以怎样被系统化地应用在软件架构层面上, 评估了进化的系统的回归测试性。考虑了评估“自顶向下”和“自底向上”等进化方法, 是否通过简单修改就能够符合初始的架构, 这样的修改是否能够符合进化的架构。将回归测试应用在软件架构层面上将有助于评估和认定其是否具有更高的可信度。

关键词:软件架构 (SA) ,可靠性系统,回归测试,分析

参考文献

[1]R J Allen, R Douence, D Garlan.Specifying and Analyzing Dynamic Software Architectures[C]//Proceedings of the1998Conference on Fundamental Approaches to Software Engineering (FASE’98) , March 1998.

[2]S Beydeda, and V Gruhn.Integrating White-and Black-Box Techniques for Class-Level Regression Testing[C]//Proceedings COMPSAC2001, 2001:357-362.

[3]A Bucchiarone, H Muccini, P Pelliccione, and P Pierini.Model-Checking Plus Testing:From Software Architecture Analysis to Code Testing[C]//Proceedings International Work on Integration of Testing Methodologies (ITM’04) , October2004.

[4]UCI.The C2Style[EB/OL].http://www.ics.uci.edu/pub/arch/c2.html.

数字油田软件系统架构研究 篇8

数字油田是油气工业信息化发展的必然结果。1991年, 在《Oil&GasJournal》杂志上出现了智能油田 (SmartField) 词汇及其论述, 这可被认为是数字油田概念的起源。1998年, 美国前副总统戈尔在一次演讲中首次提出了数字地球 (DigitalEarth) 概念。1999年, 大庆油田首次提出数字油田 (Digital OilField) 概念。源于对数字油田目标的期望差异性, 国际各大油公司对数字油田的描述和实施都存在一定的差异性, 还给数字油田取了不同的名字, 如:SmartOilfield (Shell) 、i-Oilfield (Chevron) 、eField或FieldoftheFuture (BP) 、DigitalOilFieldof theFuture (Schlumberger) 等。

数字油田是以信息集成、信息共享和工作协同为主要特征的综合管理系统。建设数字油田, 将油气资源的发现与开发工作从分类资料的顺序处理发展为实时处理, 建立快速反馈的动态油藏模型, 对油田生产过程和经济活动进行动态的把握和快速的控制, 实现实时或近似实时监视和管理油田的所有操作活动。

数字油田是一项涉及多学科的复杂系统工程, 支撑技术涉及信息技术、地学、石油工程、管理学等学科。需要强调的是, 数字油田迅速兴起主要归功于信息技术在网络技术、通信技术、计算技术、数据管理技术、软件开发技术等方面的不断突破、发展和应用。

目前, 数字油田是风靡全球石油工业界的热门词汇。2005年10月, Shell、Chevron等公司在石油工程师协会SPE (SocietyofPetroleum Engineers) 年会上发表了数字油田应用实践案例, 标志着数字油田的发展进入了实际应用阶段[1]。在国内, 最早规划数字油田建设的是大庆油田 (2000年) , 塔里木油田 (2002年) 、胜利油田 (2003年) 、新疆油田 (2003年) 等也相继规划和实施了数字油田建设, 均取得了一定的效果。中国石油2005年开始的“十一五”信息化规划的实施, 全面、有序地支持了数字油田建设。

借鉴数字地球的定义, 陈强、王宏琳先生[2]提出了“数字油田是某油田的虚拟表示, 能够汇集该油田的自然和人文海量信息, 人们可以对该虚拟体进行探查和与之互动”。我们可以看到, 目前的数字油田建设, 已基本实现对油田自然和人文海量信息的汇聚, 但尚未完全达到可以对油田虚拟体的探查和与之互动的能力, 欠缺在哪里呢?

初步分析认为:目前的系统一是对信息整合程度不够, 二是系统集成度和综合能力不高, 三是系统间的协同能力不足, 四是对油田虚拟化表示能力不足。

因此, 我们提出了以业务逻辑模型、技术数据模型和三维空间模型为基础, 以满足业务规则、信息集成和工作协同为目标的构建数字油田统一软件系统平台的思想, 在此基础上, 结合最新的信息技术的发展, 对数字油田统一软件系统体系架构进行探索性研究。

2 数字油田软件系统总体架构设计

2.1 数字油田软件系统架构设计理念

我们倡导数字油田统一软件系统的敏捷性、协同化、实时性等基本理念。因此, 数字油田软件系统架构设计中应体现以下几个理念:

2.1.1 数字油田统一软件系统应具备敏捷性

数字油田软件系统应具备良好的可扩展性, 可快速反应企业经营环境的变化, 能够迅速完成企业所需的新的应用开发与部署。

2.1.2 数字油田统一软件系统是资源共享与工作协同系统

数字油田软件系统建立硬件、软件、数据、知识等资源的共享环境, 为专业技术专家、企业管理专家建立方便、灵活的协同工作环境。

2.1.3 数字油田统一软件系统是实时系统

数字油田统一软件系统将油气勘探与开发过程中的资料处理流程设计为实时处理过程, 强调不同专业的工程师能够快速、动态地获得和共享数据信息, 建立动态数据管理与应用环境, 并据此动态掌握和实时控制油田生产过程和经济活动。

2.1.4 数字油田统一软件系统的建设应该循序渐进

数字油田软件系统是一种复杂系统工程, 投资大, 建设周期长, 可裁剪性尺度大。在数字油田软件系统架构设计中, 要充分考虑这一点, 以便为不同的客户提供不同发展阶段的数字油田软件系统, 灵活实现客户的阶段目标和总体目标。

2.1.5 数字油田统一软件系统建设应遵循统一的规则

遵循统一的规则 (如标准、接口等) 是建设数字油田统一软件系统平台的基础, 是支撑其敏捷性、可扩展性的基本要求。

2.1.6 数字油田统一软件系统建设应具备统一的模型标准

这里的模型主要是指:A、满足业务运行、管理及相互之间联系的业务逻辑模型;B、满足数据存储的技术数据模型;C、满足油田可视化、虚拟化需求的三维空间模型。

2.2 数字油田统一软件系统总体架构设计

简单地说, 数字油田统一软件系统是一个软件系统平台或信息系统的集合体, 对某一个专业系统, 只要遵循上述设计理念, 即可成为数字油田统一系统的组成构件, 并可实现与其他系统的信息交换、共享与互动。

数字油田统一软件系统架构分四个层次:物理资源层、数据资源层、业务逻辑服务框架 (含SOA框架和云计算框架) 、应用层。在数字油田统一软件系统总体架构中, 以SOA[3,4]理念构建平台, 并充分考虑数字油田软件系统应体现敏捷性、实时性、可扩展性等基本需求。数字油田软件系统总体架构如图1所示。

2.2.1 物理资源层

物理资源主要是指计算机、存储器、网络设施、传感器等, 其中传感器特指信息传感器, 用于信息的采集与收集。

在物理资源层, 支撑技术主要涉及计算机技术、数据存储技术、网络通信技术、信息传感技术等。

2.2.2 数据资源层

数据资源层涉及业务规范、业务逻辑、业务数据、空间数据, 以及元数据及数据库等。

数据库一般包括专业数据库、勘探开发主数据库、业务管理数据库、区域研究项目数据库、数据仓库等。

业务逻辑主要指业务规则、业务流程及业务关联关系等。业务逻辑是业务实现以及业务之间信息传递的核心, 它主导或控制了所有业务活动。

空间数据主要是指用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据, 所有业务活动均具有空间及时间属性。

在数据资源层, 支撑技术主要涉及业务建模、数据建模、元数据、数据库、专业数据管理、空间数据建模等技术。

2.2.3 业务逻辑服务框架

业务逻辑服务框架是数字油田统一软件系统架构的核心构件, 只要遵循业务逻辑服务规则和统一的SOA规范构建的业务系统或信息系统, 均能很方便地嵌入到该框架中, 实现敏捷地装配和信息集成。

支持业务逻辑服务框架的核心技术包括统一的SOA架构规范及组件开发及装配技术, 此外, 云计算技术可作为支撑业务逻辑服务框架的新的选件。

组件库组件包括:数据访问组件、专业组件、业务组件、SOA架构基础组件等。

2.2.4 应用层

应用层可以说是数字油田一系列应用场景的实现。应用层是在业务逻辑服务框架的基础上, 按业务需求及业务逻辑装配的一系列应用系统, 如:协同研究工作环境、作业区生产管理、勘探开发决策支持系统等。

3 数字油田统一软件系统建设规范

数字油田作为油田企业信息化建设的复杂系统工程, 涉及的标准体系涵盖信息技术、地学、石油工程、管理等学科。对于构建数字油田统一软件系统, 制定统一的标准规范是实现数字油田敏捷性、协同化、实时性的基础保障。我们认为, 数字油田统一软件系统建设需遵循以下基本标准、规范。

3.1 SOA架构规范

由于数字油田统一软件系统基于SOA理念构建, 因此, SOA架构规范是核心规范之一。遵循简单对象访问协议 (SOAP) 、WSDL、业务流程执行语言 (BPEL) 等SOA领域的国际标准, 可确保其它系统易于融入到数字油田统一软件系统之中。SOA凭借其对松耦合特性的支撑, 使得企业可以按照模块化的方式来添加新服务或更新现有服务, 以解决新的业务需要, 适应企业业务的不断变革与优化。

3.2 业务组件设计应遵循相关的业务规则或规范

业务规则涉及业务类型、业务逻辑、业务流程、业务规范等;大地测量标准 (EPSG) 、石油天然气地质编图规范及图式、工业自动化标准 (如:OPC、ISA等) 等都属于相关规范范畴。

3.3 数据模型与数据交换相关标准

数据模型与数据交换相关标准, 如:POSC、PP-DM、ePOS、WITSML、PRODSML、RESQML、SEG等。

4 数字油田统一软件系统构建的关键技术

基于以上基本理念和架构设计, 要实现将油田已有的信息资源和系统资源集成或融合到统一的数字油田统一软件系统, 我们认为需要SOA架构技术、模型管理技术、系统集成技术、计算技术、身份认证与信息安全等关键技术支撑。

4.1 SOA架构技术

4.1.1 SOA架构是建设数字油田统一软件平台的基础框架

在SOA理念中, 业务被划分 (组件化) 为一系列粗粒度的业务服务和业务流程。业务服务相对对立、自包含、可重用, 由一个或多个分布的系统实现, 而业务流程由服务组装而来。

通过油田业务与SOA现行国际标准及核心组件的有机融合, 实现SOA理念在数字油田统一软件平台框架中落地, 需要解决以下问题:

*基于可按需装配的原则, 统一组件开发规范, 提供统一风格的系列组件;

*依据业务需求, 实现动态的组件装配机制;对于业务的变更, 可灵活、快捷地实现组件重新装配;

*支撑开放的系统集成架构, 除规范新系统的建设外, 还需要实现现有系统的接入, 以及与外部系统的互动。

4.1.2 SOA架构实例——ePlanet

ePlanet平台[5]是北京中油瑞飞信息技术有限责任公司根据中国石油信息系统建设需要研发的具有自主知识产权的软件开发架构, 该平台采用SOA架构技术并遵循标准化、可扩展、面向服务的集成、面向石油行业、高复用设计理念而构建, 主要功能包括提供软件开发所需的基础组件/服务, 支持系统快速设计开发、运行管理和监控维护, 该平台上固化了一批石油行业的通用组件/服务, 是新一代企业级应用软件平台。

ePlanet平台的架构由下至上可分为四个层次:基础组件、SOA中间件、设计开发工具和业务组件。

4.1.2.1 基础组件

ePlanet的基础组件包括流程组件、数据访问、事务管理、全文检索、Ajax处理、权限管理、组织机构、缓存管理和定时任务管理等支持功能实现, 但与具体业务无关的公共组件/服务。

4.1.2.2 SOA中间件

SOA中间件是ePlanet中提供面向服务能力的构件, 包括RF-SOAF、ESB和BPM引擎。

RF-SOAF提供了服务的实现与调用、注册和监控等功能, 整个框架可分为数据访问、服务处理和服务交互三层。

ePlanetESB基于RF-SOAF的协议转换器和消息转换器, 提供对服务的通讯协议转换和数据格式转换。ePlanetESB还提供了接口以嵌入其它厂商的ESB产品, 如JBossESB、IBM WPS等。

ePlanet的BPM Engine扩展了BPEL规范, 支持对服务、事件和人的统一编排, 使得各种不同的服务和人工处理可以按业务需求快速组装成新的流程, 从而实现IT与业务的有机融合。

4.1.2.3 设计开发工具

ePlanet的设计开发工具包括代码生产器、工作流、智能报表和系统定制等四大模块, 对系统功能的实现提供了直接的支持。

4.1.2.4 业务组件

在ePlanet平台中固化了一些具有行业代表性的优秀业务组件/服务以支持应用系统的快速构建。如资源管理、项目管理、办公管理、WITSML (井场信息传输标准标记语言) 服务、综合录井曲线显示、开发图表绘制展示、地震数据显示、标准矢量图件显示、等值线显示等业务组件。

目前, 该平台已经在中国石油工程技术生产运行管理系统 (A 7) 、中国石油矿区服务业务管理系统 (C 4) 、煤层气排采监控软件系统、瑞飞协同办公平台等系统中成功应用。

4.2 业务组件开发技术

业务组件开发应遵循业务规则, 这里的业务规则是指与业务相关的操作规范、管理章程、规章制度、行业标准等。

业务规则实质上也可以理解为一组条件和在此条件下的操作, 是一组准确凝练的语句, 用于描述、约束及控制企业的结构、运作和战略, 是应用程序中的一段业务逻辑, 该业务逻辑通常由业务人员或企业的管理人员利用组件工具进行定制。

4.3 系统集成技术

基于SOA框架, 利用适配器 (Adapter) 、企业服务总线ESB (EnterpriseServiceBus) 和业务过程管理BPM (BusinessProcessManagement) 等技术, 通过服务装配、服务编排、数据服务等过程, 提供面向服务的数据集成、业务集成和应用集成。

4.4 计算技术

4.4.1 网格计算技术

网格计算技术将高速互联网、高性能计算机、大型数据库、传感器、远程设备等融为一体, 为用户提供更多的资源、功能和交互服务。

4.4.2 云计算技术

云计算是并行计算、分布式计算和网格计算的发展, 是虚拟化、效用计算、基础设施即服务、平台即服务、软件即服务等概念混合演进的结果。

数字油田统一软件系统平台的计算服务组件通过将封装好的应用系统与数据发送到云平台, 得到云计算服务。

4.5 身份认证与信息安全

结合企业的统一身份认证系统和信息安全管理策略及相关系统平台, 利用SOA框架中的安全性与可靠性相关协议 (WS-Security、WS-Reliability、WS-ReliableMessaging等) , 实现对用户身份与数据的安全控制。

5 数字油田软件系统应用场景展望

数字油田应用场景广泛, 这里, 我们通过数字油藏、协同工作环境、虚拟化油田等方面展望数字油田软件系统的部分应用场景。

5.1 数字油藏

王宏琳先生对数字油藏定义如下:“数字油藏是油藏的一种虚拟表示, 使得人们可以探测汇集有关油藏的自然和人文信息, 并与之互动”。

我们认为数字油藏应用场景应该具备以下特征:油藏建模及可视化;强调动态性和实时性;共享综合研究成果、井筒数据、油气水生产数据;多学科协同工作, 共同决策。达到科学决策、优化采油工艺、提高采收率的目的。

5.2 协同工作环境

这里的协同工作环境是指为油田各业务间能够协同一致, 高效完成业务活动而提供的统一软件平台。

该平台提供了根据业务流程及业务逻辑组织的相关专业和部门的技术人员、管理人员在跨地域的网络环境上进行协同工作的能力。

协同工作环境应具备以下特征:信息透明, 决策后移;共享资源, 共享知识 (特别是专家知识) ;协同研究, 协同决策;突破专业、部门、地域、系统等方面的限制。达到高效工作、优化流程、科学决策、提高效益的目的。

5.3 虚拟化油田

虚拟化油田是数字油田发展的高级阶段, 它可以全面展示油田的人文、地理、地质等真实环境, 实现油田全业务流程的模拟与虚拟控制。利用其三维虚拟现实场景, 可以在其中进行探查、研究, 并实现与真实油田的互动, 真正消除人、过程与应用之间的距离。

6 结束语

本文提出了一种数字油田统一软件系统架构方法, 为构建智能化的数字油田提供了一种软件实现方面的思路, 期望为未来的数字油藏、协同工作环境等应用场景建设提供一定的借鉴。

需要指出的是, 由于相关研究工作刚刚起步, 尽管北京中油瑞飞信息技术有限责任公司在SOA架构应用上进行了有益的尝试和探索, 但应用范围毕竟有限, 加之石油业务所固有的多元性和复杂性, 要实现数字油田统一软件系统平台的设想, 需要油田的深度参与, 并通过示范工程, 建立切实可行的方法和规范体系, 逐步将数字油田建设由实时性、协同性向虚拟化、智能化推进。

由于作者认识水平有限, 不足之处在所难免, 请有关专家共同研究与探讨。

摘要:中国石油信息化建设经过“十一五”的快速发展, 已由基础建设阶段跨入到应用提升阶段, 纵观各专业在用信息系统, 我们经历了从无到有、从初级到高级的历史性跨越。但面对错综复杂的业务关系, 仅从上游信息系统来说, 我们的系统尚达到理想的期望目标。本文从数字油田整体考虑, 基于业务规则、信息集成、信息共享和工作协同的理念, 提出了构建数字油田统一软件系统平台的设想, 结合最新的信息技术的发展, 给出了建立未来数字油田统一软件系统平台的架构方法, 希望对解决数字油田这样既庞大又复杂的应用系统环境下的软件架构问题起到一个抛砖引玉的作用。

软件架构中的关键因素 篇9

对于每一个软件项目组织来说,开发和使用软件架构的能力变得越来越重要,软件架构已经成为影响软件项目成败的最主要因素之一。尽管软件架构的定义、描述、建立与评估等还缺乏统一性,但软件架构的研究已经渗透到软件生命周期的各个阶段,各种标准、技术成果的整合将有效提升软件架构总体应用水平。

自从软件架构被提出以来,人们对于软件架构的本质认识一直在不断深入,比较典型的有注重组件构成与交互的观点[1],以及注重问题重要决策的观点[2]。IEEE1471-2000[3]专门制定了与软件构架相关的国际标准,给出了一个概念模型。CMU/SEI的BASS[4]等人在给出的软件架构定义中,阐述了软件元素的构成及其外部可见属性。

2. 概念模型

本文给出了一个软件架构的概要描述,综合了上述主要思想,这个概念模型在结构上更加完整,对软件架构的建立、分析与评估具有指导意义。

上述概要描述中,三个组成部分及其相互关系覆盖了SA定义的主要方面,其中的连线具有稳定的作用关系,明确了组成部分各自的责任范围,实线体现了软件架构创建与演化的主要行为结果。结构中,架构师部分关联的边数最多,体现了架构师作为体系架构守护者的核心作用。SA内部元素构成及其关系是由架构师直接决定,架构师的最基本活动是架构设计,架构设计的结果表达为两个可追溯方面,一个是从架构师部分输出的“决策”,一个是从软件架构内部元素构成及其关系部分输出的“SA外部视图”。架构师的另外一个活动是“交流”(图1中上方虚线),即架构师作为催化剂,为实现架构而必须做好信息沟通工作。这个沟通包括多个方面,在这里抽象为与涉众的沟通、与组织的沟通以及与环境的作用。IEEE标准[3]已经给出了涉众的定义,对于组织的认识还亟待业界重视,文献[5]详细介绍了VRAPS5项原则模型,该模型中体现了组织管理原则与软件生产技术的有机结合,把组织上升到与软件过程、软件架构同等重要的地位。SA内部元素构成及其关系部分没有以通常的组件与组件间关系,或组件、连接件、约束来表达,而是代之以更为一般化的元素概念。组件有时传递的是运行时信息,而更一般化的元素可以兼有动态和静态属性,甚至可以递归定义为子元素以表达子系统、子架构的情形。

3. 影响因素

在构建SA过程中,只关注提取质量属性的方法是不全面的,本文认为软件架构中影响因素应该涉及功能属性、质量属性、组织属性、商业属性、环境属性等多个方面,只有综合平衡各方面影响因素,进行关键影响因素分析,才可能提取关键属性,并为做出正确的、平衡的、可追溯的决策创造条件。

关于功能属性和质量属性的关系,本文对于两者的正交性报怀疑态度。功能属性对质量属性的影响举例:某些网络功能的增加将降低安全性,降低可伸缩性等。有文章论及一些功能的改变使某些质量属性不能处于某种级别[4],本文认为这正是该功能属性和该质量属性相互之间有影响的反映,两者之间是非正交的。IEEE对于质量属性中属于功能性的部分进行了分类[3],从另一个侧面承认某些质量属性之功能性因素,如适合性、准确性、互操作性、安全保密性等。实践中稳妥的做法是,对重要功能必须关联质量属性分析,尽管有些需求分析中在某些功能方面中没有关联质量属性,但架构师有责任回溯需求分析,把影响因素揭示出来,毕竟没有任何质量属性要求的重要功能几乎是没有的。这也是要求架构师应参与需求阶段主要工作的原因之一,架构师应对质量属性中的一些属性进行功能转化与影响分析。

影响因素中,属性的捕获和涉众中需求分析人员的工作关系密切。在软件架构之前的工作中,领域模型是对问题领域的内在深入研究,软件需求则是对问题领域的外在功能捕捉。相比其他属性,架构师可以直接得到的是需求分析和领域分析中的结果。在对组织属性、商业属性、环境属性的看法上,众多软件架构过程常常忽略上述属性对架构的影响,实际上这些影响可能是非常关键的,可能变成架构成功与否的决定性因素之一。本文推荐采用的方法是:即把组织属性、商业属性、环境属性先行分析,转化为功能和质量属性的分析或约束。

总之,对影响因素中属性的捕获和平衡折中是软件架构的重中之重,因其是架构的依赖,影响因素分析不到位必然对决策阶段产生影响,应增加除功能属性、质量属性之外的属性的提取和控制,形成联合分析。

4. 决策

决策是软件架构设计的结果,这个结果属于架构归档的一部分,这些决策可能在SA外部视图中直接表达出来,或者通过其他的形式详细表达。较好的架构决策归档会对软件架构中多个环节起到重要作用,如软件架构评估以及架构的迭代与回溯。决策的很大的一部分存在于从需求分析向架构过渡的阶段,如功能属性和质量属性的确定过程中。架构师对于功能属性和质量属性不能简单拿来,而是需要在繁多的属性中确定关键功能属性和关键质量属性,方法是通过关键用例以及用例简述、用例规约进行认真识别,引入鲁棒性分析和“属性-场景-决策”方法。领域分析中建立的领域模型,用于帮助确定建立普遍使用的概念以及寻找主要问题的解决途径。对于捕获到的约束部分,可能一部分转化到功能属性上,一部分转化到质量属性上去,一部分成为必须遵守的限制条件,这些决策也应该记录下来。

5. SA外部视图

软件架构视图是架构设计中非常重要的概念。不同的涉众需要不同的视图,视图体现软件架构的多维性,同时视图作为软件架构过程的“产品”在软件架构评估以及软件架构复用中起到了核心作用,成为软件架构中的归档方法。1995年,Philippe Kruchten在一篇论文中介绍了“4+1”视图方法[6],即通过逻辑视图、进程视图、物理视图、开发视图、场景视图来描述体系架构,该方法在RPU中得到推广运用。

当前,软件架构的描述在很大程度上还停留在非形式化的基础上,形式化的描述对体系架构的设计和验证非常重要。通常,软件架构形式化的程度随着软件系统重要性程度的增大而增大。然而,形式化描绘往往困难较大,在软件开发时间要求紧迫的情况下很难有效果,同时多视图之间的一致性、多种软件架构风格的通用性都是难题。软件架构的描述可以分解为各类视图的描述,先立足非形式化的描述,到建立重点视图的形式化描述,再到建立一般视图的形式化描述。另外,从软件开发方法及软件架构验证的角度看,演进原型法是常用而有效的手段。

6. 结束语

本文尝试给出了一个软件架构概念模型,对其中的主要部分进行了描述和探讨。在研究工作中以及工程实践中,人们已经越来越认识到SA的创建不是一劳永逸的事情,而是增量式循环,是不断改进的动态过程。软件架构模型的建立和完善对SA的创建有很大的影响,体现在软件生命周期中各个阶段。随着更多研究与实践工作的开展,对软件架构模型的认识将越来越透彻。

摘要:软件架构是当前软件工程的一个主要研究领域。给出了一个新的软件架构概念模型,分析了其中的组成部分和关系,详细探讨了影响因素、决策和软件架构外部视图。

关键词:软件架构,概念模型,分析

参考文献

[1]Shaw M,Garlan D.Software Architecture:Perspectives on an E-merging Discipline[M].New Jersey:Prentice-Hall,1996.

[2]Kruchten,P.The Rational Unified Process:An Introduction,Second Edition[M].Addison-Wesley,2000.

[3]IEEE.IEEE recommended practice for architectural description of software-intensive systems[S].IEEE,IEEE Std1471-2000,2000.

[4]Bass L,Clements P,Kazman R.Software Architecture in Practice.2nd ed[M].Boston:Addison Wesley,2003.

[5]Dikel,D.M.Software Architecture:Organizational Principles and Patterns[M].New Jersey:Prentice-Hall,2001.

“双向评价评价系统”的软件架构 篇10

关键词:双向评价,软件,架构

1 引言

所谓软件构架,是指软件开发人员根据用户提供的理论构想,专门设计的技术流程。软件架构不但决定着开发人员采用何种技术手段实现用户所提出的理论构想,而且也关系到所开发软件实现方式的可行性、先进性、实用性和可操作性[1,2,3]。因此,一部理想软件的开发,必须从建立软件构架入手,只有做到这一点,才能实现所开发软件的预期目标。本文结合“双向评价系统”的开发,就此问题谈一些具体做法,供大家参考借鉴。

2 软件系统概述

2.1 软件系统架构模式

“双向评价系统”是基于校园信息系统(Campus-Wide Information Systems,CWISs)平台的浏览器/服务器(Browser/Server)结构的管理信息系统(Management Information System,MIS)。它利用校园网提供的Web服务,使用简单、一致的浏览器接口,实现评价数据的采集、汇总和共享。与Windows 2000 Advanced Server同时提供的因特网信息服务(Internet Information Server,IIS)就是功能强大的Web服务器。IIS提供对动态网页(Active Server Pages,ASP)的支持。“双向评价系统”主要由ASP页面及数据库管理系统组成。系统客户端配置Windows XP+IE 6作为基本运行支持环境。

2.2 数据库选用

可供选择的数据库管理系统较多,如Access、SQL Server等。根据该系统的应用需要并考虑到数据库维护等的问题,我们选用了功能强大而又易于维护的Access数据库系统。

2.3 ASP页面开发

ASP包含服务器脚本(主要使用Java Script,VBScript)、对象和组件。目前流行的网页开发工具,如Front Page 2003等,均支持ASP开发。使用Front Page,利用脚本语言和内建的对象、组件,可以非常有效地实现对评估数据的访问和更新,也可以得到较友好的用户界面。有条件的可以使用微软的Visual Inter Dev,它提供创建和维护Web站点的开发环境,并且与SQL Server紧密集成,可以直接设计和修改数据库的数据表。评价系统中使用到的内建对象主要有:

1)Application Object-这个对象表示的信息可以与ASP应用程序的所有用户进行共享。

2)Request Object-表示由浏览器发向服务器的所有信息,包括表单变量和查询字符串。

3)Response Object-表示由服务器发向浏览器的所有信息,包括由ASP网页发送的HTML内容。

4)Server Object-用于启用服务器上不同的工具函数。

5)Session Object-表示有关特定用户会话的信息。比如登录系统的用户、用户单位及用户角色等,见图1。

3 评价系统主要功能及角色划分

3.1 评价系统功能设置

评价系统可对各类人员,如学员、教员(同行)、专家、领导所作评价数据的采集。并按指定方式,进行数据汇总,生成各类汇总结果。主要适用于平常教学不同方面的水平衡量、所设立教学优胜奖的最终结果统计和对8个方面的满意度进行汇总。同时,系统还可以进行各种评价意见和建议的汇总,得到来自各个层面的合理建议和需要解决的问题,便于教学管理部门及时发现问题。

3.2 用户角色划分及功能

根据系统登录用户在教学评价中担负的任务,将用户划分为4种不同的角色,并对不同的角色授予不同的功能或权限。包括:

1)学员:参与教学评价,包括课堂理论教学、实验教学、教学课件,参与满意度评价。

2)教员:主要指讲师和助教,作为同行参与课堂理论教学、实验教学、教案质量、教学课件质量等评价,参与满意度评价,参与对本教研室承担课程进行维护,参与在教研室范围内对上述项目进行自查自评。

3)专家:主要指教授和副教授,作为专家进行课堂理论教学、实验教学、教案质量、教学课件质量等教学质量评价,参与满意度评价,参与对本教研室承担课程进行维护,参与在教研室范围内对上述项目进行自查自评。

4)领导:包括校领导、部(处)领导、训练部(处)机关参谋和学员队管理干部。作为领导对课堂理论教学、实验教学、教案质量、教学课件质量等教学质量进行评价,负责对评价结果、评价意见建议进行通报和总结讲评,如果需要经系统管理员许可,也可以参与满意度评价。

3.3 系统管理员主要任务

系统管理员作为超级用户应指定专人担任,专门负责评价系统后台数据的管理。包括数据备份、系统设置、系统用户角色称谓维护、专业管理、部门管理、用户管理、课程管理、ABCD等级系数维护、设置教学评价项目、设置各教学评价项目指标体系、设立教学优胜奖项目、设置满意度评价项目、设置满意度评价内容等。也可以发布系统广播、撰写规范制度。原则上,系统管理员不参与教学评价及满意度评价,如系统授权许可,也可以参与相关测评。

4 系统数据库结构

系统采用了Microsoft Access数据库。根据系统功能要求,设计了16个数据表。

1)ABCD等级系数abcd,见图2。

2)教学质量评价项目aspect,见图3。

3)满意度评价项目asp2,见图4。

4)教学质量评价结果erecord,见图5。

5)教学优胜奖winner,见图6。

6)教学质量评价指标idx,见图7。

7)满意度评价项目idx2,见图8。

8)课程名称lessons,见图9。

9)专业名称major,见图10。

10)满意度评价记录satisfaction,见图11。

11)系统广播news,见图12。

12)用户角色roles,见图13。

13)制度规范rules,见图14。

14)系统设置systemsetting,见图15。

15)部门列表units,见图16。

16)用户列表users,见图17。

参考文献

[1]董剑利,黄应堂,李小明,等.数据库网站技术的发展和应用[J].甘肃教育学院学报,2000,14(3):54-57.

[2]姚亚军,黄应堂.试卷分析计算机应用软件的研究与开发[J].甘肃教育学院学报,2002,16(1):33-35.

高校应急响应体系架构及体系设计 篇11

关键词:应急响应;突发事件;校园安全

随着教育改革进程的不断加快,高等教育事業得到迅速发展,但同时,潜伏在校园内部和周边地区的许多不安全因素不断涌现,各类安全事故时有发生。高校社会关注程度高,传播速度快,其自身的安全与稳定关系着整个社会的安全与稳定。高校突发事件具有不可预测性、迅速扩散性、潜在威胁性以及后果严重性等特征。建立高校应急响应体系,有效应对校内突发公共事件、保护广大师生生命财产安全、维护学校安全稳定。

一、高校应急响应研究现状

1.国外研究现状。西方国家对公共危机管理的研究始于20世纪60年代,经过半个多世纪的理论和实践发展,西方国家公共危机管理,无论在指导理念、管理体系还是在管理经验上都有了很大的创新。美国、日本等一些发达国家在危机管理方面的法律法规十分健全,各学校以国家相关的法律和政策为纲领,针对自身的实际情况,制订相应的危机管理计划和具体实施框架,使得危机来临时临危不乱,有备而战。

2.国内研究现状。我国高校应急响应系统更多的是从公共安全的方向进行研究,多从理论的“应急”或“应对”角度出发,而高校各种突发事件系统的预警、预防、应急处理、恢复的措施并没有从实际的可操作性上着手。虽然国家在2007年出台了《中华人民共和国突发事件应对法》——对于突发事件的预防与应急准备、监测与预警、应急处置与救援、事后恢复与重建等应对活动,都可适用。但这个并不是针对高校的突发事件应急处理办法,对于高校适用性不高。

3.高校现状分析。对于高校紧急事件的处理,现在还是以事后处理为主,并没有将预防突发事件的发生给予高度的重视,还没有出台相关的可具体操作的文件。学校缺乏一个系统的以预防为主的突发事件应急响应体系。

二、高校应急响应体系构建

1.应急响应体系内容。依据有关法律、行政法规,参照《国家突发公共事件总体应急预案》,首先在学校建立一个突发事件协调委员会,来组织和领导突发事件的应对工作。突发事件协调委员会可以由主管安全的副校长挂职担任委员会主任,各小组组长由学校性质接近部门的副职领导担任,并对各个小组额外配备工作人员。对协调委员会的各成员要定期进行培训,提高其突发事件预防意识和应对能力。突发事件分为三个时期和四个级别。突发事件协调委员会将根据不同时期与事件的不同级别采取相应的应急预案,突发事件三个时期分别为事前、事中与事后。①事前——预防与预测时期:主要研究如何建立有效的体系来预防和预测突发事件,达到事前控制的目的。②事中——处理与控制时期:应对高校突发事件的具体实施阶段。③事后——心理干预时期:根据国家已经较为成熟的灾后重建和心理干预措施,结合高校实际,制订相应的预案。

2.高校应急响应体系结构。

图1.1高校应急响应体系结构

3.突发事件的分类。根据我国高校现状,笔者认为突发事件级别划分依据突发公共事件可能造成的危害程度、紧急程度和发展态势,一般划分为4级:I级(特别重大)、II级(重大)、III级(较大)和IV级(一般)。将常见突发事件分别划入4个级别中。遇到不同的突发事件,采取不同级别的应急预案。高校突发事件一般划分为4级:I级(特别重大)、II级(重大)、III级(较大)和IV级(一般)。I级事件(特别重大),在一次突发事件中,造成死亡3人以上的或是经济损失在100万元以上。包括地震、暴雪、泥石流等破坏力强的自然灾害。人员伤亡严重,社会影响广泛的安全事故。在特殊敏感时期发生的突发事件等。II级事件(重大),在一次突发事件中,死亡1~2人或是经济损失在10万元~100万元。包括突发疾病的预防,重大安全事故等。III级事件(较大),在一次突发事件中,重伤3人及以上但未有人员死亡的或经济损失在1万~10万元。包括群体性事件、小型火灾、食品安全事故等。IV级事件(一般),在一次突发事件中,出现轻伤人员或经济损失在1万元以下的。包括小型群体性事件等。

三、高校应急体系操作

1.各级突发事件应急预案。根据高校突发事件分级原则,在确认发生几级突发事件后,学校应立即启动预案。在I级突发事件中主要以破坏性自然灾害为主。在II级突发事件中主要以突发疾病防控为主。在III级突发事件中主要以小范围人祸和食堂饮食安全为主。IV级突发事件主要为一般安全事件。现以I级突发事件地震的应急预案为例,应急预案如下:①组织应急机构,突发事件协调委员会应立即成立应急工作领导小组,并向全校发出红色安全警报。组织领导应急工作,领导小组组成如下:总指挥、办公室、应急疏散组、后勤保障组、安全保卫组。②指导思想,按照“统一指挥、反应迅速、措施落实、疏散有序、确保安全”的工作原则,保证学校及时、有效地实施预防、控制疏散和自救互救等措施,保障学校师生和财产安全。③启动条件,我市及周边发生破坏性地震或学校所在地受其他破坏性地震影响,立即启动本预案。④地震发生时应急行动,紧急避震、紧急疏散避险、制订撤离路线、实施灾后自救及处理等。

2.多级别突发事件同时发生的应急预案。在突发事件分级中,可能出现多级别突发事件同时发生的情况,多级别事件同时发生主要为学校群体性事件。校园内外涉及师生的各种非法集会、游行、示威、请愿以及集体罢餐、罢课、上访、聚众闹事等群体性事件;各种非法传教活动、政治活动;针对师生的各类恐怖袭击事件;师生非正常死亡、失踪等可能会引发影响校园和社会稳定的事件等。应根据事件的发展趋势动态调整事件级别,不断调整应急措施和方案,加大应急处置力度,提高应急处置工作的针对性、时效性。统一指挥,快速反应。在学校成立突发群体性事件应急处置工作领导小组,全面负责全校应对突发群体性事件的处置工作,形成处置突发群体性事件的快速反应机制。一旦发生重大事件,确保发现、报告、指挥、处置等环节的紧密衔接,做到快速反应、正确应对、处置果断,力争把问题解决在萌芽状态。

四、保障机制

1.事前保障——预防与预测。做好安全教育:大一第一学期可加入公共安全教育这一门课程,在教学过程中更多地采用以实战演练和形象性相结合的安全教育形式。学校可以利用社团多开展一些安全知识的普及活动。开设网上心理咨询热线,进行对话辅导,利用网络软件资源,开展心理测试与训练等。信息收集:必须对信息的收集、加工、储存、传递和利用各个环节进行科学的规范,以保证信息管理的准确性、及时性,提高信息利用的效率。在重大突发事件的预防中,高校应该加强信息沟通和信息整合。重点地区定期检查:为了防止校外人员进入校园,要加强学校的门卫管理制度、巡逻制度,强化门卫自身素质,提高管理能力,并根据学校实际情况,安装监控摄像头,对校园进行实时的监控。加强辅导员和大学生社团的作用,预防高校突发事件。一切以学生为本、实施教育和服务相统一的人性化管理思想,实施“关爱和严格”并举,“教育与服务”并举的学生管理思想。辅导员应做到“爱心、关心、耐心、细心、热心、诚心”,全心关怀学生的成长。加强辅导员队伍建设,重要的是提高其工作业务能力和责任心。辅导员除了通过各种措施教导、帮助学生外,更要靠良好的自身素质和形象来感染和影响学生,起到表率和典范作用。

2.事中处置——处理与控制。组织与指挥:学校各有关部门在各自职责范围内,做好突发事件应急处理的有关工作,切实履行各自职责。对部门组织或负责的教育教学活动,活动前应有预见,并根据学校的突发事件应急预案,采取相应的措施,发生事故,主动纳入学校预案工作程序。监测与报告:开展突发事件巡视监测,发现事件或可能发生的突发事件的苗头,应向学校领导汇报。建立信息报告制度,事件第一发现人应及时向学校汇报,学校应在第一时间向学校主管部门汇报,并随时与上级单位保持密切联系。应急调查与救治等工作:校应急处理领导小组及有关部门,负责组织对突发事件进行调查处理。通过对突发事件调查、现场勘验,采取控制措施等,对危害程度做出评估。学校应当立即将突发事件所致的伤亡病人送向就近医院,对无法判断伤情的伤病员,应及时报警求救求援。学生管理部门、保卫部门应立即保护现场,采取疏散、隔离等措施,加强学生管理,并做好学生思想政治工作,确保学生心态和情绪稳定。突发事件应急处理工作领导小组根据需要,可以采取临时停课、放学、疏散等措施,并及时向上级部门汇报事件情况以及采取的应急措施。根据事件性质,应及时与涉及事件的学生家长、教师家属联系,在适当条件下,告知事件原因、处理结果,或者联系家长进行救治。

3.事后保障——心理干预。存在心理危机倾向與处于心理危机状态的学生是干预的对象。定期对学生心理健康普查,建立排查制度。建立学生心理健康汇报制度,为掌握全校学生心理健康的动态发展,随时掌握高危个体的心理状况,建立学生心理问题报告制度。开展心理健康教育等。

高校突发事件的发生严峻地考验着学生的安全。对突发事件,应该强调以预防为主的发展战略,通过各级应急预案快速反应,处理突发事件,并对后期学生心理健康进行跟踪评测。通过事前、事中与事后的全方位工作,及时有效地处理,保护好学生,维护校园的稳定。高校各个部门应协作配合,建立并不断完善的综合防控体系,形成维护安全稳定工作的长效机制,为高校的可持续发展提供保障。

参考文献:

[1]陈永安.当前政府建立应对突发事件应急管理系统的思考[J].云南行政学院学报.2003,(4):20-23.

[2]抗震救灾法治让我们更有力量[DB/OL].http://news.xinhuanet.eom/legal/2008-05/21/eontent-220250_1.htm.2008-05

-21.

[3]张文昌.突发公共卫生事件应急体系建设与管理面临的主要问题[J].海峡预防医学杂志2006,12(2):1-3.

[4]NeZihAltay,WalterGGreen.OR/Ms researehin disaster operations[J].Europe Journal of Operational Researeh.2006,175(1):475-493

[5]杨青,田依林,宋英华.基于过程管理的城市灾害应急管理综合能力评价体系研究.中国行政管理,2007,(3):103-106

[6]邓云峰,郑双忠,刘功智,刘铁民.城市应急能力评估体系研究.中国安全生产科学技术,200l,(6):33-36.

[7]Lieut.Col.(ret)BruriaAdini,MA:Col.(res)AvishayGoldberg,MA,MPH,PhD:Co(res)DannyLaor,MD,MHA:RobertCohen,PhD:RoniZadok:Col.YaronBar-Dayan,MMHA.Assessing Levels of HosPital Emergeney PreParedness.Prehos Pitaland Disast Medieine.2006,21(6):451-457.

[8]徐静珍,郝春新.城市居民灾害应急反应能力的研究[J].城市与减灾,2003,(5):18-20.

[9]铁永波,唐川.城市灾害应急能力评价指标体系建构[J].城市问题,2005,(6):76-79.

[10]刘成谦.做好突发公共卫生事件综合评估的探讨[J].预防医学情报杂志,2003,(4):347-349.

[11]黄典剑,吴宗之,蔡嗣经,蒋仲安.城市应急避难所的应急适应能力——基于层次分析法的评价方法[J].自然灾害学报,2006,(1):55-59.

[12]李保俊,冀萌新,吕红峰,王静爱,杨春燕,葛怡.中国自然灾害备灾能力评价与地域划分[J].自然灾害学报,2005,(6):47-53.

[13]黄典剑,宁绪成.石油化工企业应急预案评价方法研究.石油化工安全技术.2006,22(5):17-20.

[14]刘吉夫,张盼娟,陈志芬,陈晋.我国自然灾害类应急预案评价方法研究(工):完备性评价[J].中国安全科学学报,2008,(2):5-11.

车载GPS系统软件架构设计 篇12

关键词:通讯,时钟,时序,容错能力

1 前言

汽车制造商在设计初期, 就开始考虑增加车载GPS导航的配置, 并逐渐成为车上的基本装备。GPS导航产品的稳定性和可靠性, 决定车辆品味及质量的关键要素。

2 导航系统参数

本文中的机型在设计的状态如下:主机与导航地图采用分离式, 地图为SD卡存储, EBOOT时钟频率32MHz, TFT显示屏, 显示屏主控芯片 (GDC) 采用Mstar776。

3 导航系统设计常见问题及注意事项

GPS导航系统, 与空间、地面控制部分进行数据交换, GPS车载设备需要对数据进行大量运算, 故系统涉及范围广, 更需要性能稳定、运行可靠, 下面就设计开发过程中经常遇到的问题, 进行详细阐述:

3.1 导航停止响应, 复位后进入黑屏状态;

但主机能切换到其他界面, AM, FM, DVD, 蓝牙等其它功能正常;若多次出现, 需对系统匹配方面进行检查;检查导航系统与SD卡通信状态, 即考虑SD卡数据交换、时钟通讯频率的情况:

地图SD卡通讯频率上限为25MHz, 数据显示, EBOOT CLK时钟频率超出SD卡通讯频率, 这样会引起SD卡初始化不能完成, 系统内核无法加载, 表现为主机黑屏, 不能进入导航工作状态;可优化EBOOT CLK时钟频率, 使之与地图SD卡的通讯频率保持一致。

3.2 手写输入或设置目的地时, 存在较小概率导航不响应触摸屏操作, 导致导航无法工作, 但主机能够切换到其他界面, AM, FM, DVD, 蓝牙等其它功能正常。

检查软件容错处理能力, 主机MCU与导航系统通讯异常, 导航软件无法接受MCU发出的触摸屏坐标信息, 查看导航系统接收MCU串口协议消息中是否有错误信息, 导致导航运行错误。

检查步骤如下:

(1) 检测导航系统停止响应状态时MCU与导航之间的串口通信, 包括触摸指令和相关交互协议, 是否存在MCU有指令发出, 导航没有回应的现象。

(2) 检测从MCU发过来的数据, 人为在串口通讯的收发段间歇短路加入干扰。检查导航系统是否存在停止响应概率加大, 干扰或者错误数据容易引起导航系统运行不正常的现象。

(3) 上述无异常时, 分析通讯异常处理部分程序, 是否存在发生数据异常后的数据指针未按设计要求进行加一操作 (及调的下一帧数据, 而是继续判断有错误的帧的数据, 形成死循环) , 通讯线程死锁。正确的通讯协议帧是由“帧头+长度+数据+校验和”组成的, 当外加干扰, 或其它数据异常发生时有可能发生数据错位, 此时数据指针应该丢弃错误的数据, 再寻找正确的帧头。

我们可以通过修改导航系统的串口容错机制, 确保数据异常时能够自动从错误状态恢复, 不引起线程死锁。

3.3 USB状态关机 (POWER OFF) , ACC断电后再上电, 开机后TFT屏正常显示USB的UI界面和歌曲信息, 0.5秒后UI界面变为LO-GO (USB歌曲信息维持正常) , 随后USB的UI界面立刻恢复正常。

软件架构流程中的显示logo背景的部分程序存在冗余现象。最终优化后的软件程序如下图所示:

4 总结

上一篇:统揽全局下一篇:TDD-LTE