Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Разработка системы

Читайте также:
  1. I. Создание «советской системы» в экономике
  2. I. Становление современной политической системы в Индии
  3. I. Формирование условий для ликвидации колониальной системы
  4. II. Развитие политической системы
  5. III. СИСТЕМЫ УБЕЖДЕНИЙ И ГЛУБИННЫЕ УБЕЖДЕНИЯ
  6. III. Системы убеждений и глубинные убеждения.
  7. V2: Экономические агенты, собственность и экономические интересы, экономические системы.

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

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

Для реализации задания были использованы средства языка HTML, CSS, PHP и MySQL.

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

Для создания динамической страницы к связке HTML/CSS применяется PHP, который может менять содержимое одной и той же станицы в зависимости от определенных условий - команд, скриптов и т. д.

Работа с PHP возможна в связке с Системой Управления Базами Данными (СУБД) MySQL, в которой хранятся таблицы, данные пользователей и другая информация, которая может быть вызвана и отображена на нашей страницы.

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

В процессе работы были использован набор дистрибутивов MAMP и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением Windows.

В рабочий дистрибутив входили средства:

- Веб-сервер Apache с поддержкой SSI, SSL, mod_rewrite, mod_php;

- Интерпретатор PHP с поддержкой GD, MySQL, SQLite;

- СУБД MySQL с поддержкой транзакций (mysqld-max);

- Система управления виртуальными хостами, основанная на шаблонах;

- Система управления запуском и завершением;

- Панель phpMyAdmin для администрирования СУБД;

- Ядро интерпретатора Perl без стандартных библиотек (поставляются отдельно);

- Эмулятор sendmail и сервера SMTP с поддержкой работы совместно с PHP, Perl, Parser и др.;

- Установщик.

Также в процессе разработки использовались программы Sublime Text, Mozila Firefox, Chrome DevTools и Photoshop.

 

3.1 Разработка базы данных

3.1.1 Создание ER-модели

Модель сущность-связь (ER-модель) (англ. entity-relationship model, ERM) — модель данных, позволяющая описывать концептуальные схемы предметной области.

 

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

Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных.

ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER-диаграмма) (англ. entity-relationship diagram, ERD).

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

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

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

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

На рисунке 3.1 представлена ER-модель разрабатываемой базы данных.

 

Рисунок 3.1 – ER-модель.

 

 

3.1.2 Выбор средств проектирования базы данных

Для того, что бы создать базу данных, необходимо воспользоваться заложенным в дистрибутив MAMP веб-приложением с открытым кодом, написанном на языке PHP и представляющем собой веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

PhpMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.

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

 

 

3.1.3 Разработка физической модели

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

Исходя из созданной ER-модели, были созданы таблицы «users», «doc» и «docuser», являющейся ассоциативной.

В таблицу «users» заносятся данные пользователя при регистрации. Ключевое поле id является автоинкриментом, т.е. значение этого поля при добавлении нового пользователя в базу данных устанавливается автоматически. Данные о «email»,«login», «password» передаются в базу данных методом «POST». Для усиления защиты пользовательских данных пароль в базе хранится в дважды зашифрованном формате md5. Структура представлена в таблице 1:(сделать название таблиц)

id int(3) Primary
email varchar(50)  
login varchar(30)  
password varchar(8)  

Таблица 1 - users

Таблица «doc» предназначенная для хранения данных о документе. Поле «doc_id» является первичным. Краткое описание находится в поле «title», а в «text» и «link» располагается «рабочая информация», то есть сама суть документа. Структура показана в таблице 2:

Таблица 2 - doc

doc_id int(3) Primary
title varchar(35)  
text text  
link varchar(100)  

 

Так как между таблицами «users» и «doc» установлена связь многие ко многим, то необходима ассоциативная таблица - «docuser». Предполагается, что один пользователь может добавлять много документов, а документы могут принадлежать многим пользователям, поэтому в таблице должна содержаться информация об id клиента и добавленном документе. Поэтому в таблицу «doc» все поля, кроме «du_id», являются вторичными, т. е. суррогатными. Структура представлена в таблице 3:

 

Таблица 3 - docuser

du_id int(3) Primary
doc_id int(3) FK
id int(3) FK

 

Вид физической модели базы данных представлен на рисунке 3.2:

Рисунок 3.2 – Физическая модель базы данных.

3.2 Создание регистрации на сайте

