Научно-исследовательская часть. Курсовой проект

Территория рекламы

1. Научно-исследовательская часть

Анализ предметной области

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

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

В рамках данной квалификационной работы будет использована существующая база данных КФ МГТУ им. Н.Э. Баумана.

Структура КФ МГТУ, как и других высших учебных заведений состоит из следующих основных подразделений: факультеты, кафедры, группы.

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

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

Учебная группа - определённое число студентов, изучающих одно и то же направление подготовки в одно и то же время под руководством одних и тех же преподавателей на протяжении определенного периода времени.

Также зачастую одна группа может быть разделена на несколько частей по ряду следующих причин:

различные направления учебной подготовки

лабораторные занятия

Или наоборот – объединена с другими группами для чтения лекции по общей дисциплине для объединенных групп.

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

1) Направления учебной подготовки (учебные дисциплины) – различные направления учебной подготовки студентов, которые необходимы для получения квалифицированных специалистов. Обычно количество учебных занятий в день в высших учебных заведениях не превышает пяти пар. Это необходимо для того, чтобы снизить учебную нагрузку на студентов.

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

Для небольших высших учебных заведений характерно наличие небольшого количества учебных аудиторий, которые располагаются в одном учебном помещении (корпусе). Однако структура КФ МГТУ им. Н.Э. Баумана состоит из 6 учебных корпусов. Поэтому для определения местонахождения аудитории необходимо вначале указывать номер корпуса, в котором она располагается. Также для удобства первая цифра номера аудитории указывает на номер этажа, на котором она находится.

3) Расписание звонков учебного заведения. Согласно расписанию звонков КФ МГТУ, в день может проводиться до 7 учебных занятий. Каждое занятие длится 1,5 часа (90 минут) с коротким перерывом в 5 минут между двумя половинами (45 минут). Перерыв между двумя соседними парами составляет 15 минут. Также есть большая перемена между третьей и четвертой парой, которая длится 30 минут.

4) Преподаватели – сотрудники высшего учебного заведения, которые ведут подготовку студентов в различных учебных направлениях. На преподавателей возлагается проведение лекционных, лабораторных и семинарских занятий.

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

1.2. Анализ средств разработки

1.2.1. Анализ средств разработки веб-приложений

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

1.2.1.1. Анализ серверных языков программирования

Серверные языки веб-программирования могут быть условно классифицированы по операционной системе, на которой они работают: Windows и Linux, Unix. Это разделение в некоторой степени условно, т.к. практически все популярные языки и фреймворки портированы на обе ОС.

К языкам и средствам разработки серверной части сайта относят PHP, Python, Java, Perl, ASP.NET. Рассмотрим их основные преимущества и недостатки.

PHP

РНР - это язык программирования, предназначенный для создания сайтов. Это скрипт-язык, встраиваемый в НТМL, который интерпретируется и выполняется на сервере.

РНР является внедряемым языком сценариев. Цель языка состоит в том, чтобы позволить веб-разработчикам быстро создавать динамически генерируемые страницы. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти. Программы, написанные на РНР, достаточно легко читаемы.

На РНР можно сделать все: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать сеансы - куки. Кроме этого в РНР включена поддержка многих баз данных, что делает написание Web-приложений с использованием БД до невозможности простым.

Одним из наиболее заметных достоинств РНР является возможность легкой работы с серверами баз данных. Для этого достаточно установить на Web-сервере программу работы с базой данных.

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

Преимущества PHP:

является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);

поддерживается большим сообществом пользователей и разработчиков;

имеет развитую поддержку баз данных;

имеется огромное количество библиотек и расширений языка;

может быть развёрнут почти на любом сервере;

Недостатки PHP:

имеет слабые средства для работы с исключениями;

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

веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.

Python

Python – это один из наиболее популярных современных языков программирования. Он пригоден для решения разнообразных задач и предлагает те же возможности, что и другие языки программирования: динамичность, поддержку ООП и кросс-платформенность.

Синтаксис Python достаточно лаконичный, поэтому он достаточно прост при использовании.

