Full Text
I. Introduction
It is known that in the process of developing software, in addition to the program code itself, various documentation is created [1, 2].
Quality of the documentation affects the next steps in software development. For example, if the formed software requirements contain significant shortcomings, then this will negatively affect the stages of design and implementation of a software product. Or, for example, shoddily developed testing plan and test-cases can contribute that a number of possible errors will not be detected in the program when it is checked.
There are different approaches to improving the quality of program documentation. On the one hand documentation testing methods are used, which consist in verifying its compliance with a certain set of criteria [1]. The use of this type of testing allows you to identify and fix defects in the current version of the documentation.
Testing methods for program documentation and typical criteria for checking are described in detail in the scientific and methodological literature, for example [1, 2]. In particular, the work [1] describes the properties that qualitatively formed software requirements must have (completeness, atomicity, consistency, etc.), test cases (using a competent technical language to describe steps and expected results, maintaining a balance between specificity and generality, between simplicity and complexity, etc.), defect reports (in many ways similar to test cases). In [2], the desired characteristics of software requirements are presented, for example, uniqueness, completeness, and consistency.
On the other hand, there are many CASE-tools to reduce the complexity of the process of preparing documents by a specialist, and, as a result, the negative impact of the human factor [1, 2]. In particular, a brief overview of such tools (for example, software products for compiling test cases and defect reports) is presented in [1].
The level of professional competencies of a specialist (whose responsibilities include the development of this documentation) significantly affects the quality of compilation of program documentation. For example, in order to correctly describe the steps of the test case, the expected results of the test case, the essence of the defect identified in the program, it is necessary to form appropriate skills with the specialist. The use of CASE-tools allows only partially automate the preparation of documents.
An urgent task is the development of automation tools and appropriate algorithms that allow us to assess the quality of practical tasks when training specialists in the skills of developing software documentation. The solution to this problem should be based on the development of computer technologies used to automate the training process, accelerating this process and contributing to the improvement of its results [36].
II. Methodology of automated assessment of the quality of exercises in training development of software documentation
A methodology of assessment the quality of carrying out practical tasks (exercises) has been developed when training beginners in the development of software documentation. The methodology can be used in the course of training of students of higher education and secondary vocational education institutions, as well as in-company training of employees. It is assumed that the instructor (expert) prepares an exercise aimed at the development of program documentation, which is then performed by a group of trainees. An example of such a task could be the development of a set of test cases for a small software system, such as a software module for automatic distribution of the training load in the department.
Application of the considered methodology provides implementation of the subsystem of automated training system (ATS) used for professional training of software developers [6]. The methodology of assessment the quality of execution of practical tasks includes the following steps:
Step 1. The instructor defines many quality indicators for assessment of the document prepared by the trainees: , where a separate quality indicator, the total number of indicators.
In particular, the instructor can use the quality indicators (criteria for testing software documentation) discussed in the literature on software development [1, 2] (as mentioned in the Introduction above). The teacher’s choice of indicators largely depends on: the specifics of a particular software system; regulations and traditions of the organization carrying out the training process (especially in internal training); personal experience in software development.
Let's review an example. To evaluate the quality of the exercise related to building a set of test cases, the instructor selected the following quality indicators (based on the properties of the quality test cases given in [1]): use of a competent technical language in the description of steps and expected results; maintaining a balance between specificity and community; maintaining a balance between simplicity and complexity; being able to detect errors in the program with a high probability; following a sequence in the description of steps and expected results (relative to the purpose of the test case); no unnecessary actions in the description of test-case steps.
Step 2. For each -th quality indicator, a weight is determined, which indicates the importance of this indicator in assessing the quality of the document prepared by the trainee during the exercise.
The instructor sets the input data from which the system then automatically calculates the weights. The instructor can manually adjust the values.
Weights can be calculated both by direct evaluation and by paired comparisons [7, 8].
Using the direct evaluation method, each quality indicator is mapped to a numerical value on a specific scale: , where value associated with -th indicator. The higher the value , the more important -th indicator is when evaluating a particular exercise. The choice of scale depends on the teacher 's knowledge of the features of the compared indicators, as well as on the required accuracy of measurements.
The formula used to calculate weights is: . Continuing to consider the example above (step 1), we compare the values of quality indicators (on a 10-point scale): , , , , .
Where , and weights of indicators are equal: ; ; ; ; .
Using the method of paired comparisons, preference of each quality indicator is established by comparison of all possible pairs of indicators [7]. Initially, a matrix of paired comparisons of indicators is formed, which we will present as , where numerical estimation of preference of -th quality indicator over -th, where , , . On the basis of matrix the weights of quality indicators are calculated:
, where .
A teacher's choice of the most preferred method in each particular situation depends on a number of factors. In particular, if it is easier for the teacher to organize all quality indicators immediately [7], then the method of direct evaluation should be chosen. Otherwise, it is more rational to make a pair comparison of indicators, but in this case it will be necessary to obtain more data from the expert.
Step 3. A training group is given a document development exercise. Trainees perform it in a certain time.
Step 4. At the end of the exercise, the instructor reads the document created by each of the trainees and evaluates it according to the established quality indicators.
For each of the indicators, the score is displayed on a line (when the screen forms are filled in for clarity, the score is displayed in the form of interest), where 0 (0%) means that the document does not comply with the quality indicator, and 1 (100%) means that the score is fully compliant.
The results of this step represent the matrix , where assessment of the document created by the -th trainee ( , and number of trainees in the group) by -th quality indicator.
For this example, assume that the following matrix is obtained from the assessment of the exercise by a group of five trainees for the six quality indicators above:
Step 5. Quality indicator weights are calculated based on the spread of estimates obtained in step 4. Weight for the -th quality indicator, the more the rating relative to this indicator [7]. Calculation of values allows to take into account actual results of assessment of documents created by group of trainees.
The process of calculating the weights can be represented by the following sequence of actions [7]:
5.1. Calculation of average estimates for each -th quality indicator by formula: . For the example of matrix above (step 4), the values of will be:
; ; ; ; ; .
5.2. Calculation of variation values for each -th indicator by formula: . For the reviewed example: ; ; ; ; ; .
5.3. Calculation of the sum of the spread values by formula: . For the reviewed example: .
5.4. Calculation of weights directly by formula: . For the reviewed example: ; ; ; ; ; .
Step 6. Calculation of generalized weights of quality indicators by formula , where and coefficients reflecting the importance of weights and respectively. Here . The following values are used frequently [7]: .
For the reviewed example (when ): ; ; ; ; ; .
In fact, and determine the importance of each of the two types of quality weights ( and ) when calculating the generalized weight. The selection of and depends on different factors. In particular, in determining and , it is essential how reliable and accurate the weights obtained by expert assessment based on the teacher's data. The selection of values and can also be done by analyzing the accumulated data on the document assessment process over a period of time.
Step 7. The system calculates the complex assessment of the document prepared by each -th trainee by the formula: . The teacher can correct the automatically obtained complex assessment.
For the reviewed example: ; ; ; ; .
The higher the complex assessment, the higher the quality of the prepared document. Thus, in this example, the best way to handle the exercise of the trainee 3, the worst the trainee 5.
Step 8. It is possible to convert the obtained value of the complex assessment into a 4-point scale widely used in the education system [9] (this step may be necessary, for example, if students of the educational institution perform the exercise).
For example, the conversion can be performed according to the following rule: «excellent» (5); «good» (4); «satisfactory» (3); «unsatisfactory» (2).
The system initially converts to a 4-point scale automatically, and the teacher can then adjust the score.
Step 9. The teacher can prepare remarks and recommendations for the trainee on the drafting of the document aimed at improving its quality.
III. Subsystem for automated assessment of the quality of exercises in training development of software documentation
Functional requirements for the ATS subsystem, by means of which implementation of the above-mentioned procedure is realized, are presented using the UML use case diagram [2] in Fig. 1.
Fig. 1. Functional requirements for the ATS subsystem
Let's consider models of user interfaces of the created subsystem realized as the web application. The interface for definition the weights of quality indicators (in relation to exercise on development of set of test cases) is provided on Fig. 2. For each indicator the teacher selects value of importance from the revealing list (value from 1 to 10) with a possibility of manual entry. After clicking of the "Calculate" button on the screen the recommended value of weight which the teacher, if necessary, can change manually in a text box is displayed.
Fig. 2. Defining quality indicator weights
The interface for assessment of set of test cases created by the trainee is provided on Fig. 3. Having clicked a hyperlink "Go to viewing the created test cases", the teacher can study the made document. During the assessment process for each quality indicator the teacher selects a value from the list (from 0% to 100%) with the possibility of manual entry. After clicking of the "Calculate" button, the recommended values of complex assessment (on 100-mark and 4-mark scales) which the teacher, if necessary, can change manually are displayed. The text area for input of remarks and recommendations to the trainee on improvement of the document is provided.
Fig. 3. Assessment of set of test cases
IV. Conclusion
The developed methodology allows us to formally (based on the use of mathematical methods) evaluate the quality of compiling program documentation during vocational training. The application of this methodology at the enterprise helps to increase the level of development of skills and accelerate the adaptation of a young specialist:
1) In the course of in-company training, tasks for the development of documentation are issued that are similar to the real production problems that are solved in this organization. The assignment is evaluated by a teacher with extensive experience in practical work on the preparation of documents.
2) At the initial stage of labor activity, the implementation of real production tasks (for some customers) is initially evaluated by a highly qualified specialist (for example, the head of a development team or a leading programmer). On the one hand, this allows you to assess the level of development of skills. On the other hand, a young specialist, based on a list of remarks, can improve the existing version of the document (which helps to improve the quality of the software product as a whole).
Perspectives of further researches in the field of automated scoring of quality of drawing up program documentation are:
1) Involvement of the group of experts for receiving scales of figures of merit and assessment of the document made by the trainee. This situation is possible, for example, when holding the student's Olympiad in higher education institution. As a result, application of methods of group expert assessment will be required [7].
2) Execution of the automatic analysis of documents for their preliminary estimate on some of indicators. For example, implementation of search of phrases it seems "the large volume of data", "low speed", "high quality", "the evident interface" which can confirm incompleteness of work on the document, a possibility of its subjective interpretation [1].