4.7Особенности системы Система реализована исключительно при помощи бесплатных средств разработки.
Архитектура системы спроектирована таким образом, чтобы максимально разделить программный код с информационным обеспечением (например: Справочные статьи, Базу знаний, Базу тестов). Такой подход позволяет вносить изменения в систему, не прибегая к изменению кода. В дальнейшем, система может быть переориентирована в другую задачу.
4.8Тестирование системы Тестирование проводилось параллельно разработке и реализации системы, в результате чего был обнаружен ряд ошибок. Для улучшения качества тестирования, тестирование проводилось не только разработчиком системы, но и людьми, не принимающими участия в разработке системы. После выпуска первой версии системы проводилось тестирование системы при работе на различных операционных системах (Windows XP, Windows Vista, Windows Vista x64, Windows 7, Windows 7 x64) в результате чего было обнаружено несколько ошибок, связанных c различными компонентами системы, таких как версия Internet Expoler, что влияло на отображение гипертекстовых документов. Подобные ошибки были исправлены в ходе работы. Последним этапом было тестирование интерфейса, с помощью которого был определён конечный интерфейс системы. В результате было выпущёно 7 бета версий системы, последняя из которых считается конечной, до обнаружения в ней достаточного количества ошибок для выпуска следующей.
Приложение 1. Описание правил в базе знаний (defglobal ?*operation_char* = 0) (defrule MAIN::rule_operation_char_1
(operation_char ?v&:(>= ?v 0))
=>
(bind ?*operation_char* (* ?v 45))
(assert (rule_operation_char))
(printout t "rule_operation_char_1 " (abs ?v) ": executed" crlf))
(defrule MAIN::rule_operation_char_2
(operation_char ?v&:(< ?v 0))
=>
(bind ?*operation_char* (* ?v 45))
(assert (rule_operation_char))
(printout t "rule_operation_char_2 " (abs ?v) ": executed" crlf)) (defglobal ?*use_evristic* = 0) (defrule MAIN::rule_use_evristic_1
(use_evristic ?v&:(>= ?v 0))
=>
(bind ?*use_evristic* (* ?v 45))
(assert (rule_use_evristic))
(printout t "rule_use_evristic_1 " (abs ?v) ": executed" crlf))
(defrule MAIN::rule_use_evristic_2
(use_evristic ?v&:(< ?v 0))
=>
(bind ?*use_evristic* (* ?v 45))
(assert (rule_use_evristic))
(printout t "rule_use_evristic_2 " (abs ?v) ": executed" crlf)) (defglobal ?*task_easy* = 0) (defrule MAIN::rule_task_easy_1
(task_easy ?v&:(> ?v 0))
=>
(bind ?*task_easy* (* (- 0 ?v) 3))
(assert (rule_task_easy))
(printout t "rule_task_easy_1 " (abs ?v) ": executed" crlf))
(defrule MAIN::rule_task_easy_2
(task_easy ?v&:(<= ?v 0))
=>
(bind ?*task_easy* (* (- 0 ?v) 3))
(assert (rule_task_easy))
(printout t "rule_task_easy_2 " (abs ?v) ": executed" crlf)) (defglobal ?*interess_big* = 0) (defrule MAIN::rule_interess_big_1
(interess_big ?v&:(>= ?v 0))
=>
(bind ?*interess_big* (* ?v 4))
(assert (rule_interess_big))
(printout t "rule_interess_big_1 " (abs ?v) ": executed" crlf))
(defrule MAIN::rule_interess_big_2
(interess_big ?v&:(< ?v 0))
=>
(bind ?*interess_big* (* ?v 4))
(assert (rule_interess_big))
(printout t "rule_interess_big_2 " (abs ?v) ": executed" crlf)) (defglobal ?*task_big* = 0) (defrule MAIN::rule_task_big_1
(task_big ?v&:(> ?v 0))
=>
(bind ?*task_big* (* (- 0 ?v) 3))
(assert (rule_task_big))
(printout t "rule_task_big_1 " (abs ?v) ": executed" crlf))
(defrule MAIN::rule_task_big_2
(task_big ?v&:(<= ?v 0))
=>
(bind ?*task_big* (* (- 0 ?v) 3))
(assert (rule_task_big))
(printout t "rule_task_big_2 " (abs ?v) ": executed" crlf))
(defglobal ?*relevance* = 0)
(defrule MAIN::rule_relevance_1
(rule_operation_char)
(rule_use_evristic)
(rule_task_easy)
(rule_interess_big)
(rule_task_big)
=>
(bind ?*relevance* (+ (+ ?*operation_char* ?*use_evristic*) (+ ?*task_easy* (+ ?*interess_big* ?*task_big*))))
(assert (rule_relevance_1)))
(defrule MAIN::rule_relevance_2
(rule_relevance_1)
(test (> ?*relevance* 100))
=>
(bind ?*relevance* (div ?*relevance* 100))
(assert (relevant ?*relevance*)))
(defrule MAIN::rule_relevance_3
(rule_relevance_1)
(test (< ?*relevance* -100))
=>
(bind ?*relevance* (abs (div ?*relevance* 100)))
(assert (not_relevant ?*relevance*))) (defrule MAIN::rule_relevance_4
(rule_relevance_1)
(test (<= ?*relevance* 100))
(test (>= ?*relevance* -100))
=>
(assert (relevant_conflict)))
(defrule MAIN::rule_warrant_1
(or (high_profit)
(experience_loss)
(few_experts)
(long_distance)
(danger_condition))
=>
(assert (warrant))
(printout t "rule_warrant_1: executed" crlf))
(defrule MAIN::rule_warrant_2
(unknown_profit)
(experience_unknown)
(unknown_experts)
(unknown_distance)
(unknown_condition)
=>
(assert (unknown_warrant))
(printout t "rule_warrant_2: executed" crlf)) (defrule MAIN::rule_warrant_3
(not (high_profit))
(not (experience_loss))
(not (few_experts))
(not (long_distance))
(not (danger_condition))
(or (low_profit)
(experience_not_lost)
(many_experts)
(short_distance)
(not_danger_condition))
=>
(assert (not_warrant))
(printout t "rule_warrant_3: executed" crlf)) (defrule MAIN::rule_possibility_1
(or (can_describe)
(possible_can_describe))
(or (experts_exist)
(possible_experts_exist))
=>
(assert (possible))
(printout t "rule_possibility_1: executed" crlf))
(defrule MAIN::rule_possibility_2
(or (can_not_describe)
(possible_can_not_describe))
(or (experts_dont_exist)
(possible_experts_dont_exist))
=>
(assert (not_possible))
(printout t "rule_possibility_2: executed" crlf)) (defrule MAIN::rule_possibility_3
(or (can_describe)
(experts_exist))
(not (can_not_describe))
(not (experts_dont_exist))
=>
(assert (possible))
(printout t "rule_possibility_1: executed" crlf))
(defrule MAIN::rule_possibility_4
(or (can_not_describe)
(experts_dont_exist))
(not (can_describe))
(not (experts_exist))
=>
(assert (not_possible))
(printout t "rule_possibility_2: executed" crlf)) (defrule MAIN::rule_possibility_5
(or (and (can_describe)
(experts_dont_exist))
(and (possible_can_describe)
(possible_experts_dont_exist))
(and (describe_unknown)
(exist_unknown))
(and (possible_can_not_describe)
(possible_experts_exist))
(and (can_not_describe)
(experts_exist)))
=>
(assert (possibility_two))
(printout t "rule_possibility_5: executed" crlf))
(defrule MAIN::rule_possibility_6
(or (and (possible_can_describe)
(exist_unknown))
(and (describe_unknown)
(possible_experts_exist))
(and (describe_unknown)
(possible_experts_dont_exist))
(and (possible_can_not_describe)
(exist_unknown)))
=>
(assert (possibility_two))
(printout t "rule_possibility_5: executed" crlf)) (defrule MAIN::rule_possibility_7
(possibility_two)
(or (and (general_knowledge)
(intellectual_skills)
(same_opinion))
(and (general_knowledge)
(intellectual_skills)
(task_understandable))
(and (general_knowledge)
(same_opinion)
(task_understandable))
(and (intellectual_skills)
(same_opinion)
(task_understandable)))
=>
(assert (possible_possible))
(printout t "rule_possibility_7: executed" crlf)) (defrule MAIN::rule_possibility_8
(possibility_two)
(or (and (no_general_knowledge)
(no_intellectual_skills)
(different_opition))
(and (no_general_knowledge)
(no_intellectual_skills)
(task_inunderstendable))
(and (no_general_knowledge)
(different_opition)
(task_inunderstendable))
(and (no_intellectual_skills)
(different_opition)
(task_inunderstendable)))
=>
(assert (possible_not_possible))
(printout t "rule_possibility_8: executed" crlf)) (defrule MAIN::rule_possibility_9
(possibility_two)
(not (or (and (general_knowledge)
(intellectual_skills)
(same_opinion))
(and (general_knowledge)
(intellectual_skills)
(task_understandable))
(and (general_knowledge)
(same_opinion)
(task_understandable))
(and (intellectual_skills)
(same_opinion)
(task_understandable))
(and (no_general_knowledge)
(no_intellectual_skills)
(different_opition))
(and (no_general_knowledge)
(no_intellectual_skills)
(task_inunderstendable))
(and (no_general_knowledge)
(different_opition)
(task_inunderstendable))
(and (no_intellectual_skills)
(different_opition)
(task_inunderstendable))))
=>
(assert (unknown_possible))
(printout t "rule_possibility_9: executed" crlf))
(defrule MAIN::rule_61_1
(surface_knowledge)
(hard_knowledge)
=>
(assert (logical_modele))
(printout t "rule_61_1: executed" crlf)) (defrule MAIN::rule_61_2
(surface_knowledge)
(or (hard_knowledge)
(soft_knowledge))
=>
(assert (production_modele))
(printout t "rule_61_2: executed" crlf)) (defrule MAIN::rule_61_3
(deep_knowledge)
(or (hard_knowledge)
(soft_knowledge))
=>
(assert (semantic_modele))
(printout t "rule_61_3: executed" crlf)) (defrule MAIN::rule_60_1
(easy_concept)
(calc_predicate)
(deduction)
=>
(assert (logical_modele))
(printout t "rule_60_1: executed" crlf)) (defrule MAIN::rule_60_2
(easy_concept)
(min_relation)
(induction)
=>
(assert (induction_modele))
(printout t "rule_60_2: executed" crlf)) (defrule MAIN::rule_60_3
(hard_concept)
(max_relation)
(gipotez)
=>
(assert (network_modele))
(printout t "rule_60_3: executed" crlf)) (defrule MAIN::rule_60_4
(hard_concept)
(min_relation)
(deduction)
=>
(assert (enherit_end_modele))
(printout t "rule_60_4: executed" crlf)) (defrule MAIN::rule_60_5
(hard_concept)
(max_relation)
(or (deduction)
(analog))
=>
(assert (freim_modele))
(printout t "rule_60_5: executed" crlf)) (defrule MAIN::rule_60_6
(easy_concept)
(max_relation)
(deduction)
=>
(assert (production_modele))
(printout t "rule_60_6: executed" crlf)) (defrule MAIN::rule_60_7
(hard_concept)
(not_understand_concept)
(gipotez)
=>
(assert (network_modele))
(printout t "rule_60_7: executed" crlf)) (defrule MAIN::rule_60_8
(hard_concept)
(max_relation)
(induction)
=>
(assert (not_formal_modele))
(printout t "rule_60_8: executed" crlf))
(defrule MAIN::rule_protop_1
(prot_big_size)
(integrate_task)
=>
(assert (skelet_protop))
(printout t "rule_protop_1: executed" crlf))
(defrule MAIN::rule_protop_2
(prot_big_size)
(not_cross_task)
=>
(assert (prot_for_every_task))
(printout t "rule_protop_2: executed" crlf))
(defrule MAIN::rule_protop_3
(prot_small_size)
=>
(assert (first_protop_for_every_task))
(printout t "rule_protop_3: executed" crlf))
|
|
| Курсовой проект по дисциплине " проектирование кибернетических систем,... Разработка экспертной системы для проблемной области: «Проектирование кибернетических систем, основанных на знаниях»
| | Игорь Манн Маркетинг. А теперь вопросы! Разработка экспертной системы для проблемной области: «Проектирование кибернетических систем, основанных на знаниях»
|
| Motivation Management Sheila Ritchie and Peter Martin Разработка экспертной системы для проблемной области: «Проектирование кибернетических систем, основанных на знаниях»
| | Планы семинарских занятий по дисциплине «Проектирование кибернетических... В 2012 году впервые проведена государственная итоговая аттестация выпускников основной школы в новой форме. Из более, чем полутора...
|
| Реферат по дисциплине «Проектирование информационных систем» на тему:... Для того, чтобы реализовать составные компоненты системы, на рынке закупаются типовые проектные решения и затем настраиваются под...
| | Программа дисциплины «Проектирование информационных систем» «Проектирование информационных систем» для направления 080700. 62 Бизнес-информатика подготовки бакалавра
|
| Рабочая программа учебной дисциплины проектирование информационных... Целью дисциплины является: изучение методологии структурного анализа, моделирование информационных систем в стандарте idef, проектирование...
| | Рабочая программа учебной дисциплины проектирование автоматизированных информационных систем Курс «Проектирование автоматизированных информационных систем» направлен на изучение современных методов и средств проектирования...
|
| Курсовой проект проектирование и разработка программной системы ис «Магазин» Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
| | Пояснительная записка на курсовой проект по дисциплине «Разработка... Целью данной работы является разработка программы для автоматизации проектирования систем молниезащиты на базе сапр компас 3D, с...
|
| Пояснительная записка к курсовой работе по дисциплине «Сети ЭВМ и средства телекоммуникаций» Проектирование сети, логическое проектирование сети, физическое проектирование сети, нагрузка на сеть, пропускная способность сети,...
| | Рабочая программа по дисциплине в проектирование изделий в сапр Целью преподавания дисциплины «Проектирование изделий в сапр» является изучение этапов и составляющих процесса трехмерного автоматизированного...
|
| Тема: "Концептуальное и логическое проектирования баз данных" Курсовой проект предназначен для практического освоения проектирования реляционных баз данных (БД). В работе используется трехуровневый...
| | Курсовая работа по дисциплине «Проектирование информационных систем в образовании» I. Теоретические основы проектирования информационных систем в образовании. 7
|
| Лекция: Основные понятия технологии проектирования информационных... Функционально-ориентированные и объектно-ориентированные методологии описания предметной области 61
| | Учебно-методический комплекс дисциплины проектирование информационных... Основная цель изучения курса “Исследование систем управления” приобретение знаний, формирование и развитие умений и навыков исследовательской...
|