Solved

Versioning Software

Posted on 2004-09-22
5
200 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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 58

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

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Starting up a Project

617 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