Программа по выбору языка программирования

Разработка экспертной системы по выбору языка программирования для данного программного обеспечения. Выбор и обоснование механизма вывода решения. Дерево базы знаний экспертной системы. Программа формирования основного меню, руководство пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.08.2012
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

1. Постановка задачи

2. Назначение объекта проектирования

3. Анализ существующих языков программирования

4. Представление базы знаний по выбору языка программирования

5. Выбор и обоснование механизма вывода решения

6. Программа формирования основного меню

7. Программная реализация механизма выработки решения

8. Руководство пользователя разработанной программы

1 Постановка задачи

1.1 В данном курсовом проекте требуется разработать экспертную систему по выбору языка программирования для разрабатываемого программного обеспечения. Результатом работы экспертной системы является выбор наиболее подходящего языка программирования, отвечающего указанным критериям разработчика.

1.2 Выбор осуществляется из следующих языков программирования:

- Java;

- C;

- C++;

- C#;

- Delphi;

- Erlang;

- Haskell;

- Common Lisp;

- Perl;

- Ruby;

- PHP;

- Python.

2 Назначение объекта проектирования

2.1 Объектом обслуживания разрабатываемого программного комплекса является КСА мобильного пункта управления верхнего уровня АСУ СН, представляющий собой многофункциональный комплекс. Структура КСА объекта управления приведена на рисунке 2.1.

Рисунок 2.1 -- Структура КСА

В состав КСА входят 10 АРМ трех типов, имеющих модификации по техническому их оснащению, а также разное функциональное назначение - управляющие, информационно-расчетные, специализированные АРМ (АРМ АСУ и связи, АРМ функционального контроля, АРМ службы безопасности информации), два сервера управления, два сервера передачи данных, средства локальной вычислительной сети, комплекты аппаратуры передачи данных, обеспечивающие вхождение объекта в различные сети обмена данными, средства регистрации и документирования, средства управления комплексом, средства электропитания.

Серверы и АРМ различных типов из состава КСА реализованы на базе бортовой цифровой вычислительной машины (БЦВМ).

Все вычислительные средства КСА объединены в локальную вычислительную сеть Ethernet.

Концентратор реализует центральный узел для всех сетевых кабелей, обеспечивая тем самым связь между портами, что позволяет абонентам сети подключаться к нему для обмена сообщениями. Концентратор, используемый в ЛВС КСА, «активный», модульного исполнения. Активный концентратор имеет встроенный блок питания и реализует функции повторителя, поскольку и осуществляет регенерацию сигнала (распаковку, усиление и обратную упаковку) для широковещательной передачи сигнала.

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

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

Файловый сервер имеет один существенный недостаток - его отключение парализует работу всей сети. Для исключения этой проблемы в КСА имеется второй сервер управления, работающий в режиме «горячего» резервирования.

Сервер печати - это еще один вид услуг СУПР, предоставляемый клиентам сети, позволяющий им осуществлять печать документов.

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

Помимо СУПР в КСА принтеры установлены также на серверах СПД, и АРМ-1 (в том числе на специализированных АРМ, таких как АРМ СБ, АРМ ФК, АРМ АСУ и С).

Во время сеанса пользователь работает с терминальным сервером так, словно он физически находится рядом. Когда на клиентской машине выполняют приложения, загружают данные в память, обращаются к совместно используемым ресурсам сети и. как обычно, работают под управлением операционной системы, то приложение использует процессорное время и память сервера. Единственным ограничением для клиента являются те, которые определены установками системы защиты информации. Терминальный сервер обрабатывает сеанс с каждым пользователем независимо от других, и каждому сеансу отводится часть имеющихся на сервере ресурсов. Это значит, что сеанс полностью изолирован от любого другого исполняемого и запущенного сеанса. Однако все сеансы эксплуатируют последовательно одни и те же ресурсы - процессорное время, память, функции операционной системы - так что операционной системе приходится распределять эти ресурсы между сеансами с учетом того, что в дополнение к сеансам каждого клиента имеется также сеанс, используемый самим сервером. Количество клиентов, которые могут одновременно использовать терминальный сервер, ограничено не только возможностями операционной системы, но и доступной виртуальной памятью. Клиент может использовать лишь столько виртуальной памяти, сколько ему доступно. Выход из строя терминального сервера разрушает работу сети, поэтому резервирование СУПР направлено также для предотвращения отказа работы КСА.

