1. Introduction
The advent of artificial intelligence (AI) [
1] in major fields has demonstrated successful and failed applications. The failures have been associated with biases in the data-training phase of the AI system development, incorrect application of AI, and poorly designed systems. A major concern of the expanding development and application of AI software systems is the knowledge and training of the developers of these systems.
In this study, we propose a methodology for addressing the pedagogical preparation of students at the tertiary level of education, for students who will be entering the workforce. The terms software engineering (SE) and software development (SD), and their acronyms are used interchangeably in this article.
Two aspects of software engineering pedagogy are addressed in this article for undergraduate and graduate education. Students are introduced to AI tools as an aid in software development. Rather than viewing AI tools as a challenge in academia, software development tools and support are explained in integrated development environments (IDE), such as MS Visual Studio 2022, Eclipse 2025-03, GitHub 3.16, etc. The implicit intent is for students to view AI tools as aids, rather than instruments of cheating. The second aspect is to leverage the benefits of AI tools in bridging the gap that exists in classroom software engineering projects and real-world industrial tasks. This is implicitly derived from available AI tools used in industry, rather than in the classrooms. Thus, challenging (industry-level) projects can be attempted in a semester of learning, by exploiting the benefits of available industrial-quality AI tools.
2. Related Works
Lu et al. present their work as “a Roadmap on Software Engineering for Responsible AI” to propose a set of principles for AI development, across the perspectives of “Governance”, “Process”, and “System” [
2]. They compartmentalize their perspective of governance into three areas, namely industrial, organizational, and team. The process is defined as software engineering best practices, and the system perspective is classified into architectural style and patterns and system-level techniques.
From the governance perspective, the established regulations and ethical principles are reviewed for responsible AI software development at the identified levels [
2]. A set of software methods and best practices are incorporated into AI software development [
2]. From the system perspective, a set of architectural and design patterns are outlined to explain AI software development; these include the co-architecture of AI components and non-AI components [
2].
The result of Lu et al. [
2] applies to the industrial realms as an operationally responsible AI development strategy. It does not have any specificity for academia or training, but the principles outlined in this roadmap have applicability to academia. The detailed topics of team-level perspective are incorporated in this proposed “Applying AI in Software Development Education” [
2]. The specific team-level topics are applicable in tertiary pedagogy as conformance to standard processes such as AI and non-AI development, continuous documentation, open processes, automated processes by using tools, and model-based process assessment [
2].
The article “Computing Education in the Era of Generative AI” [
3] presents a comparative look at AI-produced work versus that of students. The researchers looked at the class of AI applications known as large language models (LLM) [
4], which are characterized by their application to diverse domains. Denny et al. [
4] examined the performance of students on two examinations, against that of GitHub 3.16 CoPilot 365 and OpenAI GPT-4. They also examined the Python 3.11 code generated by AlphaCode 2 [
3].
Denny et al. [
3] indicated that the current state of AI in education is not a panacea. Their work demonstrates that students can outperform the identified AI tools, which suggests that substituting AI tools for individual work is not a solution for improved performance. The associated ethical principles are an implicit component of the presented pedagogy methodology developed [
3].
Grant [
5] addresses the proliferation of education software engineering publications that offers a varying combination of topics but lack a holistic approach to teaching the relationships of the topics. Grant points out that the research is not intended to be another publication on SE but an attempt to address the “perceived deficiencies in existing works of this kind” [
5].
After reviewing a set of seminal textbooks on SE, a model-driven methodology that incorporates the software development life cycle (SDLC) of requirements engineering, high-level design, low-level design, and detail design is presented. Each phase of Grant’s methodology is presented as a package of UML [
6] models that exhibit stereotype intra (within phase) and inter (across phases) associations. A key feature of this methodology is the definition of relationships of “input”, “output”, “define”, “refine”, and “transform” to specify the types of associations. In this study, the methodology in Ref. [
5] is elaborated to address the input to and output, i.e., the SDLC phases of requirements elicitation, and system testing, which are not explicitly addressed in [
5].
The remainder of this report is as follows.
Section 3 presents a rationale/motivation for this work, which is followed by the proposed methodology. The rest sections explain the assessment of the proposed methodology and conclude the study.
4. Methodology
We defined a framework for students to understand the technical and ethical benefits of using AI tools in SDLC for reliable and correctly developed software products.
4.1. Research Framework
Grant [
5] presents a UML diagram for a SDLC framework that forms the nucleus of the proposed research as shown in
Figure 1.
Figure 1 does not present specific requirements for elicitation or unit and system testing. SE textbooks do not provide a roadmap for structuring activities, inputs, and outputs of the phases of the SDLC [
5]. We add the layers to the framework of
Figure 1 for requirement engineering and unit/system testing.
4.2. AI for Requirement Engineering/Elicitation
The reason systems have failed to offer the desired functionalities and features and operate in a safe or correct manner is that software developers do not correctly understand the requirements of the system. This usually stems from incomplete and/or misunderstood system requirements. Even with complete requirement specifications, developers might misunderstand the statements because of the ambiguity of written language.
The application of AI is successful for natural language processing. Denny et al. examined the performance of AI applications in solving programming assignments. By taking in a textual description of the programming assignments and generating a computer program, a solution to the assignment is found. LLM [
4] is widely used in general domains. LLMs are used to solve a myriad of problems because they learn statistical relationships in text documents in a computationally intensive deep-learning process.
4.2.1. LLM
LLMs are AI applications, pre-trained on large diverse datasets and are applied in processing natural language problems and situations [
8]. While there have been successful uses of LLMs in various applications, the outputs are challenging due to incorrect outputs and difficulties in the training phases of usages. Shirui et al. [
9] list the pros and cons of LLMs. The advantages are as follows: (1) general knowledge of problems, (2) excellent performance in understanding natural language, and (3) generalizability of results [
9]. Its disadvantages include the following: (1) it is not possible to verify several outputs from LLMs, (2) the generation of false results that seem correct, (3) their computation process is based on probabilities that are not controllable, and (4) LLMs learn from a large general corpora of data making their application in specific well-defined problem domains challenging because of the large training data noise.
4.2.2. Knowledge Graphs (KG)
To address the disadvantages of LLMs, Shirui et al. [
9] integrate LLMs’ processing with KG [
10]. Since the term knowledge graph was popularized by Google, the concept has been researched during the early days of AI. KG is used to synthesize data descriptors from multiple sources through relationship links. Shirui et al. [
9] identify the advantages and disadvantages of KG.
KG stores knowledge in a structural format, i.e., (node, relationship, node), (2) the relations can be verified, (3) facilities symbolic reasoning that allows for human understandability of the reasoning process, (4) allows domain-specific knowledge reasoning for precise domain-specific application, and (5) permits the evolution of the stored knowledge [
9]. On the contrary, they are hard to construct and are usually incomplete, (2) language understandability is not available, and (3) because of the dynamic changes in KG knowledge, it is difficult to anticipate and model new facts [
9]. Shirui et al. [
9] leverage the advantages of LLM and KG (
Figure 2) in Ref. [
9].
4.3. Applying AI to Requirements Elicitation
Requirement engineering is the initial phase of the SDLC and encompasses a set of activities. The outcome of requirements elicitation is the system specification that identifies the functionalities of the system under development. This involves extracting from printed and electronic texts, audio and video recordings, and oral descriptions of the system requirements obtained from the system stakeholders. This stage of development is challenging as many stakeholders are non-technical personnels and deliver their products in their native forms.
Developers struggle with requirements elicitation. Therefore, errors occur in the system specification. AI has demonstrated its usefulness in parsing and analyzing various forms of human-readable information which is this feature of AI. AI techniques are applied to the stakeholder’s system requirement documents, and the output of the IA processing is verified and validated by software developers in collaboration with the stakeholders.
4.4. AI Tool Selection
AI tools applied to the desired framework are identified. The LlamaIndex tool is selected after an extensive search. LlamaIndex is an LLM class AI open-source tool to build retrieval-augmented generation (RAG) applications. RAG-class LLMs are designed to address the limitations of general LLMs such as the generation of false information, stale or generic information, responses from non-authoritative sources, and inaccurate responses [
9]. Those restrict LLM to access relevant information from authoritative, pre-determined knowledge sources
4.5. AI in SD Pedagogy
The pedagogical approach to applying AI in software development in the classroom includes the following steps with the theory of an SD/SE project-based course:
Instruction on the SDLC framework, based on a modified version of
Figure 1 that adds a requirement elicitation phase as the first in the SDLC. A key to this activity is to teach the model-driven approach in the automatic code-framework generation at the end of the detailed design phase (2 weeks).
There is no instruction on the AI techniques of the tool for students to be trained in using the tool as an aid in SD without focusing on AI. The LlamaIndex generated KG is used to develop the requirements class diagram and use case diagram of the requirement engineering phase as depicted in
Figure 1 (1 week).
Instruction on the StarUML tool for model development throughout the requirement engineering, requirements class diagram, and use case diagram of high-level design, low-level design, and detail-level (1 week).
Instruction on MS Visual Studio (VS) IDE for code development in the next phase of the SDLC after phase 1 activities (1 week).
Instruction on and presentation of the course team-based term project includes descriptions of the project requirements (processed through LlamaIndex). The project deliverables project progress report, AI-generated software system specification, models from all design phases, MS VS project code, a final project report, and a presentation and demonstration of the developed project.
This course is offered for one hour, three times per week, for a 16-week semester. Starting in the sixth week, one session per week is dedicated to in-class project activities to ensure that the teams are progressing with the necessary guidance and mentoring. There are pre- and post-surveys to capture qualitative and quantitative data of the students’ initial and closing views on the course pedagogical approach.
5. Results and Discussions
Preliminary research was conducted to identify an industrial-strength opensource AI tool for college graduates and upper-level undergraduates in software development courses. An example of a simplified KG from the selected LlamaIndex application is presented in
Figure 3.
Figure 3 presents the requirements of a university learning management system (LMS). LlamaIndex is capable of automated knowledge graph generation and captures the functionality from the requirements for a request to remove a professor from the system listing: “The system displays the professor information. The system asks the Registrar to confirm the deletion of professor. After the Registrar verifies, the system deletes the professor from the system” [
11].
Lessons
There are multiple AI methods in the open-source forum and the selection of any is a challenging task. Several methods have limited documentation and are not maintained over time. A simplified interface and ease of use are beneficial for intended users. For undergraduate students, it is necessary to preprocess the requirement statement, as the experimentation with various forms (prose, tabular, and bulleted) produced varied KGs for the same specification description.
There are opportunities to apply AI technologies in the phases of the SDLC. It is necessary to use AI for conducting unit and system testing. Software system testing is the last phase in the SDLC, which is challenging. One of these challenges is associated with test case generation. The number of test cases for systems might be infinite, which makes it impossible to conduct exhaustive testing. The research is necessary to explore how AI technology addresses the state–space explosion problem in software system testing.
6. Conclusions
We explore how to adapt AI in software development education at the tertiary level. AI continues to be a driving factor in SD. However, because of its probabilistic, complex, and black-box computational paradigms, software development practitioners and developers of AI applications must acquire the requisite knowledge to apply and develop AI applications that can be trusted by the general population. We present how to apply AI tools at the forefront of the SDLC, wherein software system requirement elicitation activities are enhanced with AI technology for correct effective, efficient, and reliable software systems.