Электронный дневник студента СПО

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.05.2015
Размер файла 682,0 K

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

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

Размещено на http://www.allbest.ru/

минобрнауки россии

федеральное Государственное бюджетное образовательное

учреждение высшего профессионального образования

«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СЕРВИСА»

(ФГБОУ ВПО «ПВГУС»)

Кафедра «Информационный и электронный сервис»

КУРСОВАЯ РАБОТА

по дисциплине «Технология программирования»

Тема: « Электронный дневник студента СПО »

Выполнил студент

Группы: СПКС-401

Красильников Денис

Проверила: Данилова М.С.

Тольятти 2014

Оглавление

Введение

1. Описание и анализ предметной области

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

1.2 Техническое задание

1.2.1 Общие положения

1.2.2 Эксплуатационное назначение

1.2.3 Функциональное назначение

1.2.4 Термины и определения

1.2.5 Типы данных и валидаторы

1.2.6 Функциональные характеристики

1.2.7 Страницы

1.2.8 Страницы панели администрирования

1.2.9 Наполнение сайта

1.2.10 Требования к хостингу

1.2.11 Требования к надежности

1.2.12 Условия сдачи и приемки

2. Выбор инструментов для программирования

2.1 Выбор языка программирования

2.1.1 ASP

2.1.2 PHP

2.1.3 Анализ сравнения и выбор подхода

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

2.3 Дополнительные средства для разработки

3. Фреймворк

3.1 Логическая модель

3.2 Физическая модель

4.1 Принципиальные различия между платформами.

4.2 Технологии используемые при реализации

4.3 Версия web-интерфейса для персонального компьютера

4.4 Версия web-интерфейса для планшетов мобильных устройств

Заключение

Список литературы

Введение

Цель данной курсовой работы является разработка электронного дневника студента СПО.

Из данной цели вытекают следующие задачи:

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

· Обеспечить преподавателям возможность предоставления информации об успеваемости

· Обеспечить студентам самостоятельный контроль своей успеваемости в течении семестра.

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

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

Во втором разделе рассмотрим языки программирования, языки запросов к базе данных и общие материалы, необходимые для создания проекта.

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

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

1. Описание и анализ предметной области

Данный курсовой проект довольно сложно описать в одном пункте, уместно разбиение на два подпункта:

· Анализ предметной области - подразумевает описание требований, которые ставятся теми, кто собирается пользоваться этим проектом в дальнейшем.

· Техническое задание - подразумевает сформулированное четкое задание, исходя из вышестоящих требований, которое конкретно описывает все моменты проекта.

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

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

· Кабинет студента - он же предназначен для семьи студента. В нем представлена информация о посещаемости, баллах, задолжностях. Иметь доступ к заданиям лабораторных и практических работ.

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

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

1.2Техническое задание

1.2.1 Общие положения

Необходимо создать сайт для образовательного учреждения ПВГУС.

1. Сфера деятельности учреждения

· Образовательное учреждение. Обучение студентов.

2. Целевая аудитория

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

1.2.2 Эксплуатационное назначение

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

1.2.3 Функциональное назначение

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

1.2.4 Термины и определения

1. Образовательное учреждение

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

2. Студент

· Лицо обучающееся в образовательном учреждении.

3. Группа

· Группа студентов.

4. Преподаватель

· Лицо работающее в образовательном учреждении и обучающее студентов.

5. Предмет

· Учебная дисциплина преподаваемая студентам в образовательном учреждении.

6. Родитель

· Родитель(и) студента.

7. Пара

· Одно занятие по предмету.

1.2.5 Типы данных и валидаторы

Типы данных

Преподаватель

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

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

fio

Строка

Обязательное, Уникальное

ФИО Преподавателя.

login

Строка

Обязательное, Уникальное

Имя пользователя для входа в систему.

password

Строка

Обязательное

Пароль для входа в систему. Шифруется md5.

Группа

Группа студентов учебного заведения.

Название

Тип

Валидатор

Описание

id

Целое

Уникальное, Обязательное

Идентификатор.

name

Строка

Обязательное, Уникальное

Имя группы.

Студент

Студент обучающийся в учебном заведении.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

fio

Строка

Обязательное, Уникальное

ФИО студента.

groupId

Целое

Обязательное

Идентификатор группы, в которой обучается студент.

Предмет

