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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.09.2012
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Declaration.Current_ran = main_ran.Next(0, Declaration.count_cluster_stat - 1);

}

Random ran = new Random(Declaration.Current_ran);//для генерации последовательности зависящей от Current_ran

int a=0;

int i=0;

int buff=0;

Declaration.sort_list_stat.Clear();//очистка массива аспектов

Prog_Tool.Initialize_sort_list_stat();//заполняем массив номерами аспектов из бд

//затем перемешиваем их ,и отправляем в бд

for (i = 0; i < Declaration.count_cluster_stat; i++)

{

a = ran.Next(0, Declaration.count_cluster_stat-1);

buff=(int)Declaration.sort_list_stat[a];

Declaration.sort_list_stat[a] = Declaration.sort_list_stat[i];

Declaration.sort_list_stat[i] = buff;

}

Sql_Tool.Add__Random_IDkey();//запись последовательности в бд

Declaration.sort_list_stat.Clear();

}

public static void Initialize_List_Answer()//инициализация массива ответов

{

Answer buff;

for (int i = 0; i < Declaration.count_cluster; i++)

{

buff = new Answer();

Declaration.list_answer.Add(buff);

}

}

public static void Initialize_Check_stat_list()//инициализация массива хранящего листы

{

Check_statement buff;

for (int i = 0; i < Declaration.Check_list_lastpage; i++)

{

buff = new Check_statement();

Declaration.check_list.Add(buff);

}

}

public static void Reset()//сброс данных

{

Sql_Tool.Clear_Table_Add_IDkey();//очищаем таблицу сгенерированой последовательности

Declaration.list_answer.Clear();//очищаем массив ответов

Declaration.list_stat.Clear();//очистка массива текущих аспектов

Declaration.check_list.Clear();//очищаем отметки на листах

Prog_Tool.Initialize_List_Answer();//создаём массив пустого списка ответов

}

public static int[,] Sort_Answer(int f)//сортировка массива ответов для вывода списка кластеров и задач

{

Answer buffA;//буффер для объекта ответ

int[,] tmp = new int[1, 2];

int[,] sort_answer;

if (f==-1)

{

sort_answer = new int[Declaration.count_cluster, 2];//i-кол-во утверждений попавших в кластер,j-номер кластера

for (int i = 0; i < Declaration.count_cluster; i++)

{

buffA = (Answer)Declaration.list_answer[i];

sort_answer[i, 0] = (int)Math.Round((double)buffA.count_answer / Declaration.count_cluster_stat * 100);//переводим кол-во утверждений в кластере в процент от общего числа утверждений

sort_answer[i, 1] = i;

}

}

else

{

buffA = (Answer)Declaration.list_answer[f];

sort_answer = new int[Declaration.count_task, 2];//i-кол-во утверждений попавших в задачу,j-номер задачи

for (int i = 0; i < Declaration.count_task; i++)

{

sort_answer[i, 0] = (int)Math.Round((double)buffA.task_answer[i] / buffA.count_answer * 100);//переводим кол-во утверждений в task в процент от общего числа утверждений

sort_answer[i, 1] = i;

}

}

//сортировка массива по кол-ву пoпавших в кластер/задачу аспектов

for (int i = 0; i < sort_answer.GetLength(0); i++)

for (int j = sort_answer.GetLength(0) - 1; j > i; j--)

if (sort_answer[j-1,0] < sort_answer[j,0])

{

tmp[0,0] = sort_answer[j-1,0];

tmp[0,1] = sort_answer[j-1,1];

sort_answer[j-1,0] = sort_answer[j ,0];

sort_answer[j-1,1] = sort_answer[j ,1];

sort_answer[j ,0] = tmp[0,0];

sort_answer[j ,1] = tmp[0,1];

}

return sort_answer;

}

public static string GetPath()//получаем путь запускаемого файла

