摘要:处理器技术革新,尤其是多核处理器的出现,极大地推动了嵌入式固件和嵌入式软件的进展。面向对象技术也成为了嵌入式固件开发和嵌入式软件开发的主流。但是,用面向对象技术设计开发软件系统时,即使利用了设计方式,系统中各个模块之间仍然会经常产生代码缠结和散射,而且难以消除。其次,代码中的缠结和散射对软件模块化造成了破坏,使得代码难以理解和维护,且降低了该模块的可重用性,使得软件难以进化。第三,在用面向对象技术设计软件系统时,需求难以与实现组件建立有效的对应和追踪联系,这影响了系统的复用性和扩展性,也对开发效率造成了很大的影响。面向方面编程提供了一种更好的模块化机制,对前两个不足给出了近乎完美的解决办法。对于第三个不足,面向方面软件开发提供了一种在软件系统整个生命周期的各个阶段保持涉众关注点的分离的策略,实现了更好的模块化,进而可以构建出易于扩展可复用的且易于理解的软件系统。软件产品线工程是用核心资产进行大规模写作开发新软件运用的范型。它得益于领域业务规则的稳定性以及业务规则的可规划性,使组织能够以一组密集性系统集合中开发的新运用获得商业利益。软件产品线工程以软件架构为中心,新软件系统的开发必须充分地利用相似系统的“遗产”,在“遗产”上引入个性生产新运用。软件产品线工程策略能够显著地降低成本,增强客户满意度,因而在嵌入式软件开发领域具有广泛的运用。但是,随着业务规则的迅速变化以及跨领域业务合作的越发普遍,传统的软件产品线工程开发也不能快速地响应变化,生产出令客户满意的产品了,有时甚至不能按时交付系统。为了增强软件产品线工程的响应速度,一个欧盟资助的最新的探讨项目是将模型驱动开发运用到软件产品线工程中,具体的探讨结果还没有第三方给出评估,其效果也难以验证。正因为面向方面软件开发提供的新颖的模块化特性,能够建立以需求到实现可追踪性,本论文把面向方面软件开发运用到嵌入式软件产品线工程中。本论文借鉴Lancaster大学Awais Rashid等人提出的面向方面需求工程思想,并对其进行了改善,提出了本论文的基于面向方面的嵌入式软件产品线需求工程策略,在用该策略对领域需求进行一系列浅析后,得到一组由主关注点和方面组成的关注点集合,并建立需求和关注点之间的映射关联联系。然后以关注点集合中识别和诱导出用户和客户可见的系统的特点,即特点,并对特点进行了分类。利用特点的分类信息,本论文提出了建立三层结构表示的特点模型的建模策略,并用方面与特点关联模型描述特点与方面之间的“横切”联系,再通过正交变化模型解决特点模型的短板——特点模型对可变性之间依赖联系的支持不够强大。由于特点是以关注点集合中识别和诱导出来的,特点也能与需求建立映射关联,保证了关注点分离。特点模型、方面与特点关联模型、正交变化模型组成领域模型。最后,本论文给出了基于领域模型建立软件产品线参考架构的策略,使得需求与实现组件建立相对直接的、自然的、有效的映射联系。在设计论述上,实现了设计与需求和实现的之间的匹配。为了验证本论文策略的实用性,本论文利用一个真实的“便携多媒体”为蓝本,用本论文提出的框架进行浅析和设计,建立一个便携多媒体软件产品线,并有针对性的开发一个新的软件产品线运用。本论文的工作集中在嵌入式软件产品线工程的领域工程阶段。关键词:面向方面软件开发论文软件产品线论文特点模型论文软件架构论文
摘要4-6
Abstract6-10
第1章 绪论10-16
1.1 课题背景及作用10-12
1.2 探讨近况12-13
1.3 本论文主要工作13-14
1.4 本论文组织结构14-16
第2章 背景知识16-24
2.1 软件产品线16-18
2.2 特点和特点模型18-19
2.3 正交变化模型19-20
2.4 软件架构20-21
2.5 面向方面软件开发21-24
2.5.1 面向方面需求工程21
2.5.2 面向方面软件架构21
2.5.3 面向方面编程21-22
2.5.4 面向方面编程语言——AspectJ22-24
第3章 基于面向方面的嵌入式软件产品线建模策略24-45
3.1 策略概述24-26
3.2 基于面向方面的嵌入式软件产品线需求工程26-34
3.2.1 基于面向方面的嵌入式软件产品线需求工程概述26-27
3.2.2 识别涉众需求和关注点27-29
3.2.3 关注点与涉众需求建立粗糙联系29-30
3.2.4 识别主关注点与候选方面30
3.2.5 组合30-31
3.2.6 处理冲突31-32
3.2.7 校验需求32
3.2.8 对关注点进行分类32-34
3.2.9 关注点组织34
3.3 识别特点34-36
3.3.1 特点组织34-35
3.3.2 特点划分35-36
3.3.3 识别和诱导特点36
3.4 特点建模36-38
3.4.1 建立特点模型36-37
3.4.2 特点模型视图37-38
3.4.3 验证和确认特点模型38
3.4.4 方面与特点关联模型38
3.5 建立正交变化模型38-39
3.6 定义参考架构39-42
3.6.1 架构视图39
3.6.2 在架构中利用方面39-40
3.6.3 参考架构层次划分40
3.6.4 参考架构构建历程40-42
3.7 运用需求工程42-43
3.8 需求差别浅析43
3.9 写作运用变化模型43
3.10 写作运用架构43-44
3.11 运用实现44-45
3.11.1 配置可重用组件44
3.11.2 实现特定运用组件44-45
第4章 便携多媒体实例浅析45-60
4.1 领域工程45-56
4.1.1 基于面向方面的嵌入式软件产品线需求工程45-47
4.1.2 识别特点47-48
4.1.3 特点建模48-52
4.1.4 领域方面与特点关联特点模型建模52-53
4.1.5 领域正交变化模型53-54
4.1.6 定义参考架构54-56
4.1.7 领域实现56
4.2 运用工程56-60
4.2.1 运用需求工程与需求差别浅析56
4.2.2 写作运用变化模型56-58
4.2.3 确定运用架构58-60
第5章 支持工具设计与实现60-65
5.1 支持工具设计60-61
5.2 支持工具实现61-65
第6章 总结与展望65-67
6.1 总结65-66
6.2 展望66-67