基于构件的软件开发中的构件供应商任务指派及构件选择方法

基于构件的软件开发论文 面向服务的架构论文 构件选择论文 构件供应商任务指派论文 多目标启进化算法论
论文详情
随着软件行业的快速发展,软件公司需要开发出满足企业顾客需求的高质量软件系统,努力使开发后的系统能适应企业顾客的商业需求和业务流程变化。在这种环境下,基于构件的软件开发(Component-based Software Development,CBSD)应运而生。CBSD体现了“组装已有构件,而不是重新构造”的哲学思想,将软件开发的重点从程序编写转移到了对已有构件的复用和组装,从而更快地构造软件系统,降低和缩短用来开发和设计大型软件系统所需要的费用和时间。随着CBSD技术的发展,构件市场逐步繁荣,涌现了大量构件产品。同时,软件开发企业内部也积累了大量构件技术和产品。如何在纷繁的构件产品中选择最合适的构件,将他们组装成为高质量的软件产品,是基于构件的软件工程(Component-basedSoftware Engineering,CBSE)所关注和要解决的主要决策问题。在基于构件的软件产品生命周期中各种角色分工逐步明确,企业不再单独依靠自己技术实力,同时也借助构件供应商在特定领域内的专业技术能力来参与软件产品的设计和开发工作。这个过程中,如何根据构件供应商的各项能力,对其进行任务分配也是十分重要的决策问题。目前,对CBSD的研究多局限在从计算机科学技术的角度来研究CBSD的具体实现方式。而对于构件供应商的参与和构件的选择而言,以管理科学和运筹学的视角来审视问题更为合适。这就进一步要求运用数学的方法,对构件的各种特性(如兼容性、复用方法和成本构成等)和供应商的各种特性(开发能力和开发周期等)进行客观描述,并基于这些定量的描述构造决策模型,辅助软件工程管理人员进行正确的决策。本文以此为研究路线,以CBSD为研究背景,在对基于构件的软件产业现状进行深入分析的基础上,运用优化理论和方法,研究了CBSD过程中构件供应商的任务指派和构件的选择若干重要问题。本文的研究成果及核心内容归纳为如下六个方面:1)对CBSD过程中的优化问题的研究综述。分析CBSD过程中构件供应商任务指派和构件选择问题的产生背景和概况;概述目前软件构件的市场格局及市场中的各种角色及角色之间的关系;总结基于构件的软件产品生命周期内的优化问题的学术文献,并重点综述了供应商参与软件产品开发和构件选择优化的研究现状。2)以构件供应商参与软件产品设计和开发任务为研究背景,考虑在构件供应商信息模糊的前提下,运用模糊方法描述构件供应商的各种关键指标(开发能力,成本,开发周期),将质量功能展开(Quality Function Deployment,QFD)理论运用到CBSD开发过程中,设计多目标模糊规划模型,为软件开发商提供构件供应商的任务指派模型和方法。3)以软件开发商依靠企业内部原始构件积累开发软件产品为研究背景,以白盒方式复用构件为问题特点,考虑构件之间的兼容关系和软件开发成本因素,设计优化模型指导软件开发商选择构件。模型运用改进后的非此即彼(Either-or)的0—1约束表示构件之间的兼容关系,通过仿真实验讨论模型中各个关键参数变化对目标函数的影响,揭示模型中所蕴含的管理意义。4)以软件开发商同时承担多个软件产品的开发任务为研究背景,以运用黑盒方式复用商业构件为问题特点,针对构件选择问题,设计优化模型指导软件开发商的构件选择决策。模型以最小化所有软件产品总成本为目标,并考虑构件之间的兼容性因素(要求同一个软件产品中的所有构件相互兼容)。通过仿真实验揭示模型的管理决策意义。5)以面向服务的架构(Service-oriented Architecture,SOA)理论为指导,在阐述SOA与CBSD两者的之间关系的基础上,以使用SOA方式实现一个企业信息系统为背景,以已知服务模块(Service Module)设计方案为前提,以系统整体高内聚低耦合为目标,考虑可替代构件因素,设计商业构件0—1组合优化选择模型指导软件开发商完成SOA服务模块设计过程中的构件选择工作。设计了符合问题特点的遗传算法(GeneticAlgorithm,GA)算法,给出了求解问题的有效手段并通过一个数例来解释模型的使用方法。6)以第五部分工作为基础,以使用SOA方式实现一个企业信息系统为研究背景,在已知服务模块设计方案的前提下,以服务模块个体高内聚低耦合和整体开发成本最低为目标,考虑构件市场上的可替代构件集合因素,设计多目标0—1组合规划模型。利用多目标进化算法SPEA2(Improving the Strength Pareto Evolutionary Algorithm)求解优化模型,并给出运用模型进行服务模块设计的使用方法。
摘要第5-7页
ABSTRACT第7-9页
第一章 绪论第14-24页
    1.1 课题研究背景第14-18页
    1.2 课题研究的目的和意义第18-19页
    1.3 研究内容第19-20页
    1.4 研究的技术路线与方法第20页
    1.5 主要研究成果第20-24页
