Rule-based Expert Systems for Selecting Information Systems Development Methodologies
Автор: Abdel Nasser H. Zaied, Samah Ibrahim Abdel Aal, Mohamed Monir Hassan
Журнал: International Journal of Intelligent Systems and Applications(IJISA) @ijisa
Статья в выпуске: 9 vol.5, 2013 года.
Бесплатный доступ
Information Systems (IS) are increasingly becoming regarded as crucial to an organization's success. Information Systems Development Methodologies (ISDMs) are used by organizations to structure the information system development process. ISDMs are essential for structuring project participants’ thinking and actions; therefore ISDMs play an important role to achieve successful projects. There are different ISDMs and no methodology can claim that it can be applied to any organization. The problem facing decision makers is how to select an appropriate development methodology that may increase the probability of system success. This paper takes this issue into account when study ISDMs and provides a Rule-based Expert System as a tool for selecting appropriate ISDMs. The proposed expert system consists of three main phases to automate the process of selecting ISDMs. Three approaches were used to test the proposed expert system. Face validation through six professors and six IS professionals, predictive validation through twenty four experts and blind validation through nine employees working in IT field. The results show that the proposed system was found to be run without any errors, offered a friendly user interface and its suggestions matching user expectations with 95.8%. It also can help project managers, systems' engineers, systems' developers, consultants, and planners in the process of selecting the suitable ISDM. Finally, the results show that the proposed Rule-based Expert System can facilities the selection process especially for new users and non-specialist in Information System field.
Information Systems, Expert Systems, Information Systems Development Methodologies
Короткий адрес: https://sciup.org/15010461
IDR: 15010461
Текст научной статьи Rule-based Expert Systems for Selecting Information Systems Development Methodologies
Published Online August 2013 in MECS
-
I. Introduction
The problem of selecting a suitable ISDM has been addressed in different ways by many researchers. McConnell [1] provided general guidelines on how to select the most suitable development lifecycle and gave practical tips on best practices for various development environments. Similarly, different authors of agile ISDM, Highsmith [2,3] provided general recommendations for adaptation and use of these ISDM. Although these general guidelines and tips were very useful; they did not include recommendations for selection of a specific ISDM. Cockburn [4] provided a decision model that helps select the suitable ISDM from a family of ISDMs named Crystal. In 2007, Mnkandla & Dwolatzky [5] provided a tool for selecting the most appropriate agile method for a given project. According to Vavpotič & Vasilecas [6] organizations dealing with IS development often having lack knowledge and experience to objectively evaluate different types of ISDMs. So the challenge is to automate the process of selecting ISDMs and enable decision maker to select form different types of ISDMs so that the professionals simply enter some information about the project and get an indication of the most appropriate methodology. This paper classifies organizations’ problem situations and provides an overview for different types of ISDMs. Also it automates the process of selecting ISDMs using expert system.
The structure of this paper is as follows. Firstly, ISDMs were defined and discussed; then the proposed expert system components were discussed. The following section contains a description of the proposed expert system deployment and the evaluation process. The final section contains the conclusions and recommendations.
-
II. Information Systems DevelopmentMethodologies
-
2.1 Types of Information Systems DevelopmentMethodologies
There are many types of ISDMs used to develop and improve information systems. The methodology initiatives of the early-methodology era of the 1970s and early 1980s were characterized by their ability to structure and control the development process. These methodologies include:
-
• Process Oriented Methodologies such as Structured Analysis Design and Implementation of Information Systems (STRADIS) methodology [9] and Jackson systems development methodology (JSD) [10];
-
• Holistic methodologies such as Soft Systems methodology (SSM) [11];
-
• Data-Oriented Methodologies such as Information engineering methodology (IE) [12];
-
• Blended Methodologies such as Structured System Analysis and Design methodology (SSADM) [13];
-
• Object-oriented methodologies such as Object-Oriented Analysis and Design (OOAD) methodology, Prototyping, Rapid Application Development methodology (RAD) [14];
-
• Socio-technical methodologies such as Effective technical and human implementation of computer based systems methodology (ETHICS) [15], Information systems work and analysis of change methodology (ISAC); and
-
• Frameworks such as Multi-view framework [16].
In the mid-1990s agile methodologies were evolved as a part of reaction against the traditional methodologies. The goal of agile methodologies is to address the perceived limitations of formal methodologies based on the traditional System Development Life Cycle (SDLC) such as long system development time, rigorous and inflexible requirements management. Agile methodologies include:
-
• Scrum (SM) methodology [17];
-
• Adaptive Software Development (ASD) methodology [17];
-
• EXtreme Programming (XP) methodology [18];
-
• Dynamic systems development method (DSDM) [19];and
-
• Feature-driven development (FDD) methodology [19].
-
2.2 Selecting Information Systems Development Methodology
Proposed Expert System
The proposed expert system is a rule-based expert system; it consists of three main phases as shown in Fig. 1.