Python является языком общего назначения, поэтому может применяться практически в любой области разработки ПО (standalone, клиент-сервер, Web-приложения) и в любой предметной области. Кроме того, Python легко интегрируется с уже существующими компонентами, что позволяет внедрять Python в уже написанные приложения.

Еще одним преимуществом Python являются его модули расширения, как стандартные, так и специфические. Стандартные модули расширения Python – это отлично спроектированная и неоднократно проверенная функциональность для решения задач, возникающих в каждом проекте по разработке ПО, обработка строк и текстов, взаимодействие с операционной системой, поддержка Web-приложений. Эти модули также написаны на языке Python, поэтому обладают его важнейшим свойством – кросс-платформенностью, позволяющей безболезненно и быстро переносить проекты с одной операционной системы на другую.

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

Преимущества Python:

открытая разработка;

довольно прост в изучении;

хорошо читаемый код;

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

абсолютно всё в Python является объектами в смысле ООП.

Недостатки Python:

малая популярность Python при создании качественных программных проектов по сравнению с другими универсальными языками программирования;

отсутствие коммерческой поддержки средств;

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

ASP.NET

ASP.NET — это веб-платформа, предоставляющая все необходимые службы для создания серверных веб-приложений корпоративного класса. ASP.NET создана на основе платформы .NET Framework, поэтому все функции .NET Framework доступны для приложений ASP.NET. Приложения могут быть написаны на любом языке, совместимом со средой CLR, включая VisualBasic и C#.

ASP.NET MVC представляет собой платформу для создания сайтов и веб-приложений с использованием паттерна (или шаблона) MVC (model - view - controller).

Шаблон архитектуры Model-View-Controller (MVC) разделяет приложение на три основных компонента: модель, представление и контроллер (рис. 1). Платформа ASP.NET MVC представляет собой альтернативу схеме веб-форм ASP.NET при создании веб-приложений. Платформа ASP.NET MVC является легковесной платформой отображения с широкими возможностями тестирования и, подобно приложениям на основе веб-форм, интегрирована с существующими функциями ASP.NET. 

Шаблон разработки MVC

Рис. 1 – Шаблон разработки MVC

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

В состав платформы MVC входят следующие компоненты.

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

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

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

Шаблон MVC позволяет создавать приложения, различные аспекты которых (логика ввода, бизнес-логика и логика интерфейса) разделены, но достаточно тесно взаимодействуют друг с другом. Эта схема указывает расположение каждого вида логики в приложении. Пользовательский интерфейс располагается в представлении. Логика ввода располагается в контроллере. Бизнес-логика находится в модели. Это разделение позволяет работать со сложными структурами при создании приложения, так как обеспечивает одновременную реализацию только одного аспекта. Например, разработчик может сконцентрироваться на создании представления отдельно от бизнес-логики.

Связь между основными компонентами приложения MVC также облегчает параллельную разработку. Например, один разработчик может создавать представление, другой — логику контроллера, а третий — бизнес-логику модели.

Преимущества ASP.NET:

наличие средства визуального программирования – уменьшение времени разработки в 2 и более раз;

реализация объектной модели приложения;

выполняемый код – откомпелированное приложение;

встроенная поддержка технологии Ajax.

Недостатки ASP.NET:

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

1.2.1.2. Обоснование выбора средств разработки

Для разработки программного продукта была выбрана технология ASP.NET MVC 4 и язык C#, являющийся самым популярным языком для написания бизнес логики на платформе.NET, основные преимущества технологии ASP.NET MVC 4:

1) Расширяемость

MVC Framework также построен как ряд независимых компонентов, удовлетворяющих .NET интерфейс или построенных на абстрактном базовом классе, что позволяет легко заменять одни компоненты другими. ASP.NET MVC дизайнеры построили его таким образом, чтобы дать разработчикам три варианта выбора для каждого компонента MVC Framework:

использовать реализацию по умолчанию компонента в его нынешнем виде (чего должно быть достаточно для большинства приложений);

вывести подкласс реализации по умолчанию для настройки ее поведения;

заменить компонент полностью при помощи новой реализации интерфейса или абстрактного базового класса.

2) Жесткий контроль над HTML и HTTP

ASP.NET MVC признает важность получения чистой, соответствующей стандартам разметки. Его встроенные методы HTML помощника предоставляют соответствующие стандартам выходные данные.

