Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 202
  • Last Modified:

Versioning Software

What are different ways software can be versioned?  I know this is a pretty vague question but I just want to get some kind of discussion started.
0
lcor
Asked:
lcor
4 Solutions
 
Jaime OlivaresCommented:
that will depent which programming language. By example C/C++ have specific facilities for versioning, using macros and pre-procesor directives. By example:

// This macro define your version
#define VERSION_LIGHT

// some code

#ifdef VERSION_LIGHT
    // some version-specific code
#else
    // some other code
#endif
0
 
RanjeetRainCommented:
Typically, compilers are equiped with the logic to generate Version number and assign it automatically. In some IDEs, you can specify, whether you want a static version or self generated. In some cases, you specify the version in a make file.

At the binary level, its the version of your compiled program. THere is no built-in feature at OS level (that i know of) to control versioning. Typically, setup programs perform a version check prior to overwriting an existing binary file.
0
 
brianb99999Commented:
Most common is:
Major Version.Minor Version.Revision/Build
ie
2.3.1

It's common for
Major Version = Major software upgrade/rewrite or changes including database structure modifications.
Minor Version = Minor software changes/enhancements that can include database structure modifications.  This is commonly a patch.
Revision/Build = Small bug fixes, often only displayed in house (ie to the developers).  Never includes database structure modifications, normally you would have a number of builds/revision numbers included within a patch (minor version).

But every company is different...

It is also common to add version information to the database.  A comparison of the database to the software is then applied on software startup to ensure the versions are the same.

Brian.
0
 
Julian HansenCommented:
Windows executables make provision for versioning information a resource segment attached to the executable.

You can set version numbers, build numbers, product description, copyright notices etc. There are various API's that you can use to retrieve this information from the file. GetVersion and GetVersionEx are a good place to start in the Windows environment.

Other ways of versioning would inlcude having the application to output a version number or provide an interface to get a version number based on an external call or a command line parameter. For instance a web application might return a version number based on some input parameter.

0
 
lcorAuthor Commented:
Everyone's input is appreciated.  This helps, thanks!
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now