{

string fullAppName = Application.ExecutablePath;//Получает путь для исполняемого файла, запустившего приложение, включая исполняемое имя.

string fullAppPath = System.IO.Path.GetDirectoryName(fullAppName);//Возвращает для указанной строки пути сведения о каталоге.

return fullAppPath;

}

}

Приложение3. Класс «Sql_Tool».

public static class Sql_Tool

{

public static void Initialize_Sql_Tool()// настраиваем элементы БД

{

Declaration.cmd.Connection = Declaration.conn;

Declaration.dataAdapter.SelectCommand = Declaration.cmd;

Declaration.conn.Open();

Declaration.cmd.CommandType = CommandType.StoredProcedure;

}

public static void Close_Sql_Tool()//закрываем соединение

{

Declaration.conn.Close();

}

public static SqlDataReader Read_Cluster(int a,int b)//читаем номера аспектов в промежутке индекса от [a,b]

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Declaration.cmd.CommandText = "Get_ID";

Declaration.cmd.Parameters.AddWithValue("@start_index", a);

Declaration.cmd.Parameters.AddWithValue("@end_index", b);

dr = Declaration.cmd.ExecuteReader();

return dr;

}

public static void Clear_Table_Add_IDkey()//очищаем таблицу хранящую случайную последовательность

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Clear_Add_IDst";

Declaration.cmd.ExecuteNonQuery();

}

public static void Add__Random_IDkey()//записываем случайную последователньость в бд

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Add_IDst_In_Table";

for (int i = 0; i < Declaration.count_cluster_stat; i++)

{

Declaration.cmd.Parameters.AddWithValue("@index", i);

Declaration.cmd.Parameters.AddWithValue("@id", (int)Declaration.sort_list_stat[i]);

Declaration.cmd.ExecuteNonQuery();

Declaration.cmd.Parameters.Clear();

}

}

public static bool Save_User(string name,string password)//сохраняем информацию о клиенте

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Declaration.cmd.CommandText = "Check_User";

Declaration.cmd.Parameters.AddWithValue("@name", name);

dr = Declaration.cmd.ExecuteReader();

if (dr.Read())//если имя уже занесено в таблицу то выводим сообщение

{

dr.Close();

MessageBox.Show("Такой пользователь уже существует!", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Warning);

return false;

}

else

{

dr.Close();

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Add_User";

Declaration.cmd.Parameters.AddWithValue("@name", name);

Declaration.cmd.Parameters.AddWithValue("@password", password);

Declaration.cmd.Parameters.AddWithValue("@ran", Declaration.Current_ran);

Declaration.cmd.Parameters.AddWithValue("@cur_count", Declaration.Current_count);

Declaration.cmd.Parameters.AddWithValue("@check_l", Declaration.Check_list_page);

Declaration.cmd.Parameters.AddWithValue("@check_l_last", Declaration.check_list.Count);

Declaration.cmd.ExecuteNonQuery();

return true;

}

}

public static void Count()//получаем количество аспектов,кластеров и задач

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Declaration.cmd.CommandText = "MyCount";

dr = Declaration.cmd.ExecuteReader();

dr.Read();

Declaration.count_cluster_stat = (int)dr["max_st"];

Declaration.count_cluster = (int)dr["max_cluster"];

Declaration.count_task = (int)dr["max_task"];

dr.Close();

}

public static void Save_Answer(string name)//сохраняем информацию об ответах клиента

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Answer list = new Answer();

Declaration.cmd.CommandText = "Check_User";

Declaration.cmd.Parameters.AddWithValue("@name", name);

dr = Declaration.cmd.ExecuteReader();

dr.Read();

Declaration.ID_user = (int)dr["ID"];

dr.Close();

for (int i = 0; i < Declaration.count_cluster; i++)

