Поскольку разработка системы «Консультант» является не коммерческим проектом, то выбор инструментальных средств для разработки системы был ограничен продуктами, распространяемыми по лицензии GNU General Public License.
Язык программирования (компилятор)
В качестве языка программирования был выбран язык C++. Этот выбор обоснован, в первую очередь тем, что разработчик имеет большой опыт работы с этим языком. Программы, написанные на данном языке, не требуют никакой дополнительной среды исполнения, могут быть запущены на слабых машинах и отличаются высокой производительностью. В качестве компилятора был выбран MinGW, поскольку он проводит одну из лучших оптимизаций исполняемого кода по скорости работы и размеру исполняемого файла.
Используемые библиотеки
Поскольку написание системы «Консультант» требует разработки графического интерфейса пользователя, то была выбрана специализированная библиотека Qt. Она позволяет разрабатывать сложные графические интерфейсы, которые будут работать даже на слабых машинах.
Система контроля версий
Для контроля за исходными кодами системы была выбрана система контроля версий CVS (Concurrent Versions System), т.к. она обладает достаточным набором функций для столь маленького проекта.
Система генерации документации
Для генерации документации по исходным кодам программы будет использоваться система DoxyGen. Разработчик имеет опыт работы с данной системой и её функциональности более чем достаточно для генерации документации в настоящем проекте.
Принятые проектные решения
Метод работы системы в режиме Справка
Поскольку режим справки подразумевает сложную систему навигации, то целесообразно использовать гипертекстовую методику. Для обеспечения простоты редактирования, информационные статьи выделяются в отдельные гипертекстовые файлы, а система справки подгружает их по мере необходимости.
Для удобства навигации режим справки снабжен следующими функциональными модулями:
1. Древовидное оглавление
Позволяет проводить иерархический поиск информации от общей тематики к конкретной статье. Для существования возможности редактирования оглавление выносится в xml файл.
2.Поисковая панель
Позволяет производить поиск по ключевым словам. Результатом поскового запроса является список статей, ему отвечающих.
Реализация справочной системы подобным образом обладает одним важным преимуществом: её очень легко дополнять и корректировать пользуясь простейшими программами класса Notepad.
Режим консультация.
Для организации режима консультации будет использованы продукционные правила и специально реализованная машина вывода. Собственная реализация машины вывода позволит ограничится только минимально необходимым набором функций, что в свое время повысит производительность системы по сравнению со случаем использования готового продукта.
Реализуемая система вывода должна оперировать с нечеткими данными, поэтому будет реализована поддержка переменных в условиях и контрактах правил. Для переменных в рабочей памяти выделяется специальный раздел.
Система поддерживает следующий синтаксис правил
<правило> ::= IF <условие1> [ 'AND' | 'OR' <условие2> ['AND' | 'OR' <условие3>[...]]] THEN <Контракт1> [AND <Контракт2> [...]]
Для инициализации переменных вводится специальный тип правил "ATSTART", которые срабатывают сразу при запуске машины вывода. Синтаксис таких правил следующий.
Краткая информация Анализ конкретного применения: реконструкция теплоизоляции дома сравнительная характеристика теплоизоляционных материалов система...
Критерий устойчивости Найквиста Если разомкнутая система устойчива, то для устойчивости замкнутой системы необходимо и достаточно, чтобы амплитудно-фазовая частотная...