Автоматическая категоризация клиентов коучинга

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

Для получения данных о листах и отмеченных на них аспектах из таблицы Save_check_list используется хранимая процедура Load_ch_list. Данные выбираются по номеру клиента;

Хранимая процедура MyCount возвращает информацию об общем количестве аспектов, кластеров и задач. Выборка одновременно происходит из трёх таблиц Statement, Description_cluster и Description_task;

Процедура Save_an используется для сохранения информации о количестве попавших в каждую задачу аспектов. Запись происходит в таблицу Save_Answer;

Для сохранения данных об отмеченных на листах аспектах используется процедура Save_check_list;

Хранимая процедура Save_cl_check сохраняет информацию об ответах, попавших в каждый кластер, в таблицу Save_Cluster_check.

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

 

.3 Разработка прикладной программы на базе WindowsForms

 

Прежде чем перейти к описанию работы программы, необходимо рассмотреть какие структуры были использованы в её разработке. Средства WindowsForms позволяют создать понятный графический пользовательский интерфейс, а конструктор форм Visual Studio обеспечивает его полную настраиваемость. Таким образом, мы будем заниматься разработкой WindowsForms приложения. Поэтому, прежде всего, необходимо рассмотреть какие формы были использованы при создании программы.

Языком высокого уровня, на котором написано приложение, является C#. Этот язык спроектирован и разработан специально для применения с Microsoft .NET Framework, что обеспечивает достаточную функциональность для работы со всеми структурами, используемыми в программе. Так как, С# - язык, основанный на современной объектно-ориентированной методологии проектирования, то необходимо будет также ознакомиться с созданными пользовательскими классами.

 

.3.1 Описание реализованных форм

Main_Form является основной формой приложения (рис.3). Эта форма обеспечивает связь с другими формами и реализует основные возможности программы. Рассмотрим основные элементы этой формы.

 

Рис. 3. Форма Main_Form

 

В верхней части формы расположен элемент toolStrip1, он содержит в себе контролы для управление тестом. Вкладка toolStripDropDownButton2 открывает меню для возможности сохранения, загрузки или выхода. Выбор сохранения или загрузки вызывает форму Load_Save. Кнопка StartTest начинает тестирование, соответственно кнопка EndTest его прерывает. Для получения различной справочной информации используется вкладка toolStripDropDownButton1. Что бы отобразить необходимые справочные данные вызывается форма Info.

Элемент Tab_Control содержит 7 контролов tabPage, они обеспечивают вывод разнообразной информации. При достижении различных этапов в ходе тестирования происходит смена tabPage. Элемент tabPageMain содержит изображение-заставку, переключение на него происходит при состоянии простоя программы. Страница tabPageTest содержит элемент checkedListBox1, который позволяет выводить аспекты в виде списка с флажками. Каждый такой список содержит ограниченное количество аспектов, для краткости будем называть его листом. Для перемещения между листами на элементе tabPageTest размещены кнопки Prev и Next, при этом программа запоминает отмеченные пользователем аспекты на листе. Переключение на элемент tabPageRezult происходит в случае удачного завершения теста, т.е. если удалось сформировать список проблемных кластеров. Элемент tabPageCluster содержит информацию о выбранном кластере и список задач необходимых для его разрешения. Вывод информации при неудачных завершениях категоризации обеспечивается страницами tabPageError и tabPageRecommend. Переключение на tabPageError происходит в случае, если не был выбран ни один аспект, при этом клиента попросят пройти тест ещё раз. А если выбранных аспектов оказалось не достаточно для составления списка кластеров, то переключение происходит на tabPageRecommend, клиенту будут предложены общие рекомендации.

Дополнительные компоненты содержатся в элементе statusStrip1, который расположен в самом низу формы. Контрол StatusProg выводит различные статус сообщение полученные в ходе работы программы. Элемент ProgressTest показывает количество пройденных аспектов теста.

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

 

Рис. 4. Форма Load_Save

 

Форма Info вызывается для представления различной справочной информации. В элемент richTextBox1загружается текст в формате rtf. Всего можно получить три вида справочной информации: о тесте, соответствующий файл Info.rtf, о программе - файл prog.rtf и помощь - файл help.rtf. Выбор, какой файл загружать, осуществляется