В состав КСА входит два сервера передачи данных (СПД), они, также как и СУПР, резервируются с целью повышения живучести КСА. Основное назначение сервера передачи данных - обеспечения приема информационного сообщения, поступающего по ЛВС КСА (управляющая команда, неформализованное сообщение), предназначенного для выдачи через аппаратуру передачи данных и каналообразующую аппаратуру комплекса средств связи во внешние сети обмена данными. Принятое по ЛВС сообщение в СПД анализируется с целью определения вида сети передачи данных, через которую (или которые) необходимо передать сообщение. Далее в СПД происходит преобразование поступившего сообщения в кодограмму, соответствующую типу кодограммы, используемой в выбранной для передачи сообщения сети.

Прежде чем передавать сформированное сообщение в КСС для выдачи объектам управления КСА должен заранее уведомить об этом систему автоматизированного управления КСС, чтобы дать время на формирование требуемого канала и получить подтверждение, что объект адресат доступен для выбранной сети. Для обеспечения возможности обмена служебной информацией СПД имеет сетевое оборудование ЛВС, позволяющее ему к ЛВС КСС, которая объединяет АРМ управления комплектами технических средств каналообразующей аппаратуры различных диапазонов (КВ, УКВ, станцией спутниковой связи, ДВ, СДВ, радиорелейной станцией). Таким образом, СПД выполняет роль сетевого моста, который сопрягает ЛВС КСА и ЛВС КСС и позволяет передавать данные между этими сетями, не затрагивая при этом раздельный трафик каждой сети.

В КСА реализована возможность работы операторов по трем информационным трактам:

- управляющему;

- расчетному;

- технологическому.

Информационный обмен КСА ВзПУ с объектами управления (или со взаимодействующими объектами) обеспечивается путем возможности обмена данными по следующим сетям:

- основной;

- резервной;

- непосредственного доведения (в составе подсистем).

Назначение информационных трактов понятно из их названий.

Управляющий тракт используется для обмена управляющими командами и информацией об ответной реакции объектов управления на эти команды. Работа по этому тракту обеспечивается во всех сетях обмена данными.

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

Технологический тракт предназначается для обмена информацией состояния объектов управления и другой служебной информацией в интересах поддержания работоспособности системы.

Работа по расчетному и технологическому трактам поддерживается только через основную сеть.

АРМ -3 - предназначен для работы Руководства. В своем составе имеет системный блок, клавиатуру, трекбол, два 20'ЖК монитора. АРМ Руководства предназначено для отображения справочной информации. На одном из мониторов отображается информация, вызванная по запросу Руководства, а на втором мониторе принудительно (по мере поступления) отображается информация, требующая безотлагательного решения.

АРМ-2 - предназначены для операторов, работающих в управляющем тракте. В состав АРМ входят системный блок, трекбол (мышка), клавиатура, два ЖК монитора (15' и 17'), блоки считывания ключей, функциональный пульт, обеспечивающий минимизацию действий оператора, связанных с подготовкой, формированием и выдачей с АРМ команд управления.

АРМ-1 - предназначены для операторов, работающих в информационно-расчетном тракте, в состав АРМ входят системный блок, трекбол, клавиатура, 15' ЖК монитор, блоки считывания ключей. На базе АРМ-1 построены также специализированные АРМ КСА (АРМ АСУ и связи, АРМ СБ, АРМ ФК.

При создании этой системы требуется достижение высокого коэффициента готовности. Коэффициент готовности определяется временем простоя системы из-за выхода из строя оборудования. Для ускорения процесса замены оборудования резервным в систему вводится подсистема функционального контроля, которая позволяет в приемлемые сроки реагировать на выход оборудования из строя.

Под подсистемой функционального контроля понимается программное обеспечение, которое позволяет:

