Knowledge Engineering Support for Software Requirements, Architectures and Components
The demands of SE imply a growing need for using AI to support all aspects of the software development process. This chapter provides insights into the application of knowledge based approaches to the development of agile software development, software product line, software components and architecture. In particular, it presents three research systems that demonstrate the potential benefits of utilising knowledge based approaches to support agile methods. The first system, called SoBA, supports the use of a story card for agile software development; the second system, called .NET designer, provides design rationale for choosing appropriate architectural solutions, and the third system, called RAIS, provides reuse assessment and improvement for designing reusable software components.