基于细粒度构件的关联度量及构件提取

基于细粒度构件的关联度量及构件提取

论文摘要

随着软件规模的不断增加,软件开发的速度越来越慢,不能按时完成开发计划,用户的需求不能得到完全满足的情况常常发生。在这样一种背景下,整个软件行业在软件开发软件的过程中,相关知识和经验被不断的总结,形成了快速应用开发(RAD)模型。RAD模型是线性顺序模型的一个“高速”变种,通过使用基于构件的建造方法赢得了快速开发。RAD模型的“高速”主主要是基于构件的复用来完成的。这就是基于构件的软件工程。目前,基于构件的软件开发已经越来越广泛的应用起来,并且实践证明是一种行之有效的工业化方法。在现有的一些软件度量手段中,例如Chidamber&Kemerer提出的C&K度量、Abreu提出的MOOD度量等,也有其相应的度量手段,但是我们可以看到这些手段都是基于源代码的,对于我们现有的基于构件的软件是不适用的。另外,我们可以看到在现有的软件开发中,构件是独立发布的封装体,其内部实现对外不可见,其接口是构件与其他构件以及周围环境进行交互的惟一方式,这样在不清楚构件源码的情况下,构件之间的相互影响已经变得日益突出,如果没有控制好这种影响的话,可能会带来不可预知的后果。另外,构件提取方面,一类方法认为构件识别是领域工程过程中的一个阶段,设计人员从特定领域中一组相似的需求出发进行领域分析,确定领域内的通用性与可变性,寻求可复用的业务语义,据此构造可复用业务构件规约,代表性的方法包括面向特征的领域分析(FO—DA)、产品线方法(PLM)等。这类方法侧重构件在领域内的适应性,但不太重视复用成本和效率等性能因素,也没有考虑粒度的优化。另一类方法通常将重点放在构件结构联系上,也极少涉及到在保证构件关联精确前提下对粒度的追求。从考虑复用成本出发,计算业务元素间全局相关性,通过图划分或CRUD矩阵分析等技术进行聚类分析并封装为构件,代表性方法包括聚集点方法、COMO、O2BC等。这类方法通常将重点放在构件结构联系上,也极少涉及到在保证构件关联精确前提下对粒度的追求,最终构件集合的粒度处于某一或若干固定层次,甚至刻意追求不同构件粒度之间的平衡。基于上面的这些问题,结合了软件度量理论,本文提出了一种基于细粒度构件软件的关联度量的一种模式,该模式有以下几个特点:1)对其中细粒度构件及的关联度量,了解整个软件的构造以及其稳定性。2)利用该模式找出细粒度构件软件的关键构件。3)利用细粒度构件的关联度理论分析出选取候选关键构件的基本条件。4)找出基于细粒度构件分析获取准确的粒度更大的合理可重用的构件组。通过这种基于细粒度构件软件的关联度量模型,本文实现了在不知道源代码情况下的细粒度构件的之间关联的度量、实现了细粒度构件之间从语义上和从结构上的双重的准确的度量、实现了基于细粒度构件的软件中关键构件的获取以及提出关键构件的替换要求、实现了基于细粒度构件开发中的构件提取并且能够提取出一种关联准确、粒度更大、功能更强、更具有复用性的构件组。最终,本文完成了一个以基于细粒度构件的关联度量模型为基础的构件提取系统FCME,该系统能够利用收集的数据很好地度量基于细粒度构件的软件,准确找出该软件中的关键构件,并且可以较为准确地提取出粒度更大、复用性更强的构件组,同时加入了SQA的审核功能、邮件自动发送功能。

