Информационная система мониторинга формирования знаний и компетенций студентов

Создание опытного образца системы для факультета информационных систем и технологий СГАСУ. Возможность хранения данных (списки знаний, компетенций, дисциплин, семестров, студентов и журнал оценок). Вывод точного отчета по успеваемости в виде графика.

Рубрика Педагогика
Вид дипломная работа
Язык русский
Дата добавления 08.10.2018
Размер файла 4,2 M

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

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

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

Источники информации:

- справочники знаний, компетенций, предметов,

- журнал оценок преподавателя,

- отчеты мониторинга ИС.

4.2 Сбор данных для исследования

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

На данный момент отчеты мониторинга компетентности ясно нам показывают, что одинаковая методика преподавания для разных групп не является эффективным решением и это отражается на компетентности будущего специалиста (рисунок 24-25).

Рисунок 24-Уровень компетенций группы Гип-107

Рисунок 25-Уровень компетенций группы Гип-108

Отчет мониторинга знаний ясно нам показывает, что одинаковая методика преподавания для разных групп не является эффективным решением и это отражается на знаниях будущего специалиста (рисунок 25-26).

Рисунок 26-Уровень знаний группы Гип-107

Рисунок 27 - Уровень знаний группы Гип-108

4.3 Анализ собранных данных

Разделение, компетенций и знаний на уровневые группы, (таблица 15) позволило нам увидеть, методику преподавания, каких именно предметов влияющих на знания и компетенции необходимо изменить. Для достижения более высокого результата в обучении студентов новым дисциплинам.

Таблица 15 - Разделение компетенций и знаний группы Гип-107 и Гип-108

Уровень компетенций группы Гип-107

От 80% и выше

ОК-1, ОК-11, ОК-12, ОК-13

ПК-9, ПК-14

От 40% до 80%

ОК-1, ОК-8,ОК-9, ОК-10

ПК-1, ПК-2, ПК-3, ПК-4,ПК-8, ПК-11, ПК-12, ПК-13, ПК-15, ПК-17, ПК-18, ПК-21, ПК-22, ПК-25, ПК-26,ПК-28, ПК-32, ПК-33, ПК-34, ПК-35

От 20% до 40%

ОК-2, ОК-3, ОК-5

ПК-5, ПК-6, ПК-7, ПК-10, ПК-19, ПК-20, ПК-23, ПК-24, ПК-27, ПК-29, ПК-30, ПК-31

Уровень знаний группы Гип-107

От 80% и выше

ГумСоцЭк-1, ГумСоцЭк-2, ГумСоцЭк-5, МатЕст-9

От 40% до 80%

ГумСоцЭк-1, ГумСоцЭк-3, ГумСоцЭк- 4, ГумСоцЭк-6, ГумСоцЭк-7, ГумСоцЭк- 8

МатЕст-1, МатЕст-2, МатЕст-3, МатЕст-4, МатЕст-5, МатЕст-6, МатЕст-7, МатЕст-8, МатЕст-10, МатЕст-11, МатЕст-12, МатЕст-13, МатЕст-14, МатЕст-15

От 20% до 40%

ОбщПроф-1, ОбщПроф-2, ОбщПроф-3, ОбщПроф-4, ОбщПроф-5, ОбщПроф-6, ОбщПроф-7, ОбщПроф-8, ОбщПроф-9, ОбщПроф-10, ОбщПроф-11, ОбщПроф-12, ОбщПроф-13, ОбщПроф-14, ОбщПроф-15, ОбщПроф-16, ОбщПроф-17, ОбщПроф-18, ОбщПроф-19, ОбщПроф-20, ОбщПроф-21, ОбщПроф-22, ОбщПроф-23, ОбщПроф-24, ОбщПроф-25, ОбщПроф-26.

Уровень компетенций группы Гип-108

От 80% и выше

ОК-1, ОК-11, ОК-12, ОК-13

ПК-9, ПК-34, ПК-35

От 40% до 80%

ОК-8,ОК-9, ОК-10

ПК-1, ПК-4, ПК-5,ПК-8, ПК-11, ПК-12, ПК-13, ПК-14, ПК-15, ПК-16, ПК-17, ПК-18, ПК-19, ПК-21, ПК-22, ПК-25, ПК-26,ПК-28, ПК-32, ПК-33

От 20% до 40%

ОК-2, ОК-3, ОК-5, ОК-6, ОК-7

ПК-2, ПК-3, ПК-6, ПК-7, ПК-10, ПК-20, ПК-23, ПК-24, ПК-27.

Уровень знаний группы Гип-108

От 80% и выше

ГумСоцЭк-1, ГумСоцЭк-2, ГумСоцЭк-5

От 40% до 80%

ГумСоцЭк-3, ГумСоцЭк- 4, ГумСоцЭк-6, ГумСоцЭк-7, ГумСоцЭк-8

МатЕст-1, МатЕст-2, МатЕст-4, МатЕст-5, МатЕст-6, МатЕст-7, МатЕст-8, МатЕст-10, МатЕст-11, МатЕст-12, МатЕст-13, МатЕст-14, МатЕст-15

От 20% до 40%