Fig. 1: Proposed system framework
Phase I: Identification Phase in which the Information systems problem situations had been identified and classified into four types:
o Technical problem situation; |
and stability of user requirements, development time, |
o Social problem situation; |
familiarity with technology system complexity, and system criticality as shown in table (1). |
o Socio-technical problem situation; and o Complex problem situation. |
Phase III: Selection Phase in which a specific methodology was selected based on the objectives and goals of each methodology as shown in Appendix (A). |
Phase II: Determination Phase in which a group of suitable types of ISDMs were selected based clarity
Table 1: Problem Situations and corresponding methodologies
Problem Situation |
Methodologies |
Technical problem situation |
Traditional methodologies, Agile methodologies, Rapid Application Development methodology, and Prototyping. |
Social problem situation |
Holistic methodologies. |
Socio-technical problem situation |
Socio-Technical methodologies. |
Complex problem situations |
Frameworks. |
-
III. The Proposed Expert System Development
-
3.1 System Design Tool
-
3.2 Proposed System Components
The design of the proposed system evolves, four common design issues: system response time, user help facilities, error information handling, and command labeling.
Visual Rule Studio installs as an integral part of Microsoft Visual Basic as an ActiveX Designer.
The core components of proposed expert systems are the knowledge base and the reasoning engine as shown in Fig. 2.
Visual Rule Studio (an object-oriented COM-compliant expert system development environment for windows) was used to develop the prototype expert system.

Expert User
Fig. 2: Expert System Components
Knowledge acquisition subsystem: the main source of knowledge was published materials. The knowledge had been built according to the selection criteria, it was sent to professors and IS professionals to chick and recommend any modifications.
Knowledge base: The knowledge base was developed to aid in the process of selecting the suitable ISDMs. Twenty One ISDMs and 101 Rules were used as shown in Appendix (B).
Explanation subsystem: A subsystem that explains the system's actions.
Inference engine: The inference engine performs the role of inferring the required decision from the knowledge base. In the proposed expert system; forward chaining engine was used.
User interface: The interactions between the users and the system were supported through a friendly graphical user interface running under windows environment.
-
3.3 System Description
The proposed system consists of 18 screens representing all system phases; the first screen is welcome screen as shown in Fig. 3. The next three screens represent Phase (I) inputs which provide three questions should be answered with YES or NO to define the problem situation.
Fig. 4 shows an example of these screens. At the end of phase (I), the user can move to the next screen which provides a determination of the problem situation.
Once the problem situation has been determined the user can continue and move to the next six screens which provide six questions should be answered also with YES or NO to determine a group of information systems development methodologies. Fig. 5 shows an example of these screens.

Fig. 3: Welcome screen

Fig. 4: An example of phase I screens

Fig. 5: An example of phase II screens
You need to use the Feature Driven
Development (FDD) methodology
L«Back __Byt_J
Fig. 6: An example of phase III screens
At the end of phase (II), the user can move to the next screen which provides a list of objectives the user should choose one so that the proposed system can recommend a specific methodology in the final phase, Fig. 6 shows an example of these screens.
-
IV. System Validation
Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and code generation. In this work, three approaches were used to test the proposed expert system as shown in Fig. 7, these approaches were:
-
1- Face validation (was used during designing phase).
-
2- Predictive validation (was used during testing and validation phase).
-
3- Blind validation (was used during testing and validation phase).
-
4.1 Face validation
-
4.2 Predictive Validation
-
4.3 Blind Validation

