基于面向方面的嵌入式软件产品线建模方法及其支持工具
本文选题:面向方面软件开发 切入点:软件产品线 出处:《吉林大学》2013年硕士论文
【摘要】:处理器技术革新,尤其是多核处理器的出现,极大地推动了嵌入式固件和嵌入式软件的发展。面向对象技术也成为了嵌入式固件开发和嵌入式软件开发的主流。但是,用面向对象技术设计开发软件系统时,即使使用了设计模式,系统中各个模块之间仍然会经常产生代码缠结和散射,,而且难以消除。其次,代码中的缠结和散射对软件模块化造成了破坏,使得代码难以理解和维护,且降低了该模块的可重用性,使得软件难以进化。第三,在用面向对象技术设计软件系统时,需求难以与实现组件建立有效的对应和追踪关系,这影响了系统的复用性和扩展性,也对开发效率造成了很大的影响。 面向方面编程提供了一种更好的模块化机制,对前两个问题给出了近乎完美的解决办法。对于第三个问题,面向方面软件开发提供了一种在软件系统整个生命周期的各个阶段保持涉众关注点的分离的方法,实现了更好的模块化,进而可以构建出易于扩展可复用的且易于理解的软件系统。 软件产品线工程是用核心资产进行大规模定制开发新软件应用的范型。它得益于领域业务规则的稳定性以及业务规则的可规划性,使组织能够从一组密集性系统集合中开发的新应用获得商业利益。软件产品线工程以软件架构为中心,新软件系统的开发必须充分地利用相似系统的“遗产”,在“遗产”上引入个性生产新应用。软件产品线工程方法能够显著地降低成本,增强客户满意度,因而在嵌入式软件开发领域具有广泛的应用。但是,随着业务规则的迅速变化以及跨领域业务合作的越发普遍,传统的软件产品线工程开发也不能快速地响应变化,生产出令客户满意的产品了,有时甚至不能按时交付系统。为了增强软件产品线工程的响应速度,一个欧盟资助的最新的研究项目是将模型驱动开发应用到软件产品线工程中,具体的研究结果还没有第三方给出评估,其效果也难以验证。 正因为面向方面软件开发提供的新颖的模块化特性,能够建立从需求到实现可追踪性,本文把面向方面软件开发应用到嵌入式软件产品线工程中。本文借鉴Lancaster大学Awais Rashid等人提出的面向方面需求工程思想,并对其进行了改进,提出了本文的基于面向方面的嵌入式软件产品线需求工程方法,在用该方法对领域需求进行一系列分析后,得到一组由主关注点和方面组成的关注点集合,并建立需求和关注点之间的映射关联关系。然后从关注点集合中识别和诱导出用户和客户可见的系统的特点,即特征,并对特征进行了分类。利用特征的分类信息,本文提出了建立三层结构表示的特征模型的建模方法,并用方面与特征关联模型描述特征与方面之间的“横切”关系,再通过正交变化模型解决特征模型的短板——特征模型对可变性之间依赖关系的支持不够强大。由于特征是从关注点集合中识别和诱导出来的,特征也能与需求建立映射关联,保证了关注点分离。特征模型、方面与特征关联模型、正交变化模型组成领域模型。最后,本文给出了基于领域模型建立软件产品线参考架构的方法,使得需求与实现组件建立相对直接的、自然的、有效的映射关系。在设计理论上,实现了设计与需求和实现的之间的匹配。 为了验证本文方法的实用性,本文使用一个真实的“便携多媒体播放器”为蓝本,用本文提出的框架进行分析和设计,建立一个便携多媒体播放器软件产品线,并有针对性的开发一个新的软件产品线应用。 本文的工作集中在嵌入式软件产品线工程的领域工程阶段。
[Abstract]:Processor technology innovation, especially the emergence of the multi-core processor, which greatly promoted the development of embedded software and embedded software. Object oriented technology has become the mainstream in embedded firmware development and embedded software development. However, with the object-oriented technology to design and develop the software system, even if the use of design patterns, still between the various modules in the system often cause code tangling and scattering, and difficult to eliminate. Secondly, the code tangling and scattering caused damage to the software module, make the code difficult to understand and maintain, and reduce the reusability of the module, which makes the software difficult to evolve. In third, with a design software system oriented object technology, it is difficult to demand the establishment of effective and corresponding relationship with the implementation of track components, which affect the system extensibility and reusability, caused a great impact on the efficiency of development.
Aspect oriented programming provides a better modular mechanism, given the almost perfect solution to the first two questions. For the third problem, aspect oriented software development provides a software system in the whole life cycle stages involving all concerns keeping method of separating, achieves a better modularity then, can build a reusable and scalable easy to understand software system.
Software product line engineering is the development of new software applications for mass customization with core assets. It benefits the stability in the field of pattern of business rules and business rules of the planning, the organization can obtain commercial benefits from the new application of a set of intensive collection system development. Software product line engineering software architecture centric development. A new software system must make full use of the similar system of "heritage", the introduction of new production in the application of personality "heritage". Software product line engineering method can significantly reduce the cost and enhance the customer satisfaction, which is widely used in the field of embedded software development. However, with the rapidly changing business rules and cross domain business cooperation is more widespread, traditional software product line engineering can quickly respond to changes, produce customer satisfaction products, have very The system could not be delivered on time. In order to enhance the response speed of the software product line engineering, a new EU funded research project will be applied to the model driven development of software product line engineering, the results haven't been given third party assessment, the effect is difficult to verify.
Because of the modular characteristics of novel aspect oriented software development to provide, can be established from the requirements to achieve traceability, the aspect oriented software development applied to embedded software product line engineering. This paper from the party for Lancaster University Awais Rashid et al. Proposed face demand engineering ideas, and its improvement, is put forward the embedded software product line engineering requirements based on aspect oriented approach in this paper. By using this method after a series analysis of domain requirements, get a set by the main focus and constituent concerns, and establish the mapping relationship between needs and concerns. Then in the collection and identification by the user and client are the characteristics of the system, from the focus that features and classify the features. Using the classification information characteristics, this paper puts forward the feature representation of three layer structure Modeling method, and with the characteristics of correlation model describing the characteristics and between "crosscutting" relationship, and then through the orthogonal variation model to solve the short - model characteristic model of plate depends on the variability between the support is not strong enough. Because of the feature from the identification and induced focus in the collection, features to establish the mapping relationship and demand, to ensure separation of concerns. Aspects associated with the feature model, feature model, field model orthogonal change model. Finally, this paper gives a method of software product line reference architecture based on domain model, so the demand and implementation of components to build a relatively direct, natural and effective mapping. The design theory, design and Realization of the match between demand and realization.
In order to verify the practicability of the method in this paper, we use a real "portable multimedia player" is modeled, analyzed and designed the framework presented in this paper, the establishment of a portable multimedia player software product line, and in the development of a new software product line application.
The work of this article is focused on the engineering phase of embedded software product line engineering.
【学位授予单位】:吉林大学
【学位级别】:硕士
【学位授予年份】:2013
【分类号】:TP311.52;TP368.1
【共引文献】
相关期刊论文 前10条
1 陈少波;;企业信息系统评估方法研究[J];东莞理工学院学报;2007年05期
2 程赓;;基于MVC的页面树形架构文件管理设计[J];电脑编程技巧与维护;2011年22期
3 何艳;肖丽;;软件Saas模式下安全风险策略探讨[J];电脑知识与技术;2008年05期
4 杨程;陈未如;;软件架构可靠性评估平台组件库的设计[J];电脑知识与技术;2009年05期
5 刘升贵;;基于UML和ASP.NET的全国计算机等级考试报名系统的设计与实现[J];电脑知识与技术;2010年26期
6 巩文化;张静;唐世庆;党朝发;陈波;;软件构架中接口设计方法[J];电脑知识与技术;2011年10期
7 姚楠;;基于软件产品线的电网GIS研究和开发[J];电力信息化;2010年01期
8 王艳蓉;陆鑫;林庆农;孙超;王玮;;新一代电力自动化软件支撑平台的设计及应用[J];电力信息化;2010年09期
9 刘振涛;黄大丰;曾燕;;雷达组网情报分发软件构架ADD方法实现[J];信息化研究;2010年04期
10 张超;陈骁;;基于抽象描述的数据通信与处理方法研究[J];飞行器测控学报;2009年03期
相关博士学位论文 前5条
1 张弛;用于建立ICF实验控制系统的软件框架研究和开发[D];中国科学技术大学;2006年
2 李玉琴;需求工程与软件产品线若干关键技术研究[D];复旦大学;2007年
3 赵丽娜;基于P2P网络环境的网构软件相关技术研究[D];浙江大学;2007年
4 沈立炜;基于领域追踪模型的软件产品线开发技术研究[D];复旦大学;2009年
5 杨益明;面向软件产品线的开发模型与领域构件逆向抽取[D];复旦大学;2010年
相关硕士学位论文 前10条
1 赵泽峰;交通银行青岛分行综合前置系统的研究和实现[D];西北大学;2010年
2 赖志坚;航空器进离场排序系统设计与实现[D];电子科技大学;2010年
3 王兆霞;城市公交路径无线查询系统的研究与实现[D];东华大学;2011年
4 王新盟;基于Web-GIS城市服务信息查询系统研究与实现[D];东华大学;2011年
5 梁婧艺;轨道交通AFC系统需求建模方法及其应用研究[D];东华大学;2011年
6 崔恺;基于工作流的办公自动化系统的设计与实现[D];南京理工大学;2011年
7 付飞;基于特征分解模式的软件产品线开发技术研究[D];复旦大学;2011年
8 刘征宇;商业银行现金管理系统的实现[D];复旦大学;2010年
9 沙燕霖;高可用分布式旅游电子商务网站设计与实现[D];上海交通大学;2012年
10 崔浩;电子政务公开系统的设计与实现[D];天津大学;2012年
本文编号:1700479
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1700479.html