论文部分内容阅读
随着软件复杂度的增加,软件开发过程的规范化要求越来越严格,需要记录的活动过程和阶段性成果也越来越多。作为以记录软件开发过程中的活动和阶段性成果为研究对象的软件编档研究,也因此越来越受到人们的重视。软件体系结构文档作为对软件系统高层抽象概念的记录,对于指导和约束后续的详细设计和进一步开发有着重要的意义。随着软件体系结构的发展,一些诸如侧面、质量属性等抽象概念逐渐出现,如何对这些高层系统属性进行编档,对于控制软件复杂性、提高软件质量、支持软件开发和复用起到重要作用。
当前软件体系结构高层系统属性的编档研究在如何编写、如何检查一致性及如何阅读三方面存在着挑战。由于软件体系结构编档通常需要多种描述方式以满足涵盖不同角度、不同层次信息的要求,在对系统高层属性进行编档的过程中,如何基于已有的多种描述方式,提供一种指导系统高层属性编档的方法,是目前亟待解决的问题;此外,在系统高层属性的编档过程中,不同系统高层属性所包含的关注点并不相同,然而关注点之间的冲突通常无法直接显现出来。如何检测由关注点引发的隐含冲突,成为了保证文档一致性工作的一个重要组成部分;最后,生成的包含多种描述方法的软件体系结构文档,因其内容庞大,使得用户难以定位到所需的信息,并且对文档的内容及内容之间关系的理解也有一定难度。如何帮助读者进行理解,找到所需信息,也是软件体系结构文档面对的问题之一。
针对上述问题,本文系统地研究了软件体系结构文档的编档方法和技术,主要特色和贡献包括:
1.针对以多描述方式为基础的软件体系结构高层属性编档,提出了以基础文档集为中心的扩展方法。该方法根据软件体系结构的基本概念,定义出一套由模型和细节描述组成的基础文档集。并以软件体系结构基础文档集为中心,以分离编档的内容和形式为出发点,以指南的方式为系统高层属性的编档提供了一种指导。具体方式如下:a.使用一种三维分析法对编档的内容与形式加以分离,将高层系统属性在多描述方式基础上的编档简化为编档内容的扩展;b.以指南的方式,从不同角度和不同抽象层次两方面对编档内容的扩展进行指导;c.就编档内容与表示法的关联关系,给出了一套启发式规则,以指导那些无法在基础文档集中表现出来的部分编档内容如何另行表示。
2.为了在软件体系结构高层属性的编档过程中保证文档的一致性,提出了一种检测由关注点引发的隐含冲突的方法。该方法通过四个连续的活动,将由关注点冲突引发的隐含冲突转化为低层文档中的可见冲突,降低了文档一致性保障的复杂性。
3.为了提高软件体系结构文档的易理解性,提出以体系结构配置模型作为整个文档的组织框架,通过任务来捕获阅读编档的需求,从而形成一个有组织、有顺序、有建议的文档导读来帮助读者对软件体系结构文档进行阅读和理解。
4.最后,基于北京大学自主研制的软件体系结构建模工具ABCToo1,实现了一个软件体系结构编档工具的原型。并通过三个实例分别说明了软件体系结构高层属性编档方法的可用性、编档过程中文档一致性检查的有数性以及软件体系结构文档导读得过程。