Keywords

1 Introduction

The Software Engineering Undergraduate Program (SWE-Curriculum) at Jordan University of Science and Technology (JUST) recently acquired and obtained an accreditation from the Institute of Engineering and Technology (IET) [6]. However, the curriculum of the said program needs further expansion to ensure its readiness for any potential ABET accreditation [5] in the future as well as its readiness for training programs, professional licensing, and certification of specialties in Software Engineering. The SWEBOK-V3.0 [3] of the IEEE Computer Society [4] introduced 15 Software Engineering Knowledge Areas (SWE-KAs). Some of them are not fairly covered or addressed in the said SWE-Curriculum. Table 1 lists these 15 SWE-KAs. Table 2 lists the Software Engineering courses (SWE-Courses) of the said SWE-Curriculum [2].

Table 1 SWE-KAS (Software Engineering Body of Knowledge, SWEBOK-V3.0)
Table 2 The SWE courses of the SWE-Curriculum at JUST

This paper is a continuation of a previous paper (P#1) by the author in which the SWE-KAs#1–5 were addressed [1]. As shown in Table 1, this paper represents the second part (P#2) of the three parts of this research. It covers the second five (SWE-KAs#6–10) of the fifteen SWE-KAs. The third paper (P#3) shall cover the last five (SWE-KAs#11–15) of the fifteen SWE-KAs.

The SWE-KAs that are addressed in this paper are:

  1. 1.

    SWE-KA#6: Software Configuration Management. Chap. 6 of the SWEBOK-V3.0 elaborates on this SWE-KA. However, readers can refer to the many references that are listed at the end of the said chapter. Examples of these references are listed as well at the end of this paper [10,11,12].

  2. 2.

    SWE-KA#7: Software Engineering Management. Chap. 7 of the SWEBOK-V3.0 elaborates on this SWE-KA. However, readers can refer to the many references that are listed at the end of the said chapter. Examples of these references are listed as well at the end of this paper [13,14,15,16,17,18,19].

  3. 3.

    SWE-KA#8: Software Engineering Process. Chap. 8 of the SWEBOK-V3.0 elaborates on this SWE-KA. However, readers can refer to the many references that are listed at the end of the said chapter. Examples of these references are listed as well at the end of this paper [20,21,22,23,24].

  4. 4.

    SWE-KA#9: Software Engineering Models and Methods. Chap. 9 of the SWEBOK-V3.0 elaborates on this SWE-KA. However, readers can refer to the many references that are listed at the end of the said chapter. Examples of these references are listed as well at the end of this paper [24, 25].

  5. 5.

    SWE-KA#10: Software Quality. Chap. 10 of the SWEBOK-V3.0 elaborates on this SWE-KA. However, readers can refer to the many references that are listed at the end of the said chapter. Examples of these references are listed as well at the end of this paper [26,27,28,29,30,31,32,33,34,35,36].

Section 3 provides the details of our research approach (in the three parts of this research, P#1, P#2, and P#3) involving the reflection of the various topics of these SWE-KAs onto the various courses of the said SWE-Curriculum. It is worth mentioning that although this paper measures the coverage of the said SWE-Curriculum with the SWE-KAs, our innovative approach is general and can be applied to other Software Engineering academic programs.

The findings of this paper (P#2) demonstrated a decent degree of compliance in the cases of the Software Engineering Management SWE-KA [13,14,15,16,17,18,19] and the Software Quality SWE-KA [26,27,28,29,30,31,32,33,34,35,36] and a partial compliance in the cases of the Software Configuration Management SWE-KA [10,11,12], the Software Engineering Process SWE-KA [20,21,22,23,24], and the Software Engineering Models and Methods SWE-KA [2425]. As the Software Quality Assurance is currently an elective course in the said SWE-Curriculum, this paper recommended to make this course a core rather than an elective course in the said SWE-Curriculum.

This paper is organized in several sections. Section 1 is the Introduction. Section 2 discusses the related work. Section 3 elaborates on the research methodology followed to carry on this research work. Section 4 composes five subsections where each of them elaborates on the coverage of one of the second five SWE-KAs in the SWE-Curriculum courses. Section 5 summarizes the findings of this paper, and a set of recommendations is made for possible enhancements on the said SWE-Curriculum to make it more compliant with the second five of the fifteen SWE-KAs and thus to improve its readiness for any potential ABET Accreditation in the future. Section 6 presents the conclusions of this paper.

2 Related Work

Early efforts toward organizing the teaching of Software Engineering include, but not limited to, a paper by Bernhart, M. et al., “Dimensions of Software Engineering Course Design” [7], and another one by Shaw, M. “Software Engineering Education: A Roadmap” [8]. Nevertheless, it is very important that Software Engineers read through the The Mythical Man-Month book of Brooks FP [9].

Qiu et al. [37] illustrated the problem-based learning approach that adopts a blended learning environment, a combination of a face-to-face learning environment and an eLearning environment for teaching undergraduate software engineering principles as well as collaborative skills. They surveyed applying the problem-based learning approach that shows a vast student-felt comfortable learning using problem-based learning, and their educational performances were also better than anticipated.

Garousi et al. [38] investigated challenges facing fresh Software Engineering graduates early in their professional careers. Their study claimed such challenges are due to misalignment of the skills gained through their undergraduate period. They discussed the consequence of Software Engineering graduates not having practice along with soft skills in general before starting their careers, the value of certain SE activities, and abilities in SE education (especially requirements engineering, design, and testing).

Bastarrica et al. [39] surveyed software engineering students regarding relative importance and challenge of different dimensions entailed in their projects. They found out that the comparable value of soft skills develops. At the same time, that of the technical challenge falls and that the surveyed students found planning of the projects and collaboration more troublesome than they anticipated. Also, they found statistically notable evidence that, for the soft skills they have measured, the perceived corresponding relevance changes throughout the course. The surveyed students tend to undervalue the difficulty involved in teamwork before starting their Capstone Course. Therefore, they assumed that their students will be more alert to this concern while handling the upcoming projects.

Barzilay et al. [40] proposed a multidimensional Software Engineering course framework that is organized through four axes: fundamentals of SE, practices and tools, productization, and technology evolution. Their proposed work support students to have a comprehensive cross paradigm and at the same time provides practical and theoretical experience. Each axis enables an examination of Software Engineering from different perspectives. They also describe their experience of teaching the course three times in the Tel Aviv University and the academic college of Tel Aviv-Yafo, Israel.

Dekhane et al. [41] showed how to fill the gap in a project that needs knowledge in two different domains by proposing the integration of these two domains and to have one interdisciplinary project. The authors evaluated their proposed work by providing software engineering students with authentic experiences involved.

Daimi et al. [42] proposed a model that faculty can incorporate in their Software Engineering courses. The innovational approaches of brainstorming, critical thinking, case methods, problem-based learning, trimming techniques, and opportunity recognition will be introduced. Each approach will be supplemented by some examples from the Software Engineering domain. These approaches and their accompanying examples aim to develop several entrepreneurial-mindset attributes.

3 Research Methodology

The research approach followed to carry out this research (in P#1, P#2, and P#3) work can be outlined in the following steps:

  1. 1.

    Dividing the SWE-KAs into the following two groups:

    1. (a)

      Specialization SWE-KAs (SWE-KAs#1–10)

    2. (b)

      Support SWE-KAs Knowledge Areas (SWE-KAs#10–15).

  2. 2.

    Splitting (due to the size of this research work) the Specialization SWE-KAs (SWE-KAs#1–10) into two parts such that the first part (P#1) covers the first five SWE-KAs (SWE-KAs#1–5) and the second part (P#2) covers the second five SWE-KAs (SWE-KAs#6–10). Consequently, the third part (P#3) will cover the Support SWE-KAs (SWE-KAs#11–15).

  3. 3.

    Inspecting the coverage of the SWE-KAs (in each of P#1 , P#2 , and P#3) in the said SWE-Curriculum.

    1. (a)

      The coverage of the Specialization SWE-KAs Knowledge Areas (P#1 and P#2) will be inspected across the SWE Specialization courses across the said SWE-Curriculum.

    2. (b)

      The coverage of the Support SWE-KAs Knowledge Areas will be inspected across the University with the College required courses across the said SWE-Curriculum.

    3. (c)

      The syllabus of each course in the said SWE-Curriculum will be carefully reviewed to figure out its coverage of the various topics of the various SWE-KAs.

    4. (d)

      The latest version of the said SWE-Curriculum (the IET Accredited SWE-Curriculum) will be used for this research work.

  4. 4.

    Classifying the coverage of each SWE-KA (in P#1, P#2, and P#3) in the said SWE-Curriculum into one of the following levels:

    1. (a)

      Fully Compliant (100%). This indicates that the concerned SWE-KA is fully covered across one or more of the courses of the said SWE-Curriculum.

    2. (b)

      Highly Compliant (75%–<100%). This indicates that the concerned SWE-KA is highly covered across one or more of the courses of the said SWE-Curriculum.

    3. (c)

      Partially Compliant (50%–<75%). This indicates that the concerned SWE-KA is partially covered across one or more of the courses of the said SWE-Curriculum.

    4. (d)

      Poorly Compliant (<50%). This indicates that the concerned SWE-KA is poorly covered across one or more of the courses of the said SWE-Curriculum.

  5. 5.

    Classifying the coverage of the main topics of each SWE-KA (in P#1, P#2, and P#3) in the courses learning outcomes (CLOs) of the said SWE-Curriculum. The learning outcomes are obtained from the syllabi of the courses of the said SWE-Curriculum, which can be accessed at [1]. The CLO coverage of each SWE-KA is classified into one of the following levels:

    1. (a)

      Fully Compliant (100%). This indicates that all main topics of the concerned SWE-KA are fully declared as course learning outcomes (CLOs) across one or more of the courses of the said SWE-Curriculum.

    2. (b)

      Highly Compliant (75%–<100%). This indicates that most of the main topics of the concerned SWE-KA are declared as course learning outcomes (CLOs) across one or more of the courses of the said SWE-Curriculum.

    3. (c)

      Partially Compliant (50%–<75%). This indicates that part of the main topics of the concerned SWE-KA are declared as course learning outcomes (CLOs) across one or more of the courses of the said SWE-Curriculum.

    4. (d)

      Poorly Compliant (<50%). This indicates that few of the main topics of the concerned SWE-KA are declared as course learning outcomes (CLOs) across one or more of the courses of the said SWE-Curriculum.

  6. 6.

    Shortage identification and making recommendations. At the end of each part (P#1, P#2, and P#3), the coverage compliances (or shortages) will be identified, and recommendations will be made such that new courses shall be introduced into the curriculum or existing ones shall be enhanced and/or revised in the said SWE-Curriculum.

  7. 7.

    Verifying the achievement of the research prime objective. The overall purpose of this work is to facilitate the potential ABET Accreditation of the SWE Undergraduate Program of JUST.

4 SWE-KAS Coverage in the SWE-Curriculum at JUST

The following set of tables (Tables 3, 4, 5, 6, and 7) illustrate the coverage of each of the second five SWE-KAs in the various Software Engineering Courses (SWE Courses) at JUST.

Table 3 SWE-KA#6 (SW Configuration Management) and its coverage in JUST SWE-Curriculum
Table 4 SWE-KA#7 (SWE Management) and its coverage in JUST SWE-Curriculum
Table 5 SWE-KA#8 (SWE Process) and its coverage in JUST SWE-Curriculum
Table 6 SWE-KA#9 (SWE Models and Methods) and its coverage in JUST SWE-Curriculum
Table 7 SWE-KA#10 (SW Quality) and its coverage in JUST SWE-Curriculum

4.1 Coverage of the SWE-KA#6 (Software Configuration Management)

Table 3 concludes the following:

  1. 1.

    The SWE-KA#6 (Software Configuration Management) seems to be Partially Compliant in the said SWE-Curriculum through the SE441 Software Quality Assurance course. The SE441 course addresses the various Software Configuration Management topics, but without going into details.

  2. 2.

    None of the main topics of the SWE-KA#6 (Software Configuration Management) contributes to the learning outcomes of the SE441 Software Quality Assurance course.

4.2 Coverage of the SWE-KA#7 (Software Engineering Management)

Table 4 concludes the following:

  1. 1.

    The SWE-KA#7 (Software Engineering Management) seems to be Fully Compliant in the said SWE-Curriculum through the SE440 Software Engineering Management course. The SE40 course covers the various Software Engineering Management topics.

    All of the main topics of the SWE-KA#7 (Software Engineering Management) contribute to the learning outcomes of the SE440 Software Engineering Management course.

4.3 Coverage of the SWE-KA#8 (SWE Process)

Table 5 concludes the following:

  1. 1.

    The SWE-KA#8 (Software Engineering Process) seems to be Partially Compliant in the said SWE-Curriculum through the following courses: (i) SE230 Fundamentals of Software Engineering, (ii) SE324 Software Architecture and Design, (iii) SE323 Software Documentation, (iv) SE440 Software Project Management, and (v) SE441 Software Quality Assurance.

  2. 2.

    Some of the topics of the SWE-KA#8 (SWE Process) contribute to the learning outcome CLO4 of the SE440 course, while none of these topics contributes to the learning outcomes of the SE320, SE324, SE323, and SE441 courses.

4.4 Coverage of the SWE-KA#9 (SWE Models and Methods)

Table 6 concludes the following:

  1. 1-

    The SWE-KA#9 (SWE Models and Methods) seems to be Partially Compliant in the said SWE-Curriculum through the following courses: (i) SE220 Software Modelling, (ii) SE321 Software Engineering Requirements, (iii) SE324 Software Architecture and Design, (iv) SE440 Software Project Management, and (v) SE441 Software Quality Assurance.

  2. 2-

    All of the main topics of the SWE-KA#9 (SWE Models and Methods) contribute to the learning outcomes of the SE220 course.

  3. 3-

    The last two topics of the SWE-KA#9 (SWE Models and Methods) contribute to the learning outcome CLO2 of the SE440 course.

4.5 Coverage of the SWE-KA#10 (Software Quality)

Table 7 concludes the following:

  1. 1-

    The SWE-KA#10 (Software Quality) seems to be Fully Compliant in the said SWE-Curriculum through the following courses: (i) SE430 Software Testing and (ii) SE441 Software Quality Assurance.

  2. 2-

    All of the main topics of the SWE-KA#10 (Software Quality) contribute to the various learning outcomes of the SE441 course.

5 Discussion and Recommendations

As indicated earlier, this paper checks the compliance of the SWE-Curriculum at JUST with the second five of the fifteen SWE Knowledge Areas (SWE-KAs#6–10) that are indicated in the Software Engineering Body of Knowledge (SWEBOK-V3.0) of the IEEE Computer Society. Table 8 provides an overall view of the coverage of the SWE-KAs#1–10 (SWE-KAs#1–5 comes from part 1 [1]) in the said SWE-Curriculum.

Table 8 The overall coverage of the SWE-KAS#1–10 in JUST SWE-Curriculum

As indicated in Table 8, the compliance of the said SWE-Curriculum with the first ten SWE-KAs can be either Fully Compliant, Highly Compliant, Partially Compliant, or Poorly Compliant.

The previous paper (P#1) [1] recommended the introduction of the following two new courses on:

  1. (a)

    Software Construction (based on Chap. 3 of the SWEBOK-V3.0)

  2. (b)

    Software Maintenance (based on Chap. 5 of the SWEBOK-V3.0)

Consequently, the Author would recommend the following in this paper:

  1. 1.

    The settlement of the Software Quality Assurance course as a core course rather than an elective one in the said SWE-Curriculum.

  2. 2.

    The introduction of the following three new courses on:

    1. (a)

      Software Configuration Management: This course is strongly recommended to be based on Chap. 6 of the SWEBOK-V3.0 such that all required Software Construction related topics are covered in it.

    2. (b)

      Software Engineering Process: This course is strongly recommended to be based on Chap. 8 of the SWEBOK-V3.0 such that all required Software Construction related topics are covered in it.

    3. (c)

      Software Models and Methods: This course is strongly recommended to be based on Chap. 9 of the SWEBOK-V3.0 such that all required Software Construction related topics are covered in it.

6 Conclusions

This paper reflects the compliance of the SWE-Curriculum at JUST with the SWE-KAs#6–10 of the Software Engineering Body of Knowledge of the IEEE Computer Society.

The SWE-KA#7 Software Engineering Management and the SWE-KA#10 Software Quality are fully covered (Fully Compliant) in the said SWE-Curriculum. While the remaining three SWE Knowledge Areas (SWE-KA#6 Software Configuration Management, SWE-KA#8 Software Engineering Process, and SWE-KA#9 Software Engineering Models and Methods) are partially covered (Partially Compliant) in the said SWE-Curriculum. Therefore, the author recommended the introduction of three new courses on (i) Software Configuration Management, (ii) Software Engineering Process, and (iii) Software Engineering Models and Methods into the said SWE-Curriculum. These three new courses come in addition to the two courses that were recommended in the previous part of this research (P#1) [1] (e.g., Software Construction and Software Maintenance courses). Also, in this paper, the author recommended that the existing Software Quality Assurance course becomes a core course rather than an elective one in the said SWE-Curriculum.