La classe CIM_SoftwareFeature définit une fonction ou fonctionnalité particulière d'un produit ou d'un système d'application. ...

La classe CIM_SoftwareFeature définit une fonction ou fonctionnalité particulière d'un produit ou d'un système d'application. Elle capture un niveau de granularité décrivant une unité d'installation, plutôt que les unités qui reflètent la manière dont le produit est créé ou empaqueté (dont les détails sont capturés à l'aide de la classe CIM_SoftwareElement). Lorsqu'un objet SoftwareFeature peut exister sur plusieurs plateformes ou systèmes d'exploitation (par exemple, un composant client d'une application client/serveur à trois niveaux qui s'exécute sur Solaris, Windows NT et Windows 95), l'objet Feature est une collection de tous les SoftwareElements pour ces différentes plateformes. Dans ce cas, les utilisateurs du modèle doivent avoir connaissance de cette situation, car ils seront généralement intéressés par une sous-collection des SoftwareElements requise pour une plateforme spécifique. 
Les SoftwareFeatures sont toujours définis dans le contexte d'un CIM_Product, à l'aide de l'association CIM_ProductSoftwareFeature. Les Features sont remis par le biais de Products. Éventuellement, les SoftwareFeatures d'un ou plusieurs Products peuvent être organisés dans des ApplicationSystems à l'aide de l'association CIM_ApplicationSystemSoftwareFeature.