论文部分内容阅读
随着软件行业的快速发展,需要开发高质量的软件系统,以满足客户需求,适应实际背景和业务。CBSD (Component Based Software Development,基于构件的软件开发)支持软件复用,加快软件开发,是程序设计自动化迈出的重要一步。软件复用主要包括以下四个步骤:系统分析、构件描述、构件查询和构件组装。然而现阶段,基于构件的软件开发过程存在着以下问题:(1)系统需要哪些构件;(2)构件以何种形式存在(例如提供了什么功能和接口);(3)如何建立映射关系,查找匹配构件。这些问题的存在导致构件的复用并不顺利。现有的软件复用研究较多地关注构件的检索与装配方面,即问题(3),而对于问题(1)(2),如何提取目标系统(待开发的系统)中的组件,以明确构件的检索目标,往往缺乏规范的方法,然而问题(1)(2)中是解决问题(3)的前提。同时,构件对系统的适应程度的高低,也将直接影响构件装配的质量。为解决以上问题,本文主要关注系统分析以及查询过程中的构件评价。在系统分析研究中,本文使用CASE (Computer Aided Software Engineering,计算机辅助软件工程)工具对目标系统进行设计,形成包含用例、类、组件及其装配部署的完整详细文档,通过理解文档语义提取概念组件及其调用关系。在构件评价研究中,首先为便于搜索和匹配,对现行构件库的实体构件进行本体化描述,生成构件本体库;其次借助领域字典使得概念组件和构件本体库之间形成一定的映射关系,完成构件的查询。同时还建立了一个智能的多Agent系统,对查询到的候选构件进行适应性评价,分别建立单构件评价模型和多构件评价模型。单构件评价模型采多个评价指标。多构件评价模型结合权值矩阵,用动态规划法给出适合装配的构件组合。最后,本文对模型进行实现和测试,结果说明模型与预期的效果一致,不仅能成功选择符合装配需求的构件,还能避免组装过程的冲突情况,较好支持了软件复用。