{

list = (Answer)Declaration.list_answer[i];

if (list.count_answer != 0)

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Save_cl_check";

Declaration.cmd.Parameters.AddWithValue("@id_cluster", i + 1);

Declaration.cmd.Parameters.AddWithValue("@cluster_check", list.count_answer);

Declaration.cmd.Parameters.AddWithValue("@id_user", Declaration.ID_user);

Declaration.cmd.ExecuteNonQuery();

Declaration.cmd.Parameters.Clear();

for (int j = 0; j < Declaration.count_task; j++)

{

if (list.task_answer[j] != 0)

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Save_an";

Declaration.cmd.Parameters.AddWithValue("@id_cluster", i + 1);

Declaration.cmd.Parameters.AddWithValue("@id_task", j + 1);

Declaration.cmd.Parameters.AddWithValue("@task_check", list.task_answer[j]);

Declaration.cmd.Parameters.AddWithValue("@id_user", Declaration.ID_user);

Declaration.cmd.ExecuteNonQuery();

Declaration.cmd.Parameters.Clear();

}

}

}

}

}

public static void Save_check_list()//сохраняем информацию, об отметках на листах

{

Declaration.cmd.Parameters.Clear();

Check_statement list = new Check_statement();

Declaration.cmd.CommandText = "Save_ch_list";

for (int i = 0; i < Declaration.check_list.Count; i++)

{

list = (Check_statement)Declaration.check_list[i];

for (int j = 0; j < Declaration.kol_vo_elem; j++)

{

if (list.check_st_in_list[j])

{

Declaration.cmd.Parameters.AddWithValue("@ID_l", i);

Declaration.cmd.Parameters.AddWithValue("@ID_u", Declaration.ID_user);

Declaration.cmd.Parameters.AddWithValue("@ID_s", j);

Declaration.cmd.ExecuteNonQuery();

Declaration.cmd.Parameters.Clear();

}

}

}

}

public static bool Load_User(string name, string password)//загружаем информацию о клиенте

{

string pass;

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Declaration.cmd.CommandText = "Check_User";

Declaration.cmd.Parameters.AddWithValue("@name", name);

dr = Declaration.cmd.ExecuteReader();

if (dr.Read())//если имя существует в таблице

{

pass = (string)dr["Password"];

if (pass == password)

{

Declaration.ID_user = (int)dr["ID"];

Declaration.Current_ran = (int)dr["Ran"];

Declaration.Current_count = (int)dr["Current_count"];

Declaration.Check_list_page = (int)dr["Check_list"];

Declaration.Check_list_lastpage = (int)dr["Ch_l_last"];

dr.Close();

return true;

}

else

{

MessageBox.Show("Неправельное имя пользователя или пароль", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

dr.Close();

return false;

}

}

else

{

dr.Close();

MessageBox.Show("Неправельное имя пользователя или пароль", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);

return false;

}

}

public static void Load_Answer()//загрузка ответов клиента

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Answer list = new Answer();

Declaration.cmd.CommandText = "Load_an";

Declaration.cmd.Parameters.AddWithValue("@id_us", Declaration.ID_user);

dr = Declaration.cmd.ExecuteReader();

int a = 0;

while (dr.Read())

{

if (a != (int)dr["ID_cluster"])

{

list = (Answer)Declaration.list_answer[(int)dr["ID_cluster"] - 1];

list.count_answer = (int)dr["Cluster_check"];

}

list.task_answer[(int)dr["ID_task"]-1] = (int)dr["Task_check"];

a = (int)dr["ID_cluster"];

}

dr.Close();

}

public static void Load_check_list()//загрузка отметок на листах

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

Check_statement list = new Check_statement();

Declaration.cmd.CommandText = "Load_ch_list";

Declaration.cmd.Parameters.AddWithValue("@id_us", Declaration.ID_user);

dr = Declaration.cmd.ExecuteReader();

while (dr.Read())

{

list=(Check_statement)Declaration.check_list[(int)dr["ID_list"]];

list.check_st_in_list[(int)dr["ID_st"]] = true;

Declaration.check_list[(int)dr["ID_list"]] = list;

}

dr.Close();

}

public static SqlDataReader Get_ID_statement()//получение номера аспекта

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Get_ID_st";

