软件过程改进模型

2024-07-25

软件过程改进模型(精选11篇)

软件过程改进模型 第1篇

当前许多软件开发机构己将客户满意程度视为重要的追求目标, 忽略了软件质量在软件产品开发中的重要性。因此, 存在了几十年的软件危机问题并未得到彻底解决, 软件项目超时或超出预算, 处于混乱状态;软件作为逻辑产品, 制造的过程基本是“设计”过程, 一般的硬件生产质量控制方法不适用, 根本不能体现新方法、新技术和新工具所带来的优势。

因此, 软件界针对如何进行软件过程管理与改进, 提出了各种各样的方案。目前, 在软件过程技术研究领域主要有3个流派:CMU-SEI的CMM/PSP/TSP、ISO9001质量标准体系、ISO/IEC15504 (SPICE) 。三者各有特点, 互为补充, 本文重点研究CMM模型及对软件过程改进。

二、软件能力成熟度模型 (CMM) 的主要概念

软件能力成熟度模型 (Capability Maturity Model for Software) :是对软件组织在定义、实现、度量、控制和改进其软件过程的进程中各个发展阶段的描述。这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面最关键的问题, 从而为选择过程改进战略提供指南。

CMM引入上述概念是为了提高软件开发机构的软件过程能力, 从而促进软件开发机构不断改进其软件开发能力, 它所要模拟的对象是软件能力成熟度及其相关的实践行动, 重点强调软件过程。因此, 从某种意义上来说, CMM本身是一种学术理论, 一切根据CMM所进行的活动都是对这种理论的尝试。

CMM描述了一个从不成熟到成熟的有效改进软件过程, 它包括计划、工程和管理软件开发和维护的实践。这些关键实践提高了组织机构减少花费、时间进度及增强功能和产品质量的能力。

三、CMM总体结构

CMM由5个成熟等级组成。除第1级外, CMM的每个等级 (除初始级外) 都分解为3个层次加以定义。这3个层次是关键过程域、关键实践类和关键实践口每个成熟级由几个关键过程域构成, 这几个关键过程域共同形成一种软件过程能力, 而每个关键过程域由公共特性组成, 公共特性详细说明了实现关键过程域目标的关键实践。每个关键过程域按5类关键实践类加以组织, 并都有一些特定的目标, 它们通过相应的关键实践类来实现这些目标, 各关键实践类规定相应部门或有关责任者应实施的一些关键实践。当一个关键过程域的所有关键实践都按要求得到实施时, 就能实现该关键过程域的目标。

四、CMM对软件过程的改进

CMM提供了一个有力的软件过程改进框架 (如图1所示) , 将软件过程改进的进化步骤组织成5个成熟等级, 由低到高分别为初始级、可重复级、己定义级、定量管理级和优化级, 为过程不断改进奠定了循序渐进的基础。每一个成熟度等级为连续改进提供一个台基。每个关键过程域由一系列稳定软件过程重要要素的目的构成。

软件组织机构处于能力成熟度各等级的特征:

CMM-LEVEL 1 (初始级) :组织一般不能提供稳定的开发环境。缺乏健全的管理实践, 管理是反应式的 (类似消防队) , 计划不适当。

CMM-LEVEL 2 (可重复级) :组织已建立管理软件项目的方针和实施这些方针的规程。软件项目的有效管理过程已制度化, 能重复在以前类似项目上的成功实践。

CMM-LEVEL 3 (已定义级) :组织的软件过程己标准化、文档化, 这些过程被集成为一个有机的整体, 称为组织的标准软件过程。组织中有专门负责软件过程的活动组。

CMM-LEVEL 4 (定量管理级) :组织对软件产品和过程都设置定量的质量目标;对所有项目都测量其生产率和质量, 收集和分析从项目定义软件过程中得到的数据:软件过程均有妥善定义的度量。

CMM-LEVEL 5 (优化级) :整个组织关注过程的不断改进, 识别出过程的弱点并预先予以加强;利用有关软件过程有效性数据, 识别出最佳技术创新, 应用到整个组织。

五、CMM主要用途及发展趋势

不同人员可从不同侧面加以运用, 如下: (1) 评估组用来识别组织中的强处和弱处; (2) 评价组用来识别选择不同承包商的风险和监督合同; (3) 评估方法开发者针对一些特定需要来开发其它基于CMM的评估方法; (4) 高级管理者用来了解制定过程改进计划所必要的活动; (5) 技术人员和过程改进组用来指导他们定义和改进软件过程。

与此同时, 从CMM的实际应用中发现, 纯粹的软件开发组织其实是不多的, 较多的主要业务是开发各种类型的系统工程产品, 其中包括软件工程和软件采办等业务。

结束语

CMM把软件开发视为一个过程, 并根据这一原则对软件开发和维护进行过程监控和研究, 以使其更加科学化、标准化, 使企业能够更好地实现商业目标。它侧重于软件过程开发的管理及软件工程能力的改进与评估, 因此CMM被用于评价软件承包商能力并帮助组织改善软件过程质量, 是目前国际上最流行、最实用的一种软件生产过程标准, 成为当今企业从事规模软件生产不可缺少的一项内容。

参考文献

[1]何新贵、王纬, 软件能力成熟度模型[M].北京:清华大学出版社

高质高效软件开发能力模型 第2篇

至今,我在Motorola网络部工作超过了5年,所在的产品线也是采用统一软件开发过程和敏捷思想(但不是SCRUM)来组织软件开发活动的,但这5年多的工作经历从未引起我象微博上对于SCRUM话题的激烈讨论这样的思考,原因之一可能是,公司的流程已经很成熟了且形成了一种文化,不论怎样的新人进入公司,都只需按照流程按步就班的工作就行了。另外,公司的开发流程并不包含象SCRUM所要求的形式化内容,使得我在工作中没有机会体会和思考各种行为的利与弊。

与周围的同事相比,我自认为自己的工作质量和效率都很突出,这归功于我所掌握的知识、工具、方法和形成的思想。这四大块内容也是将要出版的《专业嵌入式软件开发 — 全面走向高质高效编程》一书的骨架。然而,最近微博上对于SCRUM的讨论使我意识到,我的焦点更多地放在了工程师身上,而忽视了从组织的角度思考如何高质高效地从事软件开发工作。即使这样,我仍持这样一种观点:不论是怎样的开发方法,一定要最终从基层工程师身上找到着力点,因为软件产品的最终质量是他们“码”出来的。一个方法论是否真的有效,得看方法论能多大程度地帮助工程师高效地开发出高质代码,且该方法论被工程师所接受。注意,是“帮助”他们而不是“规范”他们。

对于SCRUM我还是一个门外汉(注:Motorola网络部被NSN收购后也要求使用SCRUM,希望到时能写些文章与大家分享所得与体会),但这并不妨碍我思考从事高质高效软件开发我们到底需要什么。

SCRUM是银弹吗?绝对不是,因为她只是一个很粗的开发流程框架,仍无法消除开发活动中的人为因素(但可以减缓)。如果SCRUM不是银弹,那将SCRUM引入到团队中时我们应如何本地化呢?

模型

纵观软件行业开发方法论的发展,大多关注于开发过程。这一点从瀑布模型、统一软件开发过程、CMMI和现在的敏捷软件开发方法无一例外。开发工程化的思想深深地影响着软件行业对开发方法论的探讨,但业内也以意识到了软件开发不只是工程,它更包含个体心理、行为等难以工程化的内容。在这里,我想抛砖引玉地提出自己的一个能力模型,来帮助思考我们到底需要什么、走向哪,

该模型存在抽象与具体两大层次。让我们先从抽象模型开始,如图1所示。

图1

从面象对象的角度来看,抽象模型是基类,而具体模型则是其派生类。高质高效的软件开发工作需要涉及多个部门的各种岗位,各岗位的能力模型应在抽象模型的基础上进行具体化。为了便于理解,图2所示了我所认为的软件开发工程师的能力模型。

图2

意义

引入这一能力模型的意义在于:

1) 让我始终牢记实现高质高效的软件开发是所有活动的根本目的。

2) 帮助我们在探索软件开发方法论的道路上时刻关注我们需要什么,并以此了解软件开发方法论解决了什么问题,哪些问题又是开发方法论不能解决的。

3)为人力资源管理提供一定的框架。引导组织思考:我们需要招聘什么样的人?人员培养的着力点是什么?

结束语

这个模型是我花了不到一天的时间想出来的,所以一定很粗糙。个人认为,这个模型不应只是一种文字游戏的玩法,更应包含一定的实证研究。比如,模型中的关键要素又是什么?各要素的比重是多少?但无论如何,我希望这样的模型不会让我们在诸如SCRUM这样的探讨中迷失软件开发活动的本原,这是我写这篇文章的根本出发点。

最后,欢迎读者提出自己的见解和参与讨论。我的微博是@杭州李云(新浪)或@杭州李云(51CTO)。

Q&A

1. 软件设计是质量之本,为什么在软件开发工程师模型中没有体现?

答:设计能力应体现在工程师的抽象与概括能力上,这两者在模型中已涵盖。

2. 在软件开发工程师模型中为什么没有体现建模的重要性?

软件工程过程模型和测试分析 第3篇

1 软件工程过程模型的种类

随着软件技术的不断发展, 基于软件开发的工程过程模型种类在不断地增多, 其主要由:一是瀑布模型。瀑布模型是目前最为基本的一种模型, 其测试程序主要是对软件开发系统进行需求分析, 然后根据需求分析进行相应的设计, 并且进行编码, 最后在测试软件性能。其中每个环节的测试都有着严格的规定, 其目的是就是要保证设计出来的产物要符合生产设计标准, 及时发现软件系统所存在的问题, 但是瀑布模型在实践中存在一些问题, 比如对于小型项目则会因为前期的设计需要将设计人员与开发人员共同投入到该项目中, 结果导致出现人力资源闲置的问题, 因此在选择该模型时要根据实际情况而定;二是螺旋模型。螺旋模型是依托瀑布模型而产生的, 选择螺旋模型能够降低项目的风险, 因为螺旋模型的测试具有阶段性, 也就是在结束某一阶段后, 要进行测试, 如果测试的结果不合格那么该系统就会终止项目;三是RUP模型。该模型主要包括增量过程和迭代过程。该模型的优势是每一次迭代过程都是对前一次阶段的优化, 其最大的优势就是保证了软件产品开发过程的质量;四是原型法。原型法一般采取生命周期形式, 它是集合了上述几种模型的所有特点的基础上而形成的, 其主要优点是能够快速的获悉用户的需求, 进而使得开发的软件能够满足用户的要求。

