Дипломная работа: Система поддержки принятия решений при формировании документов организации учебного процесса

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

· if @proftype_id = 0

· set @proftype_char = '%';

· else set @proftype_char = cast(@proftype_id as nvarchar(10));

В данном участке, создается текстовая переменная, где проверяется входной параметр. Если он равен 0, тогда значение переменной '%'. Это значит "любая строка" для конструкции LIKE в предложении WHERE оператора SELECT. Если не 0, тогда просто преобразуется число в строку. Дальше в коде можно заметить курсор, но с некоторыми изменениями.

Так же добавили следующие поля:

1. dbo.Prof_Types.[name],

2. dbo.Professions.[name]

Это нужно в соответствии с новой структурой переменной типа «Table». Так же имеется следующее изменение:

· cast(dbo.PK.proftype_id as nvarchar(10)) like @proftype_char A

Тут идет проверка вида деятельности. Выбирается либо конкретный вид, либо все. В курсоре происходит проход по тем связям, где компетенция привязана к ОТФ. Чуть ниже идет курсор по связям с ТФ.

Действия курсоров одинаковые. Курсор это такой объект, который проходит по записям, сформированным в запросе при его создании.

«report_t» - это переменная типа «table», куда мы все записываем. «@tf» - булевая переменная, если 1 - происходит группировка по ОТФ, если 0 - по видам деятельности и компетенциям.

Далее мы возвращаем все компоненты - все позиции, что нашлись по нашей специальности и дальше работаем с этой выборкой.

В приложении А приведен код работы по созданию XML-отчета.

Переменные типа «lastActivity» и т.д. отвечают за текущие значения. Например, составляем отчет для такого-то вида деятельности, для такой-то ОТФ и такой-то ТФ. Т.к. значений может быть много, а плодить одинаковые теги не нужно, при переходе к следующей записи полученной выборки проверяем тот же самый ли это вид деятельности, что и был или нет

Рассмотрим следующий пример. Запустим процедуру. На рисунке 3.42 можно заметить один вид деятельности, который относится к трем записям.

Рисунок 3.42 Работа процедуры

Профессия у нас одинаковая и надо, чтобы детали по этим видам деятельности были под одним родителем. Мы построчно читаем выборку, получаем вид деятельности, указанный в текущей записи в переменную «lastActivity», создаем тег вид деятельности.У него можно заметить потомка «название вида». И этому потомку, в текст, ставим значение «lastActivity». Дальше у вида деятельности потомок - «Компетенция», а у него потомок - «Название».

«lastCompetency» - последнее значение наименования компетенции. Считываем значение из выборки. Если значение из выборки не совпадает с нашим последним зафиксированным значением, тогда создаем тег (так же было и для вида деятельности) и пишем в текст наименование компетенции. После компетенции нам необходимо указать связь с ОТФ - создаем для нее свои теги (если последнее значение отличается от текущего). В качестве потомка ОТФ указываем название профессии. Для профессии мы не запоминаем текущее и предыдущее значения, потому что если меняется ОТФ, то и указывается сразу профессия. Если не меняется, то мы уже работаем с этой ОТФ (то есть уже указали профессию). Дальше создаем теги для ТФ (если конечно связь с ТФ существует). Если нет, данные теги не создаются. Далее переходим к требованиям ТФ. Используем процедуру «ShowTFdetails», которая используется при выводе требований в справочнике. На втором этапе разработки данная процедура не подверглась изменениям. В приложении Б приведен код данной процедуры. Передается id ТФ и получается список требований по порядку типов. Cначала трудовые действия, и так далее. Нам необходимо сгруппировать требования по типам (как и в файле от парсера). Поэтому мы проверяем, тот же самый ли это тип требований, что и раньше. Это фиксируется в переменной «currentDetailsTypeId». Если да - создаем соответствующие теги, где указываем наименование типа требований (detailNumber++;). В «detailNumber» считаем, какой это пункт по порядку в текущем типе требований, чтоб вывести item_1, item_2 и т.д. Ну и соответственно выводим само требование. И так дальше проходим по всем типам требований. Дальше считывается следующая строка из выборки связей между ТФ (ОТФ) и компетенциями и начинаем те же операции.

Так же на втором этапе разработки был добавлен множественный выбор профессий на главной форме. Код для работы с профессиями приведен на рисунке 3.43.

Рисунок 3.43 Работа с профессиями

«clbProfessions» - это объект для выбора профессий. В строку «profList» записываем все отмеченные професси через запятую. Затем передаем этот список в «qPS_tree», который вызывает хранимую процедуру «FetchOTFnTF». В приложении Б представлен код процедуры «FetchOTFnTF».