ОбщПроф-1, ОбщПроф-2, ОбщПроф-3, ОбщПроф-4, ОбщПроф-5, ОбщПроф-6, ОбщПроф-7, ОбщПроф-8, ОбщПроф-9, ОбщПроф-10, ОбщПроф-11, ОбщПроф-12, ОбщПроф-13, ОбщПроф-14, ОбщПроф-15, ОбщПроф-16, ОбщПроф-17, ОбщПроф-18, ОбщПроф-19, ОбщПроф-20, ОбщПроф-21, ОбщПроф-22, ОбщПроф-23, ОбщПроф-24, ОбщПроф-25, ОбщПроф-26.

4.4 Вывод по главе

Исходя из приведенной выше таблицы получается что общепрофессиональные знания и профессиональные компетенции не легко даются студентам факультета. Соответственно рассматривая и сравнивая связи компетенций и знаний с предметами мы можем увидеть, методику преподавания, каких именно предметов стоит пересмотреть преподавателям(таблица 16).

Таблица 16- Предметы Гип-107 и Гип-108

Гип-107

1. Введение в специальность и научные исследования

2. Информационный поиск и систематизация знаний

3. Обработка и анализ экспериментальных данных

4. Моделирование и исследования с использованием прикладных программ

5. Организационное поведение и управление персоналом

6. Психология управления персоналом

7. Разработка инновационных информационных систем и технологий

8. Реализация инновационных информационных систем и технологий

9. Информационные системы и технологии по отраслям

10. Информационные системы и технологии в менеджменте

11. Методы и средства проектирования информационных систем и технологий

12. Информационная безопасность и защита информации

13. Системы автоматизированного проектирования

14. Проектирование web-сайтов

15. Инфокоммуникационные системы и сети

16. Корпоративные информационные системы

17. Сетевые технологии

18. Администрирование информационных систем

19. Системный анализ

20. Эксплуатация информационных систем

21. Эксплуатация баз данных

22. Психология в информационном обществе

23. Социология информационного общества

Гип-108

1. Введение в специальность и научные исследования

2. Информационный поиск и систематизация знаний

3. Обработка и анализ экспериментальных данных

4. Моделирование и исследования с использованием прикладных программ

5. Организационное поведение и управление персоналом

6. Моделирование систем

7. Разработка инновационных информационных систем и технологий

8. Реализация инновационных информационных систем и технологий

9. Языки программирования

10. Информационные системы и технологии в менеджменте

11. Методы и средства проектирования информационных систем и технологий

12. Информационная безопасность и защита информации

13. Системы автоматизированного проектирования

14. Проектирование web-сайтов

15. Инфокоммуникационные системы и сети

16. Корпоративные информационные системы

17. Интернет технологии

18. Сетевые технологии

19. Администрирование информационных систем

20. Электротехника

21. Эксплуатация информационных систем

22. Эксплуатация баз данных

23. Психология в информационном обществе

24. Социология информационного общества

В итоге мы получаем список предметов. Методику преподавания, которых необходимо пересмотреть для более доступного понимания студентов.

ЗАКЛЮЧЕНИЕ

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

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

В систему успешно внесены несколько групп обучавшихся на ФИСТ СГАСУ. По их оценкам проведено исследование.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Компетентностный подход в образовании [Электронный ресурс]: URL: http://letopisi.ru/index.php/Компетентностный_подход_в_образовании

2. Формирование научной и профессиональной компетентности [Электронный ресурс]: URL: https://fiz.1september.ru/article.php?ID=200800206

3. Федеральные государственные образовательные стандарты [Электронный ресурс]: URL: http://www.doinhmao.ru/fgos/

4. Система оценки компетенций студентов ВПО. [Электронный ресурс]: URL: http://www.moluch.ru/archive/40/4882/