2 目前软件工程模型测试存在的问题

2.1 测试活动比较晚

传统的软件测试过程模型主要是对软件产品设计完成以后而进行的测试方案, 这样的测试模型会给软件工程测试带来一定的难度, 尤其是不能及时的对软件工程过程中所存在的缺陷进行及时的更改, 结果造成测试结果的问题更改难度比较大。

2.2 测试计划对软件开发的全过程覆盖不全

软件工程过程的测试主要分为静态测试和动态测试, 其中很多模型的测试是人为的将软件工程过程开发划分为不同阶段, 并且不能够迭代, 这样即使在对软件的某个阶段进行测试并发现问题时, 因为其不能及时的进行处理, 结果导致其修复的成本比较大, 进而这些缺点也不能根据软件开发的进度进行调整, 结果给软件的质量造成巨大的影响。

2.3 可操作性差

软件工程过程的测试模型要具备加强的可操作性, 只有这样才能保证及时的对软件进行测试, 但是分析当前测试模型发现, 这些模型基本上都存在可操作性差的问题, 使得在实践中不能有效的对软件进行测试。

基于目前软件工程过程测试模型所存在的问题, 需要我们设计一些新的软件工程测试模型, 新的软件工程过程测试模型要集合所有模型的有点, 并且消除现有模型所存在的问题, 使得新设计的模型更加具有实用性。

3 新软件工程过程测试模型的实践研究

为了切实克服原有软件工程过程测试模型多存在的缺陷, 本文提出了构建新型的软件工程过程测试模型, 新的模型构建原则是:采取测试与开发并重的测试模式、使软件设计中的错误尽早的暴漏出来以及简单实用原则。新的软件工程测试模型的结构如图1所示。

3.1 新模型各组件之间的关系以及执行过程的描述

针对上述模型在测试过程中所存在的问题, 我们要对软件在需求设计分析阶段就要根据软件所形成的的软件需求文档进行软件系统的测试方案进行评审, 通过评审及时地发现问题, 进而及时的进行更改, 当然在更改的过程中, 软件的过程开发仍然不间断。然后在软件开发进入到概要设计阶段后, 测试人员要停止设计系统测试用例及方案, 并且经过对测试方案进行评审, 评审通过后, 进入代码编写阶段后要对每个模块进行单元测试, 并且进行测试, 对测试过程中发现存在问题的要进行修改, 随着单元模块测试的完成, 集成好的模块就可以进行测试阶段, 然后在完成系统的整体测试。

3.2 各种测试的实施

根据新模型测试的结构, 对软件工程过程测试模型的实施主要分为:一是单元测试的实施。单元测试的主要对象就是软件中的最小单元, 其主要是对模块的独立执行路径、接口以及局部数据结构等进行测试。新的软件工程过程测试模型突破了传统的在软件开发所有阶段后才进行单元测试的模式, 将单元测试的设计和执行置前, 也就是在设计阶段的后期就开始进行单元测试, 在软件编码的进行中就已经完成了模块的单元测试, 进而使得软件工程测试中存在的问题提前得以解决, 有效的保证了软件工程开发的进度;二是集成测试的实施。集成测试就是讲已经测试好的各个模块进行组装后在进行的一个系统测试。集成测试的主要任务就是测试有不同模块之间的接口是否存在问题。集成测试的开始时间要比传统的测试时间要早, 也就是在概要设计阶段就开始进行集成测试, 具体的测试过程见图2;三是系统测试的实施。系统的测试主要是对软件在特殊环境中的运行效果的测试分析, 也是检验软件设计质量的最为重要的环节, 因为任何软件的设计与开发都需要应用到实践中去。系统测试是对于软件应用所有有关的因素进行整体的测试, 其功能主要是评估系统环境下软件的性能, 并且发现和捕捉软件中潜在的错误。测试的主要内容包括安全测试、恢复测试、强度测试以及性能测试。同样本文所构建的新模型对系统测试的时间也大大提前了, 即在编码阶段完成后, 就开始进行测试, 同时新模型还采取了开发与测试同步进行的方式, 使得开发的周期也大大缩短了。

4 改进后软件工程过程测试模型的应用实践

为了验证改进后的软件工程过程测试模型的性能, 里哟没喝过该模型对移动通信系统中的账务管理系统项目进行了对比测试, 移动通信财务管理系统主要分为记账、结算、营业以及账务管理等系统, 它们之间通过接口实现数据的流通, 因此加强对软件系统的测试具有重要的作用。根据应用系统的功能本软件模型主要分为财务管理和资源管理两个模块, 本着软件模块之间的高聚合、低耦合的原则, 本系统的结构尽量减少冗余的模块间的依赖关系。

4.1 单元测试

首先对各个单元进行结构测试。被测单元基本上含有一个或者多个相同的数据类型参数, 具体的数据参数编码是:取各个数据的上届和下届, 采取二进制对参数进行编码, 然后在把各个参数编码进行整体构建;然后在对集成系统进行测试。对财务优惠政策的测试方法是通过集成测试函数对定义的对数据库进行的插入、删除、增加、减少等操作方法。中间阶段测试则是将数据中的各条数据记录与数据中现存方案标识的阈值对比, 实现对页面输入方案的定义是否在系统进行重点测试。

4.2 系统测试

系统测试的主要功能是测试软件系统与计算机系统之间的协调工作, 系统测试的主要目的就是要保证其安全性, 并且能够在整个运行过程中, 分析相应的文档和测试文档, 以此实现错误纠正的目的。本文在系统测试中, 编写了JAVA语言代码, 以此实现在整个测试过程的正常结束。

通过一些系列的测试检验, 新的软件工程测试模型相比其它模型能够及时测试出更多的软件错误, 进而大大提高了软件运行的质量, 提高了软件的工作效率。

5 结束语

总之, 本文在对当前软件工程过程测试模型的种类分析的基础上, 对当前软件工程测试模型所存在的问题进行全面分析后提出了新的软件测试模型, 该模型能够更早的、更多的发现软件的错误, 从而使得软件开发的时间大大缩短, 并且节省了软件开发的费用、提高了软件开发的质量。

摘要:软件已经成为人们日常生活工作中的重要工具, 软件工程过程与软件的开发与应用具有重要的联系, 因此加强对软件工程过程模型的研究与测试对提高软件工程开发质量具有重要的作用。本文主要是通过对软件工程过程模型种类的阐述, 并且对这些模型的测试活动进行分析, 以此为软件工程开发活动提出一些有效的改进措施。

关键词:软件工程,模型,测试

参考文献

[1]胡雪婧.软件工程过程模型及其选择[J].计算机光盘软件与应用, 2014 (10) .

[2]乌萌, 李娜, 王成宾, 管斌.测绘软件工程过程模型研究[J].测绘通报, 2013 (10) .

[3]樊学东.软件工程过程模型及其选择[J].西安外事学院学报, 2008 (12) .

基于模型的软件测试技术探析论文 第4篇

关键词:软件产业;模型;测试流程

软件产业在国家信息化,工业化进程中发挥越来越重要的作用,是推动我国经济社会发展的基础性、战略性和先导性产业。保障软件质量,维护国家和社会信息安全已是国家必须解决的重点问题。进行软件测试是保证软件质量的关键阶段,是保证软件生存期的重要步骤。软件测试,即在软件正式投入运行前,对软件需求分析、设计规格说明和编码进行最终复审的活动。其目的是为了检验软件系统是否满足需求并针对发现的问题进行改进。目前,我国软件质量测试研究中,对软件质量测评模型与测试数据自动生成方法的研究,已经成软件工程领域的研究热点。基于模型的软件测试方式是软件编码阶段的主要测试方法,通过故障排除法,检测软件质量,具有运行速度快,效率高、检测性能佳等特点。但是也存在误报、漏报和故障机理等程序问题。笔者通过分析国内外软件质量相关技术现状,对基于模型的软件测试技术特点和存在的主要问题进行了分析,阐述了基于模型的软件测试流程。国内外软件质量相关技术现状

近几年,国家对软件安全问题越来越重视,不少高校和国家研究机构从事软件测试研究,通过借鉴国外先进理论和引进技术,结合我国软件质量问题,基于模型的软件测试技术得到了快速发展并应用到实际测试中。但是还是远远落后于国外软件测试技术,一方面,在欧美发达国家,软件测试工作是一个非常独立的职业,是软件质量控制必不可少的环节;在我国,很多软件企业软件测试工作只停留在单元测试,功能测试等环节,甚至根本不进行质量测试,专业的测试工作人员所占比例小;另一方面,我国软件产业质量较低,软件测试标准化、规范化操作尚未形成,而软件测试的通用化、网络化和智能化水平与国外相比,更是相差甚远。模型的软件测试技术特点

2.1 软件测试评价一体化

基于模型的软件测试技术根据被测试应用程序的分析设计模型,自动生成测试模型、产生测试用例和进行测试结果评价。

2.2 软件测试自动化水平及测试效率高

基于模型的软件测试在测试过程中,首先提高了软件测试效率,减少了测试人员的工作量;其次在软件成本降低的同时,软件产品质量提高了;最后,可以随时生成各种统计数据,提高高层监控整个软件测试过程的能力。

2.3 有效解决了测试失效辨识问题

基于模型的软件测试技术是对其他软件测试技术的有效补充,往往能发现其他测试技术难以发现的故障,尤其是对逻辑复杂故障测试效果好,保障了软件质量。模型的软件测试存在的主要问题