Данная процелура считывает ОТФ и ТФ по выбранным специальностям. «@professions» - сюда помещается список профессий через запятую.

Ниже в коде происходит «парсинг» данной строки и разбиение ее на подстроки с отдельными профессиями

· while(CHARINDEX(',', @professions) > 0) begin

· insert into @profList values (substring(@professions, 0, charindex(',', @professions)));

· set @professions = (select stuff(@professions, 1, charindex(',', @professions), ''));

· end;

«@profList» - переменная типа table, где и будут записаны наши профессии. Дальше идет курсор, который считывает ОТФ по всем специальностям

Изменению подверглась следующая строка:

· Professions.[name] in (select * from @profList);

В комментариях - осталась прошлая версия. То есть мы считываем наши профессии из табличной переменной. И записываем все в ОТФ. Происходит поиск ТФ по тем ОТФ, что уже записали в табличную переменную. «parent_id» - id ОТФ. Остальные модификации - это изменение размеров полей.

В приложении В приведены основные блок-схемы приложения.

3.5 Отчеты

После создания связей с помощью проекций и классификаторов на главной форме, между смысловыми компонентами сферы труда и сферы образовании, используя «FastReport» и XML, получаем следующие отчеты и документы:

· Отчет, где прослеживается связь между профессиональными задачами и трудовыми функциями;

· Отчет, где прослеживается связь между трудовыми функциями и профессиональными задачами;

· Отчет, где прослеживается связь между профессиональными компетенциями и трудовыми функциями;

· Отчет, где прослеживается связь между трудовыми функциями и профессиональными компетенциями;

· Xml - отчет, где прослеживается связь между профессиональными компетенциями с трудовыми функциями

Все отчеты, полученные с помощью FastReport и XML, представлены в приложении Ж. Отчет XML позволяет проследить за следующими компонентами:

1. Название специальности,

2. Связь между компетенциями и трудовыми функциями или Обобщенной трудовой функции

3. Специальность, к которой относится трудовая функция, так как их может быть несколько.

3.6 Выводы по третьей главе

Для сферы образования программа предоставляет возможность:

· Проанализировать компетенции и профессиональные задачи, которые содержаться в образовательном стандарте.

· Проанализировать, где используются компетенции и профессиональные задачи.

· Сопоставить компетенции и профессиональные задачи с обобщенными трудовыми функциями и трудовыми функциями.

· В будущем, автоматизированная система позволит экономить трудозатраты при подготовке ОПОП и РПД.

· Но самая главная особенность системы в том, что она позволит создать оптимальное соотношение потребности в наборе и уровне компетенций, диктуемой рынком труда, и материала, преподаваемого студентам.

4. Тестирование

В ходе работы над ВКР была проведена проверка функций системы и скорости работы данных функций. Были разработаны тестовые задания. Каждый тест включает в себя:

· Исходные данные.

· Эталон проверки.

· Процедуры проверки.

· Результат проверки.

Тест № 1 заключается в ручном добавлении записей в справочник «Федеральные государственные образовательные стандарты». Исходное состояние:

· пользователь находится в системе;

· справочник пуст.

Исходные данные:

a) Набор корректных данных: заполнены простые справочники: Кафедра, Специальность, Вид профессиональной деятельности»

b) Набор некорректных данных: добавление записи без выбора кафедры, специальности, вида профессиональной деятельности.

Эталоны для проверки:

a) при вводе корректных данных: в справочник успешно добавлена запись (рисунок 4.1).

Рис. 4.1 Успешное добавление записи

b) при вводе некорректных данных: на экран выведено сообщение с предупреждением о том, что в полях содержится нулевое значение и добавление записи невозможно (рисунок 4.2).

Рис. 4.2 Добавление записи невозможно

Тест № 1 был выполнен успешно.

Тест № 2 заключается во вставке из буфера обмена информации из ФГОС в справочник. Варианты состояния системы до выполнения теста № 2: В справочнике заполнены все необходимые поля

Варианты исходных данных:

a) набор корректных данных: вставка правильной структуры входных данных из ФГОС (рисунок 4.3)

Рис. 4.3 Правильная структура для занесения в буфер обмена

b) Набор некорректных данных: вставка неправильной структуры входных данных (рисунок 4.4)

Рис. 4.4 Неправильная структура для занесения в буфер обмена

Эталоны для проверки результатов после выполнения теста № 2:

a) при корректных данных: Заполнение справочника и его правильное формирование и отображение (рисунок 4.5)

Рис. 4.5 Отображение справочника

b) при некорректных данных: в таблице не выведено ни одной записи (рисунок 4.6).

Рис. 4.6 Неправильное отображение справочника

