打开文本图片集
摘要:TRIZ理论正在被应用到越来越多的领域中,将TRIZ理论应用到软件开发中的探索时刻没有停止。本文介绍了TRIZ理论,阐述了TRIZ理论解决软件设计问题的可行性及TRIZ工具应用到软件设计领域的方法。通过一个实例介绍了运用TRIZ理论中矛盾矩阵解决软件开发中具体问题的方法。
关键词:TRIZ;矛盾矩阵;物-场分析模型;软件移植
1 概述
软件设计作为一个发展中的行业,正在与其它行业进行着密切的联系融合,越来越多的产品需要计算机软件的支持,并且软件设计在发展过程中也有模仿自然界物理系统的现象,自然系统的特性成为计算机算法思想的源泉,比如遗传算法,比如熵值概念。TRIZ理论的不断成熟及软件设计与现实技术系统,物理系统联系的不断加深,使得将TRIZ理论应用到软件设计领域成为一种可能,随着研究的深入,也形成了一些比较成熟的将TRIZ理论应用到软件设计中的思想、方法。
2 TRIZ理论与软件设计
2.1 TRIZ理论介绍
TRIZ理论是计算机辅助创新技术的基础。TRIZ是俄文创新问题解决理论的词头缩写,起源于20世纪40年代后期,其创始人为苏联的Altshuller。Altshuller始终坚信创新活动有着内在规律,他通过对世界各国专利的分析研究,创立了TRIZ理论。
TRIZ理论最先被用来解决技术系统的问题,TRIZ的基本思想是“在概念设计阶段,将产品作为一个系统加以考虑,对产品的创新问题着手解决之前首先勾画出理想的解决目标,进而设法消除创新设计过程(详细设计)中的技术矛盾”。
2.2 TRIZ理论解决创新问题的整体结构及流程
运用TRIZ理论解决创新问题的基本框架如图1所示:
在这个流程中,我们从用户的特定创新问题(a)出发,通过一定的方法,抛弃(a)中不相关的部分,将用户特定创新问题(a)分解为常规问题(b),对于常规问题(b)我们利用TRIZ中一些标准的方式、模型、工具得到常规问题的通解(c),然后将通解具体化,从而得到创新问题的特定解。
在运用TRIZ理论解决具体问题的过程中,已经有一套比较成熟的基于知识库的原理,TRIZ主要包含以下创新设计问题解决工具:技术系统进化法则,物-场分析法,发明问题标准解法,发明问题解决算法ARIZ,技术矛盾解决矩阵,40个创新原理等。这些工具为创新理论软件化提供了基础,从而为TRIZ的系统化应用提供了条件。运用TRIZ原理、方法及工具解决具体问题的整体结构如图2所示:
运用TRIZ原理、方法及工具解决具体问题的流程如图3所示:整个流程被划分为四个阶段:
①问题定义阶段:其中三种方法(问题/时机探索分析、功能/属性分析、S曲线分析)是必须遵循的。②理想化最终结果是强烈推荐的方法;9-Windows方法与此阶段有关,但贯穿于流程的整个过程中。③工具选择阶段:根据问题的状态,通过一张工具表,用户可以有优先级的选择产生解决方案的工具。解决方案产生阶段:在这个阶段,有11种不同的工具可供用户选择使用。④解决方案评估阶段:在这个阶段,用户可以从解决方案中选择最符合具体问题的方案,然后评估此方案进行是否是最佳的,如果不是的话,将返回到工具选择或是问题定义阶段进行重新的分析求解。
2.3 TRIZ理论与软件设计
TRIZ理论的工具、方法应用到软件设计中的探索主要集中在创新原理与物-场分析模型的应用上。
矛盾矩阵(Contradiction Matrix)和创新原理(Inventive Principle):
为了消除技术矛盾,必须找到形成技术矛盾的工程参数。在研究专利的基础上,Altshuller总结出39个通用工程参数来描述技术矛盾和40条创新原理来消除技术矛盾,从而创建了矛盾矩阵。矛盾矩阵为40x40 矩阵,第一行代表39个需要改进的技术参数,第一列代表39个引起恶化的技术参数,行与列的交叉处构成技术矛盾,并列有解决技术矛盾所推荐的创新原理序列号。当针对具体问题确认了一个技术矛盾后,根据对矛盾的描述选择通用工程参数,由工程参数在矛盾矩阵中的位置选择可用创新原理来消除矛盾。表1为矛盾矩阵的示意图,参数3为恶化参数“运动物体的长度”,5为优化参数“运动物体的面积”,二者产生矛盾,推荐解决原理为4,14,15,和16号创新原理。
矛盾矩阵为我们寻求解决问题的最佳方案,提供了一个很好的方法,使用矛盾矩阵解决问题时,一般分为三个步骤:
①确定问题的根源。
②建立矛盾矩阵、选择创新原理。
③应用创新原理解决问题。
④物质场分析模型(Substance-Field Analysis)。
物-场分析法是TRIZ中对技术问题进行建模的工具,物-场分析法认为,技术系统是功能的实现,功能是通过一种物质(S1)和另一种物质(S2),通过之间的相互作用(F)来实现的。两种物质S1、S2及相互作用F被认为是功能的三元件。
物-场分析法分析问题时一般分为4个步骤:
①确定元素。
②建立模型。
③从76个标准解中寻求解决方案。
④解决方案评估。
3 TRIZ理论在软件设计中的应用实现
运用矛盾矩阵及创新原理解决软件移植问题
软件移植是指对软件进行修改和扩充,使之在保留原有功能、适应原有平台的基础上,可以运行于新的软硬件平台。比如我们将VC++6.0升级到VC++7.1后,将原来一个VC++6.0的项目移植到VC++7.1的环境中,在VC++的环境中编译我们原来的项目,可能会报出很多的编译错误或警告,我们通过各种措施消除这些错误或警告后,这个项目的软件移植才是成功的。
3.1 问题的定义
软件设计要具有较好的可移植性,也就是软件移植花费较少的时间及其它开销,VC++项目的移植中,软件移植的很多时间花费在新的环境下对原来项目的编译过程中,影响软件移植效率的根本是新环境中项目的编译时间。
3.2 建立矛盾矩阵、选择创新原理
我们已经知到软件移植的矛盾是减少移植时间与移植后的长时间编译之间的矛盾。软件移植是软件开发团队人员共同努力的结果,我们可以将软件移植中开发人员的努力比作技术系统中的静止物体的质量,将移植后的长时间编译比作静止物体的尺寸,根据表2所示的矛盾矩阵,我们得出可以采用的创新原理:
创新原理10:动作预置。
创新原理1:分割。
创新原理29:空压机构、液压机构。
创新原理35:物体的物理或化学状态的变化。
3.3 应用创新原理解决问题
选择创新原理10及1解决软件移植问题。根据创新原理10(动作预制),项目架构中将相关的功能部分整合到一起,作为一个完整的模块进行开发。这样功能下相近的部分在移植的过程中就可以一起编译,加快编译速度。根据创新原理1,项目架构中将整个系统按不同的功能分为几个模块进行开发,这样就使得每个模块在软件移植的过程中可以分别编译,从而缩短编译时间。
4 结术语
TRIZ理论用来解决技术领域的问题已经取得了显著的效果,将TRIZ理论应用到软件行业是TRIZ理论应用领域拓展的一个新的方向。国内TRIZ理论的应用仍然集中在机械制造行业,将TRIZ理论应用到其它行业,对于提高行业的自主创新能力有着很大的帮助。TRIZ理论在软件行业的应用只是初步,在改进ARIZ算法,研究软件设计中的矛盾矩阵等方面仍然需要进一步的研究。
参考文献:
[1]Graham Rawlinson:"TRIZ and Software",TRIZCON2001,March 2001; TRIZ Journal,Apr.2001(E).
[2]Darrell Mann: "TRIZ for Software?", TRIZ Journal, Oct. 2004(E).
[3]丁俊武,韩玉启,郑称德.创新问题解决理论——TRIZ研究综述[J].科学学与科学技术管理,2004.11.
[4]王果.TRIZ理论在计算机系统中的应用分析[J].创新科技,2012-
05-08.
基金项目:2012年院级课题(WXCY-2012-GY-002)。
作者简介:
管芳景,女,讲师,硕士研究生,主要研究方向:计算机软件开发技术、人工智能;朱海棠,女,讲师,硕士研究生,主要研究方向:系统仿真、嵌入式开发。