Vous êtes sur la page 1sur 7

MASENO UNIVERSITY SCHOOL OF COMPUTING AND INFORMATICS COURSE : EXPERT SYSTEMS COURSE CODE: SCS 434 LECTURER: Mr.

MENYA OTEDO STUDENT: FRANKLINE OBUYA REG NO: SC/3033/08 TASK: TAKE-AWAY CAT

Question Compare and contrast expert system development methodology to the waterfall methodology, then in your comparison highlight strengths and weak ness of expert system development methodology. Waterfall methodology
The Waterfall model in software engineering is basically a development approach which follows

a 'top down' mechanism. The development process goes through several phases to meet the customer's specifications and requirements. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. The waterfall model is a popular version of the systems development life cycle model for software engineering. Waterfall development has distinct goals for each phase of development. Once a phase of development is completed, the development proceeds to the next phase and there is no turning back. The advantage of waterfall development is that it allows for departmentalization and managerial control. A schedule can be set with deadlines for each stage of development and a product can proceed through the development process. Development moves from concept, through design, implementation, testing, installation, troubleshooting, and ends up at operation and maintenance. Each phase of development proceeds in strict order, without any overlapping or iterative steps. The disadvantage of waterfall development is that it does not allow for much reflection or revision. Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. Alternatives to the waterfall model include joint application development (JAD), rapid application development (RAD), synch and stabilize, build and fix, and the The phases of waterfall model Phase 1: Requirement Analysis and Software Definition This is the first phase of waterfall model which includes a meeting with the customer to understand his requirements. This is the most crucial phase as any misinterpretation at this stage may give rise to validation issues later. The software definition must be detailed and accurate with no ambiguities. It is very important to understand the customer requirements and expectations so that the end product meets his specifications.

Phase 2: System Design The customer requirements are broken down into logical modules for the ease of implementation. Hardware and software requirements for every module are identified and designed accordingly. Also the inter relation between the various logical modules is established at this stage. Algorithms and diagrams defining the scope and objective of each logical model are developed. In short, this phase lays a fundamental for actual programming and implementation. Phase 3: System Implementation This is the software process in which actual coding takes place. A software program is written based upon the algorithm designed in the system design phase. A piece of code is written for every module and checked for the output. Phase 4: System Testing The programmatically implemented software module is tested for the correct output. Bugs, errors are removed at this stage. In the process of software testing, a series of tests and test cases are performed to check the module for bugs, faults and other errors. Erroneous codes are rewritten and tested again until desired output is achieved. Phase 5: System Deployment and Maintenance This is the final phase of the waterfall model, in which the completed software product is handed over to the client after alpha, beta testing. After the software has been deployed on the client site, it is the duty of the software development team to undertake routine maintenance activities by visiting the client site. If the customer suggests changes or enhancements the software process has to be followed all over again right from the first phase i.e requirement analysis. This is the biggest shortcoming of the waterfall model. Thus, waterfall model is easy to implement and more often than not produces desired results. The inter-dependence of waterfall model phases may lead to developmental issues, if a systematic approach is not followed at each step. However, in spite of these shortcomings, waterfall model is adopted all across the world.

EXPERT SYSTEM DEVELOPMENT METHODOLOGY


An expert system tool/shell is a software development environment containing the basic components of expert systems. Associated with a shell is a prescribed method for building applications by configuring and instantiating these components. The major components of expert systems are the knowledge base and the reasoning engine.

Basic Components of Expert System Tools


1. User interface: The means of communication with the user. Besides performance friendly user interface makes a difference. 2. Explanation subsystem: A subsystem that explains the system's actions. The explanation can range from how the final or intermediate solutions were arrived at to justifying the need for additional data. 3. Knowledge base subsystem: A store of factual and heuristic knowledge. An ES tool provides one or more knowledge representation schemes for expressing knowledge about the application domain. Some tools use both frames (objects) and IF-THEN rules. In PROLOG the knowledge is represented as logical statements. 4. Reasoning engine: Inference mechanisms for manipulating the symbolic information and knowledge in the knowledge base to form a line of reasoning in solving a problem. The inference mechanism can range from simple modus ponens backward chaining of IF-THEN rules to casebased reasoning. 5. Knowledge acquisition subsystem: A subsystem to help experts build knowledge bases. Collecting knowledge needed to solve problems and build the knowledge base continues to be the biggest bottleneck in building expert systems.