Тест № 2 выполнен успешно

Тест № 3 заключается в загрузке в справочник данных из xml-файла. Варианты состояния системы до выполнения теста №3:

· пользователь успешно подключился к серверу и базе данных;

· таблицы пусты

Варианты исходных данных:

a) набор корректных данных: вставка правильной xml-структуры полученного после парсинга документа ФГОС.

b) Набор некорректных данных: вставка неправильной структуры входных данных.

Эталоны для проверки результатов после выполнения теста № 3:

a) при корректных данных: Заполнение справочника и его правильное формирование и отображение и вывод формы об успешности завершения операции (рисунок 4.7)

Рис. 4.7 Отображение справочника

b) при некорректных данных: в таблице не выведено ни одной записи, выведена ошибка о том, что такие теги не поддерживаются (рисунок 4.8).

Рис. 4.8 Вывод ошибки

Тест № 3 выполнен успешно

Тест № 4 заключается в загрузке в справочник данных из документа ФГОС в формате.doc или.docx. Варианты состояния системы до выполнения теста №4:

· пользователь успешно подключился к серверу и базе данных;

· таблицы пусты

Варианты исходных данных:

a) набор корректных данных: выбор документа ФГОС в формате doc.

b) Набор некорректных данных: вставка любого другого документа.

Эталоны для проверки результатов после выполнения теста № 4:

a) при корректных данных: Заполнение справочника и его правильное формирование и отображение данных (рисунок 4.9)

Рис. 4.9 Отображение справочника

b) при некорректных данных: в таблице не выведено ни одной записи, выведена ошибка. (рисунок 4.10).

Рис. 4.10 Вывод ошибки

Тест № 4 выполнен успешно

Представленные выше результаты тестирования функций системы подтверждают правильность её реализации. На основе функционального тестирования можно сделать вывод, что реализованные в системе функции соответствуют постановке задачи на создание информационной системы.

Посмотрим, сколько времени занимает парсинг документа ФГОС. Будут проделаны следующие операции:

1. запустить парсер;

2. выбрать документ ФГОС;

3. выбрать выходной файл xml;

4. кликнуть левой кнопки мыши по кнопке 1.

5. открытие документа

6. работа алгоритма

7. занесение данных в форму

8. закрытие документа

Формирование документа занимает ровно 7 секунд.

Попробуем заполнить этим полученным xml-файлом справочник ФГОС.

Будут проделаны следующие операции:

1. кликнуть левой кнопки мыши по кнопке «получить данные из xml»;

2. Выбрать файл xml.

Заполнение справочника заняло 0.5 секунды.

Загрузим данные в справочник из самого документа ФГОС формата.doc.

Будут проделаны следующие операции:

1. кликнуть левой кнопки мыши по кнопке «добавить из документа»;

2. запуск функций парсера.

3. открытие документа

4. работа алгоритма

5. заполнение справочника

6. закрытие документа

Заполнение полей для профессиональных задач заняло 5 секунд. Заполнение полей для профессиональных компетенций заняло 4 секунды.

Анализируя результаты замеров времени работы, был сделан вывод, что система работает достаточно быстро.

Заключение

В ходе работы над диссертацией проведен анализ предметной области, рассмотрены аналогичные решения и документы сферы труда и сферы образования. Была выбрана методика по составлению программ, разработан набор удобных механизмов работы с текстами ФГОС и ПС. Разработаны механизмы формирования XML-документов для основной информации ФГОС и ПС. Были исследованы на предмет структуры и содержания многие профессиональные и образовательные стандарты, в том числе SWEBOK. Разработана база данных для хранения информации и различные механизмы для работы, поиска и структурирования информации. Разработана программа для поддержки деятельности заведующего кафедрой и профессорско-преподавательского состава при планировании и согласовании ОПОП и РПД, выполнены различные тесты, которые проверяли функциональность и скорость работы системы. Первый и второй этап разработки можно считать успешно завершенными.

Идеи и механизмы обработки информации были представлены в различных докладах и публикациях, которые представлены в списке литературы. Программный продукт планируется развивать и далее. Планируется доработка продукта и расширение его функциональности, уточнение отдельных деталей по нормативным документам, тем самым программа достигнет уровня готового продукта. К следующему этапу разработки можно отнести создание словаря предметной области для уточнения содержания компонентов ФГОС и ПС согласно методике SWEBOK.

Список используемых источников

1. Портал Федеральных государственных образовательных стандартов высшего образования. Методические разработки. [Электронный ресурс] - Режим доступа: http://fgosvo.ru/support/43/5/8

Источник: https://otherreferats.allbest.ru/download/993214/