- отслеживать и отображать текущее состояние технических средств, а также изменение этого состояния;

- проводить в полуавтоматическом и автоматическом режиме тестирование технических средств;

- управлять техническими средствами.

Разработка подсистемы ФК обусловлена необходимостью повышения коэффициента готовности для новых разрабатываемых объектов.

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

Рисунок 2.2 - Структурная схема подсистемы ФК

2.3 Разрабатываемый программный комплекс сбора информации о ТС будет применяться в составе подсистемы ФК как для существующих мобильных КСА, разработанных в НТЦ УКСА, так и для новых перспективных КСА. Структурная схема ПК представлена на рисунке 2.3.

Рисунок 2.3 - Структурная схема ПК сбора информации

Система сбора информации включает в себя следующие модули:

- модуль работы с ПК тестирования ТС, который отвечает за подключение к программе специальных динамических библиотек, служащих связью между программой и драйверами устройств;

- модуль работы с подсистемой отображения, который отвечает за связь с программным комплексом отображения;

- сетевой модуль обрабатывает поступающие запросы о состоянии ТС и отсылает соответствующие ответы.

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

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

Рисунок 2.4 - Схема функционирования ПК сбора информации.

Данная схема включает в себя следующие модули:

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

- модуль связи с системой отображения устанавливает соединение с этой системой, после чего принимает запросы от неё и отсылает ответы;

- модуль работы с плагинами отвечает за вызов определённого метода нужного плагина и обработку полученного результата;

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

- модуль обработки сигналов обрабатывает сигналы от ОС и способен остановить или перезапустить программу.

2.4 Разрабатываемый программный комплекс необходимо будет устанавливать для работы в фоновом режиме на каждом из обслуживаемых АРМ. Очень важно, чтобы программный комплекс сбора информации не мешал исполнению боевых, учебных и других задач на обслуживаемом КСА. Необходимо, чтобы он потреблял как можно меньше системных ресурсов, таких как оперативная память, процессорное время, а также создавал малую нагрузку на локальную вычислительную сеть. Этого можно достигнуть правильным выбором языка программирования, что позволит написать эффективную программу, соответствующую этим требованиям.

Для этого создаётся экспертная система, с помощью которой можно будет сделать правильный выбор языка программирования для разрабатываемого программного комплекса сбора информации в подсистеме функционального контроля КСА АСУ СН.

3 Анализ существующих языков программирования

3.1 На сегодняшний день существует весьма богатое разнообразие языков программирования (порядка нескольких десятков). Как наиболее популярные, распространённые, со сложившимся обширным сообществом и большим количеством библиотек можно выделить следующие языки:

- Java;

- C;

- C++;

- C#;

- Delphi;

- Erlang;

- Haskell;

- Common Lisp;

- Perl;

- Ruby;

- PHP;

- Python.

3.2 В качестве критериев, важных при выборе языка программирования, для создаваемой экспертной системы были выделены следующие характеристики:

- парадигма языка программирования;

- вид типизации;

- компилируемость или интерпретируемость кода;

- управление памятью;

- стандартизация;

- переносимость кода;

- скорость разработки;

- скорость исполнения;

- количество потребляемой памяти.

3.3 Для формирования базы знаний была составлена сравнительная таблица языков программирования. Характеристики выбранных языков программирования представлены в таблицах 4.1 и 4.2.

Таблица 4.1 Характеристики выбранных языков программирования.

Таблица 4.2 Характеристики выбранных языков программирования.

3.4 Для разработки программного комплекса сбора информации в подсистеме функционального контроля КСА ААСУ СН был выбран язык программирования С++, т.к. он удовлетворяет следующим критериям:

- поддержка ООП;

- статическая типизация;

- компилируемость;

- управление памятью не важно;

- стандартизация какой-либо международной организацией;

- способ переносимости кода не важен;

- скорость разработки не важна;

- скорость исполнения должна быть высокой;

- количество потребляемой памяти должно быть малым.

4 Представление базы знаний по выбору языка программирования

