|
|
Links to Definitions> | |||||||||||||||||||||||||
What is the Software Process
What is Software Configuration Management What is a Version System What is Software Construction What is Software Process Automation What is the QEF Software Process Automation System?
What is the Software Process
|
|
The Software Process is the complete set of procedures needed to produce and
maintain a software product. This process covers a great many stages,
specification and design, implementation, building the programs and
verifying the contents of the product. There is also the maintenance phase in
which new features are added and bugs are fixed.
|
What is Software Configuration Management
|
|
Configuration Management is a term from conventional manufacturing. The
dictionary definition of a configuration is something that results from a
particular arrangement of parts or components. In software, the parts are
things such as program source code, images, and datafiles. A big difference
for software is that all of these parts are different. When you make widgets
you may use a million bolts, but they're all basically the same. If you lose
one, you can easily get an equivalent part. In software, each part is unique
and can't be replaced.
| Once you have all of your software "parts", you have to arrange them to produce your product. Each part may have to go through a number of steps or transformations before being assembled into the final product. We are now talking about many thousands or million of steps to build a software product. This combination of software parts plus processing steps is called a Software Configuration. If you sell several versions of your product, for example, a domestic version, export versions or a "lite" version, you will then have one Software Configuration for each version.
What is a Version System
|
|
A version system is essentially an inventory system for software components.
As discussed above, a large number of parts go into a software product. A
version system stores all of these parts and records which part goes into
which configuration of your product.
| Version systems also deal with another peculiar aspect of software systems. A software component can change over time. In the first version of a product, you might have an image with a blue background. In the next release, the marketing department requests that it have a red background instead. The engineering department makes the change and records that change in the version system. We are still talking about the same part but it's a different version of the same part. When the person building the product requests the set of parts from the version system for the new release, they will get the image with the red background. If there is a request to rebuild the older version of the product, then the builder will request the set of parts for that version and gets the image with the blue background.
What is Software Construction
|
|
Software construction is the application of a set of procedures needed to
assemble the product. Once you have the set of parts for a particular
configuration, you need to apply this set of procedures. Such assemblies may
involve many programs such as compilers, loaders, installation and
configuration tools. This is software construction. There are a number of
tools on the market that address some aspects of software construction but,
for the most part, this aspect of configuration management is still largely
manual, except for QEF.
|
What is Software Process Automation
|
|
Software Process Automation is the automation of every aspect of the software
process. Commercial version management systems automate retrieving the parts
for your product and there is some support for software construction. A true
software process automation system brings all of these pieces along all
phases of the software process such as verification, auditing and testing,
together into a single unified automated system.
|
What is the QEF Software Process Automation System?
|
|
QEF is the only commercial product available today that addresses Software
Process Automation. It can drive all phases of the software process. It
integrates with the version management system, with the test and auditing
tools, and can drive all of the construction processes within a unified
framework. It is available on all major platforms from PCs through to
mainframes, thereby providing a consistent solution across the entire range
of a company's systems and eliminating the need to have different processes
for different environments. Its flexible nature makes it suitable for
projects ranging from small internal projects to major enterprise-wide
applications and products.
| |
definitions.qh - 1.11 - 03/10/24 |