其他分享
首页 > 其他分享> > 特征模型和特征-这是什么?

特征模型和特征-这是什么?

作者:互联网

“ 大家好,这是【产品线工程(PLE)专题】更新的第四篇,上一篇我们介绍了‘版本、变体和其他的基础定义’,这一篇我们介绍特征模型和特征-这是什么”

非正式地谈论可变性是很有趣的一件事,但最终还是需要以一种“标准”的方式来捕获可变性的信息。在研究和工业界中有很多方法来捕获可变性信息,其中较流行的方法被称为特征建模。本文将对特征模型的基本概念进行解释,并且对于回答“什么是特征?”这个有趣的问题给出一些提示。

在这里插入图片描述

© pure-systems GmbH

问题空间的特征

简而言之,特征模型是简单的、分层的模型,其可以捕获到产品线的共性和特异性。问题空间(Problem Space)中的每个相关特性都会成为特征模型中的一个特征。这意味着,特征是系统中与利益攸关者(Stakeholder)相关特性。根据利益攸关者的利益不同,一个特征可以是一个需求、一个技术功能、一个功能组,或一个非功能(质量)特征。坏消息是:特征模型是一个用于描述共性和特异性的抽象概念。需要为每条产品线单独决定特征究竟是什么。不过,特征的定义一般是与它们的实现是解耦的,即与解空间(Solution Space)解耦。

例如,如果汽车颜色是一个特征,其有个不错的名字“深海蓝”。这个名字永远不会提到特定的油漆供应商的订单号。这是因为特定的供应商与其订单号是存在于解空间的。对软件来说也是一样的:特征是映射到单个功能还是分布在数十个组件中,是无关紧要的。如果利益攸关者认为它是一个相干的属性并且其代表了特异性,那么它就是一个特征。

特征树和变形类型

特征模型有一个树状结构:特征构成树的节点,可变性由节点之间的弧及其通过变形类型分到的组中表示(译者注:特征是节点,特征之间的关系是边。特征的父节点可以有多个子节点,每个特征都具有变形类型并且会按照变形特征分组)。目前在大多数特征建模方法中,有四种的变形类型可供选择。“强制”(Mandatory)、“可行”(Optional)、“多选一”(Alternative)、“或”(Or)。每个特征可以有多个具有不同变形类型的特征组作为子组(假设某个变形类型子组中特征总数为n)。在进行某一个变体的特征选择时,规则为:当一个父特征在该变体中被选择时,其子特征中:

标签:产品线,这是,特征,模型,中间件,一个,可变性
来源: https://blog.csdn.net/Hirain1234/article/details/122337968