Please enable JavaScript.
Coggle requires JavaScript to display documents.
Expert System Development Life Cycles (Human Experts (Knowledge engineer…
Expert System Development Life Cycles
Defining Important Terms
Tools
Supporting software that are used to create models or other components
Models
A graphical presentation which can represent a real situation or a real world
Methodology
Is comprehensive plan to be followed, covers all the necessary activities in SDLC
Include models, tools and techniques that need to be used
Techniques
A strategy which can be used for implementing a specific system development activity
There are 5 members of the expert system development team
The domain expert
The knowledge engineer
The programmer
The project manager
The end-user
The success of their expert system entirely depends on how well the members work together
Intelligence vs Expertise
Expertise
Requires long time to learn
Is a large amount of knowledge
Is easily recalled
Enables you to find solution much faster
Intelligence
Allows you to use your expertise (apply the knowledge)
Human Experts
Domain expert
Knowledgeable and skilled person capable of solving problems in a specific area or domain
Has the greatest expertise in a given domain. This expertise is to be captured in the expert system
Knowledge engineer
Capable of designing, building and testing an expert system
Establishes what reasoning methods the expert uses to handle facts and rules and decides how to represent them in the expert system
Chooses some development software or an expert system shell, or looks at programming languages for encoding the knowledge
Responsible for testing, revising and integrating the expert system into the workplace
Programmer
Responsible for the actual programming, describing the domain knowledge in terms that a computer can understand
Have skills in symbolic programming in such AI languages and also some experience in the application of different types of expert system shells
Know conventional programming languages like C, Pascal, FORTRAN and Basic
Project manager
Leader of the expert system development team, responsible for keeping the project on track
Makes sure that all deliverables and milestones are met, interacts with the expert, knowledge engineer, programmer and end-user
End-user (User)
Uses the expert system when it is developed
Confident in the expert system performance but also feel comfortable using it
The user interface of the expert system is vital for the project's success; the end-user's contribution here can be crucial
ES Development Methodology
Commercial quality systems require a systematic development approach
Ad hoc approaches may be suitable for research prototypes or personal use, but not for widely used or critical systems
Some software engineering methods are suitable for the development of expert systems
Problem Identification
The development of an expert system should be based on a specific problem to be addressed by the system
It should be verified that expert systems are the right paradigm to solve that type of problem: not all problems are amenable to ES-based solutons
Availability of resources for the development
Experts/expertise
Hardware/software
Users
Sponsors/Funds
Cyclical Development
Rapid Application Development Approach (RAD)
Starting with the ideas of Barry Boehm and others, James Martin developed the rapid application development approach during the 1980s at IBM and finally formalized it by publishing a book in 1991 - Rapid Application Development
Martin's development philosophy focused on speed and used strategies such as prototyping
He believed that software products can be developed faster and of higher quality through: Gathering requirements using workshops or focus groups and Less formality in reviews and other team communication
Rapid Prototyping / Cyclical Development / Evolutionary Prototyping - 1980s favourite approach
Essential Principles:
Get a prototype: A small, preliminary version of the final system - up and running at an early stage
Present this to the domain expert for criticism
Proceed to refine this prototype with repeated debugging and knowledge accretion stages
Continue with this cycle until the knowledgebase is finished
Advantages of Cyclical Development
Show early progress in the knowledge elicitation task
Generates enthusiasm in the domain expert