Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 17:44, дипломная работа
В рамках дипломного проекта необходимо разработать программу, которая по-зволяла бы студенту изучать особенности построения и использования нейронных сетей.
Разрабатываемая программа должна позволять студенту создавать нейронную сеть и обучать ее для решения определенных задач. Программа должна предоставлять удобный интерфейс и давать студенту возможность сохранять модель созданной нейрон-ной сети и загружать ее для дальнейших исследований. Также программа должна иметь локальную базу данных для хранения информации, необходимой для обучения сети.
Перечень условных обозначений 3
Введение 5
1 Анализ технологии обработки информации в предметной области и определение требований к АСОИ 6
1.1 Сбор и анализ исходной информации 6
1.2 Определение требований к проектируемой АСОИ 17
1.2.1 Диаграмма вариантов использования 21
1.2.2 Диаграмма деятельности 33
1.2.3 Модель данных 34
Выводы 37
2 Создание модели АСОИ 38
2.1 Диаграмма классов 38
2.2 Диаграмма последовательности 45
2.3 Диаграмма состояний 46
2.4 Диаграмма деятельности 54
2.5 Диаграмма компонентов 54
2.6 Диаграмма размещения 57
Выводы 58
3 Разработка программного обеспечения 59
3.1 Выбор среды программирования 59
3.2 Разработка таблиц баз данных АСОИ 59
3.3 Разработка запросов 59
3.4 Разработка форм 61
3.5 Разработка вычислительных процедур обработки данных 62
3.6 Тестирование программного обеспечения 65
Заключение по проекту 69
4 Экономическая часть 70
4.1 Общая постановка к технико-экономическому обоснованию 70
4.2 Расчет трудоемкости (производительности) 71
4.3 Расчет единовременных затрат 76
4.4 Расчет годовых текущих издержек 80
4.5 Расчет показателей экономической эффективности 83
4.6 Организация внедрения системы и рекомендации по ее эксплуатации 84
4.7 Выводы и рекомендации 85
5 Охрана труда 86
5.1 Идентификация и анализ вредных и опасных факторов в проектируемом объекте 86
5.2 Технические, технологические, организационные решения по устранению опасных и вредных факторов, разработка защитных средств 89
5.3 Разработка мер безопасности при эксплуатации объекта проектирования 93
6 Энерго- и ресурсосбережение 96
Список использованных источников 104
Продолжение таблицы 4
Вариант использования |
Изменить описание обучающего массива | |
Основной поток |
Изменение описания обучающего массива |
1. Вариант использования 2. Пользователь сохраняет данные путем нажатия на кнопку «Сохранить». 3. Программа сохраняет обучающий массив в базу данных и выводит сообщение об успешном сохранении данных. |
Альтернативный поток |
Ошибка сохранения обучающего массива |
1. Программа не может сохранить обучающий массив в базу данных. 2. Программа выводит сообщение об ошибке и не вносит никаких изменений в базу данных. |
Предусловие |
Обучающий массив должен быть выбран. | |
Вариант использования |
Удалить обучающий массив | |
Основной поток |
Удаление обучающего массива. |
1. Вариант использования 2. Программа удаляет массив из базы данных, попутно удаляя все связанные с ним обучающие пары. |
Альтернативный поток |
Ошибка при удалении обучающего массива |
1. При удалении обучающего 2. Программа выводит сообщение об ошибке и не производит никаких изменений в базе данных. |
Предусловие |
Обучающий массив должен быть выбран. |
Продолжение таблицы 4
Вариант использования |
Добавить обучающую пару | ||
Основной поток |
Создание обучающей пары |
1. Вариант использования 2. Программа создает обучающую пару, заносит информацию о ней в базу данных и отображает на форме. | |
Альтернативный поток |
Ошибка создания обучающей пары |
1. Программа не может создать обучающую пару в базе данных. 2. Программа выводит сообщение об ошибке и не вносит никаких изменений в базу данных. | |
Предусловие |
Обучающий массив должен быть выбран. | ||
Вариант использования |
Изменить обучающую пару | ||
Основной поток |
Изменение обучающей пары |
1. Пользователь выбирает 2. Программа предоставляет пользователю ввести вектор значений входных и выходных сигналов. 3. Пользователь вводит значения входных и выходных сигналов. 4. Пользователь сохраняет обучающую пару путем нажатия на кнопку «Сохранить». 5. Программа вносит изменения в базу данных и выдает сообщение об успешном сохранении данных. | |
Альтернативный поток |
Ошибка сохранения обучающей пары |
1. Программа не может сохранить измененную обучающую пару в базе данных. 2. Программа выводит сообщение об ошибке и не вносит никаких изменений в базу данных. | |
Предусловие |
Обучающий массив должен быть выбран. |
Продолжение таблицы 4
Вариант использования |
Выбрать обучающий массив, которому принадлежит пара | ||
Основной поток |
Выбор обучающего массива |
1. Вариант использования 2. Программа загружает
из базы данных обучающие пары,
соответствующие выбранному | |
Предусловие |
В базе данных должен быть создан хотя бы один массив. | ||
Вариант использования |
Удалить обучающую пару | ||
Основной поток |
Удаление обучающей пары |
1. Вариант использования 2. Пользователь нажимает клавишу "Delete". 3. Программа удаляет пару из таблицы. 4. Пользователь нажимает кнопку "Сохранить". 5. Программа вносит изменения в базу данных, удаляя соответствующую обучающую пару. 6. Программа выводит сообщение об успешном сохранении данных. | |
Альтернативный поток |
Ошибка при удалении обучающей пары |
1. Программа не может удалить обучающую пару. 2. Программа выводит сообщение о возникшей ошибке и не вносит никаких изменений в базу. | |
Предусловие |
Обучающий массив должен быть выбран. | ||
Вариант использования |
Задать значения входных сигналов | ||
Основной поток |
Задание значений входных сигналов |
Вариант использования начинается. Когда пользователь начинает ввод значений входных сигналов в таблицу входных сигналов. |
Продолжение таблицы 4
Альтернативный поток |
Некорректный ввод значения входного сигнала |
1. Пользователь ввел 2. Программа выдает сообщение об ошибке и удаляет введенное значение сигнала. | |
Предусловие |
Обучающая пара должна быть выбрана. | ||
Вариант использования |
Задать значения выходных сигналов | ||
Основной путь |
Задание значений выходных сигналов. |
Вариант использования начинается. Когда пользователь начинает ввод значений выходных сигналов в таблицу выходных сигналов. | |
Альтернативный путь |
Некорректный ввод значения выходного сигнала. |
1. Пользователь ввел 2. Программа выдает сообщение об ошибке и удаляет введенное значение сигнала. | |
Предусловие |
Обучающая пара должна быть выбрана. | ||
Вариант использования |
Опрос нейронной сети | ||
Основной поток |
Опрос нейронной сети |
1. Вариант использования начинается, когда пользователь открывает форму для опроса сети путем нажатия на кнопку «Опросить» на главной форме. 2. Программа отображает графическую схему текущей нейронной сети и создает поля для ввода значений входных сигналов (по количеству входов сети), по умолчанию значения входных сигналов равны 0. 3. Пользователь вводит значение каждого входного сигнала. 4. Пользователь нажимает кнопку «Опросить». 5. Программа производит опрос сети и выдает значения выходных сигналов на форму и схему нейронной сети. | |
Предусловия |
Нейронная сеть должна быть определена |
Продолжение таблицы 4
Вариант использования |
Задание значений входных сигналов | |
Основной поток |
Задание значений входных сигналов |
Вариант использования начинается, когда пользователь вводит значение входного сигнала. |
Альтернативный поток |
Некорректный ввод значения входного сигнала |
1. Пользователь ввел некорректное значение входного сигнала. 2. Программа удалит некорректное число и вернет предыдущее значение входного сигнала. |
Вариант использования |
Опросить сеть | |
Основной поток |
Опрос сети |
1. Вариант использования начинается, когда пользователь нажимает на кнопку "Опросить". 2. Программа осуществляет опрос сети на основе введенных значений сигналов. 3. Программа выводит значения выходных сигналов на форму и на схему нейронной сети. |
Вариант использования |
Обучение нейронной сети | |
Основной поток |
Обучение нейронной сети |
1. Вариант использования 2. Программа открывает форму для выбора обучающего массива и ввода дополнительных параметров обучения. |
Предусловие |
Нейронная сеть должна быть определена |
Продолжение таблицы 4
Вариант использования |
Выбрать обучающий массив | |
Основной путь |
Выбор обучающего массива |
1. Вариант использования 2. Программа загружает данные об обучающих парах из базы данных и отображает их содержимое на форме. |
Предусловие |
В базе данных должен быть создан хотя бы один обучающий массив | |
Вариант использования |
Задать дополнительные параметры обучения | |
Основной поток |
Задание дополнительных параметров обучения |
1. Вариант использования 2. Пользователь задает допустимую погрешность результатов при контроле после обучения. 3. Пользователь задает максимальное количество итераций, отводимых под обучение. 4. Пользователь закрывает форму ввода дополнительных параметров обучения. 5. Программа сохраняет измененные значения параметров. |
Альтернативный поток |
Некорректный ввод значения допустимой погрешности |
В случае некорректного ввода значения допустимой погрешности программа перехватывает недопустимый символ и не отображает его на форме. |
Альтернативный поток |
Некорректный ввод максимального количества итераций |
В случае некорректного ввода максимального числа итераций программа перехватывает недопустимый символ и не отображает его на форме. |
Продолжение таблицы 4
Вариант использования |
Начать обучение | |
Основной поток |
Начать обучение нейронной сети |
1. Вариант использования 2. Программа извлекает из базы данных обучающий массив. 3. Программа запускает алгоритм обучения нейронной сети, передовая в него обучающий массив и дополнительные параметры (допустимую погрешность и максимальное число итераций). 4. В процессе обучения происходит настройка весов синапсов. 5. По окончанию процесса обучения программа проверяет точность результатов путем использования контрольных пар массива. 6. Программа выводит точность, с которой сеть определила значения выходных сигналов в контрольных парах. |
Предусловия |
Выбран обучающий массив Сеть должна быть определена |
После окончания процесса обучения студент может использовать обученную сеть для решения определенных задач, задавая значения входных сигналов и снимая показания с выходов сети.
Перед закрытием программы студент может сохранить модель обученной нейронной сети с целью ее дальнейшего использования и редактирования.
1.2.3 Модель данных. В разрабатываемой программе используется база данных для хранения обучающих массивов и их компонентов (обучающих пар).
Диаграмма модели данных представлена в графической части.
Для хранения информации об обучающих массивах используется таблица LearningArray, которая содержит идентификатор массива и его описание (поле, обязательное для заполнения).
Для хранения информации об обучающих парах используется таблица LearningPair, которая содержит идентификатор пары, а также внешний ключ на идентификатор обучающего массива в таблице LearningArray, которому принадлежит данная пара.
Значения входных и выходных сигналов хранятся в таблицах InputSignal и OutputSignal соответственно. Обе таблицы содержат идентификаторы сигналов и поле значения сигналов. Обе таблицы имеют внешний ключ на идентификатор обучающей пары. Все связи между таблицами поддерживают каскадное обновление и удаление данных.
Ниже приведено описание каждой таблицы и связей между таблицами.
1. Таблица LearningArray
Таблица для хранения информации об обучающих массивах.
Таблица 5 – Колонки таблицы LearningArray
PK |
Name |
Type |
Not Null |
Unique |
Len |
Prec |
Scale |
Init |
Notes |
True |
Id |
int |
True |
False |
Уникальный номер обучающего массива | ||||
False |
Description |
nvarchar |
True |
False |
255 |
Описание обучающего массива | |||
False |
CreationDate |
bit |
True |
False |
0 |
Дата создания обучающего массива |
Таблица 6 – Ограничения таблицы LearningArray
Name |
Type |
Columns |
PK_LearningArray |
Public |
Id |
Таблица 7 – Связи таблицы LearningArray
Columns |
Association |
(LearningArrayId = Id) |
0..* LearningPair.FK_ 1 LearningArray.PK_ |
2. Таблица LearningPair
Таблица для хранения данных об обучающих парах.
Таблица 8 – Колонки таблицы LearningPair
PK |
Name |
Type |
Not Null |
Unique |
Len |
Prec |
Scale |
Init |
Notes |
True |
Id |
int |
True |
False |
Уникальный номер обучающей пары | ||||
True |
LearningArrayId |
int |
True |
False |
Уникальным номером обучающего массива, которому принадлежит обучающая пара |