The expert system development lifecycle Phase 1: Project initialisation It's important to discover what problem/problems the client expects the system to solve for them, and what their real needs are. The problem may very well be that more knowledge is needed in the organisation, but there may be other, better ways to provide it. In project initialisation we have management issues that include availability of finance, legal constraints, and finding a 'champion' in top management. Phase 2: System analysis & design In system analysis we produces conceptual design, decides development strategy, decides sources of knowledge, and ensures co-operation. We also select computer resources, perform a feasibility study and perform a cost-benefit analysis.The conceptual design will describe the general capabilities of the intended system, and the required resources. Phase 3: Prototyping In prototyping we build a small prototype, test, improve and expand it, demonstrate and analyse feasibility and cComplete the design Phase 4: System development In system development we build the knowledge base, test, evaluate and improve the knowledge base and plan for integration.

Phase 5: Implementation In implementation we ensure acceptance by users, Install, demonstrate and deploy the system, arrange orientation and training for the users, ensure security, provide documentation and arrange for integration and field testing. Phase 6: Post-implementation Post implementation includes operation, maintenance, upgrading and periodic evaluation.

The Strengths of Expert Systems


Reliability- This means that the reliability of an expert system is better than that of a convectional program. Scalability- when we evolving an expert system is, we add, modify or delete rules. Since the rules are written in plain language, it is usually easy to identify those to be removed or modified. Ability to exploit a considerable amount of knowledge: The expert system uses a rule base, unlike conventional programs, which means that the volume of knowledge to program is not a major concern. Whether the rule base has 10 rules or 10 000, the engine operation is the same. Conversant-Expert systems development tools offer many advantages for system developers when compared to traditional programs because they operate like a human brain. Quick availability-As the rule base is in everyday language (the engine is untouchable), expert system development tool can be written much faster than a conventional program, by users or experts, bypassing professional developers and avoiding the need to explain the subject.

Permanence - Expert systems do not forget, but human experts may forget Reproducibility - Many copies of an expert system can be made, but training new human experts is time-consuming and expensive If there is a maze of rules (e.g. tax and auditing), then the expert system can unravel the maze Efficiency - can increase throughput and decrease personnel costs. Although expert systems are expensive to build and maintain, they are inexpensive to operate. Development and maintenance costs can be spread over many users. The overall cost can be quite reasonable when compared to expensive and scarce human experts. Cost savings: Wages - (elimination of a room full of clerks) Other costs - (minimize loan loss) Consistency - With expert systems similar transactions handled in the same way. The system will make comparable recommendations for like situations.

Humans are influenced by decency effects (most recent information having a disproportionate impact on judgment) primacy effects (early information dominates the judgment). Documentation - An expert system can provide permanent documentation of the decision process Completeness - An expert system can review all the transactions, a human expert can only review a sample Timeliness - Fraud and/or errors can be prevented. Information is available sooner for decision making Breadth - The knowledge of multiple human experts can be combined to give a system more breadth that a single person is likely to achieve Reduce risk of doing business Consistency of decision making Documentation Achieve Expertise

Weaknesses of the expert systems


Common sense - In addition to a great deal of technical knowledge, human experts have common sense. It is not yet known how to give expert systems common sense. Creativity - Human experts can respond creatively to unusual situations, expert systems cannot. Learning - Human experts automatically adapt to changing environments; expert systems must be explicitly updated. Case-based reasoning and neural networks are methods that can incorporate learning. Sensory Experience - Human experts have available to them a wide range of sensory experience; expert systems are currently dependent on symbolic input. Degradation - Expert systems are not good at recognizing when no answer exists or when the problem is outside their area of expertise.

Furthermore, these weaknesses include, Many expert systems are penalized by the logic used. Most of the logics operate on "variables" facts, i.e. whose value changes several times during one reasoning, considered as a property belonging to a more powerful logic. Propositional logic uses only invariant facts. It turns out that in human mind, the facts used must remain invariable as long as the brain reasons on them. This makes possible detection of contradictions and production of explanations, two ways of controlling consistency of the knowledge.
The expert system has a major flaw which explains its low success although the principle has existed for 70 years: knowledge collection and interpretation into rules, the knowledge engineering. Most developers have no method to perform this task. Instead, they work manually, which creates a large potential for errors. Expert knowledge is not well understood: there is a lack of rules, rules are contradictory, and some are poorly written and unusable.

Worse still, expert systems most often use an engine incapable of reasoning. Therefore, oftentimes the expert system works poorly and the project is abandoned. Correct development methodology can mitigate these problems. There exists software to interview the expert step by step which automatically write the rules and simultaneously run the expert system before his eyes, performing a consistency of the rules control. So expert and users can check the quality of the software before it is finished.

Vous aimerez peut-être aussi