第二章 供应商参与软件开发问题和构件选择问题的研究综述第24-38页
    2.1 CBSD的发展过程第24-26页
        2.1.1 第一个“软件”第24页
        2.1.2 计算机软件的出现第24页
        2.1.3 软件危机与CBSD第24-25页
        2.1.4 传统软件工程的发展第25页
        2.1.5 现代软件工程的发展第25页
        2.1.6 CBSD的发展第25-26页
    2.2 CBSD的概念第26-30页
        2.2.1 软件构件的定义第26-27页
        2.2.2 软件构件的属性第27页
        2.2.3 软件构件的分类第27-28页
        2.2.4 CBSD的开发过程和框架第28-30页
    2.3 构件供应商参与产品开发的研究综述第30-33页
        2.3.1 供应商参与产品开发的定性研究第30页
        2.3.2 供应商参与产品开发的模型第30-31页
        2.3.3 供应商参与产品开发的求解方法第31-32页
        2.3.4 供应商参与产品开发的应用第32页
        2.3.5 供应商参与软件产品开发的必要性和可能性第32-33页
    2.4 构件选择第33-36页
        2.4.1 构件选择的模型第34页
        2.4.2 构件选择的方法第34-35页
        2.4.3 构件的评价方法第35页
        2.4.4 构件选择的其他研究问题第35-36页
        2.4.5 构件选择研究综述小结第36页
    2.5 本章小结第36-38页
第三章 构件供应商参与软件产品设计开发的模糊任务指派模型第38-62页
    3.1 问题背景第38-39页
    3.2 质量功能展开(QFD)概述第39-43页
        3.2.1 QFD的概念第39-40页
        3.2.2 质量屋(HOQ)概念和结构第40-41页
        3.2.3 QFD的瀑布式分解过程第41-43页
    3.3 QFD与软件开发第43-45页
        3.3.1 QFD在软件行业中的应用第44页
        3.3.2 软件质量功能展开模型第44-45页
    3.4 面向CBSD的QFD规划过程第45-47页
    3.5 构件供应商参与软件设计开发的任务指派问题第47-48页
    3.6 构件供应商参与软件设计开发的任务指派数学模型第48-53页
        3.6.1 数学模型第48-52页
        3.6.2 具有模糊偏好关系的单目标模型第52-53页
    3.7 模型求解方法第53-56页
    3.8 算例分析第56-59页
    3.9 本章小结第59-62页
第四章 白盒复用方式下考虑兼容性和复用性的构件选择优化模型第62-80页
    4.1 引言第62-63页
    4.2 构件复用方式及比较分析第63-65页
        4.2.1 构件复用方式的分类第63-64页
        4.2.2 黑盒复用与白盒复用比较第64页
        4.2.3 复用方式对构件选择问题的影响第64页
        4.2.4 不同复用方式的成本构成第64-65页
    4.3 构件兼容性与可替代构件第65-67页
        4.3.1 构件接口之间的关系第65-66页
        4.3.2 构件兼容性的性质第66-67页
        4.3.3 可替代构件第67页
    4.4 考虑构件复用性和兼容性的构件选择问题第67-69页
    4.5 考虑兼容性和复用性的构件选择模型第69-73页
        4.5.1 构件兼容关系的数学描述方法第69-72页
        4.5.2 考虑复用性和兼容性的构件选择问题的数学模型第72-73页
    4.6 算例和仿真分析第73-78页
        4.6.1 小规模算例及结果第73-74页
        4.6.2 实验设计与仿真数据第74-75页
        4.6.3 构件调整概率对软件产品总成本的影响第75-77页
        4.6.4 兼容集合数目对软件产品总成本的影响第77页
        4.6.5 软件功能要求数目对软件产品总成本的影响第77-78页
    4.7 本章小结第78-80页