Страницы, сгенерированные ASP.NET MVC, не содержат никаких данных ViewState, поэтому они могут быть в сотни килобайт меньше, чем обычные страницы, созданные при помощи ASP.NET WebForms. Несмотря на современную широкополосную связь и быстрые подключения, эта экономия пропускной способности до сих пор чрезвычайно притягательна для конечных пользователей.

3) Тестируемость

Архитектура MVC дает разработчикам отличную возможность создавать веб-приложение таким, чтобы его можно было легко сопровождать и тестировать. Тестируемость – это не только вопрос модульного тестирования. ASP.NET MVC приложения также хорошо работают с инструментами автоматического тестирования. Разработчик может написать тестовые скрипты, которые имитируют взаимодействие с пользователем, без необходимости гадать, какие структуры HTML элементов, CSS классы или ID будет генерировать фреймворк, поэтому при разработке не придется беспокоиться о структуре, если она вдруг неожиданно изменится.

4) Мощная система маршрутизации (роутинга)

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

/App_v2/User/Page.aspx?action=show%20prop&prop_id=82742

можно встретить довольно редко. Теперь они заменены более простым и чистым форматом:

/to-rent/chicago/2303-silver-street

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

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

5) Открытый исходный код

В отличие от предыдущих платформ веб-разработки от Microsoft, можно загрузить исходный код для ASP.NET MVC и даже изменить и скомпилировать собственную версию. Это имеет неоценимое значение, когда отладка касается системы компонентов, и необходимо зайти в код (и даже прочитать комментарии программистов-создателей). Это также полезно при создании коммерческих программ для того, чтобы оценить какие возможности существуют для дальнейшего развития или как действительно работают встроенные компоненты.

Исходя из вышеописанных критериев, был сделан выбор в пользу разработки серверной части с использованием технологии ASP.NET MVC.

В качестве IDE была выбрана Visual Studio 2012 – это интегрированная среда разработки Microsoft (IDE), являющейся самой функциональной IDE для разработки на платформе.NET.

Для модульного тестирования была выбрана встроенная поддержка в Visual Studio 2012 так как в настоящий момент функциональность встроенной поддержки ничуть не хуже чем у конкурентов, а тесная интеграция с IDE ставит её на первое место.

1.2.2. Анализ существующих баз данных

1.2.2.1. Сравнение СУБД

В настоящее время существуют различные системы управления базами данных (СУБД). К таковым относят: MS SQL, MySQL, MS Access, Oracle. Для выбора оптимальной базы данных для разрабатываемого приложения проведем их сравнение по следующим пунктам (табл. 2):

Табл. 1 – Сравнение существующих СУБД

Критерии

MS SQL

MySQL

MS Access

Oracle

Размер БД

до нескольких гигабайт

до нескольких гигабайт

до сотни мегабайт

до нескольких гигабайт

Количество одновременных пользователей

до тысячи пользователей

несколько десятков пользователей

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

до тысячи пользователей

Цена БД

дорогие сервера

бесплатно

бесплатно

дорогие сервера

Платформы

Windows

Windows, Linux

Windows

Windows, Linux

Тип программы

мощный веб-сервер

малый веб-сервер

локальная утилита

сложная система

Защита данных

хорошая

хорошая

слабая

Хорошая

Возможности БД

высокие

низкие

низкие

Высокие

Способ доступа

OLE DB, ADO

DBExpress

OLE DB, ADO

OLE DB, ADO

Администрирование

сложные настройки

первоначальная настройка

минимальные сложности

сложные настройки

1.2.2.2. Обоснование выбора СУБД Access

Приложение Microsoft Access является мощной и высокопроизводительной системой управления реляционной базой данных.

Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase. Работая в среде Microsoft Office, пользователь получает в свое распоряжение полностью совместимые с Access текстовые документы(Word), электронные таблицы(Excel), презентации(PowerPoint).С помощью новых расширений для Internet можно напрямую взаимодействовать с данными из World Wide Web и транслировать представление данных на языке HTML, обеспечивая работу с такими приложениями как Internet Explorer и Netscape Navigator.

Преимущества:

простой графический интерфейс

