王朝百科
分享
 
 
 

领域工程

王朝百科·作者佚名  2010-05-12  
宽屏版  字体: |||超大  

领域工程
基于领域工程的软件开发

领域工程的定义领域工程是在构造一个特定领域内的系统或者系统的某些部分时,以可重用方面的形式(也就是说,可重用的工作产物),收集、组织并保存过去的经验的活动,以及在构造新系统时,提供一种充分的方法来重用这些资源(也就是说,获取、限定、改造、装配等等)。

如何理解领域工程大多数软件系统可以根据业务领域和它们支持的人物类型来划分类别,例如,定期航班预定系统、医学记录系统、证券管理系统、订单处理系统、库存管理系统等等。我们把根据系统类别而组织的领域称为纵向领域(vertical domain)。类似地,我们也可以根据软件系统部件的功能把它们分类,例如数据库系统、容器库、工作流系统、GUI库、数值代码库等等。我们把根据软件部件的类别组织的领域称为横向领域(horizontal domain)。

领域工程与应用工程的联系领域工程包括领域分析、领域设计和领域实现。在应用工程(Application Engineering)中重用领域工程的结果,就是利用在领域工程中开发的可重用资源制作具体系统的过程。领域工程和应用工程是两个并行的过程。

面对日益复杂的软件系统,软件复用被认为是解决“软件危机”、提高软件开发效率和质量、实现软件产业工业化生产方式的重要途径。

软件复用的研究和实践表明,特定领域的软件复用活动相对容易取得成功。这里的领域是指一组具有相似和相近软件需求的应用系统所覆盖的功能区域。领域的内聚性(领域知识逻辑上的紧密相关性)和稳定性(在一定时间内,领域知识不会发生剧烈的变化)为软件复用活动提供了可供复用的软件资产和潜在的经济利益,使得特定领域的软件复用相对容易获得成功。

软件复用包含两个重要阶段:可复用软件资产的生产(和基于可复用软件资产的应用系统开发。可复用资产的获取是成功实施软件复用计划的关键因素。只有拥有了足够的可复用资产,才有可能基于这些资产进行新应用系统的开发。

领域工程是目前可复用资产基础设施建设的主要技术手段,包含领域分析、领域设计、领域实现三个重要的活动。领域分析在对领域中若干典型成员系统的需求进行分析的基础上,考虑预期的需求变化、技术演化、限制条件等因素,确定恰当的领域范围,识别领域的共性特征和变化特征,获取一组具有足够可复用性的领域需求,并对其抽象形成领域模型;领域设计以领域需求模型为基础,考虑成员系统可能具有的质量属性要求和外部环境约束,建立符合领域需求、适应领域变化性的软件体系结构;领域实现则以领域模型和软件体系结构为基础,进行可复用构件的识别、生产和管理。这样,基于领域工程的成果,新应用系统的开发不再是从零开始,而是建立在对分析、设计、实现等阶段的软件资产大量复用的基础上。

学术界对领域工程的系统化研究开始于八十年代初期。经过二十多年的发展,目前对于领域工程具有代表性的研究和实践工作包括:卡耐基 梅隆大学软件工程研究所早期提出的面向特征的领域分析方法和现阶段的软件产品线方法,乔治 梅森大学提出的演化的领域生命周期模型,贝尔实验室提出的面向家族的抽象、规约和翻译的领域工程方法,韩国浦项科学与技术大学在FODA方法基础上提出的面向特征的复用方法,惠普实验室综合FODA方法和RSEB方法提出的FeatuRSEB方法,德国Fraunhofer Institute for Experimental Software Engineering的产品线软件工程方法,以及北京大学提出的青鸟面向对象的领域工程方法等。

产业界对软件复用的实践活动在系统化的领域工程方法出现以前就已经开始了。但这些早期的软件复用活动仅仅出现在少数发展十分成熟的领域内。在现阶段,软件复用相关技术的发展为软件复用活动提供了基本的技术支持。国外一些企业,如,朗讯、惠普、飞利浦、诺基亚等,均设有专门的机构进行软件复用及其相关技术的研究,并积极在本企业内推行软件复用的生产模式。

应该看到,即使在软件技术较先进的国家,对领域工程的研究和实践也还没有达到成熟的阶段。一方面,作为一种新的生产模式,软件复用要求对现有的软件开发方式做出相当的变革,这需要企业的高层决策者对软件复用有深刻的认识和坚定的支持。另一方面,现有的领域工程方法本身还不够成熟完善,在实施过程中还存在较大的风险。这些因素在很大程度上阻碍了软件复用在产业界的广泛应用。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有