模型的软件测试工作是一项具体且全面的工作过程。首先,工作人员方面,不仅需要测试人员具备一定的理论基础,还要掌握相关工具使用方法。其次,在实际应用过程中,我们发现基于模型的软件测试技术存在不少软件质量问题,尚不能取代已有的其他测试技术,还需从事此行业的工作人员进一步研究和实践,更好的补充其他测试技术不足之处。以下简述了存在的几个主要问题并进行了简要分析。

3.1 误报问题

误报问题是系统没有发生故障而报警,误报信息是模型的软件测试技术普遍存在的问题。这是由于一些故障的发生和确定是在动态的信息执行中形成的,而基于模型的软件测试技术大多是静态分析技术,误报问题在静态分析的测试工具工作中是不可避免的。以下以OCL在建模的进程调度系统中的静态模型为例,见图1。图1 静态模型 上图是对系统的静态描述,虽然可以形成所需模型,但是显然对该系统的描述还是不精确的。我们知道,处在就绪状态的进程和等待进入就绪状态的进程集合之间是不相交的,而系统中始终只能有一个处于活动状态的进程,活动进程与前两个进程也不会发生集合。这样,静态图的生成并不是准确的,误报问题由此产生。现在不少高校和研究所将动态测试与静态测试进行互配测试,以期解决测试中的误报问题。

3.2 漏报问题

即时通讯软件发展模型的实证研究 第5篇

摘要:即时通讯到目前为止仍是网络上最为流行的通信方式。本文通过从市场环境的变化,用户需求的改变以及技术的进步等方面对即时通讯软件发展路径进行分析研究;利用关键因素分析法建立即时通讯软件发展模型;根据不同因素的变化对即时通讯软件的影响提出相应的对策。

关键词:即时通讯;发展模型

随着近年来IM软件在我国的快速发展,我国使用IM即时通讯软件的人数俱增,同时即时通讯软件的应用服务也越来越广泛,逐步为人们所接受并广泛应用,如随时发布状态,聊天,视频等,这些功能有着快速、有效的优点,有取代电子邮件和固定电话之势,成为许多Internet用户最喜爱的互联网应用服务之一。

IM整体市场发展总体分为三个阶段:PC端时代、移动端时代、云时代。在1999年时,迎来了即时通讯工具PC端时代,满足了用户的基本需求,用户是用处被动的接受地位,此时的运营商是封闭性-垄断的;2003年时,为了满足用户多样化需求,用户一改被动单方接受到了自发,而运营商也变为了半封闭性的寡头垄断;2014年,到了如今的云时代,为了满足用户个性化需求,用户也开始创造,开启了开放性的百花齐放的时代。

1.IM软件发展路径研究

1.1用户需求进步

(1)生活需求:最早用户只需相互传递文字信息,但随着经济的发展和用户本身日常活动的日渐丰富,开始需要图片信息和相关动态的即时传输和分享。

(2)工作需求:最初个人和企业更多的是寻求与同一工作团队和同事之间的交流和沟通,但随着经济的发展和跨国集团的快速发展,异地团队管理的需求等出现。

1.2技术进步

(1)互联网技术出现和发展:1999年QQ作为中国第一代即时通讯软件的出现,给人们的生活带来了巨大便利和影响。

(2)智能手机技术的出现及其发展:当智能机出现之后,手机可以通过下载安装新的应用,实现新功能的扩展,并使得运营商能够在已经售出的手机上部署新的业务。这使得2003年之后移动端应用的即时通讯软件如QQ、阿里旺旺等手机版APP应运而生,进一步发展。而现今微信的高速发展更是搭了该技术不断发展的顺风车。

(3)云计算技术的出现及其发展:云计算可以说算是继个人电脑、互联网之后的又一革命性技术,这种技术将在未来数年内统领IT行业的发展方向,并改变我们使用信息技术的方式。由此可见,应用于云端的即时通讯软件将影响现有的即时通讯软件及其发展,因此应用于云端的IM软件出现和发展信息时代的大势所趋

2.IM软件发展模型

2.1关键成功因素法

2.2 IM软件用户需求模型

2.3问卷调查及数据分析

2.3.1 问卷调查表

请根据您对即时通讯软件的实际使用情况填写,其中非常不同意选1,一般选3,非常同意选5.

1 2 3 4 5

PEOU1 学习使用即时通讯软件是容易的

PEOU2 记住怎样使用即时通讯软件是容易的

PEOU3 与及时通讯软件的交互是清楚明白并且易懂的

PEOU4 熟练使用即时通讯软件是容易的

PU1 使用即时通讯软件更方便与人进行交流

PU2 使用即时通讯软件与人的交流变得更有效

PU3 使用即时通讯软件能够接触到更多的信息

PU4 使用即时通讯软件能够接触到即时、最新的消息

PU5 使用即时通讯软件能够更快地完成工作(或学习)

PU6 使用即时通讯软件能够改进工作(或学习)业绩

PU7 使用即时通讯软件能够改善工作(或学习)质量

PU8 使用即时通讯软件能够提高工作(或学习)效率

A1 使用即时通讯软件是一个好的主意

A2 使用即时通讯软件是明智的

A3喜欢使用即时通讯软件

A4 使用即时通讯软件令人感到愉快

A5使用即时通讯软件是有价值的

BI1 将会经常使用即时通讯软件

BI2 将会积极推荐其他人使用即时通讯软件

PP1使用即时通讯软件是有趣的

PP2使用即时通讯软件是令人兴奋的

PP3 使用即时通讯软件能够激发想象力

P1 相信即时通讯软件使用的技术能够保护我的隐私

P2 对即时通讯软件的隐私问题并不担心

P3 隐私问题对使用即时通讯软件没有影响

PI1即时通讯软件的创新点很特别

PI2即时通讯软件的创新之处很有用

PI3对即时通讯软件的创新之处很有兴趣

PI4即时通讯软件的创新之处很重要

2.3.2样本基本特征

调查共计发放150份问卷,由于是即时回收,回收率为100%。经过检查,对不合格的问卷进行剔除。问卷剔除的准则是“问卷回答缺项太多”和“所有答案均一样”。剔除无效问卷后,得到有效问卷135份,有效问卷率90%,详细情况见表1所示。

2.3.3模型假设检验

使用SPSS进行信度分析和效度分析,用Amos软件进行模型分析。具体地假设检验结果见表2。结果显示,使用的行为动机受到创新性、态度、隐私三个变量的共同影响,与所提出的假设(H5和H9)相反,感知趣味性和感知有用性对使用的行为动机没有显著的影响。另外,感知创新性、趣味性、易用性通过态度变量对使用的行为动机有着间接的影响。

3.IM软件发展对策

3.1企业角度

就企业而言,现有阶段的即时通讯软件存在以下弊端:大多数企业在最初引进即时通讯软件都需要对其现有内部信息系统进行二次开发以实现二者的兼容;IM软件的运行会占用企业内部网的一部分流量,在网络繁忙期或遇到其他特殊情况时可能会导致信息无法正常传递;IM软件正在迅速成为计算机病毒和其他有害程序传播的途径;员工使用IM工具在上班时间闲聊,降低工作效率;信息安全仍受威胁;现有的IM软件各自为政,不同厂商开发的软件之间难互通,影响企业与客户间的交流;IM软件的发展趋势——统一通信。

我们提出的相应对策如下:

(1)提高即时通讯软件的有用性,将即时通讯软件打造成能融合文本、语音、视频,以及短信、网络传真、视频会议等各种新兴通讯手段的一种既简洁又融合的通讯平台,并且提供第三方API接口实现与其他软件终端的运行和对接,企业若要最大程度地将企业资源转化为商业价值,只需通过简单的操作便能迅速部署。

(2)提高即时通讯软件的易用性,企业即时通讯是一种全新的运营模式,其满足了企业内外协作、架构管理及管控方面的需求,账户由企业管理员同一申请,并按照企业的通讯架构分层级清晰显明,适合任何规模的企业操作。若有员工离职其账号仍由企业收回,从而避免了人脉流失问题。在满足企业内部管理的同时,应降低IM软件的占用内存,避免在网络繁忙期或遇到其他特殊情况时信息传递障碍。

(3)提高即时通讯软件的趣味性,适当增加一些娱乐方面的功能,就可以在不影响员工正常工作的同时缓解员工工作的疲劳。

(4)提高即时通讯软件的隐私性,企业应该为即时通讯软件设置类似防火墙等方面的功能来加强对外界有害程序的抵挡,

(5)提高即时通讯软件的创新性,每个即时通讯软件都要有其自身的创新点,企业即时通讯软件可以开发其特有的功能,提高办事效率。

3.2个人角度

个人用户对于IM软件的功能相对于企业来说是较低的,但我们仍从有用性、易用性、趣味性、隐私性、创新性这五个方面提出相应的对策:

(1)有用性:即时通讯软件对于个人用户而言最基本的功能就是进行人与人之间的沟通交流,因此我们应该进一步加强即时通讯软件的可互动性。

(2)易用性:个人用户的即时通讯软件的易用性主要包括随时随地和不同设备随时查看。

(3)趣味性:IM软件不仅仅是一个交流沟通的软件,它同时也是我们日常生活中消遣娱乐的重要工具,因此增加即时通讯软件趣味方面的功能是十分必要的。

(4)隐私性:除了常规的隐私安全,在IM软件中还涉及用户隐私的另一个问题就是,用户不想让别人知道自己加入了哪些群。

(5)创新性:企业即时通讯软件需要创新,个人用户的IM软件也不例外,创新是一个即时通讯软件能够继续发展的基本动力。

4 总结

本文以IM即时通讯软件的发展为研究对象,以ATM为理论基础,采用问卷调查法,对影响即时通讯使用的用户需求进行实证分析,以此为基础可以研究我国即时通讯软件的发展路径及发展情况,发现问题并提出相应对策,最终的研究结果可以为即时通讯软件的设计人员提供参考。

参考文献:

[1]张守凯,李鑫霞.浅谈中国即时通讯的发展[J].广西大学学报,2010(32):P45-46.

[2]张文茂,张淼,毕军,等.互联网即时消息的研究现状与展望[J].小型微型计算机系统,2007,28(7):P1162-1168.

[3]叶佩珍.国内外IM咨询服务发展现状及趋势分析[J].现代情报,2010,30(7):P83-92.

[4]单文盛.浅谈即时通讯软件业的现状和发展[J].中国高新技术企业,2009(11):P94.

[5]徐春雨,田玥.基于C/S与B/S架构的IM软件的研究与分析[J].黑龙江科技信息,2011(14):P67.

[6] 李锐.浅谈即时通讯工具现状及其发展趋势[J].中国科技信息,2013(16):P86-86.

[7] 霍艳艳,沈靖瑞.即时通信软件的发展及现状研究[J].河南科技,2014(1):P8.

[8]鲁耀斌,徐红梅.即时通讯服务使用行为的影响因素实证研究[J].管理学报,2006(5):P614-621.

[9] 刘伟.浅谈即时通讯软件与电子商务的发展[J].通讯世界,2013(13):P20-22.

[10] 孙涛.现代网络即时通讯软件的发展分析[J].电子制作,2012(10).

[11] 曾文思.智能手机应用软件的感知创新性研究[J].媒体时代,2015(12).

[12] 刘剑丽,陈金鹰,朱军.IM即时通信技术特点及发展趋势[J].通信与信息技术,2012(3):P73-74.

[13] 曹金燕,曹克亮.新媒体即时通讯工具比较研究--以微博、微信为例[J].求知导刊,2015(11):P31-32.

[14] 郭思薇.IM即时通信工具安全管理技术研究与实现[D].北京邮电大学,2012.

[15] 韦雷.浅析即时通讯软件业的现状和发展[J].科学与财富,2014(8):P409-409.

[16] 张珍珍.浅析企业即时通讯工具的弊端及其应对策略[J].知识经济,2010(4):P94-94.

软件过程改进模型 第6篇

现实意义[1,2]:

所有投资活动都会有风险,但比起传统的项目如建筑项目来说,IT项目有更高的风险。

理论意义:

软件工程学科是建立在实践基础上的,不可避免地带有一定的主观性。软件项目的不可视性。

2 国内外研究现状

我国研究现状:

在这个领域的研究我国还刚刚起步。代表研究前沿的定期刊物此方面的报道也不多。

国外研究现状:

软件项目风险管理的研究始于1989年,美国在从事研究的人数上和取得成果数量在世界上都是遥遥领先的。

理论方面:

普遍认为Boehm的《软件风险管理》[3]奠定了该领域的理论基础。

实践方面:

各软件企业都有自己的一套风险管理的体制。

3 当前要解决的主要问题

在我国目前情况看来,主要问题就是实践不足,理论不够深入。

4 风险管理方法

1)定性风险管理[4]:

一种风险管理方法,在该方法中参与者向资产、风险、控制措施和影响配分一个相对价值。

2)定量风险管理:

一种风险管理方法,在该方法中参与者尝试向资产、风险、控制措施和影响分配一个主观性的数字价值(例如货币值)。

5 风险分析模型

FTA的概念与方法[4]

故障树是指在项目风险定性分析过程中通过对可能造成项目失败的各种因素进行分析,画出逻辑框图,从而确定可能导致项目失败的原因的各种可能组合方式的一种树状结构图。

故障树引入软件项目风险分析的步骤可如下进行:

风险识别———选择顶事件和建立故障树;

底事件的风险估计———构建底事件风险的概率模型;

项目的风险评价———顶事件的风险度计算。

6 本文所做的工作

1)本文的工作就是在前人理论的基础上,改进FTA模型,把风险发生时项目的损失考虑进来,指出对项目影响最大的风险即为对风险发生时引起项目损失最大的那个风险因素,在本文中用风险重要度衡量,而原模型得出的风险只是风险率最大的那个风险。

具体做法为:引用《安全管理实践》的一段话。

2)要保护企业的信息系统安全,首先要知道企业中有哪些可识别的资产,哪些是最关键的、需要重点防护的,哪些是次要一些的但是也需要保护的,哪些是不需要专门关注的。从防御的角度来说,对于外来的威胁有时很难准确把握,但对“自己”,应该做到心中有数。当企业意识到资产的价值及可能面临的威胁时,才可以在保护这些资产的预算上做出明智的决定。如果信息没有任何价值,那么就没有意义保护这些无庸的信息。所以一个很重要的问题是企业应当评估如果不保护此信息的话损失有多大。

3)我们在软件项目中也应该评估如果不关注某一基本事件的话项目损失有多严重。

原模型需要改进的地方

在风险量化分析时引进一个公式

其中RS是风险重要度,P是基本事件的风险率,L是对项目造成的损失。

例证1

4)后面介绍的例子,主要演示原模型中对基本事件发生概率的处理的可取之处:采用集值统计原理对数据进行加工。

项目数据[5]。如表1所示。

计算公式。计算基本事件风险率的公式[6,7,8,9]:

计算结果如下:

1)基本事件风险率为:

2)顶事件风险率为:0.0235

3)基本事件的相对概率重要度分别为:

改进FTA对结果的操作

1)如果基本事件对项目造成的损失一样,则结果与原模型一致。

2)原项目中没有提供事件对项目损失的影响,在此做一假设,它们造成项目的损失分别为2,2,2,2,1,2,则第五个事件就不是对项目造成损失最大的事件。

3)下面一个例子将说明改进FTA的合理之处。

例证2

《安全管理实践》中一个定量分析的例子[10]如表2所示。

计算公式

单一预期损失公式[10]:

SLE=资产价值×暴露系数

年预期损失公式[10]:

ALE=SLE×年发生概率

结果分析

1)顶事件风险率为:0.98125

2)基本事件相对概率重要度分别为:

3)0.25,0.75,0.5,0.8

4)由原模型得出第四个基本事件为影响最大的事件,但在本例中年预期损失最大的是第一个基本事件。

5)由公式RS=P×L得到结果与例子中一致。

6)其中P为年发生概率,L为SLE。

7)这个例子展示改进FTA的合理之处。即考虑对项目的损失。

7 总结

1)改进FTA模型继承了原模型的优点。

2)对原模型进行改进,并用实例证明可行。

3)在原模型定性与定量相结合基础上使定量分析更进一步。

摘要:该文首先回顾和分析了国内外研究现状,指出了当前要解决的理论和实践问题,对风险管理的概念及过程进行阐述,并对风险识别、风险估计、风险评价的具体过程进行了介绍。然后对现有的风险分析模型——FTA模型进行改进,把风险发生时对项目的损失考虑进来,指出对项目影响最大的风险即为风险发生时引起项目损失最大的那个风险因素。在本文中用风险重要度衡量,而原模型得出的风险只是风险率最大的那个风险。再结合现有FTA模型中降低风险时成本最小的考虑,使原模型更加适合实际软件项目的风险分析,既能找出对项目损失影响最大的那个风险因素,也能降低所需要成本最少的那个风险因素。此模型既发挥了原模型定性分析与估算的优势,又展现了数学逻辑严密的定量分析的长处。

关键词:风险分析,FTA,风险重要度,定性,定量

参考文献

[1]Wilcocks,L.Editor.Information Management:The evaluation of Information Systems Investments[M].Chapman&Hall,1994:120-140.

[2]左美云,邝孔武.信息系统的开发与管理教程[M].北京:清华大学出版社,2001:10-15.

[3]Boehm B W.Software Risk Management[M].Washington D.C:IEEE Computer Society Press,1989.

[4]邱菀华.现代项目风险管理方法与实践[M].北京:科学出版社,2003.

[5]张健,韩茂祥.项目风险分析过程、方法及模型研究[D].南京:南京理工大学,2004.

[6]高新波.模糊聚类分析及其应用[M].西安:西安电子科技大学出版社,2004.

[7]杨伦标,高英仪.模糊数学[M].广州:华南理工大学出版社,1992.

[8]Kerre E E,黄崇福,阮达.模糊集理论与近似推理[M].武汉:武汉大学出版社,2004.

[9]胡宝清.模糊理论基础[M].武汉:武汉大学出版,2004.

软件过程改进模型 第7篇

GM( 1,1 ) 模型的计算量小、建模所需数据少、无需假定数据服从某种特定的分布规律,因此被广泛用于解决“小样本、贫信息、不确定”的预测问题。为了提高传统GM( 1,1) 模型的拟合精度、拓展其适应范围,研究者们提出了诸多改进方案,包括原始序列变换、背景值重构、模型参数优化、预测公式改进、GM( 1,1) 与神经网络混合模型[1,2,3,4]等。实践表明, 这些改进方案都能在一定条件下提高模型的拟合精度或扩展其适应性。

但是,拟合精度较高的GM( 1,1) 模型,其外推预测效果未必很好,这是各种改进方案都忽略的问题。为此,笔者在文献[5]中基于数据融合思想提出了一种多次建模进行预测的方法。本文则在此基础上,引入量子行为粒子群优化( Quantum-behaved Particle Swarm Optimization,简称QPSO ) 算法进行GM( 1,1) 模型参数寻优,并结合原始序列变换与数据融合算法,提出了一种QDGM( 1,1) 预测模型,最后在软件故障预测中检验了其有效性。

1 传统 GM( 1,1) 模型

设有非负序列X( 0)= { x( 0)( k) ,k = 1,2,…,n} , 其一阶累加生成序列为X( 1)= { x( 1)( k) ,k = 1, 2,…,n }

其中,

其中,

GM( 1,1) 的灰微分方程模型( 定义型) 为:

式( 3) 中,a为发展系数、b为灰作用量,若以 ^a = ( a,b)T为待辨识参数向量,且

则以最小二乘法求解参数向量可得:

将所得参数代入白化方程可得其离散时间响应序列:

最后进行累减还原即得原始序列的拟合值:

2 GM( 1,1) 模型的改进

2. 1 原始序列预处理

灰色模型的理论基础是“原始序列的一次累加生成序列具有准指数规律”,这要求原始序列为准光滑序列,且其级比值位于特定的区间内。

2. 1. 1 准光滑序列的条件

序列X( 0)= { x( 0)( k) ,k = 1,2,…,n} 为光滑离散序列的充要条件是:

ρ( k) 即为光滑比,为k的递减函数,其递减程度越大,序列X( 0)的光滑性越好。若其满足下列条件,则X( 0)为准光滑序列。

2. 1. 2 级比检验

对于序列X( 0)= { x( 0)( k) ,k = 1,2,…,n} ,其级比为

若则X( 0)可用于直接建立GM( 1,1) 模型。

2. 1. 3 原始序列的幂函数变换

已经提出的原始序列预处理方法有对数变换、幂函数变换、对数 - 幂函数变换及三角函数变换等。其中,幂函数变换既可改善原始序列的光滑性,又能使其级比值趋近于可直接建模范围[6]。对于光滑性较差、高增长、有一定跳跃性的数据序列,其效果尤为显著[4]。

研究表明,原始序列的改善程度随着幂次的增大而增加[1],但实际上其增加程度非常有限,因此本文仅对原始序列进行1 /2次方变换。

2. 2 参数求解方法的改进

传统GM( 1,1) 模型采用最小二乘法求解参数a和b,其中存在两个问题: 其一,参数辨识以残差平方和最小为准则,而拟合精度评价却以平均相对误差最小为标准,二者不是统一的[3]; 其二,最小二乘法求解参数以背景值为基础,而按传统公式构造的背景值并不具有广泛的代表性。

为此,以平均相对误差最小为指标,采用QPSO算法代替最小二乘法对GM( 1,1) 模型的参数进行优化求解。这样既可避免选取背景值,又能达到参数辨识与拟合精度评价标准的统一。

2. 2. 1 QPSO 算法描述

在N维搜索空间中,由M个代表潜在问题解的粒子组成群体X = { x1,x2,…,xM} ,在t时刻,第i个粒子位置为Xi( t) =[xi,1( t) ,xi,2( t) ,…,xi,N( t) ], i = 1,2,…,m,粒子没有速度向量。个体最好位置表示为Pi( t) =[pi,1( t) ,pi,2( t) ,…,pi,N( t) ],群体的全局最好位置为G( t) =[g1( t) ,g2( t) ,…,gN( t) ], 且G( t) = Pg( t) ,其中g为全局最好位置粒子的下标,g∈{ 1,2,…,M} 。

对于最小化问题,目标函数值越小,对应适应度值越好。粒子i的个体最好位置由下式确定:

群体的全局最好位置由式( 10) 、式( 11) 确定:

QPSO算法的粒子位置更新方程为:

式( 12) ~ ( 14) 中: t为当前迭代次数; φj( t) 和ui,j( t) 为[0,1]区间随机数; C( t) 为所有粒子个体的平均最好位置; β称为扩张 - 收缩因子,其取值对群体收敛有直接关系[7]。研究表明,采用β在[1. 0, 0. 5]区间随迭代次数而线性递减的策略,可在大多数情况下取得较好的优化结果[8]。若β0、β1分别为β的初值和终值,tmax为最大迭代次数,则β的当前值为:

2. 2. 2 用 QPSO 算法优化 GM( 1,1) 模型参数

在实际应用GM( 1,1) 模型时,应取参数| a | < 0. 5[9],则由此推 知0 < b < 0. 5x( 0)( n ) + 0. 5 x( 1)( n) 。以GM( 1,1) 模型的平均相对误差最小为QPSO算法的寻优目标,可得适应度函数为:

式( 16) 中:分别为原始序列的实际值和拟合值,n为序列的数据个数。

2. 3 GM( 1,1) 改进模型的效果验证

将2. 1与2. 2节所述的改进方法综合起来,即得GM( 1,1) 改进模型。以文献[4]中例3的数据序列验证之,并与传统GM( 1,1) 模型所得结果进行比较,如表1所示。

该序列是一个高增长序列,以式( 7) 、式( 8) 计算可知: 其光滑比的6个值中有5个不满足条件2, 级比值则全部位于可直接建模区间之外。表1的结果表明: 对于光滑性较差的高增长序列,GM( 1,1) 改进模型的拟合精度远高于传统模型。

3 QDGM( 1,1) 预测模型

在实际应用中,GM( 1,1) 模型对数据序列的拟合精度较高而预测误差较大的现象并不鲜见。对此,在上述改进GM( 1,1) 模型的基础上,采用对原始序列多次建模进行预测的策略,再结合数据融合算法,构建出一种灰色融合预测模型,可称之为QDGM( 1,1) 模型。

3. 1 多次建模预测策略

根据灰色系统理论,GM( 1,1) 最少4个数据即可建模。通常情况下,使用序列中最新的4个数据建模更有实际意义,并更易获得理想的预测结果; 但模型应该采用原始序列的完整信息,所以也不能将其它数据弃置不用。因此,采取原始序列的不同分量进行多次建模预测,再将各次预测值进行融合,从而获得更为合理的最终预测结果。多次建模预测策略描述如下:

设有数据序列X = { x( k) ,k = 1,2,…,n} ,需预测第n + 1个数据的值。则: 分别取原始序列中从n开始的前4个( xn - 3,xn - 2,xn - 1,xn,以此类推) 、前5个、…、前n个数据建立GM( 1,1) 改进模型,对第n + 1个数据进行预测,得到n - 3个预测值。

3. 2 各次预测值的融合算法

设p1,p2,…,pm为由GM( 1,1) 改进模型得到的m个预测值。定义任意两个预测值的相对距离

构造两个预测值之间的支持度函数

令其满足如下两个条件:

1rij与dij成反比关系。即两个预测值相差越大,彼此间的支持程度越小;

2rij∈( 0,1],使数据处理能够利用模糊集合理论中隶属度函数的优点,避免数据之间相互支持程度的绝对化。

于是可建立支持度矩阵

为了将p1,p2,…,pm融合为结果p,需确定每个pi的权重ωi。由信息分 享原理可 知ωi应满足应综合的总体信息,则依据概率源合并理论,要求寻找一组非负数υ1, υ2,…,υm,使得:

将式( 20) 改写为矩阵形式W = RV。其中,W、V分别为由ωi和υj组成的列向量; R为非负对称矩阵。根据非负矩阵的性质,R存在最大模特征值λ≥0,与其对应的特征向量Vλ= [υ1λ,υ2λ,…,υmλ], 其分量全为非负数。依据特征向量特征值性质可取

则m次预测值的融合结果为:

此融合算法引入了相对距离的概念定义数据间的支持度函数,充分利用数据间的冗余和互补信息, 避免了预先设定门限的问题; 应用时不要求源数据服从特定分布规律,并且异常值的存在也不会对结果产生太大影响。因此,该算法比直接求平均值法具有更强的稳健性[5]。

3. 3 QDGM( 1,1) 的建模步骤

Step 1. 在原始序列中取预测目标位置之前的4个数据,构成目标序列{ X( 0)( k) ,k = 1,2,…,4} 。

Step 2. 按式( 7 ) 、式 ( 8 ) 计算目标序列的光滑比ρ( k)和级比σ( k),据此判断其是否满足直接建模条件。若不能完全满足直接建模条件,则将目标序列进行1 /2次方变换,得到待测序列{ x( 0)( k) ,k = 1,2,…,4} 。

Step 3. 用待测序列建立GM ( 1,1 ) 模型,并根据式( 16) 构造适应度函数,用QPSO算法对模型参数a、b寻优。

Step 4. 用式( 5 ) 、式 ( 6 ) 计算待测序列的拟合值,并将其进行2次方变换得到目标序列的预测值p1。

Step 5. 依次取原始序列中预测目标位置之前的5个、6个、…、n个数据构成目标序列,重复Step 2 ~ 4的处理过程,得到预测值p2、p3、pn - 3。

Step 6. 应用式( 17) ~ ( 22) 对p1、p2、…、pn - 3进行融合运算,得到最终预测结果p。

4 用 QDGM( 1,1) 模型进行软件故障 预测

文献[10]给出了某型装备按时间间隔记录的累积故障数为{ 12,25,37,46,69,75,86,95,113, 121,33,141,169,182,201,233 } ,现以前12个数据作原始序列,预测其后4个数据。

4. 1 用 GM( 1,1) 改进模型一次性建模预测

计算原始序列的光滑比和级比可知,前者有3个值不满足条件2,后者有5个值不在可直接建模区间,可见其不是准光滑序列,不宜直接建GM( 1, 1) 模型。

建立前述GM( 1,1) 改进模型,即首先对原始序列进行1/2次方变换,再以QPSO算法对模型参数寻优, 设置其运行参数为: 粒子群规模50,迭代500次, 扩张 - 收缩因子β的线性递减区间为[1. 0,0. 5]。寻优结果为a = ( -0. 0806) 、b = 5. 2639; 而传统GM( 1, 1) 模型则求得a = ( - 0. 1310) 、b = 37. 7830。两种模型的最终拟合与预测结果如表2所示。

由表2可知,两种模型的预测效果都不理想。虽然GM( 1,1) 改进模型对原始序列的拟合精度高于传统GM( 1,1) 模型,但其预测误差却比后者更大。这个结果表明,GM( 1,1) 改进模型提高了拟合精度,但其泛化性能却并未同步提高。

4. 2 用 QDGM( 1,1) 模型进行预测

依次取第63 ~ 84天、56 ~ 84天、…、7 ~ 84天的累积故障数构成9个目标序列,建立QDGM( 1,1) 模型对第91天的故障数进行预测; 将得到的预测值加入原始序列,重复该过程,…,依次求出第98、105、112天的累积故障数。结果如表3所示。

表3的结果表明,QDGM( 1,1) 模型的预测精度显著高于传统GM( 1,1) 模型和改进GM( 1,1) 模型。其原因在于偏离较远的预测值在融合时获得的权重较小,因而对最终结果的影响也较小。