хранение всех данных в одном файле

распространенность, которая обусловлена тем, что Access является продуктом компании Microsoft,

полностью совместима с ОС Windows,

широкие возможности по импорту/экспорту данных в различные форматы

наличие развитых встроенных средств разработки приложений.

Также для реализации системы аутентификации пользователей была использована СУБД MS SQL Server, потому что она соответствует ряду следующих параметров:

высокий размер БД

поддержка многопользовательского режима

полная совместимость с ОС Windows

хорошая защита данных

1.3. Анализ аналогичных программных продуктов

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

1.3.1. Продукция компании «Ника-Софт»

Основной программный продукт компании «Ника-Софт» – это программа составления расписания занятий в учреждениях начального и среднего профессионального образования "НИКА-Колледж".

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

«НИКА-ИК» позволяет отображать расписание занятий на сайте учебного заведения или на сенсорных дисплеях терминалов - информационных киосков. Терминалы для программ поставляются компанией ИТ-Инновации.

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

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

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

Однако программный продукт «Ника-ИК», несмотря на очевидные преимущества, имеет существенный недостаток для небольших вузов – необходимость наличия основного дорогостоящего программного обеспечения для работы с модулем.

1.3.2. Продукция программного центра «Помощь образованию»

Одним из программных продуктов компании «Помощь образованию» является «Экспресс-расписание». Эта разработка компании может выполнять ряд следующих функций:

Автоматическое составление основного расписания с возможностью корректировки.

Ведение ежедневных изменений расписания с заменой занятий, преподавателей, аудиторий.

Учет выполнения нагрузки, планирование выполнения нагрузки.

Распечатка расписания дня, табеля и другой отчетности.

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

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

Однако продукция программного центра «Помощь в образовании» имеет существенный недостаток – функциональная ограниченность определенных версий продуктов и невозможность расширения системы из-за программных ограничений.

Вывод

Изучив аналогичные программные продукты, разработанные для формирования расписания ВУЗов можно выделить 3 основных типа приложений: приложения для одного рабочего компьютера, приложения для группы рабочих компьютеров и web-приложения.

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

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

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

2. Проектно-конструкторская часть

2.1. Проектирование базы данных

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

Для реализации модуля авторизации и работы с данными была создан класс LogOnModel.

Класс состоит из следующих полей:

Поле UserName - содержит имя пользователя

Поле Password – содержит пароль пользователя

Поле RememberMe – содержит данные о том, выбрал ли пользователь сохранение своих данных в cookie-файлы.

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

Поле UserName - содержит имя пользователя

Поле Email – содержит электронную почту пользователя

Поле Password – содержит пароль пользователя

Поле ConfirmPassword – содержит повторно введенный пароль пользователем.

Для создания базы данных использовался SimpleMembershipProvider. Класс SimpleMembershipProvider позволяет упростить работу с пользователями и ролями, обладая большей гибкостью и расширяемостью по сравнению с традиционным провайдером членства.

В результате было сформировано 4 таблицы: Users, Roles, UsersInRoles, Memberships.

Таблица Users является главной таблицей, которая состоит из следующих полей:

Поле UserId – первичный ключ таблицы

Поле UserName – содержит имя пользователя

Поле IsAnonymous – содержит данные о том, выбрал ли пользователь сохранение своих данных в cookie-файл

Поле LastActivityDate – содержит последнюю дату входа пользователя в систему.

Таблица Roles хранит данные о приоритетах пользователей системы. Она состоит из следующих полей:

Поле RoleId – первичный ключ таблицы

Поле RoleName – содержит название приоритета пользователя

Поле Description – содержит описание приоритета пользователя.

Таблица UsersInRoles является вспомогательной таблицей. Она необходима для связи пользователя с его ролью. Таблица состоит из 2-х полей:

Поле UserId – внешний ключ таблицы Users

Поле RoleId – внешний ключ таблицы Roles

Таблица Memberships содержит данные о пользователях, а также системные данные, которые будут полезны при администрировании пользователей. Структура таблицы имеет следующий вид:

Поле UserId – внешний ключ таблицы Users

Поле Password – содержит данные о пароле пользователя

Поле Email – содержит данные об электронной почте пользователя

