УДК 004.91
А. П. Кирпичников, С. А. Ляшева, М. П. Шлеймович, И. В. Леонова
ПРОЕКТИРОВАНИЕ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ
УСПЕВАЕМОСТИ СТУДЕНТОВ НА ОСНОВЕ НЕЧЕТКОЙ ЛОГИКИ
Ключевые слова: база данных, алгоритм работы системы, нечеткая логика, проектирование автоматизированной системы, информационный процесс, информационное обеспечение, успеваемость студентов.
В работе представлена автоматизированная система обработки данных успеваемости студентов на основе нечеткой логики и описание реализованного информационного обеспечения системы.
Keywords: database, algorithm of the system, fuzzy logic, the design of the automated system, information process, information
support, academic performance of students.
In this paper presented an automated data processing system of student performance based on fuzzy logic and a description of the implemented information support system.
Со времен фараонов людям приходится принимать решения в процессе их жизнедеятельности: в ходе военных действий, в политике, при управлении предприятием, при выборе автомобиля или варианта обмена квартиры и еще в тысяче других случаев. Сегодня в этом нам нередко помогают экспертные системы, позволяющие обработать значительный объем исходных данных и на их основе получить правильное решение в той или иной ситуации.
Несомненно, для построения таких систем необходимо применять различные математические модели и алгоритмы, которые зачастую характеризуются слишком высокой степенью сложности и приводят к продолжительным вычислениям, либо вовсе не могут быть выработаны из-за невозможности формально описать некоторые параметры и понятия. В таких случаях на помощь приходят методы моделирования на основе нечеткой логики [1].
Нечеткое моделирование - направление научно-прикладных исследований, основанное на построении информационных систем в терминах теории нечетких множеств.
Нечеткое моделирование является одной из наиболее активных и перспективных направлений прикладных исследований в области управления и принятия решений. Преимущество данного подхода состоит в том, что нечеткое моделирование позволяет получать более адекватные результаты по сравнению с результатами, которые основываются на использовании традиционных аналитических моделей и алгоритмов управления. Диапазон применения нечетких методов с каждым годом расширяется, охватывая такие области, как проектирование промышленных роботов и бытовых электроприборов, управление доменными печами и движением поездов метро, автоматическое распознавание речи и изображений.
Методы и алгоритмы нечеткой логики применяются в данной работе для проведения исследований результатов балльно-рейтинговой системы оценивания студентов. В процессе такого анализа предполагается получить статистические данные успеваемости студентов по выпускающей
кафедре, а также отдельно по каждому студенту, для выявления его склонности к обучению определенным дисциплинам, например,
математического цикла учебного плана. Кроме того, это позволит оценить профессионализм преподавателей и в зависимости от полученного распределения оценочных данных сформировать необходимые рекомендации по планированию процесса обучения студентов.
Для проведения исследования необходимо создать автоматизированную систему обработки данных, которая будет включать в себя базу данных оценок студентов и нечеткую модель анализа данных на основе алгоритма Мамдани.
Целью разработки данной системы является повышение качества процесса обучения студентов.
Объектом исследования являются данные успеваемости студентов. Субъектом - бизнес-процесс анализа успеваемости студентов, основанный на нечеткой логике.
Система должна решать следующие задачи:
1. Проанализировать данные успеваемости студентов по дисциплинам учебного плана.
2. Провести нечеткую кластеризацию студентов по успеваемости.
3. Выработать рекомендации для преподавателей
Для решения данных задач необходимо организовать хранилище данных - базу данных «Успеваемость студентов», которая будет содержать все необходимые данные для последующего анализа.
Входные данные для системы выбираются из сводных оценочных ведомостей и анонимных анкет с экспертной оценкой дисциплин, предоставляемых преподавателями.
Моделирование предметной области - это один из наиболее важных этапов работ при проектировании программных систем [2, 3]. В данной работе предметная область представлена одним бизнес-процессом - анализом успеваемости студентов; тремя действующими лицами -администратор, оператор, пользователь; и несколькими бизнес-сущностями.
В качестве бизнес-сущностей выступают студент, дисциплина, преподаватель и эксперт.
Сущность студент обладает следующими характеристиками:
1. Личные данные;
2. Номер группы;
3. Год поступления;
4. Направление подготовки;
5. Выпускающая кафедра;
6. Оценка по каждой изученной дисциплине.
В качестве личных данных студента указывается только его фамилия и инициалы. Номер группы представляет собой запись вида «группа 1». Всего в рамках данной работы рассматривается 6 групп, с номерами 1, 2, 7, 8, 10 и 11. Направление подготовки записывается в виде кодовой комбинации «230100.62» (все указанные группы обучаются по этому направлению). Информация о выпускающей кафедре содержит аббревиатуру наименования кафедры: ПМИ (10, 11 группы), КС (1 и 2 группы) или АСОИУ (7 и 8 группы). Оценки по изученным дисциплинам отражены в баллах успеваемости и входят в диапазон [0;100], где баллы в диапазоне [0;50] соответствуют оценке «неудовлетворительно», [51;70] -
«удовлетворительно», [71;85] - оценке «хорошо», [86; 100] - оценке «отлично». Информация об оценках взята из ведомостей учета успеваемости студентов.
Информация о дисциплине должна включать в себя:
1. Наименование дисциплины;
2. Раздел учебного плана, к которому она относится;
3. Номер семестра.
Наименование дисциплины записывается в соответствии с утвержденным учебным планом. В качестве разделов учебного плана указывается один из его циклов:
1. Гуманитарный, социальный и экономический цикл;
2. Математический и естественно научный
цикл;
3. Профессиональный цикл.
Номер семестра указывается для идентификации конкретной дисциплины, т. к. некоторые из них могут проводиться в двух или даже трех семестрах.
Сущность преподаватель описывается следующими данными:
1. Кафедра;
2. Дисциплины.
В качестве кафедры указывается аббревиатура наименования кафедры, на которой преподаватель осуществляет научную и преподавательскую деятельность. В пункте дисциплины - записывается информация о читаемых дисциплинах. Вся необходимая информация о сущности преподаватель взята из ведомостей учета успеваемости студентов.
Сущность эксперт содержит в себе всего три экземпляра, каждый из которых соответствует
кафедрам: ПМИ, КС или АСОИУ. Для каждого из них приведен перечень дисциплин из учебного плана по направлению подготовки «230100.62 Информатика и вычислительная техника». По всем дисциплинам из списка эксперт выставляет приоритеты необходимости проведения указанной дисциплины на его кафедре, а также задает достаточный балл успеваемости для студентов, обучающихся по данному направлению.
Рассмотрим алгоритм работы системы.
Первое, что предстоит сделать пользователю после запуска программы, - выбрать режим работы. Система предполагает два режима работы:
1) Работа с базой данных (БД) «Успеваемость студентов»
2) Обработка данных успеваемости студентов, полученных из БД.
Рассмотрим первый режим. Для того чтобы начать работу с БД «Успеваемость студентов» необходимо пройти аутентификацию и авторизацию для получения прав доступа к данным и действиям над БД.
При авторизации система выдает вам право (по выданным ранее логину и паролю) войти в систему в качестве одного из пользователей: Администратора, Оператора или Пользователя.
После входа в систему в качестве Пользователя будет доступна информация БД исключительно для чтения и выборки. Выбрав необходимую информацию, Пользователь может вывести ее на печать.
Оператор БД кроме возможностей Пользователя получает возможность
редактирования содержимого таблиц, но не их структуры. Процессы редактирования содержимого таблицы должны непременно закончиться до перехода к следующему действию - сохранению изменений.
Администратор БД имеет все возможности Оператора, кроме того ему позволено изменять структуру таблиц (добавлять, редактировать, удалять столбцы), а также добавлять новые таблицы в БД и удалять существующие при необходимости.
Второй режим работы программы не требует аутентификации и авторизации пользователя, т.к. не допускает изменения исходных данных. Выбрав режим обработки данных, пользователю системы предоставляется
возможность выбрать необходимые для анализа данные, выполнить их обработку, сформировав автоматический отчет, и вывести его на печать.
В качестве средств разработки данной системы были выбраны:
1. Microsoft Visual Studio 2012
2. Microsoft SQL Server Management Studio
3. MATLAB R2012b
В качестве основного средства разработки использовалась Microsoft Visual Studio 2012 [4]. Язык программирования - C#. Выбор данной среды разработки и языка программирования обоснованы тем, что:
1. Microsoft Visual Studio — продукт компании Майкрософт, позволяющий создавать мощные, высокопроизводительные приложения.
2. В состав MS Visual Studio входит множество технологий для разработки специфичных задач. В данном проекте была использована технология ADO.Net Entity Framework - объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft.
3. В рамках фреймворка ADO.Net Entity Framework существует три различные возможности проектирования базы данных: Code-First; ModelFirst; Database-First.
Для создания базы данных использовалась тактика Code-First. При подходе Code-First проектирование базы данных начинается с кода, а не с создания базы данных или ее модели. Для предметной области проектируемого приложения создаются необходимые классы, а механизм CodeFirst позволяет им участвовать в работе инфраструктуры Entity Framework, которая берет на себя всю обработку взаимодействия с базой данных и автоматически отслеживает изменения.
4. С# является языком программирования, который разработан для создания множества приложений, работающих в среде .NET Framework. Язык C# прост, типобезопасен и объектноориентирован. Благодаря множеству нововведений C# обеспечивает возможность быстрой разработки приложений, но при этом сохраняет выразительность и элегантность, присущую С-подобным языкам.
Среда Microsoft SQL Server Management Studio использовалась для построения физической схемы базы данных, а также для введения тестовых значений таблиц посредством SQL-запросов. Также с ее помощью были настроены пользователи проектируемой базы данных.
MATLAB R2012b — это высокоуровневый язык и интерактивная среда для программирования, численных расчетов и визуализации результатов. С его помощью можно анализировать данные, разрабатывать алгоритмы, создавать модели и приложения. В данной работе применение MATLAB играет ключевую роль, т.к. именно его средствами будет реализован кластерный анализ и нечеткое моделирование системы.
Для реализации необходимых функций в MATLAB предполагается использование двух его компонент:
1. Database Toolbox - это пакет расширения MATLAB для работы с базами данных. Он обеспечивает соединение с ODBC/JDBC базами, импорт и экспорт данных, а также позволяет использовать мощнейшие средства платформы MATLAB и различных пакетов расширения для обработки, анализа и визуализации данных.
2. Fuzzy Logic Toolbox - это пакет расширения MATLAB, содержащий инструменты для проектирования систем нечеткой логики. Пакет позволяет создавать экспертные системы на основе нечеткой логики, проводить кластеризацию
нечеткими алгоритмами, а также проектировать нечеткие нейросети.
На данном этапе работы уже готово информационное обеспечение автоматизированной информационной системы (АИС). Оно представлено БД «Успеваемость студентов». Программа управления БД написана на языке C# и использует SQL Server Express и Entity Framework 6. Она выполняет следующие задачи:
• Добавление и изменение информации о специальностях;
• Добавление и изменение информации о читаемых дисциплинах;
• Добавление и изменение информации о студентах;
• Добавление и изменение информации об оценках студентов по каждой дисциплине;
• Добавление и изменение экспертных оценок, присвоенных экспертами каждой дисциплине.
Приложение предназначено для системы Windows и работает под управлением фреймворка .NET v4.0. Классы в приложении делятся на следующие типы: Класс приложения; Класс констант; Расширения; Класс контекста базы данных; Сущности; Перечисления; Миграции; Сервисы; Модели представления; Построители моделей представления; Формы.
Класс приложения выполняет задачи по инициализации приложения и открытию первой формы - навигационной формы (рис.1).
Рис. 1 - Навигационная форма
Класс констант хранит константы (постоянные значения) строк подключения приложения к базе данных для разных типов пользователей.
Расширения используются для расширения функционала классов и могут использоваться как стандартные функции, присущие каждому элементу класса.
Класс контекста базы данных (EFContext.cs) определяет данные, которые хранятся в базе данных, а также связи между ними (Foreign key) для того, чтобы можно было сформировать миграции
(изменения схемы базы данных под код приложения).
Сущности являются представлением каждой строки определенной таблицы в базе данных. Это основные классы приложения, которые хранят информацию. В приложении определены следующие сущности:
• Сущность кафедры - хранит информацию о кафедре.
• Сущность дисциплины. Хранит информацию о дисциплинах (рис.2).
Г оиШУ
. ] иП h >| ? К
'а
i ifTTTW ж 4
рвЫОВМЛаП »
Чхзедмрквдцфч^ 4
^aSEWHWQ вдтнвшЛ JC т
"■'-■>V-jjlJ C±JLL1mJ| Г >»T-Cj1
-,Jr-- SHi- ЫiW?HWWl '
tarattJiHii ■fWTJti «HEttiS t KHPfffi/J *
I'-lTIirrrJ UHC]
- 1
Рис. 2 - Экранная форма. «Дисциплины»
• Сущность экспертной оценки. Хранит анонимную информацию по экспертной оценке каждого преподавателя, а именно совокупность экспертных оценок преподавателя по каждой дисциплине.
• Сущность экспертной оценки по определенной дисциплине. Хранит информацию об оценках экспертов по определенной дисциплине (рис.3).
• Сущность группы. Хранит информацию о студенческих группах.
• Сущность специальности. Хранит информацию о специальности.
• Сущность студента. Хранит информацию о студентах.
• Сущность успеваемости студента. Хранит информацию об успеваемости студента по определенной дисциплине.
• Сущность учебного цикла. Хранит информацию об учебном цикле.
• Сущность преподавателя. Хранит информацию о преподавателе.
• Сущность пользователя системы. Хранит информацию о пользователях системы.
Интерфейсы определяют границу взаимодействия между классами или компонентами, специфицируя определенную абстракцию, которую осуществляет реализующая сторона. В приложении используется только один интерфейс ГОййаЫе, который представляет интерфейс объекта, который можно удалять и восстанавливать.
Перечисления необходимы для
представления одного значения из списка определенных возможных значений. Они
представляют из себя массив возможных значений. В приложении используется перечисление, определяющее тип пользователя. Данное перечисление имеет два возможных значения: «Администратор» и «Оператор», и служит для ограничения прав пользователя в интересах безопасности.
Рис. 3 Экранная форма. «Оценка экспертов»
Миграции формируются приложением при изменении кода сущностей по запросу. Они содержат в себе код, предназначенный для изменения схемы базы данных. Для того, чтобы сформировать очередную миграцию используется команда add-migration <имя миграции>, которая формирует код, основная задача которого -изменение схемы базы данных. В миграцию также можно добавить любые запросы на языке запросов используемой системы управления базами данных (в нашем случае это СУБД SQL Express, использующая язык запросов T-SQL). Для обновления схемы базы данных используется команда update-database, изменяющая схему базы данных согласно миграциям, которые еще не были применены.
Сервисы используются для операций с определенной сущностью. Как правило, это запросы получения и изменения сущностей. Каждой сущности определен свой сервис для операции над ней.
Модели представления предназначены для передачи представлению (в нашем случае форме) информации, необходимой для корректного взаимодействия с ней пользователя.
Строители моделей предназначены для преобразования сущности в модель и обратно.
Формы предназначены для представления визуальной информации пользователя и дают ему возможность проводить определенные операции с даннымиФорма списка дисциплин определенной группы. (GroupDisciplineListForm) предназначена для получения и изменения информации о дисциплинах определенной группы, хранящейся в базе.
На этом проектирование информационного обеспечения разрабатываемой системы
заканчивается. Следующим этапом является
разработка правил нечетких продукций, в соответствии с которыми будет проводится анализ данных. Разработанная база данных «Успеваемость студентов» позволит нам приступить к проектированию нечеткой модели системы непосредственно в среде разработки МЛТЬЛВ И2012Ъ. Реализованное информационное обеспечение представляет возможность
корректировать проектируемую нечеткую модель системы, тестируя ее на контрольных примерах.
Литература
1. Емалетдинова Л.Ю., Катасёв А.С., Кирпичников А.П.
Нейронечеткая модель аппроксимации сложных
объектов с дискретным выходом // Вестник Казанского технологического университета. - Казань: КНИТУ, 2014. - Т.17. №1. - С. 295-299.
2. Гагарина Л.Г., Киселев Д.В., Федотова Е.Л. Разработка и эксплуатация автоматизированных информационных систем: учеб. пособие / Под ред. проф. Л.Г. Гагариной. -М.: ИД «ФОРУМ»: ИНФРА-М, 2007. - 384 с.: ил. -(Профессиональное образование).
3. Суздальцев В.А. Проектирование информационных систем : учеб. пособие / В.А. Суздальцев, А. Л. Осипова.-Казань: Изд-во КГТУ им. А.Н. Туполева, 2007.- 86 с.
4. Ресурсы для разработчиков ПО. http://msdn.microsoft.com/ru-ru
© А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, [email protected]; С. А. Ляшева - к.т.н., доцент кафедры прикладной математики и информатики КНИТУ-КАИ; М. П. Шлеймович - к.т.н., доцент кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ, [email protected]; И. В. Леонова - магистрант КНИТУ-КАИ.
© A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, [email protected]; S. A. Lyasheva - PhD, Associate Professor of the Department of Applied Mathematics & Informatics, KNRTU-KAI; M. P. Shleymovich - PhD, Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU-KAI, [email protected]; I V. Leonova - Master Student, KNRTU-KAI.