5 结束语

软件过程改进模型 第8篇

1 BP算法运用于软件缺陷预测模型的可行性研究

BP算法是一个前向传播与后向反馈相互结合的过程,前向过程用于求出当前神经网络权值情况下的输出值,利用误差行程反馈信息[3,4]。然后利用反馈信息对神经网络进行进一步的修正以获得新的求解结果。多次反复,直至前向神经网络计算的误差值能够被用户接受,这时BP神经网络处于当前最优解的情况,也就是BP神经网络完成了反馈操作。该算法流程图如图1所示。

基于BP算法的软件缺陷预测模型包含一个输入层、一个隐含层和一个输出层[5]。将软件缺陷模型的相关数据作为BP算法的学习样本,利用BP神经网络对数据进行学习,从而对未知的软件数据进行预测以获得较好的预测效果。采用MDP数据集作为实验数据,采用对比实验的方式对基于BP的软件缺陷模型的预测效果进行分析。实验表明,BP算法能够有效地对软件缺陷进行预测。但是基于BP算法的软件缺陷预测模型仍然存在易陷入局部最小值、BP网络基本参数较难确认、计算时间过长和训练结果依赖学习样本等不足。

2 基于JCUDA_BP算法的软件缺陷预测模型研究

利用JCUDA进行BP算法优化设计时,采用CPU与GPU都承担部分计算工作的协同方式,即具有较强并行性的计算交由GPU进行处理,CPU既负责管理GPU也进行部分的非并行性计算。有效地激发GPU/CPU的计算能力,从而使基于JCUDA_BP算法的软件缺陷模型具有更高的计算效率,具体实现过程如下:

(1)JCUDA_BP算法对学习样本输入阶段进行优化。假设,软件缺陷预测模型的学习样本为S,样本数为N,表示为:

JCUDA_BP算法在CPU中将学习样本划分为x个组合,则学习样本S就可以表示为:

式中,每一个s′i对应着x/N学习样本,当x/N的计算值不为整数时,分组阶段自动对该数值进行向下取整获得一个参数n表示该值。式(2)中,第i样本组的数据可以用式(3)进行表示:

当进行到S样本最后一个分组时,自动取剩余所有样本,以保证分组数据的正确与完整。紧接着,基于JCUDA_BP算法的软件缺陷模型在GPU中启动多个线程,分别计算样本集S的平均误差值,所有的样本的误差的表示为:

其中:Δej表示第j个样本组合计算完的误差值;Δe表示全部样本集计算的平均误差值。

(2)基于JCUDA_BP算法利用BP算法的反向误差对BP神经网络内的权值进行调整。调整完成后,验证误差值范围是否满足需求。如果误差仍然无法满足BP算法的准确性要求,则反复进行迭代,直至获得最佳的学习效果。结合JCUDA_BP算法的软件缺陷,预测算法利用多线程、数据分组的方式加快BP算法效果。软件缺陷预测模型是采用与BP网络相似的网络结构,利用JCUDA算法对软件缺陷预测的运行时间进行优化、模拟。CPU承担误差求解与验证的任务,同时实现GPU运行监测的工作。

基于JCUDA_BP算法对软件缺陷信息学习的学习过程如下:

①CPU、GPU内完成BP神经网络初始化;

②利用JCUDA编程技术实现BP算法在JCUDA上的学习过程;

③采用CPU存储BP算法的计算结果;

④利用CPU对GPU内数据计算的效果进行分析与监控。

BP算法采用JCUDA实现是将BP计算迭代的过程置于GPU内进行计算,利用CPU对学习过程误差进行分析,调整GPU内神经网络拓扑图内边的权值。其中BP算法的相关处理流程如图2所示。

3 基于改进BP算法的软件缺陷预测模型研究

在基于JCUDASA_BP算法的软件缺陷预测模型中,具有N个学习样本的所有输入样本集合称为Si,其中每个学习样本具有pnum个输入参数。Si中的第i个输入样本sii的信息如下:

式中,sii∈Si,j=pnum。

根据分组设定值将N个学习样本进行分组,每个小组保留n个学习样本。具有N个学习样本集合的Si如下:

其中,S′m表示第m组学习样本,m的值为N与n的比值并进行向上取整。

式中:mj表示m组分组中第i组的学习样本。当i属于前m-1组的学习样本时,学习样本组内包含n个学习样本。如果i属于第m组时,则将剩余全部的学习样本置入该学习样本组合中。

基于JCUDA_BP的软件缺陷预测模型的网络结构如图3所示[6]。

图3中输入层每一个输入节点R代表着Si学习样本的输入项sii;H表示隐含层节点;pr则代表输入层与隐含层之间的权值;同理,O表示输出层节点,即该学习样例通过软件缺陷模型计算后得到的计算结果;ph表示隐含层与输出层之间的权值。输入层与隐含层之间的权值矩阵为:

假设某一个学习样本sii作为输入项输入该网络中,则通过隐含层计算获得的结果如下:

针对输入层与隐含层的权值以及输出层与隐含层之间的权值引入小扰动,并计算期望误差值:

其中:ok表示该学习样本的输出值;oex-k表示该学习样本的预期输出值。通过引入浮动,产生期望值变化量,当变化量大于零时,根据模拟退火算法,以一个概率接收当前解,反复迭代重新计算的过程中,ρ中t的值会不断减小。为了保证t是一个有规律的下降过程,设置模拟退火的温度下降速率τ,τ的值根据实际实验的情况进行调整,以保证能够达到求解最优解,但是不陷入局部最小值的情况。t的求解公式如下:

反复求解后,获得基于JCUDASA_BP算法的软件缺陷预测结果。

基于JCUDASA_BP算法的软件缺陷预测处理流程如图4所示。首先构建一个BP网络,初始化网络中各层的权值。然后,利用模拟退火算法对权值进行调整以避免局部最优解的出现[7⁃8]。在这个过程中,利用JCUDA编程技术,将并行的处理过程加载到GPU进行处理,以获得更快的处理速度。如果计算未完成则不停止GPU中计算BP算法的线程。当线程长期无反应时,基于JCUDA_BP算法的软件缺陷预测会利用监控线程根据其他学习样本的计算结果重新设定线程计算样本的结果,以获得更快的处理效率。

4 实验分析

4.1 基于JCUDA_BP算法的软件缺陷预测模型实验分析

基于BP与基于JCUDA_BP的软件缺陷预测模型的评估实验采用MDP数据集作为实验数据,如表1所示。实验采用Eclipse作为编程环境,使用基于Java的JCUDA技术实现GPU与CPU下的编程操作。

本试验结果与分析从“基于BP的软件缺陷预测与基于JCUDA_BP算法的软件缺陷预测对比分析”和“基于不同隐含节点个数JCUDA_BP对软件缺陷预测的影响的分析”两方面入手,说明基于JCUDA_BP的软件缺陷预测算法与基于BP的软件缺陷算法的差异和JCUDA_BP可能会在实际使用中产生的问题与影响。

(1)速率改进实验结果与分析

在实验数据相同的情况下,不同数据集用JCUDA优化的软件缺陷预测模型和基于BP算法的软件缺陷预测模型进行计算,计算GPU学习过程与CPU学习过程消耗时间的差值,计算该差值与CPU计算时间求得优化率,具体结果见表2。

分析实验结果可知,针对MDP软件模块信息数据集,基于JCUDA技术改进的BP算法一定程度上能够对学习过程进行优化,获得较好的优化效果。但是,该优化过程在软件缺陷模型学习样本较多时优化效果明显;如果学习样本较少则优化效果不理想。

(2)隐含节点实验结果与分析

PC5隐含节点数与GPUCPU处理时间对照:

实验结果表明:当隐含节点个数增加时,GPU与CPU运行BP软件缺陷模拟算法的时间都会增加,但是随着隐含节点个数的增加GPU计算的时间会优于CPU计算时间,即当隐含节点个数达到一个数量级以后,GPU的优化后的BP算法效果远好于CPU下的BP算法,学习效果会得到提升。当隐含节点较少时,软件缺陷预测速度、CPU的处理时间更短。

ms

4.2 基于改进BP算法的软件缺陷预测模型实验分析

本实验使用的数据集及实验环境同第4.1节。在基于JCUDASA_BP算法的软件缺陷预测研究的实验过程中,BP算法的输入参数设置为37个,输出参数设置为1个,学习率设置为0.01,训练次数设置为10 000次,误差允许值设置为0.001。该实验主要从准确性和效率两个方面进行分析。

(1)改进算法准确性分析

改进算法准确性实验主要说明“基于JCUDASA_BP的软件缺陷预测的准确性分析的实验结果”。利用该实验结果与基于BP算法的软件缺陷预测结果进行对比,分析基于模拟退火算法改进的软件缺陷预测模型的预测效果,具体对比结果如表4所示。

%

由表4对比可知,基于JCUDASA_BP算法对于软件缺陷预测的准确性优于基于BP算法的软件缺陷预测,并且能够较好地避免局部最优解的出现。

(2)改进算法效率分析

改进算法效率实验对比分析基于BP算法的软件缺陷预测模型、基于JCUDA_BP算法的软件缺陷预测模型、基于JCUDASA_BP算法软件缺陷预测模型针对MDP软件信息数据集中软件模块信息学习过程时间的长短,其实验结果如表5所示。

分析实验结果可知:当数据集较少时,由于基于JCUDA改进的BP算法需耗费一定时间进行GPU启动,基于JCUDASA_BP算法需要消耗较多时间进行模拟退火算法计算。因此,数据集较少时,传统BP算法的软件缺陷预测模型对于软件缺陷数据的预测速率较高;当数据集较多时,利用传统BP算法对于软件缺陷信息的学习时间长于基于JCUDA技术改进的BP算法的学习时间。其主要原因是JCUDA技术对计算量进行了分解,加速了运行速度。基于JCUDASA_BP算法进行的软件缺陷预测学习过程消耗的时间较长,其主要原因是由于模拟退火算法对原始算法的影响较大,其迭代计算的过程消耗了较多的计算时间。

