基于UML的软件复杂性度量方法和工具的研究

被引量 : 0次 | 上传用户:kongxiaojuan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件复杂性度量是软件度量的一个重要分支,准确全面的复杂性度量,可以帮助软件开发人员更好地理解软件,有助于开发人员更好地判断、决策以及管理软件开发过程,提高软件开发的效率;另一方面,可以通过改善软件的设计结构,提高软件的质量,使软件更加符合用户的需求。当前,面向对象技术已经成为主流的软件开发方法,UML建模技术已经广泛应用于面向对象软件开发过程中,但是比较全面、完善的复杂性度量方法还比较缺乏。基于这样的现状,本文提出了基于UML的软件复杂性度量方法。本文首先对软件度量、面向对象技术和UML模型的基础知识进行了介绍,对以往所提出的面向对象软件度量方法特别是四种经典的度量方法C&K量度组、Wei Li量度组、Lorenz&Kidd量度组、MOOD量度组进行了分析和总结,指明了其中存在的不足之处。比如只有MOOD对封装性和多态性进行了度量;而MOOD进行的度量都是针对系统级的,没有对单个类的度量;只有C&K量度组对内聚性提出了度量指标,其他方法均没有对内聚复杂性提出度量的指标;对于耦合性的度量,基本上都是定性的分析,对于耦合强度的考虑都比较少。在此基础上,本文将基于UML的软件复杂性分解为类的复杂性、封装复杂性、继承复杂性、多态复杂性、内聚复杂性和耦合复杂性,对影响它们的因素进行了分析,提出了相应的度量规则,其中类的复杂性度量用类的方法数量和属性数量反映;封装复杂性度量,用方法可见率和属性可见率反映;继承复杂性度量,用继承成员个数、方法重写个数、成员名重复数、继承路径距离和访问方式更改数等反映继承的复杂程度,然后给出度量公式;多态复杂性度量,在分析基于UML软件的特点的基础上,分为重载复杂性和重写复杂性进行度量;耦合复杂性度量,分为静态耦合性和动态耦合性进行度量,静态耦合性在UML类图中度量,主要考虑类与类之间的相互关系导致的耦合,如依赖、关联、聚合、组合、泛化、实现等,动态耦合性在时序图中度量,主要考虑类的实例对象之间的交互情况,用交互对象和交互信息的数量来反映动态耦合性。在对各个复杂性分量进行度量之后,本文确定了整体复杂性的组成成分并采用加权合成的方式得到了系统级的复杂性。本文在提出度量方法之后,根据方法形成了一个度量工具。同时,本文通过汽车租赁系统和图书馆管理系统两个实验模型对本文所提出的方法和工具进行了分析验证,实验结果表明,该方法能够较为准确地反映基于UML模型的面向对象软件的复杂程度。通过复杂性度量,可以让软件设计开发人员更好地理解软件,从而提高软件开发的效率和软件的质量。
其他文献
目的观察瑞舒伐他汀和美金刚对血管性痴呆(VaD)大鼠内皮祖细胞的影响及学习记忆功能的改善。方法 40只成年雄性SD大鼠随机分为假手术组、模型组、瑞舒伐他汀组、美金刚组、瑞
根据武术套路运动的特点、武术套路运动员运动后营养补充的重要作用以及有关武术套路运动员运动后营养物质补充的研究的现状,查阅相关研究资料,对武术套路运动后的营养物质补
钢筋混凝土板柱结构具有节约层高、空间布置灵活、利于施工等优势,在实际工程中应用日益广泛。但由于没有梁的传递作用,板柱节点区的应力集中比较严重,容易发生脆性冲切破坏
<正> 初春三月,中国音乐家协会上海分会、上海乐团,假上海音乐厅联合主办了“青年琵琶演奏家何树凤独奏音乐会”。笔者有幸得到听赏这次艺术表演的机会,并在会后对何树凤同志
由交通事故造成的生命财产损失以及相应的民事和刑事诉讼等社会问题日益严峻。因此及时采取预防和控制措施、制定相应对策已刻不容缓,对已发生的大量交通事故进行再现分析、
<正> 基本技术动作琵琶演奏的基本技术动作,包括左手和右手两大动作系统,在专业教学中,基本技术动作的分类及其训练,是帮助学生建立合理技术结构的两个关键环节。一 动作分类
实际震害表明,基于2001版抗震规范设计的框架多数出现了以柱铰为主的破坏模式,与抗震规范的设计初衷相违背。众多试验及分析表明,没有考虑现浇楼板内与框架梁平行的板筋的作
实验推导了前置反硝化曝气生物滤池工艺处理生活污水的有机物、氨氮、硝态氮的去除动力学模型,研究该工艺有机污染物去除机理和脱氮效能。填加火山岩滤料的前置反硝化曝气生
<正> 一份音乐会的节目单当手里拿到这份旧时的音乐会节目单的时候,顷刻间就好象穿过了时空的隧道,回到了三十年代中期上海的兰心剧院。这音乐会是前上海市(工部局)交响乐团(
<正> 近来,布卢姆(S·Blum,1975)和格尔利(K.Gourlay,1978)的文章,按照他们文化的和个人的方式,考查了音乐民族学家的工作。这些作者指出,音乐民族学家使他们的工作具有来自