第五章 多软件产品开发任务环境下构件的选择模型第80-94页
    5.1 引言与背景第80页
    5.2 J2EE平台下利用商业构件实现软件系统的实例第80-83页
        5.2.1 J2EE构件第80-82页
        5.2.2 J2EE容器第82-83页
        5.2.3 J2EE构件的装配第83页
    5.3 多软件产品开发任务环境下商业构件的选择问题第83-85页
        5.3.1 多开发任务环境下的商业构件选择问题的描述第83-84页
        5.3.2 构件兼容性关系的描述第84-85页
    5.4 多开发任务环境下的构件选择模型第85-86页
    5.5 算例、仿真和数据分析第86-93页
        5.5.1 小规模算例及结果第87-88页
        5.5.2 实验设计第88-89页
        5.5.3 AC的数目和复用性对目标的影响第89-90页
        5.5.4 AC数目和可调整性对目标的影响第90-91页
        5.5.5 CS和AC的数目变化时对目标的影响第91-92页
        5.5.6 AC和RC数目变化是对目标的影响第92-93页
    5.6 本章小结第93-94页
第六章 SOA系统实现过程中的构件选择模型第94-114页
    6.1 引言第94页
    6.2 构件与服务第94-99页
        6.2.1 服务的定义第94-95页
        6.2.2 SOA的定义第95页
        6.2.3 服务的特点第95-96页
        6.2.4 服务和SOA第96-97页
        6.2.5 SOA与CBSD的关系第97-99页
    6.3 SOA软件系统设计中构件选择问题第99-101页
    6.4 服务与构件之间关系的抽象第101-105页
        6.4.1 SCA标准第101-103页
        6.4.2 SCA标准的抽象第103-105页
    6.5 考虑软件系统整体内聚和耦合特性的构件选择模型第105-108页
        6.5.1 服务高内聚低耦合的数学描述第105-106页
        6.5.2 数学模型第106-108页
    6.6 模型求解方法第108-109页
        6.6.1 问题编码方式第108页
        6.6.2 交叉变异方式第108-109页
    6.7 算例第109-112页
    6.8 本章小结第112-114页
第七章 考虑开发成本和服务耦合内聚特性的构件选择多目标规划模型第114-130页
    7.1 引言第114页
    7.2 考虑开发成本和服务耦合内聚特性的构件选择问题第114页
    7.3 局部服务耦合内聚特性的度量第114-116页
    7.4 考虑开发成本和服务耦合内聚特性的构件选择数学模型第116-118页
    7.5 SPEA2算法第118-125页
        7.5.1 多目标优化问题第118-119页
        7.5.2 多目标进化算法第119-120页
        7.5.3 SPEA2算法第120-125页
    7.6 决策方法第125-129页
        7.6.1 SPEA2算法的配置第125-126页
        7.6.2 实验数据生成方式第126-127页
        7.6.3 决策方法第127-129页
    7.7 本章小结第129-130页
第八章 结论与展望第130-132页
    8.1 论文工作总结第130页
    8.2 未来研究内容第130-132页
        8.2.1 供应商参与软件产品开发问题第130-131页
        8.2.2 构件选择问题第131-132页
参考文献第132-144页
致谢第144-146页
攻读博士期间发表的论文第146-147页
论文购买
论文编号ABS954672,这篇论文共147页
会员购买按0.30元/页下载,共需支付44.1
不是会员,注册会员
会员更优惠充值送钱
直接购买按0.5元/页下载,共需要支付73.5
只需这篇论文,无需注册!
直接网上支付,方便快捷!
相关论文

点击收藏 | 在线购卡 | 站内搜索 | 网站地图
版权所有 艾博士论文 Copyright(C) All Rights Reserved
版权申明:本文摘要目录由会员***投稿,艾博士论文编辑,如作者需要删除论文目录请通过QQ告知我们,承诺24小时内删除。
联系方式: QQ:277865656