Solved

Versioning Software

Posted on 2004-09-22
5
188 Views
Last Modified: 2012-03-15
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
Comment
Question by:lcor
5 Comments
 
LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 100 total points
ID: 12125999
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
 
LVL 19

Assisted Solution

by:RanjeetRain
RanjeetRain earned 100 total points
ID: 12126016
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
 
LVL 5

Accepted Solution

by:
brianb99999 earned 200 total points
ID: 12128506
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
 
LVL 51

Assisted Solution

by:Julian Hansen
Julian Hansen earned 100 total points
ID: 12131333
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
 

Author Comment

by:lcor
ID: 12143259
Everyone's input is appreciated.  This helps, thanks!
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
This is an explanation of a simple data model to help parse a JSON feed
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now