Автоматическая категоризация клиентов коучинга
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
незначительна, и лучше сосредоточить внимание на более приоритетных кластерах. По результатам отмеченных аспектов будет сформирован список кластеров, отсортированный в порядке приоритета. Из полученного списка клиент сам сможет выбирать какую проблему ему рассматривать первой.
Вторая часть результата будет предоставлять клиенту подробную информация о том кластере, который он выбрал. Так же вместе с информаций о кластере, будет формироваться список задач, полученных для текущей проблемы. Формирование списка задач будет происходить таким же образом, как формируется список кластеров, т.е. по попавшим в задачу ответам. Но в этом случаи ограничительный порог не нужен, так как для разрешения проблемы кластера нужно решить все входящие в него задачи. Для решения задачи будет вызываться необходимый сценарий ТМО.
При реализации алгоритма необходимо так же обеспечить:
возможность расширения любого из множеств A, S, T, C, так как при развитии соответствующих методик могут появиться новые элементы этих множеств;
возможность динамической компоновки аспектов метода для исключения субъективного восприятия клиентом результатов теста;
возможность редактирования набора аспектов, который соответствует ответам клиента;
возможность сохранять и загружать результаты по средствам механизмов сериализации и десериализации.
Теперь у нас есть необходимое формальное описание, что бы приступить к реализации теста.
Глава 3. Разработка и реализация прикладной программы
.1 Среда разработки приложения
На основе формального описания алгоритма категоризации можно выделить ряд подзадач. Рассмотрим программные средства, которые будем использовать для их решения.
Во-первых, так как наше приложение должно быть построено в форме диалога с пользователем, то нам понадобится графический пользовательский интерфейс. Для реализации этого интерфейса будет использовать средство WindowsForms на базе классов .NET Framework classlibrary платформы Microsoft .NET Framework. Классы .NET Framework classlibrary имеют собственную модель программирования, которая более совершеннее, чем модели, основанные на Win32 API или MFC, обладают улучшенной защитой и содержат более богатые возможности для написания полнофункциональных приложений. Главная выгода от написания Windows-приложений с использованием WindowsForms - это то, что WindowsForms гомогенизируют (создают более однородную (гомогенную) структуру) программную модель и устраняют многие ошибки и противоречия от использования Windows API. Для работы с WindowsForms будем использовать объектно-ориентированный язык программирования высокого уровня C#, так как он обладает всей необходимой функциональностью для работы с этим средством.
Во-вторых, так как элементы метода могут представлять собой довольно обширные по объёму данные, и необходимо будет сохранять промежуточный результат пользователя, то для хранения информации будем использовать реляционную базу данных, которая будет управляться средствами MicrosoftSQLServer. Это средство управления базами данных позволяет получить максимальную производительность, масштабируемость, надежность, высокий уровень доступности и является совместимым с технологиями .NET Framework.
Таким образом, для решения поставленной задачи, нам надо будет обеспечить взаимную работу между двумя высоко уровневыми средствами: WindowsForms и SQLServer. Поэтому разработку программы будем производить в среде MicrosoftVisualStudio, так как она обладает всем необходимом функционалом для реализации этой идеи.
.2 Разработка структур хранения и получения данных
Для хранения различных элементов метода Личностные кластеры будем использовать реляционную базу данных. Прежде всего, нам надо будет сохранять аспекты, количество которых, в общем случае, может быть неограниченным. Далее нам надо будет хранить информацию о кластерах и задачах. Для возможности сохранения и загрузки понадобится запоминать список пользователей и отмеченные ими аспекты. Также для генерации случайных последовательностей утверждений понадобится хранить отсортированные множества аспектов. Теперь, когда перед нами сформулированы все эти задачи, приступим к их реализации. Для этого рассмотрим схему (рис.2).
Рис. 2. Схема реляционной базы данных
В представленной схеме показана структура созданной реляционной базы данных. Преимущества реляционной базы данных заключаются в том, что она обеспечивает надёжную защиту данных от случайной потери или порчи, экономично использует технические ресурсы и снабжена механизмами поиска информации, удовлетворяющими разумным требованиям к производительности. Из этого можно сделать вывод, что реляционная база данных является прекрасным средством для рационального и эффективного хранения информации. Рассмотрим подробней назначение и атрибуты каждой таблицы в схеме.
Таблица Statement содержит информацию обо всех аспектах. В соответствие с требованием, рассмотренным в формализации задачи, каждому аспекту соответствует определённый номер кластера и список номеров задач. Номер кластера представлен полем Number_cluster,а номера задач полями Number_task_1,Number_task_2,Number_task_3. Количество задач одновременно присваиваемых аспекту равно трём, что в рамках задачи вполне достаточно. Поле ID содержит числовой номер присваиваемый аспекту. В поле Text хранится текстовая информация об утверждении, с которой потом предстоит работать пользователю;
Таблица Descriptio