Introduction
* Conventional software development
is often viewed in the terms of
applicable life cycle paradigms
because software development goes
through several stage .
* The approaches in developing expert
system is similarities with conventional
system but there are some difference
typically in the second phase .
Knowledge-base Conventional
system system
Feasibility study -1 Feasibility study -1
knowledge -2 System analysis -2
engineering
Design -3 Design -3
Implementation -4 Implementation -4
Testing -5 Testing -5
Maintaince-6 Maintaince-6
Stage based approaches
The essential difference
between this and
conventional system is in the
knowledge engineering phase
.
System design,
implementation and testing
follow this phase.
Feasibility
study
Knowledge
engineering
Design
Implementation
Testing
Maintenance
Prototyping approaches
There are general difference between
expert system and conventional system
In expert system the end goal are typically
not clearly defined and concerned with
encapsulation, manipulation and
representation of knowledge which is
abstract in nature
The conventional system is focus on the
processing of the data which is clearly
defined.
Modification to knowledge base is
necessary, this mean that engineer will have
to consult expert again and agree to
modification to knowledge base ,this
alternative approaches of development that
is used in expert system is called
prototyping.
The prototyping stage will often involve
building rapid prototype that allow
discussion with expert and user to
demonstrate the system in early stage to
manager who may be sceptical about the
use of expert system technology.
Prototype refined an unlimited number of
times .
* In prototyping approaches
The developer identify only
one goal and small part of
domain.
* The developer would codes
the knowledge in the form of
small set of rules using expert
system shell.
Incremental prototyping:
Adding manageable chucks to
existing prototype .
Throwaway prototyping:
Prototype may also turn out
to be unsatisfactory , in
which case it might be
discarded .
Advantage of rapid prototyping
* It give developer clear idea to attempt to
tackle the complete application using expert
system technology .
* It provide useful product for discussion in
early stage .
* It can attract management or sponsors with
scope for quick demonstration.
* It provide means for experts to criticise
system .
* It help sustain both expert and user interests .
* It can help to persuade any special user .
* It gives insight into effectiveness of intended
tools and knowledge .
* It can disclose unforeseen shortcoming in
proposed system .
Feasibility study
One possible strategy ,due to Beckman
(1991) derives list of issues and then
assigns each issue weight that reflects
its relative importance
Designing for maintenance
There are two factors that influence the
maintainability of expert system
1- understandability : if code easily
understood it can be easily maintained .
2- changeability : this is ease with
expert system can be extended and
change incorporate .