Предмет преподаваемый в учебном заведении.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

name

Строка

Обязательное, Уникальное

Название предмета.

Отношение группа-предмет-преподаватель

Определяет какие предметы преподаются группам.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

groupId

Целое

Обязательное

Идентификатор группы.

subjectId

Целое

Обязательное

Идентификатор предмета.

teacherId

Целое

Обязательное

Идентификатор преподавателя.

Отношение преподаватель-предмет

Определяет какие предметы читают преподаватели.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

teacherId

Целое

Обязательное

Идентификатор преподавателя.

subjectId

Целое

Обязательное

Идентификатор предмета.

Столбец журнала

Определяет столбцы в журнале.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

subjectId

Целое

Обязательное

Идентификатор предмета.

groupId

Целое

Обязательное

Идентификатор группы.

date

Timestamp

Обязательное

Дата.

Ячейка журнала

Все отметки студентов.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

columnId

Целое

Обязательное

Идентификатор столбца.

studentId

Целое

Обязательное

Идентификатор студента.

mark

Строка

Обязательное

Отметка.

Родитель

Родитель(и) студента.

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

login

Строка

Обязательное

Имя пользователя для входа в систему.

password

Строка

Обязательное

Пароль для входа в систему. Шифруется md5.

studentId

Целое

Обязательное

Идентификатор студента.

Лабораторная работа

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

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

name

Строка

Обязательное

Название лабораторной.

groupId

Целое

Обязательное

Идентификатор группы.

subjectId

Целое

Обязательное

Идентификатор предмета.

type

Строка

Обязательное

Тип. Практическая/лабораторная/контрольная и т.д.

date

Timestamp

Обязательное

Дата.

Отметки о лабораторных работах

Название

Тип

Валидатор

Описание

id

Целое

Обязательное, Уникальное

Идентификатор.

labId

Целое

Обязательное

Идентификатор практической/лабораторной работы.

studentId

Целое

Обязательное

Идентификатор студента.

mark

Строка

Обязательное

Отметка.

Валидаторы

Обязательное

Поле обязательно должно быть заполнено

В случае некорректного заполнения, пользователю необходимо сообщить об ошибке показав сообщение: Поле обязательно должно быть заполнено!

Уникальное

Запись не должна повторяться

Сообщение об ошибке:: Запись с таким значением уже существует

1.2.6 Функциональные характеристики

Каждый преподаватель ведет определенный предмет у определенной группы. У преподавателя может быть много предметов и много групп.

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

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

Родитель(и) студента должны иметь возможность отслеживать эту информацию.

Взаимодействие родителей с сайтом

При переходе на страницу “Вход для родителей”, пользователю предлагается войти в систему используя свой логин и пароль. Для каждого родителя создается логин и пароль, и привязывается к студенту.

После входа в систему, пользователю предлагается на выбор 2 варианта отображения:

по предметам;

по датам.

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

1. Посещаемость и успеваемость

· в первой строке выводятся даты проведения пар;

· во второй строке выводятся отметка о посещении (+ - был, н - не был) или количество баллов заработанных за пару;

2. Лабораторные и практические

· в первом столбце выводятся названия лабораторных;

· во втором столбце выводятся отметки о сдаче.

При выборе отображения “по дням” пользователю выводится форма с выбором даты.
После выбора даты посредством ajax выводятся отметки за выбранный день(дни) в виде таблицы:

в первом столбце выводится дата;

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

в третьем столбце выводится отметка о посещении (+ - был, н - не был).

Взаимодействие преподавателей с сайтом.

При переходе на страницу “Вход для родителей”, пользователю предлагается войти в систему используя свой логин и пароль.

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

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

После чего преподавателю необходимо перейти к редактированию посещаемости или к редактированию лабораторных.

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

Взаимодействие администратора с сайтом.

Администратор должен иметь следующие возможности:

Добавление группы

Удаление группы

Добавление студентов в группу

Редактирование студентов

Удаление студентов

Добавление предметов, преподающихся группе

Удаление предметов, преподающихся группе

Добавление предметов в список предметов

Редактирование списка предметов

Удаление предметов из списка предметов

Добавление родителей

Редактирование родителей

Удаление родителей

Добавление преподавателей

Редактирование преподавателей

Удаление преподавателей

1.2.7 Страницы

1. Главная

· Приветствие. Краткий рассказ о системе.

