Software Engineering Methods, Standards and Tools
- Posted by author on December 31st, 2008 filed in SQA - Advice Center
- Comment now »
SQA methods, standards and tools are a strict subset of software engineering methods, standards and tools. There are no unique SQA methods. Simply, SQA is interested in the enforcement of methods, standards and tools that contribute to product quality. Certain hardware reliability methods such as redundant fault tolerant software or fault tree analysis of critical systems have been attempted by SQA. If these methods will have merit, they will be adopted as part of general software engineering methods. SQA has been by nature very active in software engineering standardization. The basic idea is to reduce software art into a controlled and well-documented engineering process. In the author’s opinion partisan SQA activity on corporate basis should be stopped.
The most comprehensive software standardization project is being carried out by IEEE. Corporate tuning of these standards is both a waste of time and even harmful. IEEE provides comprehensive guides for the use of its SQA, SCM and SVV standards. The issue of software engineering methods and the tools that implement some of these methods are very complicated. None of the software standards address to any specific method, and for a very good reason.
There is no firm proof that any of the software requirements and design methods contribute to product quality. on the contrary, there is ample evidence that a number of projects have lost time and sustained damage, because a lot of energy was wasted in trying to experiment on new methods and tools at the expense of projects. Particularly harmful are experiments adopted at more advanced project stages. Methods and tools should be frozen at an early project stage. The argument against such a freeze is that the project life-cycle may be very long, say ten years, and methods and tools are at a very dynamic stage of development. However, the customer should be consulted about methods and tools not stated explicitly in the contract. The common approach that the supplier may do whatever is not explicitly against the terms of the contract is a likely path to failure. The following trends in software methods and tools show the best promise for product quality in the author’s opinion:
0. Rapid Prototyping to support joint customer and supplier specification. 1. Application Generators that produce a target code from specification. The enormous success of application generators in commercial data processing is slowly spreading to wider application areas, including computer embedded systems. Application generators free software engineering from low level coding and implementation into high level systems engineering of product specification. 2. Software engineering embedded in Relational Computer Information Architecture. Relational database should cover requirements, architectural design, interface control definition, acceptance test planning and configuration management. SQA should have an important role both in the definition and use of the project relational database. The SQA advantage of this approach is that traceability of testing and design to requirements is gained with minimal effort. Target code data structures can be automatically created from an interface control database, thus eliminating a of lot annual development effort and the need for mechanical checks by SQA against interface errors.
An additional major advantage is an increased management visibility. The basic difficulty in embedding software engineering in relational information architecture is to define the large scale integration required.
4 – Software configuration management tools will be integrated with the software environment in real time. SCM tools that work as off-line post mortem utilities shall be scrapped. Low level configuration management operations shall be generated automatically in parallel to the software development and support process. High level SCM operations shall be part of the relational project information architecture. A new generation of SCM tools is about to be introduced into service within the next two or three years.
5 – Testing Tools that support auto regression testing will enter into extensive use in the next few years. It is likely that most computer vendors will include both static and dynamic testing tools as basic software.
Leave a Comment