return Declaration.cmd.ExecuteReader();

}

public static void Del_user()//удаление клиента из бд

{

Declaration.cmd.Parameters.Clear();

Declaration.cmd.CommandText = "Delete_user";

Declaration.cmd.Parameters.AddWithValue("@ID_us", Declaration.ID_user);

Declaration.cmd.ExecuteNonQuery();

}

public static string Get_cl_text(int a,string b)//получение описания кластера

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

string s = "";

Declaration.cmd.CommandText = "GetDescriptionCluster";

Declaration.cmd.Parameters.AddWithValue("@id_cl", a);

dr = Declaration.cmd.ExecuteReader();

dr.Read();

s = (string)dr[b];

dr.Close();

return s;

}

public static string Get_task_text(int a)//получение описания задачи

{

Declaration.cmd.Parameters.Clear();

SqlDataReader dr = null;

string s = "";

Declaration.cmd.CommandText = "GetDescriptionTask";

Declaration.cmd.Parameters.AddWithValue("@id_task", a);

dr = Declaration.cmd.ExecuteReader();

dr.Read();

s = (string)dr["Description_text"];

dr.Close();

return s;

}

}

Размещено на Allbest.ru


Подобные документы

  • Разработка и реализация прикладной программы, основанной на методике "Личностные кластеры" Стива Менсинга. Категоризация психологических проблем клиента. Предметная область коучинга, основные понятия. Средство для помощи в работе профессиональных коучей.

    курсовая работа [2,2 M], добавлен 12.09.2012

  • Разработка базы данных для предметной области "Подразделения предприятия – Рабочие помещения". Описание используемых данных, предметной области и результатной информации. Создание запросов, форм и отчетов в базе данных. Описание построения диаграмм.

    курсовая работа [5,6 M], добавлен 24.07.2014

  • Описание предметной области "Спортивные соревнования". Проектирование концептуальной и логической модели данных. Добавление не вошедших в ER–диаграмму атрибутов. Разработка SQL запросов к базе данных. Описание работы, тестирование клиентского приложения.

    курсовая работа [1,1 M], добавлен 24.11.2014

  • Назначение программы "Учёт пациентов" и её подсистемы. Диаграмма классов предметной области, диаграмма последовательностей, описание автоматизируемых функций и характеристика функциональной структуры. Физическая схема и описание таблиц базы данных.

    дипломная работа [3,3 M], добавлен 15.11.2016

  • Реализация программы, разработанной в среде Turbo C++. Обработка динамической структуры данных, содержащей сведения об авторах книг. Моделирование работы со структурой как с базой данных. Метод сортировки и описание работы пользовательских подпрограмм.

    курсовая работа [124,3 K], добавлен 23.12.2010

  • Существующие альтернативы программы. Описание формул для выкроек, используемых в разработке. Описание разрабатываемой программы, а также структура ее интерфейса. Детальное описание возможностей и спецификация, функциональные особенности программы.

    курсовая работа [427,4 K], добавлен 10.10.2015

  • Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.

    курсовая работа [711,4 K], добавлен 27.07.2014

  • Изучение условий поставленной задачи и используемых данных для разработки программы хранения информации о рейсах поезда. Описание разработанных функций, листинга, блок-схем алгоритмов и дерева функции. Рассмотрение сценария диалога данной программы.

    курсовая работа [532,7 K], добавлен 20.07.2014

  • Разработка программы для автоматизации складского учета. Описание предметной области и технологии функционирования информационной системы. Физическое проектирование базы данных. Создание экранных форм ввода-вывода, отчетов, модулей для прикладных решений.

    курсовая работа [3,6 M], добавлен 08.12.2013

  • Описание предметной области и прототипа программного продукта. Математическая модель работы программы. Последовательность работы пользователя с программой. Зоны ответственности разработчиков. Программные коды и описание файлов готовой программы.

    курсовая работа [4,5 M], добавлен 02.06.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.