· Заголовок страницы: Главная

2. Помощь

· Подробное руководство пользователя.

· Заголовок страницы: Помощь

3. Вход для родителей

· Форма входа для родителей.

· Заголовок страницы: Вход для родителей

4. Выбор отображения

· Предложение выбрать форму вывода дневника: по предметам или по дням.

· Заголовок страницы: Выбор отображения

5. По предметам

· Отображается меню со списком предметов.

· Заголовок страницы: По предметам

6. Посещаемость и успеваемость

· Вывод журнала по выбранному предмету.

· Заголовок страницы: Посещаемость и успеваемость

7. По дням

· Вывод журнала по датам. Родитель выбирает дату. Посредством ajax выводится информация.

· Заголовок страницы: По дням

8. Вход для преподавателей

· Форма входа для преподавателей.

· Заголовок страницы: Вход для преподавателей

9. Выбор предмета

· Выбор предмета из числа тех, что ведет преподаватель.

· Заголовок страницы: Выбор предмета

10. Выбор группы

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

· Заголовок страницы: Выбор группы

11. Посещаемость и баллы

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

· Заголовок страницы: Посещаемость и баллы

12. Практические и лабораторные

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

· Заголовок страницы: Практические и лабораторные

1.2.8 Страницы панели администрирования

1. Вход в панель администрирования

· Заголовок страницы: Вход в панель администрирования

2. Добавление/удаление группы

· Заголовок страницы: Добавление и удаление групп

3. Редактирование группы

· Заголовок страницы: Редактирование группы

4. Добавление/редактирование/удаление студентов

· Заголовок страницы: Управление студентами

5. Добавление/удаление предметов для группы

· Заголовок страницы: Управление предметами группы

6. Добавление/редактирование/удаление предметов

· Заголовок страницы: Управление предметами

7. Добавление/редактирование/удаление родителей

· Заголовок страницы: Управление родителями

8. Добавление/редактирование/удаление преподавателей

· Заголовок страницы: Управление преподавателями

1.2.9 Наполнение сайта

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

1.2.10 Требования к хостингу

Минимальная конфигурация хостинга необходимая для функционирования сайта следующая:

Хостинг с PHP5 и установленным модулем Rewrite

База данных MySQL версии 5 и выше

Наличие зарегистрированного и корректно настроенного домена

1.2.11 Требования к надежности

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

Сайт должен предусматривать базовую защиту от основных видов атак: межсайтового скриптинга (XSS), SQL-инъекций, CSRF-уязвимостей.

1.2.12 Условия сдачи и приемки

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

2. Выбор инструментов для программирования

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

2.1 Выбор языка программирования

Рассмотрим два самых ныне популярных подхода, для разработки web-проектов, ASP и PHP. Не смотря на то, что PHP считается устаревшим, он остается быть самым популярным языком программирования сайтов.

По своим возможностям, ASP.NET и PHP, идут довольно вровень, поэтому мы не будем описывать их подробно.

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

2.1.1 ASP

ASP (англ. Active Server Pages -- «активные серверные страницы») -- технология, предложенная компанией Microsoft в 1996 году для создания Web-приложений. Эта технология основана на внедрении в обыкновенные веб-страницы специальных элементов управления, допускающих программное управление.

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

ASP.NET -- технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 4.5.

ASP.NET в отличии от старой версии, получила расширения:

· ASP.NET AJAX

· ASP.NET MVC Framework

Использование технологии ASP платное. Мы не располагаем средствами для её использования.

2.1.2 PHP

PHP (англ. PHP: Hypertext Preprocessor -- «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools -- «Инструменты для создания персональных веб-страниц»; произносится пи-эйч-пи) -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.

2.1.3 Анализ сравнения и выбор подхода

Для проекта выбран язык PHP.

При сравнении, можно сказать, что php - скриптовый, а asp .net - компилируемый.

На ASP.NET можно писать на любом .net-совместимом языке #, также благодаря большому выбору шаблонов и своей модульностью много чего готового есть . Технология основана на модели COM (COM - Component Object Model), т.е. работать вы будете с объектами и компонентами.

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

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

PHP имеет возможность взаимодействия с большим количеством различных систем управления базами данных: MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO;

Все СУБД описывать не будем, а опишем только выбранную для проекта MySQL.

MySQL -- свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

2.3 Дополнительные средства для разработки

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

