全国服务热线:400-777-6907

网站首页 学习分享 六西格玛管理文章> TRIZ

TRIZ在软件设计中的思考

作者:网络    分类:TRIZ    时间:2021-05-11 10:04:37

TRIZ是创新领域,尤其是硬件设计领域广泛使用的方法。其中,基于39 工程参数的39*39矛盾矩阵是专门针对硬件领域的总结。通过查阅表格可以找到相应的40个发明原理。


软件领域也有类似的总结,其中阿奇舒勒的弟子们开发的软件矛盾矩阵应用广泛,整理出来的24 工程参数矛盾矩阵都有一定的应用范围。但说到产品,人们更喜欢39个工程参数。


因为39个工程参数一开始并不是专门针对硬件来组织的,他们实际上是从产品本身的工程维度来思考的。而且基于设备硬件的总结涵盖了上千个专利案例,是TRIZ当初的思维提炼,具有一定的权威性。


其实,无论是硬件还是软件,都可以看作是一种设计技术。通过抽象工程参数,甚至硬件领域所谓的39*39,很多都可以应用到软件领域。


本文着眼于39个工程参数(所谓硬件领域),思考软件领域的应用。


让我们从39*39 工程参数的亲缘关系分类开始,如下表所示:


TRIZ在软件设计中的思考



39个工程参数从七个方面进行分类:几何、物理、系统、功率、技术、测量和损耗。可以发现,系统、技术、计量、损耗四大类并没有区分软件和硬件的属性。几何、物理和电力具有很强的硬件属性。


首先,我们分析了从不逐一区分硬件和软件的四类属性:


系统类别


作用于物体的有害因素和物体产生的有害因素。软件对有害因素也有同样的影响。


30.受物体影响的有害因素


软件会影响哪些有害因素?包括适应性、控制复杂性、系统复杂性、硬件成本、易用性、灵活性、时间损失、可维护性、内存使用、效率、服务质量、可靠性、安全性、吞吐量、用户容量等。例如,在软件运行期间可能会产生内存碎片。它可以通过优化影响系统的内存碎片(有害因素)。软件优化可以彻底减少系统的这种有害因素。


31.物体产生的有害因素


当然,如果使用不当,也可能使指标恶化,增加对对象的有害因素。例如,性能的过度优化可能会导致系统复杂性增加和可维护性降低。过度优化内存和减少使用可能会导致吞吐量和用户容量下降。过度的灵活性可能会导致内存使用的增加。


让我们看看其他事情,比如:


技术类


操作、可靠性、强度、适用性和通用性、可制造性/可操作性/可维护性、制造精度、复杂性、自动化、生产率和稳定性(对象)。


基本上,它是软件的属性设计(DFx)中应该考虑的一个类别,比如可维护性。这里我们可以举几个例子。操作时间,这个参数也可以理解为软件系统中业务处理的时间效率。


例如:业务转发效率、通信协议消息的传输效率等。软件优化对转发效率(吞吐量、传输时间)和传输可靠性起着重要作用。


系统的强度?可以理解为处理高峰业务的灵活能力和受到攻击时的应变能力,使系统仍能持续工作。


测量等级


测量的必要性和准确性。软件监控系统和系统运行效率检测系统就是这样,包括TCP诊断工具snoop等。软件优化可以增强或削弱测量的必要性和准确性。


损失等级


能量损失、物质损失、信息损失和时间损失。乍一看,能源和物质损失似乎与软件无关。


其实从软件目标和业务量来看,软件优化可以增加单位业务的计算量,这也减少了能量损耗(CPU利用率提高,消耗的能量自然减少)。


材料损耗类别看起来也像硬件,但从软件使能的角度来看,可以看出软件优化占用内存,硬盘减少,反过来,思考现实实际上减少了存储资源的损耗。


信息可以类比为:消息传输,带宽容量。时间可以比作处理效率、频率等。


刚才描述了可能与四类软件相关的参数。即使物理参数和这个相似,乍一看也很明显。


事实上,硬件域的参数很可能与软件有关。让我们看看:


物理参数:重量、速度、力、压力/压力、温度、光照。速度这个参数可以理解为软件处理速度和作业处理效率。


其他参数不一一分析。简而言之,抽象到一定程度就可以和软件有所关联,而不是之前那种好像和软件无关的感觉。


让我们一起来看看40个发明原理:


TRIZ在软件设计中的思考


很多都是先和物理有关,比如:14球化。机械相关28-机械系统的更换与软件相差甚远。但很多只是反映逻辑,比如:1分区、23反馈、24中介、26复制,都与软件的深度应用有关。


例如,1分区:一个程序,它虚拟地或实际地将一个系统分成几个部分,以隔离或集成一些有害或有用的系统属性。


这就是TRIZ的定义,其中软件的故障隔离设计和软件架构的微服务都属于分区隔离的思想。


当然,微服务“细分”指的是基于组件架构的拆分,这只是体现了他的实现思路,更多的细节需要软件专家考虑。


比如微服务是否需要解耦,关键考虑的是:是否需要独立开发和验证;与其他服务灵活组合和安排的要求;运行期间的有效隔离要求;业务的峰谷明显,需要弹性扩张、自主进化升级、灰度分布要求等。


当然,抽象的发明原理并不区分软件和硬件,很容易理解。其实软件有很多种,需要考虑的不仅仅是软件,还有软硬结合的系统思维。因此,即使硬件、物理和化学的发明原理,也可以试着从软件的角度去思考,它是否可以应用。举个例子吧。


例如12等势:在系统内建立关联,使系统能够支持等势状态。乍一看,似乎属于物理定位的方法。但仔细想一想,其实可以抽象成能量最少的原则,集中在同一个区域,一次性处理事情——同等位置——不变位置,自己动手。本地更新也有这个意思。


例如,磁盘删除,如果您立即删除文件,然后回收磁盘空间。很多操作系统一开始都是实现只删除文件头中的几个字节的信息,这在逻辑上意味着文件已经被删除了,但是介质上的文件内容还在。当新文件被写入时,内容可以直接覆盖在这个区域。


如果旧文件(删除文件的标题字节)在一段时间内没有被覆盖,则删除的文件仍然可以恢复。相对性的抽象是指我(删除时)不移动位置(不删除远处的内容),让系统自动行动。思想借用了这个发明原理。


比如:28替换机械系统,用物理场替换机械交互。这一原理实际上与改变或取代工作原理有关。软件的思路是:变硬为软,用软件代替专有硬件。比如用软解压代替硬件解压卡。机械系统被电磁能所取代。


嗯,总的来说,TRIZ在硬件设计领域被广泛应用,虽然它来自于对设备创新的抽象总结。实际上,经过仔细考虑,在软件设计领域有很多应用,尤其是逻辑参数和发明原理可以直接使用。


即使是物理和化学领域看似“纯硬件”的参数和发明原理,有时也可以抽象地应用于软件领域。多思考,多实践,学好,才能学到实质,发扬方法论。


查看更多请点击-->:TRIZ