论文目录

  • 内容摘要
  • Abstract
  • 第1章 引言
  • 1.1 背景
  • 1.1.1 软件复用产生的历史背景
  • 1.1.2 基于构件的软件开发
  • 1.1.3 构件粒度与构件提取
  • 1.2 国内外研究现状和主要存在问题
  • 1.3 本文的研究内容
  • 1.4 本文的组织安排
  • 第2章 基于构件的软件工程
  • 2.1 传统软件开发与CBSE
  • 2.2 CBSE可行性研究
  • 2.3 CBSE需求分析和设计
  • 2.4 CBSE测试
  • 2.5 CBSE维护
  • 2.6 CBSE的意义
  • 第3章 度量理论
  • 3.1 度量
  • 3.2 软件构件的度量
  • 3.2.1 度量的作用
  • 3.2.2 软件度量的目标
  • 3.2.3 简单软件度量流程图
  • 3.2.4 软件度量三维度
  • 3.2.5 软件度量的方法体系
  • 3.3 构件软件开发的特点及其对度量的影响
  • 3.4 对构件质量和可复用性的度量评价标准
  • 第4章 细粒度构件
  • 4.1 构件
  • 4.2 构件与对象
  • 4.3 构件的适配
  • 4.4 构件的组装
  • 4.5 特征与特征依赖
  • 4.5.1 特征与特征空间
  • 4.5.2 特征依赖
  • 4.5.3 构件语义间关系
  • 4.6 构件的粒度
  • 4.7 细粒度构件
  • 4.8 构件模型
  • 第5章 细粒度构件关联度量
  • 5.1 细粒度构件关联模型
  • 5.2 软件关联度定义
  • 5.3 构件方法关联分析
  • 5.4 构件方法关联度分析
  • 5.5 构件关联度分析
  • 第6章 候选关键构件
  • 6.1 构件替换准则
  • 6.2 度量候选构件
  • 6.2.1 度量构件变化
  • 6.2.2 度量细粒度构件关联度变化
  • 6.3 候选关键构件
  • 第7章 提取构件组
  • 7.1 提取构件组
  • 7.2 提取构件组的算法
  • 第8章 分析设计
  • 8.1 系统概述
  • 8.2 实验系统设计
  • 8.2.1 系统框架
  • 8.2.2 实验系统的开发环境
  • 8.3 系统详细设计
  • 8.3.1 模板设计
  • 8.3.2 模板导入
  • 8.3.3 计算关联度
  • 8.3.4 寻找关键构件
  • 8.3.5 推荐构件组
  • 8.3.6 SQA审核
  • 8.3.7 邮件自动发送
  • 8.3.8 核心源代码
  • 8.4 本章结论
  • 第9章 结论及后续工作
  • 参考文献
  • 致谢
  • 发表论文及参加课题
  • 相关论文文献

    • [1].导管架结构重点构件失效后果评价方法[J]. 中国海洋平台 2020(03)
    • [2].小型构件干法施工成套技术的研究[J]. 公路 2020(06)
    • [3].双T板构件在施工中的运用[J]. 建筑工人 2020(06)
    • [4].信息技术在构件生产阶段的应用与展望[J]. 土木建筑工程信息技术 2020(03)
    • [5].研究:无论有无病毒,家用橱柜构件市场超过商用构件[J]. 国际木业 2020(04)
    • [6].2016年度房屋构件生产十强企业[J]. 混凝土世界 2017(12)
    • [7].绘构件受力图时应注意的问题[J]. 装备制造技术 2016(11)
    • [8].谈构件[J]. 力学与实践 2017(03)
    • [9].基于描述逻辑的数控系统构件匹配方法研究[J]. 现代制造工程 2017(07)
    • [10].植物种群构件的理论概述及研究进展[J]. 安徽农业科学 2014(36)
    • [11].一种基于构件失效传播的软件可靠性建模方法[J]. 信息工程大学学报 2015(05)
    • [12].构件[J]. 青年文学家 2019(34)
    • [13].甲骨文构件方式别义分析[J]. 现代语文(语言研究版) 2010(08)
    • [14].基于易损性与冗余度分析的构件重要性评价方法[J]. 计算力学学报 2020(05)
    • [15].对预制构件强化生产质量的若干措施探讨[J]. 现代物业(中旬刊) 2019(09)
    • [16].弯扭箱形钢构件受拉性能与破坏机理[J]. 建筑钢结构进展 2020(03)
    • [17].故宫古建筑石构件的病害机理与保护修复方法——以须弥座为例[J]. 古建园林技术 2020(02)
    • [18].基于高阶π演算的构件演化行为研究[J]. 计算机科学 2017(03)
    • [19].敢问路在何方?二胡构件改良的探索与实践[J]. 音乐时空 2016(07)
    • [20].考虑构件重要性的导管架平台强度储备提升[J]. 哈尔滨工程大学学报 2016(04)
    • [21].机械装备构件轻量化主要技术途径的探讨[J]. 电子制作 2013(17)
    • [22].一种基于用法示例的构件选择方法[J]. 运城学院学报 2013(05)
    • [23].X射线荧光光谱在北京清代官式琉璃构件保护研究中的应用[J]. 古建园林技术 2013(03)
    • [24].构件交互测试技术的研究[J]. 硅谷 2012(06)
    • [25].一种基于场景的需求驱动构件服务聚集方法[J]. 计算机应用研究 2011(12)
    • [26].浅议桥涵构件预制行业的现状与发展[J]. 中国市场 2010(23)
    • [27].构件测试元数据及其提取与展现技术[J]. 电脑开发与应用 2009(10)
    • [28].构件适配技术比较研究[J]. 计算机工程与科学 2008(01)
    • [29].构件软件变更风险分析技术[J]. 计算机科学 2008(01)
    • [30].敏捷企业信息系统的构件式进化机制研究[J]. 制造业自动化 2008(11)

    标签:;  ;  ;  ;  ;  

    基于细粒度构件的关联度量及构件提取
    下载Doc文档

    猜你喜欢