5 结论

本文对基于BP的软件缺陷预测模型、基于JCUDA_BP的软件缺陷预测模型和基于JCUDASA_BP的软件缺陷预测模型进行了相关研究,验证了BP算法在软件缺陷预测模型中使用的可行性。分析上述算法的不足,证明了JCUDA技术能够帮助BP算法进行处理优化,但是不能有效地解决陷入局部最小值的情况,基于改进的BP算法的软件缺陷预测模型通过结合模拟退火算法可以实现防止陷入局部最小值的情况,能够获得较好的处理效果。然而本文所提出软件缺陷预测模型算法仍未对数据做出更好的预处理,在未来的工作中,后期需要对预处理进行深入的总结,通过优化学习样本获得更高效的学习样本。

摘要:针对传统软件测试成本高及测试过程依赖于软件用例的设置等问题,设计了基于BP,JCUDA_BP和JCUDASA_BP的软件缺陷预测模型,并通过调研、实验的方式对基于改进BP算法的软件缺陷预测算法进行了相关的研究分析,探讨了JCUDA技术对于BP算法的影响,证明了模拟退火算法与JCUDA技术相结合的方式具有改进软件缺陷预测模型的可能性。

关键词:缺陷预测模型,模拟退火算法,JCUDA技术,BP算法

参考文献

[1]韩璐,荆晓远.一种新型软件缺陷预测模型研究[J].南京邮电大学学报(自然科学版),2015,35(1):95-101.

[2]尹然,丁晓明,李小亮,等.基于SA-BP神经网络的软件缺陷预测模型的研究[J].西南师范大学学报(自然科学版),2013,38(8):147-152.

[3]张丽红,王艳.基于回归神经网络自适应快速BP算法[J].计算机测量与控制,2015,12(5):480-482.

[4]侯彦东,方惠敏,杨国胜,等.一种改进的可变学习速率的BP神经网络算法[J].河南大学学报(自然科学版),2015,38(3):309-312.

[5]YIN R,DING X M,LI X L,et al.Research on software defect prediction model based on SA-BP[J].Journal of Southwest China Normal University,2013(8):120-139.

[6]FAN Xiujuan,LI Chenguo.The research in yarn quality prediction model based on an improved BP algorithm[C]//Proceedings of 2009 WRI World Congress on Computer Science and Information Engineering.US:IEEE,2009:167-172.

[7]张少迪.基于PSO-BP神经网络的短期负荷预测算法[J].现代电子技术,2013,36(12):155-158.

一种改进的NHPP软件可靠性模型 第9篇

NHPP类软件可靠性模型是最常见并且应用最广泛的软件可靠性模型,大多数NHPP类软件可靠性模型通过分析软件总故障数及故障检测率来求得软件可靠度,文献[1]通过综合分析软件运行覆盖率及测试人员努力程度来求得故障检测率,文献[2]通过分别分析软件总故障数与时间成正比及软件总故障数与期望故障数成正比建立NHPP类软件可靠性模型。在实际工程中,随着软件的运行,软件的故障将变得比较隐蔽,开发人员对故障的排除率也将变得比较困难,在排除错误的过程中,也有可能引入新的错误。本文通过综合考虑故障检测率、故障排除率、故障引入率、软件预期故障总数来建立了一种改进的NHPP软件可靠性模型,并对2组经典数据进行实例分析,通过与现有的NHPP软件可靠性模型进行比较分析,证明本文所改进的NHPP软件可靠性模型的优良性。

1 改进的NHPP软件可靠性模型

为构建改进的NHPP软件可靠性模型,需做如下假设:(1)软件实际运行环境与测试可靠性剖面完全一致;(2)到时间t时刻累计错误数C(t)服从均值函数为m(t)的泊松过程;

(3)在(t,t+Δt)时间范围内期望发现的故障数与软件剩余错误数成正比,比例为错误检测率φ(t),0<φ(t)<1;

(4)在(t,t+Δt)时间范围内,软件累计排除的错误数x(t)与在此段时间范围内期望发现的故障数m(t)成正比,比例为μ(t)-ω(t),μ(t)为错误排除率,ω(t)为错误引入率,0<ω(t)<μ(t)<1;

(5)软件预期故障数a(t)与软件初始时刻故障数β之差同软件累计排除的错误数x(t)成正比,比例为η(t),0<η(t)<1。

根据上述假设,可得如下方程:

初始条件为:

联立方程(1),(2)可得期望软件故障数为:

因为累积故障数C(t)服从均值函数为m(t)的泊松过程,故累积故障数为:

由非齐次泊松分布的性质可得软件可靠度函数为:

随着测试人员测试过程的进行,软件的错误会隐蔽的比较深,发现错误的概率会减小,伴随着错误的排除,当t→∞时,错误检测率将趋于零。故可假设错误检测率为:

式中:k为初始时刻的检测率,0<k<1;r为尺度参数,r>0。

为方便计算,在此假设软件开发人员在排除错误过程中错误排除率μ(t)及错误引入率ω(t),η(t)为常数,即:

式中0<ω<μ<1,0<η<1。

将式(6)及式(7)代入式(3)得在t时刻软件期望故障数为:

通过最小二乘法即可求得m(t)中的参数。

2 模型验证及评价

为了期望故障数m(t)更好地逼近实验数据,可通过最小误差平方和(SSE)来预估其中的参数。

式中:n为软件失效样本数量;yi为ti时刻观测到的错误数。

在0<β<∞,0<k<1,0<r<∞,0<η<1,0<ω<μ<1约束条件下,通过迭代法可求得其中的参数。

可通过MSE来度量模型的拟合效果,MSE方程如下:

由方程(11)可知,MSE越小,拟合效果越好。

为了检验改进的NHPP软件可靠性模型,本文使用文献[3]中的数据(见表1)进行实验,并与文献[2,4,5]进行对比,实验结果如图1所示。

由图1可以看出,软件测试人员在测试初期发现的故障数呈升上趋势,当到一定阶段后,因为故障隐藏的比较深,测试人员发现故障也随之减少。

本文采用以上数据与现有模型进行比较,对比表见表2。

由表2可看出,本文提出的模型拟合效度较优。

3 结语

本文提出了一种改进的NHPP软件可靠性模型并对提出的模型进行仿真实验及比较,证明了本文提出模型的优良性,在后续研究中可以更好地通过分析缺陷探测率、软件运行覆盖率、排除错误时错误引入率等特性,代入本文提出的模型中,从而达到更好的拟合效果。

参考文献

[1]李海峰,刘畅,郑军,等.考虑测试工作量与覆盖率的软件可靠性模型[J].软件学报,2013,24(4):749-760.

[2]PHARN H,ZHANG Xue-mei.NHPP software reliability and cost models with testing coverage[J].European Journal of Operational Research,2003,145(2):445-454.

[3]OHBA M.Software reliability analysis models[J].IBM Journal of Research and Development,1984,28(4):428-443.

[4]PHAM H.An imperfect-debugging fault-detection dependent-parameter software[J].International Journal of Automation and Computing,2007,4(4):325-328.

[5]HUANG Chin-yu,LIN Chu-ti.Software reliability analysis by considering fault dependency and debugging time lag[J].IEEE Transactions on Reliability,2006,55(3):436-450.

[6]侯春燕,崔刚,刘宏伟,等.基于构件的INHPP类软件可靠性增长模型的研究[J].计算机科学,2009,36(4):195-199.

[7]孙志安,裴晓黎.软件可靠性工程[M].北京:北京航空航天大学出版社,2009.

[8]ZHANG X M,TENG X L,PHAM H.Considering fault removal efficiency in software reliability assessment[J].IEEE Transactions on Systems,Man,and Cybernetics:Systems and Humans,2003,33(1):114-119.

嵌入式软件可靠性模型研究 第10篇

【关键词】嵌入式软件;可靠性模型

由于嵌入式软件自身具有诸多优势,因此在社会的各个领域得到了广泛应用,但是,如何根据嵌入式软件的基本特征,建立起可靠模型是目前研究工作的核心问题。在一些涉及国防以及国家安全的领域,例如航空航海导航软件,必须保证其安全可靠的运行,因此通过构建嵌入式软件可靠性模型来提高软件系统的稳定性是研究的重点问题。

一、软件可靠性模型概述

软件可靠性模型最初在上个世纪七十年代出现,在这个阶段,出现了很多比较具有研究意义的软件可靠性模型,对于其发展有深刻的影响。在最早的时候,软件可靠性就是指特定的软件可以准确无误地实现其基本功能,最大程度降低误差。美国的标准化研究院最初采纳“软件可靠性”的定义作为相关概念的国家标准。我国于1989年采用了这个定义,即软件可靠性指在特定的条件下,在要求的时间限度内,软件不发生失效的概率,这是概率中的一种函数,进行系统数据的输入以及使用,同时也是软件中自身存在的缺陷函数。系统的数据输入会确定能否遇到已经存在的缺陷。

二、软件可靠性模型的分类

1.根据建模对象进行分类

(1)静态模型

根据建模对象进行分类,当建模对象与运行的时间毫无关联时,这时候产生的数据以及信息,就被称为静态模型,例如软件复杂的参数。静态模型的基本特点是可以直接对软件的缺陷进行估计,而省去了进行软件测试的程序,这种模型主要应用于最初的软件开发时期。当软件可靠性设计逐步成为研究的热点,静态模型的优势也凸现出来。

(2)动态模型

建模对象是与运行时间有关联的数据以及信息,这种模型成为动态模型。例如Shooman模型和Schick-Wolverton模型。

2.根据模型假设进行分类

(1)随机过程模型