Fig. 7: Test Plan Procedure
Face validation is useful as a preliminary approach for system validation. This validation was accomplished during the development process through six professors and six IS professionals to ensure that the knowledge embedded within the expert system is accurate; to ensure the reliability of the proposed system, and to ensure that all parts related to the proposed system will work correctly and consistently.
Predictive validation requires using historic test cases; four groups were used. Each group had six experts. Twenty four experts were attained a special awareness sessions to explain the proposed system components and to train them on how to use the proposed system.
Blind validation aims to validate the proposed system performance when used by non-expert users. Five companies were selected based on a recommendation from Cairo Chamber of Commerce (CCC), Egypt. After personal contact, one company was agreed to participate in the study. A group of nine employees working in IT department were selected by company manager. Awareness session was conducted, then each participant tested the proposed system and write down his comments.
Consistency of font sizes and colors attribute: In most cases the font sizes and colors of the proposed system was found to be good as shown in table (3).
Table 3: Participants’ opinions based on consistency of font sizes and colors
Participants’ opinions |
Consistency of font sizes and colors |
|
No. |
Percentage |
|
Excellent |
1 |
11.11% |
Very good |
3 |
33.33% |
Good |
5 |
55.56% |
Bad |
0 |
00.00% |
Total |
9 |
100.00% |
-
V. Results Analysis and Discussion5.1 Predictive Validation Results
-
5.2 Blind Validation Results
Twenty participants out of twenty four selected Technical problem situation; two selected Complex problem situation; one selected Social problem and one selected Socio-Technical problem situation. The participants suggested fifteen different methodologies through twenty four suggestions.
Only one mismatch between user expectation and system output, the user selected Object Oriented Analysis and Design (OOAD) Methodology and the system suggested Structured System Analysis and Design methodology (SSADM) with the prototyping approach.
Free of errors attribute: The proposed system was found to be run without any errors as shown in table (4).
Table 4: Participants’ opinions based on free of errors attribute
Participants’ opinions |
Free of errors |
|
No. |
Percentage |
|
Excellent |
9 |
100% |
Very good |
0 |
00.00% |
Good |
0 |
00.00% |
Bad |
0 |
00.00% |
Total |
9 |
100.00% |
The results of the Blind validation can be summarized as follows:
Availability and clarity of actions attribute: The proposed system was found to be a consistent from page to page with available actions, including meaningful titles, meaningful buttons in name and actions as shown in table (2).
Table 2: Participants’ opinions based on availability and clarity of actions attribute
Participants’ opinions |
Availability and clarity of actions |
|
No. |
Percentage |
|
Excellent |
2 |
22.22% |
Very good |
3 |
33.33% |
Good |
4 |
44.45% |
Bad |
0 |
00.00% |
Total |
9 |
100.00% |
User-friendliness attribute: The participants found that the proposed system offers a friendly user interface as shown in table (5).
Table 5: Participants’ opinions based on user-friendliness interface attribute
Participants’ opinions |
User-friendliness |
|
No. |
Percentage |
|
Excellent |
2 |
22.222% |
Very good |
3 |
33.333% |
Good |
4 |
44.444% |
Bad |
0 |
00.00% |
Total |
9 |
100.00% |
Acceptability attribute: The proposed system was found to be acceptable and helpful in the process of selecting the suitable information system development methodology as shown in table (6).
Table 6: Participants’ opinions based on acceptability attribute
Participants’ opinions |
Acceptability |
|
No. |
Percentage |
|
Acceptable |
9 |
100.00% |
Not acceptable |
0 |
00.00% |
Total |
9 |
100.00% |
-
VI. Conclusion
This research provides a rule based expert system that automates the process of selecting Information Systems Development Methodologies (ISDMs). Based on this work, it can be extract the following conclusions:
-
1. The proposed system could help developers, consultants, and planners in the process of selecting the suitable ISDMs by covering different types of problem situations and enabling them to select a specific Information Systems Development
-
2. The results show that the proposed system suggestions matching user expectations with 95.8%.
-
3. The use of the hybrid expert system shell Visual Rule Studio, which runs together with Microsoft Visual Basic 6.0, was found to be very effective in producing the system under the popular Windows environment.
-
4. Finally, the proposed system was found to be acceptable and helpful in the process of selecting the suitable information system development methodology.
Список литературы Rule-based Expert Systems for Selecting Information Systems Development Methodologies
- McConnell S. Rapid development: taming wild software schedules. Microsoft Press, Redmond, Wash, 1996.
- Highsmith A. Adaptive Software Development: A Collaborative Approach to Managing Complex Systems. New York, NY: Dorset House Publishing, 2000.
- Highsmith J. Agile Software Development Ecosystems. Addison Wesley, 2002.
- Cockburn A. Agile software development: agile software development series. Addison-Wesley, Boston, 2002.
- Mnkandla E., Dwolatzky B. Agile Methodologies Selection Toolbox". International Conference on Software Engineering Advances ICSEA, 2007.
- Vavpotič D., Vasilecas O. Selecting a Methodology for Business Information Systems Development: Decision Model and Tool Support. ComSIS, 2012, 9(1): 136 -164.
- Avison, D., Fitzgerald G. Information Systems Development: Methodologies, Techniques and Tools. 2nd Edition. McGraw-Hill, London, 1995.
- Whitten J., Bentley L., Dittman K. Systems analysis and design methods. 6th edition, McGraw-Hill, Boston, Mass, 2004.
- Gane C., Sarson T. Structured Systems Analysis: Tools and Techniques. Prentice Hall, Englewood Cliffs, New Jersey, 1979.
- Jackson M. Systems Development. UK: Prentice Hall, 1983.
- Checkland P. Systems Theory: Systems Practice. Chichester: John Whiley, 1981.
- Martin J. Information Engineering: A Trilogy. Prentice Hall, Englewood Cliffs, New Jersey, 1989.
- Ashworth C., Goodland M SSADM: A Practical Approach. McGraw- Hill, Maidenhead, 1990.
- Martin J. Rapid Application Development. Macmillan Publishing, New York, 1991.
- Mumford, E. Effective systems design and requirements analysis: The ETHICS method. Basingstoke, UK: Macmillan Press, 1995.
- Avison D., Wood-Harper A., Vidgen R., Wood J. A further exploration into Information systems development: the evolution of Multiview2. Information Technology & people, 1989, 11(2): 1-11.
- Stojanovic Z., Dahanayake A., Sol H. Modeling and Architectural Design in Agile Development Methodologies. 8th CAISE/IFIP8.1 International Workshop on Evaluation Methods in System Analysis and Design EMMSAD, 2003: 180-189.
- Gerber A., Van Der Merwe A., Alberts R. Practical Implications of Rapid Development Methodologies. Computer Science and IT Education Conference, 2007: 234-245.
- Ramsin N., Paige R. Process-Centered Review of Object Oriented Software Development Methodologies. ACM Computing Surveys, 2008, 40(1): 1-89.
- Zaied A. Irrigation Support Expert System for Small Scale Farms. 23rd Engineering Conference – Toward Development and Integration of Engineering Infrastructure in the Arab World – Bahrain, 2005: 1-9.
- Seflek A., and Carman K., (2010), "A design of an expert system for selecting pumps used in agricultural irrigation", Mathematical and Computational Applications, Vol. 15, No. 1, pp. 108-116.
- Carroll J. The Process of ISD Methodology Selection and Use: A Case Study. European Conference on Information Systems – ECIS, 2003: 1-11.
- Yusof M., Shukur Z., Abdullah A. CuQuP: A Hybrid Approach for Selecting Suitable Information Systems Development Methodology. Information Technology Journal, 2012, 10(5): 1031-1037.