краткое описание системы Консультантx

advertisement
Система «Консультант»
Краткая характеристика разрабатываемой системы
Разработчик: Суконкин Илья Николаевич К9-222
1. Используемые инструменты разработки
Поскольку разработка системы «Консультант» является не коммерческим проектом, то выбор
инструментальных средств для разработки системы был ограничен продуктами,
распространяемыми по лицензии GNU General Public License.
1.1. Язык программирования (компилятор)
В качестве языка программирования был выбран язык C++. Этот выбор обоснован, в
первую очередь тем, что разработчик имеет большой опыт работы с этим языком.
Программы, написанные на данном языке, не требуют никакой дополнительной среды
исполнения, могут быть запущены на слабых машинах и отличаются высокой
производительностью. В качестве компилятора был выбран MinGW, поскольку он
проводит одну из лучших оптимизаций исполняемого кода по скорости работы и размеру
исполняемого файла.
1.2. Используемые библиотеки
Поскольку написание системы «Консультант» требует разработки графического
интерфейса пользователя, то была выбрана специализированная библиотека Qt. Она
позволяет разрабатывать сложные графические интерфейсы, которые будут работать
даже на слабых машинах.
1.3. Система контроля версий
Для контроля за исходными кодами системы была выбрана система контроля версий CVS
(Concurrent Versions System), т.к. она обладает достаточным набором функций для столь
маленького проекта.
1.4. Система генерации документации
Для генерации документации по исходным кодам программы будет использоваться
система DoxyGen. Разработчик имеет опыт работы с данной системой и её
функциональности более чем достаточно для генерации документации в настоящем
проекте.
2. Принятые проектные решения
2.1. Метод работы системы в режиме Справка
Поскольку режим справки подразумевает сложную систему навигации, то целесообразно
использовать гипертекстовую методику. Для обеспечения простоты редактирования,
информационные статьи выделяются в отдельные гипертекстовые файлы, а система справки
подгружает их по мере необходимости.
Для удобства навигации режим справки снабжен следующими функциональными модулями:
1. Древовидное оглавление
Позволяет проводить иерархический поиск информации от общей тематики к конкретной
статье. Для существования возможности редактирования оглавление выносится в xml
файл.
2.Поисковая панель
Позволяет производить поиск по ключевым словам. Результатом поскового запроса
является список статей, ему отвечающих.
Реализация справочной системы подобным образом обладает одним важным преимуществом: её
очень легко дополнять и корректировать пользуясь простейшими программами класса Notepad.
2.2. Режим консультация.
Для организации режима консультации будет использованы продукционные правила и
специально реализованная машина вывода. Собственная реализация машины вывода позволит
ограничится только минимально необходимым набором функций, что в свое время повысит
производительность системы по сравнению со случаем использования готового продукта.
Реализуемая система вывода должна оперировать с нечеткими данными, поэтому будет
реализована поддержка переменных в условиях и контрактах правил. Для переменных в рабочей
памяти выделяется специальный раздел.
Система поддерживает следующий синтаксис правил
<правило> ::= IF <условие1> [ 'AND' | 'OR' <условие2> ['AND' | 'OR' <условие3>[...]]] THEN
<Контракт1> [AND <Контракт2> [...]]
<условие> ::= <факт> | <переменная>'==' | '>=' | '<=' | '<' | '>' | '!='<значение>
<контракт> ::= <факт> | <математическое выражение>
<математическое выражение>::= <переменная> '=' | '+=' | '-=' | '*=' | '\='
<переменная>|<значение> {[<арифм операция> <переменная>|<значение>]}
<арифм операция>::='+','-','=','*'
Для инициализации переменных вводится специальный тип правил "ATSTART", которые
срабатывают сразу при запуске машины вывода. Синтаксис таких правил следующий.
<правило ATSTART>::='ATSTART' ,<инициализация переменной>
<инициализация переменной>::=<переменная> '=' <значение>
В реализуемой системе продукций отсутствует строгая типизация, поэтому следует внимательно
подходить к написанию правил.
2.3. Графический интерфейс пользователя
1). Панель выбора режима работы системы "Консультант"
2). Панель навигации
2.1). В режиме "Справка" это древовидное оглавление
2.2). В режиме "Консультация" это список возможных консультаций
3). Основное поле вывода информации
3.1). В режиме "Справка" здесь выводятся стати
3.2). В режиме "Консультация" здесь выводится информация о ходе консультации и
вспомогательные сведения.
Непосредственно сама консультация производится в отдельных диалоговых окнах.
Download