随机过程模型主要内容为马尔科夫过程模型。所谓马尔科夫过程,就是代指一个软件系统失去功效的过程,其代表模型为Jelinski-Moranda模型以及Schick-Wolverton模型。其次是非齐次泊松过程模型,通过对于时间的间隔划分,每个间隔内的数值变化即为随机变量。除了以上的两种,典型的随机过程模型还有MUSA时间改写模型,通过对于CPU时间为衡量标准,建立不同时间,并实现软件程序的可靠性以及测试的整个过程。

(2)非随机过程模型

非随机过程模型主要包括了lv模型为典型的贝叶斯雷模型,以及在特定的软件中,设置固定数值的缺陷值,并通过之间的数量关系来估测软件的缺陷范围的种子法模型,包括NELSON模型,都是属于非随机过程的模型。

三、嵌入式软件可靠性模型研究

关于嵌入式软件可靠性的研究,至今还没有专门的模型,在各个领域中应用的仍然是目前以及开发出来的模型,即选择特点最趋近于嵌入式软件的基本特征的模型。因此,在嵌入式软件可靠性模型研究中,要从以下方面展开。

1.基于假设条件的嵌入式软件可靠性模型

嵌入式软件区别于其他类型的软件最大的特征就在于测试环境以及运行环境。嵌入式软件模型的相关内容研究发展比较晚,但是由于在现实生活中的需求比较迫切,因此也逐步研究出一些可行的方法。

首先是通过环境因子来改变软件的测试环境以及运行环境,以此来最大程度提高软件可靠性评估的准确性,利用一种与环境因子联系比较密切的软件可靠性模型,将环境因子设为一个不确定的变量,由此观测在软件模型运行的各个阶段,对运行产生影响的各种因素。

除此之外,还有一种方式,通过对于加速因子的测试,来调解测试环境和运行环境之间的差异性,并将测试环境和运行环境因为各种因素而失效的具体数值记为一个有效参数,在这个方法中,需要将测试加速因子视为与时间没有关联的常数量。

第三种方式是通过移动点技术,来分段评估嵌入式软件的可靠性。这种方法在测试中,极其容易受到各种因素的影响,其中包括软件运行环境、测试的方式以及内部资源的配置等等。无论哪个因素发生变化,都会导致软件的可靠性改变。由此可见,移动点方法的核心就是通过对于数据变化的分析,来进行数据的分段整合。

2.基于智能算法的嵌入式软件可靠性模型

经上文叙述,可见嵌入式软件可靠性的意义十分重大,因此对于可靠性的预测需要达到一个比较精确的标准。在上个世纪九十年代,有学者成功利用神经网络,来整合多个数据集合的嵌入式测试软件,并极大地提高了可靠性。在这项研究中,他们在对于软件的可靠性进行测试的整个过程里,通过神经网络的相关理论来建立的嵌入式软件可靠性模型的预测精确度,明显高于其他类型的的模型。因此,在基于条件假设的嵌入式软件可靠性模式研究,逐步与神经网络相结合,共同来提升软件的可靠性。目前,神经网络已经应用在各个领域,解决预测相关问题,其中包括预测销售、预测有价证券变化、预测市场行情等等。因此,在嵌入式软件可靠性模型的研究中,结合神经网络技术来进行模型构建以及可靠性提升,具有广阔的发展空间。

结束语

软件可靠性模型可以有效实现对于软件的可靠性评估与管理,而嵌入式软件因为自身具有比较高的安全性以及实时性,尤其在比较典型的基于假设条件的嵌入式软件可靠性模型和基于智能算法的嵌入式软件可靠性模型中,通过改变软件的运行环境、测试环境、移动点技术,而且结合了神经网络技术进行预测,多方面提升了嵌入式软件模型的可靠性,具有广阔的发展空间。

参考文献

[1]闫雪丽.嵌入式软件可靠性模型研究[D].哈尔滨工程大学,2011,12.

[2]王洪鹏.基于UML的嵌入式软件可靠性和安全性研究[D].华东理工大学,2010,12.

[3]刘斌,高小鹏,陆民燕,阮镰.嵌入式软件可靠性仿真测试系统研究[J].北京航空航天大学学报,2010,08(30).

[4]王荧.嵌入式软件可靠性测试工具的研究与实现[D].电子科技大学,2009,04.

[5]王世明.基于NHPP的软件可靠性模型研究[D].武汉理工大学,2011,05.

[6]蒋炎坤,愈强,许健.船用嵌入式软件可靠性及其参数研究[J].电子产品可靠性与环境试验,2011,01(08).

软件过程改进模型 第11篇

1 Web软件的生长式开发过程模型

1.1 Web软件生长式开发过程模型的构成

萌芽期、生长期和衰亡期是Web软件开发一般要经历的三个阶段。萌芽期是制定Web软件使用性能的重要阶段, 对Web软件产品今后在市场中的应用情况具有一定的决定性作用。在这一阶段, 软件开发者通过利用各种开发模型, 分别建立出不同类型的软件生长模式, 然后再根据这些不同类型模型的应用性能进行筛选, 以找出性能最佳的开发过程模型, 并将其用于Web软件的开发。生长期是体现Web软件应用性能的主要阶段, 因为在这一阶段是Web软件被用户使用的过程。通过对Web软件的应用性能进行监测, 不断开发出高集成的、新型软件构件, 这样便能保证软件可以对网络环境的新需求进行及时的发现与识别, 从而有效提高Web软件的综合使用性能。软件生长期过后便进入衰亡期, 所谓衰亡期其实指的就是Web软件在不能满足互联网的新需求情况下, 逐渐被网络用户所淘汰和遗弃, 最终停止对Web软件使用的一个过程。

1.2 Web软件生长式开发过程模型的作用

根据上文对Web软件生长式开发过程模型的构成分析可以看出, 生长式开发过程模型对Web软件的开发具有重要的影响和意义, 其在Web软件开发当中所发挥的巨大作用也是不可忽视的。这些作用主要体现在了两个方面, 一方面是规范了Web软件开发的规律, 为Web软件生长式开发过程模型支撑工具的选择提供了可靠的依据, 使得软件能够随着用户需求的变化而变化, 从而实现了对软件自身的不断升级。另一方面是Web软件生长式开发过程模型的使用不仅能够对Web软件开发的最终目标进行快速、准确的定位, 而且准确定位目标可以帮助软件开发人员对软件开发理论有一个正确的、客观的认识与了解。

2 Web软件生长式开发过程模型的支撑工具

2.1 支撑工具的选择原则

根据Web软件生长式开发过程模型的特点分析, 其支撑工具的选择应该遵循以下的选取原则。

支撑工具的应用性能必须能够满足互联网的新需求, 同时还要具备网路识别功能, 以便在互联网环境和网络用户的需求信息发生变化时, 能够将变化信息及时反馈给软件开发者。

支撑工具应该能够支持多种计算机操作程序, 特别是现代新型的计算机网路系统集成操作程序, 既能满足网路功能的要求, 又能及时找到软件构件与系统脱离的原因。

必须具备一定的抗干扰能力。由于支撑工具在应用过程中会受到一些外界因素的干扰, 从而影响其使用性能, 所以Web软件生长式开发过程模型支撑工具的选择必须要具有一定的抗干扰能力。有了一定的抗干扰能力, 不但能够克服传统的网络工程中软件应用所存在的问题, 而且还能对网络环境的影响因素。参数变量等进行系统性的分析。

支撑工具的选择应能突出软件应用中的难点和重点, 这样便能为网络用户对软件应用技术进行准确的掌握提供了极大的便利。同时, 支撑工具还应可以支持软件开发方式的组合性和多样性, 从而推动Web软件实现开发技术的混合使用, 以及实现多种软件开发方式。

Web软件生长式开发过程模型的支撑工具应当符合软件开发的日后扩展需要, 以确保软件能够在新的网络环境下、新的开发方法下和新的开发技术下, 实现软件自身固件的升级。

2.2 Web软件的集成机制

Web软件的集成机制和支撑工具对Web软件的综合使用性能具有极大的影响。因此, 在正确选择了Web软件的支撑工具之后, 还应该制定科学合理的、完善规范的集成机制。目前, Web软件的集成机制主要有三类。

第一类是动态集成机制, 就是将目标代码进行连接从而形成一个有机、整体的系统, 并保证在系统运行之前完成Web软件的集成机制。

第二类是静态集成机制。在Web软件的开发过程中, 软件各构件之间源代码的统一翻译主要就是通过静态集成机制完成的, 源代码翻译统一的实现, 可以使Web软件在固定的背景环境下, 完成软件的生长式开发过程。

第三类是活态集成机制。活态集成机制是指在各个集成部分处于运行状态的情况下, 通过交互与通讯进而形成一个协调工作的完善系统。

3 总结

通过文章对Web软件生长式开发过程模型及其支撑工具的系统性分析和介绍可知, Web软件产品综合使用性能的提高, 需要通过建立一个能够支撑软件长期生长的开发过程模型才能得以实现。在Web软件开发过程中, 以开发者充分了解软件的系统结构、生长环境和实现现状作为前提和基础, 制定一个完善的软件开发方案, 从而有效弥补现有软件环境对生长式软件生命周期难以支持的不足。总之, 对于Web软件生长式开发过程模型及其支撑工具的发展与进步, 还需人们进行更加深入的研究与探索。

摘要:随着计算机技术和网络技术的迅猛发展, 使得Web软件开发工程也得到了迅速的发展和应用。基于Web开发的应用软件具有自治、分布式、协作和超媒体等性质, 且其生命周期具有明显的动态性特征。在用户对软件要求的越来越高推动下, 促使Web软件的开发与维护面临着更加严峻的挑战。为了Web软件能够得到更好的开发与应用, 生长式开发过程模型应运而生。因此, 本文对Web软件的生长式开发过程模型及其支撑工具进行了一定的研究。

关键词:Web软件,生长式,开发过程模型,支撑工具

参考文献

[1]朱鸿.Web软件的生长式开发过程模型及其支撑工具[J].电子学报, 2002, S1:2090-2093.

[2]陈强.Web开发中的模型及其应用[J].信息与电脑 (理论版) , 2014, 06:176.

上一篇:高校共青团工作创新下一篇:资本结构动态调整