5. UML. [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/UML

6. Иерархическая модель данных. [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Реляционная_модель_данных

7. Сетевая модель данных. [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Реляционная_модель_данных

8. Реляционная модель данных [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Реляционная_модель_данных

9. Веб-приложение [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/веб-приложение

10. Microsoft_Windows [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Microsoft_Windows

11. Visual_Studio_2012 [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Visual_Studio#Visual_Studio_2012

12. ASP.NET [Электронный ресурс]: URL:

http://ru.wikipedia.org/wiki/ASP.NET

13. Microsoft_SQL_Server [Электронный ресурс]: URL: http://ru.wikipedia.org/wiki/Microsoft_SQL_Server

14. Пиявский С.А. Математическое моделирование при оптимизации сложных систем: Монография. /С.А. Пиявский; СГАСУ, Самара, 2008 -180с.

15. Леоненков, А.В. Самоучитель UML .2-е изд., пер. и доп./А.В.Леоненков. - СПб.: БХВ-Петербург, 2004. - 432 с.

ПРИЛОЖЕНИЕ А

Руководство пользователя

А.1 Введение

А1.1 Область применения

Разработанная информационная система мониторинга формирования знаний и компетенций студентов.

А1.2 Краткое описание возможностей

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

А1.3 Уровень подготовки пользователей

Пользователь автоматизированной информационной системы мониторинга формирования знаний и компетенций студентов должен иметь опыт работы с ОС MS Windows (XP/Vista/7), навык работы с ПО Internet Explorer или любым другим браузером, а так же обладать следующими знаниями:

· знать соответствующую предметную область;

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

Квалификация пользователя должна позволять:

· вести полный список справочников системы;

· осуществлять анализ данных.

А.2 Назначение и условие применения

Разработанная информационная система предназначена для мониторинга формирования знаний и компетенций студентов. Система гарантированно будет функционировать на ПК с конфигурацией указанной в пункте 1.8.5 первой главы. Так же необходимо постоянное Интернет-соединение.

А.3 Подготовка к работе

А3.1 Необходимое программное обеспечение

Для работы с автоматизированной информационной системой мониторинга формирования знаний и компетенций студентов необходимо следующее программное обеспечение:

- операционная система Windows XP или более новая версия;

- Internet Explorer (входит в состав операционной системы Windows) или любой другой Интернет-браузер.

А3.2 Порядок проверки работоспособности

1. Открыть браузер Internet Explorer. Для этого необходимо кликнуть по ярлыку «Internet Explorer» на рабочем столе или в меню «Пуск».

2. Ввести в адресную строку Internet Explorer адрес: http://studentknowledge.azurewebsites.net/ и нажать «Enter».

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

А.4 Выполняемые функции и задачи

А4.1 Описание операций

Автоматизированная информационная система мониторинга формирования знаний и компетенций студентов выполняет функции и задачи, приведенные в таблице А.1

Таблица А.1 - Функции и задачи, выполняемые системой

Функции

Задачи

Описание

Формирование отчетов по успеваемости студентов.

Формирование табличных форм отчетности.

В ходе выполнения данной задачи пользователю системы предоставляется возможность формирования отчетов в табличном виде на базе выбранных предметов и студентов.

Формирование отчетов по успеваемости студентов.

Формирование графических форм отчетности.

В ходе выполнения данной задачи пользователю системы предоставляется возможность формирования отчетов в графическом виде на базе выбранных предметов и студентов.

Формирование отчетов по компетенциям студентов.

Формирование табличных форм отчетности.

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

Формирование отчетов по компетенциям студентов.

Формирование графических форм отчетности.

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

Формирование отчетов по знаниям студентов.

Формирование табличных форм отчетности.

В ходе выполнения данной задачи пользователю системы предоставляется возможность формирования отчетов в табличном виде на базе выбранных знаний и студентов.

Формирование отчетов по знаниям студентов.

Формирование графических форм отчетности.

В ходе выполнения данной задачи пользователю системы предоставляется возможность формирования отчетов в графическом виде на базе выбранных знаний и студентов.

Ведение справочников.

Ведение всевозможных справочников.

Ведение справочников системы предоставляет пользователю добавлять удалять и изменять все данные в системе для стабильной работы системы, а так же ее улучшения.

Ведение журнала преподавателя

Ведение журнала оценок

Ведение журнала оценок преподавателя предоставляет пользователю добавлять редактировать и изменять оценки студентов за конкретный предмет в конце каждого семестра.

А4.2 Описание операций технологического процесса обработки данных, необходимых для выполнения задач

А4.2.1 Авторизация в информационной системе

В разработанной автоматизированной информационной системе существуют 3 типа пользователей: заведующий кафедрой, преподаватель и секретарь. После входа в систему под своим именем пользователя и паролем пользователь увидит интерфейс, настроенный на права данного пользователя. Для входа в систему нужно нажать на ссылку «Вход» в правом верхнем углу окна. После этого пользователю будет представлена форма для авторизации, как на рисунке А1. Для ввода имени пользователя и пароля нужно ввести необходимую информацию в соответствующие текстовые поля и нажать кнопку «Войти». Также существует возможность остаться в системе, выбрав соответствующий пункт.

Рисунок А.1 - Форма авторизации пользователя в системе

А4.2.2 Работа в системе, настроенной на права секретаря системы

Если пользователь вошел в систему с правами секретаря, то он увидит интерфейс системе, изображенный на рисунке А2. Для этой роли существуют три основные вкладки:

- Главная - первая страница с информацией о системе

- Отчеты - страница с отчетами системы

- Справочники - страница со справочниками системы

- Контакты - страница с контактами разработчика системы

Для перехода к спискам справочников или отчетов нужно кликнуть по соответствующей вкладке

Рисунок А.2 - Информационная система, настроенной на права секретаря

А4.2.3 Работа со справочниками системы

Работать со справочниками могут пользователи с правами секретаря. Для перехода к справочникам системы выберете вкладку «Справочники». Справочники системы изображены на рисунке А3. В открывшимся списке выберете интересующий справочник и кликните по нему.

Рисунок А.3 - Список справочников информационной системы

Рассмотрим работу со справочниками на примере справочника дисциплин. Нажав на справочник дисциплин система перейдет к списку всех дисциплин (рисунок А4).

Рисунок А.4 - Работа со справочником дисциплин

Чтобы добавить новую дисциплину в базу следует нажать ссылку «добавить». Система перейдет к форме добавления новой дисциплины в базу данных (рисунок А5). После необходимо заполнить поля названия дисциплины, а так же указать какие компетенции и знания относятся к данной дисциплине. Нажав кнопку «Добавить» дисциплина будет добавлена в базу данных. После добавления, система автоматически перейдет к списку дисциплин.

Так же система позволяет изменять информацию о дисциплине и удалять ее. Что бы изменить информацию о дисциплине нужно в строке с изменяемой дисциплиной нажать ссылку «Изменить». Система перейдет на форму изменения информации о дисциплине. Изменение происходит аналогичным образом, как и добавление. Для удаления дисциплины нужно в строке с изменяемой дисциплиной нажать ссылку «Удалить». Система перейдет на форму удаления дисциплины (рисунок А6). Нажав кнопку «Удалить» система удалит дисциплину из базы данных.

Рисунок А.5 - Форма добавления новой дисциплины в базу данных

Рисунок А.6 - Форма удаления дисциплины из базы данных

Работа с другими справочниками аналогична работе со справочником дисциплин.

А4.2.4 Работа с отчетами системы

В информационной системе существуют три вида отчетов. Отчет об успеваемости, отчет о компетенциях и отчет о знаниях студентов. На рисунке А.7 изображены отчеты системы.

Рисунок А.7 - Список отчетов автоматизированной информационной системы

Чтобы выбрать отчет об успеваемости нужно нажать на соответствующую ссылку. После этого система перейдет к форме формирования отчета. Далее необходимо выбрать факультет, группу и студента можно отметить при необходимости уточнения отчета. После этого необходимо нажать на кнопку «Построить график» и система создаст график с редактируемой легендой справа от графика. На рисунке А8 отображен пример отчета об мониторинге формирования успеваемости групп студентов за все время обучения.

Рисунок А.8 - Пример отчета об мониторинге формирования успеваемости групп студентов за все время обучения

А4.2.5 Работа в системе, настроенной на права заведующего кафедрой

Заведующий кафедрой в информационной системе имеет возможность формировать отчеты мониторинга формирования знаний и компетенций студентов. После входа в систему с выданными заранее именем пользователя и пароля заведующему кафедрой отображена главная страница системы. На рисунке А9 изображена главная страница системы, настроенная на права заведующего кафедрой.

Рисунок А.9 - Информационная система, настроенная на права зав. каф.

Нажав на вкладку «Отчеты» заведующий кафедрой может сформировать отчет об успеваемости, компетенциях и знаниях так же как и пользователь с правами секретаря.

Табличный отчет сформированный заведующим кафедрой указан на рисунке А10.

Рисунок А.10 - Табличный отчет сформированный заведующим кафедрой

А4.2.6 Работа в системе, настроенной на права преподавателя

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

Рисунок А.11 - Информационная система, настроенная на права преподавателя.

Нажав на вкладку «Журнал», выбрав необходимый ему семестр, факультет и группу. Преподаватель увидит список необходимых ему предметов в данном семестре необходимой ему группы. Нажав на нужный предмет откроется страница, уже ранее выбранной группы, со списком студентов и оценками по выбранному предмету. Которые преподаватель может добавить, изменить или удалить.

Страница добавления, редактирования и удаления оценок, указана на рисунке А.12.

Рисунок А.12 - Страница добавления, редактирования и удаления оценок

А.5 Аварийные ситуации

Таблица А.1 - Аварийных ситуаций

Класс ошибки

Ошибка

Описание ошибки

Требуемые действия пользователя при возникновении ошибки

АИС

АИС

Невозможно отобразить страницу .

Сервер не найден.

Возможны проблемы с сетью или с доступом к АИС

Убедиться, что компьютер подключен к сети интернет. Обновить страницу

Ошибка: Неверно введены имя пользователя или пароль

При авторизации в системе неверно введены данные пользователя

Ввести корректные имя пользователя и пароль

Ошибка: Обязательное поле

При вводе данных некоторые поля должны быть обязательно заполнены

Заполнить соответствующее поле информацией.

Сбой в электропитании рабочей станции

Нет электропитания рабочей станции или произошел сбой в электропитании

ПК выключился или перезагрузился

Перезагрузить ПК.
Проверить доступность сервера информационной системы по адресу studentknowledge.azurewebsites.net/

ПРИЛОЖЕНИЕ Б

Листинг основных модулей информационной системы

Б.1 Модуль заполнения справочника компетенций

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.Entity;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using Fist.StudentKnowledge.Models;

namespace Fist.StudentKnowledge.Controllers

{

[Authorize(Roles = " Secretaries")]

public class CompetenceController : Controller

{

private DataContext db = new DataContext();

//

// GET: /Competence/

public ActionResult Index()

{

return View(db.Competencies.ToList());

}

//

// GET: /Competence/Details/5

public ActionResult Details(int id = 0)

{

Competence competence = db.Competencies.Find(id);

if (competence == null)

{

return HttpNotFound();

}

return View(competence);

}

//

// GET: /Competence/Create

public ActionResult Create()

{

return View();

}

//

// POST: /Competence/Create

[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult Create(Competence competence)

{

if (ModelState.IsValid)

{

db.Competencies.Add(competence);

db.SaveChanges();

return RedirectToAction("Index");

}

return View(competence);

}

//

// GET: /Competence/Edit/5

public ActionResult Edit(int id = 0)

{

Competence competence = db.Competencies.Find(id);

if (competence == null)

{

return HttpNotFound();

}

return View(competence);

}

//

// POST: /Competence/Edit/5

[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult Edit(Competence competence)

{

if (ModelState.IsValid)

{

db.Entry(competence).State = EntityState.Modified;

db.SaveChanges();

return RedirectToAction("Index");

}

return View(competence);

}

//

// GET: /Competence/Delete/5

public ActionResult Delete(int id = 0)

{

Competence competence = db.Competencies.Find(id);

if (competence == null)

{

return HttpNotFound();

}

return View(competence);

}

//

// POST: /Competence/Delete/5

[HttpPost, ActionName("Delete")]

[ValidateAntiForgeryToken]

public ActionResult DeleteConfirmed(int id)

{

Competence competence = db.Competencies.Find(id);

db.Competencies.Remove(competence);

db.SaveChanges();

return RedirectToAction("Index");

}

protected override void Dispose(bool disposing)

{

db.Dispose();

base.Dispose(disposing);

}

}

}

Б.2 Модуль заполнения журнала оценок.

using System;

using System.Collections.Generic;

using System.Collections.ObjectModel;

using System.Data;

using System.Data.Entity;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using Fist.StudentKnowledge.Models;

namespace Fist.StudentKnowledge.Controllers

{

[Authorize(Roles = " Teachers")]

public class SubjectController : Controller

{

private DataContext db = new DataContext();

//

// GET: /Subject/

public ActionResult Index()

{

return View(db.Subjects.ToList());

}

//

// GET: /Subject/Details/5

public ActionResult Details(int id = 0)

{

Subject subject = db.Subjects.Find(id);

if (subject == null)

{

return HttpNotFound();

}

return View(subject);

}

//

// GET: /Subject/Create

public ActionResult Create()

{

ViewBag.AllCompetencies = new SelectList(db.Competencies, "Id", "Title");

ViewBag.SelectedCompetencies = new SelectList(new List<Competence>(), "Id", "Title");

ViewBag.AllFgoses = new SelectList(db.Fgoses, "Id", "Title");

ViewBag.SelectedFgoses = new SelectList(new List<Fgos>(), "Id", "Title");

ViewBag.JsonAllCompetencies = db.Competencies.Select(a => new {a.Id, a.Description}).ToList();

ViewBag.JsonAllFgoses = db.Fgoses.Select(a => new { a.Id, a.Description }).ToList();

return View();

}

//

// POST: /Subject/Create

[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult Create(Subject subject, int[] selectedCompetencies, int[] selectedFgoses)

{

if (ModelState.IsValid)

{

if (selectedCompetencies != null)

{

subject.Competencies = new Collection<Competence>();

foreach (var id in selectedCompetencies)

{

subject.Competencies.Add(db.Competencies.Find(id));

}

}

if (selectedFgoses != null)

{

subject.Fgoses = new Collection<Fgos>();

foreach (var id in selectedFgoses)

{

subject.Fgoses.Add(db.Fgoses.Find(id));

}

}

db.Subjects.Add(subject);

db.SaveChanges();

return RedirectToAction("Index");

}

ViewBag.AllCompetencies = new SelectList(db.Competencies, "Id", "Title");

ViewBag.SelectedCompetencies = new SelectList(new List<Competence>(), "Id", "Title");

ViewBag.AllFgoses = new SelectList(db.Fgoses, "Id", "Title");

ViewBag.SelectedFgoses = new SelectList(new List<Fgos>(), "Id", "Title");

ViewBag.JsonAllCompetencies = db.Competencies.Select(a => new { a.Id, a.Description }).ToList();

ViewBag.JsonAllFgoses = db.Fgoses.Select(a => new { a.Id, a.Description }).ToList();

return View(subject);

}

//

// GET: /Subject/Edit/5

public ActionResult Edit(int id = 0)

{

Subject subject = db.Subjects.Find(id);

if (subject == null)

{

return HttpNotFound();

}

ViewBag.AllCompetencies = new SelectList(db.Competencies, "Id", "Title");

ViewBag.SelectedCompetencies = new SelectList(subject.Competencies, "Id", "Title");

ViewBag.AllFgoses = new SelectList(db.Fgoses, "Id", "Title");

ViewBag.SelectedFgoses = new SelectList(subject.Fgoses, "Id", "Title");

ViewBag.JsonAllCompetencies = db.Competencies.Select(a => new { a.Id, a.Description }).ToList();

ViewBag.JsonAllFgoses = db.Fgoses.Select(a => new { a.Id, a.Description }).ToList();

return View(subject);

}

//

// POST: /Subject/Edit/5

[HttpPost]

[ValidateAntiForgeryToken]

public ActionResult Edit(Subject subject, int[] selectedCompetencies, int[] selectedFgoses)

{

if (ModelState.IsValid)

{

var edit = db.Subjects.FirstOrDefault(s => s.Id == subject.Id);

if (edit != null)

{

edit.Title = subject.Title;

if (edit.Competencies != null)

{

edit.Competencies.Clear();

}

if (selectedCompetencies != null)

{

if (edit.Competencies == null)

edit.Competencies = new Collection<Competence>();

foreach (var id in selectedCompetencies)

{

edit.Competencies.Add(db.Competencies.Find(id));

}

}

if (edit.Fgoses != null)

{

edit.Fgoses.Clear();

}

if (selectedFgoses != null)

{

if (edit.Fgoses == null)

edit.Fgoses = new Collection<Fgos>();

foreach (var id in selectedFgoses)

{

edit.Fgoses.Add(db.Fgoses.Find(id));

}

}

db.SaveChanges();

return RedirectToAction("Index");

}

}

ViewBag.AllCompetencies = new SelectList(db.Competencies, "Id", "Title");

ViewBag.SelectedCompetencies = new SelectList(subject.Competencies, "Id", "Title");

ViewBag.AllFgoses = new SelectList(db.Fgoses, "Id", "Title");

ViewBag.SelectedFgoses = new SelectList(subject.Fgoses, "Id", "Title");

ViewBag.JsonAllCompetencies = db.Competencies.Select(a => new { a.Id, a.Description }).ToList();

ViewBag.JsonAllFgoses = db.Fgoses.Select(a => new { a.Id, a.Description }).ToList();

return View(subject);

}

//

// GET: /Subject/Delete/5

public ActionResult Delete(int id = 0)

{

Subject subject = db.Subjects.Find(id);

if (subject == null)

{

return HttpNotFound();

}

return View(subject);

}

//

// POST: /Subject/Delete/5

[HttpPost, ActionName("Delete")]

[ValidateAntiForgeryToken]

public ActionResult DeleteConfirmed(int id)

{

Subject subject = db.Subjects.Find(id);

db.Subjects.Remove(subject);

db.SaveChanges();

return RedirectToAction("Index");

}

public JsonResult GetCompetencyDescription(int id)

{

var comp = db.Competencies.Find(id);

return Json(new {comp.Description});

}

public JsonResult GetFgosDescription(int id)

{

var fgos = db.Fgoses.Find(id);

return Json(new { fgos.Description });

}

protected override void Dispose(bool disposing)

{

db.Dispose();

base.Dispose(disposing);

}

}

}

Б3. Модуль формирования отчетов

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using Fist.StudentKnowledge.Models;

namespace Fist.StudentKnowledge.Controllers

{

[Authorize(Roles = "Secretary, Heads")]

public class ReportController : BaseController

{

public ActionResult Index()

{

return View();

}

public ActionResult Progress(int facultyId = 0, int groupId = 0, int studentId = 0)

{

ViewBag.FacultyId = new SelectList(DbContext.Faculties, "Id", "Title", facultyId);

ViewBag.GroupId = new SelectList(DbContext.Groups.Where(g => g.FacultyId == facultyId), "Id", "Title", groupId);

ViewBag.StudentId = new SelectList(DbContext.Students.Where(s => s.GroupId == groupId), "Id", "Fio", studentId);

ViewBag.ReportType = ReportType.None;

if (facultyId != 0 && groupId == 0 && studentId == 0)

{

//Отчет по факультету

var semesters = DbContext.Semesters.OrderBy(s => s.StartDate).ToList();

var groups = DbContext.Groups.Where(g => g.FacultyId == facultyId).ToList();

ViewBag.ReportType = ReportType.Faculty;

ViewBag.Semesters = semesters;

ViewBag.Groups = groups;

var reportItems = new List<ReportItem>();

foreach (Group group in groups)

{

foreach (Semester semester in semesters)

{

var assessments = DbContext.Assessments.Where(a => a.SemesterId == semester.Id && a.Student.GroupId == group.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = (double)assessments.ToList().Sum(a => a.Mark) / assessments.Count;

}

reportItems.Add(new ReportItem

{

GroupId = group.Id,

SemesterId = semester.Id,

Mark = Math.Round(mark, 2),

NoMark = !DbContext.SemesterSubjects.Any(s => s.GroupId == group.Id && s.SemesterId == semester.Id)

});

}

}

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId == 0)

{

//Отчет по группе

ViewBag.ReportType = ReportType.Group;

var semesters = DbContext.Semesters.Where(s => s.GroupSubjects.Any(g => g.GroupId == groupId)).OrderBy(s => s.StartDate).ToList();

var students = DbContext.Students.Where(s => s.GroupId == groupId).ToList();

ViewBag.Semesters = semesters;

ViewBag.Students = students;

var reportItems = new List<ReportItem>();

foreach (Student student in students)

{

foreach (Semester semester in semesters)

{

var assessments = DbContext.Assessments.Where(a => a.SemesterId == semester.Id && a.StudentId == student.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = (double)assessments.ToList().Sum(a => a.Mark) / assessments.Count;

}

reportItems.Add(new ReportItem

{

StudentId = student.Id,

SemesterId = semester.Id,

Mark = Math.Round(mark, 2)

});

}

}

ViewBag.GroupName = DbContext.Groups.Find(groupId).Title;

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId != 0)

{

//Отчет по студенту

ViewBag.ReportType = ReportType.Student;

var semesters = DbContext.Semesters.Where(s => s.GroupSubjects.Any(g => g.GroupId == groupId)).OrderBy(s => s.StartDate).ToList();

var subjects = DbContext.Subjects.Where(s => s.GroupSubjects.Any(g => g.GroupId == groupId)).ToList();

ViewBag.Semesters = semesters;

ViewBag.Subjects = subjects;

var reportItems = new List<ReportItem>();

foreach (Subject subject in subjects)

{

foreach (Semester semester in semesters)

{

var assessment = DbContext.Assessments.FirstOrDefault(a => a.SemesterId == semester.Id && a.SubjectId == subject.Id && a.StudentId == studentId);

var mark = 0;

if (assessment != null)

{

mark = assessment.Mark;

}

var subjectsInSemesters = DbContext.SemesterSubjects.Where(s => s.GroupId == groupId && s.SubjectId == subject.Id).OrderByDescending(s => s.Semester.StartDate).ToList();

reportItems.Add(new ReportItem

{

SubjectId = subject.Id,

SemesterId = semester.Id,

Mark = mark,

IsLast = subjectsInSemesters.Count > 0 && subjectsInSemesters.First().SemesterId == semester.Id,

NoMark = !DbContext.SemesterSubjects.Any(s => s.GroupId == groupId && s.SubjectId == subject.Id && s.SemesterId == semester.Id)

});

}

}

var student = DbContext.Students.FirstOrDefault(s => s.Id == studentId);

if (student != null)

ViewBag.StudentFio = student.Fio;

ViewBag.ReportItems = reportItems;

}

return View();

}

public ActionResult Knowledge(int facultyId = 0, int groupId = 0, int studentId = 0)

{

ViewBag.FacultyId = new SelectList(DbContext.Faculties, "Id", "Title", facultyId);

ViewBag.GroupId = new SelectList(DbContext.Groups.Where(g => g.FacultyId == facultyId), "Id", "Title", groupId);

ViewBag.StudentId = new SelectList(DbContext.Students.Where(s => s.GroupId == groupId), "Id", "Fio", studentId);

ViewBag.ReportType = ReportType.None;

if (facultyId != 0 && groupId == 0 && studentId == 0)

{

//Отчет по факультету

var fgoses = DbContext.Fgoses.ToList();

var groups = DbContext.Groups.Where(g => g.FacultyId == facultyId).ToList();

ViewBag.ReportType = ReportType.Faculty;

ViewBag.Fgoses = fgoses;

ViewBag.Groups = groups;

var reportItems = new List<ReportItem>();

foreach (Group group in groups)

{

foreach (Fgos fgos in fgoses)

{

var assessments = DbContext.FgosAssessments.Where(a => a.Student.GroupId == group.Id && a.FgosId == fgos.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = assessments.ToList().Sum(a => a.Mark) / group.Students.Count;

}

reportItems.Add(new ReportItem

{

GroupId = group.Id,

SemesterId = fgos.Id,

Mark = Math.Round(mark, 2)

});

}

}

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId == 0)

{

//Отчет по группе

ViewBag.ReportType = ReportType.Group;

var fgoses = DbContext.Fgoses.ToList();

var students = DbContext.Students.Where(s => s.GroupId == groupId).ToList();

ViewBag.Fgoses = fgoses;

ViewBag.Students = students;

var reportItems = new List<ReportItem>();

foreach (Student student in students)

{

foreach (Fgos fgos in fgoses)

{

var assessments = DbContext.FgosAssessments.Where(a => a.FgosId == fgos.Id && a.StudentId == student.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = assessments.ToList().Sum(a => a.Mark);

}

reportItems.Add(new ReportItem

{

StudentId = student.Id,

SemesterId = fgos.Id,

Mark = Math.Round(mark, 2)

});

}

}

ViewBag.GroupName = DbContext.Groups.Find(groupId).Title;

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId != 0)

{

//Отчет по студенту

ViewBag.ReportType = ReportType.Student;

var fgoses = DbContext.Fgoses.ToList();

var subjects = DbContext.Subjects.Where(s => s.GroupSubjects.Any(g => g.GroupId == groupId)).ToList();

ViewBag.Fgoses = fgoses;

ViewBag.Subjects = subjects;

var reportItems = new List<ReportItem>();

foreach (Subject subject in subjects)

{

foreach (Fgos fgos in fgoses)

{

var assessment = DbContext.FgosAssessments.FirstOrDefault(a => a.FgosId == fgos.Id && a.SubjectId == subject.Id && a.StudentId == studentId);

var mark = 0d;

if (assessment != null)

{

mark = assessment.Mark;

}

reportItems.Add(new ReportItem

{

SubjectId = subject.Id,

SemesterId = fgos.Id,

Mark = Math.Round(mark, 2),

NoMark = assessment == null

});

}

}

var student = DbContext.Students.FirstOrDefault(s => s.Id == studentId);

if (student != null)

ViewBag.StudentFio = student.Fio;

ViewBag.ReportItems = reportItems;

}

return View();

}

public ActionResult Competency(int facultyId = 0, int groupId = 0, int studentId = 0)

{

ViewBag.FacultyId = new SelectList(DbContext.Faculties, "Id", "Title", facultyId);

ViewBag.GroupId = new SelectList(DbContext.Groups.Where(g => g.FacultyId == facultyId), "Id", "Title", groupId);

ViewBag.StudentId = new SelectList(DbContext.Students.Where(s => s.GroupId == groupId), "Id", "Fio", studentId);

ViewBag.ReportType = ReportType.None;

if (facultyId != 0 && groupId == 0 && studentId == 0)

{

//Отчет по факультету

var competensies = DbContext.Competencies.ToList();

var groups = DbContext.Groups.Where(g => g.FacultyId == facultyId).ToList();

ViewBag.ReportType = ReportType.Faculty;

ViewBag.Competencies = competensies;

ViewBag.Groups = groups;

var reportItems = new List<ReportItem>();

foreach (Group group in groups)

{

foreach (Competence competence in competensies)

{

var assessments = DbContext.CompetenceAssessments.Where(a => a.Student.GroupId == group.Id && a.CompetenceId == competence.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = assessments.ToList().Sum(a => a.Mark)/group.Students.Count;

}

reportItems.Add(new ReportItem

{

GroupId = group.Id,

SemesterId = competence.Id,

Mark = Math.Round(mark, 2)

});

}

}

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId == 0)

{

//Отчет по группе

ViewBag.ReportType = ReportType.Group;

var competencies = DbContext.Competencies.ToList();

var students = DbContext.Students.Where(s => s.GroupId == groupId).ToList();

ViewBag.Competencies = competencies;

ViewBag.Students = students;

var reportItems = new List<ReportItem>();

foreach (Student student in students)

{

foreach (Competence competence in competencies)

{

var assessments = DbContext.CompetenceAssessments.Where(a => a.CompetenceId == competence.Id && a.StudentId == student.Id).ToList();

var mark = 0d;

if (assessments.Count > 0)

{

mark = assessments.ToList().Sum(a => a.Mark);

}

reportItems.Add(new ReportItem

{

StudentId = student.Id,

SemesterId = competence.Id,

Mark = Math.Round(mark, 2)

});

}

}

ViewBag.GroupName = DbContext.Groups.Find(groupId).Title;

ViewBag.ReportItems = reportItems;

}

else if (facultyId != 0 && groupId != 0 && studentId != 0)

{

//Отчет по студенту

ViewBag.ReportType = ReportType.Student;

var competencies = DbContext.Competencies.ToList();

var subjects = DbContext.Subjects.Where(s => s.GroupSubjects.Any(g => g.GroupId == groupId)).ToList();

ViewBag.Competencies = competencies;

ViewBag.Subjects = subjects;

var reportItems = new List<ReportItem>();

foreach (Subject subject in subjects)

{

foreach (Competence competence in competencies)

{

var assessment = DbContext.CompetenceAssessments.FirstOrDefault(a => a.CompetenceId == competence.Id && a.SubjectId == subject.Id && a.StudentId == studentId);

var mark = 0d;

if (assessment != null)

{

mark = assessment.Mark;

}

reportItems.Add(new ReportItem

{

SubjectId = subject.Id,

SemesterId = competence.Id,

Mark = Math.Round(mark, 2),

NoMark = assessment == null

});

}

}

var student = DbContext.Students.FirstOrDefault(s => s.Id == studentId);

if (student != null)

ViewBag.StudentFio = student.Fio;

ViewBag.ReportItems = reportItems;

}

return View();

ПРИЛОЖЕНИЕ В

Полный набор диаграмм проекта

В.1 Полный набор диаграмм проекта

Рисунок В.2 - Диаграмма вариантов использования

Рисунок В.2 - Диаграмма сущностных классов

Рисунок В.3 - Диаграмма классов управления

Рисунок В.4 - Диаграмма граничных классов

Рисунок В.5 - Диаграмма состояний. Работа с приложением

Рисунок В.6 - Диаграмма последовательности

Рис. В.7. Диаграмма компонентов

Рисунок В.8 - Диаграмма развертывания

ПРИЛОЖЕНИЕ Г

Ответ на специальный вопрос по БЖД

Г1. Защитное заземление

Защитное заземление - это преднамеренное электрическое соединение с землей или ее эквивалентом металлических нетоковедущих частей, которые могут оказаться под напряжением (рисунок 3.10).

Защитное заземление эффективно в сетях напряжением до 1000 В с изолированной нейтралью (полюсом). Принцип действия защитного заземления заключается в том, что человек, касающийся корпуса оборудования, находящегося под напряжением за счет короткого замыкания фазы  на корпус, оказывается включенным параллельно заземлителю с сопротивлением защитного заземления , имеющим значительно меньшее сопротивление, чем тело человека . В результате большая часть тока замыкания на землю пойдет через заземлитель (рисунок Г.1 )

Рисунок Г.1 - Ход тока

При отсутствии заземлителя весь ток  пойдет через тело человека, что может привести к его поражению. Для уменьшения напряжения на заземлителе, сопротивление защитного заземления  нормируется. В электроустановках напряжением до 1000 В оно должно быть не более 4 Ом. Значение  зависит также от мощности источника питания, удельного сопротивления грунта и эксплуатируемого оборудования. Для заземления используют искусственные и естественные заземлители. Естественные заземлители - это находящиеся в соприкосновении с землей электропроводящие металлические конструкции и коммуникации зданий и сооружений, за исключением взрыво- и пожаро-опасных (нефтепроводы и др.) Использование протяженных и разветвленных заземлителей позволяет снизить  и выравнять потенциалы. Искусственные заземлители представляют собой совокупность собственно заземлителей и заземляющих проводников, называемыми заземляющим устройством.

Г2. Область применения защитного заземления

- электроустановки напряжением до 1 кВ в трехфазных трехпроводных сетях переменного тока с изолированной нейтралью (IT);

- электроустановки напряжением до 1 кВ в однофазных двухпроводных сетях переменного тока изолированных от земли;

- электроустановки напряжением до 1 кВ в двухпроводных сетях постоянного тока с изолированной средней точкой обмоток источника тока (система IT);

- электроустановки в сетях напряжением выше 1 кВ переменного и постоянного тока с любым режимом нейтрали или средней точки обмоток источников тока.

Г3. Принцип действия защитного заземления

Защитное действие заземления основано на двух принципах:

Уменьшение до безопасного значения разности потенциалов между заземляемым проводящим предметом и другими проводящими предметами, имеющими естественное заземление.

Отвод тока утечки при контакте заземляемого проводящего предмета с фазным проводом. В правильно спроектированной системе появление тока утечки приводит к немедленному срабатыванию защитных устройств (устройств защитного отключения -- УЗО).

В системах с глухозаземлённой нейтралью -- инициирование срабатывания предохранителя при попадании фазного потенциала на заземлённую поверхность.

Таким образом, заземление наиболее эффективно только в комплексе с использованием устройств защитного отключения. В этом случае при большинстве нарушений изоляции потенциал на заземлённых предметах не превысит опасных величин. Более того, неисправный участок сети будет отключён в течение очень короткого времени (десятые…сотые доли секунды -- время срабатывания УЗО).

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


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

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