4.1 На основании выбранных критериев и составленной таблицы характеристик выбранных языков было сформировано дерево базы знаний, представленное на рисунках 4.1а - 4.1е.

Рисунок 4.1а - Дерево базы знаний экспертной системы

Рисунок 4.1б - Дерево базы знаний экспертной системы

Рисунок 4.1в - Дерево базы знаний экспертной системы

Рисунок 4.1г - Дерево базы знаний экспертной системы

Рисунок 4.1д - Дерево базы знаний экспертной системы

Рисунок 4.1е - Дерево базы знаний экспертной системы

4.2 Сформированная база знаний была описана с помощью языка веб-онтологий OWL и представлена в приложении А.

Язык веб-онтологий OWL [14] - это язык для определения и представления веб-онтологий. Онтология - термин, заимствованный из философии, который обозначает науку, описывающую формы бытия и то, как они относятся между собой. Веб-отнология может включать описания классов, свойств и их примеры. Формальная семантика OWL описывает, как получить логические следствия, имея такую онтологию, т.е. получить факты, которые не представлены в онтологии буквально, но следуют из ее семантики. Эти следствия могут быть основаны на одном документе или множестве распределенных документов, которые комбинируются с использованием определенных механизмов OWL.

OWL обеспечивает три различных по выразительности диалекта, спроектированных для использования отдельными сообществами разработчиков и пользователей.

OWL Lite поддерживает тех пользователей, которые нуждаются, прежде всего, в классификационной иерархии и простых ограничениях.

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

OWL Full предназначается для пользователей, которые хотят максимальную выразительность и синтаксическую свободу RDF без вычислительных гарантий.

5 Выбор и обоснование механизма вывода решения

5.1 Выбор языка программирования осуществляет на основе следующих критериев:

- парадигма языка программирования;

- вид типизация;

- компилируемость или интерпретируемость кода;

- управление памятью;

- стандартизация;

- переносимость кода;

- скорость разработки;

- скорость исполнения;

- количество потребляемой памяти.

5.2 Первым выбранным критерием является парадигма программирования, поддерживаемая языков.

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

Парадигма программирования определяет то, в каких терминах программист описывает логику программы. Существует несколько парадигм программирования, а именно:

1) Императивное программирование -- это парадигма программирования, которая описывает процесс вычисления в виде инструкций, изменяющих состояние программы. Императивная программа очень похожа на приказы, выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.

2) Объектно-ориентированное программирование -- парадигма программирования, в которой основными концепциями являются понятия объектов и классов.

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

4) Декларативное программирование описывает не столько решение задачи, сколько саму задачу, а решение уже должен определять компьютер.

5) Рефлексивное программирование подразумевает возможность программы на данном языке оперировать собственным кодом как данными.

5.3 Следующим выбранным критерием является вид типизации языка программирования. Типизация определяет множество значений, набор операций, которые можно применять к каким-либо значениям в языке программирования и, возможно, способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определённым типам. Выделяют два вида типизации:

- статическая типизация -- здесь переменная, параметр подпрограммы, возвращаемое значение функции связывается с типом в момент объявления и тип не может быть изменён позже (переменная или параметр будут принимать, а функция -- возвращать значения только этого типа);

- динамическая типизация - здесь переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной. Таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов.

5.4 Следующим критерием является возможность компиляции / интерпретации исходного кода языка программирования. Этот критерий также влияет на критерий “скорость исполнения”, описанный далее.

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

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

5.5 Следующим немаловажным критерием было выбрано управление памятью, которое непосредственно влияет на такой критерий, как “скорость разработки”. Здесь описывается, поддерживает ли язык программирование возможность автоматической сборки мусора, или же программисту необходимо вручную работать с памятью в программе.

Сущность ручного управления памятью заключается в следующем:

- для создания объекта в динамической памяти программист явно вызывает команду выделения памяти. Эта команда возвращает указатель на выделенную область памяти, который сохраняется и используется для доступа к ней;

- до тех пор, пока созданный объект нужен для работы программы, программа обращается к нему через ранее сохранённый указатель;

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