Denwer - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») -- проект Дмитрия Котерова, локальный сервер (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера -- удобство при удаленной работе сразу над несколькими независимыми проектами.

HTML (от англ. HyperText Markup Language -- «язык гипертекстовой разметки»;) -- стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме.

CSS (англ. Cascading Style Sheets -- каскадные таблицы стилей) -- формальный язык описания внешнего вида документа, написанного с использованием языка разметки.

JavaScript -- прототипно-ориентированный сценарный язык программирования.

3. Разработка структуры программы с использованием саsе-средств

3.1 Логическая модель

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

User - любой посетитель сайта. Имеет возможность «Получить главную страницу» и «Получить информацию о работе с системой».

Guest - гость сайта. У него нету аккаунта доступа, поэтому он имеет только общие возможности: «Получить главную страницу» и «Получить информацию о работе с системой».

Registered User - зарегистрированный пользователь системы. Зарегистрированный пользователь может относить к одному из трех типов с различными уровнями доступа к данным системы: “Teacher”, “Student” или “Administrator”.

Administrator - пользователь с правами администратора системы. Имеет основные права доступа в эту систему, а именно: «Добавлять, удалять и изменять студентов», «Добавлять, удалять и изменять группы», «Добавлять, удалять, изменять преподавателей», «Добавлять, удалять и изменять предметы». Администратор отвечает за наличие в системе всех групп студентов, наличие каждого студента в соответствующей ему группе. Также следит за списком преподавателей и соответствующим им предметам, которые они преподают.

Teacher - пользователь с правами преподавателя, который в свою очередь, является преподавателем в университете. В соответствии с действиями Администратора, Преподаватель может «Получить список групп и предметов». В дальнейшей работе с системой, Преподаватель имеет возможности: «Посмотреть и изменить отметки», «Посмотреть и изменить практические и лабораторные работы» и «Посмотреть и изменить темы курсовой».

Student - пользователь с правами студента, непосредственно студент и его родители. В этом пользователе и заключается всю суть данной системы. Студент имеет возможность зайти и сразу «Просмотреть отметки». Причем под этим мы имеем в виду: «Посмотреть тему курсовой», наличие фильтра для того, чтобы «посмотреть отметки по дням» или же «посмотреть отметки по предметам». Также имеется возможность «Просмотреть отметки о практических, лабораторных и т.д.», и, разумеется «Загрузить задания».

Рассмотрим, что же имеется ввиду под каждым действием.

Получить главную страницу - выводится стартовая страница проекта.

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

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

Рассмотрим возможности «Administrator»:

· Добавлять, удалять и изменять студентов - вносить в базу данных системы информацию о студентах университета, изменять её, и удалять.

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

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

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

Рассмотрим возможности «Teacher»:

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

o Просмотреть и изменить отметки - выбирается определенная группа студентов, и по определенному предмету преподаватель заполняет посещаемость, в случае если студент заработал на занятие какие-либо баллы, в графу отметки посещаемости вводится количество баллов, заработанные студентом.

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

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

Рассмотрим возможности «Student»:

· Просмотреть отметки - студент или его родители получают возможность просмотра успеваемости конкретного студента. А именно:

o Просмотреть тему курсовой - в случае если по выбранному предмету есть курсовая работа и преподаватель написал тему для выбранного студента, то её будет видно.

o Просмотреть отметки по дням - вывод информации о посещаемости, в том порядке, как это происходило в реальном времени, с реальным расписанием занятий.

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

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

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

3.2 Физическая модель

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

Рассмотрим классы, которые в целом описывают систему MVC, на основе которой созданная вся наша система. Model-view-controller (MVC, «модель-представление-поведение», «модель-представление-контроллер», «модель-вид-контроллер») -- схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области.

Main - основной класс работы MVC, он соединяет и управляет всеми системами ресурса:

· Model

· Views

· Controllers

· db

Методы Main:

· Init() - инициализация переменных.

· Start() - старт обработчика страницы.

Класс Main агрегирован с соответствующими классами:

Models - класс для работы с моделями данных. Имеет методы:

· loadModel(String $name) - загружает класс. создает объект. кидает в массив loadedModels с ключом = название модели.

· getModel(String $name):Model - возвращает объект модели.

Views - класс шаблонов пользовательского интерфейса. Имеет методы:

· loadView($data):String - подгружает шаблон интерфейса

Controllers - класс управляющей логикой проекта

· loadController(String $name):Controller - подгрузка необходимой логики

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

Model - класс отвечающий за соединение в базой данных.

Работает с Объектами:

· db - база данных

· sdb - система управления базой данных

Имеет метод:

· construct($db) - берет всю необходимую информацию из базы данных,также вносит необходимые изменения

Так как мы рассматриваем соединение наследованием, дальнейшие классами будем записывать через знак « / », для указания наследования.

Model/User - класс описывающий пользователей, электронным дневником.

Объекты класса:

· accessLevel - уровень доступа пользователя.

· userInfo - информация о пользователе.

Методы класса:

· getAccessLevel - использовать данные уровня доступа.

· getName - использовать имя пользователя.

· getId - использовать уникальный идентификатор пользователя.

· checkAccess - проверить аккаунт.

· addUser - добавить пользователя.

· editUser - редактирвоать пользователя.

· removeUser - переместить пользователя.

Model/Group - класс описывающий группы студентов.

Объекты класса:

· GroupInfo - информация о группе.

Методы класса:

· loadGroup - загрузка группы.

· getId - использвоание уникального идентификатора группы.

· getName - использовать имя группы.

· getStudents - использовать информацию о студентах.

· getSubjects - использовать информацию о предметах.

· removeSubjects - перенос предметов.

· addStudents - добавить студентов.

· removeStudents - перенос студентов.

· addGroup - добавление групп.

· editGroup - редактирвоание групп.

· removeGroup - перенос групп.

Model/Subject - класс описывающий предметы.

Методы класса:

· addSubject - добавление пердметов.

· removeSubject - перенос предметов.

Model/User/Teacher - класс описывающий преподавателей.

Методы класса:

· getSubject - использование предметов.

· getGroupSubject - использование групп предметов.

Model/User/Student - класс описывающий студентов.

Методы класса:

· getGroupId - использование уникального идентификатора группы.

Model/User/Administrator - класс описывающий администратора.

Методы класса:

· addSubject - добавить предмет.

· editSubject - редактировать предмет.

· removeSubject - перенести предмет.

· addUser - добавить пользователя.

· editUser - редактирование поьлзователя.

· removeUser - перенос пользователя.

· addGroup - добавление группы.

· editGroup - редактирвоание группы.

· removeGroup - перенос группы.

4. Разработка кроссплатформенного Web-интерфейса

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

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

Актуальность этого пункта заключается в том, что студенты, как привило молодые люди, возраст которых в пределах 16-28 лет, и им свойственно пользоваться последними версиями мобильных устройств связи и планшетами.

4.1 Принципиальные различия между платформами

сайт программирование хостинг управление

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

Рассмотрим различия списком:

· Размер монитора

· Возможности браузера

· Скорость соединения с интернетом

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

Возможности браузера - одно из самых ярких примеров, это работа js, в мобильных версиях браузеров. Сейчас существую подходы, позволяющие создавать красивые анимационные эффекты на мобильных устройствах, но несколько лет назад, об этом можно было только мечтать. Также не у всех на мобильных телефонах могут стоять последние версии браузеров с поддержкой последних версий языков, таких как HTML5, CSS3, что требует написание верстки на уже устаревающих версиях этих языков в погоде на кроссплатформенностью.

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

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

4.2 Технологии, используемые при реализации

Есть четыре различных подхода реализации верстки проектов, выбор подхода зависит от идеи дизайна и требований к проекту:

· Фиксированная верстка

· Резиновая верстка

· Адаптивная верстка

· Отзывчивая верстка

Рассмотрим примеры на двух элементах “#temnyi”, “#svetlyi”.

Фиксированная верстка - блоки не меняют свою ширину. На мониторах с маленьким разрешением появляется горизонтальная полоса прокрутки.

Метод реализации:

<style>

#temnyi, #svetlyi { width: 440px; }

</style>

Резиновая верстка - блоки меняют свою ширину в зависимости от размера окна браузера. Она может принимать максимальное и минимальное значение (свойство max-width). Но нельзя по мере уменьшения экрана из 50% сделать 100%.

Метод реализации:

<style>

#temnyi, #svetlyi { width: 50%; }

</style>

Адаптивная верстка - воплощается с помощью @Media или благодаря скриптам. Заточен под конкретные известные устройства (320, 768, 1024, т.д.). Любое изменение происходит рывками, после достижения одного из указанных уровней.

Метод реализации:

<style>

#temnyi, #svetlyi { width: 430px; }

@media (max-width: 1220px) {

#temnyi, #svetlyi { width: 380px; }

}

@media (max-width: 1120px) {

#temnyi, #svetlyi { width: 325px; }

}

@media (max-width: 680px) {

#temnyi, #svetlyi { width: 200px; }

}

</style>

Отзывчивая вёрстка - это объединение резиновой и адаптивной вёрстки.

Метод реализации:

<style>

#temnyi, #svetlyi { width: 50%; }

@media (max-width: 1006px) {

#temnyi, #svetlyi { width: 100%; }

}

</style>

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

4.3 Версия web-интерфейса для персонального компьютера

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

Несколько скриншотов:

Рис.1 Вход в дневник.

Рис.2 Успешный вход в дневник под преподавателем.

Рис.3 Проставление отметок.

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

4.4 Версия web-интерфейса для планшетов мобильных устройств

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

Заключение

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

В дальнейшем большая часть работы будет связана с разработкой интерфейса, дизайна дневника. Наложение на рабочий проект. Внедрение в официальный сайт ПВГУС.

Список литературы

1. Гудман, Д. JavaScript и DHTML. Сборник рецептов. / Д. Гудман. - Москва: Изд-во Питер, 2012. - 523 c.

2. Дебольт HTML и CSS. Совместное использование / Дебольт. - Москва: Изд-во НТ Пресс, 2012. - 512 c.

3. Молли, Э. Использование HTML 4. Специальное издание / Э. Молли. - Москва: Изд-во Вильямс, 2011. - 228 c.

4. Конверс, Т. PHP 5 и MySQL. Библия пользователя / Т. Конверс. - Москва: Изд-во Вильямс, 2013. - 306 c.

5. Кузнецов, М.В. PHP. Практика создания Web-сайтов / М.В. Кузнецов. - Москва: Изд-во БХВ-Петербург, 2013. - 190 c.

6. Стеймец, У. PHP. 75 готовых решений для вашего сайта / У. Стеймец. - СПб: Изд-во Наука и техника, 2013. - 256 c.

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


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

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

    курсовая работа [406,0 K], добавлен 24.12.2014

  • Разработка информационной системы административного управления. Выбор языка и среды программирования. Структура взаимодействия информации. Требования к программно-аппаратному окружению. Создание программы в Delphi и связывание ее с базой данных.

    курсовая работа [1010,9 K], добавлен 08.10.2015

  • Сравнительный анализ существующих разработок сайтов СМИ. Обзор двух продуктов компании FarbaSite CMS и Joomla CMS, которые содержат модуль "Электронный дневник". Проектирование и подключение базы данных. Выбор языка программирования клиентской части.

    дипломная работа [1,2 M], добавлен 21.05.2013

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

    отчет по практике [1,2 M], добавлен 08.10.2014

  • Разработка системы управления базой данных "Структура ВУЗа". Требования к программе: функциональным характеристикам, надежности, эксплуатации, составу и параметрам технических средств. Требования к программной документации. Порядок контроля и приемки.

    курсовая работа [982,7 K], добавлен 08.06.2015

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

    курсовая работа [3,7 M], добавлен 04.12.2014

  • Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".

    курсовая работа [93,0 K], добавлен 31.03.2010

  • Создание базы данных, построение на ее основе информационной системы в виде веб-сайта. Обоснование и выбор системы управления базой данных. Датологическое проектирование, разработка алгоритма решения задачи, создание форм. Результаты обработки данных.

    отчет по практике [904,1 K], добавлен 13.04.2015

  • Разработка и программная реализация сайта и базы данных, наполнение базы данных тестовой информацией о товарах. Инструментальные средства создания сайта. Организация тестирования сайта, модуль визуализации интерфейса. Создание запросов в базе данных SQL.

    курсовая работа [1,4 M], добавлен 24.12.2012

  • Анализ аналогов и выбор прототипа, разработка алгоритма и графического интерфейса, кодирование и тестирование. Логическая модель данных "Нотариальная контора". Особенности реализации в MS SQL. Требования к функциональным характеристикам базы данных.

    курсовая работа [1,3 M], добавлен 12.01.2013

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