软件测试改进模型研究(精选12篇)
软件测试改进模型研究 篇1
0 引言
电力系统的负荷特性是影响配电网电压稳定性的重要因素,通过对电力负荷预测结果的分析可以有效指导电网的结构调整,电网建设规模以及地区电网间的电力余缺调剂,为电网中电力资源的平衡提供决策依据[1,2]。目前,国内外对电力系统负荷模型的建立和预测主要采用统计的综合方法与总体测试辨别的方法。统计综合方法的基本思想是根据负荷点各个用电设备的数学模型和所占比例,通过综合的方法得到负荷点总的模型,但采用这种方法获得的负荷模型费时,费力,且难以准确建模[3,4]。加拿大Quebec及Ontario水电研究所提出的总体测试辨别方法是以在线监测装置的实际测量数据为基础,通过获得和记录电网在自然扰动下负荷所在母线的电压、频率、电流、有功和无功数据,根据系统辨识理论确定综合负荷模型[5,6]。按照系统辨识的原理,总体测试辨别方法的核心为对负荷模型辨识软件的设计,使设计的模型和软件能够最好地拟合观测的负荷响应数据[7]。
对总体测辨参数的辨识方法有遗传算法、神经网络、Prony算法、粒子群算法等,文献[8]将具有全局搜索能力的微粒子群算法引用到负荷模型参数辨识当中,并提出根据电网电压的波动情况对选用的负荷模型进行实时修正,文献中的仿真结果表明提出的新方法比传统的线性回归方法能够更加有效地提高系统对参数辨识的准确度。文献[9]通过单点最优辨识策略对三阶感应电动机动态模型参数进行辨识,新的最优辨识策略具有辨识效率高、参数分散性小等特点。文献[10]分析了遗传算法的搜索能力常会受到选取遗传算子不同的影响,造成系统在辨识过程中收敛速率不同。目前大多数研究都集中在参数辨识方法的改进上,而针对我国地区电网的负荷模型预测辨识软件的设计却很少。随着我国经济技术的发展,四川地区兴修了很多大型厂矿,由于四川地区的气候随季节变化较大,农村和城镇的电气化水平相差较大,用户之间非常分散,因此研究基于四川电网的负荷建模与预测辨识软件无论是对维护电力系统安全,还是适应电力市场的发展需要都具有重要的意义。本文针对四川地区负荷情况,开发了以负荷建模与预测辨识软件为核心的四川地区电网的负荷预测辨识系统,该系统能根据四川电网特色提供合理的、符合四川电网实际的负荷预测参数,指导配电网运行。
1 四川电网负荷模型研究
目前在电力负荷建模的总体测试辨别方法中,模型常被分为静态模型和动态模型。由于四川地区厂矿较多,电网端电压和频率常有变化,电网中的负荷功率也常随之发生快速变化,因而在电力系统稳定性研究中,广泛地采用感应电动机作为最主要的动态负荷综合负荷模型[11,12,13]。四川地区水力资源丰富,拥有上千座中小型水电站,小水电具有分散开发、就地成网、就地供电,而水电站受河川天然径流丰枯变化的影响,出电量在年内和年际间变化较大[14],文献[15]的作者在机理动态模型基础上采用了感应电动机模型并联静态幂函数的时变自适应综合负荷模型(Time-Variant Adaptive Model(TVAM))。目前国内中国电力科学研究院、华北电力大学、清华大学、河海大学等对东北和华东电网的负荷建模广泛采用该模型。
在时变自适应综合负荷模型的动态部分采用3阶机电暂态模型,考虑在配电网遭受扰动的暂态过程中,各负荷点的电压和频率都会发生变化,在d-q坐标下计算受配电网频率波动影响较大的电动机负荷模型的暂态电势ed,eq和转差率ω,状态方程为:
式中:A,B为电机机械转矩特性参数,在标幺值条件下满足A+B+C=1。H,T0,T分别为感应电动机的惯性常数,额定转矩和暂态转矩。x和x'分别为感应电动机稳态电抗和暂态电抗。Id,Iq为流过感应电动机电流的交、直轴分量。其中有:
式中:xs为定子绕阻漏抗;xm为励磁电抗;xr为转子漏抗;Rr为转子电阻;Rs为定子电阻;uq,ud分别为所测配电网中负荷母线上的电压分量值。
TVAM的静态部分为:
式中:P0,Q0和P,Q分别为所测负荷点在暂态过程开始时和暂态过程中所消耗的有功功率和无功功率值。U,U0分别为在暂态过程负荷母线电压值和初始值。kpz,kpi和kQz,kQi,kQp分别为负荷点的TVAM中静态部分恒阻抗模型,恒电流模型,恒功率模型的特性参数,并在标幺值条件下满足:
但由于四川电网负荷中厂矿负荷含量比重较大,区域电网单纯的母线上的有功和无功并不能完全反映区间内的真实情况,采用时变自适应的综合负荷模型不能对电网中无功不足的情况进行准确预测。因此在四川电网实际负荷建模中,相比传统负荷模型拟合出的有功功率和无功功率TVAM更接近真实的负荷曲线,但其动态特性与真实负荷的动态特性相差还是比较大的,特别是在母线电压突降和恢复时段。基于这种情况,对负荷模型结构增加针对区域内小水电的动态有功和无功补偿环节达到改善整个负荷模型动态性能的目的。引入有功补偿和无功补偿的功率系数分别为kp和kQ,取值区间为[-1 1],并通过对母线电压U中d-q分量的变化对有功无功的影响分析,得到负荷模型的动态有功、无功补偿环节,如式(8)所示:
在负荷母线电压存在动态变化时可测得ΔUd,ΔUq值,通过公式(5)拟合电流值代入公式(8)中得到负荷的有功、无功动态补偿量ΔP和ΔQ,达到改善负荷TVAM模型动态性能目的,辨识准则为:
式中:k为采样开始时刻;k'为采样结束时刻。e(t)=[ed(t),eq(t)]T为负荷的状态向量。U(t)=[Ud(t),Uq(t),ω(t)]T为负荷母线的电压和角频率,负荷模型的待辨识参数为向量α,向量β为可以通过感应电机稳态条件和向量α求得的辨识参数。其中α=[Rs,xs,xm,rr,xr,H,A,B,Kp2,Kpi,KQz,KQi,Kp,KQ]T,β=[ed0,eq0,s0,xs,K1]T。H,A,B,Kpz,Kpi,KQz,KQi,KQ]T,β=[ed0,eq0,s0,xs,K1]T。其中ed0,eq0为电动机初始的暂态电压,s0为电动机的转差率,xs为定子和转子之间的同步电抗,K1为负载率。实际测量负荷的有功功率,无功功率值和辨识模型得到的输出响应分别为y(k)=[P,Q]T和ym(k)=[Pm,Qm]T。公式(1)、(2)中的感应电动机微分方程采用四阶龙格库塔法求解,并在公式(9)中采用粒子群算法和模式搜索法相结合的方式寻求向量α最优值。
2 四川电网负荷建模与预测辨识软件功能设计
四川电网负荷建模与测辨识软件是由数据预处理,样本建模,模型分析与综合等模块构成,总体结构如图1所示。
四川电网负荷建模与预测辨识软件平台的核心部分为负荷模型参数辨识软件,具有数据预处理功能,该功能包括Phase Measurement Unit(PMU)通信、滤波、剔除坏数据、傅里叶变换、正序分量的提取和功率计算等;曲线显示;负荷模型选择功能;模型参数初值设置功能;负荷地点和迭代控制参数选择功能;参数辨识功能;参数辨识结果显示、保存;动态响应曲线显示功能;打印结果功能,该功能包括参数辨识结果和动态响应曲线查看,历史记录查看,即让用户查看使用过的各种模型的辨识结果,软件界面如图2所示。
四川电网负荷建模与预测辨识软件采用VS2010编制,并基于MFC程序框架架构。软件可在Windows环境下独立运行,并完全脱离开发该软件的IDE(Integrated Development Environment)环境,具有现场可操作特点。软件还具有规范的界面,可以对负荷预测模型和参数初值进行方便的选择和输入,方便用户上手操作。软件在数据预处理模块中采用Windows多线程编程技术,对数据的接受预处理进行后台操作,不影响程序其它功能的使用。与PMU之间通信在网络传输层应用了TCP/IP协议,在应用层采用了IEEE std 1344规约。接受数据,进行报文解析获得数据进行相关预处理后,使用进程间通信技术使数据能与数据库处理模块共享。
ADO (ActiveX Data Object)技术是目前在Windows环境中比较流行的数据库编程技术,是建立在对象链接和嵌入数据库底层技术上的高级编程接口。ADO访问数据源具有高速、灵活、易用、占用内存少等特点,因而得到广泛的应用。在四川电网负荷建模与预测辨识软件中采用ADO技术连接到数据源实现对该数据源所对应的数据库访问操作。在本软件中通过ADO技术完成了实测相应数据、模型响应数据和辨识参数数据的长期存储与管理。为了提升软件的兼容性和可扩充性,使用了动态连接库技术和ActiveX控件。
3 实例分析
以图3所示的电力系统分析综合程序PSASP中的EPRI-36节点系统进行仿真,获取综合负荷建模的辨识参数数据,每个节点的数据均可看作由相角测量装置采集得到的实测数据。使用本软件进行负荷建模,改进的时变自适应综合负荷模型辨识出的16个参数如表1所示,仿真结果如图4所示。
从图4的负荷参数拟合曲线对比看出,改进TVAM模型通过增加动态有功和无功功率补偿环节,相比于TVAM模型,改进模型的动态特性有明显的改善,曲线拟合误差从1.273 4%下降到1.042 8%,辨识所得负荷参数拟合的有功功率和无功功率曲线更接近测试值。
4 结论
本文针对四川电网的特点对传统的TVAM负荷模型进行了动态有功功率和无功功率补偿,并设计了一种适用于四川电网的负荷建模与预测辨识软件。通过仿真试验发现软件采用改进的TVAM模型后,曲线拟合的误差率得到有效降低,预测结果能够满足四川电网调度要求。设计的四川电网负荷建模与预测辨识软件具有数据预处理功能、辨识模型与算法选择功能,辨识结果可以通过图像曲线显示,并且软件还具有兼容性与可扩充性等特点。
摘要:针对四川电网的特点对传统的时变自适应综合负荷模型进行动态有功和无功补偿改进,设计了适用于四川电网的负荷建模与预测辨识软件。软件仿真结果表明改进的负荷模型能获得具有更高精度的辨识参数,有效提高了电网分析的鲁棒性。本软件具有数据处理、模型选择、参数辨识、历史数据保存等多种功能,该软件的应用能够有效提高四川电网的分析水平。
关键词:电力系统,负荷建模,参数辨识,建模平台开发
软件测试改进模型研究 篇2
关键词:网络处理器 软件开发模型 微引擎 微模块 核心组件
引言
随着当今网络规模和性能迅速增长,Internet主干网络流量的指数性增长及新业务接连的出现,这就要求网络设备具有线速和智能的处理能力。网络处理器NP(Network Processor)便是一种新兴、有效的统一解决方案。它适用于各层网络处理,具有ASIC高速处理性能和可编程特性,既能保证系统灵活性,又能完成线速处理数据包所要求的高性能硬件功能。目前,网络处理器已经涌现出了一些成功的应用范例。这些应用主要包括:基于网络处理器的路由交换设备、智能安全设备和入侵检测设备等。比如,北京联想使用IBM的PowerNP构成了电信级的防火墙设备。与此同时,围绕着网络处理器应用展开的相关研究也得到了飞速发展,一些企业和科研机构也给予了足够重视。例如,Intel专门投资支持全球100所大学进行网络处理器及其相关应用的研究。
由于网络处理器特殊的体系结构,它的软件编程模型与传统网络应用/嵌入式应用开发有较大不同,更为复杂。本文将以Intel IXP2400网络处理器为例,对网络处理器软件开发模型进行较为详细地探讨。
1 网络处理器硬件架构
在一般程序设计中,可以不考虑操作系统和编译程序、线程调度的细节、寄存器的数量和容量,而在网络处理器的程序设计中,忽略这些因素就不能编写出优化的程序。在对网络处理器,尤其是微引擎编程之前,需要仔细了解网络处理器的系统结构和硬件平台。下面以Intel的IXP2400为例来说明。
IXP2400网络处理器是Intel在推出的第二代互联网交换架构(IXA)网络处理器。其中,IXP2400是面向中高端应用的网络处理器,可用于实现OC-48的网络路由交换设备。
(本网网收集整理)
Intel的IXP2400网络处理器结构允分体现了SoC(System on Chip)的思想。如图1所示,它的内部主要包括8个完全可编程的4线程微引擎(Mev2)和1个XScale核。此外,还有用于连接外部MAC设备的MSF单元、连接各种存储器和总线的接口单元等。这些单元通过内部的高速数据总线和控制总线彼些协作。
XScale核(core)是ARM系列处理器的一种,它在IXP2400中起控制和管理作用。具体包括:对系统初始化;提供系统的时钟;建立并管理路由表;提供一个对应于IXP2400各寄存器、存储器和外部存储器的地址映射表等。XScale核在系统启动时,从BootROM开始执行引导程序,对整个IXP2400系统进行初始化。
IXP2400中的每一个微引擎其它就是一个32位RISC处理器,可以由4个并行硬件线程共享。数据包的接收、处理和发送等任务,均由微引擎中的各线程并行执行微引擎指令存储区中的微代码程序来完成。网络处理器数据的高速转发正是因为充分利用了硬件的并行性,来弥补线速转发中的内存访问的延迟。
IXP2400嵌在开发板的中心,周围通过数据线连接着各种设备,如SRAM,SDRAM等。SDRMA主要用来存放需要处理和转发的数据包等,也作为XScale核的内存;SRAM主要存放对数据包包头进行处理所需的重要信息和数据包的队列描述等内容。通过IXP2400的数据单元是一个64字节的MAC包(MPKT),在每收到一个包的时候,MAC将一个数据分成若干个MPKT,MPKT就是网络处理器处理数据的单位。
综上所述,IXP2400拥有网络处理的一般特点,从系统角度看,IXP2400属于一个并行式的多算是器共享总线的计算机系统。对于网络处理器的程序设计和一般计算机的程序设计有很大不同。
软件测试改进模型研究 篇3
关键词改进混合高斯模型目标间差分自适学习权重
目前,国外学者提出了多种针对不同应用条件的背景模型。Wren C的实时系统[1]对跟踪对象采用多类的统计模型,在初始化一个没有运动物体的背景后,这个系统能得到较好的效果,但在户外环境中,该算法跟踪效果不佳。Ridder C 等人[2]采用Kalman滤波,对每个像素构建一个模型,该算法虽然能适应灯光的变化,但背景自适应能力缓慢,处理多层次的背景没获得满意的结果。
Friedman N 等人[3]利用自适应混合高斯模型在处理光照变化、树叶抖动等获得较好的效果,但混合高斯背景模型采用固定学习权重,难以适应运动目标运动快慢变化。更新权重高导致慢运动目标误判为背景并引入大量噪声;更新权重低则在停滞物体逃离背景时长时间留下前景运动物体和降低对光照变化的适应能力。
针对上述问题,对传统混合高斯模型作了改进,设计了自适应学习权重。结果表明基于改进的跟踪系统获得良好效果。
1混合高斯背景模型
1.1混合高斯密度函数
Grimson和Stauffer中提出的背景模型[4][5]采用K(3-5)个高斯分布统计每帧中相同像素点的最近t帧值(X1,X2,…,Xt),从而得到下一像素点值在当前帧的密度概率函数:
■ (1)
■
(2)
式中,ωi,t表示t帧的值(X1,X2,…,Xt)落入第i个高斯分布的比率,μi,t和∑i,t分别表示高斯分布的期望值和方差,∑i,t=σ■■I(假设像素点的GRB个分量互相独立,且有相同的方差,I为单位矩阵)。K个高斯分布总是按照优先级λi,t=ωi,t/σ■■(i=1,2,…,K)从高到低的次序排列,ηi,t为与ωi,t对应的高斯分布。
1.2混合高斯模型更新和背景生成
对某像素点的每个新样本点Xt+1判断其与已存在的K个高斯分布进行匹配,若满足条件Xt+1-μt<2.5σi,则Xt+1与该分布匹配。如果Xt+1都不匹配,则增加新高斯分布或者用新高斯分布代替λ最小的分布。新的高斯分布以Xt+1作为均值,方差用经验值30。
高斯分布权重、均值和方差分别按式(3)、式(4)和式(5)更新。对于匹配的分布Mi,t+1=1,否则Mi,t+1=0。不匹配的分布,均值和方差都保持不变。
■ (3)
■ (4)
■
(5)
■ (6)
高斯模型更新完毕后,从新排列优先级λi,t,取前B个高斯分布生成背景:
■ (7)
■ (8)
该模型中有两个重要参数α(学习权重)和H,其中1/α表示训练P(Xt)的最大样本空间中的样本点个数;H用来确定作为背景模型的分布,H取经验值0.8。
2自适应学习权重
传统混合高斯背景模型采用固定学习权重,难以适应目标运动快慢变化,易把缓慢运动目标融入背景中,从而引起误检测。图1(a)是没有出现目标缓慢挪动的背景模型;图1(b)是运动目标在A位附近进行缓慢挪动的原视频帧;若采用固定学习权重更新背景,当运动目标出现缓慢运动时,背景模型会出现图1(c)长期留下运动目标痕迹。
2.1目标分割
文灏等人[6]采用背景模型直接对当前帧相减,以此获得运动目标。但在运动目标检测过程中,常因快速的光照变化、树叶运动时反射色差较大或运动目标颜色和背景颜色相似而导致背景区出现大片干扰或目标区内断裂和空洞现象。本文采用极限误差作分割标准,在高斯模型中随机量落在极限误差3σ以外认为是前景。某像素点Xt+1满足Xt+1-μt>3σi,则判为前景,将该像素点R、G、B三分量置为255,反之则判为背景并置0。该法不但填补了目标体内的裂痕和空洞,而且在背景区引入的噪声少。图2(d)为极限误差分割法的前景,比图2(a)直接相减后得到的前景区,其含目标体内裂痕、空洞和背景区的噪声明显要少。
2.2小面积噪声消除
系统设计是面对室外复杂环境的目标跟踪,改进后的背景模型虽然能消除树叶的轻微抖动、光照的缓慢变化,但在较大的风速或背景颜色和前景颜色接近时,便不可避免在目标分割后存在一些小面积的噪声。
常用的消噪方法有形态学闭运算或是中值滤波,但对于小面积噪声消除不净,且易造成目标的变形或目标裂痕加大。因此设计了基于标记的小面积噪声消除法。
一般地,二值化后的图像中单个运动目标都是较大的连同区域,而噪声的面积比目标小得多。直接把连通区域像素标记为同一目标,计算各个分离目标的面积(像素个数),将面积小于预定阈值的像素置0,从而保留了面积大于预定阈值的目标。
设:带噪声二值图像为f(x,y),宽为w,高h,即像素(x,y)的灰度为f(x,y),x=0,1,…w-1;y=0,1,…h-1。x为横坐标,y为纵坐标,图像左上角为坐标原点。图像背景为黑色,灰度值为0;运动物体为白色,灰度值为1。
图像像素(x,y)对应像素的物体编号为I(x,y)。当前物体编号为K,K=0,1,…,M。背景像素物体编号K=1,当某一像素的物体编号K=0时,表示该像素还没有被标定属于那个物体。物体编号最大值M为当前帧中非连通块的个数。
nlc202309031430
物体编号为K的像素个数为N(K),并设定阈值为Yu。当前景图像(x,y)的邻近坐标为(u,v),其中x-1≤u≤x+1,y-1≤v≤y+1,且(u,v)不等于(x,y)。
消除噪声算法步骤如下:
(1)给像素编号
a. 初始K=1。对每一个像素(x,y),若该像素为黑色目标像素,则设置物体编号I(x,y)=1;否则该像素为背景像素即灰度f(x,y)=0。
b. 从坐标y=1,x=1,物体编号K=0开始。
c. 判断当前坐标位置像素的物体编号。若当前像素物体编号I(x,y)=0,执行下一步,否则当前像素的物体编号I(x,y)不等于0时,转步骤g。
d. 当前物体编号K增加1。
e. 递归函数开始。将当前像素物体编号I(x,y)置为K。
f. 当前像素有8个邻近像素,邻近像素坐标为(u,v)。若物体编号I(u,v)为0,则将(u,v)视为当前像素,递归调用步骤e;否则下一步。递归完毕。
g. 当前坐标位置往右移动一个像素,即x=x+1。当超过右边边界,就往下一行左端移动,即y=y+1,x=0。若坐标没有达到右下角,则转步骤c,否则执行下一步。
(2)计算每个编号的像素个数
a. 初始化K=1,2,3,…M,令N(K)=0;
b. 遍历每个像素,即对于x=0,1,…w-1;y=0,1,…h-1,当编号I(x,y)=K,令像素个数N(K)=N(K)+1。
(3)删除小面积噪声
若像素个数N(K) 2.3区域细分与自适应权重 对33帧和34帧分别采用极限误差分割法和噪声消除后,得到图4(a)和图4(b)连续两帧的目标区。两帧差分得到图4(c)连续两帧目标间的变化区。变化区与33帧异或得过去目标区,如图4(d);变化区与34帧异或,得到当前目标区。变化区域被分割成属于过去一帧(33帧)的过去目标区和属于当前帧(34帧)的当前目标区,分割结果如图4(d)和图4(e)所示。 在运动目标运动缓慢时,易给混合高斯背景带来大片干扰(如图1(c)示),本文采用自适应更新权重消除此干扰。对背景区域采用小的更权重(α取0.002),以维护高斯模型的统计特性;对过去目标区采用较大更权重(α取0.1),可消除运动目标由于缓慢运动留下的痕迹;而对当前目标区不作更新,消除当前帧运动目标给背景模型引入干扰。 3实验结果 对在风力4级、存在树叶抖动剧烈的室外环境下拍摄的视频进行仿真实验,测试软件为MATLAB7.0。图5(a)为原算法背景模型,由于运动目标出现停滞而留下的干扰难消除。图5(b)为改进后背景模型,在运动目标出现停滞的处获得了较满意的修复效果。 基于改进后的背景模型,运动目标系统在室外复杂环境下获得了良好的跟踪效果。跟踪效果如图6所示。 4结论 对传统混合高斯背景模型作了改进,有效消除传统模型中难以适应运动目标出现缓慢运动而引入噪声的情况。因采用了噪声消除和目标间差分,很好区分了背景不同性质区,对不同区域用不同学习权重,是背景模型具有自适应性,因此背景模型在受运动目标干扰的区域得到快速的修复。实验结果表明,该算法有效的提高了混合高斯背景模型的鲁棒性,为后继运动目标检测、识别、跟踪提供了良好基础。 参考文献 [1] Wren C,Azarbayejani A,Darrell T,et a1.Pfinder:real—time tracking of the human body [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(7):780-785. [2] Ridder C,Munkelt O,Kirchner H. Adaptive background estimation and foreground detection using Kalman·filtering[A].In:Proceed· ings of the Int’1 Conference on Recent Advances Sinmechatronics [c],Istanbul,Turkey,1995:193-199. [3] Friedman N, Russell S. Image segmentation in video sequences: A probabilistic approach[A]. In: Proceedingsof the13 Conference on Uncertainty in Artificial Intelligence [ C ], Rhode Island, USA, 1997:175-181. [4] W E mixture models for Stauffer C.GrimsonL.Adaptive background real—time of IEEE Conference on tracking[A].In:Proceedings Vision and Pattern Collins,Computer Recognition[C],Fort Collins,Colorado,USA,1999:246-252. [5] Stauffer C,Grimson W E L.Learning patterns activity using real time Transactions Pattem and Machine tracking[J].IEEE Analysis InteHigence,2000,22(8):747-757. [6] 文灏,陈红涛.基于减背景与对称差分的运动目标检测[J].微计算机信息,2007,23(9):18-20. Research of Tracking Moving Objects Base on Improved Mixture Gaussian Model Liu Yongfu1,Tan Jianbin2 (1. Guangdong Polytechnic Institute,Guangzhou 510091,China)(2. Foshan Polytechnic,Foshan 528137,China) AbstractSystem made improvement to traditional Gaussian mixture background to eliminate the effect of slow movement objects on background model. System use target difference to identify the movement area of coherent frames, and it will adopt different learning weight updated strategy to each areas. The experimental results show that this improved algorithm has strengthened background model and achieved a better result in tracing system. Key words improved mixture Gaussian model,objects subtraction,Adaptive learning weight (收稿日期:2012年7月21日) 所谓评价就是对某些对象的价值和优缺点的系统调查及其判断。对多媒体计算机辅助教学MCAI软件来说,通过评价,引导MCAI软件制作者朝用户需求的方向进行开发,使用户挑选到高质量的MCAI软件。对MCAI软件,从哪些因素及使用什么样的模型对MCAI软件进行评价才能真正反映MCAI软件质量,是本文所要解决的问题。 1 对AHP改进及改进后的基本指导思想 层次分析法AHP(Analytical Hierarchy Process)是一种将定性分析和定量分析相结合的系统分析方法,它适用于多准则、多目标的复杂问题的决策分析,它将决策者对复杂系统决策思维过程实行数据化,即将半定性、半定量问题转化为定量问题的拟定量方法。 1.1 对传统AHP的改进 对传统的AHP改进主要体现在对判断矩阵的构造上,判断矩阵是将层次结构模型中同一层次的要求相对于上层的某个因素,根据重要程度相互进行成对比较而形成的矩阵。 传统AHP构造判断矩阵方法[2]:在层次模型中,在确定的上层指标的支配下,下层指标两两作重要性比较,得到对上层某指标的判断矩阵,如果同层有n个指标,则R就是n阶矩阵。 R=(rij)n×n 其中rij是第i个指标相对于第j个指标的权重,则求得矩阵R的特征向量为W=(ω1 ,ω2 ,…,ωn),由于客观事物的复杂性和人们认识上的多样性,以及可能产生的片面性,专家所填写的每一个判断矩阵不一定是一致性矩阵,所得到的W不一定可靠,即不一定满足RW=nW,所以,需要对判断矩阵进行一致性检查:若R的最大特征根为λmax,I=(n-λmax)/(n-1) ,即I为判断矩阵偏离完全一致性的指标。当随机一致性比率E=I/B<0.10时(其中B为随机一致性指标),一致性检查通过,否则就应请专家重新调整判断矩阵。 改进的AHP判断矩阵的构造方法:在层次模型中,同一层中任何一个指标Ri,已知Ri和其它指标Rj(i,j=1,2,…,n,且i≠j)相比较的权值为rij,由此可得到除Ri之外任意两个指标Rj和Rk的比较权值为rjk,则得到判断矩阵R,即 其中 rij=1/rji (1) rjk= rik/rij (2) rii=1 (3) 判断矩阵R是一个完全一致性的矩阵。 1.2 改进后AHP的基本思想 改进后AHP的基本思想是:(1)分解:将一个复杂的系统结构表示为一个有序的阶梯层次的结构模型,即把问题层次化;(2)构造判断矩阵,计算各指标的相对权重;(3)综合:在各层指标集权重的基础上计算下层评价指标集相对上层指标集的权重,得到评价指标集相对于总目标的组合权重;(4)评价:对层次模型的各个指标评价值进行量纲归一化处理,计算出综合统计值,然后进行评价。 2 MCAI软件评价模型 基于改进的AHP基本思想是利用AHP对MCAI软件分析,确定出MCAI软件层次结构模型,计算出各评价指标的权重集,对具体评价对象的指标实际值进行量纲归一化,然后加权得出最后的评价结果。 2.1 MCAI软件评价指标体系的选取原则 (1) 目的明确 对MCAI软件评价所选取的评价指标应能反映MCAI软件有关内容; (2) 比较全面 MCAI软件评价指标的选取应尽可能地覆盖MCAI软件评价的内容,如果有所遗漏,评价就会片面; (3) 稳定性 所选取的MCAI软件评价指标不应轻易改变,应保持其相对的稳定性。 2.2 MCAI软件评价模型的建立 根据MCAI软件评价指标的基本性质、MCAI软件评价的总目标、指标之间的相互关联影响以及层次隶属关系,建立如图1所示的MCAI软件层次评价模型指标体系。 2.3 构造判断矩阵,计算指标集的权重 根据上述改进AHP方法,构造判断矩阵R。求判断矩阵R的最大特征根向量,由于判断矩阵R是一个完全一致性的矩阵,则最大特征根就是n,所以问题就转化为求矩阵R的特征方程(R-nE)X=0的解向量,且不需要进行一致性的检验,然后对特征根向量进行归一化处理,即得到该层元素相对于上一层元素的权重向量。即求(R-nE)X=0的解向量X=(x1,x2,…,xn)。 对解向量X进行归一化得到相应权重向量W=(ω1,ω2,…,ωn),其中 为了求出最低层所有指标相对于总目标的权重向量集,需要进行多层次的组合计算,第K层的组合权重Wk是本层的相对权重Rk与上一层的组合权重Wk-1乘积求得,即 Wk=Rk·Wk-1 Wk就是第K层的各指标对于总目标的组合权重,因此,依次由上而下逐层进行叠加即可计算出底层指标对总目标的总排序值,即总层权重集。 2.4 对MCAI软件进行评价 当计算出底层指标对于总目标的权重集之后,组织专家对MCAI软件评价指标体系中的各个评价指标进行评价,得到指标的实际值,将指标实际值进行量纲归一化处理,得MCAI软件评价指标值集为C。再计算出综合统计值T,即: T=W·C 根据所得到的综合统计值对MCAI软件进行评价,优[1~0.85],良(0.85~0.7],中(0.7~0.6],差(0.6~0]。 3 应用实例 在本文所建立的基于改进AHP的MCAI软件评价模型中有三层,第一层为目标层,第二、三层为准则层,在第一层准则层中五个指标B1,B2,B3,B4,B5中,其中B1相对于B2,B3,B4,B5的权值分别为:r12=3,r13=5,r14=4,r15=2,则由公式(1)、(2)、(3)可计算出rij,即得到判断矩阵R: 求(R-5E)X=0的通解向量为: X=(2 x5,2/3x5,2/5x5,1/2x5,x5)T 对解向量X进行归一化处理后用如下形式表示:W1=(0.44,0.14,0.09,0.11,0.22)即为一级指标相对于目标层的权重集。 同理可得二级指标对于所隶属一级指标的权重分别为: W21=(0.29,0.31,0.22,0.18) W22=(0.49,0.19,0.18,0.14) W23=(0.36,0.39,0.25) W24=(0.44,0.31,0.25) W25=(0.59,0.22,0.19) 则二级指标集对于一级指标集的权重集为: W2=(W21,W22,W23,W24,W25) 二层指标集对总目标层的权重计算为: W=W2·W1 =(W21,W22,W23,W24,W25)·(0.44,0.14,0.09,0.11,0.22) =(0.44·W21,0.14·W22,0.09·W23,0.11·W24,0.22·W25) =(0.13,0.14,0.09,0.08,0.07,0.03,0.03,0.02,0.03,0.04,0.02,0.05,0.04,0.03,0.13,0.05,0.04) W即为第二层评价指标集相对于总目标的权重值。 组织专家对MCAI软件评价指标体系中的各个指标进行综合评价,得到各评价指标的实际值,然后对指标的实际值进行量纲归一化处理得到各个指标的指标评价值,分值越高表明单个指标对于MCAI软件质量影响越大,也越重要。 例如对MCAI软件评价模型指标集中的每个指标进行评价所得到的评价结果集,再对评价结构集进行量纲归一化处理后得评价指标值集为C,即: C=(0.76,0.71,0.73,0.69,0.78,0.74,0.80,0.72,0.76,0.75,0.81,0.70,0.72,0.73,0.66,0.72,0.71) MCAI软件评价指标值相对于总目标的综合统计值为: T=W·C=0.73 根据MCAI软件评价模型中等级的划分,则该MCAI软件综合统计值在(0.85~0.7]区间内,即该MCAI软件为良。 4 结束语 对传统的AHP进行改进,并将改进的AHP用于MCAI软件的评价,所建立的MCAI软件评价模型,不仅具有简化计算过程、便于计算机实现等特点,而且实现了对MCAI软件的评价由定性评价转化为定量评价,是对MCAI软件评价方法的创新。 参考文献 [1]吴小红,张剑平.多媒体课件评价体系研究[C].计算机与教育,2001:349-353. [2]许树柏.层次分析法原理[M].天津:天津大学出版社,1988. [3]Satty T L.The Analytic Hierarchy Process[M].New York:McGraw-Hill,1980. [4]金聪.CAI课件的综合评价研究[J].计算机工程,2002,29(3):237-239. 外观模式是使用频率较高的软件设计模式之一。针对标准外观模式所存在的问题,本文提出了两种外观模式改进方案并结合实例进行研究。通过引入抽象外观类,让系统具有良好的可扩展性,满足开闭原则;通过对外观类实施单例化,可以确保外观对象的唯一性,节约系统资源。 1 引言 设计模式在软件开发中应用日益广泛,它们是前人经验的总结与积累,每一种模式均是在多个软件项目中被反复使用、被多数人知晓,且经过规范的分类编目和整理的面向对象设计经验的总结。 外观模式是使用频率较高的软件设计模式之一,在软件开发中应用非常广泛。根据单一职责原则,将一个大的软件模块(或子系统)进行分解可以降低整个系统的复杂性,提高单个模块(或子系统)的独立性和可复用性。通过引入外观角色,可以降低客户类与子系统类之间的耦合度,使之相互依赖关系降至最小,从而降低原有系统的复杂度。在没有外观角色的系统中,客户类需要与多个子系统类进行交互,系统耦合度较高;在引入外观角色之后,客户类只需要与外观类交互,再通过外观类间接调用子系统类,在外观类中封装了与子系统之间的复杂交互关系,从而降低系统的耦合度。 但是,在标准的外观模式中存在两个问题:首先,标准外观模式没有提供抽象层,在增加、更换或者删除子系统类时需要修改客户类或者外观类的源代码,违背了开闭原则;其次,外观类维持了对多个子系统类的引用,在系统运行时,外观对象势必会占用较多的系统资源,需要对外观对象的数量进行限制。 2 外观模式的改进方案 针对标准外观模式存在的问题和缺陷,本文提出了相应的改进方案,包括引入抽象外观类以及对外观类实施单例化。 2.1 抽象外观类的引入 为了让外观模式能够符合开闭原则,引入抽象外观类来对外观模式进行抽象化改进。客户端针对抽象外观类进行编程,将所有的具体外观类作为抽象外观类的子类,如果需要更改业务需求,无须修改原有外观类,只需要增加一个新的具体外观类即可,由新的外观类来关联新的业务需求。通过使用配置文件,可以达到不修改任何源代码即可置换外观类的目的,如图1所示。 2.2 外观类的单例化 在大多数情况下,为了节约系统资源,程序在运行时只需创建某个外观类的唯一实例。因此,可以将外观模式与单例模式联用,对外观类实施单例化,确保系统中只存在唯一一个外观对象并提供唯一的访问入口,可以降低系统资源的消耗。单例化后的外观类的结构如图2所示。 在图2中,外观类Facade被设计为单例类,在其中定义了一个静态的.Facade类型的成员变量instance,其构造函数为私有的(private),并通过一个静态的公有工厂方法getInstance返回自己的唯一实例。 3 实例研究 下面通过一个实例来说明如何在实际项目中使用改进后的外观模式。 在某使用外观模式的文件加密模块的初始设计方案中,FileReader类用于读取待加密的源文件、FileWriter类用于保存加密之后的文件、Cipher类用于实现数据的加密,EncryptFacade是一个加密外观类,它通过调用三个业务类中的方法实现文件读取、加密和保存的完整流程。 3.1 抽象化改进 如果需要将原系统中的加密类Cipher改为NewCipher,势必会导致外观类EncryptFacade源代码发生修改,违背开闭原则。通过引入抽象外观类,重构后的系统设计方案如图3所示,在图3中使用了基于衍型的模式标注方法SBPN (Stereotype Based Pattern Notation)来对结构图中的设计模式信息进行标注。 在图3中,客户类Client针对抽象外观类AbstractEncryptFacade进行编程,可将具体外观类类名存储在XML等格式的配置文件中,更换具体外观类时只需修改配置文件,无须修改源代码,符合开闭原则。 3.2 单例化改进 为了节省系统资源,可以将EncryptFacade设计为单例类,改进之后的结构如图4所示。 通过对外观类实施单例化,可以确保系统中有且仅有一个EncryptFacade类的实例,避免生成多个EncryptFacade对象,节约系统资源。 4 结束语 关键词:铁路;BIM技术;成本预算;系统模型;研究 在铁路工程建设过程中,仍然存在着一些浪费现象。良好的铁路成本预算方式有助于降低计算失误带来的损失。为了更精确计算出铁路建设所需的成本,需要对铁路工程的建设信息进行研究后建立相应的造价模型[1]。 一、铁路工程成本预算的概述 铁路工程具有工序繁多的特点,因此,进行整个工程预算计算的时候,需要采用更为复杂且兼容度较高的软件,20世纪90年代出现了最早的铁路预算软件,但随着铁路工程的复杂性逐渐增加,此预算软件也逐渐暴露出结果不直观,无法促使铁路建设人员获取紧缺的预算数据,以及不能表达出铁路复杂的建筑构件,且无法采用严谨的数学进行铁路空间模拟,出现很多方面的误差[2]。进入21世纪以后,随着图形技术的发展与提高,三维图形预算软件也开始应运而生,BIM等应用技术为实现下一代铁路建筑成本预算软件提供了许多可能,也可以良好的解决铁路建筑的成本预算问题。 二、建筑成本预算的工作流程设计 BIM技术采用三种基础软件(专家判定、类比、参数模型)作为建筑预算软件构成的元素,首先构成的预算软件需要支持IFC(Industry Foundation Class)标准建筑。调查研究表明,IFC标准格式的数据可以做为数据的共享资源,因此工作人员采用BIM时可以将建筑预算软件的计算过程中预算和成本控制阶段的信息进行无缝传递与对接。BIM成本预算在建设过程中的工作流程如下: 第一,利用BIM技术将铁路工程的数据源进行整理存储,工作人员可以方便的从中获取相关信息,使工作环节缩短,并可以将设计阶段中的信息提取出来构建三维模型,能够避免数据的大量输入,避免造成误差,使铁路建设的效率和精确度都得到提高。第二,铁路工程使用BIM技术后,能够高度的集中数据,尤其在电气化改造过程中,将每个阶段的数据进行传输,工作人员更改上游的数据时,下游的数据会自动的改动,这样就避免了重新进行布局或者规划,减少了工作量。 第三,铁路工程利用BIM技术将数据引入到数据模型,使信息的流通速度得到提高,还能够对信息数据进行精准的整合编制,使铁路施工更加的安全,效率也得到提高 。 三、鐵路建筑成本预算软件系统模型设计 工程量清单计价实例。采用工程量清单计价法进行预算时,具体预算过程可分为七步: 第一步:在系统中为 10 根梁构件设置分部分项信息。由工程说明可知,10 根梁的产品类型为“预制混凝土梁”,应初始化实体 IfcBeamType 的实例,并为其属性 ElementType 赋值,同时与实体 IfcBeam 的实例建立关联。之后应按照预制混凝土梁的属性集映射关系建立属性集,再通过相应的用户界面实现对预制混凝土梁的属性设置。第二步:依据设置好的分部分项信息对照规范生成成本项目。依据属性集的信息可知此梁为预制混凝土矩形梁,通过智能查找功能,可知对应清单项目编号为010410001,并生成相应的成本项目 IfcCostItem1,并在成本项目中记录其名称和项目编号,生成的成本项目列表并建立IfcCostItem与 IfcBeam 之间的关系。第三步:依据建筑产品信息以及相关的分部分项信息按照计算规则计算工程量。工程量的计算主要依据建筑产品的描述信息以及相应的定额工程量计算规则。工程量通过实体 IfcElemen tQuantity 实现记录,并与实体 IfcBeam 建立关联。第四步:工程量清单报表输出。在输出时,应依据成本项目列表进行报表输出,输出包括项目编码、项目名称、相关属性集中的描述、计量单位以及关联的工程量。第五步:依据分部分项信息套定额,建立资源信息及其与产品间的关系,并建立子成本项及其逻辑关系。对于工程量清单计价来说,依据分部分项信息在选定的定额库中进行查找,确定所需的定额子目,通过实体 IfcResource 及其继承表达资源并与产品之间建立关联。成本项目间的逻辑关系表达通过关系实体 IfcRelNests 表达。第六步:依据价格信息进行汇总计价,为成本项建立成本值并建立其数学关系。成本值通过实体IfcCostValue表达,成本项目值间的数学关系通过关系类型实体IfcAppliedValueRelationship建立。之后,建立成本项目控制实体IfcCostSchedule。 第七步:输出计价表。现给出一个工程量清单格式的计价表实例,分部分项工程量清单计价表、分部分项工程量清单综合单价计算表及其它计价表。 结束语:综上所述,铁路BIM技术的成本预算软件系统模型的构建需要考虑多个方面,笔者经过仔细的分析与研究提出整个流程均采用BIM作为数据源、将一些数据引进数据模型,并根据具体的施工环节进行信息导入与设置、算量与输出、计价与输出、设置FC标准数据输出等作业,希望本文对相关研究人员有一定的启发作用。 参考文献: 基于CMM2过程改进模型的软件实训项目管理系统 软件实训项目管理系统是体现软件实训项目管理过程的一个信息化软件平台, 采用该系统可以对软件项目的各个实施阶段进行有效的、实时的、科学的管控。所以, 把针对软件实训项目管理的系统叫做软件实训项目管理系统。该系统中最重要的功能就是项目管理, 它重点体现了软件成熟度模型的思想, 有效的规范和保证了项目实施的全过程, 包括项目启动、计划、执行、质量保证、结束。 CMM2模型中的内容非常广泛, 标准十分完备, 如果完全照搬CMM2运用到该系统中是不合适的。因此, 必须对CMM2中管理的内容和标准进行一定的优化和裁减, 提出一个适合软件实训项目组规模的CMM软件项目管理模型, 并给出在模型的各个阶段实际要完成的任务和需要注意的问题。根据CMM2六个关键过程域 (KPA) 的解释和软件项目管理的过程, 软件实训项目管理模型的划分结合了软件项目的生命周期, 主要分为:项目启动、项目计划、项目实施与控制、项目技术。各个阶段分别包含CMM2的关键过程域, 其中软件质量保证和软件配置管理2个KPA贯穿于整个项目开发过程始终。图中只提到了CMM2的5个KPA, 还有一个软件子合同管理KPA, 考虑到根据软件实训项目的规模和实际情况, 一般不会出现把项目转包出现的情况, 在此进行了裁减。 系统功能模块设计 1.总体设计 本系统采用三层结构, 分为表示层、业务层、数据层。数据层封装对数据库的访问操作。将表示层和业务层按其所有类的作用分成3个包, 分别是:用户界面包、业务逻辑包和数据模型包。用户界面包负责用户与系统的交互, 获取用户对系统的操作并把操作结果发送给业务逻辑包来处理, 业务逻辑包根据得到的信息访问数据库管理系统, 并把得到的结果返回给用户界面包。 2.系统相关功能模块设计 CMM2软件成熟度模型规定了软件项目实施过程中每个阶段应该达到的要求, 但是并没有说明该如何达到这些要求。通过对高职学校学生的学习习惯以及符合CMM2级认证的软件企业的调查研究, 软件实训项目管理系统必须以流程化的工作程序实现对软件项目实施过程的管理。根据相关需求, 该系统应该包括课程管理、项目管理模块, 班级管理, 案例资料管理、历史数据管理和实训成绩管理模块。课程管理模块负责不同实训课程的开始、实训项目组织规则、技术范围、实训项目阶段的管理;项目管理模块负责项目组实训项目的启动、计划、实施、评审和结项任务;班级管理模块负责使用该系统的班级学生信息、教师信息、项目经理信息的管理;案例资料管理负责参考案例信息的维护、软件项目实施各阶段输出文档的模版资料管理;历史数据管理负责维护历次实训课程中每个项目组提交的文档;实训成绩管理负责维护历次实训课程的班级成绩、项目组成绩、个人成绩。 项目管理模块 该功能模块主要由不同的项目角色来承担不同的子功能。当教师启动了实训课程之后, 该项目中的项目经理就要启动自己项目组所承担的项目任务, 根据教师提供的项目任务书进行任务分工。该项目组的其他成员根据分工完成相应的任务, 如:撰写需求分析书、详细设计书、编码、测试用例等。这个模块主要实现了CMM2中需求管理KPA, 软件项目计划KPA, 软件质量管理KPA, 软件配置管理KPA。 项目启动和计划 功能描述:项目经理查看软件项目说明书, 项目经理建立软件项目组织, 上传项目工作流程文件, 制定项目计划、识别项目风险;提供查看参考案例资料功能, 提供查看项目组成员基本信息功能。 实施过程: 1.项目经理进入本功能后, 默认显示项目说明书; 2.根据项目规模要求, 项目经理选择项目组成员; 3.项目经理组织召开项目启动会议, 上传会议纪要; 4.项目经理组织研究分析项目需求, 制作需求规格说明书; 5.在系统已经准备好的项目计划列表中填写各任务的执行起止时间和责任人以及承担的项目任务, 制作项目计划书; 6.记录实训项目执行过程中发生的风险, 以及风险处理过程和结果。 补充说明: 1.一个学生在一个项目组中只能担任一种项目角色; 2.一个学生在课程中可同时参加多个项目, 但项目角色不能重复 3.项目计划中每个任务的责任人可以是多个学生, 当一个任务的责任人是多个学生时, 计划保存后, 平台系统将根据责任人个数, 自动复制该任务, 复制后的任务个数等于责任人个数, 并将各个任务赋予给对应的不同责任人。 4.项目计划保存后, 任务的状态将根据任务起止时间自行设置为:未开始、正常、延迟、提前等。 5.风险状态:新风险、预防阶段、补救处理、处理完成;风险出处:管理、技术、品质、配置、环境、设计、开发、测试;风险发生可能性:高、中、低。 项目实施与控制 功能描述:项目经理安排项目环境准备, 组织需求变更讨论、提交需求变更表, 召集阶段评审;软件工程师上传概要设计书, 制作详细设计书, 编码调试, 单元测试实施。质量保证人员对阶段成果进行度量, 制作品质报告;配置管理员对阶段成果进行配置管理, 整合阶段成果。提供上传详细设计书功能, 上传编码功能, 单元测试文档功能, 度量数据上传功能。 实施过程: 1.项目经理进入目前正在进行中的项目后, 在“我的任务”中将显示6个任务:项目环境准备、需求变更讨论、召集阶段评审。选择每个任务都将进入任务详细画面。在该画面显示任务的要求和相关信息。 2.软件工程师根据其项目计划中的任务, 在“我的任务”中将显示以下任务:制作概要设计书、制作详细设计书、编码&调试、单元测试实施。 3.质量保证人员进入该项目后, 根据其项目计划中的任务, 在“我的任务”中将显示以下任务:阶段成果品质度量、项目品质报告。 4.配置管理员进入该项目后, 根据其项目计划中的任务, 在“我的任务”中将显示阶段成果配置管理。 5.项目组所有成员在当日任务完成后, 填写日报。 补充说明: 1.需要上传文档、代码等成果的任务, 如果该成果没有对应的评审记录, 且该任务阶段未结束, 则该成果默认为评审前成果;如果该成果已经存在了对应的评审记录, 且该任务阶段未结束, 则上传成果默认为评审后成果; 2.如果任务阶段已经结束, 则不允许再上传成果。 3.日报必须当日填写, 逾期不提供该功能。 班级管理模块 功能描述:教师信息的增删改查、班级学生信息的增删改查、项目经理角色的增删改查功能, 提供班级学生信息批量导入接口。 实施过程: 1.教师信息:添加实训指导教师的个人信息 2.班级信息:以自然班级为单位添加、修改、删除、查询班级信息, 以班级为单位添加、修改、删除、查询班级学生信息;因为该系统默认任务所有学生均是软件工程师角色, 所以需要特别的对在项目组中需要承担项目经理角色同学或教师添加项目经理角色。 补充说明: 1.教师、班级、学生和项目经理需设置有效/无效状态, 只有有效状态的人员才能正常登陆本平台。如班级无效, 则该班级的所有学生都将被视作无效。 2.班级信息除了提供以自然班级的形式添加以外, 还额外提供个性化班级添加的功能, 所有个性化班级就是把不同自然班级的学生强制组合成为一个新的班级。 系统数据库设计 数据库的设计必须根据一定的需求, 在数据库管理系统上, 设计数据库的结构。数据库的核心是数据, 数据库不但要保证数据的持久性存储, 还要力求逻辑关系简单, 提高数据库的访问性能。 经过分析, 软件实训项目管理系统中的数据依据类型可以分成六类:即基础信息类、班级信息类、资料库类、课程库类、项目库类、成绩库类。基础信息类用来记录和使用系统用户及其功能权限关系的数据信息;班级信息类用来记录和管理系统班级、教师、学生以及项目经理数据;资料库类专门用于记录和管理系统内嵌的案例资料和指导资料;课程库类专门用于记录和管理系统使用过程中产生的历史课程资料;项目库类专门用于记录和管理系统使用过程中产生的历史项目资料。成绩库类专门用于记录和管理实训课程统计数据, 包括与成绩相关的各种统计数据。为此, 整个数据库将围绕以上六个类型来设计库表结构。 1.系统主要业务的数据流 根据系统基本功能功能需求和系统各功能模块设的设计, 整个实训项目管理系统的数据流为: 2.主要数据表关系设计 从图1系统主要数据流图可以分析出系统数据主要围绕着“项目”和“人”两条主线展开。“人”因为所在的“项目”不同, 角色就不同, 权限也就不同。“人”的角色分指导教师、项目组成员 (学生) 、项目经理 (学生) , 指导教师可以指导多个项目, 学生可以在多个项目组, 学生可以在不同的项目组担任不同的职务, 承担项目经理的任务, 所以是一多的关系。但在数据库设计时, 他们都统一的归类为用户, 即可以使用系统的所有用户都存放在“SYS_USER”这张表中, 如图2所示。根据不同的用户名USER_ID来识别“USER_ROLE”用户权限表中的权限号ROLE_ID, 再通过ROLE_ID识别出“SYS_ROLE”系统权限表中的ROLE_NAME权限名。同时还可以通过USER_ID确定“STUDENT”学生信息表和“TEACHER”教师表中学生和教师的基本信息。则USER_ID字段就是“SYS_USER”表的主键和索引项, 是“STUDNET”学生表和“TEACHER”教师表的外键。 结束语 为了提高软件质量,软件开发人员进行过大量的研究和实践。从最初的技术革新,如编译、调试工具等地研究到各种计算机辅助软件环境,再到软件开发模型的研究。但是这种以技术和方法为重心的研究没有真正达到保证软件质量的目的(但是确实对软件质量的提高做出了贡献)。所以,人们开始认识到只有对软件开发过程的质量加以控制,才有可能大幅度的提高软件质量。因此,软件质量保证也从最初的以技术和方法为重心的模式,转移到以过程管理为重心的实践。 软件质量保证的本质是为了确保软件开发过程和结果符合预期要求而建立的一系列活动及其结果评价,其最终目的是缺陷预防,达到用户的实际需求,避免安全风险。软件测试活动是保证软件质量的有力武器,从最初的调试、验证,到现在形成的独立测试体系,无一不体现质量保证的重要性和测试工作的必要性。 本文讨论的目的:在现今科技发展的大潮下,为了提高软件质量及工作效率,提出软件测试的川模型。希望川模型找出一款适合中国国情的软件测试思路和测试模型。 1软件开发、测试的现状分析 目前主流的软件开发模型有:螺旋模型、增量模型、渐进模型、快速软件开发(RAD)以及Rational统一过程(RUP)等,这些模型对于软件开发过程具有很好的指导作用,但是这些模型并没有充分强调测试的价值,也没有给测试以足够的重视,利用这些模型不能更好地指导测试实践。因此,软件测试模型应运而生,它能够系统的有计划的指导测试与研发的一系列活动,对软件质量的提高有着重要的作用。目前常见的软件测试模型有V模型、W模型、H模型、X模型、前置测试模型等。 这些测试模型都在一定程度上完善和发展了软件的测试体系,但是它们仍然存在着或多或少的问题,还没有充分把测试对质量保证的能力发挥出来。下面分析一下几款主流测试模型的优劣情况。 1.1 V模型的优劣分析 V模型强调软件开发的协作和速度,反映测试活动和分析设计关系,将软件实现和验证有机结合起来;强调了在整个软件项目开发中需要经历的若干测试级别,并与开发级别对应。但是,没有体现“尽早地、不断地进行软件测试”的原则;把测试作为编码之后的最后一个活动,项目前期产生的错误直到后期才能测试发现;没有明确指出对需求、设计的测试。 1.2 W模型的优劣分析 W模型强调了测试计划等工作的先行和对系统需求和系统设计的测试;在整个软件开发周期中,测试与开发并行进行,有利于尽早发现问题;提出了测试的对象包括程序、需求、设计等内容;及时了解项目的测试风险,及早制定应对方案,加快项目进度。但是,它没有对测试规程进行说明,同时软件开发和测试保持着线性的前后关系,无法支持迭代、自发性以及需求变更调整等经常面临的问题。 1.3 H模型的优劣分析 在H模型中,软件测试活动完全独立,贯穿于整个软件周期,与其他流程并发进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;提出了软件测试不仅仅指测试的执行,还包括很多其他的活动;测试是根据被测物的不同而分层次进行,不同层次的测试活动可以是按照某个次序先后进行的,但也可能是反复的。 1.4 X模型的优劣分析 X模型要求对每一个程序片段都进行单元测试,但没能提供是否要跳过单元测试的判断准则;多根并行的曲线代表着变更可以在各个部分发生,提高了迭代效率;它还定义了探索性测试,这一方式能帮助有经验的测试人员在测试计划之外发现更多的软件错误,但对测试人员的能力要求比较高。 1.5前置测试模型的优劣分析 该模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为;明确提出了每一个交付的开发结果都必须通过一定的方式进行测试;它还定义了“开发基于需求的测试用例”以及“定义验收标准”,让验收测试和技术测试保持相互独立。 以上模型都有其优劣,但总体来说,都没有真正的把测试对质量的保障意义或时机把控好,大部分模型中,测试只是软件开发过程的一部分,没有明确独立成一个体系,虽然H等模型把测试对产品质量保证的地位提升了不少,但是仍然缺少对测试规程、资料等重要性的体现。 2川模型架构 针对软件开发、测试的现状存在的问题(并且结合各已知模型的优点),依据“以测试者引导开发,以文档化把控质量”的测试实施理念,完善、发展了一个新的测试模型──川模型。 2.1川模型 川模型由三条相对独立的测试实施流程组成,因为类似中文的“川”字而得名。其中的三条测试实施流程分别是验收测试实施流程、需求级测试实施流程、业务级测试实施流程。如图1所示。 2.1.1验收测试实施流程 该流程提出的目的与重点在于保护用户的真实需求,因为最终产品或项目能否成功交付,验收结果是重要的依据,而验收的主导者一定是用户(代表)。该流程的起始阶段就是在投入真正的研发和测试之前,根据项目需求及测试需求设计出验收方案,以纸质方案的形式与用户(代表)进行评审,以减少后期由于三方(用户、研发、测试)需求不一致的原因导致开发迭代增加。同时,以此验收方案为标尺,约束另两个流程的实施。 2.1.2需求级测试实施流程 该阶段强调测试伴随着整个软件开发周期,测试与开发并行进行,达到尽早发现问题的目的。把测试的对象扩展成程序、设计(文档资料)、数据等内容,测试工作实时准备,以达到在某个测试点准备就绪时,可迅速切入到测试执行阶段。在该流程中,把迭代测试的内容进行了细致的分析与说明,明确提出迭代过程中需要进行单元/集成测试、功能测试、自动化测试、安全性测试以及专项测试。把自动化测试与安全性测试提高到测试指导阶段,也是当今科技发展的必然趋势。 2.1.3业务级测试实施流程 如果把测试人员按测试能力分为测试负责人、测试执行人员,那么需求级测试实施阶段的测试执行可以让测试执行人员进行,但是业务级测试实施流程的主要执行人员就应该定位成测试负责人,至少应该是测试负责人主导测试。其根本原因在于该阶段的意义是业务、风险等的把控,并且引入了探索性测试,是作为需求级测试阶段的有利补充。 需求级测试实施流程与研发流程无缝有机结合。业务级测试实施流程存在的价值在于把控与掌握住了产品实际投入使用时的场景、风险等因素,对着重需求进行针对性的设计,满足“八二法则”的经典理论,该流程即把重点放在了“二”上(用户使用的80%的场景可能就存在于20%的功能中)。验收测试实施流程依托于用户的实际需求与前期的测试分析,它作为软件生命周期的标尺,运行到产品或项目结项,最大程度上满足用户需求。 2.2川模型的工作组织规程 从图1可以看出: 川模型突出体现了测试活动对质量把控的重要性。从项目的可行性分析开始,测试人员就担负着重要的角色。同时,把测试需求说明书、验收方案、测试方案的重要性与提出时机进行了说明。体现: (1)需求分析需要产品/项目经理、用户、测试人员等全程参与; (2)测试需求说明书需要测试人员起草,由产品/项目经理、用户、研发等共同审核通过; (3)验收方案提前由测试人员编写,由产品/项目经理、用户共同审核通过; (4)研发设计阶段主要依据测试需求说明书编写(其次可参考软件需求说明书),在还没有进行完代码开发之前,测试人员提前输出依据测试需求说明书编写的测试案例,由研发人员提前参考,提高研发依据测试案例开发代码的测试通过率; (5)迭代阶段大部分在需求级测试实施流程,测试工作实时准备,以便迅速切入测试执行; (6)业务级测试实施阶段的执行工作是需求级的补充,在软件研发的中后期无缝切入; (7)验收执行的触发点是业务级测试通过,验收工作完成后,进行项目资料归档工作; (8)研发过程中,如果有任何变更,需走变更控制程序,返回测试需求分析阶段,并根据实际情况与要害人员输出变更后的系列资料(验收方案、测试案例等)。 3川模型的甘特图 在图1中的左半部分,做了时间轴与等时线的定义。并且说明了不同职能人员的参与时机,已给大家在时序上的理解。 4川模型的价值 4.1体现测试的使命与重要地位 在川模型上,可以很容易的看出测试工作对软件质量的保证意义与实施方法。区别于其他模型,该模型更加清晰、系统的说明了测试的使命,并且该模型真正站到了测试的角色,以测试保证最终用户质量的认可下指导研发的工作,作为研发工作的标尺。 4.2体现测试先行的重要意义 从产品/项目的可行性分析开始,测试活动就一直伴随整个生命周期,真正体现了“尽早地、不断地进行软件测试”的原则。 4.3文档化的重要性与可追溯性的提出 在现今越来越快的产品/项目的交互进程中,人们对文档化的需求越来越迫切,文档化不仅可以使研发、测试过程更加有理、有据、科学,也为以后的可追溯性提供了基础。同时,产品/项目前期就对测试案例化的要求,对研发的指导意义更大,研发完全可以“依据测试案例设计软件,案例通过即研发完成”的标准进行开发活动,避免了由于需求不一致的情况下导致研发冗余或功能缺失,提高了工作效率。 4.4提出三种测试技术相结合的规程 川模型第一次提出了三条执行线的工作模式。验收实施流程作为整个产品/项目的指导流程执行,它与用户最紧密相关,最能体现用户的实际需求,同时避免、减少了在工作过程中的随意变更;需求级实施流程则最有效的保证了测试覆盖率,并且与研发的交互也更加顺畅,提高了测试与研发迭代的敏捷度;业务级实施流程则通过有经验的测试人员,把最重要需求做了风险、场景、探索等地设计验证,可以这样说,经过最后一条执行线的梳理后,用户的实际并且经常使用的功能都被覆盖到。 除了需求级实施流程与研发的交互紧密而充分外,另两个流程相对独立,降低了研发过程干扰,为保证软件质量提供了有利基础。 4.5等时线为质量保证提供了基础 该模型首次提出等时线的概念,在时序上,避免了工作重复甚至没有必要的交叉。正如该模型的约束,我们必须先进行测试需求分析,输出测试需求说明书后,才可进行验收测试设计;在验收测试设计快完成时,才可以进行需求级测试设计,保证了测试设计与验收标准的高度统一;业务级实施流程通过后,才可进行验收执行工作。从另一层面,也对测试提出了更高的要求,例如在研发提交代码之前,测试的准备工作必须完成,可随时切入工作;有需求变更时,测试人员需要先后更新测试需求说明书、验收方案、测试方案等内容,审核通过后,实时共享给要害人员,确保项目的顺利进行。 5结束语 川模型的提出时间尚短,只在一两个公司进行过相关实践,看到了明显效果;提高了测试人员的使命感与荣誉感;也减少了软件开发过程中的冗余、遗漏问题。但是,该模型没有经过大量的软件企业实践,还会存在或多或少的问题,仅作一个初步研究,通过这初步的研究,想抛砖引玉,真正找出一款适合中国国情的软件测试思路和测试模型,也欢迎大家一起探讨。 参考文献 一、目标成本法基本框架 目标成本法从二十世纪六十年代初期开始形成到今天己经经历了40多年的历程。目标成本法的创造人为日本丰田汽车公司, 当初是在产品的设计阶段将成本限定在一定的目标内, 然后运用价值工程法实施新车开发和车型更新。同时在设计、试产和生产准备等阶段, 各相关部门通力合作以达到目标成本, 这样就逐渐形成了“目标成本法”体制。1994年7月日本会计学会第53届年会由“目标成本法特别委员会”发表了《目标成本法研究的课题》报告草案。把目标成本法活动视为综合性利润管理的一环, 将其定性为企业确立中长期竞争优势的、与产品开发相关联的战略性管理方法。 目标成本法认为产品售价和目标成本均来自市场, 即由市场需求决定的目标售价 (预期售价) 和期望目标利润这两个因素来求得目标成本。用公式可表示为: 目标成本=目标售价-目标利润或目标成本=目标售价× (1-目标利润率) 目标成本法的关键是产品在设计图面上实现成本降低, 其中包括了多重的“设定→分解→达成实施→……”这样的循环, 借助这一阶段各个循环使得成本降低得以真正落实。每一次循环都是对成本的一次挤压, 只有到工序设计阶段的成本降低额达成后, 才能转向实际投产。因此, 目标成本法强调设计阶段对成本的决定作用, 具有前馈和预算控制功能。 二、目标成本预测模型改进 目标成本法下的目标成本有两个特征, 一是目标成本的预测, 二是必须结合本企业的实际情况目标成本能够达到。当然这就需要分解后的各目标成本预测必须准确, 如果一次不能完成这些预测, 但可能借助工程学方面的有关技术努力达到。 成本预测是否准确将直接影响到企业的决策和目标成本法的效用, 成本计算模型决定了成本预测的准确性。日本的成本计算模型由直接成本和间接成本构成, 设计人员在规划目标成本时从成本表这种数据库形式中获取数据进行成本预测, 并与必达目标成本相比较, 以决策是否继续进行价值工程活动。为适应市场和环境变化, 成本表中的成本数据定期更新, 直接成本数据直接获取, 间接成本分配率数据由间接成本总额除以人工工时、机器小时获得。本文认为这种成本预测模型需要加以改进:一是用不具因果关系的人工工时、机器小时去分配间接成本, 会产生错误的成本信息, 因此应该采用作业预算, 这一点已在有关介绍作业成本法的文献中论述。二是剩余生产能力的成本不应该被分配到个别产品中去。剩余或闲置生产能力的成本应该作为单独的处理项目——期间成本, 而不计入个别产品成本作为目标成本。在日本成本系统中, 如果实际需求量下降, 单位产品会分入更多的成本 (闲置生产能力的成本) , 导致成本系统报告成本上升, 这主要还是因为其产品成本管理建立在成本补偿的思想上, 是“拉动式”的。企业应不论实际需求是多少, 都应该以实际生产能力下各成本动因分配比率分配固定成本和变动成本。三是目标成本法按传统管理会计系统下的成本在短期内分为固定成本和变动成本的思想应进一步深化, 以反映成本的真正性态。也就是说, 某些固定成本在一定的成本动因下可视为随作业变化的变动成本, 因此变动成本可分为随产量数和随生产作业数而变化的变动成本。 三、目标成本预测模型与弹性边际成本思想融合 德国的成本会计系统 (G PK) 并不把作业中心的成本用直接材料、直接人工和分配的制造费用来表达, 而是更多地考虑边际成本。G PK既不同于完全吸收成本法, 也不同于传统变动成本法。 下表为以G PK思想为基础改进后的反映作业中心贡献毛益的简单会计报告, 部门生产贡献毛益的成本可作为目标成本法单位级目标成本预算内容。因此, 可以按照G PK的思想将单位级目标成本的构成以产品变动成本、随生产作业而变化的成本、生产能力成本表达。而未使用生产能力成本以及不可分配部门成本 (主要是酌量成本) 作为期间成本, 这样得到的单位级目标成本可完成上一节所述的三个方面的改进, 既可完成目标成本的分解挤压, 又可有助于监控相对于部门可控制的变动成本的部门经理的经营业绩。这一方法提供了一个好的预算成本系统, 可使成本更加透明以增加决策的正确性。 目标成本法对于企业成本管理的理论和实务操作均具有重大指导意义, 但是也具有一定局限性。实际上任何一种成本管理思想都不可能完全和另外的成本管理思想划清界限, 因为各自的出发点和着重点都有所不同。企业应根据自身情况, 采用适合的成本管理方法, 而结合实际需要对各成本管理思想进行融合, 则是成本管理思想的升华和再提高。目标成本法融入弹性边际成本思想, 可充分发挥各自的优势, 形成一套强有力的成本控制体系。 参考文献 软件测试过程用于指导软件测试的流程及安排测试活动的实施。测试过程的优劣会影响测试结果的准确和有效性。针对被测试软件的特点和测试目的, 在实践中总结出了若干测试过程模型。软件测试模型是测试工作进行的依据, 它描述了测试过程的主要活动及其相互关系等。为了提高模型的准确性和有效性, 并能在测试的整个生命周期发挥作用, 关键是合理划分模型中的各个阶段, 及其实施的活动, 并为这些活动制定合理的执行顺序。 1常用软件测试过程模型 模型是一种沟通工具, 测试过程模型能帮助项目中的测试人员明确目标和确认职责, 良好的测试模型可以提高测试的效率。现有软件测试过程模型有很多, 常用的主要有 V 模型、W模型等。 1.1V模型 现有的模型中最有代表性的是V模型, 20世纪80年代后期由Paul Rook提出。V模型反映了测试过程与分析、设计阶段之间的关系, 认为测试的过程存在不同级别, 并描述各个阶段之间的对应关系, 软件测试过程V模型如图1所示。 V模型揭示了软件测试活动分层和分阶段的本质特性, 但也存在一些问题, V模型把系统开发过程划分为具有固定边界的不同阶段, 容易让人形成测试是开发之后的一个阶段。V模型没有明确测试设计, 导致需求阶段隐藏的错误可能要到最后验收测试时才被发现, 解决这样的错误要付出很大的代价, 相比之下, Evolutif公司提出的W模型显得更科学些。 1.2W模型 W模型是在V模型的基础上自然发展起来的, 软件的错误具有传递性, 在需求分析阶段产生的错误, 会传递到设计和编码阶段, 因此, 测试工作应尽早进行。W模型强调, 整个软件生命周期都应该伴随有测试活动, 阶段性的开发活动完成后, 就可以开始测试, 也就是说, 测试与开发可以同步进行。W模型还认为, 测试的对象不仅是编码阶段的成果, 需求、功能和设计同样要测试。软件测试过程W模型如图2所示。 V模型和W模型的共同点是, 它们都认为软件开发过程是由需求、设计、编码组成等一系列串行的活动, 适用于那些有明确需求的项目, 开发和测试人员按照需求和设计开展工作。而在大部分的开发过程中, 需求通常会产生变动, 文档会时时更新, 这样V模型和W模型就难以实施。 事实上, 在大部分开发时间内, 开发过程中的活动可以交叉进行, 对应的测试活动也不应存在严格的次序, 单元、集成和系统测试之间可以反复迭代。遵循这种思想, 人们又提出了H模型。 2软件测试过程H模型 人们利用新的设计思想, 对软件测试的流程重新进行了更加系统的分析, 随之提出一种适应性更强、应用更广泛的软件测试过程模型—H模型, 如图3所示。 图3是软件开发过程中某个阶段上的一次测试活动流程。图中的流程适用于任意的开发过程, 例如设计或编码过程。在某个时间点, 其它过程的进行触发了测试就绪点, 此时, 只要准备活动完成了, 测试活动就可以进行。 H模型充分体现了“尽早测试”、“全程测试”、“独立测试”、“迭代测试”的原则。 本模型对软件测试过程进行定义, 将其划分为5个阶段, 分别是测试需求、测试策划、测试设计、测试执行、测试总结。这种划分非常符合H模型的思想, 测试需求、测试策划和测试设计对应 H 模型中的测试准备阶段, 测试执行和测试总结对应 H 模型的测试执行阶段。五阶段模型的使用实例如图4所示。 H模型提高了测试的效率, 同时具有一定的灵活性, 但并没有提出具体的应用模型。本文将工作流的思想引入到软件测试过程H模型中, 建立了一个以任务分配为驱动的软件测试应用模型。 3基于工作流的软件测试应用模型 3.1工作流 工作流元模型用来定义工作流系统的体系结构、应用接口, 它描述了工作流模型内部的各对象、对象间关系及属性。WfMC定义的模型如图5所示。 主要组成部分如下: (1) 工作流执行服务组件 (Workflow Enforcement Services) 提供了一个或多个工作流引擎组成运行环境, 可对过程进行实例化、解释及激活, 同时可与外部进行数据交换。 (2) 工作流引擎 (Workflow Engine) 是一个为工作流实例提供运行执行环境的软件服务。 (3) 过程定义组件 (Process Definition) 主要用于描述、分析并记录业务过程。它输出一个能被工作流引擎解释的过程定义。 (4) 工作流相关数据 (Workflow Data) 指与业务过程流相关的数据。系统使用这些数据确定工作流实例的状态转移, 工作流相关数据既可以被工作流引擎使用, 也可以被应用程序调用。 (5) 工作流客户端应用组件 (Workflow Client Application) 是与活动相关的人员进行交互的软件实体。通常包括工作列表 (Worklist) 及工作列表管理器 (Worklist Handler) 两个主要组成部分。 (6) 需要激活的应用程序 (Invoked Applications) 是指工作流执行服务在过程运行中调用处理应用数据的外部应用程序。 3.2软件测试管理应用模型 根据目前通用的软件开发过程模式, 考虑实际操作的可行性, 以软件测试过程H模型为基础, 结合工作流模式, 建立如图6所示的软件测试管理应用模型。 此模型中, 执行任务分配的工作流引擎是一个核心部件, 测试过程的基本流程是: (1) 测试开始前建立测试用例库, 保证能产生合格的测试用例, 以供任务分配; (2) 任务分配触发工作流引擎, 测试员开始进行测试并填写测试报告。若测试结果无误, 该测试用例关闭;若有误, 则产生相关缺陷; (3) 产生的缺陷经审核, 如确是一个待修正的缺陷, 则重新作为任务分配对象; (4) 任务分配再次触发工作流引擎, 程序员对缺陷进行修正, 确认完成后, 进入回归测试流程, 等待回归测试的缺陷又成为任务分配的对象; (5) 回归测试再次触发工作流引擎, 流程回到 (2) , 循环此过程直至缺陷“关闭”。 3.3工作流引擎——任务分配 任务分配相当于工作流引擎。测试任务的分配依照计划 (Plan) 、执行 (Do) 、检查 (Check) 、调整 (Adjust) 的原则进行, 在测试开始前要建立测试计划, 明确各阶段要完成的任务, 预估完成活动所需的时间和资源, 从而进行人员安排和任务分配等。任务分配管理框架如图7所示。 3.3.1 任务的时间管理 任务的时间管理包括对任务的开始日期、完成日期等时间相关属性的监控和管理。 3.3.2 任务的成本控制 成本控制管理包括任务的计划成本、实际成本等成本属性的监控和管理。 3.3.3 任务及子任务间的约束关系 依据WBS (Work Break Structure) 的思想, 任务被分解为子任务, 子任务可继续分解, 两个任务间形成了父子关系, 同时也产生了约束关系。比如, 子任务不能在父任务前开始, 不能在父任务后结束, 等等。 3.3.4 任务流转模型 任务发起人发起一项任务, 交由承接人进行处理, 任务完成后, 承接人返给发起人确认, 确认无误后, 发起人关闭该任务。任务的整个流转模型如图8所示。 3.4状态变迁 3.4.1 测试用例状态变迁 同个测试用例在不同的开发阶段可能被反复运行, 即多轮测试, 为了保证测试用例能够进行多轮测试, 将测试用例状态分为静态和动态。经过任务分配后的测试用例, 状态发生变化, 由静态转为动态, 状态为动态的用例才能参与测试。 本模型用以下状态来跟踪测试用例的执行情况: NO Run:测试用例处在设计阶段或未被执行。 Passed:本轮测试已成功, 即未发现缺陷。 Failed:本轮测试已失败, 即发现了一个或者多个缺陷。 Blocked:测试用例的设计出现问题, 或在当前的条件下不适用。 3.4.2 缺陷状态变迁 开发过程中某一阶段产生的缺陷很可能是由上阶段的某个错误造成的, 由此可以看出, 对软件缺陷进行跟踪很有必要。本模型将软件缺陷管理的范围扩大, 使整个软件生命周期产生的缺陷都能够得到有效管理。在软件测试之前, 根据测试员的要求设置缺陷状态。 本模型中, 缺陷的状态包含:open、working、verify、cancel、defer和close。Open态表示新产生或未被改正的缺陷;Working态表示缺陷正在被修改;Verify态表示缺陷经程序员修改后, 等待测试员进行验证;Close态表示经过重新测试, 已被修正的缺陷, 未被正确修改的缺陷重新置为Open态, 即初始状态;Cancel态表示测试人员发现的缺陷并不是缺陷;Defer态表示在当前不适合修正该缺陷, 对优先级不高的缺陷, 可考虑推迟修正。整个缺陷的状态流转如图9所示。 4结语 上文介绍的基于工作流的H测试模型中, 贯穿着尽早测试、全面测试、全程测试、迭代测试这样的测试理念, 经过实际的开发过程验证, 软件测试过程已经从开发活动中抽象出来, 成为一个独立的过程, 并单独进行管理。基于工作流的H测试模型使测试过程流程更清晰, 工作更明确, 从而在保证软件产品质量的同时节约了开发时间, 使软件测试过程的运作更加合理。 摘要:针对当前软件测试存在的问题, 在深入分析现有各测试模型的基础上, 引入工作流理论, 以任务分配为引擎, 结合软件测试H模型, 提出一种可行的改进方案。 关键词:软件测试,工作流,H模型,工作流引擎 参考文献 [1]胡玮.软件测试过程模型的改进与应用[D].杭州:浙江大学, 2006. [2]赵瑞东.工作流与工作流管理技术综述[J].科技信息, 2007 (8) . [3]郑小军.基于工作流技术的软件测试流程定义与监控[J].计算机应用研究, 2007 (2) . [4][美]Project Management Institute.Practice standard for workbreakdown structures[M].Project Management Institute, 2001. 摘要:房地产经济是我国经济的领头羊和支柱产业,房地产经济的变化也会使得整个国家经济产生波动。本文首先是在索洛的经济增长模型原理基础上对模型的缺陷进行分析并得出了改进后的索洛经济增长模型,然后将房地产经济发生变化的原因与改进的经济增长模型相结合,分析得出相应的结论并找到解决这种状况的措施,并给出了在国内房地产企业中的应用。研究指出:这种改进后的模型能够刺激和带动房地产经济的增长,从而为当前我国房地产的低迷时期提供一些指导和参考意见,也为房地产企业改进运营模式和提高经济效益提供一些帮助。 关键词:房地产经济 支柱产业 增长模型 低迷期 刺激 一、引言 目前我国房地产经济遇到了瓶颈和低迷期,国内众多的房产开发企业因多种因素纷纷放缓、减少甚至停止投资。本文基于这种背景,结合经济学理论分析产生这种房地产经济低迷的原因,并在改进后的索洛经济增长模型中进行分析并得出对应的结论,并根据各自的结论得出相应的措施。通过对本文的应用研究分析能够帮助房地产企业提高自身应对经济变化能力,从而为解决当前我国房地产经济的变动和低迷现状提供一定的参考。 二、房地产经济变动原因剖析 通过对国内的多个地区:广东、江苏、北京、湖北、湖南、云南等省份房地产开发项目的调研,运用统计学方法统计这些工程项目的数据,找出其共性并加以分析,最后得出一些一致的结论。结论指出产生房地产经济低迷的主要原因有三个:一是贷款利率和房贷利率即边际储蓄率上升明显,信贷收缩过紧,不仅银行资金紧张,房贷额度紧张,而且全社会资金成本大幅提高,对经济和房地产市场都产生不利影响[1]。二是人均国内生产总值低下,又因为房价过高导致社会低购买力严重脱节,购房者处于观望状态,不敢轻易购买也导致房企的销售不乐观。三是投资成本增大,这主要是建筑原材料价格和劳动力成本上涨,房建建造和投资成本大大提高,使得房企的投资减少进而使企业的盈利下降[2]。这三点是造成了当前我国房地产经济变动中产生低迷现状的主要原因。 三、改进后的索洛经济增长模型原理 索洛经济增长模型(Solow,1956)是通过放弃劳动力与资本固定比例,通过将资本、劳动和总产出之间的比例关系内生化而来的模型[3]。索洛将一般的生产函数表述为:Y=F(K,L),并在考虑技术水平变化时使用具有希克斯中性技术进步的生产函数:Y=A(t)F(K,L)。当给定储蓄率不变时,得出的最终产品与资本存量的稳态增长率都为n+g/1-a。索洛模型假定总储蓄率为s ,其资本积累方程K=sf(k)-(n+g+δ)k,其中K:资本;L:劳动;A:施工技术水平;I:投资;k:有效劳动投入之上的资本密度;s:边际储蓄率;n:人口增长率;g:施工技术进步率;δ:资本增长率;y:有效劳动投入之上的人均国内生产总值。 传统索洛经济增值模型的一个比较大的缺陷是没有投资函数,纯主观的认为资本积累与资本密度k相关,但是在实际房地产经济变化中,经济的资本积累不仅仅与资本密度有关,还与其它因素尤其是企业的投资I有关,引入因素变量&=aI+bk就可以在一定程度上弥补该缺陷,因此就可以得出一种新的经济增长模型,其资本积累方程为K=sf(k)-(n+g+δ)k+ &,&=aI+bk,其中&为因素变量,从等式中可以看出这个因素变量不仅与实际经济中资本密度k相关,而且还与企业的投资I相关。通过这个新的资本积累方程就可以较完整地反映经济的变动情况,从而弥补了传统索洛经济增值模型对经济结果的判断不够准确的缺陷。 四、改进后的索洛经济增长模型的应用分析 基于对房地产经济低迷期的大量数据统计,得出的产生低迷的三种原因其对应在经济学的理论分别是:s边际储蓄率上升,y人均国内生产总值下降,I投资成本增大。在应用改进的索洛经济增长模型进行分析时采取控制其它变量,只分析单一变量的原则得出相应的结果。 (一)当边际储蓄率上升时,改进的索洛经济模型应用 在改进的索洛经济增长模型中,资本积累方程为:K=sf(k)—(n+g+δ)k+&,&=aI+bk。当其它变量y和I不变,s边际储蓄率增大时,k值随着s增大而增大[4]。由资本积累方程可以看出,sf(k)增大,(n+g+δ)k也增大,—(n+g+δ)k减小,&=aI+bk也增大,并得出以下图1。 结合图1和资本积累方程,当K值<0时,—(n+ g+δ)k的绝对值大于sf(k)+&的绝对值之和,因此在其它变量y和I不变的情况下,要想使得K值>0,必须减少(n+ g+δ)k值,因此需要减少n+g+δ,即减少n,g和δ为最佳措施,减少人口增长率,施工技术进步率和资本增长率,具体在房地产经济中是需要精简人员、不过量引入施工设备及施工新技术和减少投资资金。这样才能使得房产企业在某种程度上获得经济效益,刺激房地产经济的增长。 (二)当人均国内生产总值下降时,改进的索洛经济模型应用 在改进的索洛经济增长模型中,当人均国内生产总值y下降时,其他变量s和I不变时,会带来k:有效劳动投入之上的资本密度的减小[5],与此相关的&=aI+bk减小,sf(k)也减小,(n+g+δ)k也减小,—(n+g+δ)k增大,并得出图2。 结合图2和资本积累方程,sf(k)+&之和逐渐减少,—(n+ g+δ)k逐渐增大,因此在其它变量s和I不变的情况下,要想使得K值>0,必须增大sf(k)+& 即sf(k)+aI+bk值,因此需要增大n+g+δ,即增大n,g和δ,增大人口增长率,施工技术进步率和资本增长率,具体在房地产经济中是增加从业人员、大量引入施工设备及施工新技术和加大投资资金。同样地加大投资资金时,k值增大,δ=aI+bk也逐渐增大,sf(k)也逐渐增大,这正与实现目标值K大于0刚好吻合。最大的实现了房企的经济效益,从而带动了房地产市场的经济活力。 (三)当投资成本增大时,改进的索洛经济模型应用 在改进的索洛经济增长模型中,当I房地产企业投资成本增大时,其他变量s和y不变时,会带来k:有效劳动投入之上的资本密度的增大[6],与此相关的&=aI+bk增大,sf(k)也增大,(n+g+δ)k也增大,—(n+g+δ)k减小,并得出图3。 结合图3和资本积累方程,sf(k)+&之和增大,—(n+ g+δ)k逐渐减少,因此在其它变量s和y不变的情况下,要想使得K>0,必须增大—(n+ g+δ)k即减少(n+ g+δ)k值,因此需要减少n+g+δ,即减少n,g和δ,减少人口增长率,施工技术进步率和资本增长率,具体在房地产经济中是需要控制和精简人员、减少施工设备和施工新技术的引进和控制资金投入。这样才能使得房地产企业在成本上获得最大程度上的经济效益。 (四)综合分析 通过以上改进的索洛经济增长模型在房地产市场经济变化中的应用可以得出,改进后的索洛经济增长模型在房地产经济变化中起到了主导作用,他们之间的相互关系可以通过以下图4展示出来。 但是在实际的房地产经济变化当中,往往不止一个因量在发生变化,经常是两个或者多个因量在发生变化。这种情况下也就需要综合考虑人口增长率、技术进步率和资本增长率的不同变化,以此来解决多个原因变量带来的经济变化状况。 五、结语 本文是在传统的索洛经济增长模型基础上,提出了改进的经济的索洛经济增长模型,并将该模型应用到低迷的房地产经济变化当中,给出了解决这种低迷的房地产经济变动状况的解决途径和措施。虽然这种解决途径和措施不能保证能够彻底完整地解决整个房地产市场低迷的经济变动状况,但是这种应用研究可以在某种程度上给予房地产企业较为准确的指导意见和帮助,从而也为解决低迷的房地产经济变动带来更大的经济参考价值,较之传统的索洛经济模型有较大的优势,具有一定的应用价值。 参考文献: [1]崔拥政.房地产经济的特殊性及其与金融的关联[J].产业与科技论坛,2013(7):105—106 [2]罗明忠.经济低迷时期劳动关系处理的应急机制建设[J].中国人力资源开发,2009(5):21—22 [3]靳元. 索洛经济增长模型的发展与应用综述[J].宏观经济,2008(11):28—29 [4]谭明权.论我国高储蓄率与经济增长率的关系[J].时代金融,2009(11) [5]李洋,刘美爽.我国城镇居民消费水平的计量经济模型分析[J].商业时代,2014(3) [6]王爱兰.试论企业环境成本与经济效益关系的影响因素[J].中州学刊,2006(2) 关键词:ERP,需求模型 1 影响需求的因素 在这些因素的综合影响下,企业的需求呈现各异的状态,有的甚至远远超出我们的想象。 (1)企业的管理水平。ERP软件是ERP管理思想的载体,实施ERP项目首先不是软件问题,而是管理问题。对于使用者来说,运用一种这样强大的管理工具,要求有与之匹配的管理水平,或在实施的过程之中,要培养与之匹配的管理水平。 企业的管理水平的ERP软件需求的基础,奠定了需求的广度、深度和对企业的适用性前提。 (2)正面临的管理难题。当企业正面临管理的难题时,其解决难题的欲望是如此强烈,以至于在ERP的需求构思过程中,也会将ERP软件作为解决难题的有效途径。企业正面临的难题是ERP软件需求的功能选择的内在风向标。 (3)行业竞争与外部环境。行业竞争者在与企业的关系紧密的外部环境中,如果纷纷在启动和实施ERP,对企业的触动与影响是巨大的。当竞争对手启动与实施ERP时,这些信息就会使企业面对竞争压力;当对手的项目获得成功后,企业就会直接面对上马ERP的压力。行业竞争与外部环境为ERP软件需求的提出提供借鉴。 (4)接触到的产品及供应商团队。对于绝大多数国内企业,ERP需求是在受教育的过程中形成,而这种教育最大的程度来自于某几种ERP产品及其供应商团队的说教。产品及供应商团队一旦出现问题,提出的需求可能导致灾难性结果。 (5)企业的战略。ERP项目的启动是企业重大的战略行为,是企业的战略构成之一,是企业整个资源配置的重点。通过企业战略的明确,由上向下地推动信息化战略的制定,继而全面指导ERP软件需求的产生,在经历大量工作后形成较为全面、适宜、深刻的软件需求,这是理想的流程。 (6)企业文化。企业文化潜在地影响着提出需求的企业决策者、部门和人员,最终的需求是要为企业文化所接受的需求。企业文化潜在地影响着需求的提出,其影响非常深刻。 (7)决策者。ERP是“一把手”工程,决策者是ERP需求提出的重要组成和关键影响因素。企业决策者他们对企业ERP软件需求起到了导向作用和过滤作用。 (8) IT部门或团队。他们对内是启动ERP项目的决策支持者和实际执行者,其行为是部门或团队的动机与企业决策者想法与意志、企业文化的驱动与约束、产品与供应商的说教等相互之间作用的结果。 2 ERP软件需求模型 国内企业对ERP软件的需求主要在五个维度上呈现出差异性,如图1所示,即: (1) 对企业管理信息化覆盖的全面程度; (2) 业务流程上对变革的需要与接受程度; (3) 管理上对集中程度的要求; (4) 管理上对实时性、数据真实性的要求; (5) 对信息化管理深度的要求(表现在对ERP软件模块复杂度的要求)。 根据企业的实际情况,企业将在五个维度中寻求平衡,最终确定ERP需求的范围与深度。这一平衡可以充分地反映在ER软件需求模型之上。 (1)“全面”到“单一”。企业应用ERP软件来推动信息化管理的全面提升,还是仅用来解决企业某一方面(如生产制造)的信息化管理,这就是模型中的第一个维度———需求对企业管理信息化覆盖的全面程度。“全面”到“单一”是划定ERP未来的实施范围,明确针对的企业内部对象,锁定具体的业务流程。 在五格之中,最中间的一格我们定义为企业的ERP需求范围处于较为适中的程度,解决了企业生产制造、财务、库存管理等的集成;而单一则主要是指企业利用ERP来解决生产制造、财务、固定资产管理或人力资源中单一方面的信息化管理;全面则是寻求建立企业的综合性管理系统,力图覆盖企业信息化管理的方方面面。 (2)“按需配置”到BPR。视企业的情况不同,对ERP的认识不同。企业对ERP软件需求将明确企业对于BPR业务流程变革的态度。这一态度也将对未来ERP实施的方法论的采用,有着重要的作用。 不少企业的理想状况是按照企业的需要灵活配置ERP。在无变革风险的情况下实现企业业务向ERP平台上的平移,有软件供应商宣称在供应此类产品。与之相反,部分国内企业却想利用ERP软件的实施来完成企业内部的一次巨大变革,实现企业业务流程再造和组织结构的重组。同时,还有企业的ERP需求是以企业原有流程为主,寻求借鉴ERP软件中的业务模型、管理流程,对企业的业务流程进行修补。坚持BPCI的企业则力图不断持续改造流程,既避免BPR的风险,又能以循序渐进的变革达到同样的目的。金蝶、用友正力推BPCI的ERP软件产品。有企业直接在新建工厂和生产线时全盘照抄ERP中提供的成熟行业解决方案,以自身的调整来迅速适应先进的管理方法。 (3)“集中”到“分布”。集中与分布体现企业对ERP软件的需求是用以主导解决高层管理问题,还是服务于企业重点局部和一线(生产一线、市场一线、财务一线等)。选择集中取向的企业的需求主导方是企业的决策管理层,反映了企业正面临诸如集团化管理这一类型的困难,体现了企业集中管理的思想。选择分布取向的企业是服务市场的表现,详细需求将由一线来汇集提交,反映了企业正努力以ERP软件提升重点局部或一线的能力,以迅速获取竞争的优势。 在5个方格中,高度集中是企业力图通过ERP实施从上对下的全面管理,在信息技术的支持下将管理的高效准确做到以前可望不可及的水平。局部集中则将重点集中在财务、人力资源等重要方面的集中管理上。集中/分布,则是运用ERP软件寻求恰当的集中管理。服务局部则是企业利用ERP软件扶持企业中某项业务、某些部门、某个环节,达到解决重点问题,使企业成长更均衡,不会在某方面失去竞争力。服务一线,则是ERP软件主要解决一线基础的业务流程,现寻求基础流程的管理提升,不急于在中高层管理上着力。 (4)“实时/透明”到“延迟/加工”。企业的各级管理都寻求实时的管理效果,从上到下更追求管理的透明与真实。在没有信息技术时,对于规模稍大的企业,这都是较难的事。而利用ERP软件来完成这一管理目标,是不少企业的构想。用友与Gartner所推的RTE更是强调整个企业对市场响应的实时,这当然就要求业务的实时和透明了。对实时性和透明性的要求,将是ERP软件需求中重要的部分。体现了对平移至ERP平台上之后,企业对其响应速度,数据通透性,业务记录的可追溯性等要求。 业务实时是五格中最高的要求,基本可借用RTE的概念。管理实时,则要求ERP软件具有充分的OLAP和BI能力,可对业务操作中的原始记录进行充分的挖掘,而统计分析的数据能及时提交并给予决策支持。按需细分,则不对ERP所涉范围要求全面的实时和透明,在投入可承担的情况下,分级要求做到实时与透明。人为弥补是指业务操作和管理所面数据和信息不能全部由一线的操作自动生成,而需要人为的补充,以完善所需的信息。同意人为弥补往往是在ERP软件需求要求深度和广度不足时被迫之举。延迟,是企业在ERP软件需求中愿意接受数据与信息的延迟。 (5)“复杂”到“简单”。ERP软件需求中对软件模块的复杂度要求是与企业内部业务流程复杂度紧密相关的。如果企业仅是大规模的单一生产,其制造模块要求达到的复杂度就会较低。但如果企业是混合生产性企业,又要展开JIT生产和柔性制造,则必然要求制造模块足够复杂来支撑企业的生产制造流程。 3 结束语 综上所述,需求在此模型上的5个关键维度上寻找到恰当的定位,最终所形成的清晰构图要远比对企业ERP软件需求进行大量细节分析所得到的简单累积汇总更能说明问题。因此,对ERP软件需求模型的深入了解是企业实施ERP项目最终是否成功的一个关键因素。 参考文献 [1]宋云雁.ERP实施的相关问题探讨[J].工业技术经济, 2006 (12) . 【软件测试改进模型研究】推荐阅读: 软件测试研究10-27 软件性能测试研究08-19 软件测试性定义研究07-21 软件测试分析方法研究10-17 嵌入式软件测试研究10-30 软件开发的性能测试与研究论文09-05 测试软件测试11-17 软件过程改进07-17 软件过程的改进08-21 软件质量与软件测试05-30软件测试改进模型研究 篇4
软件测试改进模型研究 篇5
软件测试改进模型研究 篇6
软件测试改进模型研究 篇7
对软件测试川模型的初步研究 篇8
目标成本法预测模型改进研究 篇9
基于工作流的软件测试H模型研究 篇10
软件测试改进模型研究 篇11
ERP软件需求模型研究 篇12