Регистрация на сайте является одним из важных компонентов для работы в информационной системы архива. Для того, что бы зарегистрировать пользователя, необходимо реализоваться с помощью HTML/CSS веб-страницу, а потом с помощью PHP передать данные на сервер или же изъять данные из базы данных. В коде PHP применяются SQL запросы к БД, которые соответственно и позволяют записывать и извлекать данные.

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

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

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

Рисунок 3.3 - Реализация двойной защиты sha1.

 

3.2.1 Отправка формы с данными

Для записи данных на сервер, введенные данные проходят несколько этапов проверки, реализованных на языках HTML и PHP.

Проверка данных на HTML заключается в том, что в спецификации тэга <input> предусмотрена проверка заполнения поля, причем для разных типов будет выведена своя ошибка. Проверка на HTML включается атрибутом <requied>, который по умолчанию отключен. На рисунках 3.3 и 3.4 представлена реализация атрибута для разных типов полей:

Рисунок 3.4 - атрибутом <requied> с <type=«email».

 

Рисунок 3.5 - атрибутом <requied> с <type=«text».

 

Тег <maxlength=«8»> ограничивает число вводимых знаков пароля. Это нужно для того, что бы пользовательские данные не занимали много места на сервере.

Использование HTML недостаточная мера для обеспечения проверки введения данных. Использование PHP позволяет полностью предотвратить появления(или отсутствия) в базе данных недостоверной информации.

Валидация данных на PHP представлена на рисунке 3.6:

Рисунок 3.6 - Проверка введения данных на PHP

 

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

 

3.2.1 Создание страницы с выбором языка

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

Рисунок 3.7 - Страница контактов.

 

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

Рисунок 3.8 - Доступ для не зарегистрированных пользователей.

 

 

3.2.2 Создание страниц добавления данных

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

Страницы архива представляет с собой центр с генерируемым системой контентом. Данные о документе хранятся в таблице и извлекаются только при открытии пользователем страницы. Внешние виды страницы представлен на рисунках 3.9 и 3.10:

Рисунок 3.9 Страница с выведенными документами.

 

Рисунок 3.10 - Страница поиска по документам.

 

3.3 Подключение к базе данных и вывод документов

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

Для этого указываем хост, пользователя базы данных, пароль и название базы, после его выполняем функцию подключения. На рисунке 3.12 представлено подключение к БД «archive»»

Рисунок 3.12 - Подключение к БД.

 

Для вывода данных из таблицы используется запрос. Она выбирает все данные из таблицы doc. Результат запроса помещается в массив, для того, чтобы можно был выводить данные о курсах и уроках из таблицы в цикле. Тело запроса представлено на рисунке 3.13:

Рисунок 3.13 - Вывод информации о документах.

 

В переменную $strSQL записывается наш запрос для вывода все информации из базы данных. В переменную $rs заносится mysql_query(), где посылает один запрос (посылка нескольких запросов не поддерживается) активной базе данных сервера, на который ссылается переданный дескриптор, то есть SELECT * from doc. После чего для вывода данных используется цикл while, который при помощи mysql_fetch_array обрабатывает ряд результата запроса, возвращая ассоциативный массив. Полученные данные из массива выводятся в таблицу командой echo. Результат вывода представлен на рисунка 3.14:

Рисунок 3.14 - Вывод данных из БД.

 

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


Заключение

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

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


 

Список использованных источников

1. PHP. URL: http://ru.wikipedia.org/wiki/PHP, опубл. 26.12.2014

2. Извлечение объектов и фактов из текстов в Яндексе. Лекция для Малого ШАДа. URL: http://habrahabr.ru/company/yandex/blog/205198/ опубл. 07.12.2013

3. Семантический анализ текста онлайн, seo-анализ текст. URL: http://advego.ru/text/seo/

4. Подключение и работа с mysql на php. URL: http://www.site-do.ru/php/mysql_connect.php, опубл. 28.04.2013

5. Создание регистрации на сайте на PHP + MySQL. URL: http://ruseller.com/lessons.php?rub=37&id=347опубл. 24.07.2009

Приложение

Код программы:


Дата добавления: 2015-10-13; просмотров: 94 | Нарушение авторских прав


Читайте в этой же книге: adddocc.php | Передмова | Завдання 1.1. | Завдання 1.2. | Завдання 1.3. | Мета та завдання | Завдання 1.5. | Завдання 1.6. | Стаття 38. Студентське самоврядування | навчального закладу |
<== предыдущая страница | следующая страница ==>
ПОЧЕМУ НЕИЗБЕЖНО СТОЛКНОВЕНИЕ ЦИВИЛИЗАЦИЙ?| Adddoc.php

mybiblioteka.su - 2015-2024 год. (0.018 сек.)