often Wikidata has an item only for a software as a whole and not for its versions.
As a consequence, often software version identifier (P348) lists major version, minor versions, releases... all mixed together. Needless to say that I've never seen something like version type (P548) → minor version as a qualifier (it doesn't even exists an item like "minor version").
First, create an item for every version (major, minor...) of every software.
In order to organize the hierarchy of items about books we have a common model (FRBR: Work → Expression/Manifestation → Exemplar) and so we need only two propertes to link Work with Expression/Manifestation (has edition or translation (P747) and its inverse edition or translation of (P629)) and Expression/Manifestation with Exemplar (exemplar of (P1574)).
With software versions, such a common model doesn't exists (as far as I know). To represent all the various version numbering schemes (for example, MAJOR.MINOR.PATCH or MAJOR.MINOR.REVISION.BUILDNUMBER) adopted by softwares, I think we have two options:
create a property (and its inverse property) for every version type: we'll have "major version", "major version of", "minor version", "minor version of", "build", "build of", "release", "release of"... properties;
create only a "software version" property (different from software version identifier (P348) because with an item datatype) and its inverse "software version of" AND consistently use version type (P548) qualifier.
Create a "software version" property and use version type (P548) as qualifier in order to indicate the version type.
Optionally, create a "software version scheme" to verify that the version scheme is respected.