阅读文献“Softwareas Complex Networks : Structure,function and evolvability of software collaboration graphs”
本篇文章最好的一点就是深刻地阐明了将软件系统作为复杂网络与其他生物经济社会等复杂网络的区别,而且提出了很多软件系统独有的特点。觉得这一个问题非常重要,一些本质的东西是可以类比的,但是用到具体问题上又有了新的解释,不能将以往的方法不加区分全部拿来用,必须根据经验对实验数据进行充分地猜想与验证分析,才能得到正确的结论。
文中分析了软件网络的分层性质,用强连通分量与弱连通分量来描述,强连通分量个数和规模都很少,但是弱连通分量的规模非常之大,这就说明了网络中层次等级性;还有对于结点的出度和入度进行了分析,证明将网络作为有向图来对待能够得到更多的信息,出度和入度非常能反映一些特性,比如可重用性。
最后分析了一些复杂网络与OO软件设计的一些联系,作者认为复杂性不是影响抗毁性和容错性的主要因素,而是软件演化的重要条件,随着外部请求的不断改变,需要软件的模块性和低耦合性以。还有简并和冗余,软件模式的一些问题。
看的这两篇文章都有点偏题了,都是从大的方面来谈软件系统与复杂网络的关系,没有具体到小的具体的方法间的调用图上面,但是从其中的论述部分,也学到了很多必要的知识。也是自己掌握的内容的太少,复杂网络与软件系统的关系这个问题也有很多的研究层面,可以是粗粒度的,也可以是细粒度的,可以从整个设计方法上的演化变迁来描述,也可以从单纯的动态调用来描述。看似简单的问题,其中还是包含了无穷无尽的不了解的知识。