Добавлен: 03.07.2023
Просмотров: 68
Скачиваний: 3
Выбор технологии для создания интерфейса
Платформа .NET Framework предлагает две основные технологии для создания оконного интерфейса:
- Windows Forms.
- Windows Presentation Foundation (WPF).
В результате анализа возможностей этих технологий была выбрана технология WPF.
В основе WPF лежит векторная система отрисовки, не зависящая от разрешения и созданная с расчетом на возможности современного графического оборудования. WPF расширяет базовую систему полным набором функций разработки приложений, в том числе Язык XAML (Extensible Application Markup Language), элементами управления, привязкой данных, макетом, двухмерный- и трехмерный-графикой, анимацией, стилями, шаблонами, документами, мультимедиа, текстом и оформлением. WPF входит в состав Microsoft .NET Framework и позволяет создавать приложения, включающие другие элементы библиотеки классов .NET Framework.
Разработка структуры базы данных
Структура базы данных разрабатывается на основе концептуальной модели. На рисунке 2.8 представлена ER-диаграмма БД. В таблицах 2.1-2.7 представлено описание таблиц базы данных.
Рисунок 2.8 - ER – диаграмма БД
Таблица 2.1 - Описание полей таблицы «Группа\Класс»
PUPIL_GROUP (Группа\Класс) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Название |
name |
VARCHAR(100) |
Таблица 2.2 - Описание полей таблицы «Замечание»
REMARK (Замечание) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Идентификатор исходного кода |
source_code_id |
INT NOT NULL |
Идентификатор создателя |
creator_id |
INT |
Текст замечания |
content |
TEXT NOT NULL |
Было исправлено |
was_fixed |
BOOL NOT NULL |
Таблица 2.3 - Описание полей таблицы «Решение»
SOLUTION (Решение) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Дата создания |
create_time |
DATETIME NOT NULL |
Идентификатор создания |
creator_id |
INT NOT NULL |
Идентификатор задания |
task_id |
INT NOT NULL |
Таблица 2.4 - Описание полей таблицы «Исходный код решения»
SOLUTION_SOURCE (Исходный код решения) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Идентификатор решения |
solution_id |
INT NOT NULL |
Исходный код |
source_code |
TEXT NOT NULL |
Дата создания |
create_time |
DATETIME NOT NULL |
Таблица 2.5 - Описание полей таблицы «Результат»
SUMMARY (Результат) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Идентификатор решения |
solution_id |
INT NOT NULL |
Итоговая оценка |
result_mark |
FLOAT |
Задание выполнено |
complete |
BOOL |
Комментарии |
comments |
TEXT |
Таблица 2.6 - Описание полей таблицы «Задание»
TASK (Задание) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Название |
name |
VARCHAR(128) |
Идентификатор создателя |
creator_id |
INT NOT NULL |
Содержимое задания |
internal_data |
BLOB |
Таблица 2.7 - Описание полей таблицы «Пользователь»
USER (Пользователь) |
||
Описание |
Название |
Тип |
Идентификатор |
id |
INT NOT NULL AUTOINCREMENT |
Логин |
login |
VARCHAR(32) NOT NULL |
Пароль |
password |
VARCHAR(64) NOT NULL |
Электронная почта |
|
VARCHAR(128) NOT NULL |
Полное имя |
fullname |
VARCHAR(128) NOT NULL |
Роль |
role |
ENUM |
Идентификатор группы |
group_id |
INT |
Алгоритм функционирования ИС
Алгоритмы функционирования информационной системы задают условия и последовательность действий компонентов автоматизированной системы при выполнении ей своих функций. В качестве основных алгоритмов функционирования разрабатываемой системы можно выделить следующие:
- Алгоритм проверки заданий.
- Обработка запроса к базе данных.
- Проверка работоспособности сервера БД.
- Составление отчетов о выполнении операций или об ошибках.
- Установление соединения с БД.
- Проверку качества кода.
Алгоритм проверки заданий представлен на рисунке 2.9.
Рисунок 2.9 – Алгоритм проверки заданий
В процессе разработки алгоритмов необходимо руководствоваться стандартными правилами в построении логики программы. Использование стандартных методов и подходов позволит упростить процесс написания кода программы и повысит эффективность взаимодействия приложения с внешней средой.
Интерфейс системы
Интерфейс системы разрабатывается с помощью технологии WPF и состоит из двух частей:
- Интерфейс преподавателя.
- Интерфейс ученика.
Внешний вид интерфейса ученика показан на рисунке 2.10. Окно содержит поле для ввода решения, поле с заданием и список ошибок, допущенных в решении.
Рисунок 2.10 – Интерфейс ученика
Внешний вид интерфейса для создания тестовых заданий показан на рисунке 2.11.
Рисунок 2.11 – Интерфейс создания тестовых заданий
Исследование
Вычислим результирующее значение качества кода разработанной системой. Расчеты показаны в таблице 2.8.
Таблица 2.8 – Расчет результирующей оценки
Метрика |
M |
Mmax |
N=M/Mmax |
R |
RN |
Ошибки именования |
43 |
1540 |
0,0279 |
0,5 |
0,014 |
Ошибки использование переменных и типов |
16 |
623 |
0,0257 |
0,75 |
0,019 |
Ошибки комментирования кода |
0 |
0 |
1 |
0,25 |
0,25 |
Цикломатическая сложность |
4 |
91 |
0,0439 |
1 |
0,044 |
Результирующая оценка |
0,869129 |
Результирующая оценка кода системы получилось равной 0,87, что является хорошим показателем, учитывая, что код системы писался на “скорую руку”. Полученное значение оценки примерно соответствует 4-ке по 5-ти бальной шкале.
Этот же код, оценённый экспертами, получил среднюю оценку 4 по 5-ти бальной шкале, что неплохо согласуется с результатами оценки кода системой.
В таблице 2.9 показаны результаты 3-х экспериментов по оценке качества кода.
Таблица 2.9 – Результаты экспериментов
Эксперимент |
Оценка системы |
Оценка экспертов |
Разница балов |
№1 |
4 |
4 |
0 |
№2 |
4 |
3 |
1 |
№3 |
5 |
4 |
1 |
Как видно из таблицы, результаты оценки кода системой близки к оценке кода экспертами, что свидетельствует о том, что методы оценки в целом были выбраны правильно.
Этапы модели ЖЦ |
Происходящие процессы |
План проекта |
На данном этапе ЖЦ происходит создание технического задания, технических условий и технических предложений. |
Быстрый анализ |
На этапе «Быстрого анализа», осуществляется анализ предметной области, операционных систем с открытым исходным кодом. Исследование схожих и смежных по ряду признаков систем. Выявление актуальных и новых функций проектируемого изделия. Производится анализ и выбор программных средств реализации: выбор программной и аппаратной платформы, выбор языка программирования, выбор СУБД. Происходящие на этапе «Быстрого анализа» процессы позволяют исследовать и создать, актуальный и индивидуальный в своем плане проект. |
Создание БД |
Наличие этапа «Создание БД» в модели ЖЦ позволяет спроектировать и организовать структурную схему системы и создать БД. Разработать заявленные в ТЗ подсистемы. Наполнить надлежащим контентом БД и производить его дальнейшее наращивание с учетом изменения предмета наполнения и его новизны. |
Пользовательский интерфейс |
Производится моделирование и создание основы интерфейса пользователя. |
Функции |
Создание и добавление новых функций выявленных на этапе «быстрого анализа». Реализация функционала ИС. |
Исследование |
Исследование разработанных методов оценки качества кода |
Итеративное проектирование |
На рассматриваемом этапе модели ЖЦ: производится добавление недостающего контента, редактирование пользовательского интерфейса с учетом эргономичности и когнитивных свойств восприятия человеком, а так же доработки и добавления нового функционала ИС (с учетом новшеств выявленных на этапе анализа). Корректировка объектов БД с учетов выявленных замечаний и добавленных функций. На этапе «Итеративное проектирование» происходят процессы эволюции прототипа до требуемого уровня, циклично проходя стадии «быстрый анализ», «создание БД», «пользовательский интерфейс» и «функции». Расчет надежности ИС. |
Утверждение пользователем. |
После прохождения каждого этапа «Итеративного проектирования» ИС предоставляется пользователю. Производится утверждение пользователем, если прототип отвечает всем заявленным требованиям пользователя. |
Производная разработка проекта. |
Доработка прототипа до конечного варианта. Адаптация ИС к заявленным требованиям ТЗ, ТУ и ТП. |
Выводы
В рамках данной курсовой работы была разработана структурная схема системы и описаны ее компоненты, была разработана концептуальная схема базы данных, функциональная схема системы, обоснованы средства разработки. Кроме того, была разработана структура базы данных, включая описание полей таблиц, описан алгоритм функционирования ИС, а также разработан интерфейс системы, который состоит из двух частей. Было проведено исследование, в ходе которого было выяснено что результаты оценки кода системой близки к оценке кода экспертами, что свидетельствует о том, что методы оценки в целом были выбраны правильно. Но в любом случае оценка системы не может заменить оценку экспертами, так как система не проверяет много критериев, которые проверяют эксперты. Например, корректность выбранных алгоритмов для решения задачи проверить в автоматическом режиме очень сложно. Код может быть оформлен по всем правилам, но название методов не соответствовать тем задачам, которые они выполняют. Исходя из этого, можно сделать вывод, что оценка кода системой будет ниже или равна оценки кода системой. Был произведен анализ существующих на сегодняшний день моделей и методологий жизненного цикла. Выбор наиболее подходящей модели к проекту и обоснование выбора модели. Детальное описание выбранной модели.
ЗАКЛЮЧЕНИЕ
Основным результатом курсовой работы является «Компьютерная обучающая система по программированию с модулем экспертной оценки».
В рамках первой главы КР был проведен анализ предметной области. Произведена классификация аналогов. Исследование и анализ аналогов разрабатываемой системы показали, что большая часть аналогов не имеет инструментов для экспертной оценки решения. Также в рамках первой главы, были выбраны критерии оценки тестов и разработана формула результирующей оценки.
В рамках второй главы КР был описан алгоритм функционирования ИС, произведен выбор и обоснование средств разработки. Также были описаны процессы работы системы с функциональной точки зрения. Было выполнено проектирование и разработка интерфейса. Кроме этого, были предложены концептуальная и структурная схемы БД. Также было проведено исследование, в ходе которого было выяснено, что результаты оценки кода системой близки к оценке кода экспертами, что свидетельствует о том, что методы оценки в целом были выбраны правильно.