论文部分内容阅读
需求获取是软件系统开发过程中至关重要的一步。典型的软件需求获取方法主要包含传统的需求获取、现代的需求获取等。传统的需求获取技术主要包含问卷调查、访谈、现有文档分析等。而现代的需求获取主要包含基于情景实例、基于原型、基于知识等。这些需求获取技术主要是面对面的交互方式,这种方式中领域专家或需求分析人员通过交谈或协商等方式从一群系统用户获取原始需求信息。但如果要描述复杂的生命系统或社会系统时,上述的这些需求获取方法似乎不太适用。1998年以来出现的复杂网络的研究把复杂系统简化为点以及连节点的线段的结合。复杂网络就是对大量现实世界真实网络系统的一种理想简化描述,随着对网络性质的物理意义和数学特性的深入研究,人们发现许多实际网络都具有社团结构的共同性质。揭示网络中的社团结构,对于了解复杂系统的网络结构与分析网络功能都是很重要的。基于前面的分析,本文提出了一种基于复杂网络社团划分的形式化需求获取方法,目前关于社团划分的算法已经有很多,本文选取几个有代表性的算法来研究比较,并提出了基于时空的功能社团划分算法新思想。本文做了如下几方面的工作:(1)对现有的需求获取方法做了小结:对目前已有的基于情景实例、基于知识的、基于原型和基于观点的这些需求获取方法进行了分析并归纳了他们的优缺点。(2)提出了基于功能的社团算法思想:研究了复杂网络中的网络社团结构算法,对已有的几种主要算法做了分析比较,并提出了基于功能的社团算法思想,并与其他几个主要算法做了案例比较。(3)社团划分方法作为需求获取的新方法:把复杂系统以复杂网络的形式加以描述,提出了用复杂网络中的社团来获取复杂系统的需求,并把获取的需求用形式化B语言加以描述,这样可以避免保证需求的歧义性。(4)免疫系统的案例描述:对免疫系统中的体液免疫进行建模,运用复杂网络的需求获取技术,获取免疫系统的需求,将获取的需求转换成B机器(5)免疫系统的精化与实现:对免疫系统的机器进行精化,并用JAVA实现了模拟过程。本文结合了一个免疫系统的实例,用社团划分算法获取需求,然后用UML图来描述需求获取的结果,并把UML图用形式化B方法描述出来。并在B方法支持工具(Atelier-B)中对所得到的形式化模型进行了分析和验证,以保证规格说明的正确性和可靠性,最后用程序实现了模拟。这种思想对于生命系统模拟提供了新的方法。