Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по базам знаний и экспертным системам.doc
Скачиваний:
109
Добавлен:
01.05.2014
Размер:
175.62 Кб
Скачать

Лекция: «Методология разработки экспертных систем»

1 Основы методологии разработки экспертных систем

Процесс разработки экспертных систем имеет существенные отличия от разработки обыч­ного программного продукта. Опыт создания ЭС показал, что ис­пользование при их разработке методологии, принятой в традицион­ном программировании, либо чрезмерно затягивает процесс создания ЭС, либо приводит к отрицательному результату. Это обуславливается неформализованностью задач, решаемых ЭС, отсутствием завершенной теории ЭС и методологии их разработки.

Сказанное приводит к необходимости модифицировать принципы и способы построения ЭС в ходе процесса разработки по мере того, как увеличивается знание разработчиков о проблемной области.

При разработке ЭС используется концепция прототипирования. Суть этой концепции состоит в том, что разработчики не пытаются сразу построить конечный продукт; они создают в общем случае несколько прототипов ЭС.

Например, первый прототип должен продемонстри­ровать пригодность методов инженерии знаний для данного прило­жения. В случае успеха эксперт с помощью инженера по знаниям расширяет знания прототипа о проблемной области. При неудаче может потребоваться разработка нового прототипа. Преобразова­ние прототипа ЭС в конечный продукт связано с достижением такого состояния, когда прототип успешно и эффективно решает все задачи данного приложения. Концепция прототипирования, зародившись в технологии разработки ЭС, используется в настоящее время и для разработки сложных программных систем как методология быстрой разработки приложений (RAD).

В ходе научно-практической работы по созданию экспертных систем сложилась опреде­ленная технология их разработки, включающая шесть основных эта­пов: идентификация, концептуализация, формализация, выполне­ние, отладка и тестирование, опытная эксплуатация и внедрение.

1.1 Соответствия между основными этапами проекта raDи стадиями технологии быстрого прототипирования

Методология быстрой разработки приложений (RAD)- это промышленная технология разработки программных систем на основе использования CASE (CALS)- средств и методов быстрого прототипирования к верификации прототипов пользователем при жестком ограничении времени, отведенного на разработку.

CASE (Computer Aided Software Engineering)- система автоматизированной разработки программ.

CASE- технология- автоматизированное проектирование систем с использованием специальных пакетов инструментальных средств, так называемых CASE- средств.

CALS (Computer Aided Acquisition and Logistics Support)- стандарт CALS, автоматизированная поддержка принятия решений по приобретению (изделий) и материально- технического обеспечения.

Развитие технологии RAD с акцентом на групповую разработку приложений привело к появлению JAD- (Joint Application Development) в условиях ограниченных сроков. Технология JAD была разработана фирмой IBM в начале 80-х годов для быстрой разработки спецификаций и требований к программным системам.

№ п/п

Наименование этапа RAD

Наименование итерации жизненного цикла ЭС

1

Начало проектирование

Идентификация

2

Формирование коллектива разработчиков и распределение обязанностей

3

Построение бизнес- модели

Построение модели данных

Получение знаний

Концептуализация

Структурирование

4

Построение функциональной модели

Формализация

5

Генерация кода (реализация), выполнение, стыковка

6

Опытная эксплуатация, внедрение, отладка

7

Тестирование, верификация на адекватность

Основными рабочими продуктами RAD в порядке их формирования являются бизнес-модель, модель данных и функциональная модель.

Бизнес-модель- это графическое (визуальное) и текстологическое (вербальное) описание формационных потоков между элементами автоматизируемой системы, включая элементы, внешние по отношению к системе.

Модель данных- графическое и текстологическое описание структуры и семантики информации, используемой в системе.

Функциональная модель- графическое и текстуальное описание функций системы, операций, задач, решаемых в ходе выполнения этих функций, и взаимосвязей меж­ду функциями в терминах входов и выходов. Все описания формируются в терминах CASE-системы, что дает возможность проводить непосредственно на их основе генерацию результирующего кода прикладкой программы (оболочка G2 фирмы Gensym): документирование процесса разработки, визуальное конструирование диаграмм потоков данных, репозиторий проектных решений.