Creating modern software products is a complex and long process consisting of many parts. To achieve quality, it is necessary to carry out various measures for testing and verifying software at all stages of development. This article discusses the software design stage, which is integral and one of the most important. In most software development life cycle (SDLC) models, this stage is one of the first, so design mistakes will lead to problems in all subsequent stages. Thus, due to the high cost of error, it is very important to check the integrity of the developed design at the design stage. The article examines the problem of finding contradictions in object-oriented design. The authors present a set of contradictions that can arise in such a design and aim to develop methods and algorithms for detecting and searching for these contradictions in order to improve the quality of the design, as well as writing software that will implement these algorithms and methods. The program "diagrams.net" was chosen as a tool for creating object-oriented design, the main useful feature of which is the ability to present the created diagrams in the form of an XML file in the popular drawio format. The authors of the study propose a method for parsing the XML file of the diagram and presenting it as a set of objects, such as dependency arrows, classes, methods, etc. These objects must interact according to the established rules.The violation of these rules is a contradiction of the object-oriented design. As a result of the study, a method of finding contradictions was presented and implemented in the Java programming language.
Read full abstract