Abstract

This article is devoted to the analysis of the situation that has arisen in the practice of using artificial intelligence methods for software development. Nowadays there are many disparate approaches, models, and practices based on the use of narrow intelligence for decision-making at different stages of the life cycle of software products, and an almost complete lack of solutions brought to wide practical use. The article provides a comprehensive overview of the main reasons for the lack of the expected effect from the implementation of Agile and suggests a way to solve this problem based on the use of a self-organizing knowledge model. Based on the heuristic usage of transcendental logic in the terms of "ontological predicates", such a model makes it possible to create a formalism of the semantic representation of the requirements architecture of a software project, which could provide semantic interoperability and an executable semantic framework for automated ontology generation from unstructured informal software requirements text. The main benefit of this model is that it is flexible and ensures the accumulation of knowledge without the need to change the initial infrastructure as well as that the ontology inference engine is the part of the mechanism of collective interaction of active elements of knowledge and not some externally programmed system of rules that imitate the process of thinking.

Highlights

  • 1.1 Common Situation and Trends in the Agile Software DevelopmentIn software engineering, Agile is the result of the development of a project-based approach to working in software engineering over the past several decades

  • The main benefit of this model is its flexibility, it ensures the accumulation of knowledge without the need to change the initial infrastructure to enable semantic interoperability, as well as that the ontology inference engine is part of the mechanism of collective interaction of active elements of knowledge, and not some externally programmed system of rules that imitate the process of thinking

  • Agile methodology has already proven its usefulness and productivity for software development, but it has not fully unleashed its full potential yet, so there is some work to be done for researchers and practitioners alike

Read more

Summary

Common Situation and Trends in the Agile Software Development

Agile is the result of the development of a project-based approach to working in software engineering over the past several decades. The fact is that the key feature of the Agile methodology for software development, which consists in breaking the project into small iterations, during which part of the functionality is implemented, is, as is often the case, its most significant drawback This means that for the successful application of this methodology it is necessary to constantly monitor the dependencies of the modules being developed on those that have already been implemented and a clear vision of the business goals of the project at all stages of its life cycle. The solution to this problem of complexity seems to be self-evident - it is the creation of a project knowledge base capable of integrating with the organization's knowledge management system Under this condition, the knowledge gained during the work on the project will be formalized and manageable, and the artifacts will be valid. Most of these methods, as truly noted in (Perkusich et al, 2020), are still in their infancy for many applications, much more theoretical and empirical research is needed yet

Application of Artificial Intelligence to the Software Development
Fundamental Programming Paradigm Shift
Problem Statement
Formalizing Project Requirements
Requirement’s Formalization Automation Issue
Validation of Software Requirements
Software Requirements Models
Categorizing Domain Knowledge
Relationships between Models in Software Requirements Architecture
Software Requirements Ontological Framework
Conclusion
Findings
Discussion
Notes in Computer

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.