Поле PasswordQuestion – содержит вопрос в случае утери пароля, на который должен ответить пользователь (по умолчанию null)

Поле PasswordAnswer – содержит ответ на вопрос в случае утери пароля (по умолчанию null)

Поле IsApproved – содержит данные о разрешенном/запрещенном доступе пользователя к системе (по умолчанию равно 1)

Поле CreateDate – содержит дату регистрации пользователя в системе.

Для наглядности представления базы данных была разработана ER-диаграмма (рис. 2).

Рис. 2 – ER – диаграмма базы данных

2.2. Разработка сценария диалога

Сценарий диалога программы – последовательность ввода и вывода информации в диалоговом режиме работы программы. Сценарий диалога – это определение всех возможных состояний программы и путей перехода из одного состояния в другое (за один или несколько шагов). Развитие диалога во времени можно рассматривать, как последовательность переходов системы из одного состояния в другое. Ни одно из них не должно быть «тупиковым», т.е. пользователь должен иметь возможность перейти из любого текущего состояния диалога в требуемое.

Цели разработки сценария:

выявление и устранение возможных «тупиковых» ситуаций;

выбор рациональных путей перехода из одного состояния в другое (из текущего в требуемое);

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

Схема диалога программы представлена на рис. 3, 4.

Рис. 3 – Схема диалога программы

Рис. 4 – Продолжение схемы диалога программы

2.3. Разработка алгоритма работы приложения

Алгоритм – понятная и точная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное. В рамках данной квалификационной работы будет разработан алгоритм работы приложения (рис. 5, 6, 7).

Рис. 5 – Блок-схема алгоритма приложения

Описание работы блок-схемы:

1 – начало работы

2 – отображение главной страницы приложения

3 – проверка авторизации пользователя в приложении

4, 5 – отображение ссылки перехода и переход на страницу формирования расписания при авторизации пользователя

6, 7 – формирование списка факультетов

8 – проверка на выбор пользователем элемента из списка факультетов

9, 10 – формирование списка кафедр

11 – проверка на выбор пользователем элемента из списка кафедр

12 – отображение ссылок регистрации/авторизации на главной странице у неавторизованного пользователя

13 – проверка на выбор пользователем ссылки для регистрации

14 – заполнение пользователем формы своими регистрационными данными

15 – проверка приложения на заполнение всех полей формы регистрации пользователем

16 – отправка данных, введенных пользователем на сервер

17 – проверка логина на уникальность

18, 19 – сообщение об ошибке пользователя

Рис. 6 – Блок-схема алгоритма приложения

Описание работы блок-схемы:

20 – проверка количества символов в пароле

21 – проверка на совпадение двух паролей, введенных пользователем

22 – добавление пользователя в базу данных пользователей

23 – проверка приложение на успешную операцию добавления пользователя

24 – сообщение пользователю о малой длине пароля (меньше 6 символов)

25 – сообщение о несовпадении паролей, введенных пользователем

26 – сообщение о повторяющемся логине пользователя

27 – проверка на выбор пользователем ссылки для авторизации

28 – ввод пользователя логина и пароля в поля формы авторизации

29 – проверка на заполнение всех полей формы авторизации

30 – проверка на авторизацию пользователя

31, 32 – сообщения об ошибках

Рис. 7 – Блок-схема алгоритма приложения

Описание работы блок-схемы:

33 – чтение групп из БД для формирования списка

34 – формирование списка групп данными из БД

35 – проверка на выбор пользователем элемента списка

36 – запрос к БД для чтения расписания группы

37 – html-страница с отображением расписания выбранной группы

38 – конец работы

2.4. Описание работы модулей программы

2.4.1. Модуль выведения списка факультетов

Данный модуль предназначен для отображения списка всех факультетов КФ МГТУ им. Н.Э. Баумана. Разрабатываемый модуль представлен в блоках 6 и 7 блок-схемы алгоритма работы приложения (рис. 5). Листинг будет представлен ниже (рис. 8).

Рис. 8 – Модуль чтения факультетов из базы данных