Такой подход может привести к проблеме висячих ссылок, что в свою очередь может привести к сбою в программе, а также к проблеме утечки памяти, т.е. расточительному использованию системных ресурсов.

В системе со сборкой мусора обязанность освобождения памяти от объектов, которые больше не используются, возлагается на среду исполнения программы. Программист лишь создаёт динамические объекты и пользуется ими, он может не заботиться об удалении объектов, поскольку это делает за него среда. Для осуществления сборки мусора в состав среды исполнения включается специальный программный модуль, называемый «сборщиком мусора». Данный подход позволяет программисту работать гораздо быстрее, но безусловно, программа высококвалифицированного программиста с ручным управлением памятью сможет эффективней использовать системные ресурсы.

5.6 Критерий “стандартизация” описывает, стандартизирован ли язык программирования какой-либо организацией. Организаций по стандартизации существует множество, вот некоторые из них:

- Международная организация по стандартизации (International Organization for Standardization, ISO) -- международная организация, занимающаяся выпуском стандартов;

- Американский национальный институт стандартов (англ. American National Standards Institute, ANSI) -- объединение американских промышленных и деловых групп, разрабатывающее торговые и коммуникационные стандарты;

Европейская ассоциация производителей (European Computer Manufacturers Association, ECMA) -- ассоциация, деятельность которой посвящена стандартизации информационных и коммуникационных технологий.

5.7 Критерий “переносимость кода” описывает каким образом достигается переносимость исходного кода программ на различные аппаратные платформы (например, x86-64, IA32, IA64, PowerPC и др.) или операционные системы (например, Windows, Linux, BSD, Mac OS, Solaris и др.).

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

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

5.8 Следующими тремя важными критериями были выбраны скорость разработки ПО, скорость исполнения конечной программы и количество потребляемой памяти программой. Значения этих параметров для каждого из сравниваемых языков программирования были взяты из сравнительных тестов производительности этих языков [15]. Языки сравнивались на одной аппаратной и программной конфигурации, и на одинаковых задачах (например, поиск по бинарному дереву, вычисление регулярного выражения и др.), более подробно тесты и сравнение описаны в [15].

6 Программа формирования основного меню

6.1 Основное окно программы, представленное на рисунке 6.1, состоит из нескольких элементов интерфейса:

- снизу расположены кнопки (в виде стрелок влево и вправо) переключения вопроса, которые позволяют пользователю перейти к следующему вопросу или вернуться к предыдущему;

- между кнопок отображается счётчик заданных вопросов и общее количество доступных вопросов;

- сверху находится поле, в котором отображается текущий вопрос экспертной системы касательно выбора языка программирования;

- в центре находятся варианты ответа на вопрос, из которых в зависимости от вопроса можно выбрать один, или же несколько вариантов;

- справа находится список языков программирования, исходя из выбранных вариантов ответов на вопросы экспертной системы.

Рисунок 6.1 - Главное окно программы

6.2 После того, как пользователь ответит на серию вопросов, экспертная система покажет ему наиболее подходящий вариант. Пример вопросов, ответов и результирующего решения представлен на рисунках 6.2-6.5.

Рисунок 6.2 - Окно программы с выбранными ответами

Рисунок 6.3 - Пример вопроса по выбору языка программирования

Рисунок 6.4 - Пример вопроса по выбору языка программирования

Рисунок 6.5 - Пример результирующего выбора программы

7 Программная реализация механизма выработки решения

7.1 Разработанная программа предоставляет возможность пользователю выбрать наиболее подходящий язык программирования на основе его ответов на серию вопросов, соответствующих выбранным критериям на этапе создания базы знаний. При каждом выборе пользователем какого-либо ответа, на список всех индивидов класса “ЯзыкПрограммирования”, описанного в OWL-документе, накладывается фильтр, соответствующий определённому критерию, который также описан в OWL-документе. После этого формируется новый список оставшихся языков программирования, который и отображается пользователю.

7.2 Способ получения вопросов и ответов, которые необходимо задать пользователю для выбора языка программирования, описывается в XML-документе, который представлен в приложении Б.

