|||
随着软件应用范围和程度不断地扩大和深入,软件必须具备更多、更强、更复杂的能力,以应对更加复杂多样的应用需求和环境。软件规模出现了长期性的持续增长,大规模软件的代码行已达到千万甚至亿的数量级。例如,Windows 操作系统的规模从初期(1995年)的1500万行逐渐增长至2007年的6000万行;2011年宝马7 系轿车中软件的规模达到2亿多行;空客A380飞机中软件的规模甚至超过10亿行。当软件的规模和复杂性超出开发者和技术所能掌控的范围,就会使得软件在开发效率、成本及质量上无法满足实际需求,这也是当初软件危机产生并一直持续到现在的根本原因。软件工程作为应对软件危机问题而产生的一个研究和实践领域,其核心目标即是实现对软件复杂性的有效建模与控制。
北京大学科研团队将设计阶段高层结构复杂性的控制模型—软件体系结构模型—扩展到整个软件生命周期,提出了一种以体系结构为中心的软件开发方法—ABC。该方法将软件生命周期各阶段的核心制品与活动,统一到软件体系结构模型及对其连续迭代的细化、映射和转换,实现对软件高层结构复杂性一致、灵活、系统化地建模和管理。关于该研究成果的一篇系统总结性文章发表在《中国科学:信息科学》2014年44卷第5期,题为“ABC:一种全生命周期软件体系结构建模方法”。主要研究人员包括梅宏、黄罡、张路、张伟。
ABC方法萌芽于1999年,2003 年形成雏形,2006 年基本成型,此后又面向互联网软件进行了持续的完善和增强。ABC方法的核心思想是将软件体系结构作为系统开发的蓝图引入到软件生命周期的各个阶段,并利用工具支持的自动转换机制缩小从高层设计到实现的距离, 然后在运行平台的支持下实现自动化的系统生成。为了支持上述过程,ABC 方法实现了特征建模、软件体系结构建模、元建模、构件代码框架生成、服务组装、构件管理、以及构件化软件运行支撑等一系列工具和平台。ABC 方法和工具已在北京2008年奥运会信息系统建模、某军队信息化系统设计与建模、某商业银行信贷风险管理系统开发等项目中得到验证性应用。
作为软件设计阶段的核心制品,软件体系结构一直是软件工程领域的研究重点。与其他研究相比,ABC 方法的特色在于:1)将软件体系结构的基本成分设定为“构件”,而不是粒度更小且常常在代码级别进行复杂性控制的“对象”,并且将构件之间的连接子也作为与构件同等地位的一阶实体;2)通过约束和连接子对运行支撑平台进行体系结构级别的抽象,以充分利用运行支撑平台的能力来实现性能、可靠、安全等系统级质量需求;3)通过同一概念框架将软件体系结构引入需求分析阶段和维护演化阶段,利用不同阶段复杂性之间的内在关联,实现全生命周期的复杂性控制;4)揭示了软件体系结构在多个生命周期阶段的若干特性,包括不同类型需求依赖关系间的关系、需求特征模型与软件体系结构之间的基本关系、系统运行时软件体系结构的机理与性质、系统实现与设计间的逆向追踪性质等。
随着云计算、移动互联网、物联网、大数据等以互联网为核心的新一代信息技术的兴起,软件形态发生了显著变化,其复杂性也呈现出新的特点。全生命周期软件体系结构建模以及ABC 方法在新一代信息技术环境下依然具有其重要的理论和应用价值,但同时也面临着一系列新的挑战和机遇,尤其是在需求建模与知识工程的结合、软件复用与人工智能的结合、以及软件工程云和网络化操作系统的构造等方面,还需要开展进一步的研究工作。
该项研究得到了国家973 计划、863 计划、国家自然科学基金、教育部重大研究计划等各类国家和省部级课题, 以及欧盟第7 框架计划、IBM 大学合作项目、微软大学合作项目等国际合作项目的支持。ABC 方法主体工作“全生命周期软件体系结构建模理论与方法”曾获得2010 年高等学校自然科学一等奖和2012 年国家自然科学二等奖。ABC 方法发表了一系列论文, 曾获ACM SIGSOFT Distinguished Paper, ASE Best Paper Award, CBSE Best Paper Award, ICFI Most Novel DomainAward等多次论文奖, 以及SOCA 和ICSR 等国际会议最佳论文奖提名。
更多详情可见原文:
梅宏, 黄罡, 张路, 张伟. ABC:一种全生命周期软件体系结构建模方法. 中国科学信息科学, 2014, 44(5): 564-587.
链接:http://info.scichina.com:8084/sciF/CN/abstract/abstract514469.shtml
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 10:57
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社