ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ (ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ) Факультет Кибернетики Кафедра № 22 Техническое задание к курсовому проекту на тему: Разработка системы «KBS Assistant» для проблемной области: «Проектирование систем основанных на знаниях» Группа К9-222 Студент _________________________ ( Суконкин И.Н.) (подпись) Оценка __________________________________________________ Москва 2008 (фио) Оглавление 1. 2. 3. 4. 5. Наименование работы. Краткое описание. Основания для выполнения. ..................................... 3 1.1. Наименование работы ................................................................................................................ 3 1.2. Название работы: «KBS Assistant».............................................................................................. 3 1.3. Краткое описание ........................................................................................................................ 3 1.4. Основания для выполнения ....................................................................................................... 3 1.5. Исполнители работы: .................................................................................................................. 3 1.6. Сроки выполнения работы: сентябрь 2008 г. – 15 Декабря 2008 г. ........................................ 3 Назначение разработки ...................................................................................................................... 3 2.1. Целевой потребитель системы: разработчик систем, основанных на знаниях .................... 3 2.2. Задачи, решаемые системой: ..................................................................................................... 3 2.3. Целевая платформа потребителя .............................................................................................. 4 Требования к программе или программному изделию .................................................................. 4 3.1. Требования к функциональным характеристикам ................................................................... 4 3.2. Требования к надежности .......................................................................................................... 6 3.3. Условия эксплуатации ................................................................................................................. 6 3.4. Требования к информационной и программной совместимости .......................................... 7 Требования к программной документации ...................................................................................... 8 4.1. Состав программной документации.......................................................................................... 8 4.2. Требования к руководству администратора ............................................................................. 8 4.3. Требования к руководству пользователя .................................................................................. 9 Экономические показатели системы................................................................................................. 9 5.1. 6. 7. Затраты на разработку ................................................................................................................ 9 Стадии и этапы разработки ................................................................................................................ 9 6.1. Сетевой график работ по созданию системы ........................................................................... 9 6.2. Средства поддержки разработки.............................................................................................12 Порядок контроля и приемки ..........................................................................................................12 7.1. Презентация проекта ................................................................................................................12 7.2. Порядок предоставления прототипов системы .....................................................................12 7.3. Порядок сдачи финальной версии системы ...........................................................................12 2 1. Наименование работы. Краткое описание. Основания для выполнения. 1.1. Наименование работы Разработка консультационного программного комплекса для проблемной области «Проектирование систем основанных на знаниях» 1.2. Название работы: «KBS Assistant» 1.3. Краткое описание Программный комплекс представляет собой систему, основанную на знаниях и предназначен для разработчиков систем основанных на знаниях (далее СОЗ). Он должен обеспечивать информационную поддержку первого этапа процесса разработки СОЗ. 1.4. Основания для выполнения Задание курсового проекта по курсу «Проектирование систем, основанных на знаниях» от 2.09.2008 1.5. Исполнители работы: 1.5.1. Инженер по знаниям: Суконкин И.Н. 1.5.2. Эксперт: Профессор факультета “Кибернетики” кафедры № 22 МИФИ, доктор технических наук – Рыбина Г. В. 1.5.3. Программисты: Суконкин И.Н. 1.6. Сроки выполнения работы: сентябрь 2008 г. – 15 Декабря 2008 г. 2. Назначение разработки 2.1. Целевой потребитель системы: разработчик систем, основанных на знаниях 2.2. Задачи, решаемые системой: Обеспечение информационной поддержки процесса разработки систем, основанных на знаниях при помощи предоставления справочной информации о рассматриваемой тематике. Обеспечение информационной поддержки процесса разработки систем, основанных на знаниях в виде цикла консультаций, направленных на получение ответов на вопросы применимости СОЗ для решения заданной задачи, выбора идеальной пары «эксперт – когнитолог», выбора способов (моделей) представления знаний, выбора инструментальных средств для проектирования СОЗ, выбора стратегий прототипирования, выбор методов тестирования СОЗ. 3 Обеспечение возможности корректировки информационной составляющей системы без участия разработчика. 2.3. Целевая платформа потребителя 2.3.1. Операционная система: Windows 2000, Windows XP 2.3.2. Формат взаимодействия с пользователем: графический интерфейс 2.3.3. Дополнительные параметры: отсутствие дополнительных готовых программных пакетов сторонних разработчиков 3. Требования к программе или программному изделию 3.1. Требования к функциональным характеристикам 3.1.1. Требования к составу выполняемых функций 3.1.1.1. Требования к составу функций режима «Справка» Система должна реализовывать запросы пользователя по просмотру справочной информации. Система должна поддерживать навигацию вперед и назад по списку просмотренных документов. Максимальная длина списка 30 документов. Система должна реализовывать функцию поиска документов по заданному ключевому слову Система должна хранить справочные статьи в виде отдельных html файлов Оглавление справочника должно храниться в отдельном текстовом файле Справочник должен содержать обязательную справочную статью «Словарь» 3.1.1.2. Требования к составу функций режима «Консультация» В режиме «Консультация» пользователю должна предоставляться возможность проведения экспертиз: o Анализ проблемной области на применимость технологии СОЗ o Выбор кандидата на роль эксперта o Выбор кандидата на роль когнитолога 4 o Определение личностных особенностей эксперта o Определение личностных особенностей когнитолога o Выбор модели представления знаний o Выбор стратегии прототипирования Должна предоставляться контекстная справка Должны предоставляться объяснения того, как были получены те или иные заключения 3.1.1.3. Требования к составу функций режима «Администрирование» Система должна предоставлять возможность редактирования базы знании администратором Система должна предоставлять возможность администратору управлять списком пользователей Система должна предоставлять возможность администратору настраивать пути расположения справочных статей, баз знаний и т.д. 3.1.2. Требования к временным характеристикам 3.1.2.1. Общие требования к скорости работы графического интерфейса Скорость срабатывания графического интерфейса на атомарное действие пользователя, такое как нажатие кнопки, не должно превышать 0.4 секунд Частота обновления области экрана, отведенной под графический интерфейс системы не должна быть меньше 20 кадров в секунду 3.1.2.2. Требования к скорости загрузки данных в режиме «Справка» Загрузка оглавления из справочника должна происходить не более чем за 0.3 секунды Загрузка справочной статьи в область просмотра должна происходить не более чем за 1.2 секунды 5 3.1.2.3. Требования к скорости обработки поискового запроса в режиме «Справка» Формирование поискового запроса, состоящего из одного слова должно происходить не более чем за 2.5 секунды 3.1.2.4. Требования к скорости работы машины вывода Требования сформированы для базы знаний объемом 200 продукций и рабочей памяти начальным объемом 10 фактов и для макетов согласно подпункту 3.3.2. Система должна производить один шаг вывода не более чем за 0.2 секунды 3.2. Требования к надежности 3.2.1. Требования точности Точность заключения, выдаваемого системой в тех или иных режимах консультации может характеристик тестируемого используемых тестов. и Точность зависеть точности от тех заключений конкретного типа консультаций будет субъективных или для иных каждого определено отдельно и документировано в «Конструкторском проекте» 3.2.2. Требования ко времени безотказной работы Время безотказной работы должно превосходить максимальное время сеанса работы системы, составляющего 16 часов 3.3. Условия эксплуатации 3.3.1. Поддерживаемые ОС Система должна работать на операционных системах Windows 2000, Windows 2003, Windows XP. 3.3.2. Требования к использованию ресурсов ПК 6 Все требования к использованию ресурсов сформулированы относительно аппаратного макета следующей конфигурации: процессор Intel Pentium 4 2Ггц, 256 Мб ОЗУ, видеокарта с 1Мб встроенной памяти. 3.3.2.1. Требования к использованию процессорного времени В режиме «справка» нагрузка процессора не должна превышать 7% при отображении данных и 20% при выполнении поискового запроса. В режиме «консультация» нагрузка процессора не должна превышать 7% в процессе тестирования, и 60% в процессе функционирования машины вывода. 3.3.2.2. Требования к использованию оперативной памяти В режиме «Справка» объем используемой оперативной памяти не должен превышать 20 Мб без учета памяти занимаемой справочной информацией. В режиме «Консультация» объем оперативной памяти, используемый системой не должен превышать 20 Мб без учета памяти используемой под хранение тестов и 30 Мб в процессе функционирования машины вывода, без учета памяти, используемой для хранения базы знаний. 3.3.2.3. Требования к использованию жесткого диска Дистрибутив системы, без учета информационного обеспечения, такого как содержимое справочника, базы знаний, базы тестов должен иметь размер не более 20 Мб. 3.4. Требования к информационной и программной совместимости 3.4.1. Требования к информационным структурам на входе и на выходе системы 3.4.1.1. Требования к поддержке формата данных для режима «Справка» Система должна поддерживать справочные статьи в формате html с форматированием заголовков трёх уровней, поддержкой изображений и поддержкой гипертекстовой навигации и оглавление в формате текстового файла. Структура данных текстового файла с оглавлением и список поддерживаемых html тегов приводится в «Конструкторском проекте» 3.4.2. Требования к методам решения 3.4.2.1. Требования к алгоритмам поиска режима «Справка» 7 3.4.2.2. Требования к машине вывода 3.4.3. Требования к исходным кодам 3.4.3.1. Требования к оформлению исходного кода 3.4.3.2. Требования к декомпозиции исходного кода 3.4.4. Требования языкам программирования Система должна быть реализована на языке программирования С++ 3.4.5. Требования к программным средствам, используемым программой Система должна быть реализована с использованием некоммерческой версии библиотеки Qt для создания графического интерфейса 4. Требования к программной документации 4.1. Состав программной документации 4.1.1. Техническое задание Техническое задание на систему должно содержать основные пункты согласно государственному стандарту ГОСТ 19.201-78, измененному для лучшего описания настоящей задачи 4.1.2. Конструкторский проект Конструкторский проект содержит описание реализации системы, её программное и информационное обеспечение, описание применяемых алгоритмов, интерфейсов для получения входных данных, графического интерфейса пользователя и прочую информацию, объясняющую принципы работы систем 4.1.3. Руководства пользователя и администратора Руководства пользователя и администратора содержат в себе инструкции необходимые для работы с системой в роли пользователя или администратора соответственно 4.1.4. Документация по исходному коду программного средства Документирование исходного кода должно производиться при помощи системы автоматической генерации документации Doxygen 4.2. Требования к руководству администратора Руководство администратора должно содержать полный перечень функций, предоставляемых системой администратору в виде сценариев их использования. Данное руководство должно быть рассчитано на пользователя хорошо знакомого с проблемной областью создания систем, основанных на знаниях. Степень 8 подробности предоставляемых инструкций должен быть адекватен уровню подготовки «уверенного пользователя» ПК и операционной системы Windows. Руководство не должно содержать информации о правилах использования продуктов сторонних разработчиков таких как формат html, формат ini – файлов и т.д. Руководство должно предоставляться как в бумажном виде, так и в виде электронного справочника и контекстной справки. Также руководство должно содержать инструкции об установке и первичной конфигурации системы. 4.3. Требования к руководству пользователя Руководство пользователя должно содержать полный перечень функций, предоставляемых системой пользователь в виде сценариев их использования. Данное руководство должно быть рассчитано на пользователя минимально знакомого с проблемной областью проектирования систем, основанных на знаниях. Степень подробности предоставляемых инструкций должен быть адекватен уровню подготовки «уверенного пользователя» ПК и операционной системы Windows. Руководство должно предоставляться как в бумажном виде, так и в виде электронного справочника и контекстной справки 5. Экономические показатели системы 5.1. Затраты на разработку 5.1.1. Затраты на работу разработчиков Система разрабатывается одним разработчиком с заработной платой 35 тыс. рублей в месяц и одним инженером по знаниям с заработной платой 35 тыс. рублей в месяц 5.1.2. Затраты на средства разработки Используются только средства разработки с открытым исходным кодом распространяемые по лицензиям GPL v1 и GPL v2, поэтому затраты на средства разработки отсутствуют 5.1.3. Экономическая выгода Поскольку данный учебный проект создается как свободно распространяемый продукт с открытым исходным кодом то есть не является коммерческим, то экономическая выгода от его реализации отсутствует 6. Стадии и этапы разработки 6.1. Сетевой график работ по созданию системы (1) Определение цели проекта 9 (2) Определение функциональных требований (3) Определение требований к реализации системы (4) Написание технического задания на разработку системы (5) Проектирование системы (6) Определение инструментальных средств (7) Описание архитектуры системы (8) Определение функциональности компонент системы (9) Определение интерфейсов между компонентами системы (10) Написание документа «Конструкторский проект» (11) Разработка информационного обеспечения системы (12) Написание программы и методики тестирования (13) Реализация прототипа 1 ( согласно с подпунктом 7.2.1 ) (14) Реализация прототипа 2 ( согласно с подпунктом 7.2.2 ) (15) Реализация финального прототипа ( согласно с подпунктом 7.3.1 ) (16) Финальное тестирование (17) Защита проекта 10.10.2008 20.10.2008 1 10.11.2008 20.11.2008 01.12.2008 05.12.2008 15.10.2008 4 3 2 12 5 17 6 7 15 8 14 9 16 10 13 11 10 1 2 3 4 6 7 8 9 5 10 11 13 14 15 16 17 11 6.2. Средства поддержки разработки 6.2.1. Компилятор В качестве компилятора используется gcc 4.2.2 в составе пакета MinGW, распространяемого по лицензии GPL v3 6.2.2. Среда разработки К качестве среды разработки используется QDevelop 0.26.1, распространяемая по лицензии GPL v1 6.2.3. Система контроля версий Сервер: http://code.google.com/p/kbsassistant/, Клиент: SmartSVN 6.2.4. Система генерации документации В качестве системы автоматической генерации документации исходных кодов используется Doxygen 1.5.6 6.2.5. Дополнительные библиотеки Для создания графического интерфейса пользователя используется библиотека Qt 4.4.0 Open Source, распространяемая по лицензии GPL v3 7. Порядок контроля и приемки 7.1. Презентация проекта Презентация проекта содержит в себе краткое описание системы и список принятых на момент презентации проектных решений. Также в презентацию входит публичное выступление. Дата проведения 18.11.08 7.2. Порядок предоставления прототипов системы 7.2.1. Прототип 1 Содержит программную реализацию 70% всех функций систем, но не содержит информационной составляющей, такой как наполнение справочника системы, базы знаний и т.д. 7.2.2. Прототип 2 Содержит программную реализацию 90% всех функций системы и имеющий частичное наполнение информационной составляющей. 7.3. Порядок сдачи финальной версии системы 7.3.1. Финальный прототип Содержит программную реализацию всех функций системы, которые были оговорены в техническом задании и полное наполнение информационной составляющей. 12 7.3.2. Документация Вместе с финальным прототипом системы предоставляется полный пакет документов согласно списку приведенному в техническом задании 13