Сначала с помощью класса OleDbConnection происходит создание объекта соединения с базой данных расписания TimeTable.mdb. С помощью класса OleDbCommand создается объект, который позволит с помощью SQL-запросов производить выборку значений из базы данных. Для чтения данных используется объект класса OleDbDataReader, который позволяет построчно считывать значения произведенной выборки. Чтение производится в строго типизированную коллекцию типа Faculty (рис. 9). Передача данных осуществляется с помощью динамической коллекции ViewBag.

Рис. 9 – Класс типа Faculty для чтения факультетов из БД

Для отображения на html-странице списка факультетов происходит динамического формирование списка при помощи html-тегов (рис. 10).

Рис. 10 – Отображение списка факультетов на html-странице

2.4.2. Модуль отображения списка кафедр

Разрабатываемый модуль предназначен для отображения списка кафедр на html-странице. Разница с предыдущим модулем заключается в том, что в этом случае необходима выборка с условием из базы данных. Данный модуль представлен в блоках 9 и 10 блок-схемы алгоритма работы приложения (рис. 5). Для передачи выбранного факультета используется ajax-запрос, который передает номер выбранного факультета в контроллер (рис. 11).

Рис. 11 – Ajax-запрос на передачу номера выбранного факультета

С помощью функции val() происходит чтение выбранного элемента. Затем осуществляется post-запрос с помощью ajax, в котором методу контроллера GetKafedra передается выбранный элемент списка (рис. 12).

Рис. 12 – Структура метода контроллера GetKafedra

На рис. 12 вначале происходит чтение всех кафедр из базы данных. Затем при помощи переданного значения элемента производится выборка из коллекции, которая затем передается в функцию success ajax-запроса (рис. 11). Функция success вызывается в случае удачной передачи данных контроллеру. В ней при помощи html-тегов и функции append происходит динамическое формирование списка кафедр. Функция append – функция библиотеки JQuery, которая добавляет содержимое строки в конец элемента. Модуль формирования списка групп использует алгоритм, который был рассмотрен выше, поэтому в его рассмотрении нет необходимости.

2.4.3. Модуль выведения расписания выбранной группы

Данный модуль предназначен для отображения расписания выбранной группы. Он используется в блоках 36, 37 в блок-схеме работы алгоритма приложения (рис. 7). Для начала необходимо передать выбранный элемент списка группы. Реализуется это с помощью ajax-запроса (рис. 13).

Рис. 13 – Передача выбранного элемента из списка групп

Затем происходит чтение таблиц базы данных, необходимых для отображения расписания группы. Для отображения названия предметов происходит чтение таблицы Предметы (рис. 14).

Рис. 14 – Чтение таблицы Предметы

Для отображения типа проводимых занятий необходимо прочитать значения таблицы Тип (рис. 15).

Рис. 15 – Чтение таблицы Тип

Для отображения потока, у которого будут проводиться занятия, необходимо прочитать значения таблицы Предмет+поток (рис. 16).

Рис. 16 – Чтение таблицы Предмет+поток

Для формирования корпусов, в которых проводятся занятия, необходимо считать значения из таблиц Аудитории, Корпуса и Расписание (рис. 17).

Рис. 17 – Чтение корпусов из базы данных

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

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

Рис. 18 – Формирование расписания выбранной группы

2.5. Моделирование функционирования программного обеспечения с применением сетей Петри

С помощью сетей Петри можно моделировать следующее:

программное и аппаратное обеспечение ЭВМ;

физические и социальные явления.

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

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

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

В рамках квалификационной работы будет смоделирован алгоритм запросов к базе данных, который представлен на рис. 19, 20.

Рис. 19 – Блок-схема алгоритма запросов к БД

Рис. 20 – Алгоритм функции сортировки полей БД

В результате моделирования получена Сеть Петри, которая представлена на листе А1.

3. Эксплуатационно-технологическая часть

3.1. Разработка руководства пользователя

При захождении пользователя на сайт он попадает на главную страницу сайта. Если пользователь заходит на сайт впервые, то на главной странице появляются ссылки для регистрации и авторизации пользователя (рис. 21).

Рис. 21 – Главная страница сайта

Если пользователь уже был авторизован и не вышел из своей учетной записи, то главная страница сайта будет выглядеть иначе. На главной странице будет отображена ссылка для перехода к отображению расписания (рис. 22).

