1. A computer implemented method for updating software in an information handling system, the method comprising: using an update applicability data model in the information handling system to define a plurality of relationships between at least one instance of at least one hardware device and at least one instance of at least one associated software component of the information handling system in at least one of an inventory context and a packaging context, wherein the inventory context refers to a comprehensive list of hardware and software discovered on the information handling system and wherein the packaging context refers to a catalog of released software packages available for the information handling system; correlating the at least one instance of the at least one hardware device with the at least one instance of the at least one associated software component in the inventory context to determine which instances of associated software components are loaded for which instances of hardware devices and to which instances of the hardware devices the instances of the associated software are applicable; comparing a first instance of a first hardware device with a second instance of a second hardware device in the inventory context to determine whether the first instances of the first hardware device and the second instance of the second hardware device are of same type or a different type; comparing a first instance of a first software component with a second instance of a second software component in the inventory context to determine whether the first instance of the first software component and the second instance of the second software component are of same type or a different type; comparing a third instance of a third software component in the inventory context with a first instance of a first software component in the packaging context to determine which update package is applicable to which instance of which hardware device in the information handling system and what revision differences there are between the third instance of the third software component in the inventory context with the first instance of the first software component in the packaging context; comparing a second instance of a second software component with a third instance of a third software component in the packaging context to determine whether a first update package and a second update package have different revisions of the same software or completely different software and comparing the same software entity in the packing context; grouping the first instance of the first hardware device and the second instance of the second hardware device in the inventory context to align with packaging preference; grouping the first instance of the first software component, the second instance of the second software component, and the third instance of the third software component in the inventory context and the first instance of the first software component, the second instance of the second software component, and the third instance of the third software component in the packaging context to align with packaging preference; and determining whether to update the at least one instance of the at least one associated software component associated with the at least one instance of the at least one hardware device in the information handling system using the update applicability data model.