?
Использование методов теории принятия решений при проектировании программного обеспечения в соответствии с государственным отраслевым стандартом
The article examines the decision support methods used in the software design in accordance with the State standard GOST 19.102–77 and GOST R ISO/IEC 9126–93. The main stages of the software products design are analysed: the first – technical specifications development, the second – project development, the third – software testing.
A basic project choice is the main part of the scientific research work on the first stage. The article suggests the criteria of the software product quality and effectiveness and offers several group support decision making methods to make a reasonable choice and ranking for these criteria such as: the method for ranking alternatives, the minimum distance method, the expert assessments clustering method. Is given an example of the selection between five alternative projects on the basis of the method for ranking alternatives.
A choice of a programming language is the significant part of the scientific research work on the second stage. The task of choosing a programming language is a multi-objective one, where a number of criteria is considerably more than a number of alternatives. Offers apply group expert procedures or individual support decision making methods that allow using of numerical and linguistic criteria such as: the method for ranking alternatives, the direct rank appointment method, the method of pairwise comparisons and the minimum distance method. Is given an example of a programming language selection with the help of the method of pairwise comparisons.
A choice of a test ware is the third stage of the scientific research. A review of existing test classes is provided. We consider two examples: of a test ware selection using the method of analytical hierarchies and ranking test classes based on the minimum distance method.
The article proposed a set of best practices for decision support, and examples of the methods under consideration during the design of the software.