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

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

А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");