Hybrid Approach Using Artificial Intelligence for Software Systems Development Tasks
摘要
The development of new software systems is faced with ambiguity and uncertainty of terms used in natural language statements to describe the needs of the customer (user). This leads to a discrepancy between the software system and its original concept and requires multiple iterations of refinement. In turn, generative artificial intelligence (AI) is a tool that can interpret ambiguous and uncertain terms, providing answers in the form of program code with high relevance to the task at hand. In theory, this should reduce the number of refinement iterations and produce working prototypes of systems at early stages. However, the applicability of generative AI is limited to typical tasks. In the tasks of creating innovations (new types/functions of software tools that have not been encountered before), generative AI is not able to directly produce the required result. To solve the problem and use the potential of generative AI, it is necessary that the latter is used not as the creator of the entire program code, but as an assistant in the implementation of individual design solutions. The paper proposes a hybrid approach that uses generative artificial intelligence as an auxiliary tool that complements the user’s natural intelligence. The hybrid approach is based on the method of formalizing the customer’s (user’s) statements in natural language and the step-by-step synthesis of a software system based on them. The software system is presented by the hybrid approach as a unity of methods for determining data storage structures, methods for formalizing the processing logic, and methods for determining the logic of interaction with the user. Generative AI in the proposed hybrid approach is used at various stages of the software system synthesis procedure as a means for generating alternatives when eliminating the ambiguity of terms used in natural language statements to describe the customer’s (user’s) needs.