7.3 Для разработки программы по выбору языка программирования использовалась платформа Java, а также библиотека для работы с онтологиями Jena.

8 Руководство пользователя разработанной программы

программа экспертная система

8.1 Для того, чтобы иметь возможность запустить программу по выбору языка программирования, необходимо установить виртуальную машину Java (Java Runtime Environment версии 1.5 и выше) от компании Oracle (программа бесплатна).

8.2 Для того, чтобы начать работу с программой, необходимо открыть системную консоль, перейти в каталог с программой и выполнить команду “java -jar expsys.jar”.

8.3 Для выбора какого-либо варианта ответа на вопрос пользователю необходимо произвести одинарный щелчок левой клавишей мыши по кружку или квадрату слева от ответа в зависимости от того, возможен ли множественный выбор ответов на заданный вопрос.

8.4 После того, как ответ был выбран, становится доступна клавиша (в виде стрелки вправо) перехода к следующему вопросу. Для перехода необходимо совершить одинарный щелчок левой клавишей мыши по этой кнопке.

8.5 Для перехода к предыдущему вопросу необходимо произвести одинарный щелчок левой клавишей мыши по кнопке, изображённой в виде стрелки влево.

8.6 Для выхода из программы необходимо совершить одинарный щелчок левой клавишей мыши по кнопке в виде красного крестика в верхнем правом углу программы.

1. Размещено на www.allbest.ru


Подобные документы

  • Разработка экспертной системы по выбору языка программирования, отвечающего критериям разработчика: представление базы знаний; выбор и обоснование механизма вывода решения. Программа формирования основного меню, реализация механизма выработки решения.

    курсовая работа [2,5 M], добавлен 15.08.2012

  • Пример экспертной системы с использованием метода Криса-Нейлора. Структура базы данных. Стратегия вывода результатов выбора страны. Руководство пользователя, редактирование базы знаний. Режим тестирования, его завершение, блок объяснения решения.

    контрольная работа [1,6 M], добавлен 29.12.2012

  • Обзор методов и подходов решения поставленной задачи аппроксимации логического вывода экспертной системы. Разработка и описание метода сетевого оператора для решения данной задачи. Разработка алгоритма решения. Проведение вычислительного эксперимента.

    дипломная работа [1,5 M], добавлен 23.02.2015

  • Разработка программного обеспечения для регистрации удержаний из заработной платы. Характеристика используемой операционной системы и языка программирования. Написание алгоритма и текста программы меню, ввода данных и формирования выходных документов.

    курсовая работа [2,1 M], добавлен 20.11.2012

  • Выбор языка программирования и его обоснование. Определение системных требований. Схема алгоритма и программа на языке Qbasic. Разработка руководства пользователя. Способы конструирования программ. Особенности и принципы динамического программирования.

    курсовая работа [398,8 K], добавлен 21.01.2014

  • Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.

    лабораторная работа [17,8 K], добавлен 15.01.2011

  • Понятия, классификация и структура экспертных систем. Базы знаний и модели представления знаний. Механизмы логического вывода. Инструментальные средства проектирования и разработки экспертных систем. Предметная область ЭС "Выбор мобильного телефона".

    курсовая работа [2,2 M], добавлен 05.11.2014

  • Выбор языка программирования. Требования к информационному и техническому обеспечению. Реализация базы данных. Разработка алгоритма работы программного обеспечения. Форма идентификации пользователя. Руководство пользователя. Типы элементов диалога.

    дипломная работа [1,3 M], добавлен 05.07.2013

  • История возникновения и развития языка Prolog. Рассмотрение императивных и декларативных языков программирования. Элементы экспертной системы: база знаний, механизм вывода и система пользовательского интерфейса. Описание предикатов и предложений.

    дипломная работа [44,0 K], добавлен 11.05.2014

  • Обзор существующих решений и обоснование выбора языка программирования. Разработка структурной схемы, интерфейса программного продукта. Технические требования к оборудованию, тест программного продукта, руководство системного программиста и оператора.

    дипломная работа [2,0 M], добавлен 10.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.