Рис. 22 – Главная страница при авторизованном пользователе

Если пользователь не зарегистрирован, то на главной странице приложения (рис. 21) ему нужно нажать на ссылку Регистрация. Тогда он перейдет на страницу регистрации пользователей (рис. 23).

Рис. 23 – Страница регистрации пользователей

После заполнения всех соответствующих полей пользователь должен нажать на кнопку «Зарегистрировать». Если регистрация прошла успешно, то пользователь будет перенаправлен на главную страницу сайта (рис. 21).

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

Если пользователь не ввел логин, то справа от текстового поля логина будет высвечена ошибка о необходимости заполнения поля логина (рис. 24).

Рис. 24 – Ошибка при незаполнении поля Логин

Если пользователь не ввел электронную почту, то ошибка, отображаемая на странице, будет следующей (рис. 25).

Рис. 25 – Ошибка при пропуске поля Пароль

Если пользователь забудет ввести пароль, то приложение выдаст ошибки о необходимости ввода пароля и несовпадении паролей (рис. 26).

Рис. 26 – Ошибка при пропуске поля Пароль

При регистрации пользователя для пароля предусмотрены 2 поля. В первое и второе поле пользователю нужно ввести одинаковые пароли. При несовпадении паролей приложение выдаст следующую ошибку (рис. 27).

Рис. 27 – Ошибка при несовпадении паролей

Также в приложении предусмотрена функция проверки уникальности вводимого логина при регистрации пользователя. Если на сайте уже зарегистрирован пользователь с таким логином, то будет выдана ошибка (рис. 28).

Рис. 28 – Ошибка при вводе неуникального логина

Для авторизации пользователя на сайте ему необходимо на главной странице (рис. 21) нажать на ссылку «Авторизация». После этого откроется страница авторизации пользователей (рис. 29).

Рис. 29 – Страница авторизации пользователей

При нажатии на кнопку «Войти» без предварительно заполненных полей приложении выдаст ошибку пользователю (рис. 30).

Рис. 30 – Ошибка о незаполненных полях при авторизации

Также возможны ошибки, если пользователь не заполнит поле «Логин» (рис. 31) или поле «Пароль» (рис. 32).

Рис. 31 – Ошибка при незаполненном поле Пароль

Рис. 32 – Ошибка при незаполненном поле Логин

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

Рис. 33 – Страница с отображением списка факультетов

Затем после выбора факультетов на странице динамически формируется список кафедр (рис. 34).

Рис. 34 – Страница с отображением списка кафедр

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

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

Рис. 35 – Страница с отображением списка групп

После выбора групп на странице появляется кнопка для формирования расписания (рис. 36).

Рис. 36 – Страница с окончательным выбором всех условий

При нажатии на кнопку «Вывести расписание» пользователь переходит на страницу отображения расписания (рис. 37).

Рис. 37 – Страница с отображением расписания

← Предыдущая
Страница 1
Следующая →

Скачать

записка.docx

записка.docx
Размер: 1.4 Мб

Бесплатно Скачать

Пожаловаться на материал

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

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

Общая характеристика платформы .NET, версии, инфраструктура платформы

Основой платформы .NET является общеязыковая среда исполнения (Common Language Runtime, CLR). CLR работает как «прослойка» между операционной системой и программой для платформы .NET.

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

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА на тему: «Информационные ресурсы и их использование в сфере гостиничного сервиса»

Патофизиология ВНД

Расстройства ВНД ведут к нарушениям психических функций. Механизмы возникновения патологии ВНД. Информационная патология ВНД

Рыночная экономика

Финансовый рынок, акции. Дивиденды, облигации, управление ценными бумагами. Фондовая биржа

Спортивна медицина

Спортсмени високого класу, професіонали, внаслідок перевантажень досить часто потерпають від дегенеративно-дистрофічних захворювань суглобів, хребта, сухожилків, а також від синдромів перевантаження (періартроз променево-зап\'яскового, плечового, ліктьового суглобів, синдром тарзального каналу, синдром ротаторного кільця плечового суглоба тощо).

Сохранить?

Пропустить...

Введите код

Ok