|
知识路径: > 系统开发和运行维护知识 > 软件工程基础知识 > 软件开发方法 > 软件开发方法新进展 >
|
被考次数:1次
被考频率:低频率
总体答错率:48%  
知识难度系数:
|
由 软考在线 用户真实做题大数据统计生成
|
相关知识点:5个
|
|
|
|
复用是提高效率的基本途径,软件复用是指重复使用已有软件的构件。软件复用被视为解决软件危机、提高软件生产效率和软件质量的现实可行的途径。一般而言,重复使用最为核心的构件是软件代码。面向对象技术的成熟,使得软件复用可以在更全面的范围内得以实施。
|
|
|
|
基于构件的软件开发(Component Based Software Development)是一种典型的软件复用形式,它将软件的生产模式从传统的软件编码工作转换为以软件构件为基础的系统集成和组装。软件构件充当基本复用对象的角色,软件构件技术是软件复用技术的核心和基础。构件是指软件系统中具有相对独立功能、可以明确辨识、接口由契约指定、与语境有明显依赖关系、可独立部署且多由第三方提供的可组装软件实体。构件模型是构件本质特征及构件间关系的抽象描述,包括软件体系结构和构件两部分的定义。
|
|
|
基于构件的软件复用方法的典型代表是卡内基梅隆大学提出的软件产品线方法和欧洲提出的产品家族工程。
|
|
|
|
开源软件的发展,为软件复用提供了更加广阔的空间。开源软件的开放源代码是复用的基本资源。不同于传统的基于构件的复用中争取代码封装以备组装使用的专门技术方案,开源软件的代码复用更多地是通过代码直接调用程序接口(API)来实现的,这对提供高质量、广泛代表性的使用样例(或使用示例)提出了更高的要求,从而也带来了开源软件中软件包关联过于复杂、庞大的系列问题。开源软件的另一主要复用机制则是代码框架的广泛使用,取代传统软件体系结构的专门定义,代码框架成为复用中的体系结构。在框架中增补相对应的软件代码,成为整体协同定制和发展的基础技术。以往的软件复用主要是针对企业局域、小规模的领域和组织,其数据内容、可复用资源数量有限,主要依托工程化方法实施,从开源软件的海量复用资源以及复用机制的转变来看,开源软件复用的核心问题已转变为在互联网广域环境下,面对软件大数据基础,如何高效实现大规模群体敏捷化开发的问题。
|
|
|
|
知识驱动的软件开发方法(Knowledge-driven Software Development,KDSD)已成为当前软件复用的主要研究方向。可复用的软件实体仍然包括了代码片段、API、软件包、Web服务、框架等软件基础资源。复用的核心关注点则转变为以软件知识为核心关注点,研究如何基于特定的知识结构以及认知方法和机制来描述、理解和利用可复用的软件实体。这其中涉及的问题主要包括:
|
|
|
(1)知识的表示:采用语义网络或知识图谱等技术来表达丰富的软件开发知识和领域知识。
|
|
|
(2)知识的来源:可从软件代码获取高度结构化、精简、准确的领域知识体系,也可从丰富的软件相关信息中获取自然语言表达的知识。
|
|
|
(3)知识的语义关联:建立软件代码知识和自然语言知识的关联,形成领域的语义模型。
|
|
|
在此基础上,软件开发工具能够以智能推荐的方式为开发人员提供帮助;更进一步地,可能部分实现基于自然语言需求描述自动生成对应的程序。当代的知识表示、信息检索和机器学习技术为这方面的发展提供了全新的技术途径。
|
|
|