![]() |
|
|
|
||
|
Software production for the mass market requires the adoption of techniques and approaches to increase software development productivity. The great pressure to produce has promoted approaches derived from manufacturing, such as component-based development and standardization. The underlying assumption is that the software industry may improve productivity by applying similar approaches to those used in manufacturing. Despite the adoption of reuse, availability of commercial off-the-shelf components, and existence of code generators, middleware, frameworks, and rapid application development tools and techniques, the software industry is still far from the anticipated productivity level. Moreover, software development represents a small part of the software life-cycle as software systems continuously evolve to meet ever changing user needs which may be driven by market pressure, adaptation to legislation, or improvement needs. In today's competitive market, the pressure to increase productivity results in the tailoring of software processes, especially development and evolution processes to eliminate unproductive activities. Establishing and maintaining traceability links and consistency between software artifacts produced or modified in the software life-cycle are costly and tedious activities that are crucial but frequently neglected in practice. Traceability between the free text documentation associated with the development and maintenance cycle of a software system and its source code are crucial in a number of tasks such as program comprehension, software maintenance, and software verification & validation. Finally, maintaining traceability links between subsequent releases of a software system is important for evaluating relative source code deltas, highlighting effort/code variation inconsistencies, and assessing the change history.
|
|
||||||||